zephyr-agent 0.0.0-canary-20241118144314 → 0.0.0-canary-20241121193105

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.
@@ -27,6 +27,7 @@ async function zeUploadAssets(pluginOptions, { missingAssets, assetsMap, count }
27
27
  await Promise.all(missingAssets.map(upload_missing_asset));
28
28
  }
29
29
  else {
30
+ (0, zephyr_edge_contract_1.ze_log)("The target platform is 'ios' and 'android' so we are switching to batch upload.");
30
31
  await batchPromises(missingAssets, CLOUDFLARE_BATCH_SIZE, upload_missing_asset);
31
32
  }
32
33
  logEvent({
@@ -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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"}
@@ -0,0 +1,4 @@
1
+ import { UploadProviderType } from 'zephyr-edge-contract';
2
+ import { ZephyrPluginOptions } from 'zephyr-edge-contract';
3
+ export declare function verify_mf_config(mfConfig: any, platform: UploadProviderType): void;
4
+ export declare function verify_fastly_config(mfConfig: any, platform: UploadProviderType, plugin_options: ZephyrPluginOptions): void;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.verify_fastly_config = exports.verify_mf_config = void 0;
4
+ const zephyr_edge_contract_1 = require("zephyr-edge-contract");
5
+ const zephyr_edge_contract_2 = require("zephyr-edge-contract");
6
+ const valid_identifiers = /^[a-zA-Z_$][a-zA-Z0-9_$]*$/;
7
+ // Fastly doesn't allow underscore in domains, reference: https://datatracker.ietf.org/doc/html/rfc1035#:~:text=The%20labels%20must%20follow%20the%20rules%20for%20ARPANET%20host%20names.%20%20They%20must%0Astart%20with%20a%20letter%2C%20end%20with%20a%20letter%20or%20digit%2C%20and%20have%20as%20interior%0Acharacters%20only%20letters%2C%20digits%2C%20and%20hyphen.%20%20There%20are%20also%20some%0Arestrictions%20on%20the%20length.%20%20Labels%20must%20be%2063%20characters%20or%20less.
8
+ const valid_identifier_fastly = /^[a-zA-Z$][a-zA-Z0-9$]*$/;
9
+ function verify_mf_config(mfConfig, platform) {
10
+ var _a, _b;
11
+ const condition = ((_a = mfConfig.library) === null || _a === void 0 ? void 0 : _a.type) === 'var' || typeof ((_b = mfConfig.library) === null || _b === void 0 ? void 0 : _b.type) === 'undefined';
12
+ if (condition && !valid_identifiers.test(mfConfig.name) && platform === zephyr_edge_contract_2.UploadProviderType.FASTLY) {
13
+ throw new zephyr_edge_contract_1.ZephyrError(zephyr_edge_contract_1.ZeErrors.ERR_INVALID_MF_CONFIG, {
14
+ cause: zephyr_edge_contract_1.ZeErrors.ERR_INVALID_MF_CONFIG.message.replace('{{library_name}}', mfConfig.name),
15
+ });
16
+ }
17
+ }
18
+ exports.verify_mf_config = verify_mf_config;
19
+ function verify_fastly_config(mfConfig, platform, plugin_options) {
20
+ var _a, _b;
21
+ const condition = ((_a = mfConfig.library) === null || _a === void 0 ? void 0 : _a.type) === 'var' || typeof ((_b = mfConfig.library) === null || _b === void 0 ? void 0 : _b.type) === 'undefined';
22
+ const fastly_condition = !valid_identifier_fastly.test(mfConfig.name) || !valid_identifier_fastly.test(plugin_options.application_uid);
23
+ if (condition && !fastly_condition && platform === zephyr_edge_contract_2.UploadProviderType.FASTLY) {
24
+ throw new zephyr_edge_contract_1.ZephyrError(zephyr_edge_contract_1.ZeErrors.ERR_INVALID_APP_ID, {
25
+ cause: zephyr_edge_contract_1.ZeErrors.ERR_INVALID_APP_ID.message.replace('{{application_uid}}', plugin_options.application_uid),
26
+ });
27
+ }
28
+ }
29
+ exports.verify_fastly_config = verify_fastly_config;
30
+ //# sourceMappingURL=ze-util-verification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ze-util-verification.js","sourceRoot":"","sources":["../../../src/lib/context-utils/ze-util-verification.ts"],"names":[],"mappings":";;;AAAA,+DAA6D;AAC7D,+DAA0D;AAG1D,MAAM,iBAAiB,GAAG,4BAA4B,CAAC;AACvD,weAAwe;AACxe,MAAM,uBAAuB,GAAG,0BAA0B,CAAC;AAE3D,SAAgB,gBAAgB,CAAC,QAAa,EAAE,QAA4B;;IAC1E,MAAM,SAAS,GAAG,CAAA,MAAA,QAAQ,CAAC,OAAO,0CAAE,IAAI,MAAK,KAAK,IAAI,OAAO,CAAA,MAAA,QAAQ,CAAC,OAAO,0CAAE,IAAI,CAAA,KAAK,WAAW,CAAC;IAEpG,IAAI,SAAS,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,KAAK,yCAAkB,CAAC,MAAM,EAAE,CAAC;QAClG,MAAM,IAAI,kCAAW,CAAC,+BAAQ,CAAC,qBAAqB,EAAE;YACpD,KAAK,EAAE,+BAAQ,CAAC,qBAAqB,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,QAAQ,CAAC,IAAI,CAAC;SACzF,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AARD,4CAQC;AAED,SAAgB,oBAAoB,CAAC,QAAa,EAAE,QAA4B,EAAE,cAAmC;;IACnH,MAAM,SAAS,GAAG,CAAA,MAAA,QAAQ,CAAC,OAAO,0CAAE,IAAI,MAAK,KAAK,IAAI,OAAO,CAAA,MAAA,QAAQ,CAAC,OAAO,0CAAE,IAAI,CAAA,KAAK,WAAW,CAAC;IAEpG,MAAM,gBAAgB,GAAG,CAAC,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;IAEvI,IAAI,SAAS,IAAI,CAAC,gBAAgB,IAAI,QAAQ,KAAK,yCAAkB,CAAC,MAAM,EAAE,CAAC;QAC7E,MAAM,IAAI,kCAAW,CAAC,+BAAQ,CAAC,kBAAkB,EAAE;YACjD,KAAK,EAAE,+BAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,cAAc,CAAC,eAAe,CAAC;SAC1G,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAVD,oDAUC"}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  import { ZeBuildAsset } from 'zephyr-edge-contract';
3
- export declare function getZeBuildAsset({ filepath, content, }: {
3
+ export declare function getZeBuildAsset({ filepath, content }: {
4
4
  filepath: string;
5
5
  content: string | Buffer;
6
6
  }): ZeBuildAsset;
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getZeBuildAsset = void 0;
4
4
  const node_crypto_1 = require("node:crypto");
5
5
  const node_path_1 = require("node:path");
6
- function getZeBuildAsset({ filepath, content, }) {
6
+ function getZeBuildAsset({ filepath, content }) {
7
7
  const buffer = typeof content === 'string' ? Buffer.from(content, 'utf8') : content;
8
8
  const hash = (0, node_crypto_1.createHash)('sha256')
9
9
  .update(buffer.length ? buffer : Buffer.from(filepath, 'utf8'))
@@ -1 +1 @@
1
- {"version":3,"file":"get-ze-build-asset.js","sourceRoot":"","sources":["../../../src/lib/sync-utils/get-ze-build-asset.ts"],"names":[],"mappings":";;;AACA,6CAAyC;AACzC,yCAAoC;AAEpC,SAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,OAAO,GAIR;IACC,MAAM,MAAM,GACV,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAEvE,MAAM,IAAI,GAAG,IAAA,wBAAU,EAAC,QAAQ,CAAC;SAC9B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;SAC9D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;SACrC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEjB,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,IAAA,mBAAO,EAAC,QAAQ,CAAC;QAC1B,IAAI;QACJ,IAAI,EAAE,MAAM,CAAC,MAAM;QACnB,MAAM,EAAE,MAAM;KACf,CAAC;AACJ,CAAC;AAtBD,0CAsBC"}
1
+ {"version":3,"file":"get-ze-build-asset.js","sourceRoot":"","sources":["../../../src/lib/sync-utils/get-ze-build-asset.ts"],"names":[],"mappings":";;;AACA,6CAAyC;AACzC,yCAAoC;AAEpC,SAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAkD;IACnG,MAAM,MAAM,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAEpF,MAAM,IAAI,GAAG,IAAA,wBAAU,EAAC,QAAQ,CAAC;SAC9B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;SAC9D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;SACrC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEjB,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,IAAA,mBAAO,EAAC,QAAQ,CAAC;QAC1B,IAAI;QACJ,IAAI,EAAE,MAAM,CAAC,MAAM;QACnB,MAAM,EAAE,MAAM;KACf,CAAC;AACJ,CAAC;AAfD,0CAeC"}
@@ -2,40 +2,82 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.uploadFile = void 0;
4
4
  const zephyr_edge_contract_1 = require("zephyr-edge-contract");
5
+ const CHUNK_SIZE = 1024 * 50;
5
6
  async function uploadFile({ hash, asset }, { EDGE_URL, jwt }) {
6
7
  const type = 'file';
7
- const options = {
8
- method: 'POST',
9
- headers: {
10
- 'x-file-size': asset.size.toString(),
11
- 'x-file-path': asset.path,
12
- can_write_jwt: jwt,
13
- 'Content-Type': 'application/octet-stream',
14
- },
15
- };
16
- const [ok, cause] = await zephyr_edge_contract_1.ZeHttpRequest.from({
17
- path: '/upload',
18
- base: EDGE_URL,
19
- query: { type, hash, filename: asset.path },
20
- }, options, asset.buffer);
21
- if (!ok) {
22
- // Because of `ctx.waitUntil`, the worker will continue to upload the files even if the request failed, and if we immediately throw an error the local process will be terminated, we try again here to at least have another level of effort to continue local process.
23
- try {
24
- const [_, __] = await zephyr_edge_contract_1.ZeHttpRequest.from({
25
- path: '/upload',
26
- base: EDGE_URL,
27
- query: { type, hash, filename: asset.path },
28
- }, options, asset.buffer);
29
- }
30
- catch (error) {
31
- throw new zephyr_edge_contract_1.ZephyrError(zephyr_edge_contract_1.ZeErrors.ERR_FAILED_UPLOAD, {
32
- type: 'file',
33
- cause,
34
- data: {
35
- error,
36
- },
37
- });
8
+ const totalChunks = Math.ceil(asset.size / CHUNK_SIZE);
9
+ (0, zephyr_edge_contract_1.ze_log)(`Starting to upload file ${asset.path} with ${totalChunks} chunks...`);
10
+ for (let chunkIndex = 0; chunkIndex < totalChunks; chunkIndex++) {
11
+ const start = chunkIndex * CHUNK_SIZE;
12
+ const end = Math.min(start + CHUNK_SIZE, asset.size);
13
+ const chunk = asset.buffer.slice(start, end);
14
+ const options = {
15
+ method: 'POST',
16
+ headers: {
17
+ 'x-file-size': asset.size.toString(),
18
+ 'x-file-path': asset.path,
19
+ 'x-chunk-index': chunkIndex.toString(),
20
+ 'x-total-chunks': totalChunks.toString(),
21
+ can_write_jwt: jwt,
22
+ 'Content-Type': 'application/octet-stream',
23
+ },
24
+ };
25
+ const [ok, cause] = await zephyr_edge_contract_1.ZeHttpRequest.from({
26
+ path: '/upload',
27
+ base: EDGE_URL,
28
+ query: { type, hash, filename: asset.path },
29
+ }, options, chunk);
30
+ if (!ok) {
31
+ // Because of `ctx.waitUntil`, the worker will continue to upload the files even if the request failed, and if we immediately throw an error the local process will be terminated, we try again here to at least have another level of effort to continue local process.
32
+ try {
33
+ (0, zephyr_edge_contract_1.ze_log)(`Failed on first time...trying to upload chunk ${chunkIndex} of file ${asset.path} of total ${totalChunks} chunks...`);
34
+ const [retryOk, retryCause] = await zephyr_edge_contract_1.ZeHttpRequest.from({
35
+ path: '/upload',
36
+ base: EDGE_URL,
37
+ query: { type, hash, filename: asset.path },
38
+ }, options, chunk);
39
+ if (!retryOk) {
40
+ try {
41
+ (0, zephyr_edge_contract_1.ze_log)(`Second time...Trying to upload chunk ${chunkIndex} of file ${asset.path} of total ${totalChunks} chunks...`);
42
+ const [retryOk, retryCause] = await zephyr_edge_contract_1.ZeHttpRequest.from({
43
+ path: '/upload',
44
+ base: EDGE_URL,
45
+ query: { type, hash, filename: asset.path },
46
+ }, options, chunk);
47
+ }
48
+ catch (error) {
49
+ throw new zephyr_edge_contract_1.ZephyrError(zephyr_edge_contract_1.ZeErrors.ERR_FAILED_UPLOAD, {
50
+ type: 'file',
51
+ cause: error,
52
+ data: {
53
+ chunkIndex,
54
+ totalChunks,
55
+ },
56
+ });
57
+ }
58
+ throw new zephyr_edge_contract_1.ZephyrError(zephyr_edge_contract_1.ZeErrors.ERR_FAILED_UPLOAD, {
59
+ type: 'file',
60
+ cause: retryCause,
61
+ data: {
62
+ chunkIndex,
63
+ totalChunks,
64
+ },
65
+ });
66
+ }
67
+ }
68
+ catch (error) {
69
+ throw new zephyr_edge_contract_1.ZephyrError(zephyr_edge_contract_1.ZeErrors.ERR_FAILED_UPLOAD, {
70
+ type: 'file',
71
+ cause,
72
+ data: {
73
+ error,
74
+ chunkIndex,
75
+ totalChunks,
76
+ },
77
+ });
78
+ }
38
79
  }
80
+ (0, zephyr_edge_contract_1.ze_log)(`Chunk ${chunkIndex} of file ${asset.path} of total ${totalChunks} chunks uploaded`);
39
81
  }
40
82
  }
41
83
  exports.uploadFile = uploadFile;
@@ -1 +1 @@
1
- {"version":3,"file":"upload-file.js","sourceRoot":"","sources":["../../../src/lib/upload/upload-file.ts"],"names":[],"mappings":";;;AACA,+DAA4H;AAOrH,KAAK,UAAU,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,EAAmB,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAuB;IACvG,MAAM,IAAI,GAAG,MAAM,CAAC;IAEpB,MAAM,OAAO,GAAsB;QACjC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE;YACpC,aAAa,EAAE,KAAK,CAAC,IAAI;YACzB,aAAa,EAAE,GAAG;YAClB,cAAc,EAAE,0BAA0B;SAC3C;KACF,CAAC;IAEF,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,MAAM,oCAAa,CAAC,IAAI,CAC1C;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE;KAC5C,EACD,OAAO,EACP,KAAK,CAAC,MAAM,CACb,CAAC;IAEF,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,wQAAwQ;QACxQ,IAAI,CAAC;YACH,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,oCAAa,CAAC,IAAI,CACtC;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE;aAC5C,EACD,OAAO,EACP,KAAK,CAAC,MAAM,CACb,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,kCAAW,CAAC,+BAAQ,CAAC,iBAAiB,EAAE;gBAChD,IAAI,EAAE,MAAM;gBACZ,KAAK;gBACL,IAAI,EAAE;oBACJ,KAAK;iBACN;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AA7CD,gCA6CC"}
1
+ {"version":3,"file":"upload-file.js","sourceRoot":"","sources":["../../../src/lib/upload/upload-file.ts"],"names":[],"mappings":";;;AACA,+DAAoI;AAOpI,MAAM,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;AAEtB,KAAK,UAAU,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,EAAmB,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAuB;IACvG,MAAM,IAAI,GAAG,MAAM,CAAC;IACpB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC;IACvD,IAAA,6BAAM,EAAC,2BAA2B,KAAK,CAAC,IAAI,SAAS,WAAW,YAAY,CAAC,CAAC;IAE9E,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,WAAW,EAAE,UAAU,EAAE,EAAE,CAAC;QAChE,MAAM,KAAK,GAAG,UAAU,GAAG,UAAU,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAE7C,MAAM,OAAO,GAAsB;YACjC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACpC,aAAa,EAAE,KAAK,CAAC,IAAI;gBACzB,eAAe,EAAE,UAAU,CAAC,QAAQ,EAAE;gBACtC,gBAAgB,EAAE,WAAW,CAAC,QAAQ,EAAE;gBACxC,aAAa,EAAE,GAAG;gBAClB,cAAc,EAAE,0BAA0B;aAC3C;SACF,CAAC;QAEF,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,MAAM,oCAAa,CAAC,IAAI,CAC1C;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE;SAC5C,EACD,OAAO,EACP,KAAK,CACN,CAAC;QAEF,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,wQAAwQ;YACxQ,IAAI,CAAC;gBACH,IAAA,6BAAM,EAAC,iDAAiD,UAAU,YAAY,KAAK,CAAC,IAAI,aAAa,WAAW,YAAY,CAAC,CAAC;gBAC9H,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,MAAM,oCAAa,CAAC,IAAI,CACpD;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE;iBAC5C,EACD,OAAO,EACP,KAAK,CACN,CAAC;gBAEF,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,IAAI,CAAC;wBACH,IAAA,6BAAM,EAAC,wCAAwC,UAAU,YAAY,KAAK,CAAC,IAAI,aAAa,WAAW,YAAY,CAAC,CAAC;wBACrH,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,MAAM,oCAAa,CAAC,IAAI,CACpD;4BACE,IAAI,EAAE,SAAS;4BACf,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE;yBAC5C,EACD,OAAO,EACP,KAAK,CACN,CAAC;oBACJ,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,IAAI,kCAAW,CAAC,+BAAQ,CAAC,iBAAiB,EAAE;4BAChD,IAAI,EAAE,MAAM;4BACZ,KAAK,EAAE,KAAK;4BACZ,IAAI,EAAE;gCACJ,UAAU;gCACV,WAAW;6BACZ;yBACF,CAAC,CAAC;oBACL,CAAC;oBACD,MAAM,IAAI,kCAAW,CAAC,+BAAQ,CAAC,iBAAiB,EAAE;wBAChD,IAAI,EAAE,MAAM;wBACZ,KAAK,EAAE,UAAU;wBACjB,IAAI,EAAE;4BACJ,UAAU;4BACV,WAAW;yBACZ;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,kCAAW,CAAC,+BAAQ,CAAC,iBAAiB,EAAE;oBAChD,IAAI,EAAE,MAAM;oBACZ,KAAK;oBACL,IAAI,EAAE;wBACJ,KAAK;wBACL,UAAU;wBACV,WAAW;qBACZ;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,IAAA,6BAAM,EAAC,SAAS,UAAU,YAAY,KAAK,CAAC,IAAI,aAAa,WAAW,kBAAkB,CAAC,CAAC;IAC9F,CAAC;AACH,CAAC;AA3FD,gCA2FC"}
@@ -6,9 +6,14 @@ const isCI = tslib_1.__importStar(require("is-ci"));
6
6
  const zephyr_edge_contract_1 = require("zephyr-edge-contract");
7
7
  const ze_log_event_1 = require("../remote-logs/ze-log-event");
8
8
  const strategies_1 = require("./strategies");
9
+ const ze_util_verification_1 = require("../context-utils/ze-util-verification");
9
10
  async function upload(options) {
10
11
  const logEvent = (0, ze_log_event_1.logger)(options.pluginOptions);
11
12
  let versionUrl;
13
+ // Verify Module Federation configuration's naming
14
+ (0, ze_util_verification_1.verify_mf_config)(options.pluginOptions.mfConfig, options.appConfig.PLATFORM);
15
+ // Verify Fastly configuration's naming + application_uid
16
+ (0, ze_util_verification_1.verify_fastly_config)(options.pluginOptions.mfConfig, options.appConfig.PLATFORM, options.pluginOptions);
12
17
  switch (options.appConfig.PLATFORM) {
13
18
  case zephyr_edge_contract_1.UploadProviderType.CLOUDFLARE:
14
19
  versionUrl = await (0, strategies_1.cloudflareStrategy)(options);
@@ -1 +1 @@
1
- {"version":3,"file":"upload.js","sourceRoot":"","sources":["../../../src/lib/upload/upload.ts"],"names":[],"mappings":";;;;AAAA,oDAA8B;AAC9B,+DAU8B;AAE9B,8DAAqD;AACrD,6CAAmF;AAE5E,KAAK,UAAU,MAAM,CAAC,OAAsB;IACjD,MAAM,QAAQ,GAAG,IAAA,qBAAM,EAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAE/C,IAAI,UAAkB,CAAC;IAEvB,QAAQ,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QACnC,KAAK,yCAAkB,CAAC,UAAU;YAChC,UAAU,GAAG,MAAM,IAAA,+BAAkB,EAAC,OAAO,CAAC,CAAC;YAC/C,MAAM;QACR,KAAK,yCAAkB,CAAC,OAAO;YAC7B,UAAU,GAAG,MAAM,IAAA,4BAAe,EAAC,OAAO,CAAC,CAAC;YAC5C,MAAM;QACR,KAAK,yCAAkB,CAAC,MAAM;YAC5B,UAAU,GAAG,MAAM,IAAA,2BAAc,EAAC,OAAO,CAAC,CAAC;YAC3C,MAAM;QACR;YACE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACpD,CAAC;IAED,QAAQ,CAAC;QACP,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,YAAY;QACpB,OAAO,EAAE,eAAe,IAAA,iCAAU,EAAC,QAAQ,CAAC,cAAc,IAAA,6BAAM,EAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,UAAU,IAAA,iCAAU,EAAC,UAAU,CAAC,EAAE;KACtI,CAAC,CAAC;IAEH,IAAI,IAAI,EAAE,CAAC;QACT,2CAAoB,CAAC,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACrG,CAAC;AACH,CAAC;AA5BD,wBA4BC"}
1
+ {"version":3,"file":"upload.js","sourceRoot":"","sources":["../../../src/lib/upload/upload.ts"],"names":[],"mappings":";;;;AAAA,oDAA8B;AAC9B,+DAU8B;AAE9B,8DAAqD;AACrD,6CAAmF;AACnF,gFAA+F;AACxF,KAAK,UAAU,MAAM,CAAC,OAAsB;IACjD,MAAM,QAAQ,GAAG,IAAA,qBAAM,EAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAE/C,IAAI,UAAkB,CAAC;IAEvB,kDAAkD;IAClD,IAAA,uCAAgB,EAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC7E,yDAAyD;IACzD,IAAA,2CAAoB,EAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAExG,QAAQ,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QACnC,KAAK,yCAAkB,CAAC,UAAU;YAChC,UAAU,GAAG,MAAM,IAAA,+BAAkB,EAAC,OAAO,CAAC,CAAC;YAC/C,MAAM;QACR,KAAK,yCAAkB,CAAC,OAAO;YAC7B,UAAU,GAAG,MAAM,IAAA,4BAAe,EAAC,OAAO,CAAC,CAAC;YAC5C,MAAM;QACR,KAAK,yCAAkB,CAAC,MAAM;YAC5B,UAAU,GAAG,MAAM,IAAA,2BAAc,EAAC,OAAO,CAAC,CAAC;YAC3C,MAAM;QACR;YACE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACpD,CAAC;IAED,QAAQ,CAAC;QACP,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,YAAY;QACpB,OAAO,EAAE,eAAe,IAAA,iCAAU,EAAC,QAAQ,CAAC,cAAc,IAAA,6BAAM,EAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,UAAU,IAAA,iCAAU,EAAC,UAAU,CAAC,EAAE;KACtI,CAAC,CAAC;IAEH,IAAI,IAAI,EAAE,CAAC;QACT,2CAAoB,CAAC,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACrG,CAAC;AACH,CAAC;AAjCD,wBAiCC"}
@@ -1,15 +1,15 @@
1
1
  /**
2
- Strip [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) from a string.
3
-
4
- @example
5
- ```
6
- import stripAnsi from 'strip-ansi';
7
-
8
- stripAnsi('\u001B[4mUnicorn\u001B[0m');
9
- //=> 'Unicorn'
10
-
11
- stripAnsi('\u001B]8;;https://github.com\u0007Click\u001B]8;;\u0007');
12
- //=> 'Click'
13
- ```
14
- */
2
+ * Strip [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) from a string.
3
+ *
4
+ * @example
5
+ * ```
6
+ * import stripAnsi from 'strip-ansi';
7
+ *
8
+ * stripAnsi('\u001B[4mUnicorn\u001B[0m');
9
+ * //=> 'Unicorn'
10
+ *
11
+ * stripAnsi('\u001B]8;;https://github.com\u0007Click\u001B]8;;\u0007');
12
+ * //=> 'Click'
13
+ * ```;
14
+ */
15
15
  export declare function stripAnsi(string: string): string;
@@ -8,19 +8,19 @@ const ANSI_REGEX = new RegExp([
8
8
  '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))',
9
9
  ].join('|'), 'g');
10
10
  /**
11
- Strip [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) from a string.
12
-
13
- @example
14
- ```
15
- import stripAnsi from 'strip-ansi';
16
-
17
- stripAnsi('\u001B[4mUnicorn\u001B[0m');
18
- //=> 'Unicorn'
19
-
20
- stripAnsi('\u001B]8;;https://github.com\u0007Click\u001B]8;;\u0007');
21
- //=> 'Click'
22
- ```
23
- */
11
+ * Strip [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) from a string.
12
+ *
13
+ * @example
14
+ * ```
15
+ * import stripAnsi from 'strip-ansi';
16
+ *
17
+ * stripAnsi('\u001B[4mUnicorn\u001B[0m');
18
+ * //=> 'Unicorn'
19
+ *
20
+ * stripAnsi('\u001B]8;;https://github.com\u0007Click\u001B]8;;\u0007');
21
+ * //=> 'Click'
22
+ * ```;
23
+ */
24
24
  function stripAnsi(string) {
25
25
  return string.replace(ANSI_REGEX, '');
26
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"strip-ansi.js","sourceRoot":"","sources":["../../../src/lib/util/strip-ansi.ts"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,+DAA+D;;;AAE/D,MAAM,UAAU,GAAG,IAAI,MAAM,CAC3B;IACE,8HAA8H;IAC9H,0DAA0D;CAC3D,CAAC,IAAI,CAAC,GAAG,CAAC,EACX,GAAG,CACJ,CAAC;AAEF;;;;;;;;;;;;;EAaE;AACF,SAAgB,SAAS,CAAC,MAAc;IACtC,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC;AAFD,8BAEC"}
1
+ {"version":3,"file":"strip-ansi.js","sourceRoot":"","sources":["../../../src/lib/util/strip-ansi.ts"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,+DAA+D;;;AAE/D,MAAM,UAAU,GAAG,IAAI,MAAM,CAC3B;IACE,8HAA8H;IAC9H,0DAA0D;CAC3D,CAAC,IAAI,CAAC,GAAG,CAAC,EACX,GAAG,CACJ,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,SAAgB,SAAS,CAAC,MAAc;IACtC,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC;AAFD,8BAEC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zephyr-agent",
3
- "version": "0.0.0-canary-20241118144314",
3
+ "version": "0.0.0-canary-20241121193105",
4
4
  "license": "Apache-2.0",
5
5
  "type": "commonjs",
6
6
  "main": "dist/index.js",
@@ -26,7 +26,7 @@
26
26
  "socket.io-client": "^4.7.5",
27
27
  "tslib": "^2.6.3",
28
28
  "uuid": "^8.3.2",
29
- "zephyr-edge-contract": "0.0.0-canary-20241118144314"
29
+ "zephyr-edge-contract": "0.0.0-canary-20241121193105"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@types/git-url-parse": "^9.0.3",