@percher/core 0.4.0 → 0.4.2
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 +70 -0
- package/dist/commands/alerts.d.ts.map +1 -0
- package/dist/commands/alerts.js +82 -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 +1 -1
- 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 +10 -35
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +12 -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 +6 -15
- package/dist/commands/export.d.ts.map +1 -1
- package/dist/commands/export.js +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 +358 -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 -2
- package/dist/commands/publish-failure.js.map +1 -1
- package/dist/commands/publish.d.ts +40 -17
- package/dist/commands/publish.d.ts.map +1 -1
- package/dist/commands/publish.js +115 -8
- 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 +2 -2
- 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 +2 -2
- 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 +2 -8
- package/dist/commands/rollback.d.ts.map +1 -1
- package/dist/commands/rollback.js +1 -1
- 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 +2 -6
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +1 -1
- package/dist/commands/status.js.map +1 -1
- 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 +1 -1
- 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.d.ts +8 -1
- package/dist/env-scan-source.d.ts.map +1 -1
- package/dist/env-scan-source.js +100 -24
- package/dist/env-scan-source.js.map +1 -1
- package/dist/error-classifier.d.ts +18 -1
- package/dist/error-classifier.d.ts.map +1 -1
- package/dist/error-classifier.js +171 -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/index.d.ts +64 -49
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +57 -42
- package/dist/index.js.map +1 -1
- package/dist/plans.d.ts +86 -8
- package/dist/plans.d.ts.map +1 -1
- package/dist/plans.js +113 -24
- package/dist/plans.js.map +1 -1
- package/dist/recovery.d.ts +73 -3
- package/dist/recovery.d.ts.map +1 -1
- package/dist/recovery.js +36 -0
- 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/tarball.js +1 -1
- 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 +6 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unsuspend.js","sourceRoot":"","sources":["../../src/commands/unsuspend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"unsuspend.js","sourceRoot":"","sources":["../../src/commands/unsuspend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC;CAC/D,CAAC,CAAC;AAYH;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,GAAY,EAAE,KAAqB;IACjE,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1D,OAAO;QACL,EAAE,EAAE,IAAI;QACR,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;YACrB,CAAC,CAAC,eAAe,MAAM,CAAC,GAAG,CAAC,IAAI,iIAAiI;YACjK,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,kCAAkC;KACzD,CAAC;AACJ,CAAC"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
import { z } from "zod
|
|
1
|
+
import { z } from "zod";
|
|
2
2
|
import type { Context } from "../context";
|
|
3
3
|
export declare const versionsInputSchema: z.ZodObject<{
|
|
4
4
|
app: z.ZodOptional<z.ZodString>;
|
|
5
|
-
},
|
|
6
|
-
app?: string | undefined;
|
|
7
|
-
}, {
|
|
8
|
-
app?: string | undefined;
|
|
9
|
-
}>;
|
|
5
|
+
}, z.core.$strip>;
|
|
10
6
|
export type VersionsInput = z.infer<typeof versionsInputSchema>;
|
|
11
7
|
export interface AppVersion {
|
|
12
8
|
sha: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../src/commands/versions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../src/commands/versions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C,eAAO,MAAM,mBAAmB;;iBAA2C,CAAC;AAC5E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,aAAkB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAS7F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versions.js","sourceRoot":"","sources":["../../src/commands/versions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"versions.js","sourceRoot":"","sources":["../../src/commands/versions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAS5E,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,GAAY,EAAE,QAAuB,EAAE;IACpE,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,gBAAgB,CAAC,4CAA4C,EAAE;YACvE,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,6DAA6D;SACpE,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -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;AAEvD,OAAO,EAAE,CAAC,EAAE,MAAM,
|
|
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,5 +1,5 @@
|
|
|
1
1
|
import { TIMEOUTS } from "@percher/shared/timeouts";
|
|
2
|
-
import { z } from "zod
|
|
2
|
+
import { z } from "zod";
|
|
3
3
|
import { RECOVERY_NONE, recoveryAsk, recoveryNone, recoveryWait, } from "../recovery";
|
|
4
4
|
import { classifyDeploymentFailure } from "./publish-failure";
|
|
5
5
|
export const waitForDeployInputSchema = z.object({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wait-deploy.js","sourceRoot":"","sources":["../../src/commands/wait-deploy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,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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"}
|
|
@@ -5,6 +5,13 @@
|
|
|
5
5
|
* Phase 6c uses these references to enforce the `[env]` contract in
|
|
6
6
|
* `percher.toml`: any static key not declared in `required`, `optional`, or
|
|
7
7
|
* `ignore` blocks the deploy with a `fix_config` problem.
|
|
8
|
+
*
|
|
9
|
+
* `static_with_default` is a relaxation of `static`: same syntactic shape
|
|
10
|
+
* but the source already supplies a fallback value, so the env-scan
|
|
11
|
+
* dashboard classifies these as "optional" instead of "required". The
|
|
12
|
+
* env-gate still treats `static_with_default` as `static` for the
|
|
13
|
+
* declared-keys check — if you reference a key (even with a fallback)
|
|
14
|
+
* you should still declare it so future readers know it's a knob.
|
|
8
15
|
*/
|
|
9
16
|
export interface EnvReference {
|
|
10
17
|
/** The env key referenced. Empty string when `shape` is `"dynamic"`. */
|
|
@@ -16,7 +23,7 @@ export interface EnvReference {
|
|
|
16
23
|
/** Verbatim source line (trimmed) for diagnostics. */
|
|
17
24
|
context: string;
|
|
18
25
|
/** Static (literal key) vs dynamic (e.g. `process.env[varName]`). */
|
|
19
|
-
shape: "static" | "dynamic";
|
|
26
|
+
shape: "static" | "static_with_default" | "dynamic";
|
|
20
27
|
}
|
|
21
28
|
export interface ScanOptions {
|
|
22
29
|
/** Optional list of relative paths to skip on top of the built-in defaults. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-scan-source.d.ts","sourceRoot":"","sources":["../src/env-scan-source.ts"],"names":[],"mappings":"AAGA
|
|
1
|
+
{"version":3,"file":"env-scan-source.d.ts","sourceRoot":"","sources":["../src/env-scan-source.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,YAAY;IAC3B,wEAAwE;IACxE,GAAG,EAAE,MAAM,CAAC;IACZ,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,KAAK,EAAE,QAAQ,GAAG,qBAAqB,GAAG,SAAS,CAAC;CACrD;AAED,MAAM,WAAW,WAAW;IAC1B,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAqXD;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,YAAY,EAAE,CAAC,CA+CzB"}
|
package/dist/env-scan-source.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { readdir, readFile, stat } from "node:fs/promises";
|
|
2
2
|
import { join, relative, sep } from "node:path";
|
|
3
3
|
/**
|
|
4
4
|
* Directories never scanned. Mirrors (a superset of) the tarball builder's
|
|
@@ -35,34 +35,33 @@ const SOURCE_EXTS = new Set([
|
|
|
35
35
|
".py",
|
|
36
36
|
]);
|
|
37
37
|
const DEFAULT_MAX_FILE_BYTES = 1024 * 1024;
|
|
38
|
-
/**
|
|
39
|
-
* Static patterns. Each pattern's first capture group (or first non-empty
|
|
40
|
-
* group, for the multi-quote alternation patterns) is the literal env key.
|
|
41
|
-
*
|
|
42
|
-
* Env-key shape inside the patterns: `[A-Za-z_][A-Za-z0-9_]*` — standard
|
|
43
|
-
* POSIX-ish identifier. Permissive on case to keep false negatives low; the
|
|
44
|
-
* Phase 6c gate enforces `UPPER_SNAKE_CASE` against the `[env]` contract.
|
|
45
|
-
*
|
|
46
|
-
* Word-boundary discipline:
|
|
47
|
-
* - `(?<![A-Za-z0-9_$])` (negative lookbehind) prevents `myprocess.env.KEY`
|
|
48
|
-
* or `xprocess.env.KEY` from matching.
|
|
49
|
-
* - The class includes `$` because JS identifiers can contain `$`.
|
|
50
|
-
* - For dot access, `(?![A-Za-z0-9_])` after the key prevents trailing-name
|
|
51
|
-
* confusion (defence in depth — the captured group is greedy on
|
|
52
|
-
* identifier chars so this is mostly belt-and-braces).
|
|
53
|
-
*/
|
|
54
38
|
const STATIC_PATTERNS = [
|
|
55
39
|
// process.env.KEY | Bun.env.KEY | import.meta.env.KEY
|
|
56
|
-
|
|
40
|
+
{
|
|
41
|
+
re: /(?<![A-Za-z0-9_$])(?:process\.env|Bun\.env|import\.meta\.env)\.([A-Za-z_][A-Za-z0-9_]*)(?![A-Za-z0-9_])/g,
|
|
42
|
+
kind: "js-after",
|
|
43
|
+
},
|
|
57
44
|
// process.env["KEY"] | process.env['KEY'] | Bun.env["KEY"] | Bun.env['KEY']
|
|
58
|
-
|
|
45
|
+
{
|
|
46
|
+
re: /(?<![A-Za-z0-9_$])(?:process\.env|Bun\.env)\[\s*(?:"([A-Za-z_][A-Za-z0-9_]*)"|'([A-Za-z_][A-Za-z0-9_]*)')\s*\]/g,
|
|
47
|
+
kind: "js-after",
|
|
48
|
+
},
|
|
59
49
|
// Deno.env.get("KEY") | Deno.env.get('KEY')
|
|
60
|
-
|
|
50
|
+
{
|
|
51
|
+
re: /(?<![A-Za-z0-9_$])Deno\.env\.get\(\s*(?:"([A-Za-z_][A-Za-z0-9_]*)"|'([A-Za-z_][A-Za-z0-9_]*)')\s*\)/g,
|
|
52
|
+
kind: "js-after",
|
|
53
|
+
},
|
|
61
54
|
// Python: os.environ.get("KEY") | os.environ.get('KEY')
|
|
62
55
|
// os.getenv("KEY") | os.getenv('KEY')
|
|
63
|
-
|
|
56
|
+
{
|
|
57
|
+
re: /(?<![A-Za-z0-9_])os\.(?:environ\.get|getenv)\(\s*(?:"([A-Za-z_][A-Za-z0-9_]*)"|'([A-Za-z_][A-Za-z0-9_]*)')\s*[,)]/g,
|
|
58
|
+
kind: "py-getenv",
|
|
59
|
+
},
|
|
64
60
|
// Python: os.environ["KEY"] | os.environ['KEY']
|
|
65
|
-
|
|
61
|
+
{
|
|
62
|
+
re: /(?<![A-Za-z0-9_])os\.environ\[\s*(?:"([A-Za-z_][A-Za-z0-9_]*)"|'([A-Za-z_][A-Za-z0-9_]*)')\s*\]/g,
|
|
63
|
+
kind: "py-bracket",
|
|
64
|
+
},
|
|
66
65
|
];
|
|
67
66
|
/**
|
|
68
67
|
* Dynamic patterns — bracketed access where the argument is NOT a string
|
|
@@ -82,6 +81,71 @@ const DYNAMIC_PATTERNS = [
|
|
|
82
81
|
// Python: os.environ.get(<expr>) | os.getenv(<expr>)
|
|
83
82
|
{ re: /(?<![A-Za-z0-9_])os\.(?:environ\.get|getenv)\(\s*([^,)]+?)\s*[,)]/g, argGroup: 1 },
|
|
84
83
|
];
|
|
84
|
+
/**
|
|
85
|
+
* Detects whether a JS-style static env reference is followed by an
|
|
86
|
+
* inline default (`||`, `??`, or a ternary `?` with `process.env.X` as
|
|
87
|
+
* the condition). Called with the slice of `code` starting immediately
|
|
88
|
+
* after the matched `process.env.KEY` / `Bun.env.KEY` / `Deno.env.get()`
|
|
89
|
+
* span.
|
|
90
|
+
*
|
|
91
|
+
* Heuristic — false negatives preferred over false positives:
|
|
92
|
+
*
|
|
93
|
+
* process.env.KEY || "default" → true (logical-or default)
|
|
94
|
+
* process.env.KEY ?? "default" → true (nullish-coalescing)
|
|
95
|
+
* process.env.KEY ? a : b → true (ternary; whatever the
|
|
96
|
+
* branches do, the code
|
|
97
|
+
* already handles the
|
|
98
|
+
* "unset" case)
|
|
99
|
+
* process.env.KEY.split(",") → false (chained method call;
|
|
100
|
+
* throws if KEY is unset)
|
|
101
|
+
* process.env.KEY; → false (bare reference)
|
|
102
|
+
*
|
|
103
|
+
* Optional-chaining alone (`process.env.KEY?.split(",")`) is NOT a default:
|
|
104
|
+
* `?.` short-circuits to `undefined`, and downstream code that consumes that
|
|
105
|
+
* `undefined` can still crash or misbehave. We only count it as a default
|
|
106
|
+
* when an actual fallback (`||` / `??`) appears later in the look-ahead
|
|
107
|
+
* window — e.g. `process.env.KEY?.split(",") || []`.
|
|
108
|
+
*/
|
|
109
|
+
function hasJsDefaultAfter(after) {
|
|
110
|
+
// Skip leading whitespace within the look-ahead window.
|
|
111
|
+
let i = 0;
|
|
112
|
+
while (i < after.length && (after.charCodeAt(i) === 0x20 || after.charCodeAt(i) === 0x09)) {
|
|
113
|
+
i += 1;
|
|
114
|
+
}
|
|
115
|
+
if (i >= after.length)
|
|
116
|
+
return false;
|
|
117
|
+
const a = after[i];
|
|
118
|
+
const b = after[i + 1];
|
|
119
|
+
// `||` or `??` — real fallback.
|
|
120
|
+
if ((a === "|" && b === "|") || (a === "?" && b === "?"))
|
|
121
|
+
return true;
|
|
122
|
+
// `?.` is optional chaining, not a default. Scan the rest of the look-ahead
|
|
123
|
+
// window for an actual `||` / `??` further down the expression. We do not
|
|
124
|
+
// track paren/bracket balance precisely; in the rare case the fallback
|
|
125
|
+
// belongs to a sibling expression we'd over-count, but the bias is toward
|
|
126
|
+
// "has fallback" only when one is textually present.
|
|
127
|
+
if (a === "?" && b === ".") {
|
|
128
|
+
const rest = after.slice(i + 2);
|
|
129
|
+
return /\|\||\?\?/.test(rest);
|
|
130
|
+
}
|
|
131
|
+
// Bare `?` is a ternary — both branches define values, so it acts as a
|
|
132
|
+
// default in the same sense as `||` / `??`.
|
|
133
|
+
if (a === "?")
|
|
134
|
+
return true;
|
|
135
|
+
return false;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Detects whether a Python `os.getenv("KEY", ...)` /
|
|
139
|
+
* `os.environ.get("KEY", ...)` call passed a second argument.
|
|
140
|
+
*
|
|
141
|
+
* Called with the matched span from the regex; the patterns terminate on
|
|
142
|
+
* `[,)]`, so `m[0]` ending with `,` means the source had a second
|
|
143
|
+
* argument (the default). `os.environ["KEY"]` has no default form and
|
|
144
|
+
* never reaches this helper.
|
|
145
|
+
*/
|
|
146
|
+
function pythonGetenvHasDefault(matchSpan) {
|
|
147
|
+
return matchSpan.endsWith(",");
|
|
148
|
+
}
|
|
85
149
|
/**
|
|
86
150
|
* True iff the bracket/argument expression is a plain quoted string literal
|
|
87
151
|
* with no interpolation. Backtick template literals containing `${...}` are
|
|
@@ -214,7 +278,7 @@ function extractFromSource(source, relPath, isPython) {
|
|
|
214
278
|
// same span (a static `process.env["KEY"]` would also match the dynamic
|
|
215
279
|
// bracket pattern, so we record the static keys and let dynamic skip
|
|
216
280
|
// arguments that are string literals).
|
|
217
|
-
for (const re of STATIC_PATTERNS) {
|
|
281
|
+
for (const { re, kind } of STATIC_PATTERNS) {
|
|
218
282
|
re.lastIndex = 0;
|
|
219
283
|
let m;
|
|
220
284
|
// biome-ignore lint/suspicious/noAssignInExpressions: standard regex exec loop
|
|
@@ -233,12 +297,24 @@ function extractFromSource(source, relPath, isPython) {
|
|
|
233
297
|
if (seen.has(dedup))
|
|
234
298
|
continue;
|
|
235
299
|
seen.add(dedup);
|
|
300
|
+
let hasDefault = false;
|
|
301
|
+
if (kind === "js-after") {
|
|
302
|
+
// Look at the slice immediately after the match for an inline
|
|
303
|
+
// fallback. 200 chars is plenty for `|| "default"` / `?? x` and
|
|
304
|
+
// bounds the worst case on a long minified line.
|
|
305
|
+
const after = code.slice(m.index + m[0].length, m.index + m[0].length + 200);
|
|
306
|
+
hasDefault = hasJsDefaultAfter(after);
|
|
307
|
+
}
|
|
308
|
+
else if (kind === "py-getenv") {
|
|
309
|
+
hasDefault = pythonGetenvHasDefault(m[0]);
|
|
310
|
+
}
|
|
311
|
+
// py-bracket has no default form; hasDefault stays false.
|
|
236
312
|
refs.push({
|
|
237
313
|
key,
|
|
238
314
|
file: relPath,
|
|
239
315
|
line: lineNo,
|
|
240
316
|
context,
|
|
241
|
-
shape: "static",
|
|
317
|
+
shape: hasDefault ? "static_with_default" : "static",
|
|
242
318
|
});
|
|
243
319
|
}
|
|
244
320
|
}
|
|
@@ -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,4 +1,21 @@
|
|
|
1
|
-
|
|
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
|
+
*/
|
|
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" | "platform_at_capacity";
|
|
2
19
|
export type DeployPhase = "build" | "start" | "health_check" | "config" | "infra";
|
|
3
20
|
export interface ClassifiedError {
|
|
4
21
|
title: string;
|
|
@@ -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;
|
|
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,GAOnB,sBAAsB,CAAC;AAE3B,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;AA6cD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CA2B7F"}
|