@percher/core 0.2.2 → 0.2.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.
Files changed (82) hide show
  1. package/dist/commands/billing.d.ts +43 -0
  2. package/dist/commands/billing.d.ts.map +1 -0
  3. package/dist/commands/billing.js +65 -0
  4. package/dist/commands/billing.js.map +1 -0
  5. package/dist/commands/data.d.ts +10 -0
  6. package/dist/commands/data.d.ts.map +1 -1
  7. package/dist/commands/data.js +33 -3
  8. package/dist/commands/data.js.map +1 -1
  9. package/dist/commands/delete.d.ts +15 -0
  10. package/dist/commands/delete.d.ts.map +1 -0
  11. package/dist/commands/delete.js +26 -0
  12. package/dist/commands/delete.js.map +1 -0
  13. package/dist/commands/deploys.d.ts +45 -0
  14. package/dist/commands/deploys.d.ts.map +1 -0
  15. package/dist/commands/deploys.js +73 -0
  16. package/dist/commands/deploys.js.map +1 -0
  17. package/dist/commands/diagnose.d.ts +75 -0
  18. package/dist/commands/diagnose.d.ts.map +1 -0
  19. package/dist/commands/diagnose.js +102 -0
  20. package/dist/commands/diagnose.js.map +1 -0
  21. package/dist/commands/doctor.d.ts.map +1 -1
  22. package/dist/commands/doctor.js +58 -13
  23. package/dist/commands/doctor.js.map +1 -1
  24. package/dist/commands/export.d.ts +39 -0
  25. package/dist/commands/export.d.ts.map +1 -0
  26. package/dist/commands/export.js +107 -0
  27. package/dist/commands/export.js.map +1 -0
  28. package/dist/commands/import-project.d.ts +21 -0
  29. package/dist/commands/import-project.d.ts.map +1 -0
  30. package/dist/commands/import-project.js +134 -0
  31. package/dist/commands/import-project.js.map +1 -0
  32. package/dist/commands/insights.d.ts +44 -0
  33. package/dist/commands/insights.d.ts.map +1 -0
  34. package/dist/commands/insights.js +54 -0
  35. package/dist/commands/insights.js.map +1 -0
  36. package/dist/commands/mcp.d.ts +29 -0
  37. package/dist/commands/mcp.d.ts.map +1 -0
  38. package/dist/commands/mcp.js +35 -0
  39. package/dist/commands/mcp.js.map +1 -0
  40. package/dist/commands/publish.d.ts +35 -1
  41. package/dist/commands/publish.d.ts.map +1 -1
  42. package/dist/commands/publish.js +163 -9
  43. package/dist/commands/publish.js.map +1 -1
  44. package/dist/commands/push.d.ts.map +1 -1
  45. package/dist/commands/push.js +8 -4
  46. package/dist/commands/push.js.map +1 -1
  47. package/dist/commands/rename.d.ts +21 -0
  48. package/dist/commands/rename.d.ts.map +1 -0
  49. package/dist/commands/rename.js +18 -0
  50. package/dist/commands/rename.js.map +1 -0
  51. package/dist/commands/reset-superuser.d.ts +16 -0
  52. package/dist/commands/reset-superuser.d.ts.map +1 -0
  53. package/dist/commands/reset-superuser.js +17 -0
  54. package/dist/commands/reset-superuser.js.map +1 -0
  55. package/dist/error-classifier.d.ts +16 -0
  56. package/dist/error-classifier.d.ts.map +1 -1
  57. package/dist/error-classifier.js +135 -3
  58. package/dist/error-classifier.js.map +1 -1
  59. package/dist/errors.d.ts +1 -1
  60. package/dist/errors.d.ts.map +1 -1
  61. package/dist/errors.js.map +1 -1
  62. package/dist/index.d.ts +14 -3
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +14 -3
  65. package/dist/index.js.map +1 -1
  66. package/dist/integrations.d.ts +24 -0
  67. package/dist/integrations.d.ts.map +1 -0
  68. package/dist/integrations.js +106 -0
  69. package/dist/integrations.js.map +1 -0
  70. package/dist/plans.d.ts +43 -0
  71. package/dist/plans.d.ts.map +1 -1
  72. package/dist/plans.js +83 -1
  73. package/dist/plans.js.map +1 -1
  74. package/dist/qr.d.ts +5 -0
  75. package/dist/qr.d.ts.map +1 -0
  76. package/dist/qr.js +10 -0
  77. package/dist/qr.js.map +1 -0
  78. package/dist/templates.d.ts +24 -0
  79. package/dist/templates.d.ts.map +1 -1
  80. package/dist/templates.js +331 -0
  81. package/dist/templates.js.map +1 -1
  82. package/package.json +1 -1
@@ -1,14 +1,21 @@
1
1
  import { type App, type Deployment } from "@percher/client";
2
2
  import { z } from "zod";
3
3
  import type { Context } from "../context";
4
+ import { type DeployPhase, type ErrorClass } from "../error-classifier";
4
5
  export declare const publishInputSchema: z.ZodObject<{
5
6
  force: z.ZodOptional<z.ZodBoolean>;
6
7
  preview: z.ZodOptional<z.ZodBoolean>;
8
+ message: z.ZodOptional<z.ZodString>;
9
+ dryRun: z.ZodOptional<z.ZodBoolean>;
7
10
  }, "strip", z.ZodTypeAny, {
11
+ message?: string | undefined;
8
12
  force?: boolean | undefined;
13
+ dryRun?: boolean | undefined;
9
14
  preview?: boolean | undefined;
10
15
  }, {
16
+ message?: string | undefined;
11
17
  force?: boolean | undefined;
18
+ dryRun?: boolean | undefined;
12
19
  preview?: boolean | undefined;
13
20
  }>;
14
21
  export type PublishInput = z.infer<typeof publishInputSchema>;
@@ -23,10 +30,31 @@ export interface PublishError {
23
30
  explanation: string;
24
31
  suggestion: string;
25
32
  buildLogTail?: string;
33
+ /**
34
+ * Raw deployment.errorMessage from the API, surfaced separately so the
35
+ * CLI can show the *exact* upstream string (e.g. "Worker /deployer/run
36
+ * failed (502): upstream timeout after 30s") even when classifyError has
37
+ * already replaced it with a friendlier title/explanation. Only useful
38
+ * when distinct from `explanation` — otherwise we'd just print the same
39
+ * thing twice. The CLI is responsible for deciding when to show it.
40
+ */
41
+ rawErrorMessage?: string;
42
+ /** Machine-readable error class for agent consumption */
43
+ errorClass?: ErrorClass;
44
+ /** Deploy phase where the error occurred */
45
+ phase?: DeployPhase;
46
+ /** Specific cause within the error class */
47
+ cause?: string;
48
+ /** Files the user should check to fix the error */
49
+ relevantFiles?: string[];
50
+ /** Env vars that appear to be missing */
51
+ missingEnvVars?: string[];
26
52
  }
27
53
  export interface PublishResult {
28
- status: "live" | "failed" | "needs_login";
54
+ status: "live" | "failed" | "needs_login" | "dry_run";
29
55
  url?: string;
56
+ /** QR code data URI for the live/preview URL (PNG, for MCP/dashboard use) */
57
+ qrDataUri?: string;
30
58
  loginUrl?: string;
31
59
  loginCode?: string;
32
60
  app?: App;
@@ -35,6 +63,12 @@ export interface PublishResult {
35
63
  error?: PublishError;
36
64
  fileCount: number;
37
65
  bytes: number;
66
+ /**
67
+ * True when this preview deploy auto-replaced an existing one
68
+ * (free plan only — single-slot preview cap rotates the oldest
69
+ * out instead of returning 403).
70
+ */
71
+ replacedPreview?: boolean;
38
72
  }
39
73
  /**
40
74
  * All-in-one publish command for AI agents.
@@ -1 +1 @@
1
- {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,UAAU,EAAkC,MAAM,iBAAiB,CAAC;AAE5F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAM1C,eAAO,MAAM,kBAAkB;;;;;;;;;EAG7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,aAAa,CAAC;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAMD;;;;;;GAMG;AACH,wBAAsB,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,YAAiB,GAAG,OAAO,CAAC,aAAa,CAAC,CAqB5F"}
1
+ {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,UAAU,EAAkC,MAAM,iBAAiB,CAAC;AAE5F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAiB,MAAM,qBAAqB,CAAC;AAKvF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;EAa7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yDAAyD;IACzD,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,yCAAyC;IACzC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,aAAa,GAAG,SAAS,CAAC;IACtD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAMD;;;;;;GAMG;AACH,wBAAsB,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,YAAiB,GAAG,OAAO,CAAC,aAAa,CAAC,CAqB5F"}
@@ -1,4 +1,4 @@
1
- import { existsSync } from "node:fs";
1
+ import { existsSync, readFileSync } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  import { PercherApiError, PercherClient } from "@percher/client";
4
4
  import { parseFile } from "@percher/toml";
@@ -10,6 +10,14 @@ import { login } from "./login";
10
10
  export const publishInputSchema = z.object({
11
11
  force: z.boolean().optional().describe("Skip size warnings"),
12
12
  preview: z.boolean().optional().describe("Deploy as preview (does not replace the live version)"),
13
+ message: z
14
+ .string()
15
+ .optional()
16
+ .describe("Deploy note (visible in deploy history and version timeline)"),
17
+ dryRun: z
18
+ .boolean()
19
+ .optional()
20
+ .describe("Show what would be deployed (file count, bytes, top files) without uploading or building. Useful for verifying the bundle before a real deploy."),
13
21
  });
14
22
  const MAX_BYTES = 500 * 1024 * 1024;
15
23
  const SUSPICIOUS_BYTES = 50 * 1024 * 1024;
@@ -79,6 +87,24 @@ async function publishInner(ctx, input) {
79
87
  if (!input.force && (tarball.fileCount > SUSPICIOUS_FILES || tarball.bytes > SUSPICIOUS_BYTES)) {
80
88
  ctx.status(`Warning: ${tarball.fileCount} files, ${(tarball.bytes / 1024 / 1024).toFixed(1)} MB — auto-continuing (MCP mode).`);
81
89
  }
90
+ // Pre-flight summary so the user/agent sees what's about to be deployed
91
+ // *before* the upload eats time. Surfaces the resolved framework + Node
92
+ // pin + commands so a wrong autodetect is visible up-front, not 90s
93
+ // into a building... loop.
94
+ emitPreflight(ctx, config, {
95
+ fileCount: tarball.fileCount,
96
+ bytes: tarball.bytes,
97
+ cwd: ctx.cwd,
98
+ });
99
+ // Dry-run short-circuits *before* auth and upload so an agent can verify
100
+ // the bundle without consuming a deploy slot or hitting the API.
101
+ if (input.dryRun) {
102
+ return {
103
+ status: "dry_run",
104
+ fileCount: tarball.fileCount,
105
+ bytes: tarball.bytes,
106
+ };
107
+ }
82
108
  // ── 3. Auth + ensure app ───────────────────────────────────────────
83
109
  let app;
84
110
  try {
@@ -96,13 +122,24 @@ async function publishInner(ctx, input) {
96
122
  let deployment = await ctx.client.apps.deploy(app.id, {
97
123
  tarball: tarball.stream,
98
124
  type: input.preview ? "preview" : undefined,
125
+ note: input.message,
99
126
  });
127
+ // Surface the auto-replace one-shot signal — only the initial POST
128
+ // response carries it, so capture before the polling loop reassigns
129
+ // `deployment` from getDeployment() (which never sees the flag).
130
+ const replacedPreview = deployment.replacedPreview === true;
131
+ if (replacedPreview) {
132
+ ctx.status("Replaced previous preview...");
133
+ }
100
134
  const uploadMs = Date.now() - uploadStart;
101
135
  // ── 5. Poll ────────────────────────────────────────────────────────
102
136
  const buildStart = Date.now();
103
137
  const timeoutMs = 5 * 60 * 1000;
138
+ let lastStatus;
139
+ let nextHeartbeatMs = 15_000;
104
140
  while (deployment.status !== "live" && deployment.status !== "failed") {
105
- if (Date.now() - buildStart > timeoutMs) {
141
+ const elapsedMs = Date.now() - buildStart;
142
+ if (elapsedMs > timeoutMs) {
106
143
  return {
107
144
  status: "failed",
108
145
  app,
@@ -116,7 +153,20 @@ async function publishInner(ctx, input) {
116
153
  },
117
154
  };
118
155
  }
119
- ctx.status(`${deployment.status}...`);
156
+ // Only emit when the status actually changes, or every ~15s as a
157
+ // heartbeat with elapsed time. The previous loop printed
158
+ // "building..." every 2s for 90s on a Next.js cold build, which is
159
+ // 45 lines of zero signal. One change-event + occasional heartbeat
160
+ // is far easier to read.
161
+ if (deployment.status !== lastStatus) {
162
+ ctx.status(`${deployment.status}...`);
163
+ lastStatus = deployment.status;
164
+ nextHeartbeatMs = elapsedMs + 15_000;
165
+ }
166
+ else if (elapsedMs >= nextHeartbeatMs) {
167
+ ctx.status(`${deployment.status}... (${Math.round(elapsedMs / 1000)}s elapsed)`);
168
+ nextHeartbeatMs = elapsedMs + 15_000;
169
+ }
120
170
  await new Promise((r) => setTimeout(r, 2000));
121
171
  deployment = await ctx.client.apps.getDeployment(app.id, deployment.id);
122
172
  }
@@ -133,9 +183,21 @@ async function publishInner(ctx, input) {
133
183
  const totalSeconds = (Date.now() - t0) / 1000;
134
184
  const url = deployment.previewUrl ?? deployment.url ?? app.url;
135
185
  ctx.status(`Live at ${url} (${totalSeconds.toFixed(0)}s)`);
186
+ // Generate QR code for the URL (useful for mobile testing of previews)
187
+ let qrDataUri;
188
+ if (url) {
189
+ try {
190
+ const { qrToDataUri } = await import("../qr");
191
+ qrDataUri = await qrToDataUri(url);
192
+ }
193
+ catch {
194
+ /* non-critical */
195
+ }
196
+ }
136
197
  return {
137
198
  status: "live",
138
199
  url,
200
+ qrDataUri,
139
201
  app,
140
202
  deployment,
141
203
  timing: {
@@ -146,6 +208,7 @@ async function publishInner(ctx, input) {
146
208
  },
147
209
  fileCount: tarball.fileCount,
148
210
  bytes: tarball.bytes,
211
+ replacedPreview,
149
212
  };
150
213
  }
151
214
  async function handleUnauthorized(ctx, config, tarball) {
@@ -263,34 +326,125 @@ async function ensureApp(ctx, config) {
263
326
  throw err;
264
327
  }
265
328
  }
329
+ /**
330
+ * Resolve which Node version will be used by the build, in priority order:
331
+ * 1. user `.nvmrc` (literal contents trimmed)
332
+ * 2. user `engines.node` from package.json
333
+ * 3. server-side default ("Node 22 LTS" — kept in sync with
334
+ * packages/api/src/nixpacks/build.ts:DEFAULT_NODE_VERSION)
335
+ * Returns null when this isn't a Node project (no package.json + no .nvmrc).
336
+ */
337
+ function resolveNodeVersion(cwd) {
338
+ const nvmrc = join(cwd, ".nvmrc");
339
+ if (existsSync(nvmrc)) {
340
+ try {
341
+ const v = readFileSync(nvmrc, "utf8").trim();
342
+ if (v)
343
+ return { value: v, source: ".nvmrc" };
344
+ }
345
+ catch {
346
+ /* fall through */
347
+ }
348
+ }
349
+ const pkgPath = join(cwd, "package.json");
350
+ if (!existsSync(pkgPath))
351
+ return null;
352
+ try {
353
+ const pkg = JSON.parse(readFileSync(pkgPath, "utf8"));
354
+ const engines = pkg?.engines?.node;
355
+ if (typeof engines === "string" && engines.length > 0) {
356
+ return { value: engines, source: "engines.node" };
357
+ }
358
+ }
359
+ catch {
360
+ /* fall through */
361
+ }
362
+ return { value: "22 LTS", source: "default" };
363
+ }
364
+ function emitPreflight(ctx, config, tarball) {
365
+ const lines = [];
366
+ const fw = config.app.framework ?? (config.app.runtime === "docker" ? "Dockerfile" : config.app.runtime);
367
+ lines.push(`Detected: ${fw} (runtime=${config.app.runtime})`);
368
+ if (config.app.runtime === "node" || config.app.runtime === "bun") {
369
+ const node = resolveNodeVersion(tarball.cwd);
370
+ if (node) {
371
+ lines.push(`Node: ${node.value} (${node.source})`);
372
+ }
373
+ }
374
+ if (config.build?.command) {
375
+ lines.push(`Build: ${config.build.command}`);
376
+ }
377
+ if (config.web?.health) {
378
+ lines.push(`Health: ${config.web.health}`);
379
+ }
380
+ if (config.web?.port) {
381
+ lines.push(`Port: ${config.web.port}`);
382
+ }
383
+ const sizeKb = (tarball.bytes / 1024).toFixed(1);
384
+ lines.push(`Bundle: ${tarball.fileCount} files, ${sizeKb} KB`);
385
+ lines.push(`Target: ${config.app.name}`);
386
+ for (const line of lines) {
387
+ ctx.status(line);
388
+ }
389
+ }
266
390
  async function buildFailureResult(opts) {
267
391
  const { ctx, app, deployment, tarball } = opts;
268
- // Try to fetch build log for diagnosis
392
+ // Try to fetch build log for diagnosis. Pre-build infra failures (worker
393
+ // unreachable, nixpacks couldn't fetch from cache, tarball extraction
394
+ // crashed) leave buildLog empty — we have to fall back to the deployment's
395
+ // top-level errorMessage so the user isn't left staring at "see the log
396
+ // below" with nothing below it.
269
397
  let buildLogTail;
270
- let classified = null;
398
+ let fullLog = "";
271
399
  try {
272
- const fullLog = await ctx.client.apps.getBuildLog(app.id, deployment.id);
400
+ fullLog = await ctx.client.apps.getBuildLog(app.id, deployment.id);
273
401
  if (fullLog) {
274
402
  const lines = fullLog.split("\n");
275
403
  buildLogTail = lines.slice(-50).join("\n");
276
- classified = classifyError("Deployment failed", fullLog);
277
404
  }
278
405
  }
279
406
  catch {
280
407
  // Build log fetch can fail — that's fine, we still have a basic error
281
408
  }
409
+ const errorMessage = deployment.errorMessage ?? "";
410
+ // Classify against the build log first (post-build failures are richer),
411
+ // then against errorMessage as a fallback for the pre-build / infra case.
412
+ const classified = classifyError("Deployment failed", fullLog) ?? classifyError(errorMessage, "");
413
+ // Always preserve the raw upstream string when we have one and there's
414
+ // no build log to anchor to. The classifier replaces it with a friendly
415
+ // template, but the actual error often carries the load-bearing detail
416
+ // (port number, hostname, HTTP status) that support needs to debug.
417
+ // Skip when it would just duplicate the explanation we're about to print.
418
+ const rawErrorMessage = errorMessage && !buildLogTail && !classified?.explanation.includes(errorMessage)
419
+ ? errorMessage
420
+ : undefined;
282
421
  const error = classified
283
422
  ? {
284
423
  title: classified.title,
285
424
  explanation: classified.explanation,
286
425
  suggestion: classified.suggestion,
287
426
  buildLogTail,
427
+ rawErrorMessage,
428
+ errorClass: classified.errorClass,
429
+ phase: classified.phase,
430
+ cause: classified.cause,
431
+ relevantFiles: classified.relevantFiles,
432
+ missingEnvVars: classified.missingEnvVars,
288
433
  }
289
434
  : {
290
435
  title: "Deployment failed",
291
- explanation: "The deployment failed. See the build log for details.",
292
- suggestion: "Check the build log below for errors. Run your build command locally to reproduce, fix, and publish again.",
436
+ explanation: errorMessage
437
+ ? `The deployment failed: ${errorMessage}`
438
+ : "The deployment failed. See the build log for details.",
439
+ suggestion: buildLogTail
440
+ ? "Check the build log below for errors. Run your build command locally to reproduce, fix, and publish again."
441
+ : "No build log was produced — the failure happened before the build started. Run percher publish again; if it keeps failing with the same message, contact support.",
293
442
  buildLogTail,
443
+ errorClass: "build_failed",
444
+ phase: "build",
445
+ cause: "unknown",
446
+ relevantFiles: [],
447
+ missingEnvVars: [],
294
448
  };
295
449
  return {
296
450
  status: "failed",
@@ -1 +1 @@
1
- {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,UAAU,EAAkC,MAAM,iBAAiB,CAAC;AAE5F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAM1C,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;EAM1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,GAAG,CAAC;IACT,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AA4ED,wBAAsB,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,SAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAqHnF"}
1
+ {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,UAAU,EAAkC,MAAM,iBAAiB,CAAC;AAE5F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAM1C,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;EAM1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,GAAG,CAAC;IACT,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AA4ED,wBAAsB,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,SAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAyHnF"}
@@ -148,9 +148,9 @@ export async function push(ctx, input = {}) {
148
148
  const startedAt = Date.now();
149
149
  while (deployment.status !== "live" && deployment.status !== "failed") {
150
150
  if (Date.now() - startedAt > timeoutMs) {
151
- throw new PercherCoreError("Deploy timed out", {
151
+ throw new PercherCoreError(`Deploy timed out (deploy ${deployment.id})`, {
152
152
  code: "push.deploy-timeout",
153
- hint: "Run `percher logs` to see what happened.",
153
+ hint: `Inspect with \`percher deploys inspect ${deployment.id}\` to see the build log and current status.`,
154
154
  });
155
155
  }
156
156
  ctx.status(`${deployment.status}...`);
@@ -158,9 +158,13 @@ export async function push(ctx, input = {}) {
158
158
  deployment = await ctx.client.apps.getDeployment(app.id, deployment.id);
159
159
  }
160
160
  if (deployment.status === "failed") {
161
- throw new PercherCoreError("Deployment failed", {
161
+ // Always surface the deploy ID + a concrete next-step command. Agents
162
+ // tend to reach for `push` over `publish` when debugging, so push
163
+ // needs the same diagnosis affordances publish has.
164
+ const errorDetail = deployment.errorMessage ? `\n${deployment.errorMessage}` : "";
165
+ throw new PercherCoreError(`Deployment failed (deploy ${deployment.id})${errorDetail}`, {
162
166
  code: "push.deploy-failed",
163
- hint: "Run `percher logs` to see what went wrong.",
167
+ hint: `Run \`percher deploys inspect ${deployment.id}\` to see the full build log and error. ${deployment.errorMessage ? "Fix the issue above and re-run." : "Look for the failing step in the build log."}`,
164
168
  });
165
169
  }
166
170
  const totalSec = ((Date.now() - startedAt) / 1000).toFixed(0);
@@ -1 +1 @@
1
- {"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { z } from "zod";
2
+ import type { Context } from "../context";
3
+ export declare const renameInputSchema: z.ZodObject<{
4
+ app: z.ZodOptional<z.ZodString>;
5
+ name: z.ZodString;
6
+ }, "strip", z.ZodTypeAny, {
7
+ name: string;
8
+ app?: string | undefined;
9
+ }, {
10
+ name: string;
11
+ app?: string | undefined;
12
+ }>;
13
+ export type RenameInput = z.infer<typeof renameInputSchema>;
14
+ export interface RenameResult {
15
+ name: string;
16
+ url: string;
17
+ previousName: string;
18
+ cooldownDays: number;
19
+ }
20
+ export declare function rename(ctx: Context, input: RenameInput): Promise<RenameResult>;
21
+ //# sourceMappingURL=rename.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rename.d.ts","sourceRoot":"","sources":["../../src/commands/rename.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C,eAAO,MAAM,iBAAiB;;;;;;;;;EAG5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CASpF"}
@@ -0,0 +1,18 @@
1
+ import { z } from "zod";
2
+ import { readPercherTomlAppName } from "../app-name";
3
+ import { PercherCoreError } from "../errors";
4
+ export const renameInputSchema = z.object({
5
+ app: z.string().optional(),
6
+ name: z.string().min(3).max(40),
7
+ });
8
+ export async function rename(ctx, input) {
9
+ const appRef = input.app ?? readPercherTomlAppName(ctx.cwd);
10
+ if (!appRef) {
11
+ throw new PercherCoreError("No app specified and no percher.toml found", {
12
+ code: "open.no-app",
13
+ hint: "Pass an app name or run from a directory with percher.toml.",
14
+ });
15
+ }
16
+ return ctx.client.apps.rename(appRef, input.name);
17
+ }
18
+ //# sourceMappingURL=rename.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rename.js","sourceRoot":"","sources":["../../src/commands/rename.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,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;CAChC,CAAC,CAAC;AAUH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,GAAY,EAAE,KAAkB;IAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,IAAI,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,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,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;AACpD,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { z } from "zod";
2
+ import type { Context } from "../context";
3
+ export declare const resetSuperuserInputSchema: z.ZodObject<{
4
+ app: z.ZodOptional<z.ZodString>;
5
+ }, "strip", z.ZodTypeAny, {
6
+ app?: string | undefined;
7
+ }, {
8
+ app?: string | undefined;
9
+ }>;
10
+ export type ResetSuperuserInput = z.infer<typeof resetSuperuserInputSchema>;
11
+ export interface ResetSuperuserResult {
12
+ message: string;
13
+ email: string;
14
+ }
15
+ export declare function resetSuperuser(ctx: Context, input?: ResetSuperuserInput): Promise<ResetSuperuserResult>;
16
+ //# sourceMappingURL=reset-superuser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reset-superuser.d.ts","sourceRoot":"","sources":["../../src/commands/reset-superuser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C,eAAO,MAAM,yBAAyB;;;;;;EAEpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,cAAc,CAClC,GAAG,EAAE,OAAO,EACZ,KAAK,GAAE,mBAAwB,GAC9B,OAAO,CAAC,oBAAoB,CAAC,CAS/B"}
@@ -0,0 +1,17 @@
1
+ import { z } from "zod";
2
+ import { readPercherTomlAppName } from "../app-name";
3
+ import { PercherCoreError } from "../errors";
4
+ export const resetSuperuserInputSchema = z.object({
5
+ app: z.string().optional(),
6
+ });
7
+ export async function resetSuperuser(ctx, input = {}) {
8
+ const appRef = input.app ?? readPercherTomlAppName(ctx.cwd);
9
+ if (!appRef) {
10
+ throw new PercherCoreError("No app specified and no percher.toml found", {
11
+ code: "data.no-app",
12
+ hint: "Pass an app name or run from a directory with percher.toml.",
13
+ });
14
+ }
15
+ return ctx.client.apps.resetSuperuser(appRef);
16
+ }
17
+ //# sourceMappingURL=reset-superuser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reset-superuser.js","sourceRoot":"","sources":["../../src/commands/reset-superuser.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,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC3B,CAAC,CAAC;AAQH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAY,EACZ,QAA6B,EAAE;IAE/B,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,IAAI,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,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,cAAc,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC"}
@@ -1,11 +1,27 @@
1
+ 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
+ export type DeployPhase = "build" | "start" | "health_check" | "config" | "infra";
1
3
  export interface ClassifiedError {
2
4
  title: string;
3
5
  explanation: string;
4
6
  suggestion: string;
7
+ /** Machine-readable error class for agent consumption */
8
+ errorClass: ErrorClass;
9
+ /** Deploy phase where the error occurred */
10
+ phase: DeployPhase;
11
+ /** Specific cause within the error class */
12
+ cause: string;
13
+ /** Files the user should check to fix the error */
14
+ relevantFiles: string[];
15
+ /** Env vars that appear to be missing (extracted from logs) */
16
+ missingEnvVars: string[];
5
17
  }
6
18
  /**
7
19
  * Classify a deploy error message into a user-friendly explanation.
8
20
  * Returns null if no known pattern matches.
21
+ *
22
+ * The result is structured for both human display and machine consumption:
23
+ * - `title`, `explanation`, `suggestion` for humans
24
+ * - `errorClass`, `phase`, `cause`, `relevantFiles`, `missingEnvVars` for agents
9
25
  */
10
26
  export declare function classifyError(errorMessage: string, buildLog?: string): ClassifiedError | null;
11
27
  //# sourceMappingURL=error-classifier.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-classifier.d.ts","sourceRoot":"","sources":["../src/error-classifier.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAoHD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAQ7F"}
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;AA4OD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CA2B7F"}