nomoreide 0.1.101 → 0.1.103

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 (184) hide show
  1. package/dist/cli/commands.js +34 -0
  2. package/dist/cli/commands.js.map +1 -1
  3. package/dist/core/agent-profiles/types.d.ts +11 -11
  4. package/dist/core/cloudflare-actions.d.ts +90 -0
  5. package/dist/core/cloudflare-actions.js +178 -0
  6. package/dist/core/cloudflare-actions.js.map +1 -0
  7. package/dist/core/cloudflare-auth.d.ts +61 -0
  8. package/dist/core/cloudflare-auth.js +149 -0
  9. package/dist/core/cloudflare-auth.js.map +1 -0
  10. package/dist/core/cloudflare-context.d.ts +2 -0
  11. package/dist/core/cloudflare-context.js +106 -0
  12. package/dist/core/cloudflare-context.js.map +1 -0
  13. package/dist/core/cloudflare-manager.d.ts +256 -0
  14. package/dist/core/cloudflare-manager.js +409 -0
  15. package/dist/core/cloudflare-manager.js.map +1 -0
  16. package/dist/core/cloudflare-provider.d.ts +64 -0
  17. package/dist/core/cloudflare-provider.js +343 -0
  18. package/dist/core/cloudflare-provider.js.map +1 -0
  19. package/dist/core/config-store.d.ts +30 -14
  20. package/dist/core/config-store.js +198 -45
  21. package/dist/core/config-store.js.map +1 -1
  22. package/dist/core/context-library.js +105 -10
  23. package/dist/core/context-library.js.map +1 -1
  24. package/dist/core/db-peek.d.ts +2 -0
  25. package/dist/core/db-peek.js +9 -0
  26. package/dist/core/db-peek.js.map +1 -1
  27. package/dist/core/docker.d.ts +27 -0
  28. package/dist/core/docker.js +71 -2
  29. package/dist/core/docker.js.map +1 -1
  30. package/dist/core/extensions.d.ts +78 -0
  31. package/dist/core/extensions.js +41 -0
  32. package/dist/core/extensions.js.map +1 -0
  33. package/dist/core/git-worktrees.d.ts +1 -0
  34. package/dist/core/git-worktrees.js +11 -1
  35. package/dist/core/git-worktrees.js.map +1 -1
  36. package/dist/core/github-manager.d.ts +8 -0
  37. package/dist/core/github-manager.js +62 -9
  38. package/dist/core/github-manager.js.map +1 -1
  39. package/dist/core/jetbrains-import.d.ts +85 -0
  40. package/dist/core/jetbrains-import.js +599 -0
  41. package/dist/core/jetbrains-import.js.map +1 -0
  42. package/dist/core/log-store.d.ts +10 -0
  43. package/dist/core/log-store.js +10 -1
  44. package/dist/core/log-store.js.map +1 -1
  45. package/dist/core/log-volume.d.ts +41 -0
  46. package/dist/core/log-volume.js +81 -0
  47. package/dist/core/log-volume.js.map +1 -0
  48. package/dist/core/process-manager.js +3 -2
  49. package/dist/core/process-manager.js.map +1 -1
  50. package/dist/core/project-overview.d.ts +2 -2
  51. package/dist/core/project-overview.js +3 -3
  52. package/dist/core/project-overview.js.map +1 -1
  53. package/dist/core/providers/credentials.d.ts +93 -0
  54. package/dist/core/providers/credentials.js +88 -0
  55. package/dist/core/providers/credentials.js.map +1 -0
  56. package/dist/core/providers/deploy-provider.d.ts +327 -0
  57. package/dist/core/providers/deploy-provider.js +25 -0
  58. package/dist/core/providers/deploy-provider.js.map +1 -0
  59. package/dist/core/providers/egress.d.ts +58 -0
  60. package/dist/core/providers/egress.js +115 -0
  61. package/dist/core/providers/egress.js.map +1 -0
  62. package/dist/core/providers/host-bridge.d.ts +20 -0
  63. package/dist/core/providers/host-bridge.js +57 -0
  64. package/dist/core/providers/host-bridge.js.map +1 -0
  65. package/dist/core/providers/host-provider.d.ts +160 -0
  66. package/dist/core/providers/host-provider.js +2 -0
  67. package/dist/core/providers/host-provider.js.map +1 -0
  68. package/dist/core/providers/oauth.d.ts +97 -0
  69. package/dist/core/providers/oauth.js +238 -0
  70. package/dist/core/providers/oauth.js.map +1 -0
  71. package/dist/core/providers/project-resolution.d.ts +81 -0
  72. package/dist/core/providers/project-resolution.js +101 -0
  73. package/dist/core/providers/project-resolution.js.map +1 -0
  74. package/dist/core/providers/registry.d.ts +73 -0
  75. package/dist/core/providers/registry.js +53 -0
  76. package/dist/core/providers/registry.js.map +1 -0
  77. package/dist/core/providers/strings.d.ts +95 -0
  78. package/dist/core/providers/strings.js +59 -0
  79. package/dist/core/providers/strings.js.map +1 -0
  80. package/dist/core/public-config.d.ts +18 -0
  81. package/dist/core/public-config.js +76 -0
  82. package/dist/core/public-config.js.map +1 -0
  83. package/dist/core/read-only-files.d.ts +28 -0
  84. package/dist/core/read-only-files.js +93 -0
  85. package/dist/core/read-only-files.js.map +1 -0
  86. package/dist/core/repo-onboard.d.ts +2 -2
  87. package/dist/core/ssh-servers.d.ts +38 -1
  88. package/dist/core/ssh-servers.js +65 -8
  89. package/dist/core/ssh-servers.js.map +1 -1
  90. package/dist/core/ssh-service-runner.js +5 -0
  91. package/dist/core/ssh-service-runner.js.map +1 -1
  92. package/dist/core/types.d.ts +30 -14
  93. package/dist/core/vercel-auth.d.ts +18 -36
  94. package/dist/core/vercel-auth.js +33 -75
  95. package/dist/core/vercel-auth.js.map +1 -1
  96. package/dist/core/vercel-context.d.ts +2 -25
  97. package/dist/core/vercel-context.js +73 -119
  98. package/dist/core/vercel-context.js.map +1 -1
  99. package/dist/core/vercel-manager.d.ts +13 -0
  100. package/dist/core/vercel-manager.js +3 -5
  101. package/dist/core/vercel-manager.js.map +1 -1
  102. package/dist/core/vercel-oauth.d.ts +24 -62
  103. package/dist/core/vercel-oauth.js +27 -199
  104. package/dist/core/vercel-oauth.js.map +1 -1
  105. package/dist/core/vercel-provider.d.ts +23 -0
  106. package/dist/core/vercel-provider.js +271 -0
  107. package/dist/core/vercel-provider.js.map +1 -0
  108. package/dist/core/vultr-actions.d.ts +52 -0
  109. package/dist/core/vultr-actions.js +62 -0
  110. package/dist/core/vultr-actions.js.map +1 -0
  111. package/dist/core/vultr-auth.d.ts +32 -0
  112. package/dist/core/vultr-auth.js +54 -0
  113. package/dist/core/vultr-auth.js.map +1 -0
  114. package/dist/core/vultr-context.d.ts +2 -0
  115. package/dist/core/vultr-context.js +55 -0
  116. package/dist/core/vultr-context.js.map +1 -0
  117. package/dist/core/vultr-manager.d.ts +105 -0
  118. package/dist/core/vultr-manager.js +159 -0
  119. package/dist/core/vultr-manager.js.map +1 -0
  120. package/dist/core/vultr-provider.d.ts +69 -0
  121. package/dist/core/vultr-provider.js +224 -0
  122. package/dist/core/vultr-provider.js.map +1 -0
  123. package/dist/mcp/tools/docs.js +1 -1
  124. package/dist/mcp/tools/docs.js.map +1 -1
  125. package/dist/mcp/tools/index.d.ts +1 -1
  126. package/dist/mcp/tools/index.js +3 -3
  127. package/dist/mcp/tools/index.js.map +1 -1
  128. package/dist/mcp/tools/provider.d.ts +16 -0
  129. package/dist/mcp/tools/provider.js +110 -0
  130. package/dist/mcp/tools/provider.js.map +1 -0
  131. package/dist/mcp/tools/services.js +4 -0
  132. package/dist/mcp/tools/services.js.map +1 -1
  133. package/dist/web/client/assets/{code-editor-rHWIXkKg.js → code-editor-B2_SPkzS.js} +1 -1
  134. package/dist/web/client/assets/context-graph-DVrWyUaG.js +7 -0
  135. package/dist/web/client/assets/index-DIspyq1R.js +352 -0
  136. package/dist/web/client/assets/index-DT9Uq0bE.css +1 -0
  137. package/dist/web/client/assets/{system-process-table-S4umMSEK.js → system-process-table-CWZIisGo.js} +1 -1
  138. package/dist/web/client/index.html +2 -2
  139. package/dist/web/dashboard.d.ts +22 -3
  140. package/dist/web/dashboard.js +50 -5
  141. package/dist/web/dashboard.js.map +1 -1
  142. package/dist/web/routes/docker-routes.js +41 -1
  143. package/dist/web/routes/docker-routes.js.map +1 -1
  144. package/dist/web/routes/extensions-routes.d.ts +14 -0
  145. package/dist/web/routes/extensions-routes.js +21 -0
  146. package/dist/web/routes/extensions-routes.js.map +1 -0
  147. package/dist/web/routes/git-routes.js +4 -3
  148. package/dist/web/routes/git-routes.js.map +1 -1
  149. package/dist/web/routes/host-routes.d.ts +2 -0
  150. package/dist/web/routes/host-routes.js +188 -0
  151. package/dist/web/routes/host-routes.js.map +1 -0
  152. package/dist/web/routes/index.js +8 -2
  153. package/dist/web/routes/index.js.map +1 -1
  154. package/dist/web/routes/jetbrains-import-routes.d.ts +2 -0
  155. package/dist/web/routes/jetbrains-import-routes.js +121 -0
  156. package/dist/web/routes/jetbrains-import-routes.js.map +1 -0
  157. package/dist/web/routes/metrics-routes.js +19 -2
  158. package/dist/web/routes/metrics-routes.js.map +1 -1
  159. package/dist/web/routes/onboard-routes.js +2 -1
  160. package/dist/web/routes/onboard-routes.js.map +1 -1
  161. package/dist/web/routes/provider-routes.d.ts +2 -0
  162. package/dist/web/routes/provider-routes.js +558 -0
  163. package/dist/web/routes/provider-routes.js.map +1 -0
  164. package/dist/web/routes/service-routes.js +77 -4
  165. package/dist/web/routes/service-routes.js.map +1 -1
  166. package/dist/web/routes/shell-routes.d.ts +11 -0
  167. package/dist/web/routes/shell-routes.js +23 -4
  168. package/dist/web/routes/shell-routes.js.map +1 -1
  169. package/dist/web/routes/ssh-server-routes.d.ts +8 -1
  170. package/dist/web/routes/ssh-server-routes.js +48 -6
  171. package/dist/web/routes/ssh-server-routes.js.map +1 -1
  172. package/dist/web/service-tester.d.ts +3 -1
  173. package/dist/web/service-tester.js +9 -4
  174. package/dist/web/service-tester.js.map +1 -1
  175. package/package.json +1 -1
  176. package/dist/mcp/tools/vercel.d.ts +0 -12
  177. package/dist/mcp/tools/vercel.js +0 -103
  178. package/dist/mcp/tools/vercel.js.map +0 -1
  179. package/dist/web/client/assets/context-graph-CcfJNAob.js +0 -7
  180. package/dist/web/client/assets/index-BnFtcUqj.js +0 -352
  181. package/dist/web/client/assets/index-CqsghUD9.css +0 -1
  182. package/dist/web/routes/vercel-routes.d.ts +0 -2
  183. package/dist/web/routes/vercel-routes.js +0 -476
  184. package/dist/web/routes/vercel-routes.js.map +0 -1
@@ -82,6 +82,8 @@ export async function runCli(args, options = {}) {
82
82
  const kind = (flags.kind ?? "local");
83
83
  const port = flags.port ? Number(flags.port) : undefined;
84
84
  const description = flags.description;
85
+ const env = flags.env ? parseStringMapFlag(flags.env, "--env") : undefined;
86
+ const directArgs = flags.args ? parseStringArrayFlag(flags.args, "--args") : undefined;
85
87
  if (kind === "docker-compose") {
86
88
  if (!flags.composeService) {
87
89
  throw new UsageError("--compose-service is required");
@@ -109,6 +111,7 @@ export async function runCli(args, options = {}) {
109
111
  host: flags.host,
110
112
  cwd: flags.cwd,
111
113
  command: flags.command,
114
+ env,
112
115
  port,
113
116
  description,
114
117
  });
@@ -119,8 +122,10 @@ export async function runCli(args, options = {}) {
119
122
  await configStore.registerService({
120
123
  name,
121
124
  command: flags.command,
125
+ args: directArgs,
122
126
  cwd: flags.cwd ?? process.cwd(),
123
127
  port,
128
+ env,
124
129
  description,
125
130
  });
126
131
  }
@@ -193,6 +198,35 @@ export async function runCli(args, options = {}) {
193
198
  : 2;
194
199
  }
195
200
  }
201
+ function parseStringArrayFlag(value, name) {
202
+ let parsed;
203
+ try {
204
+ parsed = JSON.parse(value);
205
+ }
206
+ catch {
207
+ throw new UsageError(`${name} must be a JSON array of strings`);
208
+ }
209
+ if (!Array.isArray(parsed) || parsed.some((entry) => typeof entry !== "string")) {
210
+ throw new UsageError(`${name} must be a JSON array of strings`);
211
+ }
212
+ return parsed;
213
+ }
214
+ function parseStringMapFlag(value, name) {
215
+ let parsed;
216
+ try {
217
+ parsed = JSON.parse(value);
218
+ }
219
+ catch {
220
+ throw new UsageError(`${name} must be a JSON object with string values`);
221
+ }
222
+ if (!parsed ||
223
+ typeof parsed !== "object" ||
224
+ Array.isArray(parsed) ||
225
+ Object.values(parsed).some((entry) => typeof entry !== "string")) {
226
+ throw new UsageError(`${name} must be a JSON object with string values`);
227
+ }
228
+ return parsed;
229
+ }
196
230
  function setupAgent(value) {
197
231
  if (value === "claude" || value === "codex" || value === "gemini")
198
232
  return value;
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"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"}
@@ -17,13 +17,13 @@ export declare const profileLocalMcpSchema: z.ZodObject<{
17
17
  }, "strip", z.ZodTypeAny, {
18
18
  command: string;
19
19
  kind: "local";
20
- env?: Record<string, string> | undefined;
21
20
  args?: string[] | undefined;
21
+ env?: Record<string, string> | undefined;
22
22
  }, {
23
23
  command: string;
24
24
  kind: "local";
25
- env?: Record<string, string> | undefined;
26
25
  args?: string[] | undefined;
26
+ env?: Record<string, string> | undefined;
27
27
  }>;
28
28
  export declare const profileRemoteMcpSchema: z.ZodObject<{
29
29
  kind: z.ZodLiteral<"remote">;
@@ -52,13 +52,13 @@ export declare const profileMcpSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodObj
52
52
  }, "strip", z.ZodTypeAny, {
53
53
  command: string;
54
54
  kind: "local";
55
- env?: Record<string, string> | undefined;
56
55
  args?: string[] | undefined;
56
+ env?: Record<string, string> | undefined;
57
57
  }, {
58
58
  command: string;
59
59
  kind: "local";
60
- env?: Record<string, string> | undefined;
61
60
  args?: string[] | undefined;
61
+ env?: Record<string, string> | undefined;
62
62
  }>, z.ZodObject<{
63
63
  kind: z.ZodLiteral<"remote">;
64
64
  transport: z.ZodEnum<["http", "sse"]>;
@@ -141,13 +141,13 @@ export declare const profileSchema: z.ZodObject<{
141
141
  }, "strip", z.ZodTypeAny, {
142
142
  command: string;
143
143
  kind: "local";
144
- env?: Record<string, string> | undefined;
145
144
  args?: string[] | undefined;
145
+ env?: Record<string, string> | undefined;
146
146
  }, {
147
147
  command: string;
148
148
  kind: "local";
149
- env?: Record<string, string> | undefined;
150
149
  args?: string[] | undefined;
150
+ env?: Record<string, string> | undefined;
151
151
  }>, z.ZodObject<{
152
152
  kind: z.ZodLiteral<"remote">;
153
153
  transport: z.ZodEnum<["http", "sse"]>;
@@ -232,8 +232,8 @@ export declare const profileSchema: z.ZodObject<{
232
232
  mcps: Record<string, {
233
233
  command: string;
234
234
  kind: "local";
235
- env?: Record<string, string> | undefined;
236
235
  args?: string[] | undefined;
236
+ env?: Record<string, string> | undefined;
237
237
  } | {
238
238
  kind: "remote";
239
239
  url: string;
@@ -266,8 +266,8 @@ export declare const profileSchema: z.ZodObject<{
266
266
  mcps?: Record<string, {
267
267
  command: string;
268
268
  kind: "local";
269
- env?: Record<string, string> | undefined;
270
269
  args?: string[] | undefined;
270
+ env?: Record<string, string> | undefined;
271
271
  } | {
272
272
  kind: "remote";
273
273
  url: string;
@@ -283,8 +283,8 @@ export declare const credentialSpecSchema: z.ZodObject<{
283
283
  required: z.ZodDefault<z.ZodBoolean>;
284
284
  description: z.ZodOptional<z.ZodString>;
285
285
  }, "strip", z.ZodTypeAny, {
286
- key: string;
287
286
  required: boolean;
287
+ key: string;
288
288
  description?: string | undefined;
289
289
  }, {
290
290
  key: string;
@@ -311,8 +311,8 @@ export declare const profileManifestSchema: z.ZodObject<{
311
311
  required: z.ZodDefault<z.ZodBoolean>;
312
312
  description: z.ZodOptional<z.ZodString>;
313
313
  }, "strip", z.ZodTypeAny, {
314
- key: string;
315
314
  required: boolean;
315
+ key: string;
316
316
  description?: string | undefined;
317
317
  }, {
318
318
  key: string;
@@ -327,8 +327,8 @@ export declare const profileManifestSchema: z.ZodObject<{
327
327
  tool: string;
328
328
  } | undefined;
329
329
  credentials?: {
330
- key: string;
331
330
  required: boolean;
331
+ key: string;
332
332
  description?: string | undefined;
333
333
  }[] | undefined;
334
334
  }, {
@@ -0,0 +1,90 @@
1
+ import { type CloudflareEnvVar, type CloudflareRequestAuth } from "./cloudflare-manager.js";
2
+ /**
3
+ * Write-capable Cloudflare Pages operations, deliberately separate from the
4
+ * read-safe {@link ./cloudflare-manager.js CloudflareManager} — the same split
5
+ * as `git-manager` / `git-actions` and `db-peek` / `db-write`.
6
+ *
7
+ * Everything here changes what the internet is serving, so none of it is
8
+ * exposed as an MCP tool: these are reached only from the dashboard's own
9
+ * routes, where a human clicked the button.
10
+ *
11
+ * Still intentionally excludes the irreversible ones — Cloudflare's
12
+ * `DELETE .../deployments/{id}` and project deletion — which would need their
13
+ * own guarded surface.
14
+ */
15
+ /** The only two environments Pages has. A third would be silently created by a PATCH. */
16
+ export declare const CLOUDFLARE_ENVIRONMENTS: readonly ["production", "preview"];
17
+ export type CloudflareEnvironment = (typeof CLOUDFLARE_ENVIRONMENTS)[number];
18
+ export declare class CloudflareActions {
19
+ private readonly auth;
20
+ private readonly accountId;
21
+ constructor(auth: CloudflareRequestAuth, accountId: string);
22
+ /**
23
+ * Rebuild an existing deployment.
24
+ *
25
+ * Cloudflare calls this "retry" and mints a new deployment id, inheriting the
26
+ * original's branch, commit and environment — so, unlike Vercel's redeploy,
27
+ * nothing has to be carried through by the caller to keep a production retry
28
+ * in production.
29
+ */
30
+ retry(projectName: string, deploymentId: string): Promise<{
31
+ id: string;
32
+ url: string | null;
33
+ }>;
34
+ /**
35
+ * Point the project's production alias at an earlier deployment without
36
+ * rebuilding it. Cloudflare records this as a rollback, and it takes effect
37
+ * immediately.
38
+ */
39
+ rollback(projectName: string, deploymentId: string): Promise<{
40
+ id: string;
41
+ url: string | null;
42
+ }>;
43
+ /**
44
+ * Add a variable. `secret` (Vercel's "encrypted") is the default, and its
45
+ * value never reads back over the API afterwards.
46
+ */
47
+ createEnv(projectName: string, input: {
48
+ key: string;
49
+ value: string;
50
+ environments: string[];
51
+ secret?: boolean;
52
+ }): Promise<CloudflareEnvVar>;
53
+ /**
54
+ * Change a variable's value and/or the environments it applies to.
55
+ *
56
+ * Adding an environment needs a value: Cloudflare stores the variable
57
+ * separately per environment and never hands back a secret's value, so there
58
+ * is nothing to copy across. Saying that is better than writing an empty
59
+ * string into the new environment.
60
+ */
61
+ updateEnv(projectName: string, key: string, input: {
62
+ value?: string;
63
+ environments?: string[];
64
+ }): Promise<CloudflareEnvVar>;
65
+ /** Remove a variable from every environment it is set in. */
66
+ deleteEnv(projectName: string, key: string): Promise<void>;
67
+ /**
68
+ * The one write to a project's variables.
69
+ *
70
+ * Cloudflare merges the `env_vars` map it is sent — a key set to `null` is
71
+ * deleted, and keys the patch does not mention are untouched — so this never
72
+ * has to read-modify-write the whole map and cannot clobber a variable added
73
+ * between the read and the write.
74
+ */
75
+ private patchEnv;
76
+ private patchProject;
77
+ private currentEnv;
78
+ private projectPath;
79
+ private request;
80
+ }
81
+ /**
82
+ * Cloudflare's action vocabulary, mapped onto the names the shared UI already
83
+ * knows. "retry" is Cloudflare's word for what Vercel calls a redeploy, and
84
+ * there is no cancel endpoint for a Pages build at all — so the manifest is
85
+ * two actions, not four, and the deployment row hides what it cannot do.
86
+ */
87
+ export declare const CLOUDFLARE_ACTIONS: readonly ["redeploy", "rollback"];
88
+ export type CloudflareActionName = (typeof CLOUDFLARE_ACTIONS)[number];
89
+ /** Actions that change what production serves — the UI confirms these first. */
90
+ export declare const PRODUCTION_AFFECTING_ACTIONS: ReadonlySet<CloudflareActionName>;
@@ -0,0 +1,178 @@
1
+ import { cloudflareRequest, } from "./cloudflare-manager.js";
2
+ /**
3
+ * Write-capable Cloudflare Pages operations, deliberately separate from the
4
+ * read-safe {@link ./cloudflare-manager.js CloudflareManager} — the same split
5
+ * as `git-manager` / `git-actions` and `db-peek` / `db-write`.
6
+ *
7
+ * Everything here changes what the internet is serving, so none of it is
8
+ * exposed as an MCP tool: these are reached only from the dashboard's own
9
+ * routes, where a human clicked the button.
10
+ *
11
+ * Still intentionally excludes the irreversible ones — Cloudflare's
12
+ * `DELETE .../deployments/{id}` and project deletion — which would need their
13
+ * own guarded surface.
14
+ */
15
+ /** The only two environments Pages has. A third would be silently created by a PATCH. */
16
+ export const CLOUDFLARE_ENVIRONMENTS = ["production", "preview"];
17
+ export class CloudflareActions {
18
+ auth;
19
+ accountId;
20
+ constructor(auth, accountId) {
21
+ this.auth = auth;
22
+ this.accountId = accountId;
23
+ }
24
+ /**
25
+ * Rebuild an existing deployment.
26
+ *
27
+ * Cloudflare calls this "retry" and mints a new deployment id, inheriting the
28
+ * original's branch, commit and environment — so, unlike Vercel's redeploy,
29
+ * nothing has to be carried through by the caller to keep a production retry
30
+ * in production.
31
+ */
32
+ async retry(projectName, deploymentId) {
33
+ const created = await this.request(`${this.projectPath(projectName)}/deployments/${encodeURIComponent(deploymentId)}/retry`, { method: "POST" });
34
+ return { id: created.id ?? "", url: created.url ?? null };
35
+ }
36
+ /**
37
+ * Point the project's production alias at an earlier deployment without
38
+ * rebuilding it. Cloudflare records this as a rollback, and it takes effect
39
+ * immediately.
40
+ */
41
+ async rollback(projectName, deploymentId) {
42
+ const rolled = await this.request(`${this.projectPath(projectName)}/deployments/${encodeURIComponent(deploymentId)}/rollback`, { method: "POST" });
43
+ return { id: rolled.id ?? deploymentId, url: rolled.url ?? null };
44
+ }
45
+ /**
46
+ * Add a variable. `secret` (Vercel's "encrypted") is the default, and its
47
+ * value never reads back over the API afterwards.
48
+ */
49
+ createEnv(projectName, input) {
50
+ const type = input.secret === false ? "plain_text" : "secret_text";
51
+ const patch = {};
52
+ for (const environment of requireEnvironments(input.environments)) {
53
+ patch[environment] = { [input.key]: { type, value: input.value } };
54
+ }
55
+ return this.patchEnv(projectName, input.key, patch);
56
+ }
57
+ /**
58
+ * Change a variable's value and/or the environments it applies to.
59
+ *
60
+ * Adding an environment needs a value: Cloudflare stores the variable
61
+ * separately per environment and never hands back a secret's value, so there
62
+ * is nothing to copy across. Saying that is better than writing an empty
63
+ * string into the new environment.
64
+ */
65
+ async updateEnv(projectName, key, input) {
66
+ const current = await this.currentEnv(projectName, key);
67
+ const wanted = input.environments
68
+ ? requireEnvironments(input.environments)
69
+ : current.environments;
70
+ const patch = {};
71
+ for (const environment of wanted) {
72
+ if (input.value !== undefined) {
73
+ patch[environment] = { [key]: { type: current.type, value: input.value } };
74
+ }
75
+ else if (!current.environments.includes(environment)) {
76
+ throw new Error(`Adding "${key}" to ${environment} needs a value — Cloudflare stores it separately per environment.`);
77
+ }
78
+ }
79
+ for (const environment of current.environments) {
80
+ if (!wanted.includes(environment)) {
81
+ patch[environment] = { [key]: null };
82
+ }
83
+ }
84
+ return this.patchEnv(projectName, key, patch);
85
+ }
86
+ /** Remove a variable from every environment it is set in. */
87
+ async deleteEnv(projectName, key) {
88
+ const current = await this.currentEnv(projectName, key);
89
+ const patch = {};
90
+ for (const environment of current.environments)
91
+ patch[environment] = { [key]: null };
92
+ await this.patchProject(projectName, patch);
93
+ }
94
+ /**
95
+ * The one write to a project's variables.
96
+ *
97
+ * Cloudflare merges the `env_vars` map it is sent — a key set to `null` is
98
+ * deleted, and keys the patch does not mention are untouched — so this never
99
+ * has to read-modify-write the whole map and cannot clobber a variable added
100
+ * between the read and the write.
101
+ */
102
+ async patchEnv(projectName, key, patch) {
103
+ const updated = await this.patchProject(projectName, patch);
104
+ const found = updated.find((entry) => entry.key === key);
105
+ if (!found)
106
+ throw new Error(`Cloudflare did not report "${key}" after the update.`);
107
+ return found;
108
+ }
109
+ async patchProject(projectName, patch) {
110
+ const deploymentConfigs = {};
111
+ for (const [environment, envVars] of Object.entries(patch)) {
112
+ if (envVars)
113
+ deploymentConfigs[environment] = { env_vars: envVars };
114
+ }
115
+ const project = await this.request(this.projectPath(projectName), {
116
+ method: "PATCH",
117
+ body: { deployment_configs: deploymentConfigs },
118
+ });
119
+ return mergeEnvVars(project.deployment_configs);
120
+ }
121
+ async currentEnv(projectName, key) {
122
+ const project = await this.request(this.projectPath(projectName));
123
+ const found = mergeEnvVars(project.deployment_configs).find((entry) => entry.key === key);
124
+ if (!found)
125
+ throw new Error(`No variable named "${key}" on this project.`);
126
+ return found;
127
+ }
128
+ projectPath(projectName) {
129
+ return `/accounts/${this.accountId}/pages/projects/${encodeURIComponent(projectName)}`;
130
+ }
131
+ request(path, opts) {
132
+ return cloudflareRequest(this.auth, path, opts);
133
+ }
134
+ }
135
+ /**
136
+ * Rejects anything that is not one of Pages' two environments. Vercel's env
137
+ * dialog offers `development` as well, and a PATCH naming it would quietly
138
+ * create a third deployment config that nothing ever reads.
139
+ */
140
+ function requireEnvironments(environments) {
141
+ const invalid = environments.filter((entry) => !CLOUDFLARE_ENVIRONMENTS.includes(entry));
142
+ if (invalid.length > 0) {
143
+ throw new Error(`Cloudflare Pages only has ${CLOUDFLARE_ENVIRONMENTS.join(" and ")} environments, not ${invalid.join(", ")}.`);
144
+ }
145
+ return environments;
146
+ }
147
+ /** The read side's flattening, applied to whatever a write handed back. */
148
+ function mergeEnvVars(configs) {
149
+ const merged = new Map();
150
+ for (const [environment, config] of Object.entries(configs ?? {})) {
151
+ for (const [key, entry] of Object.entries(config?.env_vars ?? {})) {
152
+ if (!entry)
153
+ continue;
154
+ const type = entry.type === "plain_text" ? "plain_text" : "secret_text";
155
+ const existing = merged.get(key);
156
+ if (existing) {
157
+ existing.environments.push(environment);
158
+ if (type === "secret_text")
159
+ existing.type = "secret_text";
160
+ continue;
161
+ }
162
+ merged.set(key, { key, environments: [environment], type, value: entry.value });
163
+ }
164
+ }
165
+ return [...merged.values()].sort((a, b) => a.key.localeCompare(b.key));
166
+ }
167
+ /**
168
+ * Cloudflare's action vocabulary, mapped onto the names the shared UI already
169
+ * knows. "retry" is Cloudflare's word for what Vercel calls a redeploy, and
170
+ * there is no cancel endpoint for a Pages build at all — so the manifest is
171
+ * two actions, not four, and the deployment row hides what it cannot do.
172
+ */
173
+ export const CLOUDFLARE_ACTIONS = ["redeploy", "rollback"];
174
+ /** Actions that change what production serves — the UI confirms these first. */
175
+ export const PRODUCTION_AFFECTING_ACTIONS = new Set([
176
+ "rollback",
177
+ ]);
178
+ //# sourceMappingURL=cloudflare-actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloudflare-actions.js","sourceRoot":"","sources":["../../src/core/cloudflare-actions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import { type ProviderAuthSpec, type ProviderCliSession, type ProviderCliStatus } from "./providers/credentials.js";
2
+ /** Provider id this integration stores its connection under. */
3
+ export declare const CLOUDFLARE_PROVIDER_ID = "cloudflare";
4
+ /**
5
+ * Candidate locations of Wrangler's `config/default.toml`, newest convention
6
+ * first. Wrangler resolves these through `xdg-app-paths` under the app name
7
+ * `.wrangler`; the trailing entry is the pre-XDG path that long-lived installs
8
+ * still carry, and `WRANGLER_HOME` overrides all of them.
9
+ */
10
+ export declare function wranglerConfigDirs(env?: NodeJS.ProcessEnv): string[];
11
+ /**
12
+ * The ambient Cloudflare credential, or null when there is none.
13
+ *
14
+ * Two sources, in the order Wrangler itself prefers them:
15
+ *
16
+ * 1. `CLOUDFLARE_API_TOKEN` in the environment, which is how Wrangler runs in
17
+ * CI and in most shells that have been set up for it;
18
+ * 2. the OAuth token `wrangler login` wrote to `config/default.toml`.
19
+ *
20
+ * Neither is ever copied into NoMoreIDE's config — that is the shared `cli`
21
+ * policy, and it is what makes `wrangler logout` revoke us too.
22
+ *
23
+ * An expired stored token reads as "not logged in" rather than being handed
24
+ * out: Wrangler refreshes it roughly hourly and rotates the refresh token when
25
+ * it does, so renewing it here would invalidate Wrangler's own copy.
26
+ */
27
+ export declare function readWranglerSession(env?: NodeJS.ProcessEnv): Promise<ProviderCliSession | null>;
28
+ /**
29
+ * Cloudflare's half of the shared credential resolver.
30
+ *
31
+ * **No `oauth` block — because of how our flow works, not because Cloudflare
32
+ * has no OAuth.** The shared `providers/oauth.ts` mints its own client at
33
+ * runtime via dynamic client registration (RFC 7591), which is what lets
34
+ * NoMoreIDE ship no client id at all. Cloudflare has no registration endpoint,
35
+ * so `registerOAuthClient()` would throw before a browser ever opened.
36
+ *
37
+ * That is a narrower obstacle than it was, and narrower than this comment used
38
+ * to claim: Cloudflare *does* serve OIDC discovery, at
39
+ * `dash.cloudflare.com/.well-known/openid-configuration`. It advertises PKCE
40
+ * (S256), `none` for token endpoint auth, and both the `authorization_code` and
41
+ * `refresh_token` grants — but no `registration_endpoint`. Since 2026-06-03 you
42
+ * register the client yourself instead, and a *public* client needs no secret.
43
+ *
44
+ * Adopting it is therefore a change of model rather than a new provider entry:
45
+ * NoMoreIDE would ship a pre-registered client id, which `ProviderAuthSpec`
46
+ * has no way to express, and public visibility additionally requires a verified
47
+ * client domain and is irreversible once granted.
48
+ *
49
+ * Loopback redirect URIs are accepted — verified against a live client, and the
50
+ * thing that would otherwise have ruled this out. Cloudflare also exposes a
51
+ * device authorization endpoint, so a provider that ever *does* refuse loopback
52
+ * has a redirect-free path available.
53
+ *
54
+ * Until then Cloudflare connects with an API token or by inheriting Wrangler's
55
+ * own login. The three-source model survives contact with provider #2; only
56
+ * this provider's subset of it is smaller.
57
+ *
58
+ * @see docs/plans/2026-08-13-provider-registry-design.md §11
59
+ */
60
+ export declare const CLOUDFLARE_AUTH: ProviderAuthSpec;
61
+ export declare function cloudflareCliStatus(env?: NodeJS.ProcessEnv): Promise<ProviderCliStatus>;