@percher/core 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (245) hide show
  1. package/dist/commands/account.d.ts +24 -14
  2. package/dist/commands/account.d.ts.map +1 -1
  3. package/dist/commands/account.js +17 -4
  4. package/dist/commands/account.js.map +1 -1
  5. package/dist/commands/admin-reconcile-routes.d.ts +18 -0
  6. package/dist/commands/admin-reconcile-routes.d.ts.map +1 -0
  7. package/dist/commands/admin-reconcile-routes.js +22 -0
  8. package/dist/commands/admin-reconcile-routes.js.map +1 -0
  9. package/dist/commands/ai-files.d.ts +5 -17
  10. package/dist/commands/ai-files.d.ts.map +1 -1
  11. package/dist/commands/ai-files.js +3 -4
  12. package/dist/commands/ai-files.js.map +1 -1
  13. package/dist/commands/alerts.d.ts +69 -0
  14. package/dist/commands/alerts.d.ts.map +1 -0
  15. package/dist/commands/alerts.js +80 -0
  16. package/dist/commands/alerts.js.map +1 -0
  17. package/dist/commands/app-resources.d.ts +30 -0
  18. package/dist/commands/app-resources.d.ts.map +1 -0
  19. package/dist/commands/app-resources.js +34 -0
  20. package/dist/commands/app-resources.js.map +1 -0
  21. package/dist/commands/app-topology.d.ts +18 -0
  22. package/dist/commands/app-topology.d.ts.map +1 -0
  23. package/dist/commands/app-topology.js +25 -0
  24. package/dist/commands/app-topology.js.map +1 -0
  25. package/dist/commands/billing.d.ts +8 -8
  26. package/dist/commands/billing.d.ts.map +1 -1
  27. package/dist/commands/billing.js +1 -1
  28. package/dist/commands/billing.js.map +1 -1
  29. package/dist/commands/continue.d.ts +1 -1
  30. package/dist/commands/create.d.ts +2 -12
  31. package/dist/commands/create.d.ts.map +1 -1
  32. package/dist/commands/create.js +1 -1
  33. package/dist/commands/create.js.map +1 -1
  34. package/dist/commands/dashboard.d.ts +2 -8
  35. package/dist/commands/dashboard.d.ts.map +1 -1
  36. package/dist/commands/dashboard.js +1 -1
  37. package/dist/commands/dashboard.js.map +1 -1
  38. package/dist/commands/data-export.d.ts +2 -8
  39. package/dist/commands/data-export.d.ts.map +1 -1
  40. package/dist/commands/data-export.js +1 -1
  41. package/dist/commands/data-export.js.map +1 -1
  42. package/dist/commands/data.d.ts +2 -8
  43. package/dist/commands/data.d.ts.map +1 -1
  44. package/dist/commands/data.js +1 -1
  45. package/dist/commands/data.js.map +1 -1
  46. package/dist/commands/delete.d.ts +2 -8
  47. package/dist/commands/delete.d.ts.map +1 -1
  48. package/dist/commands/delete.js +1 -1
  49. package/dist/commands/delete.js.map +1 -1
  50. package/dist/commands/deploys.d.ts +4 -28
  51. package/dist/commands/deploys.d.ts.map +1 -1
  52. package/dist/commands/deploys.js +1 -1
  53. package/dist/commands/deploys.js.map +1 -1
  54. package/dist/commands/dev.d.ts +2 -6
  55. package/dist/commands/dev.d.ts.map +1 -1
  56. package/dist/commands/dev.js +1 -1
  57. package/dist/commands/dev.js.map +1 -1
  58. package/dist/commands/diagnose.d.ts +2 -22
  59. package/dist/commands/diagnose.d.ts.map +1 -1
  60. package/dist/commands/diagnose.js +1 -1
  61. package/dist/commands/diagnose.js.map +1 -1
  62. package/dist/commands/doctor.d.ts +10 -35
  63. package/dist/commands/doctor.d.ts.map +1 -1
  64. package/dist/commands/doctor.js +12 -4
  65. package/dist/commands/doctor.js.map +1 -1
  66. package/dist/commands/domains.d.ts +5 -27
  67. package/dist/commands/domains.d.ts.map +1 -1
  68. package/dist/commands/domains.js +1 -1
  69. package/dist/commands/domains.js.map +1 -1
  70. package/dist/commands/env-scan.js +1 -1
  71. package/dist/commands/env-scan.js.map +1 -1
  72. package/dist/commands/env.d.ts +4 -20
  73. package/dist/commands/env.d.ts.map +1 -1
  74. package/dist/commands/env.js +1 -1
  75. package/dist/commands/env.js.map +1 -1
  76. package/dist/commands/export.d.ts +1 -1
  77. package/dist/commands/forgejo.d.ts +45 -0
  78. package/dist/commands/forgejo.d.ts.map +1 -0
  79. package/dist/commands/forgejo.js +125 -0
  80. package/dist/commands/forgejo.js.map +1 -0
  81. package/dist/commands/generate.d.ts +2 -6
  82. package/dist/commands/generate.d.ts.map +1 -1
  83. package/dist/commands/generate.js +1 -1
  84. package/dist/commands/generate.js.map +1 -1
  85. package/dist/commands/github.d.ts +4 -15
  86. package/dist/commands/github.d.ts.map +1 -1
  87. package/dist/commands/github.js +17 -1
  88. package/dist/commands/github.js.map +1 -1
  89. package/dist/commands/import-project.d.ts +13 -9
  90. package/dist/commands/import-project.d.ts.map +1 -1
  91. package/dist/commands/import-project.js +73 -22
  92. package/dist/commands/import-project.js.map +1 -1
  93. package/dist/commands/init.d.ts +26 -11
  94. package/dist/commands/init.d.ts.map +1 -1
  95. package/dist/commands/init.js +103 -2
  96. package/dist/commands/init.js.map +1 -1
  97. package/dist/commands/insights.d.ts +2 -6
  98. package/dist/commands/insights.d.ts.map +1 -1
  99. package/dist/commands/insights.js +1 -1
  100. package/dist/commands/insights.js.map +1 -1
  101. package/dist/commands/login.d.ts +2 -8
  102. package/dist/commands/login.d.ts.map +1 -1
  103. package/dist/commands/login.js +22 -1
  104. package/dist/commands/login.js.map +1 -1
  105. package/dist/commands/logs.d.ts +25 -10
  106. package/dist/commands/logs.d.ts.map +1 -1
  107. package/dist/commands/logs.js +65 -5
  108. package/dist/commands/logs.js.map +1 -1
  109. package/dist/commands/mcp.d.ts +2 -2
  110. package/dist/commands/mcp.d.ts.map +1 -1
  111. package/dist/commands/mcp.js +1 -1
  112. package/dist/commands/mcp.js.map +1 -1
  113. package/dist/commands/migrate-supabase-map.d.ts +171 -0
  114. package/dist/commands/migrate-supabase-map.d.ts.map +1 -0
  115. package/dist/commands/migrate-supabase-map.js +452 -0
  116. package/dist/commands/migrate-supabase-map.js.map +1 -0
  117. package/dist/commands/migrate-supabase-schema.d.ts +67 -0
  118. package/dist/commands/migrate-supabase-schema.d.ts.map +1 -0
  119. package/dist/commands/migrate-supabase-schema.js +321 -0
  120. package/dist/commands/migrate-supabase-schema.js.map +1 -0
  121. package/dist/commands/migrate-supabase-scripts.d.ts +64 -0
  122. package/dist/commands/migrate-supabase-scripts.d.ts.map +1 -0
  123. package/dist/commands/migrate-supabase-scripts.js +564 -0
  124. package/dist/commands/migrate-supabase-scripts.js.map +1 -0
  125. package/dist/commands/migrate-supabase-sdk.d.ts +133 -0
  126. package/dist/commands/migrate-supabase-sdk.d.ts.map +1 -0
  127. package/dist/commands/migrate-supabase-sdk.js +1119 -0
  128. package/dist/commands/migrate-supabase-sdk.js.map +1 -0
  129. package/dist/commands/migrate-supabase-walker.d.ts +93 -0
  130. package/dist/commands/migrate-supabase-walker.d.ts.map +1 -0
  131. package/dist/commands/migrate-supabase-walker.js +413 -0
  132. package/dist/commands/migrate-supabase-walker.js.map +1 -0
  133. package/dist/commands/migrate-supabase.d.ts +81 -0
  134. package/dist/commands/migrate-supabase.d.ts.map +1 -0
  135. package/dist/commands/migrate-supabase.js +579 -0
  136. package/dist/commands/migrate-supabase.js.map +1 -0
  137. package/dist/commands/open.d.ts +2 -6
  138. package/dist/commands/open.d.ts.map +1 -1
  139. package/dist/commands/open.js +1 -1
  140. package/dist/commands/open.js.map +1 -1
  141. package/dist/commands/publish-api-error.d.ts +46 -0
  142. package/dist/commands/publish-api-error.d.ts.map +1 -0
  143. package/dist/commands/publish-api-error.js +307 -0
  144. package/dist/commands/publish-api-error.js.map +1 -0
  145. package/dist/commands/publish.d.ts +40 -17
  146. package/dist/commands/publish.d.ts.map +1 -1
  147. package/dist/commands/publish.js +115 -8
  148. package/dist/commands/publish.js.map +1 -1
  149. package/dist/commands/push.d.ts +2 -12
  150. package/dist/commands/push.d.ts.map +1 -1
  151. package/dist/commands/push.js +2 -2
  152. package/dist/commands/push.js.map +1 -1
  153. package/dist/commands/redeploy.d.ts +2 -8
  154. package/dist/commands/redeploy.d.ts.map +1 -1
  155. package/dist/commands/redeploy.js +2 -2
  156. package/dist/commands/redeploy.js.map +1 -1
  157. package/dist/commands/rename.d.ts +2 -8
  158. package/dist/commands/rename.d.ts.map +1 -1
  159. package/dist/commands/rename.js +1 -1
  160. package/dist/commands/rename.js.map +1 -1
  161. package/dist/commands/reproduce.d.ts +2 -8
  162. package/dist/commands/reproduce.d.ts.map +1 -1
  163. package/dist/commands/reproduce.js +1 -1
  164. package/dist/commands/reproduce.js.map +1 -1
  165. package/dist/commands/reset-superuser.d.ts +2 -16
  166. package/dist/commands/reset-superuser.d.ts.map +1 -1
  167. package/dist/commands/reset-superuser.js +1 -1
  168. package/dist/commands/reset-superuser.js.map +1 -1
  169. package/dist/commands/restore.d.ts +7 -22
  170. package/dist/commands/restore.d.ts.map +1 -1
  171. package/dist/commands/restore.js +1 -1
  172. package/dist/commands/restore.js.map +1 -1
  173. package/dist/commands/resume.d.ts +2 -6
  174. package/dist/commands/resume.d.ts.map +1 -1
  175. package/dist/commands/resume.js +1 -1
  176. package/dist/commands/resume.js.map +1 -1
  177. package/dist/commands/rollback.d.ts +2 -8
  178. package/dist/commands/rollback.d.ts.map +1 -1
  179. package/dist/commands/rollback.js +1 -1
  180. package/dist/commands/rollback.js.map +1 -1
  181. package/dist/commands/sharing.d.ts +48 -0
  182. package/dist/commands/sharing.d.ts.map +1 -0
  183. package/dist/commands/sharing.js +85 -0
  184. package/dist/commands/sharing.js.map +1 -0
  185. package/dist/commands/status.d.ts +2 -6
  186. package/dist/commands/status.d.ts.map +1 -1
  187. package/dist/commands/status.js +1 -1
  188. package/dist/commands/status.js.map +1 -1
  189. package/dist/commands/transfers.d.ts +34 -0
  190. package/dist/commands/transfers.d.ts.map +1 -0
  191. package/dist/commands/transfers.js +62 -0
  192. package/dist/commands/transfers.js.map +1 -0
  193. package/dist/commands/unsuspend.d.ts +2 -6
  194. package/dist/commands/unsuspend.d.ts.map +1 -1
  195. package/dist/commands/unsuspend.js +1 -1
  196. package/dist/commands/unsuspend.js.map +1 -1
  197. package/dist/commands/versions.d.ts +2 -6
  198. package/dist/commands/versions.d.ts.map +1 -1
  199. package/dist/commands/versions.js +1 -1
  200. package/dist/commands/versions.js.map +1 -1
  201. package/dist/commands/wait-deploy.d.ts +2 -12
  202. package/dist/commands/wait-deploy.d.ts.map +1 -1
  203. package/dist/commands/wait-deploy.js +1 -1
  204. package/dist/commands/wait-deploy.js.map +1 -1
  205. package/dist/context.d.ts +15 -0
  206. package/dist/context.d.ts.map +1 -1
  207. package/dist/detect.d.ts +11 -0
  208. package/dist/detect.d.ts.map +1 -1
  209. package/dist/detect.js +31 -8
  210. package/dist/detect.js.map +1 -1
  211. package/dist/env-scan-source.js +1 -1
  212. package/dist/env-scan-source.js.map +1 -1
  213. package/dist/error-classifier.d.ts +17 -0
  214. package/dist/error-classifier.d.ts.map +1 -1
  215. package/dist/error-classifier.js +94 -8
  216. package/dist/error-classifier.js.map +1 -1
  217. package/dist/errors.d.ts +1 -1
  218. package/dist/errors.d.ts.map +1 -1
  219. package/dist/errors.js.map +1 -1
  220. package/dist/index.d.ts +63 -49
  221. package/dist/index.d.ts.map +1 -1
  222. package/dist/index.js +56 -42
  223. package/dist/index.js.map +1 -1
  224. package/dist/plans.d.ts +61 -5
  225. package/dist/plans.d.ts.map +1 -1
  226. package/dist/plans.js +78 -18
  227. package/dist/plans.js.map +1 -1
  228. package/dist/recovery.d.ts +60 -3
  229. package/dist/recovery.d.ts.map +1 -1
  230. package/dist/recovery.js +22 -0
  231. package/dist/recovery.js.map +1 -1
  232. package/dist/static-docker.d.ts +77 -0
  233. package/dist/static-docker.d.ts.map +1 -0
  234. package/dist/static-docker.js +105 -0
  235. package/dist/static-docker.js.map +1 -0
  236. package/dist/tarball.js +1 -1
  237. package/dist/tarball.js.map +1 -1
  238. package/dist/templates/ai-files/cursor-percher-mdc.d.ts.map +1 -1
  239. package/dist/templates/ai-files/cursor-percher-mdc.js +12 -9
  240. package/dist/templates/ai-files/cursor-percher-mdc.js.map +1 -1
  241. package/dist/templates.js +11 -11
  242. package/dist/templates.js.map +1 -1
  243. package/dist/watcher.js +1 -1
  244. package/dist/watcher.js.map +1 -1
  245. package/package.json +6 -2
@@ -1,4 +1,4 @@
1
- import { z } from "zod/v3";
1
+ import { z } from "zod";
2
2
  import { readPercherTomlAppName } from "../app-name";
3
3
  import { PercherCoreError } from "../errors";
4
4
  // Keep in sync with the API-side GITHUB_URL_RE in packages/api/src/routes/github.ts
@@ -10,6 +10,16 @@ export const githubConnectInputSchema = z.object({
10
10
  .regex(GITHUB_URL_RE, "Must be a public GitHub HTTPS URL (https://github.com/owner/repo)")
11
11
  .describe("Public GitHub repo URL (https://github.com/owner/repo)"),
12
12
  branch: z.string().optional().describe("Branch to deploy and track (default: main)"),
13
+ /**
14
+ * FUTURE9 Fas 5 — opt-in to converting pushes to non-tracked branches
15
+ * into preview deploys. Default false — every push to a non-tracked
16
+ * branch is skipped today; flipping this on creates a preview URL
17
+ * at `<app>--p-<branch-slug>.percher.run` for every such push.
18
+ */
19
+ autoPreviews: z
20
+ .boolean()
21
+ .optional()
22
+ .describe("Opt-in: push to a non-tracked branch creates a preview deploy at <app>--p-<branch-slug>.percher.run. Default false."),
13
23
  });
14
24
  function resolveApp(ctx, app) {
15
25
  const name = app ?? readPercherTomlAppName(ctx.cwd);
@@ -28,6 +38,7 @@ export async function githubConnect(ctx, input) {
28
38
  const deployment = await ctx.client.apps.importFromGithub(appRef, {
29
39
  repoUrl: input.repoUrl,
30
40
  branch,
41
+ ...(input.autoPreviews !== undefined ? { autoPreviews: input.autoPreviews } : {}),
31
42
  });
32
43
  // 2. Generate webhook secret — separate call, may fail independently
33
44
  let webhook = null;
@@ -78,6 +89,11 @@ export async function githubConnect(ctx, input) {
78
89
  " Secret: [see webhookInstructions.secret]",
79
90
  " Event: Just the push event",
80
91
  `Every push to ${branch} will auto-deploy the app.`,
92
+ ...(input.autoPreviews
93
+ ? [
94
+ "Auto-previews enabled: pushes to any other branch will deploy to <app>--p-<branch-slug>.percher.run.",
95
+ ]
96
+ : []),
81
97
  ].join("\n"),
82
98
  };
83
99
  }
@@ -1 +1 @@
1
- {"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/commands/github.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/commands/github.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,25 @@
1
- import { z } from "zod/v3";
1
+ import { z } from "zod";
2
2
  import type { Context } from "../context";
3
3
  export declare const importInputSchema: z.ZodObject<{
4
- from: z.ZodOptional<z.ZodEnum<["vercel", "netlify"]>>;
4
+ from: z.ZodOptional<z.ZodEnum<{
5
+ vercel: "vercel";
6
+ netlify: "netlify";
7
+ }>>;
5
8
  app: z.ZodOptional<z.ZodString>;
6
- }, "strip", z.ZodTypeAny, {
7
- app?: string | undefined;
8
- from?: "vercel" | "netlify" | undefined;
9
- }, {
10
- app?: string | undefined;
11
- from?: "vercel" | "netlify" | undefined;
12
- }>;
9
+ }, z.core.$strip>;
13
10
  export type ImportInput = z.infer<typeof importInputSchema>;
14
11
  export interface ImportResult {
15
12
  provider: string;
16
13
  configGenerated: boolean;
17
14
  warnings: string[];
18
15
  envVars: string[];
16
+ /**
17
+ * Extra files written next to percher.toml — the Dockerfile +
18
+ * Caddyfile scaffolded when the imported project is a static
19
+ * framework that needs a build step. Empty otherwise. Relative to
20
+ * the project root.
21
+ */
22
+ scaffoldedFiles: string[];
19
23
  }
20
24
  export declare function importProject(ctx: Context, input?: ImportInput): Promise<ImportResult>;
21
25
  //# sourceMappingURL=import-project.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"import-project.d.ts","sourceRoot":"","sources":["../../src/commands/import-project.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C,eAAO,MAAM,iBAAiB;;;;;;;;;EAM5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAwID,wBAAsB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,WAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CAsChG"}
1
+ {"version":3,"file":"import-project.d.ts","sourceRoot":"","sources":["../../src/commands/import-project.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAQ1C,eAAO,MAAM,iBAAiB;;;;;;iBAM5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;;;;;OAKG;IACH,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAoKD,wBAAsB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,WAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CAkEhG"}
@@ -1,7 +1,8 @@
1
- import { existsSync, readFileSync } from "node:fs";
1
+ import { existsSync, readFileSync, writeFileSync } from "node:fs";
2
2
  import { join } from "node:path";
3
- import { z } from "zod/v3";
3
+ import { z } from "zod";
4
4
  import { PercherCoreError } from "../errors";
5
+ import { renderStaticFrameworkCaddyfile, renderStaticFrameworkDockerfile, STATIC_DOCKER_PORT, } from "../static-docker";
5
6
  export const importInputSchema = z.object({
6
7
  from: z
7
8
  .enum(["vercel", "netlify"])
@@ -19,13 +20,15 @@ function detectProvider(cwd) {
19
20
  function mapVercelFramework(framework) {
20
21
  const map = {
21
22
  nextjs: { runtime: "node", framework: "nextjs" },
22
- "create-react-app": { runtime: "static", framework: "vite" },
23
- vite: { runtime: "static", framework: "vite" },
23
+ // Static frameworks need a build step the `runtime = "static"`
24
+ // Caddy path won't run — they ship as `runtime = "docker"`.
25
+ "create-react-app": { runtime: "docker", framework: "vite", staticBuildSpa: true },
26
+ vite: { runtime: "docker", framework: "vite", staticBuildSpa: true },
24
27
  svelte: { runtime: "node", framework: "sveltekit" },
25
28
  remix: { runtime: "node", framework: "remix" },
26
- astro: { runtime: "static", framework: "astro" },
29
+ astro: { runtime: "docker", framework: "astro", staticBuildSpa: false },
27
30
  nuxtjs: { runtime: "node" },
28
- gatsby: { runtime: "static" },
31
+ gatsby: { runtime: "docker", staticBuildSpa: false },
29
32
  };
30
33
  return map[framework ?? ""] ?? { runtime: "node" };
31
34
  }
@@ -34,14 +37,23 @@ function parseVercelJson(cwd) {
34
37
  const config = JSON.parse(raw);
35
38
  const warnings = [];
36
39
  const envVars = [];
37
- const { runtime, framework } = mapVercelFramework(config.framework);
38
- const buildCommand = config.buildCommand ?? "bun run build";
39
- const output = config.outputDirectory ?? (framework === "nextjs" ? ".next" : "dist");
40
+ const { runtime, framework, staticBuildSpa } = mapVercelFramework(config.framework);
40
41
  let toml = `[app]\nname = "imported-app"\nruntime = "${runtime}"\n`;
41
42
  if (framework)
42
43
  toml += `framework = "${framework}"\n`;
43
- toml += `\n[build]\ncommand = "${buildCommand}"\noutput = "${output}"\n`;
44
- if (runtime !== "static") {
44
+ let staticBuild;
45
+ if (staticBuildSpa !== undefined) {
46
+ // Static framework that needs a build step → runtime = "docker"
47
+ // multi-stage build. The static Caddy runtime rejects a
48
+ // [build].command, so [build] is dropped and a Dockerfile +
49
+ // Caddyfile are scaffolded instead.
50
+ staticBuild = { outputDir: config.outputDirectory ?? "dist", spa: staticBuildSpa };
51
+ toml += `\n[web]\nport = ${STATIC_DOCKER_PORT}\nhealth = "/"\n`;
52
+ }
53
+ else {
54
+ const buildCommand = config.buildCommand ?? "bun run build";
55
+ const output = config.outputDirectory ?? (framework === "nextjs" ? ".next" : "dist");
56
+ toml += `\n[build]\ncommand = "${buildCommand}"\noutput = "${output}"\n`;
45
57
  toml += `\n[web]\nport = 3000\nhealth = "/api/health"\n`;
46
58
  }
47
59
  if (config.env) {
@@ -58,7 +70,7 @@ function parseVercelJson(cwd) {
58
70
  if (config.installCommand && config.installCommand !== "npm install") {
59
71
  warnings.push(`Custom install command "${config.installCommand}" — Percher uses bun install by default`);
60
72
  }
61
- return { toml, warnings, envVars };
73
+ return { toml, warnings, envVars, staticBuild };
62
74
  }
63
75
  function parseNetlifyToml(cwd) {
64
76
  const raw = readFileSync(join(cwd, "netlify.toml"), "utf-8");
@@ -67,14 +79,27 @@ function parseNetlifyToml(cwd) {
67
79
  // Simple TOML parsing for netlify.toml (build section)
68
80
  const buildCommand = raw.match(/command\s*=\s*"([^"]+)"/)?.[1] ?? "bun run build";
69
81
  const publishDir = raw.match(/publish\s*=\s*"([^"]+)"/)?.[1] ?? "dist";
70
- // Detect if static or server
71
- const isStatic = !existsSync(join(cwd, "package.json")) ||
72
- publishDir === "dist" ||
73
- publishDir === "build" ||
74
- publishDir === "public";
75
- let toml = `[app]\nname = "imported-app"\nruntime = "${isStatic ? "static" : "node"}"\n`;
76
- toml += `\n[build]\ncommand = "${buildCommand.replace(/npm run/g, "bun run")}"\noutput = "${publishDir}"\n`;
77
- if (!isStatic) {
82
+ const hasPackageJson = existsSync(join(cwd, "package.json"));
83
+ const looksLikeStaticOutput = publishDir === "dist" || publishDir === "build" || publishDir === "public";
84
+ let toml = `[app]\nname = "imported-app"\n`;
85
+ let staticBuild;
86
+ if (!hasPackageJson) {
87
+ // Plain static site, no build step the static Caddy runtime
88
+ // serves the published files directly. No [build] section.
89
+ toml += `runtime = "static"\n`;
90
+ }
91
+ else if (looksLikeStaticOutput) {
92
+ // Static frontend that needs a build step → runtime = "docker"
93
+ // multi-stage build. netlify.toml doesn't name the framework, so
94
+ // assume an SPA (index.html fallback): a soft 404 on a static
95
+ // site generator is far less broken than a hard 404 on every
96
+ // deep link of an SPA.
97
+ toml += `runtime = "docker"\n\n[web]\nport = ${STATIC_DOCKER_PORT}\nhealth = "/"\n`;
98
+ staticBuild = { outputDir: publishDir, spa: true };
99
+ }
100
+ else {
101
+ toml += `runtime = "node"\n`;
102
+ toml += `\n[build]\ncommand = "${buildCommand.replace(/npm run/g, "bun run")}"\noutput = "${publishDir}"\n`;
78
103
  toml += `\n[web]\nport = 3000\nhealth = "/health"\n`;
79
104
  }
80
105
  // Check for environment variables
@@ -94,7 +119,7 @@ function parseNetlifyToml(cwd) {
94
119
  if (raw.includes("[[redirects]]")) {
95
120
  warnings.push("Netlify redirects detected — Percher doesn't support _redirects. Use your framework's built-in routing instead.");
96
121
  }
97
- return { toml, warnings, envVars };
122
+ return { toml, warnings, envVars, staticBuild };
98
123
  }
99
124
  export async function importProject(ctx, input = {}) {
100
125
  const provider = input.from ?? detectProvider(ctx.cwd);
@@ -122,13 +147,39 @@ export async function importProject(ctx, input = {}) {
122
147
  if (existsSync(tomlPath)) {
123
148
  result.warnings.unshift("percher.toml already exists — overwriting with imported config");
124
149
  }
125
- const { writeFileSync } = await import("node:fs");
126
150
  writeFileSync(tomlPath, result.toml);
151
+ // Static-framework imports ship as runtime = "docker": scaffold the
152
+ // multi-stage Dockerfile + Caddyfile so the project is deploy-ready.
153
+ // A pre-existing Dockerfile/Caddyfile is the user's own — leave it
154
+ // untouched and warn rather than clobbering it.
155
+ const scaffoldedFiles = [];
156
+ if (result.staticBuild) {
157
+ const targets = [
158
+ {
159
+ name: "Dockerfile",
160
+ content: renderStaticFrameworkDockerfile({ outputDir: result.staticBuild.outputDir }),
161
+ },
162
+ {
163
+ name: "Caddyfile",
164
+ content: renderStaticFrameworkCaddyfile({ spa: result.staticBuild.spa }),
165
+ },
166
+ ];
167
+ for (const { name, content } of targets) {
168
+ const target = join(ctx.cwd, name);
169
+ if (existsSync(target)) {
170
+ result.warnings.push(`${name} already exists — left untouched. The imported config expects a multi-stage static build; merge by hand if needed.`);
171
+ continue;
172
+ }
173
+ writeFileSync(target, content, "utf-8");
174
+ scaffoldedFiles.push(name);
175
+ }
176
+ }
127
177
  return {
128
178
  provider,
129
179
  configGenerated: true,
130
180
  warnings: result.warnings,
131
181
  envVars: result.envVars,
182
+ scaffoldedFiles,
132
183
  };
133
184
  }
134
185
  //# sourceMappingURL=import-project.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"import-project.js","sourceRoot":"","sources":["../../src/commands/import-project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import-project.js","sourceRoot":"","sources":["../../src/commands/import-project.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,41 @@
1
1
  import { type PercherConfig } from "@percher/toml";
2
- import { z } from "zod/v3";
2
+ import { z } from "zod";
3
3
  import type { Context } from "../context";
4
4
  import { type DetectedFramework } from "../detect";
5
+ /**
6
+ * FUTURE11 Fas 5 — detect names that almost certainly came from an
7
+ * auto-generated temp directory (timestamps, date stamps, very long
8
+ * trailing slugs). These get a prompt in interactive mode and a
9
+ * stderr warning otherwise — preventing a temp-dir name from
10
+ * silently becoming the app's permanent subdomain.
11
+ *
12
+ * Exported for unit testing.
13
+ */
14
+ export declare function isSuspiciousAutoName(name: string): boolean;
5
15
  export declare const initInputSchema: z.ZodObject<{
6
16
  force: z.ZodOptional<z.ZodBoolean>;
7
17
  name: z.ZodOptional<z.ZodString>;
8
- dataMode: z.ZodOptional<z.ZodEnum<["pocketbase", "postgres", "sqlite", "none"]>>;
9
- }, "strip", z.ZodTypeAny, {
10
- force?: boolean | undefined;
11
- name?: string | undefined;
12
- dataMode?: "pocketbase" | "postgres" | "sqlite" | "none" | undefined;
13
- }, {
14
- force?: boolean | undefined;
15
- name?: string | undefined;
16
- dataMode?: "pocketbase" | "postgres" | "sqlite" | "none" | undefined;
17
- }>;
18
+ dataMode: z.ZodOptional<z.ZodEnum<{
19
+ pocketbase: "pocketbase";
20
+ postgres: "postgres";
21
+ sqlite: "sqlite";
22
+ none: "none";
23
+ }>>;
24
+ interactive: z.ZodOptional<z.ZodBoolean>;
25
+ }, z.core.$strip>;
18
26
  export type InitInput = z.infer<typeof initInputSchema>;
19
27
  export interface InitResult {
20
28
  path: string;
21
29
  config: PercherConfig;
22
30
  detected: DetectedFramework | null;
23
31
  overwritten: boolean;
32
+ /**
33
+ * Extra files written next to percher.toml — currently the
34
+ * Dockerfile + Caddyfile scaffolded for static frameworks that need
35
+ * a build step (Vite, static Astro). Empty for every other project.
36
+ * Relative to the project root.
37
+ */
38
+ scaffoldedFiles: string[];
24
39
  }
25
40
  export declare function init(ctx: Context, input?: InitInput): Promise<InitResult>;
26
41
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAA2B,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,KAAK,iBAAiB,EAAqC,MAAM,WAAW,CAAC;AAmBtF,eAAO,MAAM,eAAe;;;;;;;;;;;;EAI1B,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,aAAa,CAAC;IACtB,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACnC,WAAW,EAAE,OAAO,CAAC;CACtB;AAQD,wBAAsB,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,SAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CA6CnF"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,aAAa,EAAa,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,KAAK,iBAAiB,EAAqC,MAAM,WAAW,CAAC;AAItF;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAU1D;AA6BD,eAAO,MAAM,eAAe;;;;;;;;;;iBAU1B,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,aAAa,CAAC;IACtB,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACnC,WAAW,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAQD,wBAAsB,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,SAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAgHnF"}
@@ -1,9 +1,43 @@
1
1
  import { existsSync, writeFileSync } from "node:fs";
2
2
  import { basename, join } from "node:path";
3
3
  import { generateName, serialize } from "@percher/toml";
4
- import { z } from "zod/v3";
4
+ import { z } from "zod";
5
5
  import { detectFramework, refineBunRuntime } from "../detect";
6
6
  import { PercherCoreError } from "../errors";
7
+ import { renderStaticFrameworkCaddyfile, renderStaticFrameworkDockerfile } from "../static-docker";
8
+ /**
9
+ * FUTURE11 Fas 5 — detect names that almost certainly came from an
10
+ * auto-generated temp directory (timestamps, date stamps, very long
11
+ * trailing slugs). These get a prompt in interactive mode and a
12
+ * stderr warning otherwise — preventing a temp-dir name from
13
+ * silently becoming the app's permanent subdomain.
14
+ *
15
+ * Exported for unit testing.
16
+ */
17
+ export function isSuspiciousAutoName(name) {
18
+ // Suffix of 8+ digits — catches `tool-20260512164520` without
19
+ // catching `app-v2` or `app-123`.
20
+ if (/-\d{8,}$/.test(name))
21
+ return true;
22
+ // Date-shaped substring — `2026-05-12`, `20260512`, `app-2026-05`.
23
+ if (/\d{4}-?\d{2}-?\d{2}/.test(name))
24
+ return true;
25
+ // Very long names — almost certainly an auto-generated dir slug
26
+ // rather than a deliberate app name.
27
+ if (name.length >= 30)
28
+ return true;
29
+ return false;
30
+ }
31
+ /**
32
+ * Heuristic for interactive mode used when an explicit
33
+ * `interactive` value isn't passed via input. Treats Node's TTY
34
+ * check as the source of truth — bun:test, MCP, and CI all see
35
+ * `process.stdin?.isTTY === undefined`, so they fall through to
36
+ * non-interactive behavior naturally.
37
+ */
38
+ function detectInteractive() {
39
+ return process.stdin?.isTTY === true && process.stdout?.isTTY === true;
40
+ }
7
41
  function buildDataConfig(mode) {
8
42
  if (mode === "convex") {
9
43
  return {
@@ -23,6 +57,12 @@ export const initInputSchema = z.object({
23
57
  force: z.boolean().optional(),
24
58
  name: z.string().optional(),
25
59
  dataMode: z.enum(["pocketbase", "postgres", "sqlite", "none"]).optional(),
60
+ /**
61
+ * Override the TTY-based interactive detection. CLI passes true,
62
+ * MCP / CI / agent callers pass false, tests pin it explicitly.
63
+ * Defaults to `process.stdin.isTTY && process.stdout.isTTY`.
64
+ */
65
+ interactive: z.boolean().optional(),
26
66
  });
27
67
  function scanEnvVars(_cwd) {
28
68
  // Minimal implementation: do not walk the full tree in init. The CLI can
@@ -40,7 +80,37 @@ export async function init(ctx, input = {}) {
40
80
  }
41
81
  const rawDetected = await detectFramework(ctx.cwd);
42
82
  const detected = rawDetected ? refineBunRuntime(rawDetected, ctx.cwd) : null;
43
- const name = input.name ?? generateName(basename(ctx.cwd));
83
+ // FUTURE11 Fas 5 — auto-name flow:
84
+ // - --name takes priority (CI/agent path).
85
+ // - Otherwise slugify the dir name. If the slug looks
86
+ // auto-generated (timestamp, date stamp, ≥30 chars) and we're
87
+ // interactive, prompt the user with the suggestion as default.
88
+ // In non-interactive mode emit a stderr warning so the user
89
+ // notices the name retroactively when reading the log.
90
+ let name;
91
+ if (input.name) {
92
+ name = input.name;
93
+ }
94
+ else {
95
+ const suggestion = generateName(basename(ctx.cwd));
96
+ const interactive = input.interactive ?? detectInteractive();
97
+ if (isSuspiciousAutoName(suggestion) && interactive) {
98
+ const answer = (await ctx.prompt(`Suggested app name: '${suggestion}'. Press Enter to accept, or type a different name: `, { default: suggestion })).trim();
99
+ name = answer.length > 0 ? answer : suggestion;
100
+ }
101
+ else {
102
+ if (isSuspiciousAutoName(suggestion)) {
103
+ const writer = ctx.stderr.getWriter();
104
+ try {
105
+ await writer.write(new TextEncoder().encode(`warning: auto-generated app name '${suggestion}' looks like a temp-dir slug — set [app].name in percher.toml or pass --name to override.\n`));
106
+ }
107
+ finally {
108
+ writer.releaseLock();
109
+ }
110
+ }
111
+ name = suggestion;
112
+ }
113
+ }
44
114
  const config = {
45
115
  app: {
46
116
  name,
@@ -62,11 +132,42 @@ export async function init(ctx, input = {}) {
62
132
  config.env = envVars;
63
133
  }
64
134
  writeFileSync(path, serialize(config), "utf8");
135
+ // Static frameworks that need a build step ship as runtime = "docker"
136
+ // (the static Caddy path serves pre-built files only — it rejects a
137
+ // [build].command). Scaffold the multi-stage Dockerfile + Caddyfile
138
+ // alongside percher.toml so the project is deploy-ready. Detection
139
+ // guarantees no Dockerfile exists here — a pre-existing one routes to
140
+ // runtime = "docker"/framework = "docker" earlier and never sets
141
+ // `staticBuild` — but guard every write so an unrelated file is never
142
+ // clobbered without --force.
143
+ const scaffoldedFiles = [];
144
+ if (detected?.staticBuild) {
145
+ const targets = [
146
+ {
147
+ name: "Dockerfile",
148
+ content: renderStaticFrameworkDockerfile({
149
+ outputDir: detected.staticBuild.outputDir,
150
+ }),
151
+ },
152
+ {
153
+ name: "Caddyfile",
154
+ content: renderStaticFrameworkCaddyfile({ spa: detected.staticBuild.spa }),
155
+ },
156
+ ];
157
+ for (const { name, content } of targets) {
158
+ const target = join(ctx.cwd, name);
159
+ if (existsSync(target) && !input.force)
160
+ continue;
161
+ writeFileSync(target, content, "utf8");
162
+ scaffoldedFiles.push(name);
163
+ }
164
+ }
65
165
  return {
66
166
  path,
67
167
  config,
68
168
  detected,
69
169
  overwritten: exists,
170
+ scaffoldedFiles,
70
171
  };
71
172
  }
72
173
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,8 @@
1
- import { z } from "zod/v3";
1
+ import { z } from "zod";
2
2
  import type { Context } from "../context";
3
3
  export declare const insightsInputSchema: z.ZodObject<{
4
4
  app: z.ZodOptional<z.ZodString>;
5
- }, "strip", z.ZodTypeAny, {
6
- app?: string | undefined;
7
- }, {
8
- app?: string | undefined;
9
- }>;
5
+ }, z.core.$strip>;
10
6
  export type InsightsInput = z.infer<typeof insightsInputSchema>;
11
7
  export interface InsightSuggestion {
12
8
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"insights.d.ts","sourceRoot":"","sources":["../../src/commands/insights.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C,eAAO,MAAM,mBAAmB;;;;;;EAE9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,mBAAmB,CAAC;IAC3E,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC;CAC1D;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,aAAkB,GAAG,OAAO,CAAC,cAAc,CAAC,CAqC/F"}
1
+ {"version":3,"file":"insights.d.ts","sourceRoot":"","sources":["../../src/commands/insights.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C,eAAO,MAAM,mBAAmB;;iBAE9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,mBAAmB,CAAC;IAC3E,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC;CAC1D;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,aAAkB,GAAG,OAAO,CAAC,cAAc,CAAC,CAqC/F"}
@@ -1,4 +1,4 @@
1
- import { z } from "zod/v3";
1
+ import { z } from "zod";
2
2
  import { readPercherTomlAppName } from "../app-name";
3
3
  import { PercherCoreError } from "../errors";
4
4
  export const insightsInputSchema = z.object({
@@ -1 +1 @@
1
- {"version":3,"file":"insights.js","sourceRoot":"","sources":["../../src/commands/insights.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,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC3B,CAAC,CAAC;AA0BH;;;;;;;;;;GAUG;AACH,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,iBAAiB;YACvB,IAAI,EAAE,6DAA6D;SACpE,CAAC,CAAC;IACL,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAErD,MAAM,QAAQ,GAAkD;QAC9D,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,CAAC;KACR,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE9F,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,GAAG,uBAAuB,IAAI,CAAC,OAAO,YAAY,IAAI,CAAC,IAAI,IAAI,CAAC;IACzE,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,GAAG,GAAG,IAAI,CAAC,OAAO,KAAK,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,UAAU,EAAE,CAAC;YAC7D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO,IAAI,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,mBAAmB,MAAM,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAC7F,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,QAAQ,EAAE,MAAM;QAChB,OAAO;KACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"insights.js","sourceRoot":"","sources":["../../src/commands/insights.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;IAC1C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC3B,CAAC,CAAC;AA0BH;;;;;;;;;;GAUG;AACH,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,iBAAiB;YACvB,IAAI,EAAE,6DAA6D;SACpE,CAAC,CAAC;IACL,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAErD,MAAM,QAAQ,GAAkD;QAC9D,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,CAAC;KACR,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE9F,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,GAAG,uBAAuB,IAAI,CAAC,OAAO,YAAY,IAAI,CAAC,IAAI,IAAI,CAAC;IACzE,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,GAAG,GAAG,IAAI,CAAC,OAAO,KAAK,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,UAAU,EAAE,CAAC;YAC7D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO,IAAI,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,mBAAmB,MAAM,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAC7F,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,QAAQ,EAAE,MAAM;QAChB,OAAO;KACR,CAAC;AACJ,CAAC"}
@@ -1,15 +1,9 @@
1
- import { z } from "zod/v3";
1
+ import { z } from "zod";
2
2
  import type { Context } from "../context";
3
3
  export declare const loginInputSchema: z.ZodObject<{
4
4
  token: z.ZodOptional<z.ZodString>;
5
5
  apiUrl: z.ZodOptional<z.ZodString>;
6
- }, "strip", z.ZodTypeAny, {
7
- token?: string | undefined;
8
- apiUrl?: string | undefined;
9
- }, {
10
- token?: string | undefined;
11
- apiUrl?: string | undefined;
12
- }>;
6
+ }, z.core.$strip>;
13
7
  export type LoginInput = z.infer<typeof loginInputSchema>;
14
8
  export declare function login(ctx: Context, input?: LoginInput): Promise<string>;
15
9
  //# sourceMappingURL=login.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C,eAAO,MAAM,gBAAgB;;;;;;;;;EAG3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAuB1D,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,UAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CA+BjF"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C,eAAO,MAAM,gBAAgB;;;iBAG3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AA2C1D,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,UAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CA+BjF"}
@@ -1,5 +1,5 @@
1
1
  import { PercherClient, saveConfig } from "@percher/client";
2
- import { z } from "zod/v3";
2
+ import { z } from "zod";
3
3
  import { PercherCoreError } from "../errors";
4
4
  export const loginInputSchema = z.object({
5
5
  token: z.string().optional(),
@@ -16,9 +16,30 @@ async function validateAndPersist(ctx, apiUrl, token) {
16
16
  const client = new PercherClient({
17
17
  apiUrl: apiUrl ?? ctx.client.apiUrl,
18
18
  token,
19
+ // FUTURE6 — carry the MCP session id forward across the
20
+ // re-mint. Without this, post-login MCP requests would drop the
21
+ // X-Percher-Session header (PercherClient reads options only in
22
+ // its constructor) and the server's per-session limit would no
23
+ // longer see the agent's loop.
24
+ sessionId: ctx.client.sessionId,
19
25
  });
20
26
  const me = await client.auth.whoami();
21
27
  await writeStatus(ctx, `Signed in as ${me.email}`);
28
+ // FUTURE16 Fas 1.4: re-bind ctx.client so subsequent tool calls in
29
+ // the same MCP session see the new token. PercherClient reads
30
+ // loadConfig() only once in its constructor — without rebinding,
31
+ // the singleton context behöll pre-login-clienten (token: null)
32
+ // även efter saveConfig skrev token till disk. Pre-fix triggades
33
+ // det här bara när en agent försökte publish:a i samma MCP-session
34
+ // som login:en (en ny MCP-session återskapade singleton från disk
35
+ // och fungerade); recovery-kontraktet säger att open_login →
36
+ // percher_login → omkall publish ska fungera utan restart.
37
+ if (ctx.setClient) {
38
+ ctx.setClient(client);
39
+ }
40
+ else {
41
+ ctx.client = client;
42
+ }
22
43
  return token;
23
44
  }
24
45
  export async function login(ctx, input = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}