@percher/core 0.3.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) 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 +3 -2
  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 +20 -35
  63. package/dist/commands/doctor.d.ts.map +1 -1
  64. package/dist/commands/doctor.js +42 -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-failure.d.ts.map +1 -1
  146. package/dist/commands/publish-failure.js +11 -3
  147. package/dist/commands/publish-failure.js.map +1 -1
  148. package/dist/commands/publish-node.d.ts +5 -2
  149. package/dist/commands/publish-node.d.ts.map +1 -1
  150. package/dist/commands/publish-node.js +7 -3
  151. package/dist/commands/publish-node.js.map +1 -1
  152. package/dist/commands/publish.d.ts +58 -17
  153. package/dist/commands/publish.d.ts.map +1 -1
  154. package/dist/commands/publish.js +407 -145
  155. package/dist/commands/publish.js.map +1 -1
  156. package/dist/commands/push.d.ts +2 -12
  157. package/dist/commands/push.d.ts.map +1 -1
  158. package/dist/commands/push.js +25 -7
  159. package/dist/commands/push.js.map +1 -1
  160. package/dist/commands/redeploy.d.ts +2 -8
  161. package/dist/commands/redeploy.d.ts.map +1 -1
  162. package/dist/commands/redeploy.js +20 -16
  163. package/dist/commands/redeploy.js.map +1 -1
  164. package/dist/commands/rename.d.ts +2 -8
  165. package/dist/commands/rename.d.ts.map +1 -1
  166. package/dist/commands/rename.js +1 -1
  167. package/dist/commands/rename.js.map +1 -1
  168. package/dist/commands/reproduce.d.ts +2 -8
  169. package/dist/commands/reproduce.d.ts.map +1 -1
  170. package/dist/commands/reproduce.js +1 -1
  171. package/dist/commands/reproduce.js.map +1 -1
  172. package/dist/commands/reset-superuser.d.ts +2 -16
  173. package/dist/commands/reset-superuser.d.ts.map +1 -1
  174. package/dist/commands/reset-superuser.js +1 -1
  175. package/dist/commands/reset-superuser.js.map +1 -1
  176. package/dist/commands/restore.d.ts +7 -22
  177. package/dist/commands/restore.d.ts.map +1 -1
  178. package/dist/commands/restore.js +1 -1
  179. package/dist/commands/restore.js.map +1 -1
  180. package/dist/commands/resume.d.ts +2 -6
  181. package/dist/commands/resume.d.ts.map +1 -1
  182. package/dist/commands/resume.js +1 -1
  183. package/dist/commands/resume.js.map +1 -1
  184. package/dist/commands/rollback.d.ts +4 -9
  185. package/dist/commands/rollback.d.ts.map +1 -1
  186. package/dist/commands/rollback.js +3 -2
  187. package/dist/commands/rollback.js.map +1 -1
  188. package/dist/commands/sharing.d.ts +48 -0
  189. package/dist/commands/sharing.d.ts.map +1 -0
  190. package/dist/commands/sharing.js +85 -0
  191. package/dist/commands/sharing.js.map +1 -0
  192. package/dist/commands/status.d.ts +29 -0
  193. package/dist/commands/status.d.ts.map +1 -0
  194. package/dist/commands/status.js +48 -0
  195. package/dist/commands/status.js.map +1 -0
  196. package/dist/commands/transfers.d.ts +34 -0
  197. package/dist/commands/transfers.d.ts.map +1 -0
  198. package/dist/commands/transfers.js +62 -0
  199. package/dist/commands/transfers.js.map +1 -0
  200. package/dist/commands/unsuspend.d.ts +2 -6
  201. package/dist/commands/unsuspend.d.ts.map +1 -1
  202. package/dist/commands/unsuspend.js +1 -1
  203. package/dist/commands/unsuspend.js.map +1 -1
  204. package/dist/commands/versions.d.ts +2 -6
  205. package/dist/commands/versions.d.ts.map +1 -1
  206. package/dist/commands/versions.js +1 -1
  207. package/dist/commands/versions.js.map +1 -1
  208. package/dist/commands/wait-deploy.d.ts +2 -12
  209. package/dist/commands/wait-deploy.d.ts.map +1 -1
  210. package/dist/commands/wait-deploy.js +5 -4
  211. package/dist/commands/wait-deploy.js.map +1 -1
  212. package/dist/context.d.ts +15 -0
  213. package/dist/context.d.ts.map +1 -1
  214. package/dist/detect.d.ts +11 -0
  215. package/dist/detect.d.ts.map +1 -1
  216. package/dist/detect.js +31 -8
  217. package/dist/detect.js.map +1 -1
  218. package/dist/env-scan-source.js +1 -1
  219. package/dist/env-scan-source.js.map +1 -1
  220. package/dist/error-classifier.d.ts +17 -0
  221. package/dist/error-classifier.d.ts.map +1 -1
  222. package/dist/error-classifier.js +95 -9
  223. package/dist/error-classifier.js.map +1 -1
  224. package/dist/errors.d.ts +1 -1
  225. package/dist/errors.d.ts.map +1 -1
  226. package/dist/errors.js.map +1 -1
  227. package/dist/event-renderer.d.ts +17 -0
  228. package/dist/event-renderer.d.ts.map +1 -0
  229. package/dist/event-renderer.js +130 -0
  230. package/dist/event-renderer.js.map +1 -0
  231. package/dist/index.d.ts +63 -47
  232. package/dist/index.d.ts.map +1 -1
  233. package/dist/index.js +56 -40
  234. package/dist/index.js.map +1 -1
  235. package/dist/plans.d.ts +70 -5
  236. package/dist/plans.d.ts.map +1 -1
  237. package/dist/plans.js +83 -18
  238. package/dist/plans.js.map +1 -1
  239. package/dist/poll-deployment.d.ts +13 -1
  240. package/dist/poll-deployment.d.ts.map +1 -1
  241. package/dist/poll-deployment.js +37 -1
  242. package/dist/poll-deployment.js.map +1 -1
  243. package/dist/publish-retry.d.ts +29 -0
  244. package/dist/publish-retry.d.ts.map +1 -0
  245. package/dist/publish-retry.js +224 -0
  246. package/dist/publish-retry.js.map +1 -0
  247. package/dist/recovery.d.ts +60 -3
  248. package/dist/recovery.d.ts.map +1 -1
  249. package/dist/recovery.js +24 -1
  250. package/dist/recovery.js.map +1 -1
  251. package/dist/static-docker.d.ts +77 -0
  252. package/dist/static-docker.d.ts.map +1 -0
  253. package/dist/static-docker.js +105 -0
  254. package/dist/static-docker.js.map +1 -0
  255. package/dist/structured-error-codes.d.ts +30 -0
  256. package/dist/structured-error-codes.d.ts.map +1 -0
  257. package/dist/structured-error-codes.js +86 -0
  258. package/dist/structured-error-codes.js.map +1 -0
  259. package/dist/tarball.d.ts +11 -0
  260. package/dist/tarball.d.ts.map +1 -1
  261. package/dist/tarball.js +31 -10
  262. package/dist/tarball.js.map +1 -1
  263. package/dist/templates/ai-files/cursor-percher-mdc.d.ts.map +1 -1
  264. package/dist/templates/ai-files/cursor-percher-mdc.js +12 -9
  265. package/dist/templates/ai-files/cursor-percher-mdc.js.map +1 -1
  266. package/dist/templates.js +11 -11
  267. package/dist/templates.js.map +1 -1
  268. package/dist/watcher.js +1 -1
  269. package/dist/watcher.js.map +1 -1
  270. package/package.json +7 -2
@@ -1,5 +1,5 @@
1
1
  import type { BackupSidecar, RestoreJob } from "@percher/client";
2
- import { z } from "zod/v3";
2
+ import { z } from "zod";
3
3
  import type { Context } from "../context";
4
4
  /**
5
5
  * Per-app restore (B.2 — CLI/MCP entry point on top of B.1.4).
@@ -15,11 +15,7 @@ import type { Context } from "../context";
15
15
  */
16
16
  export declare const listBackupsInputSchema: z.ZodObject<{
17
17
  app: z.ZodOptional<z.ZodString>;
18
- }, "strip", z.ZodTypeAny, {
19
- app?: string | undefined;
20
- }, {
21
- app?: string | undefined;
22
- }>;
18
+ }, z.core.$strip>;
23
19
  export type ListBackupsInput = z.infer<typeof listBackupsInputSchema>;
24
20
  export declare function listBackups(ctx: Context, input: ListBackupsInput): Promise<{
25
21
  backups: BackupSidecar[];
@@ -39,24 +35,13 @@ export declare function listBackups(ctx: Context, input: ListBackupsInput): Prom
39
35
  */
40
36
  export declare const restoreInputSchema: z.ZodObject<{
41
37
  app: z.ZodOptional<z.ZodString>;
42
- /** "latest" | "YYYY-MM-DD" | "<backup_id>" — passed through to API. */
43
38
  source: z.ZodString;
44
- /** Defaults to ["appdata", "pocketbase"] when undefined — matches API. */
45
- components: z.ZodOptional<z.ZodArray<z.ZodEnum<["appdata", "pocketbase"]>, "many">>;
46
- /** Validate source + show what would happen, but don't actually start
47
- * the restore. */
39
+ components: z.ZodOptional<z.ZodArray<z.ZodEnum<{
40
+ pocketbase: "pocketbase";
41
+ appdata: "appdata";
42
+ }>>>;
48
43
  dryRun: z.ZodDefault<z.ZodBoolean>;
49
- }, "strip", z.ZodTypeAny, {
50
- dryRun: boolean;
51
- source: string;
52
- app?: string | undefined;
53
- components?: ("pocketbase" | "appdata")[] | undefined;
54
- }, {
55
- source: string;
56
- app?: string | undefined;
57
- dryRun?: boolean | undefined;
58
- components?: ("pocketbase" | "appdata")[] | undefined;
59
- }>;
44
+ }, z.core.$strip>;
60
45
  export type RestoreInput = z.infer<typeof restoreInputSchema>;
61
46
  /**
62
47
  * Internal-only knobs for tests + future automation. NOT part of the
@@ -1 +1 @@
1
- {"version":3,"file":"restore.d.ts","sourceRoot":"","sources":["../../src/commands/restore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,sBAAsB;;;;;;EAEjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,wBAAsB,WAAW,CAC/B,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC;IAAE,OAAO,EAAE,aAAa,EAAE,CAAC;IAAC,OAAO,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAS7F;AAID;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB;;IAE7B,uEAAuE;;IAEvE,0EAA0E;;IAE1E;uBACmB;;;;;;;;;;;;EAEnB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,aAAa,CAAC;IAC9B,UAAU,EAAE,CAAC,SAAS,GAAG,YAAY,CAAC,EAAE,CAAC;CAC1C;AAED,wBAAsB,OAAO,CAC3B,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,YAAY,EACnB,SAAS,GAAE,gBAAqB,GAC/B,OAAO,CAAC,UAAU,GAAG,YAAY,CAAC,CAiFpC"}
1
+ {"version":3,"file":"restore.d.ts","sourceRoot":"","sources":["../../src/commands/restore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,sBAAsB;;iBAEjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,wBAAsB,WAAW,CAC/B,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC;IAAE,OAAO,EAAE,aAAa,EAAE,CAAC;IAAC,OAAO,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAS7F;AAID;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;iBAS7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,aAAa,CAAC;IAC9B,UAAU,EAAE,CAAC,SAAS,GAAG,YAAY,CAAC,EAAE,CAAC;CAC1C;AAED,wBAAsB,OAAO,CAC3B,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,YAAY,EACnB,SAAS,GAAE,gBAAqB,GAC/B,OAAO,CAAC,UAAU,GAAG,YAAY,CAAC,CAiFpC"}
@@ -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
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"restore.js","sourceRoot":"","sources":["../../src/commands/restore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"restore.js","sourceRoot":"","sources":["../../src/commands/restore.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 resumeInputSchema: 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 ResumeInput = z.infer<typeof resumeInputSchema>;
11
7
  export declare function resume(ctx: Context, input?: ResumeInput): Promise<{
12
8
  status: string;
@@ -1 +1 @@
1
- {"version":3,"file":"resume.d.ts","sourceRoot":"","sources":["../../src/commands/resume.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C,eAAO,MAAM,iBAAiB;;;;;;EAE5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,wBAAsB,MAAM,CAC1B,GAAG,EAAE,OAAO,EACZ,KAAK,GAAE,WAAgB,GACtB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAS9C"}
1
+ {"version":3,"file":"resume.d.ts","sourceRoot":"","sources":["../../src/commands/resume.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C,eAAO,MAAM,iBAAiB;;iBAE5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,wBAAsB,MAAM,CAC1B,GAAG,EAAE,OAAO,EACZ,KAAK,GAAE,WAAgB,GACtB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAS9C"}
@@ -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 resumeInputSchema = z.object({
@@ -1 +1 @@
1
- {"version":3,"file":"resume.js","sourceRoot":"","sources":["../../src/commands/resume.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;CAC3B,CAAC,CAAC;AAGH,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,GAAY,EACZ,QAAqB,EAAE;IAEvB,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,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"resume.js","sourceRoot":"","sources":["../../src/commands/resume.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;CAC3B,CAAC,CAAC;AAGH,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,GAAY,EACZ,QAAqB,EAAE;IAEvB,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,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { Deployment } from "@percher/client";
2
- import { z } from "zod/v3";
2
+ import { z } from "zod";
3
3
  import type { Context } from "../context";
4
4
  /**
5
5
  * Public input — surfaces in MCP `inputSchema` for AI assistants + on
@@ -11,13 +11,7 @@ import type { Context } from "../context";
11
11
  export declare const rollbackInputSchema: z.ZodObject<{
12
12
  app: z.ZodOptional<z.ZodString>;
13
13
  commitSha: z.ZodString;
14
- }, "strip", z.ZodTypeAny, {
15
- commitSha: string;
16
- app?: string | undefined;
17
- }, {
18
- commitSha: string;
19
- app?: string | undefined;
20
- }>;
14
+ }, z.core.$strip>;
21
15
  export type RollbackInput = z.infer<typeof rollbackInputSchema>;
22
16
  /**
23
17
  * Internal-only knobs for tests + future automation. NOT part of the
@@ -27,7 +21,8 @@ export type RollbackInput = z.infer<typeof rollbackInputSchema>;
27
21
  export interface RollbackInternals {
28
22
  /** Poll cadence between deployment status checks (ms). Default 2000. */
29
23
  pollIntervalMs?: number;
30
- /** Hard cap before throwing push.deploy-timeout (ms). Default 5 min. */
24
+ /** Hard cap before throwing push.deploy-timeout (ms). Default tracks
25
+ * the shared `clientPublishPoll` budget (Phase 7.1). */
31
26
  timeoutMs?: number;
32
27
  }
33
28
  export declare function rollback(ctx: Context, input: RollbackInput, internals?: RollbackInternals): Promise<Deployment>;
@@ -1 +1 @@
1
- {"version":3,"file":"rollback.d.ts","sourceRoot":"","sources":["../../src/commands/rollback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;EAG9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,aAAa,EACpB,SAAS,GAAE,iBAAsB,GAChC,OAAO,CAAC,UAAU,CAAC,CAkCrB"}
1
+ {"version":3,"file":"rollback.d.ts","sourceRoot":"","sources":["../../src/commands/rollback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB;;;iBAG9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;6DACyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,aAAa,EACpB,SAAS,GAAE,iBAAsB,GAChC,OAAO,CAAC,UAAU,CAAC,CAkCrB"}
@@ -1,4 +1,5 @@
1
- import { z } from "zod/v3";
1
+ import { TIMEOUTS } from "@percher/shared/timeouts";
2
+ import { z } from "zod";
2
3
  import { readPercherTomlAppName } from "../app-name";
3
4
  import { PercherCoreError } from "../errors";
4
5
  /**
@@ -22,7 +23,7 @@ export async function rollback(ctx, input, internals = {}) {
22
23
  }
23
24
  let deployment = await ctx.client.apps.rollback(name, input.commitSha);
24
25
  const pollInterval = internals.pollIntervalMs ?? 2000;
25
- const timeoutMs = internals.timeoutMs ?? 5 * 60 * 1000;
26
+ const timeoutMs = internals.timeoutMs ?? TIMEOUTS.clientPublishPoll;
26
27
  const startedAt = Date.now();
27
28
  while (deployment.status !== "live" && deployment.status !== "failed") {
28
29
  if (Date.now() - startedAt > timeoutMs) {
@@ -1 +1 @@
1
- {"version":3,"file":"rollback.js","sourceRoot":"","sources":["../../src/commands/rollback.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC7B,CAAC,CAAC;AAeH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,GAAY,EACZ,KAAoB,EACpB,YAA+B,EAAE;IAEjC,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,8DAA8D;SACrE,CAAC,CAAC;IACL,CAAC;IACD,IAAI,UAAU,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAEvE,MAAM,YAAY,GAAG,SAAS,CAAC,cAAc,IAAI,IAAI,CAAC;IACtD,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;IACvD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,OAAO,UAAU,CAAC,MAAM,KAAK,MAAM,IAAI,UAAU,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACtE,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE,CAAC;YACvC,MAAM,IAAI,gBAAgB,CAAC,oBAAoB,EAAE;gBAC/C,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,0CAA0C;aACjD,CAAC,CAAC;QACL,CAAC;QACD,GAAG,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC;QACtC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;QACtD,UAAU,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,IAAI,gBAAgB,CAAC,iBAAiB,EAAE;YAC5C,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE,4CAA4C;SACnD,CAAC,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"rollback.js","sourceRoot":"","sources":["../../src/commands/rollback.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC7B,CAAC,CAAC;AAgBH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,GAAY,EACZ,KAAoB,EACpB,YAA+B,EAAE;IAEjC,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,8DAA8D;SACrE,CAAC,CAAC;IACL,CAAC;IACD,IAAI,UAAU,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAEvE,MAAM,YAAY,GAAG,SAAS,CAAC,cAAc,IAAI,IAAI,CAAC;IACtD,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,IAAI,QAAQ,CAAC,iBAAiB,CAAC;IACpE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,OAAO,UAAU,CAAC,MAAM,KAAK,MAAM,IAAI,UAAU,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACtE,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE,CAAC;YACvC,MAAM,IAAI,gBAAgB,CAAC,oBAAoB,EAAE;gBAC/C,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,0CAA0C;aACjD,CAAC,CAAC;QACL,CAAC;QACD,GAAG,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC;QACtC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;QACtD,UAAU,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,IAAI,gBAAgB,CAAC,iBAAiB,EAAE;YAC5C,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE,4CAA4C;SACnD,CAAC,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -0,0 +1,48 @@
1
+ import type { AcceptedInvite, CreatedShare, PendingInvite, ShareRow } from "@percher/client";
2
+ import { z } from "zod";
3
+ import type { Context } from "../context";
4
+ export declare const shareListInputSchema: z.ZodObject<{
5
+ app: z.ZodOptional<z.ZodString>;
6
+ }, z.core.$strip>;
7
+ export type ShareListInput = z.infer<typeof shareListInputSchema>;
8
+ export declare const shareInviteInputSchema: z.ZodObject<{
9
+ app: z.ZodOptional<z.ZodString>;
10
+ email: z.ZodString;
11
+ role: z.ZodDefault<z.ZodEnum<{
12
+ viewer: "viewer";
13
+ admin: "admin";
14
+ }>>;
15
+ }, z.core.$strip>;
16
+ export type ShareInviteInput = z.infer<typeof shareInviteInputSchema>;
17
+ export declare const shareSetRoleInputSchema: z.ZodObject<{
18
+ app: z.ZodOptional<z.ZodString>;
19
+ shareId: z.ZodString;
20
+ role: z.ZodEnum<{
21
+ viewer: "viewer";
22
+ admin: "admin";
23
+ }>;
24
+ }, z.core.$strip>;
25
+ export type ShareSetRoleInput = z.infer<typeof shareSetRoleInputSchema>;
26
+ export declare const shareRevokeInputSchema: z.ZodObject<{
27
+ app: z.ZodOptional<z.ZodString>;
28
+ shareId: z.ZodString;
29
+ }, z.core.$strip>;
30
+ export type ShareRevokeInput = z.infer<typeof shareRevokeInputSchema>;
31
+ export declare function shareList(ctx: Context, input?: ShareListInput): Promise<ShareRow[]>;
32
+ export declare function shareInvite(ctx: Context, input: ShareInviteInput): Promise<CreatedShare>;
33
+ export declare function shareSetRole(ctx: Context, input: ShareSetRoleInput): Promise<ShareRow>;
34
+ export declare function shareRevoke(ctx: Context, input: ShareRevokeInput): Promise<void>;
35
+ export declare const invitesListInputSchema: z.ZodObject<{}, z.core.$strip>;
36
+ export type InvitesListInput = z.infer<typeof invitesListInputSchema>;
37
+ export declare const invitesAcceptInputSchema: z.ZodObject<{
38
+ shareId: z.ZodString;
39
+ }, z.core.$strip>;
40
+ export type InvitesAcceptInput = z.infer<typeof invitesAcceptInputSchema>;
41
+ export declare const invitesDeclineInputSchema: z.ZodObject<{
42
+ shareId: z.ZodString;
43
+ }, z.core.$strip>;
44
+ export type InvitesDeclineInput = z.infer<typeof invitesDeclineInputSchema>;
45
+ export declare function invitesList(ctx: Context, _input?: InvitesListInput): Promise<PendingInvite[]>;
46
+ export declare function invitesAccept(ctx: Context, input: InvitesAcceptInput): Promise<AcceptedInvite>;
47
+ export declare function invitesDecline(ctx: Context, input: InvitesDeclineInput): Promise<void>;
48
+ //# sourceMappingURL=sharing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sharing.d.ts","sourceRoot":"","sources":["../../src/commands/sharing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC7F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAsC1C,eAAO,MAAM,oBAAoB;;iBAE/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,sBAAsB;;;;;;;iBAIjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,uBAAuB;;;;;;;iBAIlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,sBAAsB;;;iBAGjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,wBAAsB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,cAAmB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAG7F;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CAG9F;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAG5F;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAGtF;AAID,eAAO,MAAM,sBAAsB,gCAAe,CAAC;AACnD,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,wBAAwB;;iBAEnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,yBAAyB;;iBAEpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,wBAAsB,WAAW,CAC/B,GAAG,EAAE,OAAO,EACZ,MAAM,GAAE,gBAAqB,GAC5B,OAAO,CAAC,aAAa,EAAE,CAAC,CAE1B;AAED,wBAAsB,aAAa,CACjC,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,cAAc,CAAC,CAEzB;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5F"}
@@ -0,0 +1,85 @@
1
+ import { z } from "zod";
2
+ import { readPercherTomlAppName } from "../app-name";
3
+ import { PercherCoreError } from "../errors";
4
+ /**
5
+ * FUTURE15 Fas C — pure-function command layer for the sharing +
6
+ * invites HTTP surface. CLI and MCP both wrap these; keeping the
7
+ * logic here means a future bug-fix lands in one place and both
8
+ * surfaces inherit it.
9
+ *
10
+ * Two URL families on the API map to two command families here:
11
+ *
12
+ * - share.* — owner-managed per-app invites
13
+ * (POST /apps/:ref/share, GET, PATCH role, DELETE)
14
+ * - invites.* — recipient-managed across-app pending invites
15
+ * (GET /share/invites, POST :id/accept, DELETE :id)
16
+ *
17
+ * `app` is optional on share.* commands: if omitted we read it from
18
+ * percher.toml in the cwd, same convention the env/domains commands
19
+ * follow. `invites.*` commands have no app context — they operate on
20
+ * whatever the authenticated user's normalized email matches on the
21
+ * server, so app names don't enter the picture.
22
+ */
23
+ const ShareRoleSchema = z.enum(["viewer", "admin"]);
24
+ function resolveApp(ctx, app) {
25
+ const name = app ?? readPercherTomlAppName(ctx.cwd);
26
+ if (!name) {
27
+ throw new PercherCoreError("No app specified and no percher.toml found", {
28
+ code: "env.no-app",
29
+ hint: "Pass an app name or run from a directory with percher.toml.",
30
+ });
31
+ }
32
+ return name;
33
+ }
34
+ // ─── Owner-managed: share invites for one app ───────────────────────────
35
+ export const shareListInputSchema = z.object({
36
+ app: z.string().optional(),
37
+ });
38
+ export const shareInviteInputSchema = z.object({
39
+ app: z.string().optional(),
40
+ email: z.string().email("Must be a valid email address"),
41
+ role: ShareRoleSchema.default("viewer"),
42
+ });
43
+ export const shareSetRoleInputSchema = z.object({
44
+ app: z.string().optional(),
45
+ shareId: z.string().min(1, "shareId is required"),
46
+ role: ShareRoleSchema,
47
+ });
48
+ export const shareRevokeInputSchema = z.object({
49
+ app: z.string().optional(),
50
+ shareId: z.string().min(1, "shareId is required"),
51
+ });
52
+ export async function shareList(ctx, input = {}) {
53
+ const appRef = resolveApp(ctx, input.app);
54
+ return ctx.client.sharing.list(appRef);
55
+ }
56
+ export async function shareInvite(ctx, input) {
57
+ const appRef = resolveApp(ctx, input.app);
58
+ return ctx.client.sharing.create(appRef, { email: input.email, role: input.role });
59
+ }
60
+ export async function shareSetRole(ctx, input) {
61
+ const appRef = resolveApp(ctx, input.app);
62
+ return ctx.client.sharing.setRole(appRef, input.shareId, input.role);
63
+ }
64
+ export async function shareRevoke(ctx, input) {
65
+ const appRef = resolveApp(ctx, input.app);
66
+ await ctx.client.sharing.revoke(appRef, input.shareId);
67
+ }
68
+ // ─── Recipient-managed: pending invites across apps ────────────────────
69
+ export const invitesListInputSchema = z.object({});
70
+ export const invitesAcceptInputSchema = z.object({
71
+ shareId: z.string().min(1, "shareId is required"),
72
+ });
73
+ export const invitesDeclineInputSchema = z.object({
74
+ shareId: z.string().min(1, "shareId is required"),
75
+ });
76
+ export async function invitesList(ctx, _input = {}) {
77
+ return ctx.client.invites.list();
78
+ }
79
+ export async function invitesAccept(ctx, input) {
80
+ return ctx.client.invites.accept(input.shareId);
81
+ }
82
+ export async function invitesDecline(ctx, input) {
83
+ await ctx.client.invites.decline(input.shareId);
84
+ }
85
+ //# sourceMappingURL=sharing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sharing.js","sourceRoot":"","sources":["../../src/commands/sharing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { PlatformHealth } from "@percher/client";
2
+ import { z } from "zod";
3
+ import type { Context } from "../context";
4
+ export declare const statusInputSchema: z.ZodObject<{
5
+ json: z.ZodOptional<z.ZodBoolean>;
6
+ }, z.core.$strip>;
7
+ export type StatusInput = z.infer<typeof statusInputSchema>;
8
+ /**
9
+ * Phase 6.3 — derived top-line state for `percher status`. The CLI
10
+ * folds the API response (which always returns `status: "ok"` if it's
11
+ * answering at all) into one of three buckets the user actually
12
+ * cares about: everything green, the worker degraded but the API
13
+ * still serving reads, or the API itself unreachable.
14
+ */
15
+ export type StatusVerdict = "operational" | "worker-degraded" | "unreachable";
16
+ export interface StatusResult {
17
+ verdict: StatusVerdict;
18
+ /**
19
+ * Human-readable summary line. Mirrors what the CLI prints.
20
+ */
21
+ summary: string;
22
+ /** Raw `/health` response, when reachable. */
23
+ health: PlatformHealth | null;
24
+ /** Underlying error message when verdict === "unreachable". */
25
+ reachError?: string;
26
+ }
27
+ export declare function status(ctx: Context, _input?: StatusInput): Promise<StatusResult>;
28
+ export declare function deriveVerdict(health: PlatformHealth): StatusVerdict;
29
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,eAAO,MAAM,iBAAiB;;iBAE5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,iBAAiB,GAAG,aAAa,CAAC;AAE9E,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,aAAa,CAAC;IACvB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;IAC9B,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,GAAE,WAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CAmB1F;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,aAAa,CAKnE"}
@@ -0,0 +1,48 @@
1
+ import { z } from "zod";
2
+ export const statusInputSchema = z.object({
3
+ json: z.boolean().optional(),
4
+ });
5
+ export async function status(ctx, _input = {}) {
6
+ let health;
7
+ try {
8
+ health = await ctx.client.platform.health();
9
+ }
10
+ catch (err) {
11
+ return {
12
+ verdict: "unreachable",
13
+ summary: `API unreachable (${err.message})`,
14
+ health: null,
15
+ reachError: err.message,
16
+ };
17
+ }
18
+ const verdict = deriveVerdict(health);
19
+ return {
20
+ verdict,
21
+ summary: summarize(verdict, health),
22
+ health,
23
+ };
24
+ }
25
+ export function deriveVerdict(health) {
26
+ if (health.status !== "ok")
27
+ return "worker-degraded";
28
+ if (health.worker?.circuitBreaker?.open)
29
+ return "worker-degraded";
30
+ if (health.worker?.health && health.worker.health.ok === false)
31
+ return "worker-degraded";
32
+ return "operational";
33
+ }
34
+ function summarize(verdict, health) {
35
+ if (verdict === "operational")
36
+ return "All systems operational";
37
+ const breaker = health.worker?.circuitBreaker;
38
+ const workerHealth = health.worker?.health;
39
+ if (breaker?.open) {
40
+ return `Worker circuit breaker open (${breaker.failuresInWindow}/${breaker.threshold} failures in last ${Math.round(breaker.windowMs / 1000)}s) — deploys will fail fast until it recovers`;
41
+ }
42
+ if (workerHealth && workerHealth.ok === false) {
43
+ const lastErr = workerHealth.lastErr ? ` — last error: ${workerHealth.lastErr}` : "";
44
+ return `Worker unreachable (${workerHealth.consecutiveErrs} consecutive failed health checks)${lastErr}`;
45
+ }
46
+ return "API responded but reported a non-ok status";
47
+ }
48
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAwBH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,GAAY,EAAE,SAAsB,EAAE;IACjE,IAAI,MAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC9C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,aAAa;YACtB,OAAO,EAAE,oBAAqB,GAAa,CAAC,OAAO,GAAG;YACtD,MAAM,EAAE,IAAI;YACZ,UAAU,EAAG,GAAa,CAAC,OAAO;SACnC,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,OAAO;QACL,OAAO;QACP,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;QACnC,MAAM;KACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAsB;IAClD,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI;QAAE,OAAO,iBAAiB,CAAC;IACrD,IAAI,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI;QAAE,OAAO,iBAAiB,CAAC;IAClE,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,KAAK;QAAE,OAAO,iBAAiB,CAAC;IACzF,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAS,SAAS,CAAC,OAAsB,EAAE,MAAsB;IAC/D,IAAI,OAAO,KAAK,aAAa;QAAE,OAAO,yBAAyB,CAAC;IAChE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC;IAC9C,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAC3C,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;QAClB,OAAO,gCAAgC,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,SAAS,qBAAqB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,+CAA+C,CAAC;IAC9L,CAAC;IACD,IAAI,YAAY,IAAI,YAAY,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,OAAO,uBAAuB,YAAY,CAAC,eAAe,qCAAqC,OAAO,EAAE,CAAC;IAC3G,CAAC;IACD,OAAO,4CAA4C,CAAC;AACtD,CAAC"}
@@ -0,0 +1,34 @@
1
+ import type { AcceptedTransfer, IncomingTransfer, InitiatedTransfer, TransferRow } from "@percher/client";
2
+ import { z } from "zod";
3
+ import type { Context } from "../context";
4
+ export declare const transferInitiateInputSchema: z.ZodObject<{
5
+ app: z.ZodOptional<z.ZodString>;
6
+ email: z.ZodString;
7
+ }, z.core.$strip>;
8
+ export type TransferInitiateInput = z.infer<typeof transferInitiateInputSchema>;
9
+ export declare const transferCancelInputSchema: z.ZodObject<{
10
+ app: z.ZodOptional<z.ZodString>;
11
+ transferId: z.ZodString;
12
+ }, z.core.$strip>;
13
+ export type TransferCancelInput = z.infer<typeof transferCancelInputSchema>;
14
+ export declare const transferListForAppInputSchema: z.ZodObject<{
15
+ app: z.ZodOptional<z.ZodString>;
16
+ }, z.core.$strip>;
17
+ export type TransferListForAppInput = z.infer<typeof transferListForAppInputSchema>;
18
+ export declare function transferInitiate(ctx: Context, input: TransferInitiateInput): Promise<InitiatedTransfer>;
19
+ export declare function transferCancel(ctx: Context, input: TransferCancelInput): Promise<void>;
20
+ export declare function transferListForApp(ctx: Context, input?: TransferListForAppInput): Promise<TransferRow[]>;
21
+ export declare const transfersIncomingInputSchema: z.ZodObject<{}, z.core.$strip>;
22
+ export type TransfersIncomingInput = z.infer<typeof transfersIncomingInputSchema>;
23
+ export declare const transfersAcceptInputSchema: z.ZodObject<{
24
+ transferId: z.ZodString;
25
+ }, z.core.$strip>;
26
+ export type TransfersAcceptInput = z.infer<typeof transfersAcceptInputSchema>;
27
+ export declare const transfersDeclineInputSchema: z.ZodObject<{
28
+ transferId: z.ZodString;
29
+ }, z.core.$strip>;
30
+ export type TransfersDeclineInput = z.infer<typeof transfersDeclineInputSchema>;
31
+ export declare function transfersIncoming(ctx: Context, _input?: TransfersIncomingInput): Promise<IncomingTransfer[]>;
32
+ export declare function transfersAccept(ctx: Context, input: TransfersAcceptInput): Promise<AcceptedTransfer>;
33
+ export declare function transfersDecline(ctx: Context, input: TransfersDeclineInput): Promise<void>;
34
+ //# sourceMappingURL=transfers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transfers.d.ts","sourceRoot":"","sources":["../../src/commands/transfers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAwB1C,eAAO,MAAM,2BAA2B;;;iBAGtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,yBAAyB;;;iBAGpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,6BAA6B;;iBAExC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,iBAAiB,CAAC,CAG5B;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAG5F;AAED,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,OAAO,EACZ,KAAK,GAAE,uBAA4B,GAClC,OAAO,CAAC,WAAW,EAAE,CAAC,CAGxB;AAID,eAAO,MAAM,4BAA4B,gCAAe,CAAC;AACzD,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,0BAA0B;;iBAErC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,2BAA2B;;iBAEtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,OAAO,EACZ,MAAM,GAAE,sBAA2B,GAClC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAE7B;AAED,wBAAsB,eAAe,CACnC,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CAE3B;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhG"}
@@ -0,0 +1,62 @@
1
+ import { z } from "zod";
2
+ import { readPercherTomlAppName } from "../app-name";
3
+ import { PercherCoreError } from "../errors";
4
+ /**
5
+ * FUTURE15 Fas D — pure-function command layer for ownership
6
+ * transfer. Mirrors the share/invites split:
7
+ *
8
+ * transfer.* — owner-managed per-app (initiate/cancel/list)
9
+ * transfersIn.* — recipient-managed (list/accept/decline)
10
+ */
11
+ function resolveApp(ctx, app) {
12
+ const name = app ?? readPercherTomlAppName(ctx.cwd);
13
+ if (!name) {
14
+ throw new PercherCoreError("No app specified and no percher.toml found", {
15
+ code: "env.no-app",
16
+ hint: "Pass an app name or run from a directory with percher.toml.",
17
+ });
18
+ }
19
+ return name;
20
+ }
21
+ // ─── Owner-managed (app-scoped) ─────────────────────────────────────────
22
+ export const transferInitiateInputSchema = z.object({
23
+ app: z.string().optional(),
24
+ email: z.string().email("Must be a valid email address"),
25
+ });
26
+ export const transferCancelInputSchema = z.object({
27
+ app: z.string().optional(),
28
+ transferId: z.string().min(1, "transferId is required"),
29
+ });
30
+ export const transferListForAppInputSchema = z.object({
31
+ app: z.string().optional(),
32
+ });
33
+ export async function transferInitiate(ctx, input) {
34
+ const appRef = resolveApp(ctx, input.app);
35
+ return ctx.client.transfers.initiate(appRef, { email: input.email });
36
+ }
37
+ export async function transferCancel(ctx, input) {
38
+ const appRef = resolveApp(ctx, input.app);
39
+ await ctx.client.transfers.cancel(appRef, input.transferId);
40
+ }
41
+ export async function transferListForApp(ctx, input = {}) {
42
+ const appRef = resolveApp(ctx, input.app);
43
+ return ctx.client.transfers.listForApp(appRef);
44
+ }
45
+ // ─── Recipient-managed (user-scoped) ────────────────────────────────────
46
+ export const transfersIncomingInputSchema = z.object({});
47
+ export const transfersAcceptInputSchema = z.object({
48
+ transferId: z.string().min(1, "transferId is required"),
49
+ });
50
+ export const transfersDeclineInputSchema = z.object({
51
+ transferId: z.string().min(1, "transferId is required"),
52
+ });
53
+ export async function transfersIncoming(ctx, _input = {}) {
54
+ return ctx.client.transfers.listIncoming();
55
+ }
56
+ export async function transfersAccept(ctx, input) {
57
+ return ctx.client.transfers.accept(input.transferId);
58
+ }
59
+ export async function transfersDecline(ctx, input) {
60
+ await ctx.client.transfers.decline(input.transferId);
61
+ }
62
+ //# sourceMappingURL=transfers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transfers.js","sourceRoot":"","sources":["../../src/commands/transfers.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 unsuspendInputSchema: z.ZodObject<{
4
4
  app: z.ZodString;
5
- }, "strip", z.ZodTypeAny, {
6
- app: string;
7
- }, {
8
- app: string;
9
- }>;
5
+ }, z.core.$strip>;
10
6
  export type UnsuspendInput = z.infer<typeof unsuspendInputSchema>;
11
7
  export interface UnsuspendResult {
12
8
  ok: true;
@@ -1 +1 @@
1
- {"version":3,"file":"unsuspend.d.ts","sourceRoot":"","sources":["../../src/commands/unsuspend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,eAAO,MAAM,oBAAoB;;;;;;EAE/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,IAAI,CAAC;IACT,GAAG,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD;4DACwD;IACxD,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAU7F"}
1
+ {"version":3,"file":"unsuspend.d.ts","sourceRoot":"","sources":["../../src/commands/unsuspend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,eAAO,MAAM,oBAAoB;;iBAE/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,IAAI,CAAC;IACT,GAAG,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD;4DACwD;IACxD,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAU7F"}
@@ -1,4 +1,4 @@
1
- import { z } from "zod/v3";
1
+ import { z } from "zod";
2
2
  export const unsuspendInputSchema = z.object({
3
3
  app: z.string().min(1).describe("App name or id to unsuspend"),
4
4
  });
@@ -1 +1 @@
1
- {"version":3,"file":"unsuspend.js","sourceRoot":"","sources":["../../src/commands/unsuspend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC;CAC/D,CAAC,CAAC;AAYH;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,GAAY,EAAE,KAAqB;IACjE,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1D,OAAO;QACL,EAAE,EAAE,IAAI;QACR,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;YACrB,CAAC,CAAC,eAAe,MAAM,CAAC,GAAG,CAAC,IAAI,iIAAiI;YACjK,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,kCAAkC;KACzD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"unsuspend.js","sourceRoot":"","sources":["../../src/commands/unsuspend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC;CAC/D,CAAC,CAAC;AAYH;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,GAAY,EAAE,KAAqB;IACjE,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1D,OAAO;QACL,EAAE,EAAE,IAAI;QACR,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;YACrB,CAAC,CAAC,eAAe,MAAM,CAAC,GAAG,CAAC,IAAI,iIAAiI;YACjK,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,kCAAkC;KACzD,CAAC;AACJ,CAAC"}
@@ -1,12 +1,8 @@
1
- import { z } from "zod/v3";
1
+ import { z } from "zod";
2
2
  import type { Context } from "../context";
3
3
  export declare const versionsInputSchema: z.ZodObject<{
4
4
  app: z.ZodOptional<z.ZodString>;
5
- }, "strip", z.ZodTypeAny, {
6
- app?: string | undefined;
7
- }, {
8
- app?: string | undefined;
9
- }>;
5
+ }, z.core.$strip>;
10
6
  export type VersionsInput = z.infer<typeof versionsInputSchema>;
11
7
  export interface AppVersion {
12
8
  sha: string;
@@ -1 +1 @@
1
- {"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../src/commands/versions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C,eAAO,MAAM,mBAAmB;;;;;;EAA2C,CAAC;AAC5E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,aAAkB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAS7F"}
1
+ {"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../src/commands/versions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C,eAAO,MAAM,mBAAmB;;iBAA2C,CAAC;AAC5E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,aAAkB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAS7F"}
@@ -1,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 versionsInputSchema = z.object({ app: z.string().optional() });
@@ -1 +1 @@
1
- {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../src/commands/versions.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,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAS5E,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,GAAY,EAAE,QAAuB,EAAE;IACpE,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,gBAAgB,CAAC,4CAA4C,EAAE;YACvE,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,6DAA6D;SACpE,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../src/commands/versions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAS5E,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,GAAY,EAAE,QAAuB,EAAE;IACpE,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,gBAAgB,CAAC,4CAA4C,EAAE;YACvE,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,6DAA6D;SACpE,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC"}