@percher/core 0.3.0 → 0.4.1
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/account.d.ts +24 -14
- package/dist/commands/account.d.ts.map +1 -1
- package/dist/commands/account.js +17 -4
- package/dist/commands/account.js.map +1 -1
- package/dist/commands/admin-reconcile-routes.d.ts +18 -0
- package/dist/commands/admin-reconcile-routes.d.ts.map +1 -0
- package/dist/commands/admin-reconcile-routes.js +22 -0
- package/dist/commands/admin-reconcile-routes.js.map +1 -0
- package/dist/commands/ai-files.d.ts +5 -17
- package/dist/commands/ai-files.d.ts.map +1 -1
- package/dist/commands/ai-files.js +3 -4
- package/dist/commands/ai-files.js.map +1 -1
- package/dist/commands/alerts.d.ts +69 -0
- package/dist/commands/alerts.d.ts.map +1 -0
- package/dist/commands/alerts.js +80 -0
- package/dist/commands/alerts.js.map +1 -0
- package/dist/commands/app-resources.d.ts +30 -0
- package/dist/commands/app-resources.d.ts.map +1 -0
- package/dist/commands/app-resources.js +34 -0
- package/dist/commands/app-resources.js.map +1 -0
- package/dist/commands/app-topology.d.ts +18 -0
- package/dist/commands/app-topology.d.ts.map +1 -0
- package/dist/commands/app-topology.js +25 -0
- package/dist/commands/app-topology.js.map +1 -0
- package/dist/commands/billing.d.ts +8 -8
- package/dist/commands/billing.d.ts.map +1 -1
- package/dist/commands/billing.js +1 -1
- package/dist/commands/billing.js.map +1 -1
- package/dist/commands/continue.d.ts +1 -1
- package/dist/commands/create.d.ts +2 -12
- package/dist/commands/create.d.ts.map +1 -1
- package/dist/commands/create.js +1 -1
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/dashboard.d.ts +2 -8
- package/dist/commands/dashboard.d.ts.map +1 -1
- package/dist/commands/dashboard.js +1 -1
- package/dist/commands/dashboard.js.map +1 -1
- package/dist/commands/data-export.d.ts +2 -8
- package/dist/commands/data-export.d.ts.map +1 -1
- package/dist/commands/data-export.js +1 -1
- package/dist/commands/data-export.js.map +1 -1
- package/dist/commands/data.d.ts +2 -8
- package/dist/commands/data.d.ts.map +1 -1
- package/dist/commands/data.js +1 -1
- package/dist/commands/data.js.map +1 -1
- package/dist/commands/delete.d.ts +2 -8
- package/dist/commands/delete.d.ts.map +1 -1
- package/dist/commands/delete.js +1 -1
- package/dist/commands/delete.js.map +1 -1
- package/dist/commands/deploys.d.ts +4 -28
- package/dist/commands/deploys.d.ts.map +1 -1
- package/dist/commands/deploys.js +1 -1
- package/dist/commands/deploys.js.map +1 -1
- package/dist/commands/dev.d.ts +2 -6
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +3 -2
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/diagnose.d.ts +2 -22
- package/dist/commands/diagnose.d.ts.map +1 -1
- package/dist/commands/diagnose.js +1 -1
- package/dist/commands/diagnose.js.map +1 -1
- package/dist/commands/doctor.d.ts +20 -35
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +42 -4
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/domains.d.ts +5 -27
- package/dist/commands/domains.d.ts.map +1 -1
- package/dist/commands/domains.js +1 -1
- package/dist/commands/domains.js.map +1 -1
- package/dist/commands/env-scan.js +1 -1
- package/dist/commands/env-scan.js.map +1 -1
- package/dist/commands/env.d.ts +4 -20
- package/dist/commands/env.d.ts.map +1 -1
- package/dist/commands/env.js +1 -1
- package/dist/commands/env.js.map +1 -1
- package/dist/commands/export.d.ts +1 -1
- package/dist/commands/forgejo.d.ts +45 -0
- package/dist/commands/forgejo.d.ts.map +1 -0
- package/dist/commands/forgejo.js +125 -0
- package/dist/commands/forgejo.js.map +1 -0
- package/dist/commands/generate.d.ts +2 -6
- package/dist/commands/generate.d.ts.map +1 -1
- package/dist/commands/generate.js +1 -1
- package/dist/commands/generate.js.map +1 -1
- package/dist/commands/github.d.ts +4 -15
- package/dist/commands/github.d.ts.map +1 -1
- package/dist/commands/github.js +17 -1
- package/dist/commands/github.js.map +1 -1
- package/dist/commands/import-project.d.ts +13 -9
- package/dist/commands/import-project.d.ts.map +1 -1
- package/dist/commands/import-project.js +73 -22
- package/dist/commands/import-project.js.map +1 -1
- package/dist/commands/init.d.ts +26 -11
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +103 -2
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/insights.d.ts +2 -6
- package/dist/commands/insights.d.ts.map +1 -1
- package/dist/commands/insights.js +1 -1
- package/dist/commands/insights.js.map +1 -1
- package/dist/commands/login.d.ts +2 -8
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +22 -1
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/logs.d.ts +25 -10
- package/dist/commands/logs.d.ts.map +1 -1
- package/dist/commands/logs.js +65 -5
- package/dist/commands/logs.js.map +1 -1
- package/dist/commands/mcp.d.ts +2 -2
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +1 -1
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/migrate-supabase-map.d.ts +171 -0
- package/dist/commands/migrate-supabase-map.d.ts.map +1 -0
- package/dist/commands/migrate-supabase-map.js +452 -0
- package/dist/commands/migrate-supabase-map.js.map +1 -0
- package/dist/commands/migrate-supabase-schema.d.ts +67 -0
- package/dist/commands/migrate-supabase-schema.d.ts.map +1 -0
- package/dist/commands/migrate-supabase-schema.js +321 -0
- package/dist/commands/migrate-supabase-schema.js.map +1 -0
- package/dist/commands/migrate-supabase-scripts.d.ts +64 -0
- package/dist/commands/migrate-supabase-scripts.d.ts.map +1 -0
- package/dist/commands/migrate-supabase-scripts.js +564 -0
- package/dist/commands/migrate-supabase-scripts.js.map +1 -0
- package/dist/commands/migrate-supabase-sdk.d.ts +133 -0
- package/dist/commands/migrate-supabase-sdk.d.ts.map +1 -0
- package/dist/commands/migrate-supabase-sdk.js +1119 -0
- package/dist/commands/migrate-supabase-sdk.js.map +1 -0
- package/dist/commands/migrate-supabase-walker.d.ts +93 -0
- package/dist/commands/migrate-supabase-walker.d.ts.map +1 -0
- package/dist/commands/migrate-supabase-walker.js +413 -0
- package/dist/commands/migrate-supabase-walker.js.map +1 -0
- package/dist/commands/migrate-supabase.d.ts +81 -0
- package/dist/commands/migrate-supabase.d.ts.map +1 -0
- package/dist/commands/migrate-supabase.js +579 -0
- package/dist/commands/migrate-supabase.js.map +1 -0
- package/dist/commands/open.d.ts +2 -6
- package/dist/commands/open.d.ts.map +1 -1
- package/dist/commands/open.js +1 -1
- package/dist/commands/open.js.map +1 -1
- package/dist/commands/publish-api-error.d.ts +46 -0
- package/dist/commands/publish-api-error.d.ts.map +1 -0
- package/dist/commands/publish-api-error.js +307 -0
- package/dist/commands/publish-api-error.js.map +1 -0
- package/dist/commands/publish-failure.d.ts.map +1 -1
- package/dist/commands/publish-failure.js +11 -3
- package/dist/commands/publish-failure.js.map +1 -1
- package/dist/commands/publish-node.d.ts +5 -2
- package/dist/commands/publish-node.d.ts.map +1 -1
- package/dist/commands/publish-node.js +7 -3
- package/dist/commands/publish-node.js.map +1 -1
- package/dist/commands/publish.d.ts +58 -17
- package/dist/commands/publish.d.ts.map +1 -1
- package/dist/commands/publish.js +407 -145
- package/dist/commands/publish.js.map +1 -1
- package/dist/commands/push.d.ts +2 -12
- package/dist/commands/push.d.ts.map +1 -1
- package/dist/commands/push.js +25 -7
- package/dist/commands/push.js.map +1 -1
- package/dist/commands/redeploy.d.ts +2 -8
- package/dist/commands/redeploy.d.ts.map +1 -1
- package/dist/commands/redeploy.js +20 -16
- package/dist/commands/redeploy.js.map +1 -1
- package/dist/commands/rename.d.ts +2 -8
- package/dist/commands/rename.d.ts.map +1 -1
- package/dist/commands/rename.js +1 -1
- package/dist/commands/rename.js.map +1 -1
- package/dist/commands/reproduce.d.ts +2 -8
- package/dist/commands/reproduce.d.ts.map +1 -1
- package/dist/commands/reproduce.js +1 -1
- package/dist/commands/reproduce.js.map +1 -1
- package/dist/commands/reset-superuser.d.ts +2 -16
- package/dist/commands/reset-superuser.d.ts.map +1 -1
- package/dist/commands/reset-superuser.js +1 -1
- package/dist/commands/reset-superuser.js.map +1 -1
- package/dist/commands/restore.d.ts +7 -22
- package/dist/commands/restore.d.ts.map +1 -1
- package/dist/commands/restore.js +1 -1
- package/dist/commands/restore.js.map +1 -1
- package/dist/commands/resume.d.ts +2 -6
- package/dist/commands/resume.d.ts.map +1 -1
- package/dist/commands/resume.js +1 -1
- package/dist/commands/resume.js.map +1 -1
- package/dist/commands/rollback.d.ts +4 -9
- package/dist/commands/rollback.d.ts.map +1 -1
- package/dist/commands/rollback.js +3 -2
- package/dist/commands/rollback.js.map +1 -1
- package/dist/commands/sharing.d.ts +48 -0
- package/dist/commands/sharing.d.ts.map +1 -0
- package/dist/commands/sharing.js +85 -0
- package/dist/commands/sharing.js.map +1 -0
- package/dist/commands/status.d.ts +29 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +48 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/transfers.d.ts +34 -0
- package/dist/commands/transfers.d.ts.map +1 -0
- package/dist/commands/transfers.js +62 -0
- package/dist/commands/transfers.js.map +1 -0
- package/dist/commands/unsuspend.d.ts +2 -6
- package/dist/commands/unsuspend.d.ts.map +1 -1
- package/dist/commands/unsuspend.js +1 -1
- package/dist/commands/unsuspend.js.map +1 -1
- package/dist/commands/versions.d.ts +2 -6
- package/dist/commands/versions.d.ts.map +1 -1
- package/dist/commands/versions.js +1 -1
- package/dist/commands/versions.js.map +1 -1
- package/dist/commands/wait-deploy.d.ts +2 -12
- package/dist/commands/wait-deploy.d.ts.map +1 -1
- package/dist/commands/wait-deploy.js +5 -4
- package/dist/commands/wait-deploy.js.map +1 -1
- package/dist/context.d.ts +15 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/detect.d.ts +11 -0
- package/dist/detect.d.ts.map +1 -1
- package/dist/detect.js +31 -8
- package/dist/detect.js.map +1 -1
- package/dist/env-scan-source.js +1 -1
- package/dist/env-scan-source.js.map +1 -1
- package/dist/error-classifier.d.ts +17 -0
- package/dist/error-classifier.d.ts.map +1 -1
- package/dist/error-classifier.js +95 -9
- package/dist/error-classifier.js.map +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/event-renderer.d.ts +17 -0
- package/dist/event-renderer.d.ts.map +1 -0
- package/dist/event-renderer.js +130 -0
- package/dist/event-renderer.js.map +1 -0
- package/dist/index.d.ts +63 -47
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +56 -40
- package/dist/index.js.map +1 -1
- package/dist/plans.d.ts +70 -5
- package/dist/plans.d.ts.map +1 -1
- package/dist/plans.js +83 -18
- package/dist/plans.js.map +1 -1
- package/dist/poll-deployment.d.ts +13 -1
- package/dist/poll-deployment.d.ts.map +1 -1
- package/dist/poll-deployment.js +37 -1
- package/dist/poll-deployment.js.map +1 -1
- package/dist/publish-retry.d.ts +29 -0
- package/dist/publish-retry.d.ts.map +1 -0
- package/dist/publish-retry.js +224 -0
- package/dist/publish-retry.js.map +1 -0
- package/dist/recovery.d.ts +60 -3
- package/dist/recovery.d.ts.map +1 -1
- package/dist/recovery.js +24 -1
- package/dist/recovery.js.map +1 -1
- package/dist/static-docker.d.ts +77 -0
- package/dist/static-docker.d.ts.map +1 -0
- package/dist/static-docker.js +105 -0
- package/dist/static-docker.js.map +1 -0
- package/dist/structured-error-codes.d.ts +30 -0
- package/dist/structured-error-codes.d.ts.map +1 -0
- package/dist/structured-error-codes.js +86 -0
- package/dist/structured-error-codes.js.map +1 -0
- package/dist/tarball.d.ts +11 -0
- package/dist/tarball.d.ts.map +1 -1
- package/dist/tarball.js +31 -10
- package/dist/tarball.js.map +1 -1
- package/dist/templates/ai-files/cursor-percher-mdc.d.ts.map +1 -1
- package/dist/templates/ai-files/cursor-percher-mdc.js +12 -9
- package/dist/templates/ai-files/cursor-percher-mdc.js.map +1 -1
- package/dist/templates.js +11 -11
- package/dist/templates.js.map +1 -1
- package/dist/watcher.js +1 -1
- package/dist/watcher.js.map +1 -1
- package/package.json +7 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { App, Deployment } from "@percher/client";
|
|
2
|
-
import { z } from "zod
|
|
2
|
+
import { z } from "zod";
|
|
3
3
|
import type { Context } from "../context";
|
|
4
4
|
import { type PublishRecovery } from "../recovery";
|
|
5
5
|
import type { PublishError } from "./publish";
|
|
@@ -8,17 +8,7 @@ export declare const waitForDeployInputSchema: z.ZodObject<{
|
|
|
8
8
|
deployId: z.ZodString;
|
|
9
9
|
timeoutSeconds: z.ZodOptional<z.ZodNumber>;
|
|
10
10
|
pollIntervalSeconds: z.ZodOptional<z.ZodNumber>;
|
|
11
|
-
},
|
|
12
|
-
app: string;
|
|
13
|
-
deployId: string;
|
|
14
|
-
timeoutSeconds?: number | undefined;
|
|
15
|
-
pollIntervalSeconds?: number | undefined;
|
|
16
|
-
}, {
|
|
17
|
-
app: string;
|
|
18
|
-
deployId: string;
|
|
19
|
-
timeoutSeconds?: number | undefined;
|
|
20
|
-
pollIntervalSeconds?: number | undefined;
|
|
21
|
-
}>;
|
|
11
|
+
}, z.core.$strip>;
|
|
22
12
|
export type WaitForDeployInput = z.infer<typeof waitForDeployInputSchema>;
|
|
23
13
|
export interface WaitForDeployResult {
|
|
24
14
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wait-deploy.d.ts","sourceRoot":"","sources":["../../src/commands/wait-deploy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"wait-deploy.d.ts","sourceRoot":"","sources":["../../src/commands/wait-deploy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EACL,KAAK,eAAe,EAKrB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAG9C,eAAO,MAAM,wBAAwB;;;;;iBAmBnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,MAAM,WAAW,mBAAmB;IAClC;;;;;;;;;;;;;OAaG;IACH,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,eAAe,CAAC;IACzD,GAAG,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,UAAU,EAAE,UAAU,CAAC;IACvB,sCAAsC;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,cAAc,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,mBAAmB,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,mBAAmB,CAAC,CAoE9B;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC1C,GAAG,EAAE,OAAO,CAAC;IACb,GAAG,EAAE,GAAG,CAAC;IACT,kBAAkB,EAAE,UAAU,CAAC;CAChC,GAAG,OAAO,CAAC;IACV,QAAQ,EAAE,eAAe,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,UAAU,CAAC;CACjC,CAAC,CA4ED"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TIMEOUTS } from "@percher/shared/timeouts";
|
|
2
|
+
import { z } from "zod";
|
|
2
3
|
import { RECOVERY_NONE, recoveryAsk, recoveryNone, recoveryWait, } from "../recovery";
|
|
3
4
|
import { classifyDeploymentFailure } from "./publish-failure";
|
|
4
5
|
export const waitForDeployInputSchema = z.object({
|
|
@@ -8,9 +9,9 @@ export const waitForDeployInputSchema = z.object({
|
|
|
8
9
|
.number()
|
|
9
10
|
.int()
|
|
10
11
|
.min(1)
|
|
11
|
-
.max(
|
|
12
|
+
.max(TIMEOUTS.mcpWaitDeployMax / 1000)
|
|
12
13
|
.optional()
|
|
13
|
-
.describe(
|
|
14
|
+
.describe(`Maximum wall-clock seconds to wait before returning still_running (default ${TIMEOUTS.mcpWaitDeployDefault / 1000}, max ${TIMEOUTS.mcpWaitDeployMax / 1000}). Keeping this short is the point — the agent can resume in another short call without holding a long-lived connection.`),
|
|
14
15
|
pollIntervalSeconds: z
|
|
15
16
|
.number()
|
|
16
17
|
.int()
|
|
@@ -27,7 +28,7 @@ export const waitForDeployInputSchema = z.object({
|
|
|
27
28
|
* stack. Never starts a new deploy.
|
|
28
29
|
*/
|
|
29
30
|
export async function waitForDeploy(ctx, input) {
|
|
30
|
-
const timeoutSeconds = input.timeoutSeconds ??
|
|
31
|
+
const timeoutSeconds = input.timeoutSeconds ?? TIMEOUTS.mcpWaitDeployDefault / 1000;
|
|
31
32
|
const pollIntervalSeconds = input.pollIntervalSeconds ?? 2;
|
|
32
33
|
// Fetch app + initial deployment in parallel; the app row is needed for
|
|
33
34
|
// the URL on success and for failure-classification context.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wait-deploy.js","sourceRoot":"","sources":["../../src/commands/wait-deploy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"wait-deploy.js","sourceRoot":"","sources":["../../src/commands/wait-deploy.ts"],"names":[],"mappings":"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"}
|
package/dist/context.d.ts
CHANGED
|
@@ -13,5 +13,20 @@ export interface Context {
|
|
|
13
13
|
status: (message: string) => void;
|
|
14
14
|
/** Whether this context supports interactive auth (browser open + wait). CLI: true, MCP: false. */
|
|
15
15
|
interactiveLogin?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Re-bind `ctx.client` to a new PercherClient. Optional opt-in for
|
|
18
|
+
* contexts that need to know about the swap (MCP needs this — the
|
|
19
|
+
* singleton client lives across tool calls and `PercherClient`
|
|
20
|
+
* reads its token only in the constructor, so writing to disk via
|
|
21
|
+
* `saveConfig` doesn't update an in-process instance).
|
|
22
|
+
*
|
|
23
|
+
* `login()` falls back to `ctx.client = client` directly when this
|
|
24
|
+
* is undefined (the cast is intentional — `client` is mutable on
|
|
25
|
+
* the interface but tests + CLI typically don't need the callback
|
|
26
|
+
* channel). Pre-FUTURE16 the local client created in
|
|
27
|
+
* `validateAndPersist` was discarded entirely; first found in the
|
|
28
|
+
* 2026-05-09 review.
|
|
29
|
+
*/
|
|
30
|
+
setClient?: (client: PercherClient) => void;
|
|
16
31
|
}
|
|
17
32
|
//# sourceMappingURL=context.d.ts.map
|
package/dist/context.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,aAAa,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IACnC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IACnC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACxC,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACvE,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,mGAAmG;IACnG,gBAAgB,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,aAAa,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IACnC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IACnC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACxC,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACvE,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,mGAAmG;IACnG,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;CAC7C"}
|
package/dist/detect.d.ts
CHANGED
|
@@ -12,6 +12,17 @@ export interface DetectedFramework {
|
|
|
12
12
|
data?: {
|
|
13
13
|
mode: "pocketbase" | "postgres" | "sqlite" | "convex" | "supabase" | "none";
|
|
14
14
|
};
|
|
15
|
+
/**
|
|
16
|
+
* Set for static frameworks that need a build step (Vite, static
|
|
17
|
+
* Astro, …). Percher's `runtime = "static"` Caddy path serves
|
|
18
|
+
* pre-built files only — it rejects a `[build].command` — so these
|
|
19
|
+
* ship as `runtime = "docker"` instead, and `init` scaffolds the
|
|
20
|
+
* multi-stage Dockerfile + Caddyfile from these fields.
|
|
21
|
+
*/
|
|
22
|
+
staticBuild?: {
|
|
23
|
+
outputDir: string;
|
|
24
|
+
spa: boolean;
|
|
25
|
+
};
|
|
15
26
|
}
|
|
16
27
|
export declare function detectFramework(cwd: string): Promise<DetectedFramework | null>;
|
|
17
28
|
/** Promote runtime from "node" to "bun" if a Bun lockfile is present. */
|
package/dist/detect.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../src/detect.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../src/detect.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,GAAG,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,YAAY,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAA;KAAE,CAAC;IACvF;;;;;;OAMG;IACH,WAAW,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,OAAO,CAAA;KAAE,CAAC;CACnD;AA2CD,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAsKpF;AAED,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAK5F"}
|
package/dist/detect.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { existsSync, readFileSync } from "node:fs";
|
|
2
2
|
import { join } from "node:path";
|
|
3
|
+
import { STATIC_DOCKER_PORT } from "./static-docker";
|
|
3
4
|
function exists(dir, ...names) {
|
|
4
5
|
return names.some((n) => existsSync(join(dir, n)));
|
|
5
6
|
}
|
|
@@ -60,18 +61,35 @@ export async function detectFramework(cwd) {
|
|
|
60
61
|
return {
|
|
61
62
|
runtime: "node",
|
|
62
63
|
framework: "sveltekit",
|
|
63
|
-
|
|
64
|
+
// adapter-node writes the production server to `build/` and starts
|
|
65
|
+
// it with `node build`. `.svelte-kit/` is an internal cache dir,
|
|
66
|
+
// not the deployable output — matches docs/CLAUDE.md and the
|
|
67
|
+
// sveltekit template's percher.toml.
|
|
68
|
+
build: { command: "bun run build", output: "build" },
|
|
64
69
|
web: { port: 3000, health: "/health" },
|
|
65
70
|
data: detectDataMode(pkg, cwd),
|
|
66
71
|
};
|
|
67
72
|
}
|
|
68
73
|
if (exists(cwd, "astro.config.mjs", "astro.config.ts", "astro.config.js")) {
|
|
69
74
|
const ssr = hasDependency(pkg, "@astrojs/node");
|
|
75
|
+
if (ssr) {
|
|
76
|
+
return {
|
|
77
|
+
runtime: "node",
|
|
78
|
+
framework: "astro",
|
|
79
|
+
build: { command: "bun run build", output: "dist" },
|
|
80
|
+
web: { port: 4321, health: "/health" },
|
|
81
|
+
data: detectDataMode(pkg, cwd),
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
// Static Astro needs a build step, which the `runtime = "static"`
|
|
85
|
+
// Caddy path does not run. Ship it as a `runtime = "docker"`
|
|
86
|
+
// multi-stage build instead — `init` scaffolds the Dockerfile +
|
|
87
|
+
// Caddyfile from `staticBuild`.
|
|
70
88
|
return {
|
|
71
|
-
runtime:
|
|
89
|
+
runtime: "docker",
|
|
72
90
|
framework: "astro",
|
|
73
|
-
|
|
74
|
-
|
|
91
|
+
web: { port: STATIC_DOCKER_PORT, health: "/" },
|
|
92
|
+
staticBuild: { outputDir: "dist", spa: false },
|
|
75
93
|
data: detectDataMode(pkg, cwd),
|
|
76
94
|
};
|
|
77
95
|
}
|
|
@@ -85,12 +103,17 @@ export async function detectFramework(cwd) {
|
|
|
85
103
|
};
|
|
86
104
|
}
|
|
87
105
|
if (exists(cwd, "vite.config.js", "vite.config.ts")) {
|
|
88
|
-
|
|
106
|
+
// Vite needs a build step, which the `runtime = "static"` Caddy
|
|
107
|
+
// path does not run. Ship it as a `runtime = "docker"` multi-stage
|
|
108
|
+
// build instead — `init` scaffolds the Dockerfile + Caddyfile from
|
|
109
|
+
// `staticBuild`. `spa: true` so client-side routes fall back to
|
|
110
|
+
// index.html instead of 404.
|
|
89
111
|
return {
|
|
90
|
-
runtime: "
|
|
112
|
+
runtime: "docker",
|
|
91
113
|
framework: "vite",
|
|
92
|
-
|
|
93
|
-
|
|
114
|
+
web: { port: STATIC_DOCKER_PORT, health: "/" },
|
|
115
|
+
staticBuild: { outputDir: "dist", spa: true },
|
|
116
|
+
data: detectDataMode(pkg, cwd),
|
|
94
117
|
};
|
|
95
118
|
}
|
|
96
119
|
if (hasDependency(pkg, "express")) {
|
package/dist/detect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect.js","sourceRoot":"","sources":["../src/detect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"detect.js","sourceRoot":"","sources":["../src/detect.ts"],"names":[],"mappings":"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"}
|
package/dist/env-scan-source.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-scan-source.js","sourceRoot":"","sources":["../src/env-scan-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"env-scan-source.js","sourceRoot":"","sources":["../src/env-scan-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Companion file: `packages/api/src/pipeline/error-classifier.ts` (the
|
|
3
|
+
* API-side classifier, simpler shape — title/explanation/suggestion
|
|
4
|
+
* only). This file is the CLI/agent surface with the richer shape
|
|
5
|
+
* (errorClass / phase / cause / relevantFiles / missingEnvVars).
|
|
6
|
+
*
|
|
7
|
+
* Sync contract: patterns present in BOTH files MUST agree on
|
|
8
|
+
* **title + priority** so the agent and the operator see the same
|
|
9
|
+
* verdict when both fire. The API file is a deliberate subset —
|
|
10
|
+
* DEPLOY_STALLED, infra-unavailable, TypeScript-error, and the
|
|
11
|
+
* generic permission-denied fallback live ONLY here because the API
|
|
12
|
+
* never reads its own classified output for those classes. Adding a
|
|
13
|
+
* pattern to one file without the other is fine only when that
|
|
14
|
+
* surface needs it locally; in practice every Fas 7 entry lives in
|
|
15
|
+
* both. Extracting a shared catalog to `@percher/shared` is on the
|
|
16
|
+
* follow-up list.
|
|
17
|
+
*/
|
|
1
18
|
export type ErrorClass = "build_failed" | "health_check_timeout" | "port_mismatch" | "missing_env" | "oom_killed" | "permission_denied" | "runtime_crash" | "config_invalid" | "missing_dependency" | "infra_unavailable";
|
|
2
19
|
export type DeployPhase = "build" | "start" | "health_check" | "config" | "infra";
|
|
3
20
|
export interface ClassifiedError {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-classifier.d.ts","sourceRoot":"","sources":["../src/error-classifier.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAClB,cAAc,GACd,sBAAsB,GACtB,eAAe,GACf,aAAa,GACb,YAAY,GACZ,mBAAmB,GACnB,eAAe,GACf,gBAAgB,GAChB,oBAAoB,GACpB,mBAAmB,CAAC;AAExB,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,OAAO,GAAG,cAAc,GAAG,QAAQ,GAAG,OAAO,CAAC;AAElF,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,UAAU,EAAE,UAAU,CAAC;IACvB,4CAA4C;IAC5C,KAAK,EAAE,WAAW,CAAC;IACnB,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,+DAA+D;IAC/D,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;
|
|
1
|
+
{"version":3,"file":"error-classifier.d.ts","sourceRoot":"","sources":["../src/error-classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,MAAM,UAAU,GAClB,cAAc,GACd,sBAAsB,GACtB,eAAe,GACf,aAAa,GACb,YAAY,GACZ,mBAAmB,GACnB,eAAe,GACf,gBAAgB,GAChB,oBAAoB,GACpB,mBAAmB,CAAC;AAExB,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,OAAO,GAAG,cAAc,GAAG,QAAQ,GAAG,OAAO,CAAC;AAElF,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,UAAU,EAAE,UAAU,CAAC;IACvB,4CAA4C;IAC5C,KAAK,EAAE,WAAW,CAAC;IACnB,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,+DAA+D;IAC/D,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AA4XD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CA2B7F"}
|
package/dist/error-classifier.js
CHANGED
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Companion file: `packages/api/src/pipeline/error-classifier.ts` (the
|
|
3
|
+
* API-side classifier, simpler shape — title/explanation/suggestion
|
|
4
|
+
* only). This file is the CLI/agent surface with the richer shape
|
|
5
|
+
* (errorClass / phase / cause / relevantFiles / missingEnvVars).
|
|
6
|
+
*
|
|
7
|
+
* Sync contract: patterns present in BOTH files MUST agree on
|
|
8
|
+
* **title + priority** so the agent and the operator see the same
|
|
9
|
+
* verdict when both fire. The API file is a deliberate subset —
|
|
10
|
+
* DEPLOY_STALLED, infra-unavailable, TypeScript-error, and the
|
|
11
|
+
* generic permission-denied fallback live ONLY here because the API
|
|
12
|
+
* never reads its own classified output for those classes. Adding a
|
|
13
|
+
* pattern to one file without the other is fine only when that
|
|
14
|
+
* surface needs it locally; in practice every Fas 7 entry lives in
|
|
15
|
+
* both. Extracting a shared catalog to `@percher/shared` is on the
|
|
16
|
+
* follow-up list.
|
|
17
|
+
*/
|
|
1
18
|
function extractEnvVarsFromLog(combined) {
|
|
2
19
|
const envVarPattern = /process\.env\.(\w+)\s*(?:is\s+)?(?:undefined|not set)|(?:missing|undefined).*?(\b[A-Z][A-Z0-9_]{2,}\b)/gi;
|
|
3
20
|
const vars = new Set();
|
|
@@ -53,7 +70,7 @@ const patterns = [
|
|
|
53
70
|
//
|
|
54
71
|
// Order matters: this MUST come before the runtime ECONNREFUSED match
|
|
55
72
|
// below, which talks about *the deployed app* failing to dial out.
|
|
56
|
-
pattern: /Unable to connect.*?(access the url|cache\.nixos)|Could not resolve host|getaddrinfo ENOTFOUND|Worker \/[\w-]+(\/[\w-]+)? failed \(50\d\)|Failed to fetch.*?worker|deployer\/(run|build) failed|The socket connection was closed unexpectedly|WORKER_UNAVAILABLE
|
|
73
|
+
pattern: /Unable to connect.*?(access the url|cache\.nixos)|Could not resolve host|getaddrinfo ENOTFOUND|Worker \/[\w-]+(\/[\w-]+)? failed \(50\d\)|Failed to fetch.*?worker|deployer\/(run|build) failed|The socket connection was closed unexpectedly|WORKER_UNAVAILABLE(_PERSISTENT)?:/i,
|
|
57
74
|
result: {
|
|
58
75
|
title: "Build infrastructure unavailable",
|
|
59
76
|
explanation: "The Percher build server couldn't reach an upstream service it needs (Nix cache, worker daemon, or registry). This is a platform-side problem, not your app code. These failures are usually transient and clear within 1–2 minutes.",
|
|
@@ -110,16 +127,19 @@ const patterns = [
|
|
|
110
127
|
missingEnvVars: [],
|
|
111
128
|
},
|
|
112
129
|
},
|
|
130
|
+
// FUTURE11 Fas 7 — privileged-port bind. MUST come before EADDRINUSE
|
|
131
|
+
// and the generic permission-denied matcher below so a `bind:
|
|
132
|
+
// permission denied :80` log lands on the precise advice.
|
|
113
133
|
{
|
|
114
|
-
pattern: /
|
|
134
|
+
pattern: /bind:?\s+permission denied.*?:(?:80|443)\b/i,
|
|
115
135
|
result: {
|
|
116
|
-
title: "
|
|
117
|
-
explanation: "Your app
|
|
118
|
-
suggestion: "
|
|
119
|
-
errorClass: "
|
|
120
|
-
phase: "
|
|
121
|
-
cause: "
|
|
122
|
-
relevantFiles: ["percher.toml"],
|
|
136
|
+
title: "Cannot bind to privileged port",
|
|
137
|
+
explanation: "Your app tried to listen on a privileged port (80 or 443). Percher containers run as non-root and cannot bind to ports below 1024.",
|
|
138
|
+
suggestion: "Use process.env.PORT instead of hardcoding 80/443. Percher assigns a high port and routes :80/:443 traffic to it externally — your code doesn't need to know the public port.",
|
|
139
|
+
errorClass: "port_mismatch",
|
|
140
|
+
phase: "start",
|
|
141
|
+
cause: "privileged_port",
|
|
142
|
+
relevantFiles: ["percher.toml", "package.json"],
|
|
123
143
|
missingEnvVars: [],
|
|
124
144
|
},
|
|
125
145
|
},
|
|
@@ -136,6 +156,53 @@ const patterns = [
|
|
|
136
156
|
missingEnvVars: [],
|
|
137
157
|
},
|
|
138
158
|
},
|
|
159
|
+
// FUTURE11 Fas 7 — rootless-fs failures. Triggered by nginx writing
|
|
160
|
+
// /var/log, by `chown` against a shared dir, or by any EROFS during
|
|
161
|
+
// container startup. Stays above the generic permission-denied
|
|
162
|
+
// matcher so the message names the actual cause.
|
|
163
|
+
{
|
|
164
|
+
// Both chown alternatives bound the gap to 200 chars so a long
|
|
165
|
+
// unrelated build log with a `tar: Operation not permitted` line
|
|
166
|
+
// early and an unrelated `chown` 30 lines later doesn't land on
|
|
167
|
+
// the rootless-fs classification by accident. Real co-occurring
|
|
168
|
+
// chown/Operation-not-permitted shapes sit well under 100 chars
|
|
169
|
+
// apart:
|
|
170
|
+
// - busybox: `chown: cannot access '/data':\nOperation not
|
|
171
|
+
// permitted` (~25 chars)
|
|
172
|
+
// - nginx: `chown("/tmp/...", 65534) failed (1: Operation
|
|
173
|
+
// not permitted)` (~45 chars)
|
|
174
|
+
// 200 is a comfortable ceiling. `[\s\S]` (not `.`) so the
|
|
175
|
+
// matcher works without the dotall flag. The `Read-only file
|
|
176
|
+
// system` and `Permission denied.*?/var/log` alternatives are
|
|
177
|
+
// line-bound by their own structure and are fine with `.*?`.
|
|
178
|
+
pattern: /Read-only file system|Permission denied.*?\/var\/log|chown[\s\S]{0,200}?Operation not permitted|Operation not permitted[\s\S]{0,200}?chown/i,
|
|
179
|
+
result: {
|
|
180
|
+
title: "Container needs writable filesystem",
|
|
181
|
+
explanation: "Your image tries to write to a path that's read-only in Percher's rootless container — common causes are nginx writing /var/log, or a startup script chown'ing a shared directory.",
|
|
182
|
+
suggestion: "Switch to a base image designed for rootless (alpine + caddy works), redirect writes to /tmp, or drop the chown step. If you're on runtime=static you should already be on the Caddy path — re-deploy on the current platform version to pick it up.",
|
|
183
|
+
errorClass: "permission_denied",
|
|
184
|
+
phase: "start",
|
|
185
|
+
cause: "rootless_fs_write",
|
|
186
|
+
relevantFiles: ["Dockerfile"],
|
|
187
|
+
missingEnvVars: [],
|
|
188
|
+
},
|
|
189
|
+
},
|
|
190
|
+
// FUTURE11 Fas 7 — npm "missing script" startup failure. Specific
|
|
191
|
+
// fix, named clearly — the generic build-failed matcher would
|
|
192
|
+
// otherwise swallow it.
|
|
193
|
+
{
|
|
194
|
+
pattern: /npm ERR.*?missing script|npm error.*?missing script/i,
|
|
195
|
+
result: {
|
|
196
|
+
title: "Missing npm script",
|
|
197
|
+
explanation: "Your start command refers to an npm script that doesn't exist in package.json.",
|
|
198
|
+
suggestion: 'Check the "scripts" section of package.json — the script name must match what Percher is invoking (typically "start"). Add it locally, run `npm run <name>` to confirm it works, then publish again.',
|
|
199
|
+
errorClass: "config_invalid",
|
|
200
|
+
phase: "start",
|
|
201
|
+
cause: "missing_npm_script",
|
|
202
|
+
relevantFiles: ["package.json"],
|
|
203
|
+
missingEnvVars: [],
|
|
204
|
+
},
|
|
205
|
+
},
|
|
139
206
|
{
|
|
140
207
|
pattern: /Cannot find module|ERR_MODULE_NOT_FOUND/i,
|
|
141
208
|
result: {
|
|
@@ -267,6 +334,25 @@ const patterns = [
|
|
|
267
334
|
missingEnvVars: [],
|
|
268
335
|
},
|
|
269
336
|
},
|
|
337
|
+
// FUTURE11 Fas 7 — health-check fallback. MUST stay last. Before
|
|
338
|
+
// Fas 7 this pattern was #4, which meant EADDRINUSE / rootless-fs
|
|
339
|
+
// / Cannot-find-module logs all got the generic "listen on PORT,
|
|
340
|
+
// return 200" advice. As fallback it only fires when nothing more
|
|
341
|
+
// specific matches — the honest signal it represents (the deploy
|
|
342
|
+
// timed out on /health and we have no log evidence of WHY).
|
|
343
|
+
{
|
|
344
|
+
pattern: /healthcheck failed|health check failed/i,
|
|
345
|
+
result: {
|
|
346
|
+
title: "Health check failed",
|
|
347
|
+
explanation: "Your app started but did not respond to the health check endpoint in time.",
|
|
348
|
+
suggestion: "Make sure your app listens on process.env.PORT and returns HTTP 200 on the health path. Then publish again.",
|
|
349
|
+
errorClass: "health_check_timeout",
|
|
350
|
+
phase: "health_check",
|
|
351
|
+
cause: "timeout",
|
|
352
|
+
relevantFiles: ["percher.toml"],
|
|
353
|
+
missingEnvVars: [],
|
|
354
|
+
},
|
|
355
|
+
},
|
|
270
356
|
];
|
|
271
357
|
/**
|
|
272
358
|
* Classify a deploy error message into a user-friendly explanation.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-classifier.js","sourceRoot":"","sources":["../src/error-classifier.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"error-classifier.js","sourceRoot":"","sources":["../src/error-classifier.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type PercherCoreErrorCode = "init.exists" | "push.no-config-generated" | "push.cancelled" | "push.placeholder-env" | "push.too-large" | "push.suspicious" | "push.deploy-failed" | "push.deploy-timeout" | "push.quota-exceeded" | "push.already-in-progress" | "push.retry-limit-reached" | "logs.no-app" | "env.no-app" | "open.no-app" | "login.expired" | "login.rejected" | "doctor.no-app" | "doctor.api-unreachable" | "dev.no-app" | "data.no-app" | "create.invalid-template" | "create.dir-not-empty" | "create.failed" | "delete.confirmation-required" | "delete.acknowledgement-mismatch" | "account.delete.confirmation-required" | "diagnose.no-app" | "insights.no-app" | "billing.checkout-failed" | "billing.portal-failed" | "deploys.no-app" | "deploys.no-id" | "deploys.no-failed" | "restore.source-not-found" | "restore.timeout" | "restore.failed" | "restore.rolled-back" | "data-export.no-app" | "dashboard.no-app" | "dashboard.invalid-tab";
|
|
1
|
+
export type PercherCoreErrorCode = "init.exists" | "push.no-config-generated" | "push.cancelled" | "push.placeholder-env" | "push.too-large" | "push.suspicious" | "push.deploy-failed" | "push.deploy-timeout" | "push.quota-exceeded" | "push.already-in-progress" | "push.retry-limit-reached" | "logs.no-app" | "env.no-app" | "open.no-app" | "login.expired" | "login.rejected" | "doctor.no-app" | "doctor.api-unreachable" | "dev.no-app" | "data.no-app" | "create.invalid-template" | "create.dir-not-empty" | "create.failed" | "delete.confirmation-required" | "delete.acknowledgement-mismatch" | "account.delete.confirmation-required" | "diagnose.no-app" | "insights.no-app" | "topology.no-app" | "resources.no-app" | "billing.checkout-failed" | "billing.portal-failed" | "deploys.no-app" | "deploys.no-id" | "deploys.no-failed" | "restore.source-not-found" | "restore.timeout" | "restore.failed" | "restore.rolled-back" | "data-export.no-app" | "dashboard.no-app" | "dashboard.invalid-tab";
|
|
2
2
|
export interface PercherCoreErrorOptions {
|
|
3
3
|
code: PercherCoreErrorCode;
|
|
4
4
|
hint?: string;
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAC5B,aAAa,GACb,0BAA0B,GAC1B,gBAAgB,GAChB,sBAAsB,GACtB,gBAAgB,GAChB,iBAAiB,GACjB,oBAAoB,GACpB,qBAAqB,GACrB,qBAAqB,GACrB,0BAA0B,GAC1B,0BAA0B,GAC1B,aAAa,GACb,YAAY,GACZ,aAAa,GACb,eAAe,GACf,gBAAgB,GAChB,eAAe,GACf,wBAAwB,GACxB,YAAY,GACZ,aAAa,GACb,yBAAyB,GACzB,sBAAsB,GACtB,eAAe,GACf,8BAA8B,GAC9B,iCAAiC,GACjC,sCAAsC,GACtC,iBAAiB,GACjB,iBAAiB,GACjB,yBAAyB,GACzB,uBAAuB,GACvB,gBAAgB,GAChB,eAAe,GACf,mBAAmB,GACnB,0BAA0B,GAC1B,iBAAiB,GACjB,gBAAgB,GAChB,qBAAqB,GACrB,oBAAoB,GACpB,kBAAkB,GAClB,uBAAuB,CAAC;AAE5B,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAEhC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB;CAO9D"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAC5B,aAAa,GACb,0BAA0B,GAC1B,gBAAgB,GAChB,sBAAsB,GACtB,gBAAgB,GAChB,iBAAiB,GACjB,oBAAoB,GACpB,qBAAqB,GACrB,qBAAqB,GACrB,0BAA0B,GAC1B,0BAA0B,GAC1B,aAAa,GACb,YAAY,GACZ,aAAa,GACb,eAAe,GACf,gBAAgB,GAChB,eAAe,GACf,wBAAwB,GACxB,YAAY,GACZ,aAAa,GACb,yBAAyB,GACzB,sBAAsB,GACtB,eAAe,GACf,8BAA8B,GAC9B,iCAAiC,GACjC,sCAAsC,GACtC,iBAAiB,GACjB,iBAAiB,GACjB,iBAAiB,GACjB,kBAAkB,GAClB,yBAAyB,GACzB,uBAAuB,GACvB,gBAAgB,GAChB,eAAe,GACf,mBAAmB,GACnB,0BAA0B,GAC1B,iBAAiB,GACjB,gBAAgB,GAChB,qBAAqB,GACrB,oBAAoB,GACpB,kBAAkB,GAClB,uBAAuB,CAAC;AAE5B,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAEhC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB;CAO9D"}
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAwDA,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAChC,IAAI,CAAuB;IAC3B,IAAI,CAAU;IACd,QAAQ,CAA2B;IAE5C,YAAY,OAAe,EAAE,OAAgC;QAC3D,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACnC,CAAC;CACF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { DeployEvent } from "@percher/client";
|
|
2
|
+
/**
|
|
3
|
+
* Convert a DeployEvent row into a single line of CLI/MCP progress
|
|
4
|
+
* output. Returns `null` for rows that are intentionally hidden (e.g.
|
|
5
|
+
* `done/ok`, where the caller prints the final "live at <url>" line
|
|
6
|
+
* with full URL context the events table doesn't carry).
|
|
7
|
+
*
|
|
8
|
+
* The mapping is deliberately conservative: every line is short,
|
|
9
|
+
* past-tense for terminal `ok` rows, present-continuous for
|
|
10
|
+
* `started` rows. Sub-stage durations are appended in parens when
|
|
11
|
+
* available so the user sees real timings (`Image built (8.1s)`)
|
|
12
|
+
* instead of guessing whether the build is making progress.
|
|
13
|
+
*
|
|
14
|
+
* Phase 6.1 of the publish-resilience plan.
|
|
15
|
+
*/
|
|
16
|
+
export declare function renderDeployEvent(event: DeployEvent): string | null;
|
|
17
|
+
//# sourceMappingURL=event-renderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-renderer.d.ts","sourceRoot":"","sources":["../src/event-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CA4CnE"}
|