@optimizely/ocp-cli 1.3.4-beta.0 → 1.3.4
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/commands/directory/List.js +15 -1
- package/dist/commands/directory/List.js.map +1 -1
- package/dist/lib/RivendellApi.js +10 -2
- package/dist/lib/RivendellApi.js.map +1 -1
- package/dist/oo-cli.manifest.json +1 -1
- package/package.json +1 -1
- package/src/commands/directory/List.ts +16 -1
- package/src/lib/RivendellApi.ts +10 -2
|
@@ -27,8 +27,22 @@ let ListCommand = class ListCommand {
|
|
|
27
27
|
async list() {
|
|
28
28
|
try {
|
|
29
29
|
const criteria = {
|
|
30
|
-
stages: [DeploymentStage.TEST, DeploymentStage.PRODUCTION]
|
|
30
|
+
stages: [DeploymentStage.TEST, DeploymentStage.PRODUCTION],
|
|
31
|
+
states: this.allStatuses ? [] : [AppVersionState.STOPPED, AppVersionState.ABANDONED],
|
|
31
32
|
};
|
|
33
|
+
if (!this.allStatuses) {
|
|
34
|
+
criteria.states = [
|
|
35
|
+
AppVersionState.NEW,
|
|
36
|
+
AppVersionState.PUBLISHED,
|
|
37
|
+
AppVersionState.BUILD_FAILED,
|
|
38
|
+
AppVersionState.STARTING,
|
|
39
|
+
AppVersionState.START_FAILED,
|
|
40
|
+
AppVersionState.RUNNING,
|
|
41
|
+
AppVersionState.UPGRADING_RUNTIME,
|
|
42
|
+
AppVersionState.STOPPING,
|
|
43
|
+
AppVersionState.STOP_FAILED
|
|
44
|
+
];
|
|
45
|
+
}
|
|
32
46
|
if (this.appId) {
|
|
33
47
|
criteria.appId = this.appId;
|
|
34
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"List.js","sourceRoot":"","sources":["../../../src/commands/directory/List.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+BAA+B;AAC/B,mCAA+E;AAC/E,iCAAiC;AACjC,oCAAoC;AACpC,uCAAkC;AAClC,qEAAgE;AAChE,uDAAyD;AACzD,mDAA8C;AAC9C,uDAAkD;AAElD,IAAO,eAAe,GAAG,qBAAS,CAAC,eAAe,CAAC;AACnD,IAAO,eAAe,GAAG,qBAAS,CAAC,eAAe,CAAC;AAEnD,IAAO,YAAY,GAAG,qBAAS,CAAC,YAAY,CAAC;AAGtC,IAAM,WAAW,GAAjB,MAAM,WAAW;IAAjB;QAQG,gBAAW,GAAY,KAAK,CAAC;QAI7B,iBAAY,GAAW,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"List.js","sourceRoot":"","sources":["../../../src/commands/directory/List.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/RivendellApi.js
CHANGED
|
@@ -42,8 +42,16 @@ var RivendellApi;
|
|
|
42
42
|
return false;
|
|
43
43
|
}
|
|
44
44
|
function shouldRetryException(method, error) {
|
|
45
|
+
var _a;
|
|
46
|
+
// Check if error is an ApiError with a status code
|
|
47
|
+
if (error instanceof ApiError && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status)) {
|
|
48
|
+
const status = error.response.status;
|
|
49
|
+
// Only retry 5xx errors for GET requests, never retry 3xx/4xx
|
|
50
|
+
return method === 'GET' && status >= 500;
|
|
51
|
+
}
|
|
52
|
+
// For non-ApiError exceptions (network failures, etc.)
|
|
45
53
|
if (method === 'GET') {
|
|
46
|
-
// For GET: retry on
|
|
54
|
+
// For GET: retry on network exceptions
|
|
47
55
|
return true;
|
|
48
56
|
}
|
|
49
57
|
else {
|
|
@@ -95,7 +103,7 @@ var RivendellApi;
|
|
|
95
103
|
catch (error) {
|
|
96
104
|
lastError = error;
|
|
97
105
|
if (shouldRetryException(method, error) && attempt < MAX_RETRIES) {
|
|
98
|
-
|
|
106
|
+
debug(`[RivendellApi] ${isSocketError(error) ? 'Socket error' : 'Request failed'}, retrying...`);
|
|
99
107
|
continue;
|
|
100
108
|
}
|
|
101
109
|
throw error;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RivendellApi.js","sourceRoot":"","sources":["../../src/lib/RivendellApi.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAC7B,qCAA4D;AAC5D,+BAA0B;AAI1B;;GAEG;AACH,IAAiB,YAAY,
|
|
1
|
+
{"version":3,"file":"RivendellApi.js","sourceRoot":"","sources":["../../src/lib/RivendellApi.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -33,9 +33,24 @@ export class ListCommand {
|
|
|
33
33
|
public async list(): Promise<void> {
|
|
34
34
|
try {
|
|
35
35
|
const criteria: AppVersionSearchCriteria = {
|
|
36
|
-
stages: [DeploymentStage.TEST, DeploymentStage.PRODUCTION]
|
|
36
|
+
stages: [DeploymentStage.TEST, DeploymentStage.PRODUCTION],
|
|
37
|
+
states: this.allStatuses ? [] : [AppVersionState.STOPPED, AppVersionState.ABANDONED],
|
|
37
38
|
};
|
|
38
39
|
|
|
40
|
+
if (!this.allStatuses) {
|
|
41
|
+
criteria.states = [
|
|
42
|
+
AppVersionState.NEW,
|
|
43
|
+
AppVersionState.PUBLISHED,
|
|
44
|
+
AppVersionState.BUILD_FAILED,
|
|
45
|
+
AppVersionState.STARTING,
|
|
46
|
+
AppVersionState.START_FAILED,
|
|
47
|
+
AppVersionState.RUNNING,
|
|
48
|
+
AppVersionState.UPGRADING_RUNTIME,
|
|
49
|
+
AppVersionState.STOPPING,
|
|
50
|
+
AppVersionState.STOP_FAILED
|
|
51
|
+
];
|
|
52
|
+
}
|
|
53
|
+
|
|
39
54
|
if (this.appId) {
|
|
40
55
|
criteria.appId = this.appId;
|
|
41
56
|
}
|
package/src/lib/RivendellApi.ts
CHANGED
|
@@ -46,8 +46,16 @@ export namespace RivendellApi {
|
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
function shouldRetryException(method: Method, error: unknown): boolean {
|
|
49
|
+
// Check if error is an ApiError with a status code
|
|
50
|
+
if (error instanceof ApiError && error.response?.status) {
|
|
51
|
+
const status = error.response.status;
|
|
52
|
+
// Only retry 5xx errors for GET requests, never retry 3xx/4xx
|
|
53
|
+
return method === 'GET' && status >= 500;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// For non-ApiError exceptions (network failures, etc.)
|
|
49
57
|
if (method === 'GET') {
|
|
50
|
-
// For GET: retry on
|
|
58
|
+
// For GET: retry on network exceptions
|
|
51
59
|
return true;
|
|
52
60
|
} else {
|
|
53
61
|
// For other methods: only retry on socket errors (idempotent concern)
|
|
@@ -107,7 +115,7 @@ export namespace RivendellApi {
|
|
|
107
115
|
} catch (error) {
|
|
108
116
|
lastError = error;
|
|
109
117
|
if (shouldRetryException(method, error) && attempt < MAX_RETRIES) {
|
|
110
|
-
|
|
118
|
+
debug(`[RivendellApi] ${isSocketError(error) ? 'Socket error' : 'Request failed'}, retrying...`);
|
|
111
119
|
continue;
|
|
112
120
|
}
|
|
113
121
|
throw error;
|