vercel 54.14.0 → 54.14.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 (61) hide show
  1. package/dist/chunks/{add-PVEKZBHH.js → add-INSQH24S.js} +7 -7
  2. package/dist/chunks/{chunk-FPRA7U2P.js → chunk-467YGYFK.js} +1 -1
  3. package/dist/chunks/{chunk-6K3WJDFA.js → chunk-4WQGP4Z4.js} +9 -9
  4. package/dist/chunks/{chunk-V4GROAUJ.js → chunk-5QKYBWW2.js} +4 -7
  5. package/dist/chunks/chunk-64IF634X.js +18 -0
  6. package/dist/chunks/{chunk-V2WFM23D.js → chunk-74VEZPM6.js} +1 -1
  7. package/dist/chunks/{chunk-5SYDEK2N.js → chunk-D7MGZH35.js} +1 -1
  8. package/dist/chunks/{chunk-Y76J3TGD.js → chunk-DAKMPPIS.js} +1 -1
  9. package/dist/chunks/{chunk-KJ5O7JQQ.js → chunk-F4WXNECT.js} +27 -60
  10. package/dist/chunks/{chunk-RWJORLQP.js → chunk-F6SCQ6XU.js} +58 -16
  11. package/dist/chunks/{chunk-7CJZCFLW.js → chunk-FKNOCLZU.js} +2 -2
  12. package/dist/chunks/{chunk-CO5D46AG.js → chunk-GGP5R3FU.js} +18 -38
  13. package/dist/chunks/{chunk-J5273CSE.js → chunk-HIYWSGI7.js} +19 -10
  14. package/dist/chunks/{chunk-TH555JND.js → chunk-J4LCBXF2.js} +14 -41
  15. package/dist/chunks/{chunk-ABOX5TXU.js → chunk-L7U3Z7E4.js} +3 -3
  16. package/dist/chunks/{chunk-7OZWGXPA.js → chunk-MKB32SJZ.js} +2 -2
  17. package/dist/chunks/{chunk-4KAFHBYE.js → chunk-NMGGBH7K.js} +1 -1
  18. package/dist/chunks/{chunk-C3VH3X5Y.js → chunk-P2AMQX7F.js} +3 -3
  19. package/dist/chunks/{chunk-6D6CSOSK.js → chunk-P6VIXOWO.js} +84 -60
  20. package/dist/chunks/{chunk-PV533MBH.js → chunk-PMUUPCDL.js} +1 -1
  21. package/dist/chunks/{chunk-S4VHXL2Y.js → chunk-TVBXGFEL.js} +1 -1
  22. package/dist/chunks/{chunk-G7QWUIGS.js → chunk-UEFCAT3N.js} +2 -2
  23. package/dist/chunks/{chunk-OEM7RB3X.js → chunk-UJ3ZCBUA.js} +1 -1
  24. package/dist/chunks/{chunk-VNUNCNPE.js → chunk-UPI3OHBK.js} +1 -1
  25. package/dist/chunks/chunk-VXYGCOKL.js +28 -0
  26. package/dist/chunks/{chunk-5UCWXYNH.js → chunk-XLLAD5DR.js} +87 -45
  27. package/dist/chunks/{chunk-Z7KOKD2G.js → chunk-YQPAAXUU.js} +1 -1
  28. package/dist/chunks/{chunk-B6C7NMT3.js → chunk-Z2MBXYZZ.js} +1 -1
  29. package/dist/chunks/{chunk-DAASB6YQ.js → chunk-ZRJQY3VK.js} +22 -2
  30. package/dist/chunks/{compile-vercel-config-MD37D2F7.js → compile-vercel-config-VPPGDFKL.js} +3 -3
  31. package/dist/chunks/{delete-6EMDCXSA.js → delete-O3EHQHYD.js} +8 -6
  32. package/dist/chunks/{disable-FLJ27NHG.js → disable-GJDQC34I.js} +8 -6
  33. package/dist/chunks/{discard-KEIII6RM.js → discard-UZT23XN2.js} +8 -6
  34. package/dist/chunks/{edit-DOL2ZJPG.js → edit-PEQIROSE.js} +10 -8
  35. package/dist/chunks/{enable-PZWZIETT.js → enable-ACNEAJ5S.js} +8 -6
  36. package/dist/chunks/{export-2PFHAELC.js → export-ZICIQKHJ.js} +4 -4
  37. package/dist/chunks/{inspect-WPWOZJ2K.js → inspect-PUFF7LND.js} +6 -6
  38. package/dist/chunks/{list-4R5DCLTB.js → list-FWUV4NO4.js} +5 -5
  39. package/dist/chunks/{list-ZT7QK2H7.js → list-L2UFHHQ7.js} +7 -7
  40. package/dist/chunks/{ls-4JTXQXMQ.js → ls-6HVFGIQS.js} +7 -7
  41. package/dist/chunks/{publish-JV4J3SOA.js → publish-HKTAQMYG.js} +8 -6
  42. package/dist/chunks/{query-N22EYSZZ.js → query-VQ5HDMFO.js} +97 -41
  43. package/dist/chunks/{reorder-TG53BKW4.js → reorder-CVMW6VL7.js} +8 -6
  44. package/dist/chunks/{restore-U7O4VESA.js → restore-32NXH4EH.js} +8 -6
  45. package/dist/chunks/{rm-XA4LYZXI.js → rm-7TPDWMJZ.js} +7 -7
  46. package/dist/chunks/{routes-EAMQVFU2.js → routes-YEU33SON.js} +2 -2
  47. package/dist/chunks/{rule-inspect-HC745CYT.js → rule-inspect-PQORU3SU.js} +7 -7
  48. package/dist/chunks/{rules-RMN72YHN.js → rules-VIITOYFN.js} +6 -6
  49. package/dist/chunks/{schema-CZVKUXM6.js → schema-AECGMSF5.js} +6 -6
  50. package/dist/chunks/{stamp-ENIXDCRO.js → stamp-AA7R3MZS.js} +3 -1
  51. package/dist/chunks/{update-PU3WLIA7.js → update-J4QCT3GS.js} +7 -7
  52. package/dist/commands/build/index.js +16 -14
  53. package/dist/commands/deploy/index.js +22 -163
  54. package/dist/commands/dev/index.js +13 -14
  55. package/dist/commands/env/index.js +153 -92
  56. package/dist/commands/link/index.js +11 -11
  57. package/dist/commands/list/index.js +10 -8
  58. package/dist/commands-bulk.js +222 -85
  59. package/dist/index.js +18 -18
  60. package/dist/version.mjs +1 -1
  61. package/package.json +16 -16
@@ -10,7 +10,7 @@ import {
10
10
  import {
11
11
  RoutesAddTelemetryClient,
12
12
  RoutesTelemetryClient
13
- } from "./chunks/chunk-PV533MBH.js";
13
+ } from "./chunks/chunk-PMUUPCDL.js";
14
14
  import {
15
15
  ALL_ACTION_CHOICES,
16
16
  MAX_CONDITIONS,
@@ -31,7 +31,7 @@ import {
31
31
  runInteractiveEditLoop,
32
32
  stripQuotes,
33
33
  validateActionFlags
34
- } from "./chunks/chunk-S4VHXL2Y.js";
34
+ } from "./chunks/chunk-TVBXGFEL.js";
35
35
  import {
36
36
  getRouteVersions
37
37
  } from "./chunks/chunk-AHU7WNL2.js";
@@ -48,10 +48,10 @@ import {
48
48
  parsePosition,
49
49
  parseSubcommandArgs,
50
50
  withGlobalFlags
51
- } from "./chunks/chunk-G7QWUIGS.js";
51
+ } from "./chunks/chunk-UEFCAT3N.js";
52
52
  import {
53
53
  normalizeRepeatableStringFilters
54
- } from "./chunks/chunk-5SYDEK2N.js";
54
+ } from "./chunks/chunk-D7MGZH35.js";
55
55
  import {
56
56
  OpenApiCache,
57
57
  api,
@@ -64,11 +64,11 @@ import {
64
64
  resolveOpenApiTagForTeamsCli,
65
65
  setAutoUpdate,
66
66
  tryOpenApiFallback
67
- } from "./chunks/chunk-RWJORLQP.js";
67
+ } from "./chunks/chunk-F6SCQ6XU.js";
68
68
  import {
69
69
  getUpdateCommand,
70
70
  isGlobal
71
- } from "./chunks/chunk-V4GROAUJ.js";
71
+ } from "./chunks/chunk-5QKYBWW2.js";
72
72
  import {
73
73
  Now,
74
74
  collectContactInformation,
@@ -89,14 +89,14 @@ import {
89
89
  require_format,
90
90
  require_jsonlines,
91
91
  setupDomain
92
- } from "./chunks/chunk-TH555JND.js";
92
+ } from "./chunks/chunk-J4LCBXF2.js";
93
93
  import {
94
94
  getGlobalPathConfig,
95
95
  persistAuthConfig,
96
96
  readLocalConfig,
97
97
  sleep,
98
98
  writeToConfigFile
99
- } from "./chunks/chunk-C3VH3X5Y.js";
99
+ } from "./chunks/chunk-P2AMQX7F.js";
100
100
  import "./chunks/chunk-V5P25P7F.js";
101
101
  import {
102
102
  ellipsis,
@@ -124,7 +124,7 @@ import {
124
124
  import {
125
125
  formatEnvironment,
126
126
  validateLsArgs
127
- } from "./chunks/chunk-Y76J3TGD.js";
127
+ } from "./chunks/chunk-DAKMPPIS.js";
128
128
  import {
129
129
  validateJsonOutput
130
130
  } from "./chunks/chunk-XPKWKPWA.js";
@@ -382,11 +382,11 @@ import {
382
382
  webAnalyticsSubcommand,
383
383
  webhooksCommand,
384
384
  whoamiCommand
385
- } from "./chunks/chunk-KJ5O7JQQ.js";
385
+ } from "./chunks/chunk-F4WXNECT.js";
386
386
  import {
387
387
  metricsCommand,
388
388
  schemaSubcommand
389
- } from "./chunks/chunk-DAASB6YQ.js";
389
+ } from "./chunks/chunk-ZRJQY3VK.js";
390
390
  import {
391
391
  addSubcommand as addSubcommand9,
392
392
  deleteSubcommand,
@@ -424,29 +424,35 @@ import {
424
424
  import "./chunks/chunk-ZTPOJE63.js";
425
425
  import {
426
426
  main
427
- } from "./chunks/chunk-6K3WJDFA.js";
428
- import "./chunks/chunk-FPRA7U2P.js";
427
+ } from "./chunks/chunk-4WQGP4Z4.js";
428
+ import "./chunks/chunk-467YGYFK.js";
429
429
  import {
430
430
  require_execa
431
431
  } from "./chunks/chunk-YI3JV6GM.js";
432
+ import {
433
+ stamp_default
434
+ } from "./chunks/chunk-64IF634X.js";
435
+ import {
436
+ elapsed
437
+ } from "./chunks/chunk-VXYGCOKL.js";
432
438
  import {
433
439
  ensureLink
434
- } from "./chunks/chunk-7CJZCFLW.js";
435
- import "./chunks/chunk-6D6CSOSK.js";
440
+ } from "./chunks/chunk-FKNOCLZU.js";
441
+ import "./chunks/chunk-P6VIXOWO.js";
436
442
  import {
437
443
  AGENT_ACTION,
438
444
  AGENT_REASON,
439
445
  AGENT_STATUS
440
446
  } from "./chunks/chunk-LJ5WXXG6.js";
441
- import "./chunks/chunk-V2WFM23D.js";
442
- import "./chunks/chunk-OEM7RB3X.js";
447
+ import "./chunks/chunk-74VEZPM6.js";
448
+ import "./chunks/chunk-UJ3ZCBUA.js";
443
449
  import {
444
450
  detectExplicitScope,
445
451
  getScope
446
- } from "./chunks/chunk-Z7KOKD2G.js";
452
+ } from "./chunks/chunk-YQPAAXUU.js";
447
453
  import {
448
454
  help
449
- } from "./chunks/chunk-VNUNCNPE.js";
455
+ } from "./chunks/chunk-UPI3OHBK.js";
450
456
  import {
451
457
  STANDARD_ENVIRONMENTS,
452
458
  VERCEL_CONFIG_EXTENSIONS,
@@ -493,10 +499,10 @@ import {
493
499
  selectAndParseRemoteUrl,
494
500
  selectOrg,
495
501
  ua_default
496
- } from "./chunks/chunk-5UCWXYNH.js";
502
+ } from "./chunks/chunk-XLLAD5DR.js";
497
503
  import {
498
504
  TelemetryClient
499
- } from "./chunks/chunk-J5273CSE.js";
505
+ } from "./chunks/chunk-HIYWSGI7.js";
500
506
  import {
501
507
  argvHasNonInteractive,
502
508
  buildCommandWithGlobalFlags,
@@ -509,14 +515,12 @@ import {
509
515
  outputAgentError,
510
516
  shouldEmitNonInteractiveCommandError
511
517
  } from "./chunks/chunk-NHGCQRK5.js";
512
- import {
513
- elapsed,
514
- require_ms,
515
- stamp_default
516
- } from "./chunks/chunk-CO5D46AG.js";
517
518
  import {
518
519
  require_lib as require_lib3
519
520
  } from "./chunks/chunk-N2T234LO.js";
521
+ import {
522
+ require_ms
523
+ } from "./chunks/chunk-GGP5R3FU.js";
520
524
  import {
521
525
  table
522
526
  } from "./chunks/chunk-4NDOMD3E.js";
@@ -876,7 +880,7 @@ async function activity(client) {
876
880
  return 0;
877
881
  }
878
882
  telemetry2.trackCliSubcommandLs(subcommandOriginal);
879
- const listFn = (await import("./chunks/list-4R5DCLTB.js")).default;
883
+ const listFn = (await import("./chunks/list-FWUV4NO4.js")).default;
880
884
  return listFn(client, telemetry2);
881
885
  }
882
886
  }
@@ -1979,17 +1983,17 @@ async function alerts(client) {
1979
1983
  switch (subcommand) {
1980
1984
  case "inspect": {
1981
1985
  telemetry2.trackCliSubcommandInspect(subcommandOriginal);
1982
- const inspectFn = (await import("./chunks/inspect-WPWOZJ2K.js")).default;
1986
+ const inspectFn = (await import("./chunks/inspect-PUFF7LND.js")).default;
1983
1987
  return inspectFn(client, args);
1984
1988
  }
1985
1989
  case "rules": {
1986
1990
  telemetry2.trackCliSubcommandRules(args[0] ?? "ls");
1987
- const rulesFn = (await import("./chunks/rules-RMN72YHN.js")).default;
1991
+ const rulesFn = (await import("./chunks/rules-VIITOYFN.js")).default;
1988
1992
  return rulesFn(client, args);
1989
1993
  }
1990
1994
  default: {
1991
1995
  telemetry2.trackCliSubcommandLs(subcommandOriginal);
1992
- const listFn = (await import("./chunks/list-ZT7QK2H7.js")).default;
1996
+ const listFn = (await import("./chunks/list-L2UFHHQ7.js")).default;
1993
1997
  return listFn(client, telemetry2);
1994
1998
  }
1995
1999
  }
@@ -4334,19 +4338,24 @@ async function addStore(client, argv) {
4334
4338
  args: [nameArg],
4335
4339
  flags
4336
4340
  } = parsedArgs;
4341
+ const interactive = client.stdin.isTTY && !client.nonInteractive;
4337
4342
  const yes = flags["--yes"] ?? false;
4338
4343
  const environmentFlags = flags["--environment"];
4339
4344
  if (environmentFlags?.length) {
4340
4345
  const envValidation = validateEnvironments(environmentFlags);
4341
4346
  if (!envValidation.valid) {
4342
- output_manager_default.error(
4343
- `Invalid environment value: ${envValidation.invalid.map((e2) => `"${e2}"`).join(", ")}. Must be one of: ${VALID_ENVIRONMENTS.join(", ")}`
4344
- );
4347
+ const message = `Invalid environment value: ${envValidation.invalid.map((e2) => `"${e2}"`).join(", ")}. Must be one of: ${VALID_ENVIRONMENTS.join(", ")}`;
4348
+ outputAgentError(client, {
4349
+ status: "error",
4350
+ reason: "invalid_arguments",
4351
+ message
4352
+ });
4353
+ output_manager_default.error(message);
4345
4354
  return 1;
4346
4355
  }
4347
4356
  }
4348
4357
  let accessFlag = flags["--access"];
4349
- if (!accessFlag && client.stdin.isTTY) {
4358
+ if (!accessFlag && interactive) {
4350
4359
  accessFlag = await client.input.select({
4351
4360
  message: "Choose the access type for the blob store",
4352
4361
  choices: [
@@ -4363,30 +4372,75 @@ async function addStore(client, argv) {
4363
4372
  ]
4364
4373
  });
4365
4374
  }
4375
+ if (!accessFlag) {
4376
+ outputAgentError(client, {
4377
+ status: "error",
4378
+ reason: "missing_arguments",
4379
+ message: "Missing required --access flag. Must be 'public' or 'private'.",
4380
+ next: [
4381
+ {
4382
+ command: buildCommandWithGlobalFlags(
4383
+ client.argv,
4384
+ "blob create-store <name> --access private --yes"
4385
+ ),
4386
+ when: "create a private blob store and link it to the project"
4387
+ }
4388
+ ]
4389
+ });
4390
+ }
4366
4391
  const access3 = parseAccessFlag(accessFlag);
4367
4392
  if (!access3)
4368
4393
  return 1;
4369
4394
  const region = flags["--region"] || "iad1";
4370
4395
  let name = nameArg;
4371
4396
  if (!name) {
4372
- if (!client.stdin.isTTY) {
4397
+ if (interactive) {
4398
+ name = await client.input.text({
4399
+ message: "Enter a name for your blob store",
4400
+ validate: (value) => {
4401
+ if (value.length < 5) {
4402
+ return "Name must be at least 5 characters long";
4403
+ }
4404
+ return true;
4405
+ }
4406
+ });
4407
+ } else {
4408
+ outputAgentError(client, {
4409
+ status: "error",
4410
+ reason: "missing_arguments",
4411
+ message: "Missing required argument: name.",
4412
+ next: [
4413
+ {
4414
+ command: buildCommandWithGlobalFlags(
4415
+ client.argv,
4416
+ `blob create-store <name> --access ${access3} --yes`
4417
+ ),
4418
+ when: "create the blob store and link it to the project"
4419
+ }
4420
+ ]
4421
+ });
4373
4422
  output_manager_default.error("Missing required argument: name");
4374
4423
  return 1;
4375
4424
  }
4376
- name = await client.input.text({
4377
- message: "Enter a name for your blob store",
4378
- validate: (value) => {
4379
- if (value.length < 5) {
4380
- return "Name must be at least 5 characters long";
4381
- }
4382
- return true;
4383
- }
4384
- });
4385
4425
  }
4386
4426
  telemetryClient.trackCliArgumentName(name);
4387
4427
  telemetryClient.trackCliOptionAccess(accessFlag);
4388
4428
  telemetryClient.trackCliOptionRegion(flags["--region"]);
4389
4429
  const link = await getLinkedProject(client);
4430
+ if (link.status === "linked" && client.nonInteractive && !yes && !environmentFlags?.length) {
4431
+ outputAgentError(client, {
4432
+ status: "error",
4433
+ reason: "confirmation_required",
4434
+ message: `Creating a blob store and linking it to ${link.project.name} requires confirmation. Re-run with --yes to create the store and link it to all environments, or pass --environment to choose which ones.`,
4435
+ next: [
4436
+ {
4437
+ command: buildCommandWithYes(client.argv),
4438
+ when: "create the store and link it to all environments"
4439
+ }
4440
+ ]
4441
+ });
4442
+ return 1;
4443
+ }
4390
4444
  let storeId;
4391
4445
  let storeRegion;
4392
4446
  try {
@@ -4413,20 +4467,23 @@ async function addStore(client, argv) {
4413
4467
  const docsUrl = access3 === "public" ? "https://vercel.com/docs/vercel-blob/public-storage" : "https://vercel.com/docs/vercel-blob/private-storage";
4414
4468
  output_manager_default.log(`Access: ${access3}. Learn more: ${output_manager_default.link(docsUrl, docsUrl)}`);
4415
4469
  if (link.status === "linked") {
4416
- let shouldLink = yes;
4417
- if (!shouldLink) {
4470
+ let shouldLink = yes || Boolean(environmentFlags?.length);
4471
+ if (!shouldLink && interactive) {
4418
4472
  shouldLink = await client.input.confirm(
4419
4473
  `Would you like to link this blob store to ${link.project.name}?`,
4420
4474
  true
4421
4475
  );
4422
4476
  }
4477
+ if (!shouldLink && !interactive) {
4478
+ output_manager_default.log(
4479
+ `Not linked to ${import_chalk19.default.bold(link.project.name)}. Pass --yes when creating to link the store to your project automatically.`
4480
+ );
4481
+ }
4423
4482
  if (shouldLink) {
4424
4483
  let environments;
4425
4484
  if (environmentFlags?.length) {
4426
4485
  environments = environmentFlags;
4427
- } else if (yes) {
4428
- environments = [...VALID_ENVIRONMENTS];
4429
- } else {
4486
+ } else if (interactive && !yes) {
4430
4487
  environments = await client.input.checkbox({
4431
4488
  message: "Select environments",
4432
4489
  choices: [
@@ -4435,6 +4492,8 @@ async function addStore(client, argv) {
4435
4492
  { name: "Development", value: "development", checked: true }
4436
4493
  ]
4437
4494
  });
4495
+ } else {
4496
+ environments = [...VALID_ENVIRONMENTS];
4438
4497
  }
4439
4498
  output_manager_default.spinner(
4440
4499
  `Connecting ${import_chalk19.default.bold(name)} to ${import_chalk19.default.bold(link.project.name)}...`
@@ -4500,24 +4559,40 @@ async function removeStore(client, argv, rwToken) {
4500
4559
  args: [storeIdArg],
4501
4560
  flags: { "--yes": yes }
4502
4561
  } = parsedArgs;
4562
+ const interactive = client.stdin.isTTY && !client.nonInteractive;
4503
4563
  let storeId = storeIdArg;
4504
4564
  if (!storeId) {
4505
4565
  storeId = getStoreIdFromAuth(rwToken) ?? void 0;
4506
4566
  }
4507
4567
  if (!storeId) {
4508
- if (!client.stdin.isTTY) {
4568
+ if (interactive) {
4569
+ storeId = await client.input.text({
4570
+ message: "Enter the ID of the blob store you want to remove",
4571
+ validate: (value) => {
4572
+ if (value.length !== 22) {
4573
+ return "ID must be 22 characters long";
4574
+ }
4575
+ return true;
4576
+ }
4577
+ });
4578
+ } else {
4579
+ outputAgentError(client, {
4580
+ status: "error",
4581
+ reason: "missing_arguments",
4582
+ message: "Missing required argument: storeId.",
4583
+ next: [
4584
+ {
4585
+ command: buildCommandWithGlobalFlags(
4586
+ client.argv,
4587
+ "blob delete-store <storeId> --yes"
4588
+ ),
4589
+ when: "delete the blob store"
4590
+ }
4591
+ ]
4592
+ });
4509
4593
  output_manager_default.error("Missing required argument: storeId");
4510
4594
  return 1;
4511
4595
  }
4512
- storeId = await client.input.text({
4513
- message: "Enter the ID of the blob store you want to remove",
4514
- validate: (value) => {
4515
- if (value.length !== 22) {
4516
- return "ID must be 22 characters long";
4517
- }
4518
- return true;
4519
- }
4520
- });
4521
4596
  }
4522
4597
  const link = await getLinkedProject(client);
4523
4598
  const accountId = link.status === "linked" ? link.org.id : void 0;
@@ -4540,7 +4615,18 @@ async function removeStore(client, argv, rwToken) {
4540
4615
  connectionsResponse.connections
4541
4616
  );
4542
4617
  if (!yes) {
4543
- if (!client.stdin.isTTY) {
4618
+ if (!interactive) {
4619
+ outputAgentError(client, {
4620
+ status: "error",
4621
+ reason: "confirmation_required",
4622
+ message: `Removing ${label} cannot be undone and requires confirmation. Re-run with --yes.`,
4623
+ next: [
4624
+ {
4625
+ command: buildCommandWithYes(client.argv),
4626
+ when: "remove the blob store without prompting"
4627
+ }
4628
+ ]
4629
+ });
4544
4630
  output_manager_default.error(
4545
4631
  "Confirmation required. Use --yes to skip confirmation in non-interactive environments."
4546
4632
  );
@@ -4661,24 +4747,40 @@ async function getStore(client, argv, rwToken) {
4661
4747
  const {
4662
4748
  args: [storeIdArg]
4663
4749
  } = parsedArgs;
4750
+ const interactive = client.stdin.isTTY && !client.nonInteractive;
4664
4751
  let storeId = storeIdArg;
4665
4752
  if (!storeId) {
4666
4753
  storeId = getStoreIdFromAuth(rwToken) ?? void 0;
4667
4754
  }
4668
4755
  if (!storeId) {
4669
- if (!client.stdin.isTTY) {
4756
+ if (interactive) {
4757
+ storeId = await client.input.text({
4758
+ message: "Enter the ID of the blob store you want to get info about",
4759
+ validate: (value) => {
4760
+ if (value.length !== 22) {
4761
+ return "ID must be 22 characters long";
4762
+ }
4763
+ return true;
4764
+ }
4765
+ });
4766
+ } else {
4767
+ outputAgentError(client, {
4768
+ status: "error",
4769
+ reason: "missing_arguments",
4770
+ message: "Missing required argument: storeId.",
4771
+ next: [
4772
+ {
4773
+ command: buildCommandWithGlobalFlags(
4774
+ client.argv,
4775
+ "blob get-store <storeId>"
4776
+ ),
4777
+ when: "get the blob store details"
4778
+ }
4779
+ ]
4780
+ });
4670
4781
  output_manager_default.error("Missing required argument: storeId");
4671
4782
  return 1;
4672
4783
  }
4673
- storeId = await client.input.text({
4674
- message: "Enter the ID of the blob store you want to get info about",
4675
- validate: (value) => {
4676
- if (value.length !== 22) {
4677
- return "ID must be 22 characters long";
4678
- }
4679
- return true;
4680
- }
4681
- });
4682
4784
  }
4683
4785
  telemetryClient.trackCliArgumentStoreId(storeId);
4684
4786
  try {
@@ -4747,6 +4849,7 @@ async function listStores(client, argv) {
4747
4849
  const showAll = parsedArgs.flags["--all"] ?? false;
4748
4850
  const jsonOutput = parsedArgs.flags["--json"] ?? false;
4749
4851
  const noProjects = parsedArgs.flags["--no-projects"] ?? false;
4852
+ const interactive = client.stdin.isTTY && client.stdout.isTTY && !client.nonInteractive;
4750
4853
  const telemetryClient = new BlobListStoresTelemetryClient({
4751
4854
  opts: {
4752
4855
  store: client.telemetryEventStore
@@ -4819,7 +4922,7 @@ async function listStores(client, argv) {
4819
4922
  }
4820
4923
  const header = linkedProject ? `Blob stores for project ${import_chalk21.default.bold(linkedProject.name)}:` : `Blob stores:`;
4821
4924
  output_manager_default.log(header);
4822
- if (!client.stdin.isTTY || !client.stdout.isTTY) {
4925
+ if (!interactive) {
4823
4926
  output_manager_default.print(
4824
4927
  table(buildTableRows(stores, noProjects), { hsep: 3 }).replace(
4825
4928
  /^/gm,
@@ -4965,6 +5068,7 @@ async function emptyStore(client, argv, auth) {
4965
5068
  const {
4966
5069
  flags: { "--yes": yes }
4967
5070
  } = parsedArgs;
5071
+ const interactive = client.stdin.isTTY && !client.nonInteractive;
4968
5072
  telemetryClient.trackCliFlagYes(yes);
4969
5073
  const storeId = getStoreIdFromAuth(auth);
4970
5074
  if (!storeId) {
@@ -4999,7 +5103,18 @@ async function emptyStore(client, argv, auth) {
4999
5103
  const projectsInfo = formatConnectedProjects(connections);
5000
5104
  const message = `Are you sure you want to delete all files in ${label}?${projectsInfo} This action cannot be undone.`;
5001
5105
  if (!yes) {
5002
- if (!client.stdin.isTTY) {
5106
+ if (!interactive) {
5107
+ outputAgentError(client, {
5108
+ status: "error",
5109
+ reason: "confirmation_required",
5110
+ message: `Deleting all files in ${label} cannot be undone and requires confirmation. Re-run with --yes.`,
5111
+ next: [
5112
+ {
5113
+ command: buildCommandWithYes(client.argv),
5114
+ when: "empty the blob store without prompting"
5115
+ }
5116
+ ]
5117
+ });
5003
5118
  output_manager_default.error(
5004
5119
  "Missing --yes flag. This is a destructive operation, use --yes to confirm."
5005
5120
  );
@@ -36955,7 +37070,7 @@ var MetricsTelemetryClient = class extends TelemetryClient {
36955
37070
  }
36956
37071
  }
36957
37072
  trackCliOptionFilter(v) {
36958
- if (v) {
37073
+ if (v && v.length > 0) {
36959
37074
  this.trackCliOption({
36960
37075
  option: "filter",
36961
37076
  value: this.redactedValue
@@ -36986,6 +37101,22 @@ var MetricsTelemetryClient = class extends TelemetryClient {
36986
37101
  });
36987
37102
  }
36988
37103
  }
37104
+ trackCliOptionBucketTimezone(v) {
37105
+ if (v) {
37106
+ this.trackCliOption({
37107
+ option: "bucket-timezone",
37108
+ value: v
37109
+ });
37110
+ }
37111
+ }
37112
+ trackCliOptionProject(v) {
37113
+ if (v) {
37114
+ this.trackCliOption({
37115
+ option: "project",
37116
+ value: this.redactedValue
37117
+ });
37118
+ }
37119
+ }
36989
37120
  trackCliFlagAll(v) {
36990
37121
  if (v) {
36991
37122
  this.trackCliFlag("all");
@@ -37041,7 +37172,7 @@ async function metrics(client) {
37041
37172
  return 0;
37042
37173
  }
37043
37174
  telemetry2.trackCliSubcommandSchema(subcommandOriginal);
37044
- const schemaFn = (await import("./chunks/schema-CZVKUXM6.js")).default;
37175
+ const schemaFn = (await import("./chunks/schema-AECGMSF5.js")).default;
37045
37176
  return schemaFn(client, telemetry2);
37046
37177
  }
37047
37178
  default: {
@@ -37054,7 +37185,7 @@ async function metrics(client) {
37054
37185
  output_manager_default.print(help(metricsCommand, { columns: client.stderr.columns }));
37055
37186
  return 2;
37056
37187
  }
37057
- const queryFn = (await import("./chunks/query-N22EYSZZ.js")).default;
37188
+ const queryFn = (await import("./chunks/query-VQ5HDMFO.js")).default;
37058
37189
  return queryFn(client, telemetry2);
37059
37190
  }
37060
37191
  }
@@ -42343,7 +42474,7 @@ async function redeploy(client) {
42343
42474
  printAlignedLabel(
42344
42475
  isProdDeployment ? "Production" : "Preview",
42345
42476
  import_chalk172.default.cyan(previewUrl),
42346
- isProdDeployment ? { gutter: "\u25B2" } : {}
42477
+ isProdDeployment && noWait ? { gutter: "\u25B2" } : {}
42347
42478
  );
42348
42479
  if (!client.stdout.isTTY) {
42349
42480
  client.stdout.write(`https://${deployment.url}`);
@@ -42361,6 +42492,12 @@ async function redeploy(client) {
42361
42492
  }
42362
42493
  if (deployment.readyState === "READY" && deployment.aliasAssigned && !rollingRelease2) {
42363
42494
  output_manager_default.spinner("Completing\u2026", 0);
42495
+ if (deployment.target === "production" && deployment.alias && deployment.alias.length > 0) {
42496
+ output_manager_default.stopSpinner();
42497
+ const primaryDomain = deployment.alias[0];
42498
+ const prodUrl = `https://${primaryDomain}`;
42499
+ printAlignedLabel("Aliased", import_chalk172.default.cyan(prodUrl), { gutter: "\u25B2" });
42500
+ }
42364
42501
  } else {
42365
42502
  try {
42366
42503
  const clientOptions = {
@@ -47949,7 +48086,7 @@ async function main27(client) {
47949
48086
  return 2;
47950
48087
  }
47951
48088
  telemetry2.trackCliSubcommandEdit(subcommandOriginal);
47952
- return (await import("./chunks/edit-DOL2ZJPG.js")).default(client, args);
48089
+ return (await import("./chunks/edit-PEQIROSE.js")).default(client, args);
47953
48090
  case "delete":
47954
48091
  if (needHelp) {
47955
48092
  telemetry2.trackCliFlagHelp("routes", subcommandOriginal);
@@ -47957,7 +48094,7 @@ async function main27(client) {
47957
48094
  return 2;
47958
48095
  }
47959
48096
  telemetry2.trackCliSubcommandDelete(subcommandOriginal);
47960
- return (await import("./chunks/delete-6EMDCXSA.js")).default(client, args);
48097
+ return (await import("./chunks/delete-O3EHQHYD.js")).default(client, args);
47961
48098
  case "enable":
47962
48099
  if (needHelp) {
47963
48100
  telemetry2.trackCliFlagHelp("routes", subcommandOriginal);
@@ -47965,7 +48102,7 @@ async function main27(client) {
47965
48102
  return 2;
47966
48103
  }
47967
48104
  telemetry2.trackCliSubcommandEnable(subcommandOriginal);
47968
- return (await import("./chunks/enable-PZWZIETT.js")).default(client, args);
48105
+ return (await import("./chunks/enable-ACNEAJ5S.js")).default(client, args);
47969
48106
  case "disable":
47970
48107
  if (needHelp) {
47971
48108
  telemetry2.trackCliFlagHelp("routes", subcommandOriginal);
@@ -47973,7 +48110,7 @@ async function main27(client) {
47973
48110
  return 2;
47974
48111
  }
47975
48112
  telemetry2.trackCliSubcommandDisable(subcommandOriginal);
47976
- return (await import("./chunks/disable-FLJ27NHG.js")).default(client, args);
48113
+ return (await import("./chunks/disable-GJDQC34I.js")).default(client, args);
47977
48114
  case "reorder":
47978
48115
  if (needHelp) {
47979
48116
  telemetry2.trackCliFlagHelp("routes", subcommandOriginal);
@@ -47981,7 +48118,7 @@ async function main27(client) {
47981
48118
  return 2;
47982
48119
  }
47983
48120
  telemetry2.trackCliSubcommandReorder(subcommandOriginal);
47984
- return (await import("./chunks/reorder-TG53BKW4.js")).default(client, args);
48121
+ return (await import("./chunks/reorder-CVMW6VL7.js")).default(client, args);
47985
48122
  case "export":
47986
48123
  if (needHelp) {
47987
48124
  telemetry2.trackCliFlagHelp("routes", subcommandOriginal);
@@ -47989,7 +48126,7 @@ async function main27(client) {
47989
48126
  return 2;
47990
48127
  }
47991
48128
  telemetry2.trackCliSubcommandExport(subcommandOriginal);
47992
- return (await import("./chunks/export-2PFHAELC.js")).default(client, args);
48129
+ return (await import("./chunks/export-ZICIQKHJ.js")).default(client, args);
47993
48130
  case "publish":
47994
48131
  if (needHelp) {
47995
48132
  telemetry2.trackCliFlagHelp("routes", subcommandOriginal);
@@ -47997,7 +48134,7 @@ async function main27(client) {
47997
48134
  return 2;
47998
48135
  }
47999
48136
  telemetry2.trackCliSubcommandPublish(subcommandOriginal);
48000
- return (await import("./chunks/publish-JV4J3SOA.js")).default(client, args);
48137
+ return (await import("./chunks/publish-HKTAQMYG.js")).default(client, args);
48001
48138
  case "restore":
48002
48139
  if (needHelp) {
48003
48140
  telemetry2.trackCliFlagHelp("routes", subcommandOriginal);
@@ -48005,7 +48142,7 @@ async function main27(client) {
48005
48142
  return 2;
48006
48143
  }
48007
48144
  telemetry2.trackCliSubcommandRestore(subcommandOriginal);
48008
- return (await import("./chunks/restore-U7O4VESA.js")).default(client, args);
48145
+ return (await import("./chunks/restore-32NXH4EH.js")).default(client, args);
48009
48146
  case "discard-staging":
48010
48147
  if (needHelp) {
48011
48148
  telemetry2.trackCliFlagHelp("routes", subcommandOriginal);
@@ -48013,7 +48150,7 @@ async function main27(client) {
48013
48150
  return 2;
48014
48151
  }
48015
48152
  telemetry2.trackCliSubcommandDiscardStaging(subcommandOriginal);
48016
- return (await import("./chunks/discard-KEIII6RM.js")).default(client, args);
48153
+ return (await import("./chunks/discard-UZT23XN2.js")).default(client, args);
48017
48154
  default:
48018
48155
  output_manager_default.error(getInvalidSubcommand(COMMAND_CONFIG36));
48019
48156
  output_manager_default.print(help(routesCommand, { columns: client.stderr.columns }));