@buildspacestudio/cli 0.5.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -122,7 +122,7 @@ Behavior:
122
122
 
123
123
  - `list` shows masked values
124
124
  - `set` creates or updates a variable, and uppercases the key automatically
125
- - `pull` writes system vars plus non-secret vars to a local env file
125
+ - `pull` writes non-secret vars plus the managed database credentials (`BUILDSPACE_DB_URL` and `BUILDSPACE_DB_TOKEN`) to a local env file
126
126
  - keys with the `BUILDSPACE_` prefix are reserved
127
127
  - `NEXT_PUBLIC_*` keys default to non-secret unless you override them
128
128
 
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/commands/app.ts"],"names":[],"mappings":"AAuhBA,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA0B7D"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/commands/app.ts"],"names":[],"mappings":"AAmqBA,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA4B7D"}
@@ -1,4 +1,4 @@
1
- import { createApp, deleteApp, disableHosting, enableHosting, getHostingState, getProvisioningStatus, } from "../lib/api.js";
1
+ import { ApiError, createApp, deleteApp, disableHosting, enableHosting, getHostingState, getProvisioningStatus, } from "../lib/api.js";
2
2
  import { clearActiveApp, getActiveApp, listAppsWithActive, resolveAppContext, setActiveApp, validateAppForSelection, } from "../lib/app.js";
3
3
  import { hasFlag, readFlag } from "../lib/args.js";
4
4
  import { resolveStoredAuth } from "../lib/auth.js";
@@ -18,6 +18,7 @@ const ACTIVE_PROVISIONING_STATUSES = new Set(["pending", "running"]);
18
18
  const TERMINAL_PROVISIONING_STATUSES = new Set(["completed", "completed_with_warnings", "failed"]);
19
19
  const PROVISIONING_POLL_INTERVAL_MS = 1500;
20
20
  const PROVISIONING_WAIT_WINDOW_MS = 30_000;
21
+ const REPO_STEP_KEY = "repository";
21
22
  function printUsage() {
22
23
  console.log("Usage: buildspace app <subcommand> [options]");
23
24
  console.log("");
@@ -26,6 +27,7 @@ function printUsage() {
26
27
  console.log(" current Show the current resolved app");
27
28
  console.log(" use <slug> Set the active app");
28
29
  console.log(" create Create a new app");
30
+ console.log(" status [<slug>] Show hosting status for an app");
29
31
  console.log(" delete <slug> Soft-delete an app");
30
32
  console.log(" hosting <status|enable|disable> Manage hosting per environment");
31
33
  }
@@ -37,6 +39,8 @@ function printCreateUsage() {
37
39
  console.log(" --slug <slug> Optional app slug override");
38
40
  console.log(" --description <text> Optional description");
39
41
  console.log(" --category <value> Optional category");
42
+ console.log(" --json Output result as JSON and skip provisioning wait");
43
+ console.log(" --no-wait Skip provisioning wait entirely");
40
44
  }
41
45
  function printDeleteUsage() {
42
46
  console.log("Usage: buildspace app delete <slug> --confirm <slug> [--note <text>]");
@@ -95,31 +99,138 @@ function formatProvisioningLine(session) {
95
99
  const label = activeStep?.label ?? "Finalizing provisioning";
96
100
  return `${label} (${session.percent}%)`;
97
101
  }
98
- async function waitForProvisioning(sessionId, auth) {
99
- const startedAt = Date.now();
102
+ async function pollUntilRepoReady(sessionId, auth, deadlineMs) {
100
103
  let lastLine = null;
101
- let lastSession = null;
102
- while (Date.now() - startedAt <= PROVISIONING_WAIT_WINDOW_MS) {
103
- const result = await getProvisioningStatus(sessionId, auth);
104
- const { session } = result;
105
- lastSession = session;
104
+ while (Date.now() < deadlineMs) {
105
+ const { session } = await getProvisioningStatus(sessionId, auth);
106
106
  const line = formatProvisioningLine(session);
107
107
  if (line !== lastLine) {
108
108
  console.log(` ${line}`);
109
109
  lastLine = line;
110
110
  }
111
111
  if (TERMINAL_PROVISIONING_STATUSES.has(session.status)) {
112
- return session;
112
+ return { reachedTerminal: true, session };
113
113
  }
114
114
  if (!ACTIVE_PROVISIONING_STATUSES.has(session.status)) {
115
- return session;
115
+ return { reachedTerminal: false, session };
116
+ }
117
+ const repoStep = session.steps.find((s) => s.key === REPO_STEP_KEY);
118
+ if (repoStep?.status === "complete" || repoStep?.status === "warning") {
119
+ return { reachedTerminal: false, session };
120
+ }
121
+ await sleep(PROVISIONING_POLL_INTERVAL_MS);
122
+ }
123
+ // Deadline expired — do one final fetch to return current state
124
+ const { session } = await getProvisioningStatus(sessionId, auth);
125
+ return { reachedTerminal: TERMINAL_PROVISIONING_STATUSES.has(session.status), session };
126
+ }
127
+ async function pollUntilTerminal(sessionId, auth, deadlineMs) {
128
+ while (Date.now() < deadlineMs) {
129
+ const { session } = await getProvisioningStatus(sessionId, auth);
130
+ if (TERMINAL_PROVISIONING_STATUSES.has(session.status)) {
131
+ return { session, timedOut: false };
132
+ }
133
+ if (!ACTIVE_PROVISIONING_STATUSES.has(session.status)) {
134
+ return { session, timedOut: false };
116
135
  }
117
136
  await sleep(PROVISIONING_POLL_INTERVAL_MS);
118
137
  }
119
- if (!lastSession) {
120
- throw new Error("Provisioning started, but status could not be loaded");
138
+ const { session } = await getProvisioningStatus(sessionId, auth).catch(() => ({
139
+ session: null,
140
+ }));
141
+ return { session, timedOut: true };
142
+ }
143
+ function buildCreateAppInput(name, args) {
144
+ const slug = readFlag(args, "--slug")?.trim();
145
+ const description = readFlag(args, "--description")?.trim();
146
+ const category = readFlag(args, "--category")?.trim();
147
+ return {
148
+ name,
149
+ ...(slug ? { slug } : {}),
150
+ ...(description ? { description } : {}),
151
+ ...(category ? { category } : {}),
152
+ };
153
+ }
154
+ function writeJsonCommandError(error, fallback) {
155
+ const code = error instanceof ApiError ? error.code : "NETWORK_ERROR";
156
+ const message = error instanceof Error ? error.message : fallback;
157
+ process.stderr.write(`${JSON.stringify({ error: message, code })}\n`);
158
+ }
159
+ async function printCreateResultHuman(result, noWait, auth) {
160
+ console.log(`Created app ${result.app.name} (${result.app.slug})`);
161
+ console.log("Active app updated.");
162
+ if (result.keys.length > 0) {
163
+ console.log("");
164
+ console.log("Initial API keys:");
165
+ for (const key of result.keys) {
166
+ console.log(` ${key.environment}/${key.type}: ${key.key}`);
167
+ }
168
+ }
169
+ if (noWait) {
170
+ console.log("");
171
+ console.log("Provisioning is running in the background.");
172
+ console.log(`Run \`buildspace app status ${result.app.slug}\` to check progress.`);
173
+ }
174
+ else {
175
+ console.log("");
176
+ await waitAndPrintCreateProgress(result.provisioningSession.id, result.app.slug, auth);
177
+ }
178
+ console.log("");
179
+ console.log(" Run your coding agent of choice to build your app.");
180
+ console.log(" buildspace deploy # when you're ready to ship a dev deploy");
181
+ await maybeShowSkillsHint();
182
+ }
183
+ function printCreateNextSteps(slug) {
184
+ console.log("Next steps:");
185
+ console.log(` buildspace init --app ${slug} # clone repo and pull dev env vars`);
186
+ console.log(` cd ${slug}`);
187
+ console.log(" bun dev");
188
+ }
189
+ async function waitAndPrintCreateProgress(sessionId, slug, auth) {
190
+ console.log("Provisioning infrastructure...");
191
+ const deadline = Date.now() + PROVISIONING_WAIT_WINDOW_MS;
192
+ const phase1 = await pollUntilRepoReady(sessionId, auth, deadline);
193
+ if (phase1.reachedTerminal) {
194
+ printProvisioningFinalStatus(phase1.session);
195
+ console.log("");
196
+ printCreateNextSteps(slug);
197
+ return;
198
+ }
199
+ console.log("");
200
+ console.log("Repository ready.");
201
+ console.log("");
202
+ printCreateNextSteps(slug);
203
+ console.log("");
204
+ console.log("Hosting, database, and storage are finishing setup in the background (~30s).");
205
+ const phase2 = await pollUntilTerminal(sessionId, auth, deadline);
206
+ if (phase2.timedOut || !phase2.session) {
207
+ console.log(`Run \`buildspace app status ${slug}\` to check when setup is complete.`);
208
+ }
209
+ else {
210
+ printProvisioningFinalStatus(phase2.session);
211
+ }
212
+ }
213
+ function printProvisioningFinalStatus(session) {
214
+ if (session.status === "completed") {
215
+ console.log("Infrastructure setup complete.");
216
+ }
217
+ else if (session.status === "completed_with_warnings") {
218
+ console.log("Infrastructure setup complete with warnings.");
219
+ }
220
+ else if (session.status === "failed") {
221
+ console.log("Infrastructure setup failed.");
222
+ }
223
+ if (session.warnings.length > 0) {
224
+ console.log("");
225
+ console.log("Setup warnings:");
226
+ for (const warning of session.warnings) {
227
+ console.log(` - ${warning}`);
228
+ }
229
+ }
230
+ if (session.errorMessage) {
231
+ console.log("");
232
+ console.log(`Setup error: ${session.errorMessage}`);
121
233
  }
122
- return lastSession;
123
234
  }
124
235
  async function runList(args) {
125
236
  const json = hasFlag(args, "--json");
@@ -187,23 +298,21 @@ async function runCreate(args) {
187
298
  return 0;
188
299
  }
189
300
  const json = hasFlag(args, "--json");
301
+ const noWait = json || hasFlag(args, "--no-wait");
190
302
  const name = readFlag(args, "--name")?.trim();
191
- const slug = readFlag(args, "--slug")?.trim();
192
- const description = readFlag(args, "--description")?.trim();
193
- const category = readFlag(args, "--category")?.trim();
194
303
  if (!name) {
195
- console.error("Missing required --name.");
196
- printCreateUsage();
304
+ if (json) {
305
+ process.stderr.write(`${JSON.stringify({ error: "Missing required --name.", code: "VALIDATION_ERROR" })}\n`);
306
+ }
307
+ else {
308
+ console.error("Missing required --name.");
309
+ printCreateUsage();
310
+ }
197
311
  return 1;
198
312
  }
199
313
  const auth = await resolveStoredAuth();
200
314
  try {
201
- const result = await createApp({
202
- name,
203
- ...(slug ? { slug } : {}),
204
- ...(description ? { description } : {}),
205
- ...(category ? { category } : {}),
206
- }, auth);
315
+ const result = await createApp(buildCreateAppInput(name, args), auth);
207
316
  await setActiveApp(result.app);
208
317
  trackEvent("cli.app.created");
209
318
  if (json) {
@@ -211,62 +320,60 @@ async function runCreate(args) {
211
320
  app: { id: result.app.id, slug: result.app.slug, name: result.app.name },
212
321
  environments: result.environments,
213
322
  keys: result.keys,
323
+ provisioningSession: {
324
+ id: result.provisioningSession.id,
325
+ status: result.provisioningSession.status,
326
+ },
214
327
  }, null, 2));
215
328
  return 0;
216
329
  }
217
- console.log(`Created app ${result.app.name} (${result.app.slug})`);
218
- console.log("Active app updated.");
219
- if (result.keys.length > 0) {
220
- console.log("");
221
- console.log("Initial API keys:");
222
- for (const key of result.keys) {
223
- console.log(` ${key.environment}/${key.type}: ${key.key}`);
224
- }
225
- }
226
- console.log("");
227
- console.log("Provisioning infrastructure. This usually takes around 30 seconds.");
228
- const provisioningSession = await waitForProvisioning(result.provisioningSession.id, auth);
229
- if (provisioningSession.status === "completed") {
230
- console.log("Provisioning finished successfully.");
231
- }
232
- else if (provisioningSession.status === "completed_with_warnings") {
233
- console.log("Provisioning finished with warnings.");
234
- }
235
- else if (provisioningSession.status === "failed") {
236
- console.log("Provisioning failed.");
330
+ await printCreateResultHuman(result, noWait, auth);
331
+ return 0;
332
+ }
333
+ catch (error) {
334
+ if (json) {
335
+ writeJsonCommandError(error, "Failed to create app");
237
336
  }
238
337
  else {
239
- console.log("Provisioning is still running in the background.");
240
- console.log(`Check the dashboard or run \`buildspace app hosting status ${result.app.slug}\` in a moment for the latest state.`);
338
+ console.error(error instanceof Error ? error.message : "Failed to create app");
241
339
  }
242
- if (provisioningSession.warnings.length > 0) {
243
- console.log("");
244
- console.log("Setup warnings:");
245
- for (const warning of provisioningSession.warnings) {
246
- console.log(` - ${warning}`);
247
- }
248
- }
249
- if (provisioningSession.errorMessage) {
250
- console.log("");
251
- console.log(`Provisioning error: ${provisioningSession.errorMessage}`);
340
+ return 1;
341
+ }
342
+ }
343
+ function buildHostingEnvMap(hosting) {
344
+ const envMap = {};
345
+ for (const env of hosting.environments) {
346
+ const url = env.hosting?.managedDomain
347
+ ? `https://${env.hosting.managedDomain}`
348
+ : (env.hosting?.publicUrl ?? null);
349
+ envMap[env.envType] = { status: env.hosting?.status ?? "disabled", url };
350
+ }
351
+ return envMap;
352
+ }
353
+ async function runStatus(args) {
354
+ const json = hasFlag(args, "--json");
355
+ const auth = await resolveStoredAuth();
356
+ try {
357
+ const context = await resolveAppContext(normalizeAppArgs(args), auth);
358
+ const hosting = await getHostingState(context.app.id, auth);
359
+ if (json) {
360
+ const { app } = context;
361
+ console.log(JSON.stringify({
362
+ app: { id: app.id, slug: app.slug, name: app.name },
363
+ hosting: buildHostingEnvMap(hosting),
364
+ }, null, 2));
365
+ return 0;
252
366
  }
253
- console.log("");
254
- console.log("Next steps:");
255
- console.log(" To connect this app locally and get it running in your terminal:");
256
- console.log(` buildspace init --app ${result.app.slug} # clone, set up Bun, and pull dev env vars`);
257
- console.log(` cd ${result.app.slug}`);
258
- console.log(" bun dev # start local development");
259
- console.log("");
260
- console.log(" Run your coding agent of choice to build your app.");
261
- console.log("");
262
- console.log(" When you're ready to ship a dev deploy:");
263
- console.log(" buildspace deploy");
264
- await maybeShowSkillsHint();
367
+ printHostingStatus(hosting);
265
368
  return 0;
266
369
  }
267
370
  catch (error) {
268
- const message = error instanceof Error ? error.message : "Failed to create app";
269
- console.error(message);
371
+ if (json) {
372
+ writeJsonCommandError(error, "Failed to get status");
373
+ }
374
+ else {
375
+ console.error(error instanceof Error ? error.message : "Failed to get status");
376
+ }
270
377
  return 1;
271
378
  }
272
379
  }
@@ -417,6 +524,8 @@ export function runAppCommand(args) {
417
524
  return runUse(args.slice(1));
418
525
  case "create":
419
526
  return runCreate(args.slice(1));
527
+ case "status":
528
+ return runStatus(args.slice(1));
420
529
  case "delete":
421
530
  return runDelete(args.slice(1));
422
531
  case "hosting":
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/commands/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/commands/app.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAmnBA,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAyBpE"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAwrBA,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAyBpE"}
@@ -435,48 +435,102 @@ async function setAuth(args) {
435
435
  console.log(`Config: ${getConfigPath()}`);
436
436
  return 0;
437
437
  }
438
- async function showAuth() {
438
+ function buildAuthStatusJson(status, resolvedAuth) {
439
+ const token = status.token;
440
+ return {
441
+ authenticated: true,
442
+ authMethod: status.authMethod,
443
+ apiUrl: resolvedAuth.apiBaseUrl,
444
+ gitUrl: resolvedAuth.gitBaseUrl,
445
+ token: token
446
+ ? {
447
+ name: token.name ?? null,
448
+ keyPrefix: token.keyPrefix ?? null,
449
+ accessMode: token.appRestrictionMode ?? "unrestricted",
450
+ apps: token.apps.map((a) => a.slug),
451
+ expiresAt: token.expiresAt ?? null,
452
+ }
453
+ : null,
454
+ };
455
+ }
456
+ function resolveAccessLabel(token) {
457
+ if (token.appRestrictionMode === "first_created") {
458
+ return "First app created (pending)";
459
+ }
460
+ if (token.appRestrictionMode === "specific") {
461
+ return token.apps.length === 0
462
+ ? "Specific apps (none currently granted)"
463
+ : `Specific apps (${token.apps.length})`;
464
+ }
465
+ return "All apps";
466
+ }
467
+ function printAuthStatusHuman(status, resolvedPat, resolvedAuth) {
468
+ const { token } = status;
469
+ console.log(`Token: ${maskToken(resolvedPat)}`);
470
+ console.log(`API URL: ${resolvedAuth.apiBaseUrl}`);
471
+ console.log(`Git URL: ${resolvedAuth.gitBaseUrl}`);
472
+ if (!token) {
473
+ return;
474
+ }
475
+ console.log(`Access: ${resolveAccessLabel(token)}`);
476
+ if (token.apps.length > 0) {
477
+ console.log(`Apps: ${token.apps.map((a) => a.slug).join(", ")}`);
478
+ }
479
+ if (token.name) {
480
+ console.log(`Name: ${token.name}`);
481
+ }
482
+ if (token.expiresAt) {
483
+ console.log(`Expires: ${new Date(token.expiresAt).toLocaleDateString("en-US")}`);
484
+ }
485
+ }
486
+ async function showAuth(args) {
487
+ const json = hasFlag(args, "--json");
439
488
  const config = await readConfig();
440
- if (!config.pat) {
441
- console.log("No BuildSpace token configured.");
442
- console.log("Run: buildspace auth set");
489
+ const resolvedPat = process.env.BUILDSPACE_TOKEN?.trim() || config.pat?.trim();
490
+ if (!resolvedPat) {
491
+ const msg = "No BuildSpace token configured.";
492
+ if (json) {
493
+ process.stderr.write(`${JSON.stringify({ authenticated: false, error: msg, code: "AUTH_REQUIRED" })}\n`);
494
+ }
495
+ else {
496
+ console.log(msg);
497
+ console.log("Run: buildspace auth set --token <bs_pat_...>");
498
+ console.log("Or: BUILDSPACE_TOKEN=<bs_pat_...> buildspace ...");
499
+ }
500
+ return 1;
501
+ }
502
+ const resolvedAuth = await resolveStoredAuth().catch(() => null);
503
+ if (!resolvedAuth) {
504
+ const msg = "Could not resolve auth configuration.";
505
+ if (json) {
506
+ process.stderr.write(`${JSON.stringify({ authenticated: false, error: msg, code: "AUTH_REQUIRED" })}\n`);
507
+ }
508
+ else {
509
+ console.error(msg);
510
+ }
443
511
  return 1;
444
512
  }
445
- console.log(`Token: ${maskToken(config.pat)}`);
446
- console.log(`API URL: ${resolveApiBaseUrl(config)}`);
447
- console.log(`Git URL: ${resolveGitBaseUrl(config)}`);
448
513
  try {
449
- const status = await getAuthStatus(await resolveStoredAuth());
450
- const token = status.token;
451
- if (token) {
452
- let accessLabel = "All apps";
453
- if (token.appRestrictionMode === "first_created") {
454
- accessLabel = "First app created (pending)";
455
- }
456
- else if (token.appRestrictionMode === "specific") {
457
- accessLabel =
458
- token.apps.length === 0
459
- ? "Specific apps (none currently granted)"
460
- : `Specific apps (${token.apps.length})`;
461
- }
462
- console.log(`Access: ${accessLabel}`);
463
- if (token.apps.length > 0) {
464
- console.log(`Apps: ${token.apps.map((app) => app.slug).join(", ")}`);
465
- }
466
- if (token.name) {
467
- console.log(`Name: ${token.name}`);
468
- }
469
- if (token.expiresAt) {
470
- console.log(`Expires: ${new Date(token.expiresAt).toLocaleDateString("en-US")}`);
471
- }
514
+ const status = await getAuthStatus(resolvedAuth);
515
+ if (json) {
516
+ console.log(JSON.stringify(buildAuthStatusJson(status, resolvedAuth), null, 2));
472
517
  }
518
+ else {
519
+ printAuthStatusHuman(status, resolvedPat, resolvedAuth);
520
+ console.log(`Config: ${getConfigPath()}`);
521
+ }
522
+ return 0;
473
523
  }
474
524
  catch (error) {
475
- const message = error instanceof Error ? error.message : "Could not fetch token status";
476
- console.log(`Access: unavailable (${message})`);
525
+ const msg = error instanceof Error ? error.message : "Could not verify token";
526
+ if (json) {
527
+ process.stderr.write(`${JSON.stringify({ authenticated: false, error: msg, code: "AUTH_REQUIRED" })}\n`);
528
+ return 1;
529
+ }
530
+ console.log(`Access: unavailable (${msg})`);
531
+ console.log(`Config: ${getConfigPath()}`);
532
+ return 0;
477
533
  }
478
- console.log(`Config: ${getConfigPath()}`);
479
- return 0;
480
534
  }
481
535
  async function clearAuth() {
482
536
  const config = await readConfig();
@@ -502,7 +556,7 @@ export async function runAuthCommand(args) {
502
556
  case "show":
503
557
  case "status":
504
558
  case "whoami":
505
- return await showAuth();
559
+ return await showAuth(args.slice(1));
506
560
  case "clear":
507
561
  return await clearAuth();
508
562
  case undefined: