@percher/core 0.2.6 → 0.4.0
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/ai-files-manifest.d.ts +28 -0
- package/dist/ai-files-manifest.d.ts.map +1 -0
- package/dist/ai-files-manifest.js +96 -0
- package/dist/ai-files-manifest.js.map +1 -0
- package/dist/commands/account.d.ts +51 -0
- package/dist/commands/account.d.ts.map +1 -0
- package/dist/commands/account.js +88 -0
- package/dist/commands/account.js.map +1 -0
- package/dist/commands/ai-files.d.ts +73 -0
- package/dist/commands/ai-files.d.ts.map +1 -0
- package/dist/commands/ai-files.js +179 -0
- package/dist/commands/ai-files.js.map +1 -0
- package/dist/commands/billing.d.ts +1 -1
- 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 +48 -0
- package/dist/commands/continue.d.ts.map +1 -0
- package/dist/commands/continue.js +121 -0
- package/dist/commands/continue.js.map +1 -0
- package/dist/commands/create.d.ts +1 -1
- 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 +15 -0
- package/dist/commands/dashboard.d.ts.map +1 -0
- package/dist/commands/dashboard.js +33 -0
- package/dist/commands/dashboard.js.map +1 -0
- package/dist/commands/data-export.d.ts +21 -0
- package/dist/commands/data-export.d.ts.map +1 -0
- package/dist/commands/data-export.js +36 -0
- package/dist/commands/data-export.js.map +1 -0
- package/dist/commands/data.d.ts +3 -3
- 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 +1 -1
- 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 +2 -2
- package/dist/commands/deploys.d.ts.map +1 -1
- package/dist/commands/deploys.js +21 -5
- package/dist/commands/deploys.js.map +1 -1
- package/dist/commands/dev.d.ts +1 -9
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +79 -24
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/diagnose.d.ts +1 -1
- 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 +75 -3
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +822 -10
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/domains.d.ts +1 -1
- 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.d.ts +2 -0
- package/dist/commands/env-scan.d.ts.map +1 -0
- package/dist/commands/env-scan.js +92 -0
- package/dist/commands/env-scan.js.map +1 -0
- package/dist/commands/env.d.ts +1 -1
- 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/export.js +1 -1
- package/dist/commands/generate.d.ts +1 -1
- package/dist/commands/generate.d.ts.map +1 -1
- package/dist/commands/generate.js +14 -9
- package/dist/commands/generate.js.map +1 -1
- package/dist/commands/github.d.ts +60 -0
- package/dist/commands/github.d.ts.map +1 -0
- package/dist/commands/github.js +112 -0
- package/dist/commands/github.js.map +1 -0
- package/dist/commands/import-project.d.ts +1 -1
- package/dist/commands/import-project.d.ts.map +1 -1
- package/dist/commands/import-project.js +1 -1
- package/dist/commands/import-project.js.map +1 -1
- package/dist/commands/init.d.ts +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +1 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/insights.d.ts +1 -1
- 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 +1 -1
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +1 -1
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/logs.d.ts +1 -1
- package/dist/commands/logs.d.ts.map +1 -1
- package/dist/commands/logs.js +1 -1
- package/dist/commands/logs.js.map +1 -1
- package/dist/commands/mcp.d.ts +1 -1
- 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/open.d.ts +1 -1
- 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-failure.d.ts +31 -0
- package/dist/commands/publish-failure.d.ts.map +1 -0
- package/dist/commands/publish-failure.js +150 -0
- package/dist/commands/publish-failure.js.map +1 -0
- package/dist/commands/publish-node.d.ts +16 -0
- package/dist/commands/publish-node.d.ts.map +1 -0
- package/dist/commands/publish-node.js +42 -0
- package/dist/commands/publish-node.js.map +1 -0
- package/dist/commands/publish.d.ts +105 -3
- package/dist/commands/publish.d.ts.map +1 -1
- package/dist/commands/publish.js +746 -158
- package/dist/commands/publish.js.map +1 -1
- package/dist/commands/push.d.ts +45 -8
- package/dist/commands/push.d.ts.map +1 -1
- package/dist/commands/push.js +233 -22
- package/dist/commands/push.js.map +1 -1
- package/dist/commands/redeploy.d.ts +28 -0
- package/dist/commands/redeploy.d.ts.map +1 -0
- package/dist/commands/redeploy.js +421 -0
- package/dist/commands/redeploy.js.map +1 -0
- package/dist/commands/rename.d.ts +1 -1
- 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 +64 -0
- package/dist/commands/reproduce.d.ts.map +1 -0
- package/dist/commands/reproduce.js +211 -0
- package/dist/commands/reproduce.js.map +1 -0
- package/dist/commands/reset-superuser.d.ts +1 -1
- 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 +79 -0
- package/dist/commands/restore.d.ts.map +1 -0
- package/dist/commands/restore.js +164 -0
- package/dist/commands/restore.js.map +1 -0
- package/dist/commands/resume.d.ts +1 -1
- 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 +21 -8
- package/dist/commands/rollback.d.ts.map +1 -1
- package/dist/commands/rollback.js +12 -6
- package/dist/commands/rollback.js.map +1 -1
- package/dist/commands/status.d.ts +33 -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/unsuspend.d.ts +35 -0
- package/dist/commands/unsuspend.d.ts.map +1 -0
- package/dist/commands/unsuspend.js +27 -0
- package/dist/commands/unsuspend.js.map +1 -0
- package/dist/commands/versions.d.ts +1 -1
- 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 +92 -0
- package/dist/commands/wait-deploy.d.ts.map +1 -0
- package/dist/commands/wait-deploy.js +226 -0
- package/dist/commands/wait-deploy.js.map +1 -0
- package/dist/env-scan-source.d.ts +39 -0
- package/dist/env-scan-source.d.ts.map +1 -0
- package/dist/env-scan-source.js +332 -0
- package/dist/env-scan-source.js.map +1 -0
- package/dist/error-classifier.d.ts.map +1 -1
- package/dist/error-classifier.js +67 -4
- package/dist/error-classifier.js.map +1 -1
- package/dist/errors.d.ts +8 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +2 -0
- 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 +16 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -1
- package/dist/plans.d.ts +20 -0
- package/dist/plans.d.ts.map +1 -1
- package/dist/plans.js +15 -0
- package/dist/plans.js.map +1 -1
- package/dist/poll-deployment.d.ts +59 -0
- package/dist/poll-deployment.d.ts.map +1 -0
- package/dist/poll-deployment.js +93 -0
- package/dist/poll-deployment.js.map +1 -0
- 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 +356 -0
- package/dist/recovery.d.ts.map +1 -0
- package/dist/recovery.js +300 -0
- package/dist/recovery.js.map +1 -0
- package/dist/stream-utils.d.ts +21 -0
- package/dist/stream-utils.d.ts.map +1 -0
- package/dist/stream-utils.js +41 -0
- package/dist/stream-utils.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 +30 -9
- package/dist/tarball.js.map +1 -1
- package/dist/templates/ai-files/claude-md.d.ts +7 -0
- package/dist/templates/ai-files/claude-md.d.ts.map +1 -0
- package/dist/templates/ai-files/claude-md.js +78 -0
- package/dist/templates/ai-files/claude-md.js.map +1 -0
- package/dist/templates/ai-files/cursor-percher-mdc.d.ts +7 -0
- package/dist/templates/ai-files/cursor-percher-mdc.d.ts.map +1 -0
- package/dist/templates/ai-files/cursor-percher-mdc.js +111 -0
- package/dist/templates/ai-files/cursor-percher-mdc.js.map +1 -0
- package/dist/templates/ai-files/index.d.ts +8 -0
- package/dist/templates/ai-files/index.d.ts.map +1 -0
- package/dist/templates/ai-files/index.js +4 -0
- package/dist/templates/ai-files/index.js.map +1 -0
- package/package.json +6 -5
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { z } from "zod/v3";
|
|
2
|
+
import { classifyDeploymentFailure } from "./publish-failure";
|
|
3
|
+
export const continueInputSchema = z.object({
|
|
4
|
+
app: z.string().describe("App name (the value of [app].name in percher.toml)"),
|
|
5
|
+
deployId: z
|
|
6
|
+
.string()
|
|
7
|
+
.optional()
|
|
8
|
+
.describe("Specific deploy id to inspect. If omitted, the most recent deploy on the app is used."),
|
|
9
|
+
});
|
|
10
|
+
/**
|
|
11
|
+
* FUTURE11 Phase 3 — read-only "what do I do next?" tool. Looks up the
|
|
12
|
+
* latest (or specified) deploy and returns a single primary action with
|
|
13
|
+
* pre-filled args. Never starts a new deploy. Never deletes data. The
|
|
14
|
+
* point is to collapse the multi-tool decision tree (publish vs push vs
|
|
15
|
+
* logs vs doctor vs deploys_inspect) into one question for the agent.
|
|
16
|
+
*/
|
|
17
|
+
export async function percherContinue(ctx, input) {
|
|
18
|
+
const app = await ctx.client.apps.get(input.app);
|
|
19
|
+
let deployment;
|
|
20
|
+
if (input.deployId) {
|
|
21
|
+
deployment = await ctx.client.apps.getDeployment(input.app, input.deployId);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
const deploys = await ctx.client.apps.listDeploys(input.app, { limit: 1 });
|
|
25
|
+
deployment = deploys[0];
|
|
26
|
+
}
|
|
27
|
+
if (!deployment) {
|
|
28
|
+
return {
|
|
29
|
+
state: "no_deploys",
|
|
30
|
+
app: { id: app.id, name: app.name, url: app.url },
|
|
31
|
+
nextAction: "ask_user",
|
|
32
|
+
reason: "This app has no deploys yet. Ask the user to confirm they want to publish.",
|
|
33
|
+
recovery: { retryable: false, nextAction: "ask_user" },
|
|
34
|
+
summary: `${app.name} has no deploys yet — ask the user before publishing.`,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
// Already live — short-circuit. No tool to call; the agent should
|
|
38
|
+
// just echo the URL.
|
|
39
|
+
if (deployment.status === "live") {
|
|
40
|
+
const url = deployment.previewUrl ?? deployment.url ?? app.url;
|
|
41
|
+
return {
|
|
42
|
+
state: "live",
|
|
43
|
+
app: { id: app.id, name: app.name, url: app.url },
|
|
44
|
+
deployment,
|
|
45
|
+
url,
|
|
46
|
+
nextAction: "none",
|
|
47
|
+
reason: "Latest deploy is already live.",
|
|
48
|
+
recovery: { retryable: false, nextAction: "none" },
|
|
49
|
+
summary: `${app.name} is live at ${url}.`,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
// Superseded by a newer live deploy — distinct from `failed`. Don't
|
|
53
|
+
// route the agent into the build-log inspector for a row that didn't
|
|
54
|
+
// actually break. If the caller passed an explicit `deployId`, point
|
|
55
|
+
// them at percher_continue without one so they resolve the current
|
|
56
|
+
// live state. If they didn't pass one (we got `replaced` from
|
|
57
|
+
// listDeploys, meaning there's no more recent terminal row), surface
|
|
58
|
+
// the situation as ask_user — something is off.
|
|
59
|
+
if (deployment.status === "replaced") {
|
|
60
|
+
return {
|
|
61
|
+
state: "replaced",
|
|
62
|
+
app: { id: app.id, name: app.name, url: app.url },
|
|
63
|
+
deployment,
|
|
64
|
+
nextAction: "ask_user",
|
|
65
|
+
reason: `Deploy ${deployment.id} was replaced by a newer deploy — it is no longer live.`,
|
|
66
|
+
suggestedTool: "percher_continue",
|
|
67
|
+
args: input.deployId ? { app: app.name } : undefined,
|
|
68
|
+
recovery: {
|
|
69
|
+
retryable: false,
|
|
70
|
+
nextAction: "ask_user",
|
|
71
|
+
suggestedTool: "percher_continue",
|
|
72
|
+
args: input.deployId ? { app: app.name } : undefined,
|
|
73
|
+
},
|
|
74
|
+
summary: input.deployId
|
|
75
|
+
? `${app.name} deploy ${deployment.id} was replaced — call percher_continue (no deployId) to find the current live state.`
|
|
76
|
+
: `${app.name}'s most recent deploy was replaced — surface this to the user.`,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
// In flight — point at the wait tool with pre-filled args.
|
|
80
|
+
if (deployment.status === "queued" ||
|
|
81
|
+
deployment.status === "building" ||
|
|
82
|
+
deployment.status === "deploying") {
|
|
83
|
+
const args = { app: app.name, deployId: deployment.id, timeoutSeconds: 30 };
|
|
84
|
+
return {
|
|
85
|
+
state: "in_progress",
|
|
86
|
+
app: { id: app.id, name: app.name, url: app.url },
|
|
87
|
+
deployment,
|
|
88
|
+
nextAction: "wait_deploy",
|
|
89
|
+
reason: `Deploy ${deployment.id} is still ${deployment.status} — wait, don't start a new deploy.`,
|
|
90
|
+
suggestedTool: "percher_wait_for_deploy",
|
|
91
|
+
args,
|
|
92
|
+
recovery: {
|
|
93
|
+
retryable: false,
|
|
94
|
+
nextAction: "wait_deploy",
|
|
95
|
+
suggestedTool: "percher_wait_for_deploy",
|
|
96
|
+
args,
|
|
97
|
+
},
|
|
98
|
+
summary: `${app.name} deploy ${deployment.id} is ${deployment.status} — call percher_wait_for_deploy.`,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
// Failed — reuse classifier so the agent gets the same nextAction it
|
|
102
|
+
// would have gotten from a sync publish failure (set_env_vars,
|
|
103
|
+
// inspect_build_log, fix_problems, etc.).
|
|
104
|
+
const { error, recovery, summary } = await classifyDeploymentFailure({
|
|
105
|
+
ctx,
|
|
106
|
+
app,
|
|
107
|
+
deployment,
|
|
108
|
+
});
|
|
109
|
+
return {
|
|
110
|
+
state: "failed",
|
|
111
|
+
app: { id: app.id, name: app.name, url: app.url },
|
|
112
|
+
deployment,
|
|
113
|
+
nextAction: recovery.nextAction,
|
|
114
|
+
reason: error.title,
|
|
115
|
+
suggestedTool: recovery.suggestedTool,
|
|
116
|
+
args: recovery.args,
|
|
117
|
+
recovery,
|
|
118
|
+
summary,
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=continue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"continue.js","sourceRoot":"","sources":["../../src/commands/continue.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAE,KAAK,cAAc,EAAmC,MAAM,cAAc,CAAC;AAIpF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;EAO5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,MAAM,WAAW,YAAa,SAAQ,cAAc;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAkDpF"}
|
package/dist/commands/create.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAuB,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEpF,MAAM,WAAW,GAAG,wBAAwB,CAAC;AAE7C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,KAAK,CAAC,WAAW,EAAE,oEAAoE,CAAC;IAC3F,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC;IACnD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAUH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,GAAY,EAAE,KAAkB;IAC3D,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;IAElC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,gBAAgB,CACxB,qBAAqB,KAAK,CAAC,QAAQ,iBAAiB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAC1E;YACE,IAAI,EAAE,yBAAyB;YAC/B,IAAI,EAAE,mEAAmE;SAC1E,CACF,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,IAAI,SAAiB,CAAC;IACtB,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,gBAAgB,CAAC,gDAAgD,EAAE;gBAC3E,IAAI,EAAE,eAAe;aACtB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;SAAM,CAAC;QACN,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,gBAAgB,CAAC;YAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO,EAAE,KAAK,CAAC,IAAI;YACnB,SAAS;YACT,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,CAAC;QAEH,OAAO;YACL,GAAG,MAAM;YACT,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,SAAS,EAAE,SAAS;SACrB,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE;gBAC9B,IAAI,EAAE,sBAAsB;gBAC5B,IAAI,EAAE,0CAA0C;aACjD,CAAC,CAAC;QACL,CAAC;QACD,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { z } from "zod/v3";
|
|
2
|
+
import type { Context } from "../context";
|
|
3
|
+
export declare const dashboardInputSchema: z.ZodObject<{
|
|
4
|
+
app: z.ZodOptional<z.ZodString>;
|
|
5
|
+
tab: z.ZodOptional<z.ZodString>;
|
|
6
|
+
}, "strip", z.ZodTypeAny, {
|
|
7
|
+
app?: string | undefined;
|
|
8
|
+
tab?: string | undefined;
|
|
9
|
+
}, {
|
|
10
|
+
app?: string | undefined;
|
|
11
|
+
tab?: string | undefined;
|
|
12
|
+
}>;
|
|
13
|
+
export type DashboardInput = z.infer<typeof dashboardInputSchema>;
|
|
14
|
+
export declare function dashboard(ctx: Context, input?: DashboardInput): Promise<string>;
|
|
15
|
+
//# sourceMappingURL=dashboard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/commands/dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C,eAAO,MAAM,oBAAoB;;;;;;;;;EAG/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AASlE,wBAAsB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,cAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAmBzF"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { z } from "zod/v3";
|
|
2
|
+
import { readPercherTomlAppName } from "../app-name";
|
|
3
|
+
import { PercherCoreError } from "../errors";
|
|
4
|
+
export const dashboardInputSchema = z.object({
|
|
5
|
+
app: z.string().optional(),
|
|
6
|
+
tab: z.string().optional(),
|
|
7
|
+
});
|
|
8
|
+
const DEFAULT_BASE = "https://percher.app";
|
|
9
|
+
// Sanity-only. The actual list of supported tabs is owned by
|
|
10
|
+
// apps/dashboard/app/apps/[name]/page.tsx; we deliberately don't mirror
|
|
11
|
+
// it here so the CLI doesn't drift behind dashboard changes.
|
|
12
|
+
const TAB_SHAPE = /^[a-z][a-z0-9-]{0,31}$/;
|
|
13
|
+
export async function dashboard(ctx, input = {}) {
|
|
14
|
+
const name = input.app ?? readPercherTomlAppName(ctx.cwd);
|
|
15
|
+
if (!name) {
|
|
16
|
+
throw new PercherCoreError("No app specified and no percher.toml found", {
|
|
17
|
+
code: "dashboard.no-app",
|
|
18
|
+
hint: "Pass an app name or run from a directory with percher.toml.",
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
const tab = input.tab ?? "overview";
|
|
22
|
+
if (!TAB_SHAPE.test(tab)) {
|
|
23
|
+
throw new PercherCoreError(`Invalid tab "${tab}"`, {
|
|
24
|
+
code: "dashboard.invalid-tab",
|
|
25
|
+
hint: "Tab must be lowercase letters, digits, and hyphens (≤32 chars).",
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
const base = ctx.env.PERCHER_DASHBOARD_URL ?? DEFAULT_BASE;
|
|
29
|
+
const url = `${base}/apps/${encodeURIComponent(name)}?tab=${tab}`;
|
|
30
|
+
await ctx.openUrl(url);
|
|
31
|
+
return url;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=dashboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/commands/dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC3B,CAAC,CAAC;AAGH,MAAM,YAAY,GAAG,qBAAqB,CAAC;AAE3C,6DAA6D;AAC7D,wEAAwE;AACxE,6DAA6D;AAC7D,MAAM,SAAS,GAAG,wBAAwB,CAAC;AAE3C,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,GAAY,EAAE,QAAwB,EAAE;IACtE,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,kBAAkB;YACxB,IAAI,EAAE,6DAA6D;SACpE,CAAC,CAAC;IACL,CAAC;IACD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,UAAU,CAAC;IACpC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,gBAAgB,CAAC,gBAAgB,GAAG,GAAG,EAAE;YACjD,IAAI,EAAE,uBAAuB;YAC7B,IAAI,EAAE,iEAAiE;SACxE,CAAC,CAAC;IACL,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,qBAAqB,IAAI,YAAY,CAAC;IAC3D,MAAM,GAAG,GAAG,GAAG,IAAI,SAAS,kBAAkB,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IAClE,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACvB,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { z } from "zod/v3";
|
|
2
|
+
import type { Context } from "../context";
|
|
3
|
+
export declare const dataExportInputSchema: z.ZodObject<{
|
|
4
|
+
app: z.ZodOptional<z.ZodString>;
|
|
5
|
+
out: z.ZodOptional<z.ZodString>;
|
|
6
|
+
}, "strip", z.ZodTypeAny, {
|
|
7
|
+
out?: string | undefined;
|
|
8
|
+
app?: string | undefined;
|
|
9
|
+
}, {
|
|
10
|
+
out?: string | undefined;
|
|
11
|
+
app?: string | undefined;
|
|
12
|
+
}>;
|
|
13
|
+
export type DataExportInput = z.infer<typeof dataExportInputSchema>;
|
|
14
|
+
export interface DataExportResult {
|
|
15
|
+
app: string;
|
|
16
|
+
path: string;
|
|
17
|
+
bytes: number;
|
|
18
|
+
exportedAt: string;
|
|
19
|
+
}
|
|
20
|
+
export declare function dataExport(ctx: Context, input: DataExportInput): Promise<DataExportResult>;
|
|
21
|
+
//# sourceMappingURL=data-export.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-export.d.ts","sourceRoot":"","sources":["../../src/commands/data-export.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAI1C,eAAO,MAAM,qBAAqB;;;;;;;;;EAQhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA0BhG"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { resolve } from "node:path";
|
|
2
|
+
import { z } from "zod/v3";
|
|
3
|
+
import { readPercherTomlAppName } from "../app-name";
|
|
4
|
+
import { PercherCoreError } from "../errors";
|
|
5
|
+
import { writeResponseToFile } from "../stream-utils";
|
|
6
|
+
export const dataExportInputSchema = z.object({
|
|
7
|
+
app: z.string().optional().describe("App name or id. Defaults to the app in percher.toml."),
|
|
8
|
+
out: z
|
|
9
|
+
.string()
|
|
10
|
+
.optional()
|
|
11
|
+
.describe("Output file path. Defaults to ./<app>-pb-<timestamp>.tar.gz in the current directory."),
|
|
12
|
+
});
|
|
13
|
+
export async function dataExport(ctx, input) {
|
|
14
|
+
const appName = input.app ?? readPercherTomlAppName(ctx.cwd);
|
|
15
|
+
if (!appName) {
|
|
16
|
+
throw new PercherCoreError("No app specified and no percher.toml found", {
|
|
17
|
+
code: "data-export.no-app",
|
|
18
|
+
hint: "Pass an app name with --app <name> or run from a directory with percher.toml.",
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
ctx.status?.(`Exporting ${appName} data...`);
|
|
22
|
+
const stamp = new Date().toISOString().replace(/[:.]/g, "-").slice(0, 19);
|
|
23
|
+
const fileName = input.out ?? `${appName}-pb-${stamp}.tar.gz`;
|
|
24
|
+
const path = resolve(ctx.cwd, fileName);
|
|
25
|
+
// Stream directly to disk — never buffer the whole tarball in memory.
|
|
26
|
+
// writeResponseToFile uses Bun.write() on Bun and Node.js pipeline() on Node.
|
|
27
|
+
const res = await ctx.client.apps.streamDataExport(appName);
|
|
28
|
+
const bytes = await writeResponseToFile(res, path);
|
|
29
|
+
return {
|
|
30
|
+
app: appName,
|
|
31
|
+
path,
|
|
32
|
+
bytes,
|
|
33
|
+
exportedAt: new Date().toISOString(),
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=data-export.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-export.js","sourceRoot":"","sources":["../../src/commands/data-export.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;IAC3F,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,uFAAuF,CACxF;CACJ,CAAC,CAAC;AAUH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAY,EAAE,KAAsB;IACnE,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,IAAI,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,gBAAgB,CAAC,4CAA4C,EAAE;YACvE,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE,+EAA+E;SACtF,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,MAAM,EAAE,CAAC,aAAa,OAAO,UAAU,CAAC,CAAC;IAE7C,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1E,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,IAAI,GAAG,OAAO,OAAO,KAAK,SAAS,CAAC;IAC9D,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAExC,sEAAsE;IACtE,8EAA8E;IAC9E,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAEnD,OAAO;QACL,GAAG,EAAE,OAAO;QACZ,IAAI;QACJ,KAAK;QACL,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACrC,CAAC;AACJ,CAAC"}
|
package/dist/commands/data.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
1
|
+
import { z } from "zod/v3";
|
|
2
2
|
import type { Context } from "../context";
|
|
3
3
|
export declare const dataInputSchema: z.ZodObject<{
|
|
4
4
|
app: z.ZodOptional<z.ZodString>;
|
|
5
5
|
json: z.ZodOptional<z.ZodBoolean>;
|
|
6
6
|
}, "strip", z.ZodTypeAny, {
|
|
7
|
-
app?: string | undefined;
|
|
8
7
|
json?: boolean | undefined;
|
|
9
|
-
}, {
|
|
10
8
|
app?: string | undefined;
|
|
9
|
+
}, {
|
|
11
10
|
json?: boolean | undefined;
|
|
11
|
+
app?: string | undefined;
|
|
12
12
|
}>;
|
|
13
13
|
export type DataInput = z.infer<typeof dataInputSchema>;
|
|
14
14
|
export interface DataResult {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../src/commands/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../src/commands/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C,eAAO,MAAM,eAAe;;;;;;;;;EAG1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;;;;;;OAMG;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,wBAAsB,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,SAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAmDnF"}
|
package/dist/commands/data.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../src/commands/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../src/commands/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAqBH,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,GAAY,EAAE,QAAmB,EAAE;IAC5D,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;IAED,4EAA4E;IAC5E,4CAA4C;IAC5C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAE3D,sEAAsE;IACtE,yEAAyE;IACzE,0EAA0E;IAC1E,yEAAyE;IACzE,uDAAuD;IACvD,IAAI,WAAW,GAA0C,EAAE,CAAC;IAC5D,IAAI,KAAK,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;IAChD,IAAI,OAAO,GAAkB,IAAI,CAAC;IAElC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACxD,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAChE,KAAK,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,0EAA0E;QAC1E,wEAAwE;QACxE,mEAAmE;QACnE,qEAAqE;QACrE,uEAAuE;QACvE,qEAAqE;QACrE,MAAM,IAAI,GAAI,GAAyB,CAAC,IAAI,CAAC;QAC7C,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;YAC9B,OAAO,GAAG,gHAAgH,IAAI,+BAA+B,CAAC;QAChK,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI;QAC/B,WAAW;QACX,KAAK;QACL,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,IAAI;QACpC,OAAO;KACR,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../src/commands/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../src/commands/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C,eAAO,MAAM,iBAAiB;;;;;;;;;EAO5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,wBAAsB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB/E"}
|
package/dist/commands/delete.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../src/commands/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../src/commands/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,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,CAAC,QAAQ,CAAC,wDAAwD,CAAC;IAC7F,OAAO,EAAE,CAAC;SACP,OAAO,EAAE;SACT,QAAQ,CACP,qKAAqK,CACtK;CACJ,CAAC,CAAC;AAGH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,GAAY,EAAE,KAAkB;IAC9D,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,YAAY;YAClB,IAAI,EAAE,6DAA6D;SACpE,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACnB,MAAM,IAAI,gBAAgB,CACxB,yEAAyE,IAAI,gBAAgB,EAC7F;YACE,IAAI,EAAE,8BAA8B;YACpC,IAAI,EAAE,yCAAyC,IAAI,oDAAoD;SACxG,CACF,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import { z } from "zod";
|
|
1
|
+
import { type Deployment } from "@percher/client";
|
|
2
|
+
import { z } from "zod/v3";
|
|
3
3
|
import type { Context } from "../context";
|
|
4
4
|
export declare const deploysListInputSchema: z.ZodObject<{
|
|
5
5
|
app: z.ZodOptional<z.ZodString>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploys.d.ts","sourceRoot":"","sources":["../../src/commands/deploys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"deploys.d.ts","sourceRoot":"","sources":["../../src/commands/deploys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAmB,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C,eAAO,MAAM,sBAAsB;;;;;;;;;EAGjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,yBAAyB;;IAGlC,qEAAqE;;IAErE,4DAA4D;;;;;;;;;;;;;;;;;;EAU5D,CAAC;AACL,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAMzB;AAaD,wBAAsB,WAAW,CAC/B,GAAG,EAAE,OAAO,EACZ,KAAK,GAAE,gBAAqB,GAC3B,OAAO,CAAC,UAAU,EAAE,CAAC,CAGvB;AAED,wBAAsB,cAAc,CAClC,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC,oBAAoB,CAAC,CAoD/B"}
|
package/dist/commands/deploys.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PercherApiError } from "@percher/client";
|
|
2
|
+
import { z } from "zod/v3";
|
|
2
3
|
import { readPercherTomlAppName } from "../app-name";
|
|
3
4
|
import { PercherCoreError } from "../errors";
|
|
4
5
|
export const deploysListInputSchema = z.object({
|
|
@@ -58,15 +59,30 @@ export async function deploysInspect(ctx, input) {
|
|
|
58
59
|
}
|
|
59
60
|
const deploy = await ctx.client.apps.getDeployment(name, deployId);
|
|
60
61
|
// getBuildLog 404s for deploys that haven't reached the build stage —
|
|
61
|
-
// treat that as "no log yet" rather than an error so the caller can
|
|
62
|
-
// the deploy state gracefully.
|
|
62
|
+
// treat that as "no log yet" rather than an error so the caller can
|
|
63
|
+
// render the deploy state gracefully.
|
|
64
|
+
//
|
|
65
|
+
// EVERYTHING ELSE bubbles up. The previous bare `catch {}` swallowed
|
|
66
|
+
// network errors and 5xx alike — meaning a transient connectivity
|
|
67
|
+
// hiccup produced "(no build log available for this deploy)" in the
|
|
68
|
+
// CLI, indistinguishable from a genuine pre-build failure. That's
|
|
69
|
+
// exactly the failure mode the publish.ts hint redirects users to
|
|
70
|
+
// when its OWN getBuildLog call fails — so swallowing it again here
|
|
71
|
+
// would close the loop on the same misleading message. Codex P2,
|
|
72
|
+
// 2026-04-29.
|
|
63
73
|
let buildLog = null;
|
|
64
74
|
try {
|
|
65
75
|
const log = await ctx.client.apps.getBuildLog(name, deployId);
|
|
66
76
|
buildLog = log.length > 0 ? log : null;
|
|
67
77
|
}
|
|
68
|
-
catch {
|
|
69
|
-
|
|
78
|
+
catch (err) {
|
|
79
|
+
if (err instanceof PercherApiError && err.status === 404) {
|
|
80
|
+
// "Deploy hasn't started building yet" — render gracefully.
|
|
81
|
+
buildLog = null;
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
throw err;
|
|
85
|
+
}
|
|
70
86
|
}
|
|
71
87
|
return { deploy, buildLog };
|
|
72
88
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploys.js","sourceRoot":"","sources":["../../src/commands/deploys.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deploys.js","sourceRoot":"","sources":["../../src/commands/deploys.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/dev.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
1
|
+
import { z } from "zod/v3";
|
|
2
2
|
import type { Context } from "../context";
|
|
3
3
|
export declare const devInputSchema: z.ZodObject<{
|
|
4
4
|
app: z.ZodOptional<z.ZodString>;
|
|
@@ -9,17 +9,9 @@ export declare const devInputSchema: z.ZodObject<{
|
|
|
9
9
|
}>;
|
|
10
10
|
export type DevInput = z.infer<typeof devInputSchema>;
|
|
11
11
|
export interface DevCallbacks {
|
|
12
|
-
/** Called when file changes are detected. Returns true to push, false to skip. */
|
|
13
12
|
onFilesChanged: (files: string[]) => Promise<boolean>;
|
|
14
|
-
/** Called to write a line to stdout */
|
|
15
13
|
writeLine: (line: string) => Promise<void>;
|
|
16
|
-
/** Signal to stop the dev loop (resolved when user wants to exit) */
|
|
17
14
|
signal: AbortSignal;
|
|
18
15
|
}
|
|
19
|
-
/**
|
|
20
|
-
* Run the dev loop: watch files, prompt to push on changes, stream logs.
|
|
21
|
-
*
|
|
22
|
-
* This is the core logic — the CLI layer provides the interactive callbacks.
|
|
23
|
-
*/
|
|
24
16
|
export declare function dev(ctx: Context, input: DevInput, callbacks: DevCallbacks): Promise<void>;
|
|
25
17
|
//# sourceMappingURL=dev.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAK1C,eAAO,MAAM,cAAc;;;;;;EAEzB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACtD,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,EAAE,WAAW,CAAC;CACrB;AAwHD,wBAAsB,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAyF/F"}
|