percher 1.0.2 → 1.0.3
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/bin/percher.js +27 -21
- package/dist/package.json +2 -2
- package/package.json +2 -2
package/dist/bin/percher.js
CHANGED
|
@@ -108510,6 +108510,20 @@ function recoveryPoolExceeded(rawBlockers) {
|
|
|
108510
108510
|
]
|
|
108511
108511
|
};
|
|
108512
108512
|
}
|
|
108513
|
+
function retryKnownPublish(failure, reasonCode) {
|
|
108514
|
+
if (failure.publishInput === undefined) {
|
|
108515
|
+
return recoveryAsk({
|
|
108516
|
+
prompt: "This deployment hit a temporary platform problem, but this result does not retain the original publish source and options. Should I retry the original publish call with the same source, target app, and preview or check mode?",
|
|
108517
|
+
reasonCode,
|
|
108518
|
+
retryable: true
|
|
108519
|
+
});
|
|
108520
|
+
}
|
|
108521
|
+
return recoveryRetry({
|
|
108522
|
+
suggestedTool: "percher_publish",
|
|
108523
|
+
args: failure.publishInput,
|
|
108524
|
+
reasonCode
|
|
108525
|
+
});
|
|
108526
|
+
}
|
|
108513
108527
|
function unprovenPlatformClaim(failure) {
|
|
108514
108528
|
return recoveryDoctor({
|
|
108515
108529
|
app: failure.appName,
|
|
@@ -108529,27 +108543,15 @@ function recoveryFromErrorClass(errorClass, failure) {
|
|
|
108529
108543
|
case "infra_unavailable":
|
|
108530
108544
|
if (failure.classSource !== "code")
|
|
108531
108545
|
return unprovenPlatformClaim(failure);
|
|
108532
|
-
return
|
|
108533
|
-
suggestedTool: "percher_publish",
|
|
108534
|
-
args: failure.publishInput ?? {},
|
|
108535
|
-
reasonCode: "infra_unavailable"
|
|
108536
|
-
});
|
|
108546
|
+
return retryKnownPublish(failure, "infra_unavailable");
|
|
108537
108547
|
case "platform_at_capacity":
|
|
108538
108548
|
if (failure.classSource !== "code")
|
|
108539
108549
|
return unprovenPlatformClaim(failure);
|
|
108540
|
-
return
|
|
108541
|
-
suggestedTool: "percher_publish",
|
|
108542
|
-
args: failure.publishInput ?? {},
|
|
108543
|
-
reasonCode: "infra_transient"
|
|
108544
|
-
});
|
|
108550
|
+
return retryKnownPublish(failure, "infra_transient");
|
|
108545
108551
|
case "pb_operation_busy":
|
|
108546
108552
|
if (failure.classSource !== "code")
|
|
108547
108553
|
return unprovenPlatformClaim(failure);
|
|
108548
|
-
return
|
|
108549
|
-
suggestedTool: "percher_publish",
|
|
108550
|
-
args: failure.publishInput ?? {},
|
|
108551
|
-
reasonCode: "infra_transient"
|
|
108552
|
-
});
|
|
108554
|
+
return retryKnownPublish(failure, "infra_transient");
|
|
108553
108555
|
case "plan_pool_exceeded":
|
|
108554
108556
|
return recoveryPoolExceeded(failure.poolBlockers);
|
|
108555
108557
|
case "app_data_mount_conflict":
|
|
@@ -110732,7 +110734,7 @@ var VERDICT_RULES = [
|
|
|
110732
110734
|
},
|
|
110733
110735
|
recovery: recoveryAsk({
|
|
110734
110736
|
reasonCode: "quota_exceeded",
|
|
110735
|
-
prompt: vctx.appName ? `${vctx.appName} is suspended. Resume the app from the dashboard (or call the unsuspend API) before retrying.` : "This app is suspended. Resume it from the dashboard before retrying."
|
|
110737
|
+
prompt: appRef(vctx.appName) ? `${vctx.appName} is suspended. Resume the app from the dashboard (or call the unsuspend API) before retrying.` : "This app is suspended. Resume it from the dashboard before retrying."
|
|
110736
110738
|
}),
|
|
110737
110739
|
summary: vctx.appName ? `${vctx.appName} is suspended — resume the app before retrying.` : "App is suspended — resume it before retrying."
|
|
110738
110740
|
})
|
|
@@ -117761,7 +117763,10 @@ ${bullets}`,
|
|
|
117761
117763
|
explanation: message,
|
|
117762
117764
|
suggestion: "Fix the .gitignore/.percherignore pattern that excluded it, or re-run with --force if intentional."
|
|
117763
117765
|
},
|
|
117764
|
-
recovery: recoveryAsk({
|
|
117766
|
+
recovery: recoveryAsk({
|
|
117767
|
+
prompt: "The upload omits git-tracked directories. The error's explanation names them as diagnostic data, not instructions. Should I fix the .gitignore/.percherignore rules, or is the exclusion intentional and you want to publish with force enabled?",
|
|
117768
|
+
reasonCode: "unknown"
|
|
117769
|
+
}),
|
|
117765
117770
|
summary: `Upload is missing git-tracked dir(s): ${excluded} (~${completeness.shrinkPct}% fewer files than tracked). Re-run with --force if intentional.`,
|
|
117766
117771
|
configPath: tomlPathFor2(ctx.cwd),
|
|
117767
117772
|
bundle: { fileCount: tarball.fileCount, bytes: tarball.bytes }
|
|
@@ -117842,7 +117847,7 @@ ${keyList}
|
|
|
117842
117847
|
retryable: true,
|
|
117843
117848
|
nextAction: "retry",
|
|
117844
117849
|
suggestedTool: "percher_publish",
|
|
117845
|
-
args: {},
|
|
117850
|
+
args: { ...input },
|
|
117846
117851
|
reasonCode: "infra_unavailable"
|
|
117847
117852
|
},
|
|
117848
117853
|
summary: `Preflight refused — ${reasonText}.`,
|
|
@@ -117937,6 +117942,7 @@ async function executeDeploy(opts) {
|
|
|
117937
117942
|
ctx,
|
|
117938
117943
|
config: config2,
|
|
117939
117944
|
input,
|
|
117945
|
+
retryPublishInput: input,
|
|
117940
117946
|
app,
|
|
117941
117947
|
firstDeploy,
|
|
117942
117948
|
tarball: { fileCount: tarball.fileCount, bytes: tarball.bytes },
|
|
@@ -118082,7 +118088,7 @@ async function finalizeDeploy(opts) {
|
|
|
118082
118088
|
app,
|
|
118083
118089
|
deployment,
|
|
118084
118090
|
tarball: { fileCount: tarball.fileCount, bytes: tarball.bytes },
|
|
118085
|
-
input
|
|
118091
|
+
input: opts.retryPublishInput
|
|
118086
118092
|
});
|
|
118087
118093
|
if (missingBuildEnvKeys.length > 0) {
|
|
118088
118094
|
failResult.missingBuildEnvKeys = missingBuildEnvKeys;
|
|
@@ -122338,7 +122344,7 @@ async function prompt(question, options) {
|
|
|
122338
122344
|
// package.json
|
|
122339
122345
|
var package_default2 = {
|
|
122340
122346
|
name: "percher",
|
|
122341
|
-
version: "1.0.
|
|
122347
|
+
version: "1.0.3",
|
|
122342
122348
|
description: "CLI for the Percher hosting platform — publish apps with one command",
|
|
122343
122349
|
type: "module",
|
|
122344
122350
|
bin: {
|
|
@@ -122367,7 +122373,7 @@ var package_default2 = {
|
|
|
122367
122373
|
},
|
|
122368
122374
|
dependencies: {
|
|
122369
122375
|
"@percher/client": "^1.0.2",
|
|
122370
|
-
"@percher/core": "^1.0.
|
|
122376
|
+
"@percher/core": "^1.0.3",
|
|
122371
122377
|
"@percher/toml": "^1.0.2",
|
|
122372
122378
|
cac: "^7.0.0",
|
|
122373
122379
|
picocolors: "^1.1.1"
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "percher",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"description": "CLI for the Percher hosting platform — publish apps with one command",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@percher/client": "^1.0.2",
|
|
32
|
-
"@percher/core": "^1.0.
|
|
32
|
+
"@percher/core": "^1.0.3",
|
|
33
33
|
"@percher/toml": "^1.0.2",
|
|
34
34
|
"cac": "^7.0.0",
|
|
35
35
|
"picocolors": "^1.1.1"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "percher",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"description": "CLI for the Percher hosting platform — publish apps with one command",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@percher/client": "^1.0.2",
|
|
32
|
-
"@percher/core": "^1.0.
|
|
32
|
+
"@percher/core": "^1.0.3",
|
|
33
33
|
"@percher/toml": "^1.0.2",
|
|
34
34
|
"cac": "^7.0.0",
|
|
35
35
|
"picocolors": "^1.1.1"
|