@prisma/compute-cli 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -47,6 +47,16 @@ export declare const deployCommand: import("citty").CommandDef<{
47
47
  readonly default: "1000";
48
48
  readonly description: "Poll interval in milliseconds";
49
49
  };
50
+ readonly skipPromote: {
51
+ readonly type: "boolean";
52
+ readonly default: false;
53
+ readonly description: "Deploy the new version without promoting it to the service endpoint";
54
+ };
55
+ readonly destroyOldVersion: {
56
+ readonly type: "boolean";
57
+ readonly default: false;
58
+ readonly description: "Delete the old version after stopping it";
59
+ };
50
60
  readonly json: {
51
61
  readonly type: "boolean";
52
62
  readonly default: false;
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0GxB,CAAC"}
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsHxB,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import path from "node:path";
2
- import { BunBuild, ComputeClient, PreBuilt } from "@prisma/compute-sdk";
2
+ import { BunBuild, ComputeClient, PreBuilt, } from "@prisma/compute-sdk";
3
3
  import { defineCommand } from "citty";
4
4
  import { createDeployInteraction } from "../lib/interaction.js";
5
5
  import { printJsonResult } from "../lib/json-output.js";
6
6
  import { createDeployProgress } from "../lib/progress.js";
7
- import { endFlow, handleError, parseEnvFromArgs, parsePollOptions, parsePortMapping, printServiceIdHint, resolveServiceId, startFlow, withAuthAndSignal, } from "./helpers.js";
7
+ import { endFlow, handleError, parseEnvFromArgs, parsePollOptions, parsePortMapping, resolveServiceId, startFlow, withAuthAndSignal, } from "./helpers.js";
8
8
  export const deployCommand = defineCommand({
9
9
  meta: { name: "deploy", description: "Build and deploy your application" },
10
10
  args: {
@@ -40,6 +40,16 @@ export const deployCommand = defineCommand({
40
40
  default: "1000",
41
41
  description: "Poll interval in milliseconds",
42
42
  },
43
+ skipPromote: {
44
+ type: "boolean",
45
+ default: false,
46
+ description: "Deploy the new version without promoting it to the service endpoint",
47
+ },
48
+ destroyOldVersion: {
49
+ type: "boolean",
50
+ default: false,
51
+ description: "Delete the old version after stopping it",
52
+ },
43
53
  json: { type: "boolean", default: false, description: "Output JSON" },
44
54
  },
45
55
  run: async ({ args, rawArgs }) => {
@@ -61,6 +71,9 @@ export const deployCommand = defineCommand({
61
71
  else {
62
72
  strategy = new BunBuild({ appPath, entrypoint: args.entrypoint });
63
73
  }
74
+ if (args.skipPromote && args.destroyOldVersion) {
75
+ throw new Error("--destroy-old-version cannot be combined with --skip-promote");
76
+ }
64
77
  const result = await sdk.deploy({
65
78
  strategy,
66
79
  projectId: args.project,
@@ -73,6 +86,8 @@ export const deployCommand = defineCommand({
73
86
  interaction: args.json ? undefined : createDeployInteraction(),
74
87
  progress: args.json ? undefined : createDeployProgress(),
75
88
  signal,
89
+ skipPromote: args.skipPromote,
90
+ destroyOldVersion: args.destroyOldVersion,
76
91
  });
77
92
  if (args.json) {
78
93
  printJsonResult(result);
@@ -83,13 +98,7 @@ export const deployCommand = defineCommand({
83
98
  console.error(result.error.message);
84
99
  return 1;
85
100
  }
86
- console.log(`Version: ${result.value.versionId}`);
87
- console.log("");
88
- console.log("Deployment URL:");
89
- console.log(result.value.deploymentUrl);
90
- if (!inputServiceId) {
91
- printServiceIdHint(result.value.serviceId);
92
- }
101
+ printDeploySummary(result.value);
93
102
  endFlow(flowStarted, "Deploy flow completed.");
94
103
  return 0;
95
104
  }
@@ -101,4 +110,31 @@ export const deployCommand = defineCommand({
101
110
  process.exit(exitCode);
102
111
  },
103
112
  });
113
+ function printDeploySummary(result) {
114
+ console.log("");
115
+ console.log("─── Deploy Summary ───────────────────────────");
116
+ console.log("");
117
+ console.log(` New version: ${result.versionId} (running)`);
118
+ console.log(` Version URL: ${result.versionEndpointDomain}`);
119
+ if (result.promoted) {
120
+ console.log(` Service URL: ${result.serviceEndpointDomain}`);
121
+ }
122
+ if (result.previousVersionId) {
123
+ const actionLabel = result.previousVersionAction === "destroyed"
124
+ ? "deleted"
125
+ : result.previousVersionAction === "stopped"
126
+ ? "stopped"
127
+ : "still active";
128
+ console.log(` Old version: ${result.previousVersionId} (${actionLabel})`);
129
+ }
130
+ console.log("");
131
+ if (!result.promoted) {
132
+ console.log(" --skip-promote was set: the service endpoint was NOT updated.");
133
+ console.log(" The old version is still serving traffic on the service URL.");
134
+ console.log(" To promote this version later, run:");
135
+ console.log(` compute promote --service ${result.serviceId} --version ${result.versionId}`);
136
+ console.log("");
137
+ }
138
+ console.log("───────────────────────────────────────────────");
139
+ }
104
140
  //# sourceMappingURL=deploy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../src/commands/versions.ts"],"names":[],"mappings":"AA0XA,eAAO,MAAM,aAAa,qDAUxB,CAAC"}
1
+ {"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../src/commands/versions.ts"],"names":[],"mappings":"AAkdA,eAAO,MAAM,aAAa,qDAWxB,CAAC"}
@@ -3,8 +3,8 @@ import { defineCommand } from "citty";
3
3
  import { formatTable } from "../lib/format.js";
4
4
  import { createDeployInteraction, createDestroyVersionInteraction, } from "../lib/interaction.js";
5
5
  import { printJsonResult } from "../lib/json-output.js";
6
- import { createDestroyVersionProgress } from "../lib/progress.js";
7
- import { endFlow, handleError, parsePollOptions, startFlow, withAuthAndSignal, } from "./helpers.js";
6
+ import { createDestroyVersionProgress, createPromoteProgress, } from "../lib/progress.js";
7
+ import { endFlow, handleError, parsePollOptions, resolveServiceId, startFlow, withAuthAndSignal, } from "./helpers.js";
8
8
  const versionsListCommand = defineCommand({
9
9
  meta: { name: "list", description: "List versions for a compute service" },
10
10
  args: {
@@ -307,6 +307,78 @@ const versionsDestroyCommand = defineCommand({
307
307
  process.exit(exitCode);
308
308
  },
309
309
  });
310
+ const versionsPromoteCommand = defineCommand({
311
+ meta: {
312
+ name: "promote",
313
+ description: "Promote a version to the service endpoint (starts it if not running)",
314
+ },
315
+ args: {
316
+ service: { type: "string", description: "Compute service ID" },
317
+ version: { type: "string", description: "Compute version ID to promote" },
318
+ timeout: {
319
+ type: "string",
320
+ default: "120",
321
+ description: "Poll timeout in seconds while waiting for version to start",
322
+ },
323
+ pollInterval: {
324
+ type: "string",
325
+ default: "1000",
326
+ description: "Poll interval in milliseconds",
327
+ },
328
+ json: { type: "boolean", default: false, description: "Output JSON" },
329
+ },
330
+ run: async ({ args }) => {
331
+ const exitCode = await withAuthAndSignal(async (managementClient, signal) => {
332
+ const flowStarted = !args.json && startFlow("Prisma Compute · Promote");
333
+ try {
334
+ const sdk = new ComputeClient(managementClient);
335
+ const serviceId = resolveServiceId(args);
336
+ if (!serviceId) {
337
+ throw new Error("Missing required flag: --service <id> (or set PRISMA_COMPUTE_SERVICE_ID)");
338
+ }
339
+ const result = await sdk.promote({
340
+ serviceId,
341
+ versionId: args.version,
342
+ ...parsePollOptions(args),
343
+ interaction: args.json
344
+ ? undefined
345
+ : createDestroyVersionInteraction(),
346
+ progress: args.json ? undefined : createPromoteProgress(),
347
+ signal,
348
+ });
349
+ if (args.json) {
350
+ printJsonResult(result);
351
+ return result.isOk() ? 0 : 1;
352
+ }
353
+ if (result.isErr()) {
354
+ endFlow(flowStarted, "Promote flow failed.");
355
+ console.error(result.error.message);
356
+ return 1;
357
+ }
358
+ console.log("");
359
+ console.log("─── Promote Summary ──────────────────────────");
360
+ console.log("");
361
+ console.log(` Version: ${result.value.versionId}`);
362
+ if (result.value.versionStarted) {
363
+ console.log(" Status: started → running");
364
+ }
365
+ else {
366
+ console.log(" Status: already running");
367
+ }
368
+ console.log(` Service URL: ${result.value.serviceEndpointDomain}`);
369
+ console.log("");
370
+ console.log("───────────────────────────────────────────────");
371
+ endFlow(flowStarted, "Promote flow completed.");
372
+ return 0;
373
+ }
374
+ catch (error) {
375
+ return handleError(error);
376
+ }
377
+ });
378
+ if (exitCode !== 0)
379
+ process.exit(exitCode);
380
+ },
381
+ });
310
382
  export const versionsGroup = defineCommand({
311
383
  meta: { name: "versions", description: "Version management" },
312
384
  subCommands: {
@@ -316,6 +388,7 @@ export const versionsGroup = defineCommand({
316
388
  stop: versionsStopCommand,
317
389
  delete: versionsDeleteCommand,
318
390
  destroy: versionsDestroyCommand,
391
+ promote: versionsPromoteCommand,
319
392
  },
320
393
  });
321
394
  //# sourceMappingURL=versions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../src/commands/versions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../src/commands/versions.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import type { DeployProgress, DestroyServiceProgress, DestroyVersionProgress, UpdateEnvProgress } from "@prisma/compute-sdk";
1
+ import type { DeployProgress, DestroyServiceProgress, DestroyVersionProgress, PromoteProgress, UpdateEnvProgress } from "@prisma/compute-sdk";
2
2
  export declare function createDeployProgress(): DeployProgress;
3
+ export declare function createPromoteProgress(): PromoteProgress;
3
4
  export declare function createUpdateEnvProgress(): UpdateEnvProgress;
4
5
  export declare function createDestroyVersionProgress(): DestroyVersionProgress;
5
6
  export declare function createDestroyServiceProgress(): DestroyServiceProgress;
@@ -1 +1 @@
1
- {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../src/lib/progress.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AA2B7B,wBAAgB,oBAAoB,IAAI,cAAc,CA6CrD;AAED,wBAAgB,uBAAuB,IAAI,iBAAiB,CAoB3D;AAED,wBAAgB,4BAA4B,IAAI,sBAAsB,CAkBrE;AAED,wBAAgB,4BAA4B,IAAI,sBAAsB,CA8BrE"}
1
+ {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../src/lib/progress.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AA2B7B,wBAAgB,oBAAoB,IAAI,cAAc,CAoGrD;AAED,wBAAgB,qBAAqB,IAAI,eAAe,CA8BvD;AAED,wBAAgB,uBAAuB,IAAI,iBAAiB,CAoB3D;AAED,wBAAgB,4BAA4B,IAAI,sBAAsB,CAkBrE;AAED,wBAAgB,4BAA4B,IAAI,sBAAsB,CA8BrE"}
@@ -67,6 +67,85 @@ export function createDeployProgress() {
67
67
  currentSpinner?.stop("Version is running.");
68
68
  currentSpinner = null;
69
69
  },
70
+ onPromoteStart() {
71
+ currentSpinner = createTaskSpinner();
72
+ currentSpinner.start("Promoting to service endpoint...");
73
+ },
74
+ onPromoted() {
75
+ currentSpinner?.stop("Service endpoint promoted.");
76
+ currentSpinner = null;
77
+ },
78
+ onPromoteFailed(error) {
79
+ const detail = error?.message ? `: ${error.message}` : ".";
80
+ currentSpinner?.error(`Failed to promote service endpoint${detail}`);
81
+ currentSpinner = null;
82
+ },
83
+ onOldVersionStopping(versionId) {
84
+ currentSpinner = createTaskSpinner();
85
+ currentSpinner.start(`Stopping old version ${versionId}...`);
86
+ },
87
+ onOldVersionStopped(versionId) {
88
+ currentSpinner?.stop(`Old version ${versionId} stopped.`);
89
+ currentSpinner = null;
90
+ },
91
+ onOldVersionStopFailed(versionId) {
92
+ currentSpinner?.error(`Failed to stop old version ${versionId} (best-effort).`);
93
+ currentSpinner = null;
94
+ },
95
+ onOldVersionDeleting(versionId) {
96
+ currentSpinner = createTaskSpinner();
97
+ currentSpinner.start(`Deleting old version ${versionId}...`);
98
+ },
99
+ onOldVersionDeleted(versionId) {
100
+ currentSpinner?.stop(`Old version ${versionId} deleted.`);
101
+ currentSpinner = null;
102
+ },
103
+ onOldVersionDeleteFailed(versionId) {
104
+ currentSpinner?.error(`Failed to delete old version ${versionId} (best-effort).`);
105
+ currentSpinner = null;
106
+ },
107
+ onCleanupDanglingVersion(versionId) {
108
+ currentSpinner = createTaskSpinner();
109
+ currentSpinner.start(`Cleaning up dangling version ${versionId}...`);
110
+ },
111
+ onCleanupDanglingVersionComplete(versionId) {
112
+ currentSpinner?.stop(`Dangling version ${versionId} cleaned up.`);
113
+ currentSpinner = null;
114
+ },
115
+ onCleanupDanglingVersionFailed(versionId) {
116
+ currentSpinner?.error(`Failed to clean up version ${versionId}. Run manually:\n compute versions stop ${versionId}\n compute versions delete ${versionId}`);
117
+ currentSpinner = null;
118
+ },
119
+ };
120
+ }
121
+ export function createPromoteProgress() {
122
+ let currentSpinner = null;
123
+ return {
124
+ onVersionStarting(versionId) {
125
+ currentSpinner = createTaskSpinner();
126
+ currentSpinner.start(`Starting version ${versionId}...`);
127
+ },
128
+ onVersionStartRequested() { },
129
+ onStatusChange(status) {
130
+ printStatus(status);
131
+ },
132
+ onVersionRunning() {
133
+ currentSpinner?.stop("Version is running.");
134
+ currentSpinner = null;
135
+ },
136
+ onPromoteStart() {
137
+ currentSpinner = createTaskSpinner();
138
+ currentSpinner.start("Promoting to service endpoint...");
139
+ },
140
+ onPromoted() {
141
+ currentSpinner?.stop("Service endpoint promoted.");
142
+ currentSpinner = null;
143
+ },
144
+ onPromoteFailed(error) {
145
+ const detail = error?.message ? `: ${error.message}` : ".";
146
+ currentSpinner?.error(`Failed to promote service endpoint${detail}`);
147
+ currentSpinner = null;
148
+ },
70
149
  };
71
150
  }
72
151
  export function createUpdateEnvProgress() {
@@ -1 +1 @@
1
- {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/lib/progress.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/lib/progress.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prisma/compute-cli",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "repository": "prisma/project-compute",
5
5
  "type": "module",
6
6
  "bin": {
@@ -31,7 +31,7 @@
31
31
  },
32
32
  "dependencies": {
33
33
  "@clack/prompts": "^1.1.0",
34
- "@prisma/compute-sdk": "0.4.0",
34
+ "@prisma/compute-sdk": "0.5.0",
35
35
  "@prisma/credentials-store": "^7.5.0",
36
36
  "@prisma/management-api-sdk": "^1.23.0",
37
37
  "citty": "^0.2.1",
@@ -1,5 +1,10 @@
1
1
  import path from "node:path";
2
- import { BunBuild, ComputeClient, PreBuilt } from "@prisma/compute-sdk";
2
+ import {
3
+ BunBuild,
4
+ ComputeClient,
5
+ type DeployResult,
6
+ PreBuilt,
7
+ } from "@prisma/compute-sdk";
3
8
  import { defineCommand } from "citty";
4
9
  import { createDeployInteraction } from "../lib/interaction.ts";
5
10
  import { printJsonResult } from "../lib/json-output.ts";
@@ -10,7 +15,6 @@ import {
10
15
  parseEnvFromArgs,
11
16
  parsePollOptions,
12
17
  parsePortMapping,
13
- printServiceIdHint,
14
18
  resolveServiceId,
15
19
  startFlow,
16
20
  withAuthAndSignal,
@@ -51,6 +55,17 @@ export const deployCommand = defineCommand({
51
55
  default: "1000",
52
56
  description: "Poll interval in milliseconds",
53
57
  },
58
+ skipPromote: {
59
+ type: "boolean",
60
+ default: false,
61
+ description:
62
+ "Deploy the new version without promoting it to the service endpoint",
63
+ },
64
+ destroyOldVersion: {
65
+ type: "boolean",
66
+ default: false,
67
+ description: "Delete the old version after stopping it",
68
+ },
54
69
  json: { type: "boolean", default: false, description: "Output JSON" },
55
70
  },
56
71
  run: async ({ args, rawArgs }) => {
@@ -78,6 +93,12 @@ export const deployCommand = defineCommand({
78
93
  strategy = new BunBuild({ appPath, entrypoint: args.entrypoint });
79
94
  }
80
95
 
96
+ if (args.skipPromote && args.destroyOldVersion) {
97
+ throw new Error(
98
+ "--destroy-old-version cannot be combined with --skip-promote",
99
+ );
100
+ }
101
+
81
102
  const result = await sdk.deploy({
82
103
  strategy,
83
104
  projectId: args.project,
@@ -90,6 +111,8 @@ export const deployCommand = defineCommand({
90
111
  interaction: args.json ? undefined : createDeployInteraction(),
91
112
  progress: args.json ? undefined : createDeployProgress(),
92
113
  signal,
114
+ skipPromote: args.skipPromote,
115
+ destroyOldVersion: args.destroyOldVersion,
93
116
  });
94
117
 
95
118
  if (args.json) {
@@ -103,14 +126,7 @@ export const deployCommand = defineCommand({
103
126
  return 1;
104
127
  }
105
128
 
106
- console.log(`Version: ${result.value.versionId}`);
107
- console.log("");
108
- console.log("Deployment URL:");
109
- console.log(result.value.deploymentUrl);
110
-
111
- if (!inputServiceId) {
112
- printServiceIdHint(result.value.serviceId);
113
- }
129
+ printDeploySummary(result.value);
114
130
 
115
131
  endFlow(flowStarted, "Deploy flow completed.");
116
132
  return 0;
@@ -123,3 +139,44 @@ export const deployCommand = defineCommand({
123
139
  if (exitCode !== 0) process.exit(exitCode);
124
140
  },
125
141
  });
142
+
143
+ function printDeploySummary(result: DeployResult): void {
144
+ console.log("");
145
+ console.log("─── Deploy Summary ───────────────────────────");
146
+ console.log("");
147
+
148
+ console.log(` New version: ${result.versionId} (running)`);
149
+ console.log(` Version URL: ${result.versionEndpointDomain}`);
150
+
151
+ if (result.promoted) {
152
+ console.log(` Service URL: ${result.serviceEndpointDomain}`);
153
+ }
154
+
155
+ if (result.previousVersionId) {
156
+ const actionLabel =
157
+ result.previousVersionAction === "destroyed"
158
+ ? "deleted"
159
+ : result.previousVersionAction === "stopped"
160
+ ? "stopped"
161
+ : "still active";
162
+ console.log(` Old version: ${result.previousVersionId} (${actionLabel})`);
163
+ }
164
+
165
+ console.log("");
166
+
167
+ if (!result.promoted) {
168
+ console.log(
169
+ " --skip-promote was set: the service endpoint was NOT updated.",
170
+ );
171
+ console.log(
172
+ " The old version is still serving traffic on the service URL.",
173
+ );
174
+ console.log(" To promote this version later, run:");
175
+ console.log(
176
+ ` compute promote --service ${result.serviceId} --version ${result.versionId}`,
177
+ );
178
+ console.log("");
179
+ }
180
+
181
+ console.log("───────────────────────────────────────────────");
182
+ }
@@ -6,11 +6,15 @@ import {
6
6
  createDestroyVersionInteraction,
7
7
  } from "../lib/interaction.ts";
8
8
  import { printJsonResult } from "../lib/json-output.ts";
9
- import { createDestroyVersionProgress } from "../lib/progress.ts";
9
+ import {
10
+ createDestroyVersionProgress,
11
+ createPromoteProgress,
12
+ } from "../lib/progress.ts";
10
13
  import {
11
14
  endFlow,
12
15
  handleError,
13
16
  parsePollOptions,
17
+ resolveServiceId,
14
18
  startFlow,
15
19
  withAuthAndSignal,
16
20
  } from "./helpers.ts";
@@ -376,6 +380,90 @@ const versionsDestroyCommand = defineCommand({
376
380
  },
377
381
  });
378
382
 
383
+ const versionsPromoteCommand = defineCommand({
384
+ meta: {
385
+ name: "promote",
386
+ description:
387
+ "Promote a version to the service endpoint (starts it if not running)",
388
+ },
389
+ args: {
390
+ service: { type: "string", description: "Compute service ID" },
391
+ version: { type: "string", description: "Compute version ID to promote" },
392
+ timeout: {
393
+ type: "string",
394
+ default: "120",
395
+ description: "Poll timeout in seconds while waiting for version to start",
396
+ },
397
+ pollInterval: {
398
+ type: "string",
399
+ default: "1000",
400
+ description: "Poll interval in milliseconds",
401
+ },
402
+ json: { type: "boolean", default: false, description: "Output JSON" },
403
+ },
404
+ run: async ({ args }) => {
405
+ const exitCode = await withAuthAndSignal(
406
+ async (managementClient, signal) => {
407
+ const flowStarted = !args.json && startFlow("Prisma Compute · Promote");
408
+
409
+ try {
410
+ const sdk = new ComputeClient(managementClient);
411
+
412
+ const serviceId = resolveServiceId(args);
413
+
414
+ if (!serviceId) {
415
+ throw new Error(
416
+ "Missing required flag: --service <id> (or set PRISMA_COMPUTE_SERVICE_ID)",
417
+ );
418
+ }
419
+
420
+ const result = await sdk.promote({
421
+ serviceId,
422
+ versionId: args.version,
423
+ ...parsePollOptions(args),
424
+ interaction: args.json
425
+ ? undefined
426
+ : createDestroyVersionInteraction(),
427
+ progress: args.json ? undefined : createPromoteProgress(),
428
+ signal,
429
+ });
430
+
431
+ if (args.json) {
432
+ printJsonResult(result);
433
+ return result.isOk() ? 0 : 1;
434
+ }
435
+
436
+ if (result.isErr()) {
437
+ endFlow(flowStarted, "Promote flow failed.");
438
+ console.error(result.error.message);
439
+ return 1;
440
+ }
441
+
442
+ console.log("");
443
+ console.log("─── Promote Summary ──────────────────────────");
444
+ console.log("");
445
+ console.log(` Version: ${result.value.versionId}`);
446
+ if (result.value.versionStarted) {
447
+ console.log(" Status: started → running");
448
+ } else {
449
+ console.log(" Status: already running");
450
+ }
451
+ console.log(` Service URL: ${result.value.serviceEndpointDomain}`);
452
+ console.log("");
453
+ console.log("───────────────────────────────────────────────");
454
+
455
+ endFlow(flowStarted, "Promote flow completed.");
456
+ return 0;
457
+ } catch (error) {
458
+ return handleError(error);
459
+ }
460
+ },
461
+ );
462
+
463
+ if (exitCode !== 0) process.exit(exitCode);
464
+ },
465
+ });
466
+
379
467
  export const versionsGroup = defineCommand({
380
468
  meta: { name: "versions", description: "Version management" },
381
469
  subCommands: {
@@ -385,5 +473,6 @@ export const versionsGroup = defineCommand({
385
473
  stop: versionsStopCommand,
386
474
  delete: versionsDeleteCommand,
387
475
  destroy: versionsDestroyCommand,
476
+ promote: versionsPromoteCommand,
388
477
  },
389
478
  });
@@ -3,6 +3,7 @@ import type {
3
3
  DeployProgress,
4
4
  DestroyServiceProgress,
5
5
  DestroyVersionProgress,
6
+ PromoteProgress,
6
7
  UpdateEnvProgress,
7
8
  } from "@prisma/compute-sdk";
8
9
  import { isInteractiveSession } from "./interaction.ts";
@@ -75,6 +76,93 @@ export function createDeployProgress(): DeployProgress {
75
76
  currentSpinner?.stop("Version is running.");
76
77
  currentSpinner = null;
77
78
  },
79
+ onPromoteStart() {
80
+ currentSpinner = createTaskSpinner();
81
+ currentSpinner.start("Promoting to service endpoint...");
82
+ },
83
+ onPromoted() {
84
+ currentSpinner?.stop("Service endpoint promoted.");
85
+ currentSpinner = null;
86
+ },
87
+ onPromoteFailed(error) {
88
+ const detail = error?.message ? `: ${error.message}` : ".";
89
+ currentSpinner?.error(`Failed to promote service endpoint${detail}`);
90
+ currentSpinner = null;
91
+ },
92
+ onOldVersionStopping(versionId) {
93
+ currentSpinner = createTaskSpinner();
94
+ currentSpinner.start(`Stopping old version ${versionId}...`);
95
+ },
96
+ onOldVersionStopped(versionId) {
97
+ currentSpinner?.stop(`Old version ${versionId} stopped.`);
98
+ currentSpinner = null;
99
+ },
100
+ onOldVersionStopFailed(versionId) {
101
+ currentSpinner?.error(
102
+ `Failed to stop old version ${versionId} (best-effort).`,
103
+ );
104
+ currentSpinner = null;
105
+ },
106
+ onOldVersionDeleting(versionId) {
107
+ currentSpinner = createTaskSpinner();
108
+ currentSpinner.start(`Deleting old version ${versionId}...`);
109
+ },
110
+ onOldVersionDeleted(versionId) {
111
+ currentSpinner?.stop(`Old version ${versionId} deleted.`);
112
+ currentSpinner = null;
113
+ },
114
+ onOldVersionDeleteFailed(versionId) {
115
+ currentSpinner?.error(
116
+ `Failed to delete old version ${versionId} (best-effort).`,
117
+ );
118
+ currentSpinner = null;
119
+ },
120
+ onCleanupDanglingVersion(versionId) {
121
+ currentSpinner = createTaskSpinner();
122
+ currentSpinner.start(`Cleaning up dangling version ${versionId}...`);
123
+ },
124
+ onCleanupDanglingVersionComplete(versionId) {
125
+ currentSpinner?.stop(`Dangling version ${versionId} cleaned up.`);
126
+ currentSpinner = null;
127
+ },
128
+ onCleanupDanglingVersionFailed(versionId) {
129
+ currentSpinner?.error(
130
+ `Failed to clean up version ${versionId}. Run manually:\n compute versions stop ${versionId}\n compute versions delete ${versionId}`,
131
+ );
132
+ currentSpinner = null;
133
+ },
134
+ };
135
+ }
136
+
137
+ export function createPromoteProgress(): PromoteProgress {
138
+ let currentSpinner: SpinnerResult | null = null;
139
+
140
+ return {
141
+ onVersionStarting(versionId) {
142
+ currentSpinner = createTaskSpinner();
143
+ currentSpinner.start(`Starting version ${versionId}...`);
144
+ },
145
+ onVersionStartRequested() {},
146
+ onStatusChange(status) {
147
+ printStatus(status);
148
+ },
149
+ onVersionRunning() {
150
+ currentSpinner?.stop("Version is running.");
151
+ currentSpinner = null;
152
+ },
153
+ onPromoteStart() {
154
+ currentSpinner = createTaskSpinner();
155
+ currentSpinner.start("Promoting to service endpoint...");
156
+ },
157
+ onPromoted() {
158
+ currentSpinner?.stop("Service endpoint promoted.");
159
+ currentSpinner = null;
160
+ },
161
+ onPromoteFailed(error) {
162
+ const detail = error?.message ? `: ${error.message}` : ".";
163
+ currentSpinner?.error(`Failed to promote service endpoint${detail}`);
164
+ currentSpinner = null;
165
+ },
78
166
  };
79
167
  }
80
168