vercel 53.2.0 → 53.3.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 (71) hide show
  1. package/dist/chunks/{add-C7TQF4LB.js → add-PGPQCMJK.js} +9 -9
  2. package/dist/chunks/{chunk-HQU26P3O.js → chunk-25WI74GM.js} +7 -7
  3. package/dist/chunks/{chunk-TPBMA2WF.js → chunk-2TNGZL25.js} +2 -2
  4. package/dist/chunks/{chunk-FFKXMQXF.js → chunk-3GJFG6GX.js} +4 -4
  5. package/dist/chunks/{chunk-4Q5VS23S.js → chunk-3NSIZGHP.js} +3 -3
  6. package/dist/chunks/{chunk-3GBASY24.js → chunk-3YDXZRSZ.js} +2 -2
  7. package/dist/chunks/{chunk-QT4W4DLL.js → chunk-4L73BR7G.js} +11 -12
  8. package/dist/chunks/{chunk-HMM7V4AU.js → chunk-4LDQIDKG.js} +2 -2
  9. package/dist/chunks/{chunk-4Z7KJQGN.js → chunk-4OEA5ILS.js} +0 -1
  10. package/dist/chunks/{chunk-7FQIXP2G.js → chunk-4VJ3GTBX.js} +1 -1
  11. package/dist/chunks/{chunk-4M7OEHTY.js → chunk-7EJTBI6M.js} +11 -11
  12. package/dist/chunks/{chunk-YEGTCAP6.js → chunk-7Z5XFBB4.js} +140 -86
  13. package/dist/chunks/{chunk-6N4RFT24.js → chunk-AAPG3P4D.js} +9 -11
  14. package/dist/chunks/{chunk-RJWHOSUL.js → chunk-AORK3I3E.js} +1 -1
  15. package/dist/chunks/{chunk-IABMY4Q3.js → chunk-AXQNAI65.js} +1 -1
  16. package/dist/chunks/{chunk-XZ7CVBQ4.js → chunk-EBEBY45K.js} +11 -1
  17. package/dist/chunks/{chunk-LN5ZMLBU.js → chunk-GCKUEAUE.js} +2 -2
  18. package/dist/chunks/{chunk-JNOMOD7R.js → chunk-GQLARSTH.js} +1 -1
  19. package/dist/chunks/{chunk-AMXEAJTC.js → chunk-H57DZL5B.js} +3 -3
  20. package/dist/chunks/{chunk-NCUOSZ6X.js → chunk-HAJ2XRTQ.js} +2 -2
  21. package/dist/chunks/{chunk-2STWVKG7.js → chunk-HJVSVCAZ.js} +28 -13
  22. package/dist/chunks/{chunk-3LRN4Q7G.js → chunk-IS56OO2J.js} +3 -3
  23. package/dist/chunks/{chunk-AB7YF6KM.js → chunk-JJ36CB7A.js} +719 -923
  24. package/dist/chunks/{chunk-P3H4MP5H.js → chunk-JZLADLMF.js} +2 -2
  25. package/dist/chunks/{chunk-ABDTA3V2.js → chunk-KSIISCB2.js} +1 -1
  26. package/dist/chunks/{chunk-VS4O4MKY.js → chunk-MUBKPS2Z.js} +1 -1
  27. package/dist/chunks/{chunk-DFUTSURK.js → chunk-NF7HK5MP.js} +2 -2
  28. package/dist/chunks/{chunk-77JGNI4Z.js → chunk-NIOGCTVR.js} +2 -2
  29. package/dist/chunks/{chunk-5EDL2IVB.js → chunk-ONYQGA2O.js} +2 -2
  30. package/dist/chunks/{chunk-FLZW555J.js → chunk-PR72OE3G.js} +2 -2
  31. package/dist/chunks/{chunk-IEKDY4FP.js → chunk-QGLS47RE.js} +1 -1
  32. package/dist/chunks/{chunk-MAPNH6ND.js → chunk-QV34LTI7.js} +403 -101
  33. package/dist/chunks/{chunk-2TJ5Y674.js → chunk-RI23R2QO.js} +4 -4
  34. package/dist/chunks/{chunk-MZVW2VM7.js → chunk-RYUPBGRO.js} +34 -45
  35. package/dist/chunks/{chunk-4DLW7XLJ.js → chunk-SOSCFYOT.js} +2 -2
  36. package/dist/chunks/{chunk-X6H25N2H.js → chunk-TR6DYQV6.js} +1 -1
  37. package/dist/chunks/{chunk-JCLLQ23G.js → chunk-WOWCXMTU.js} +1 -1
  38. package/dist/chunks/{chunk-MSJX3VKI.js → chunk-X7KU44KR.js} +1 -1
  39. package/dist/chunks/{chunk-FK7LDWAI.js → chunk-XYYGNWMQ.js} +4 -4
  40. package/dist/chunks/{compile-vercel-config-QKQSM6VM.js → compile-vercel-config-H4BUE5BZ.js} +5 -5
  41. package/dist/chunks/{delete-LUW77HWU.js → delete-HVWVDBQF.js} +7 -7
  42. package/dist/chunks/{disable-ITW6P3R3.js → disable-CMBQPZ7L.js} +7 -7
  43. package/dist/chunks/{discard-GDFQ4V4V.js → discard-ZDNWUYLY.js} +7 -7
  44. package/dist/chunks/{edit-ZN7PQWZH.js → edit-YJYM3EKS.js} +9 -9
  45. package/dist/chunks/{enable-VTJNEZ5Q.js → enable-ITE7U5C4.js} +7 -7
  46. package/dist/chunks/{export-54A2LINR.js → export-VVN33IBK.js} +7 -7
  47. package/dist/chunks/{inspect-UMXWXZMZ.js → inspect-I7ILS3E2.js} +9 -9
  48. package/dist/chunks/{list-OJCLL4JA.js → list-6PZO3UIZ.js} +7 -7
  49. package/dist/chunks/{list-JZMV62KB.js → list-BWIEHOTA.js} +10 -10
  50. package/dist/chunks/{ls-B677IDAB.js → ls-LZZFID76.js} +9 -9
  51. package/dist/chunks/{publish-SI4H6WPL.js → publish-NULVZ7RB.js} +7 -7
  52. package/dist/chunks/{query-2CL2LAOA.js → query-BGI3AVJA.js} +9 -9
  53. package/dist/chunks/{reorder-E6R3ZL6W.js → reorder-G66QSKTR.js} +7 -7
  54. package/dist/chunks/{restore-ZVC2USSZ.js → restore-LHDVXFOH.js} +7 -7
  55. package/dist/chunks/{rm-F3ESGYZE.js → rm-DTAOTWXD.js} +9 -9
  56. package/dist/chunks/{routes-KDWN24QA.js → routes-2YVMQEPC.js} +2 -2
  57. package/dist/chunks/{rule-inspect-AWORVTNG.js → rule-inspect-AOITFBTB.js} +9 -9
  58. package/dist/chunks/{rules-KSDPKR6Z.js → rules-IW3XGCNA.js} +8 -8
  59. package/dist/chunks/{schema-UGF5QQ3K.js → schema-2VCQ2MAA.js} +10 -10
  60. package/dist/chunks/{types-FAFL42RV.js → types-7VDI75PV.js} +4 -4
  61. package/dist/chunks/{update-GXZVHW4O.js → update-L3DZ5STE.js} +9 -9
  62. package/dist/commands/build/index.js +21 -26
  63. package/dist/commands/deploy/index.js +64 -33
  64. package/dist/commands/dev/index.js +15 -15
  65. package/dist/commands/env/index.js +19 -19
  66. package/dist/commands/link/index.js +20 -20
  67. package/dist/commands/list/index.js +11 -11
  68. package/dist/commands-bulk.js +378 -210
  69. package/dist/index.js +298 -48
  70. package/dist/version.mjs +1 -1
  71. package/package.json +21 -19
@@ -7,7 +7,7 @@ const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  RoutesAddTelemetryClient,
9
9
  RoutesTelemetryClient
10
- } from "./chunks/chunk-VS4O4MKY.js";
10
+ } from "./chunks/chunk-MUBKPS2Z.js";
11
11
  import {
12
12
  ALL_ACTION_CHOICES,
13
13
  MAX_CONDITIONS,
@@ -28,7 +28,7 @@ import {
28
28
  runInteractiveEditLoop,
29
29
  stripQuotes,
30
30
  validateActionFlags
31
- } from "./chunks/chunk-RJWHOSUL.js";
31
+ } from "./chunks/chunk-AORK3I3E.js";
32
32
  import {
33
33
  getRouteVersions
34
34
  } from "./chunks/chunk-AHU7WNL2.js";
@@ -45,7 +45,7 @@ import {
45
45
  parsePosition,
46
46
  parseSubcommandArgs,
47
47
  withGlobalFlags
48
- } from "./chunks/chunk-FK7LDWAI.js";
48
+ } from "./chunks/chunk-XYYGNWMQ.js";
49
49
  import {
50
50
  indent_default
51
51
  } from "./chunks/chunk-A3NYPUKZ.js";
@@ -59,11 +59,11 @@ import {
59
59
  resolveOpenApiTagForProjectsCli,
60
60
  resolveOpenApiTagForTeamsCli,
61
61
  tryOpenApiFallback
62
- } from "./chunks/chunk-6N4RFT24.js";
62
+ } from "./chunks/chunk-AAPG3P4D.js";
63
63
  import {
64
64
  getUpdateCommand,
65
65
  isGlobal
66
- } from "./chunks/chunk-3GBASY24.js";
66
+ } from "./chunks/chunk-3YDXZRSZ.js";
67
67
  import {
68
68
  Now,
69
69
  collectContactInformation,
@@ -85,7 +85,7 @@ import {
85
85
  require_format,
86
86
  require_jsonlines,
87
87
  setupDomain
88
- } from "./chunks/chunk-4M7OEHTY.js";
88
+ } from "./chunks/chunk-7EJTBI6M.js";
89
89
  import {
90
90
  processRevocationResponse,
91
91
  readLocalConfig,
@@ -94,7 +94,7 @@ import {
94
94
  sleep,
95
95
  writeToAuthConfigFile,
96
96
  writeToConfigFile
97
- } from "./chunks/chunk-YEGTCAP6.js";
97
+ } from "./chunks/chunk-7Z5XFBB4.js";
98
98
  import "./chunks/chunk-V5P25P7F.js";
99
99
  import {
100
100
  getCustomEnvironments,
@@ -105,7 +105,7 @@ import {
105
105
  } from "./chunks/chunk-C5YP6KFI.js";
106
106
  import {
107
107
  formatTable
108
- } from "./chunks/chunk-DFUTSURK.js";
108
+ } from "./chunks/chunk-NF7HK5MP.js";
109
109
  import "./chunks/chunk-LOS7HHU3.js";
110
110
  import {
111
111
  isValidName
@@ -117,11 +117,11 @@ import {
117
117
  getDeployment,
118
118
  mapCertError,
119
119
  toHost
120
- } from "./chunks/chunk-MSJX3VKI.js";
120
+ } from "./chunks/chunk-X7KU44KR.js";
121
121
  import {
122
122
  formatEnvironment,
123
123
  validateLsArgs
124
- } from "./chunks/chunk-4DLW7XLJ.js";
124
+ } from "./chunks/chunk-SOSCFYOT.js";
125
125
  import {
126
126
  validateJsonOutput
127
127
  } from "./chunks/chunk-XPKWKPWA.js";
@@ -364,7 +364,7 @@ import {
364
364
  webAnalyticsSubcommand,
365
365
  webhooksCommand,
366
366
  whoamiCommand
367
- } from "./chunks/chunk-2STWVKG7.js";
367
+ } from "./chunks/chunk-HJVSVCAZ.js";
368
368
  import {
369
369
  addSubcommand as addSubcommand9,
370
370
  deleteSubcommand,
@@ -380,21 +380,21 @@ import {
380
380
  reorderSubcommand,
381
381
  restoreSubcommand as restoreSubcommand2,
382
382
  routesCommand
383
- } from "./chunks/chunk-HMM7V4AU.js";
383
+ } from "./chunks/chunk-4LDQIDKG.js";
384
384
  import {
385
385
  metricsCommand,
386
386
  schemaSubcommand
387
- } from "./chunks/chunk-77JGNI4Z.js";
388
- import "./chunks/chunk-NCUOSZ6X.js";
387
+ } from "./chunks/chunk-NIOGCTVR.js";
388
+ import "./chunks/chunk-HAJ2XRTQ.js";
389
389
  import {
390
390
  activityCommand,
391
391
  typesSubcommand
392
- } from "./chunks/chunk-LN5ZMLBU.js";
392
+ } from "./chunks/chunk-GCKUEAUE.js";
393
393
  import {
394
394
  alertsCommand,
395
395
  inspectSubcommand,
396
396
  listSubcommand
397
- } from "./chunks/chunk-4Q5VS23S.js";
397
+ } from "./chunks/chunk-3NSIZGHP.js";
398
398
  import {
399
399
  rulesAddSubcommand,
400
400
  rulesAggregateCommand,
@@ -402,15 +402,16 @@ import {
402
402
  rulesLsSubcommand,
403
403
  rulesRmSubcommand,
404
404
  rulesUpdateSubcommand
405
- } from "./chunks/chunk-P3H4MP5H.js";
405
+ } from "./chunks/chunk-JZLADLMF.js";
406
406
  import {
407
+ detectExplicitScope,
407
408
  getScope
408
- } from "./chunks/chunk-FLZW555J.js";
409
- import "./chunks/chunk-5EDL2IVB.js";
409
+ } from "./chunks/chunk-PR72OE3G.js";
410
+ import "./chunks/chunk-ONYQGA2O.js";
410
411
  import {
411
412
  main
412
- } from "./chunks/chunk-HQU26P3O.js";
413
- import "./chunks/chunk-X6H25N2H.js";
413
+ } from "./chunks/chunk-25WI74GM.js";
414
+ import "./chunks/chunk-TR6DYQV6.js";
414
415
  import {
415
416
  AGENT_ACTION,
416
417
  AGENT_REASON,
@@ -418,24 +419,24 @@ import {
418
419
  } from "./chunks/chunk-E3NE4SKN.js";
419
420
  import {
420
421
  ua_default
421
- } from "./chunks/chunk-JCLLQ23G.js";
422
+ } from "./chunks/chunk-WOWCXMTU.js";
422
423
  import {
423
424
  require_execa
424
- } from "./chunks/chunk-7FQIXP2G.js";
425
+ } from "./chunks/chunk-4VJ3GTBX.js";
425
426
  import {
426
427
  ensureLink
427
- } from "./chunks/chunk-FFKXMQXF.js";
428
- import "./chunks/chunk-MAPNH6ND.js";
429
- import "./chunks/chunk-QT4W4DLL.js";
428
+ } from "./chunks/chunk-3GJFG6GX.js";
429
+ import "./chunks/chunk-QV34LTI7.js";
430
+ import "./chunks/chunk-4L73BR7G.js";
430
431
  import {
431
432
  autoInstallVercelPlugin
432
- } from "./chunks/chunk-MZVW2VM7.js";
433
+ } from "./chunks/chunk-RYUPBGRO.js";
433
434
  import {
434
435
  help
435
- } from "./chunks/chunk-3LRN4Q7G.js";
436
+ } from "./chunks/chunk-IS56OO2J.js";
436
437
  import {
437
438
  table
438
- } from "./chunks/chunk-ABDTA3V2.js";
439
+ } from "./chunks/chunk-KSIISCB2.js";
439
440
  import {
440
441
  STANDARD_ENVIRONMENTS,
441
442
  VERCEL_CONFIG_EXTENSIONS,
@@ -475,10 +476,10 @@ import {
475
476
  resolveProjectCwd,
476
477
  selectAndParseRemoteUrl,
477
478
  selectOrg
478
- } from "./chunks/chunk-AB7YF6KM.js";
479
+ } from "./chunks/chunk-JJ36CB7A.js";
479
480
  import {
480
481
  TelemetryClient
481
- } from "./chunks/chunk-4Z7KJQGN.js";
482
+ } from "./chunks/chunk-4OEA5ILS.js";
482
483
  import {
483
484
  argvHasNonInteractive,
484
485
  buildCommandWithGlobalFlags,
@@ -490,7 +491,7 @@ import {
490
491
  outputActionRequired,
491
492
  outputAgentError,
492
493
  shouldEmitNonInteractiveCommandError
493
- } from "./chunks/chunk-IABMY4Q3.js";
494
+ } from "./chunks/chunk-AXQNAI65.js";
494
495
  import {
495
496
  elapsed,
496
497
  require_ms,
@@ -505,7 +506,7 @@ import {
505
506
  globalCliFlagTakesValue,
506
507
  parseArguments,
507
508
  printError
508
- } from "./chunks/chunk-JNOMOD7R.js";
509
+ } from "./chunks/chunk-GQLARSTH.js";
509
510
  import {
510
511
  APIError,
511
512
  AliasInUse,
@@ -560,7 +561,7 @@ import {
560
561
  require_bytes,
561
562
  require_lib as require_lib2,
562
563
  stripSensitiveAuthArgs
563
- } from "./chunks/chunk-XZ7CVBQ4.js";
564
+ } from "./chunks/chunk-EBEBY45K.js";
564
565
  import {
565
566
  emoji,
566
567
  eraseLines,
@@ -848,7 +849,7 @@ async function activity(client) {
848
849
  return 0;
849
850
  }
850
851
  telemetry2.trackCliSubcommandTypes(subcommandOriginal);
851
- const typesFn = (await import("./chunks/types-FAFL42RV.js")).default;
852
+ const typesFn = (await import("./chunks/types-7VDI75PV.js")).default;
852
853
  return typesFn(client, telemetry2);
853
854
  }
854
855
  default: {
@@ -858,7 +859,7 @@ async function activity(client) {
858
859
  return 0;
859
860
  }
860
861
  telemetry2.trackCliSubcommandLs(subcommandOriginal);
861
- const listFn = (await import("./chunks/list-OJCLL4JA.js")).default;
862
+ const listFn = (await import("./chunks/list-6PZO3UIZ.js")).default;
862
863
  return listFn(client, telemetry2);
863
864
  }
864
865
  }
@@ -1335,17 +1336,17 @@ async function alerts(client) {
1335
1336
  switch (subcommand) {
1336
1337
  case "inspect": {
1337
1338
  telemetry2.trackCliSubcommandInspect(subcommandOriginal);
1338
- const inspectFn = (await import("./chunks/inspect-UMXWXZMZ.js")).default;
1339
+ const inspectFn = (await import("./chunks/inspect-I7ILS3E2.js")).default;
1339
1340
  return inspectFn(client, args);
1340
1341
  }
1341
1342
  case "rules": {
1342
1343
  telemetry2.trackCliSubcommandRules(args[0] ?? "ls");
1343
- const rulesFn = (await import("./chunks/rules-KSDPKR6Z.js")).default;
1344
+ const rulesFn = (await import("./chunks/rules-IW3XGCNA.js")).default;
1344
1345
  return rulesFn(client, args);
1345
1346
  }
1346
1347
  default: {
1347
1348
  telemetry2.trackCliSubcommandLs(subcommandOriginal);
1348
- const listFn = (await import("./chunks/list-JZMV62KB.js")).default;
1349
+ const listFn = (await import("./chunks/list-BWIEHOTA.js")).default;
1349
1350
  return listFn(client, telemetry2);
1350
1351
  }
1351
1352
  }
@@ -5756,6 +5757,11 @@ var ConnexTelemetryClient = class extends TelemetryClient {
5756
5757
  this.trackCliFlag("disconnect-all");
5757
5758
  }
5758
5759
  }
5760
+ trackCliFlagAllProjects(v) {
5761
+ if (v) {
5762
+ this.trackCliFlag("all-projects");
5763
+ }
5764
+ }
5759
5765
  trackCliOptionLimit(v) {
5760
5766
  if (v !== void 0) {
5761
5767
  this.trackCliOption({
@@ -5982,7 +5988,6 @@ ${browserUrl}`);
5982
5988
 
5983
5989
  // src/commands/connex/list.ts
5984
5990
  var import_chalk22 = __toESM(require_source(), 1);
5985
- var import_ms7 = __toESM(require_ms(), 1);
5986
5991
  async function list5(client, flags) {
5987
5992
  const formatResult = validateJsonOutput(flags);
5988
5993
  if (!formatResult.valid) {
@@ -5990,10 +5995,31 @@ async function list5(client, flags) {
5990
5995
  return 1;
5991
5996
  }
5992
5997
  const asJson = formatResult.jsonOutput;
5993
- await selectConnexTeam(
5994
- client,
5995
- "Select the team whose Connex clients you want to list"
5996
- );
5998
+ const allProjects = flags["--all-projects"] === true;
5999
+ let projectId;
6000
+ let projectName;
6001
+ if (!allProjects) {
6002
+ const linked = await getLinkedProject(client);
6003
+ if (linked.status === "error") {
6004
+ return linked.exitCode;
6005
+ }
6006
+ if (linked.status === "linked") {
6007
+ if (linked.org.type === "team") {
6008
+ client.config.currentTeam = linked.org.id;
6009
+ } else {
6010
+ client.config.currentTeam = void 0;
6011
+ }
6012
+ projectId = linked.project.id;
6013
+ projectName = linked.project.name;
6014
+ }
6015
+ }
6016
+ const unscoped = !projectId;
6017
+ if (unscoped) {
6018
+ await selectConnexTeam(
6019
+ client,
6020
+ "Select the team whose Connex clients you want to list"
6021
+ );
6022
+ }
5997
6023
  const params = new URLSearchParams();
5998
6024
  if (flags["--limit"] !== void 0) {
5999
6025
  params.set("limit", String(flags["--limit"]));
@@ -6001,6 +6027,11 @@ async function list5(client, flags) {
6001
6027
  if (flags["--next"]) {
6002
6028
  params.set("cursor", flags["--next"]);
6003
6029
  }
6030
+ if (unscoped) {
6031
+ params.set("include", "projects");
6032
+ } else if (projectId) {
6033
+ params.set("projectId", projectId);
6034
+ }
6004
6035
  const query = params.toString();
6005
6036
  const url = `/v1/connex/clients${query ? `?${query}` : ""}`;
6006
6037
  output_manager_default.spinner("Fetching Connex clients\u2026");
@@ -6022,14 +6053,22 @@ async function list5(client, flags) {
6022
6053
  output_manager_default.stopSpinner();
6023
6054
  const clients = response.clients ?? [];
6024
6055
  if (asJson) {
6025
- const jsonClients = clients.map((c) => ({
6026
- uid: c.uid,
6027
- id: c.id,
6028
- name: c.name,
6029
- type: c.type,
6030
- typeName: c.typeName,
6031
- createdAt: c.createdAt
6032
- }));
6056
+ const jsonClients = clients.map((c) => {
6057
+ const item = {
6058
+ uid: c.uid,
6059
+ id: c.id,
6060
+ name: c.name,
6061
+ type: c.type,
6062
+ typeName: c.typeName,
6063
+ createdAt: c.createdAt
6064
+ };
6065
+ if (unscoped) {
6066
+ const projectsInclude = c.includes?.projects;
6067
+ item.projects = (projectsInclude?.items ?? []).map((p) => p.project).filter((p) => Boolean(p));
6068
+ item.hasMoreProjects = projectsInclude?.hasMore === true;
6069
+ }
6070
+ return item;
6071
+ });
6033
6072
  client.stdout.write(
6034
6073
  `${JSON.stringify({ clients: jsonClients, cursor: response.cursor }, null, 2)}
6035
6074
  `
@@ -6037,35 +6076,59 @@ async function list5(client, flags) {
6037
6076
  return 0;
6038
6077
  }
6039
6078
  if (clients.length === 0) {
6040
- output_manager_default.log(
6041
- `No Connex clients found. Create one with \`${packageName} connex create <type>\`.`
6042
- );
6079
+ if (unscoped) {
6080
+ output_manager_default.log(
6081
+ `No Connex clients found. Create one with \`${packageName} connex create <type>\`.`
6082
+ );
6083
+ } else {
6084
+ output_manager_default.log(
6085
+ `No Connex clients linked to ${import_chalk22.default.bold(projectName ?? "this project")}. Run \`${packageName} connex list --all-projects\` to see every client in the team.`
6086
+ );
6087
+ }
6043
6088
  return 0;
6044
6089
  }
6045
- const now = Date.now();
6046
- const rows = clients.map((c) => [
6047
- c.uid || import_chalk22.default.gray("\u2013"),
6048
- c.id,
6049
- c.name || import_chalk22.default.gray("\u2013"),
6050
- c.typeName || c.type,
6051
- c.createdAt ? import_chalk22.default.gray(`${(0, import_ms7.default)(Math.max(0, now - c.createdAt))} ago`) : import_chalk22.default.gray("\u2013")
6052
- ]);
6090
+ if (!unscoped && projectName) {
6091
+ output_manager_default.log(`Connex clients linked to ${import_chalk22.default.bold(projectName)}:`);
6092
+ }
6093
+ const headers = ["UID", "ID", "Name", "Type"];
6094
+ if (unscoped) {
6095
+ headers.push("Projects");
6096
+ }
6097
+ const rows = clients.map((c) => {
6098
+ const row = [
6099
+ c.uid || import_chalk22.default.gray("\u2013"),
6100
+ c.id,
6101
+ c.name || import_chalk22.default.gray("\u2013"),
6102
+ c.typeName || c.type
6103
+ ];
6104
+ if (unscoped) {
6105
+ const projectsInclude = c.includes?.projects;
6106
+ const names = (projectsInclude?.items ?? []).map((p) => p.project?.name).filter((n) => Boolean(n));
6107
+ const more = projectsInclude?.hasMore === true;
6108
+ let cell;
6109
+ if (names.length === 0 && !more) {
6110
+ cell = import_chalk22.default.gray("\u2013");
6111
+ } else {
6112
+ const parts = [];
6113
+ if (names.length)
6114
+ parts.push(names.join(", "));
6115
+ if (more)
6116
+ parts.push(import_chalk22.default.gray("+ more"));
6117
+ cell = parts.join(" ");
6118
+ }
6119
+ row.push(cell);
6120
+ }
6121
+ return row;
6122
+ });
6053
6123
  output_manager_default.print(
6054
- `${table(
6055
- [
6056
- ["UID", "ID", "Name", "Type", "Created"].map(
6057
- (h) => import_chalk22.default.bold(import_chalk22.default.cyan(h))
6058
- ),
6059
- ...rows
6060
- ],
6061
- { hsep: 4 }
6062
- )}
6124
+ `${table([headers.map((h) => import_chalk22.default.bold(import_chalk22.default.cyan(h))), ...rows], {
6125
+ hsep: 4
6126
+ })}
6063
6127
  `
6064
6128
  );
6065
6129
  if (response.cursor) {
6066
- output_manager_default.log(
6067
- `To see more, run \`${packageName} connex list --next ${response.cursor}\``
6068
- );
6130
+ const nextCommand = allProjects ? `${packageName} connex list --all-projects --next ${response.cursor}` : `${packageName} connex list --next ${response.cursor}`;
6131
+ output_manager_default.log(`To see more, run \`${nextCommand}\``);
6069
6132
  }
6070
6133
  return 0;
6071
6134
  }
@@ -6478,6 +6541,9 @@ async function connex(client) {
6478
6541
  telemetry2.trackCliSubcommandList(subcommandOriginal);
6479
6542
  const listFlagsSpec = getFlagsSpecification(listSubcommand4.options);
6480
6543
  const listParsedArgs = parseArguments(subArgs, listFlagsSpec);
6544
+ telemetry2.trackCliFlagAllProjects(
6545
+ listParsedArgs.flags["--all-projects"]
6546
+ );
6481
6547
  telemetry2.trackCliOptionLimit(listParsedArgs.flags["--limit"]);
6482
6548
  telemetry2.trackCliOptionNext(listParsedArgs.flags["--next"]);
6483
6549
  telemetry2.trackCliOptionFormat(listParsedArgs.flags["--format"]);
@@ -7158,7 +7224,7 @@ async function runStartOrder(client, cns, contextName, stamp, { fallingBack = fa
7158
7224
 
7159
7225
  // src/commands/certs/ls.ts
7160
7226
  var import_chalk30 = __toESM(require_source(), 1);
7161
- var import_ms8 = __toESM(require_ms(), 1);
7227
+ var import_ms7 = __toESM(require_ms(), 1);
7162
7228
 
7163
7229
  // src/util/certs/get-certs.ts
7164
7230
  async function getCerts(client, next, limit = 20) {
@@ -7281,18 +7347,18 @@ function formatCertFirstCn(time, cert, cn, multiple) {
7281
7347
  formatCertCn(cn, multiple),
7282
7348
  formatExpirationDate(new Date(cert.expiration)),
7283
7349
  cert.autoRenew ? "yes" : "no",
7284
- import_chalk30.default.gray((0, import_ms8.default)(time.getTime() - new Date(cert.created).getTime()))
7350
+ import_chalk30.default.gray((0, import_ms7.default)(time.getTime() - new Date(cert.created).getTime()))
7285
7351
  ];
7286
7352
  }
7287
7353
  function formatExpirationDate(date) {
7288
7354
  const diff2 = date.getTime() - Date.now();
7289
- return diff2 < 0 ? import_chalk30.default.gray(`${(0, import_ms8.default)(-diff2)} ago`) : import_chalk30.default.gray(`in ${(0, import_ms8.default)(diff2)}`);
7355
+ return diff2 < 0 ? import_chalk30.default.gray(`${(0, import_ms7.default)(-diff2)} ago`) : import_chalk30.default.gray(`in ${(0, import_ms7.default)(diff2)}`);
7290
7356
  }
7291
7357
  var ls_default = ls2;
7292
7358
 
7293
7359
  // src/commands/certs/rm.ts
7294
7360
  var import_chalk31 = __toESM(require_source(), 1);
7295
- var import_ms9 = __toESM(require_ms(), 1);
7361
+ var import_ms8 = __toESM(require_ms(), 1);
7296
7362
  var import_pluralize4 = __toESM(require_pluralize(), 1);
7297
7363
 
7298
7364
  // src/util/certs/delete-cert-by-id.ts
@@ -7442,7 +7508,7 @@ function formatCertRow(cert) {
7442
7508
  return [
7443
7509
  cert.uid,
7444
7510
  import_chalk31.default.bold(cert.cns ? cert.cns.join(", ") : "\u2013"),
7445
- ...cert.created ? [import_chalk31.default.gray(`${(0, import_ms9.default)(Date.now() - new Date(cert.created).getTime())} ago`)] : []
7511
+ ...cert.created ? [import_chalk31.default.gray(`${(0, import_ms8.default)(Date.now() - new Date(cert.created).getTime())} ago`)] : []
7446
7512
  ];
7447
7513
  }
7448
7514
  var rm_default = rm2;
@@ -9837,7 +9903,7 @@ async function importZone(client, argv) {
9837
9903
 
9838
9904
  // src/commands/dns/ls.ts
9839
9905
  var import_chalk45 = __toESM(require_source(), 1);
9840
- var import_ms10 = __toESM(require_ms(), 1);
9906
+ var import_ms9 = __toESM(require_ms(), 1);
9841
9907
 
9842
9908
  // src/util/dns/get-domain-dns-records.ts
9843
9909
  async function getDomainDNSRecords(client, domain2, apiVersion = 3, nextTimestamp, limit = 20) {
@@ -10090,7 +10156,7 @@ function getDNSRecordsTable(dnsRecords) {
10090
10156
  }
10091
10157
  function getDNSRecordRow(record) {
10092
10158
  const isSystemRecord = record.creator === "system";
10093
- const createdAt = `${(0, import_ms10.default)(
10159
+ const createdAt = `${(0, import_ms9.default)(
10094
10160
  Date.now() - new Date(Number(record.createdAt)).getTime()
10095
10161
  )} ago`;
10096
10162
  const priority = record.mxPriority || record.priority || null;
@@ -10106,7 +10172,7 @@ function getDNSRecordRow(record) {
10106
10172
 
10107
10173
  // src/commands/dns/rm.ts
10108
10174
  var import_chalk46 = __toESM(require_source(), 1);
10109
- var import_ms11 = __toESM(require_ms(), 1);
10175
+ var import_ms10 = __toESM(require_ms(), 1);
10110
10176
 
10111
10177
  // src/util/dns/delete-dns-record-by-id.ts
10112
10178
  async function deleteDNSRecordById(client, domain2, recordId) {
@@ -10290,7 +10356,7 @@ function getDeleteTableRow(domainName, record) {
10290
10356
  `${recordName} ${record.type} ${record.value} ${record.mxPriority || ""}`
10291
10357
  ),
10292
10358
  import_chalk46.default.gray(
10293
- `${(0, import_ms11.default)(Date.now() - new Date(Number(record.createdAt)).getTime())} ago`
10359
+ `${(0, import_ms10.default)(Date.now() - new Date(Number(record.createdAt)).getTime())} ago`
10294
10360
  )
10295
10361
  ];
10296
10362
  }
@@ -11259,7 +11325,7 @@ async function fetchInformation({
11259
11325
  }
11260
11326
 
11261
11327
  // src/commands/domains/ls.ts
11262
- var import_ms12 = __toESM(require_ms(), 1);
11328
+ var import_ms11 = __toESM(require_ms(), 1);
11263
11329
  var import_chalk53 = __toESM(require_source(), 1);
11264
11330
  var import_pluralize5 = __toESM(require_pluralize(), 1);
11265
11331
 
@@ -11375,7 +11441,7 @@ function formatDomainsTable(domains2) {
11375
11441
  const current = Date.now();
11376
11442
  const rows = domains2.map((domain2) => {
11377
11443
  const expiration = formatDateWithoutTime(domain2.expiresAt);
11378
- const age = domain2.createdAt ? (0, import_ms12.default)(current - domain2.createdAt) : "-";
11444
+ const age = domain2.createdAt ? (0, import_ms11.default)(current - domain2.createdAt) : "-";
11379
11445
  return [
11380
11446
  domain2.name,
11381
11447
  getDomainRegistrar(domain2),
@@ -20176,7 +20242,7 @@ var FlagsTelemetryClient = class extends TelemetryClient {
20176
20242
 
20177
20243
  // src/commands/flags/ls.ts
20178
20244
  var import_chalk91 = __toESM(require_source(), 1);
20179
- var import_ms13 = __toESM(require_ms(), 1);
20245
+ var import_ms12 = __toESM(require_ms(), 1);
20180
20246
  var import_pluralize8 = __toESM(require_pluralize(), 1);
20181
20247
 
20182
20248
  // src/util/flags/get-flags.ts
@@ -20299,7 +20365,7 @@ function printFlagsTable(flags) {
20299
20365
  flag.kind,
20300
20366
  flag.state === "active" ? import_chalk91.default.green(flag.state) : import_chalk91.default.gray(flag.state),
20301
20367
  String(flag.variants.length),
20302
- (0, import_ms13.default)(now - flag.updatedAt) + " ago"
20368
+ (0, import_ms12.default)(now - flag.updatedAt) + " ago"
20303
20369
  ]);
20304
20370
  const table3 = formatTable(
20305
20371
  headers,
@@ -20325,7 +20391,7 @@ var FlagsInspectTelemetryClient = class extends TelemetryClient {
20325
20391
 
20326
20392
  // src/util/flags/print-flag-details.ts
20327
20393
  var import_chalk93 = __toESM(require_source(), 1);
20328
- var import_ms14 = __toESM(require_ms(), 1);
20394
+ var import_ms13 = __toESM(require_ms(), 1);
20329
20395
 
20330
20396
  // src/util/flags/dashboard-url.ts
20331
20397
  function getFlagDashboardUrl(orgSlug, projectName, flagSlug) {
@@ -20657,7 +20723,7 @@ function formatRolloutOutcome(outcome, variants) {
20657
20723
  const stages = outcome.slots.map((slot) => {
20658
20724
  const percentage = slot.promille / 1e3;
20659
20725
  const formattedPercentage = Number.isInteger(percentage) ? String(percentage) : String(Number(percentage.toFixed(3)));
20660
- return `${formattedPercentage}% for ${(0, import_ms14.default)(slot.durationMs, { long: true })}`;
20726
+ return `${formattedPercentage}% for ${(0, import_ms13.default)(slot.durationMs, { long: true })}`;
20661
20727
  }).join(", ");
20662
20728
  return `${formatEnvironmentVariantSummary(
20663
20729
  fromVariant,
@@ -21862,7 +21928,7 @@ var import_fast_deep_equal3 = __toESM(require_fast_deep_equal(), 1);
21862
21928
 
21863
21929
  // src/util/flags/rollout.ts
21864
21930
  var import_chalk98 = __toESM(require_source(), 1);
21865
- var import_ms15 = __toESM(require_ms(), 1);
21931
+ var import_ms14 = __toESM(require_ms(), 1);
21866
21932
  function resolveFlagRollout(flag, settings, options) {
21867
21933
  const currentRollout = options.currentOutcome?.type === "rollout" ? options.currentOutcome : void 0;
21868
21934
  const baseSelector = options.baseSelector || formatBaseSelector(currentRollout?.base);
@@ -22065,7 +22131,7 @@ function parseStageDuration(value) {
22065
22131
  if (/^\d+(s|ms)$/i.test(value)) {
22066
22132
  return void 0;
22067
22133
  }
22068
- const durationMs = (0, import_ms15.default)(/^\d+$/.test(value) ? `${value}m` : value);
22134
+ const durationMs = (0, import_ms14.default)(/^\d+$/.test(value) ? `${value}m` : value);
22069
22135
  if (durationMs === void 0 || durationMs <= 0) {
22070
22136
  return void 0;
22071
22137
  }
@@ -22082,7 +22148,7 @@ function resolveRolloutStartTimestamp(start, currentStartTimestamp) {
22082
22148
  if (start === "now") {
22083
22149
  return Date.now();
22084
22150
  }
22085
- const relativeDurationMs = (0, import_ms15.default)(start);
22151
+ const relativeDurationMs = (0, import_ms14.default)(start);
22086
22152
  if (relativeDurationMs !== void 0) {
22087
22153
  if (relativeDurationMs <= 0) {
22088
22154
  throw new Error(
@@ -22101,7 +22167,7 @@ function resolveRolloutStartTimestamp(start, currentStartTimestamp) {
22101
22167
  }
22102
22168
  function formatRolloutStages(slots) {
22103
22169
  return `${slots.map(
22104
- (slot) => `${formatPromille(slot.promille)} for ${(0, import_ms15.default)(slot.durationMs, { long: true })}`
22170
+ (slot) => `${formatPromille(slot.promille)} for ${(0, import_ms14.default)(slot.durationMs, { long: true })}`
22105
22171
  ).join(", ")}, then 100% indefinitely`;
22106
22172
  }
22107
22173
  function formatPromille(promille) {
@@ -23117,7 +23183,7 @@ var FlagsSdkKeysRmTelemetryClient = class extends TelemetryClient {
23117
23183
 
23118
23184
  // src/commands/flags/sdk-keys-ls.ts
23119
23185
  var import_chalk105 = __toESM(require_source(), 1);
23120
- var import_ms16 = __toESM(require_ms(), 1);
23186
+ var import_ms15 = __toESM(require_ms(), 1);
23121
23187
 
23122
23188
  // src/util/flags/sdk-keys.ts
23123
23189
  async function getSdkKeys(client, projectId) {
@@ -23233,7 +23299,7 @@ function printSdkKeysTable(keys) {
23233
23299
  key.environment,
23234
23300
  key.label || import_chalk105.default.dim("-"),
23235
23301
  key.partialKeyValue || import_chalk105.default.dim("-"),
23236
- (0, import_ms16.default)(now - key.createdAt) + " ago"
23302
+ (0, import_ms15.default)(now - key.createdAt) + " ago"
23237
23303
  ]);
23238
23304
  const table3 = formatTable(
23239
23305
  headers,
@@ -24858,7 +24924,7 @@ async function main19(client) {
24858
24924
  // src/commands/inspect/index.ts
24859
24925
  var import_error_utils9 = __toESM(require_dist(), 1);
24860
24926
  var import_chalk114 = __toESM(require_source(), 1);
24861
- var import_ms17 = __toESM(require_ms(), 1);
24927
+ var import_ms16 = __toESM(require_ms(), 1);
24862
24928
  var import_title2 = __toESM(require_lib2(), 1);
24863
24929
  import { URL as URL2 } from "url";
24864
24930
 
@@ -25226,7 +25292,7 @@ async function inspect4(client) {
25226
25292
  telemetry2.trackCliFlagWait(parsedArguments.flags["--wait"]);
25227
25293
  telemetry2.trackCliOptionFormat(parsedArguments.flags["--format"]);
25228
25294
  telemetry2.trackCliFlagJson(parsedArguments.flags["--json"]);
25229
- const timeout = (0, import_ms17.default)(parsedArguments.flags["--timeout"] ?? "3m");
25295
+ const timeout = (0, import_ms16.default)(parsedArguments.flags["--timeout"] ?? "3m");
25230
25296
  if (timeout === void 0) {
25231
25297
  error(`Invalid timeout "${parsedArguments.flags["--timeout"]}"`);
25232
25298
  return 1;
@@ -25277,7 +25343,7 @@ async function inspect4(client) {
25277
25343
  break;
25278
25344
  }
25279
25345
  if (Date.now() > until) {
25280
- warn(`stopped waiting after ${(0, import_ms17.default)(timeout, { long: true })}`);
25346
+ warn(`stopped waiting after ${(0, import_ms16.default)(timeout, { long: true })}`);
25281
25347
  abortController?.abort();
25282
25348
  break;
25283
25349
  }
@@ -30486,7 +30552,7 @@ var import_chalk133 = __toESM(require_source(), 1);
30486
30552
  var import_date_fns2 = __toESM(require_date_fns(), 1);
30487
30553
 
30488
30554
  // src/util/logs-v2.ts
30489
- var import_ms18 = __toESM(require_ms(), 1);
30555
+ var import_ms17 = __toESM(require_ms(), 1);
30490
30556
  var LOG_LEVEL_SEVERITY = {
30491
30557
  info: 0,
30492
30558
  warning: 1,
@@ -30508,7 +30574,7 @@ function getDisplayLog(logs2, requestedLevels) {
30508
30574
  }
30509
30575
  function parseRelativeTime(input) {
30510
30576
  const now = Date.now();
30511
- const msValue = (0, import_ms18.default)(input);
30577
+ const msValue = (0, import_ms17.default)(input);
30512
30578
  if (typeof msValue === "number") {
30513
30579
  return now - msValue;
30514
30580
  }
@@ -30895,6 +30961,125 @@ function parseSources(sources) {
30895
30961
  return [sources];
30896
30962
  return sources;
30897
30963
  }
30964
+ function isNonLiveTerminalDeployment(deployment) {
30965
+ return deployment.readyState === "ERROR" || deployment.readyState === "CANCELED";
30966
+ }
30967
+ function getInspectCommand(deployment, contextName, { plain = false } = {}) {
30968
+ const scopeOption = contextName ? ` --scope ${contextName}` : "";
30969
+ const command = `inspect https://${deployment.url}${scopeOption}`;
30970
+ return plain ? `\`${getCommandNamePlain(command)}\`` : getCommandName(command);
30971
+ }
30972
+ function printNonLiveDeploymentError(deployment, contextName) {
30973
+ const inspectCommand2 = getInspectCommand(deployment, contextName);
30974
+ output_manager_default.error(
30975
+ `Logs are unavailable because deployment ${import_chalk133.default.bold(
30976
+ deployment.id
30977
+ )} never reached READY and ended in ${deployment.readyState}.
30978
+ Run ${inspectCommand2} for deployment details.`
30979
+ );
30980
+ }
30981
+ async function resolveLogsTarget(client, { contextName, deploymentOption, projectOption }) {
30982
+ if (deploymentOption) {
30983
+ output_manager_default.spinner(`Resolving deployment "${deploymentOption}"`, 1e3);
30984
+ let deployment;
30985
+ try {
30986
+ deployment = await getDeployment(client, contextName, deploymentOption);
30987
+ } catch (err) {
30988
+ if (err instanceof DeploymentNotFound) {
30989
+ output_manager_default.error(
30990
+ `Deployment not found: ${deploymentOption} under ${import_chalk133.default.bold(
30991
+ contextName
30992
+ )}`
30993
+ );
30994
+ return { exitCode: 1 };
30995
+ }
30996
+ if (err instanceof InvalidDeploymentId) {
30997
+ output_manager_default.error(`Invalid deployment ID: ${deploymentOption}`);
30998
+ return { exitCode: 1 };
30999
+ }
31000
+ throw err;
31001
+ } finally {
31002
+ output_manager_default.stopSpinner();
31003
+ }
31004
+ if (!deployment.projectId) {
31005
+ output_manager_default.error("Deployment is not associated with a project.");
31006
+ return { exitCode: 1 };
31007
+ }
31008
+ output_manager_default.spinner(`Fetching project "${deployment.projectId}"`, 1e3);
31009
+ const project = await getProjectByNameOrId(client, deployment.projectId);
31010
+ output_manager_default.stopSpinner();
31011
+ if (project instanceof ProjectNotFound) {
31012
+ output_manager_default.error(
31013
+ `Project not found: ${deployment.projectId} under ${import_chalk133.default.bold(
31014
+ contextName
31015
+ )}`
31016
+ );
31017
+ return { exitCode: 1 };
31018
+ }
31019
+ if (projectOption) {
31020
+ output_manager_default.spinner(`Fetching project "${projectOption}"`, 1e3);
31021
+ const explicitProject = await getProjectByNameOrId(client, projectOption);
31022
+ output_manager_default.stopSpinner();
31023
+ if (explicitProject instanceof ProjectNotFound) {
31024
+ output_manager_default.error(
31025
+ `Project not found: ${projectOption} under ${import_chalk133.default.bold(contextName)}`
31026
+ );
31027
+ return { exitCode: 1 };
31028
+ }
31029
+ if (explicitProject.id !== project.id) {
31030
+ output_manager_default.error(
31031
+ `The deployment "${deploymentOption}" does not belong to "${projectOption}" project. Remove either the deployment selection or the ${import_chalk133.default.bold(
31032
+ "--project"
31033
+ )} option.`
31034
+ );
31035
+ return { exitCode: 1 };
31036
+ }
31037
+ }
31038
+ return {
31039
+ projectId: project.id,
31040
+ projectSlug: project.name,
31041
+ orgSlug: contextName,
31042
+ ownerId: project.accountId,
31043
+ deployment
31044
+ };
31045
+ }
31046
+ if (projectOption) {
31047
+ output_manager_default.spinner(`Fetching project "${projectOption}"`, 1e3);
31048
+ const project = await getProjectByNameOrId(client, projectOption);
31049
+ output_manager_default.stopSpinner();
31050
+ if (project instanceof ProjectNotFound) {
31051
+ output_manager_default.error(
31052
+ `Project not found: ${projectOption} under ${import_chalk133.default.bold(contextName)}`
31053
+ );
31054
+ return { exitCode: 1 };
31055
+ }
31056
+ return {
31057
+ projectId: project.id,
31058
+ projectSlug: project.name,
31059
+ orgSlug: contextName,
31060
+ ownerId: project.accountId
31061
+ };
31062
+ }
31063
+ const link = await getLinkedProject(client);
31064
+ if (link.status === "error") {
31065
+ return { exitCode: link.exitCode };
31066
+ }
31067
+ if (link.status === "not_linked") {
31068
+ output_manager_default.error(
31069
+ `Your codebase isn't linked to a project on Vercel. Run ${getCommandName(
31070
+ "link"
31071
+ )} to begin, or specify a project with ${import_chalk133.default.bold("--project")}.`
31072
+ );
31073
+ return { exitCode: 1 };
31074
+ }
31075
+ client.config.currentTeam = link.org.type === "team" ? link.org.id : void 0;
31076
+ return {
31077
+ projectId: link.project.id,
31078
+ projectSlug: link.project.name,
31079
+ orgSlug: link.org.slug,
31080
+ ownerId: link.org.id
31081
+ };
31082
+ }
30898
31083
  async function logs(client) {
30899
31084
  let parsedArguments;
30900
31085
  const flagsSpecification = getFlagsSpecification(logsCommand.options);
@@ -30982,7 +31167,7 @@ async function logs(client) {
30982
31167
  return 1;
30983
31168
  }
30984
31169
  }
30985
- let contextName = null;
31170
+ let contextName;
30986
31171
  try {
30987
31172
  ({ contextName } = await getScope(client));
30988
31173
  } catch (err) {
@@ -30992,67 +31177,33 @@ async function logs(client) {
30992
31177
  }
30993
31178
  throw err;
30994
31179
  }
30995
- let projectId;
30996
- let projectSlug;
30997
- let orgSlug;
30998
- let ownerId;
30999
- if (projectOption) {
31000
- output_manager_default.spinner(`Fetching project "${projectOption}"`, 1e3);
31001
- const project = await getProjectByNameOrId(
31002
- client,
31003
- projectOption,
31004
- client.config.currentTeam
31005
- );
31006
- output_manager_default.stopSpinner();
31007
- if (project instanceof ProjectNotFound) {
31008
- output_manager_default.error(`Project not found: ${projectOption}`);
31009
- return 1;
31010
- }
31011
- projectId = project.id;
31012
- projectSlug = project.name;
31013
- orgSlug = contextName;
31014
- ownerId = project.accountId;
31015
- } else {
31016
- const link = await getLinkedProject(client);
31017
- if (link.status === "error") {
31018
- return link.exitCode;
31019
- } else if (link.status === "not_linked") {
31020
- output_manager_default.error(
31021
- `Your codebase isn't linked to a project on Vercel. Run ${getCommandName(
31022
- "link"
31023
- )} to begin, or specify a project with ${import_chalk133.default.bold("--project")}.`
31024
- );
31025
- return 1;
31026
- }
31027
- client.config.currentTeam = link.org.type === "team" ? link.org.id : void 0;
31028
- projectId = link.project.id;
31029
- projectSlug = link.project.name;
31030
- orgSlug = link.org.slug;
31031
- ownerId = link.org.id;
31180
+ const logsTarget = await resolveLogsTarget(client, {
31181
+ contextName,
31182
+ deploymentOption,
31183
+ projectOption
31184
+ });
31185
+ if ("exitCode" in logsTarget) {
31186
+ return logsTarget.exitCode;
31032
31187
  }
31033
- let deploymentId;
31034
- if (deploymentOption) {
31035
- output_manager_default.spinner(`Resolving deployment "${deploymentOption}"`, 1e3);
31036
- try {
31037
- const deployment = await getDeployment(
31038
- client,
31039
- contextName,
31040
- deploymentOption
31188
+ const { projectId, projectSlug, orgSlug, ownerId, deployment } = logsTarget;
31189
+ let deploymentId = deployment?.id;
31190
+ if (deployment && isNonLiveTerminalDeployment(deployment)) {
31191
+ const inspectContextName = detectExplicitScope(client) ? contextName : void 0;
31192
+ const inspectCommand2 = getInspectCommand(deployment, inspectContextName, {
31193
+ plain: true
31194
+ });
31195
+ if (jsonOption) {
31196
+ client.stdout.write(
31197
+ `${JSON.stringify({
31198
+ type: "deployment_error",
31199
+ message: `Logs are unavailable because deployment ${deployment.id} never reached READY and ended in ${deployment.readyState}. Run ${inspectCommand2} for deployment details.`
31200
+ })}
31201
+ `
31041
31202
  );
31042
- deploymentId = deployment.id;
31043
- output_manager_default.stopSpinner();
31044
- } catch (err) {
31045
- output_manager_default.stopSpinner();
31046
- if (err instanceof DeploymentNotFound) {
31047
- output_manager_default.error(`Deployment not found: ${deploymentOption}`);
31048
- return 1;
31049
- }
31050
- if (err instanceof InvalidDeploymentId) {
31051
- output_manager_default.error(`Invalid deployment ID: ${deploymentOption}`);
31052
- return 1;
31053
- }
31054
- throw err;
31203
+ } else {
31204
+ printNonLiveDeploymentError(deployment, inspectContextName);
31055
31205
  }
31206
+ return 1;
31056
31207
  }
31057
31208
  const noBranchFlagValue = parsedArguments.flags["--no-branch"];
31058
31209
  let branchOption;
@@ -32026,7 +32177,7 @@ async function metrics(client) {
32026
32177
  return 0;
32027
32178
  }
32028
32179
  telemetry2.trackCliSubcommandSchema(subcommandOriginal);
32029
- const schemaFn = (await import("./chunks/schema-UGF5QQ3K.js")).default;
32180
+ const schemaFn = (await import("./chunks/schema-2VCQ2MAA.js")).default;
32030
32181
  return schemaFn(client, telemetry2);
32031
32182
  }
32032
32183
  default: {
@@ -32039,7 +32190,7 @@ async function metrics(client) {
32039
32190
  output_manager_default.print(help(metricsCommand, { columns: client.stderr.columns }));
32040
32191
  return 2;
32041
32192
  }
32042
- const queryFn = (await import("./chunks/query-2CL2LAOA.js")).default;
32193
+ const queryFn = (await import("./chunks/query-BGI3AVJA.js")).default;
32043
32194
  return queryFn(client, telemetry2);
32044
32195
  }
32045
32196
  }
@@ -34450,7 +34601,7 @@ async function openCommandHandler(client) {
34450
34601
 
34451
34602
  // src/commands/project/add.ts
34452
34603
  var import_chalk140 = __toESM(require_source(), 1);
34453
- var import_ms19 = __toESM(require_ms(), 1);
34604
+ var import_ms18 = __toESM(require_ms(), 1);
34454
34605
 
34455
34606
  // src/util/telemetry/commands/project/add.ts
34456
34607
  var ProjectAddTelemetryClient = class extends TelemetryClient {
@@ -34512,7 +34663,7 @@ async function add8(client, argv) {
34512
34663
  throw err;
34513
34664
  }
34514
34665
  }
34515
- const elapsed2 = (0, import_ms19.default)(Date.now() - start);
34666
+ const elapsed2 = (0, import_ms18.default)(Date.now() - start);
34516
34667
  const { contextName } = await getScope(client);
34517
34668
  output_manager_default.log(
34518
34669
  `${import_chalk140.default.cyan("Success!")} Project ${import_chalk140.default.bold(
@@ -35262,7 +35413,7 @@ async function inspect5(client, argv) {
35262
35413
  }
35263
35414
 
35264
35415
  // src/commands/project/list.ts
35265
- var import_ms20 = __toESM(require_ms(), 1);
35416
+ var import_ms19 = __toESM(require_ms(), 1);
35266
35417
  var import_chalk144 = __toESM(require_source(), 1);
35267
35418
 
35268
35419
  // src/util/telemetry/commands/project/list.ts
@@ -35354,7 +35505,7 @@ async function list10(client, argv) {
35354
35505
  method: "GET"
35355
35506
  });
35356
35507
  output_manager_default.stopSpinner();
35357
- const elapsed2 = (0, import_ms20.default)(Date.now() - start);
35508
+ const elapsed2 = (0, import_ms19.default)(Date.now() - start);
35358
35509
  if (flags.json) {
35359
35510
  outputJson4(client, projectList, {
35360
35511
  pagination,
@@ -35442,7 +35593,7 @@ function printProjectsTable(projectList) {
35442
35593
  [
35443
35594
  import_chalk144.default.bold(project.name),
35444
35595
  getLatestProdUrl(project),
35445
- import_chalk144.default.gray((0, import_ms20.default)(Date.now() - project.updatedAt)),
35596
+ import_chalk144.default.gray((0, import_ms19.default)(Date.now() - project.updatedAt)),
35446
35597
  project.nodeVersion ?? ""
35447
35598
  ]
35448
35599
  ])
@@ -35640,7 +35791,7 @@ async function accessGroups(client, argv) {
35640
35791
 
35641
35792
  // src/commands/project/rename.ts
35642
35793
  var import_chalk147 = __toESM(require_source(), 1);
35643
- var import_ms21 = __toESM(require_ms(), 1);
35794
+ var import_ms20 = __toESM(require_ms(), 1);
35644
35795
 
35645
35796
  // src/util/telemetry/commands/project/rename.ts
35646
35797
  var ProjectRenameTelemetryClient = class extends TelemetryClient {
@@ -35715,7 +35866,7 @@ async function rename(client, argv) {
35715
35866
  }
35716
35867
  throw err;
35717
35868
  }
35718
- const elapsed2 = (0, import_ms21.default)(Date.now() - start);
35869
+ const elapsed2 = (0, import_ms20.default)(Date.now() - start);
35719
35870
  output_manager_default.log(
35720
35871
  `${import_chalk147.default.cyan("Success!")} Project ${import_chalk147.default.bold(
35721
35872
  project.name
@@ -35728,7 +35879,7 @@ async function rename(client, argv) {
35728
35879
 
35729
35880
  // src/commands/project/rm.ts
35730
35881
  var import_chalk148 = __toESM(require_source(), 1);
35731
- var import_ms22 = __toESM(require_ms(), 1);
35882
+ var import_ms21 = __toESM(require_ms(), 1);
35732
35883
 
35733
35884
  // src/util/telemetry/commands/project/rm.ts
35734
35885
  var ProjectRmTelemetryClient = class extends TelemetryClient {
@@ -35789,7 +35940,7 @@ async function rm7(client, argv) {
35789
35940
  return 1;
35790
35941
  }
35791
35942
  }
35792
- const elapsed2 = (0, import_ms22.default)(Date.now() - start);
35943
+ const elapsed2 = (0, import_ms21.default)(Date.now() - start);
35793
35944
  output_manager_default.log(
35794
35945
  `${import_chalk148.default.cyan("Success!")} Project ${import_chalk148.default.bold(name)} removed ${import_chalk148.default.gray(
35795
35946
  `[${elapsed2}]`
@@ -35824,6 +35975,12 @@ async function getOidcToken(client, argv) {
35824
35975
  return 1;
35825
35976
  }
35826
35977
  const { args, flags } = parsedArgs;
35978
+ const formatResult = validateJsonOutput(flags);
35979
+ if (!formatResult.valid) {
35980
+ output_manager_default.error(formatResult.error);
35981
+ return 1;
35982
+ }
35983
+ const asJson = formatResult.jsonOutput;
35827
35984
  client.nonInteractive = true;
35828
35985
  if (args.length > 1) {
35829
35986
  output_manager_default.error(
@@ -35854,8 +36011,13 @@ async function getOidcToken(client, argv) {
35854
36011
  }
35855
36012
  }
35856
36013
  );
35857
- output_manager_default.print(res.token);
35858
- output_manager_default.print("\n");
36014
+ if (asJson) {
36015
+ client.stdout.write(`${JSON.stringify({ token: res.token }, null, 2)}
36016
+ `);
36017
+ } else {
36018
+ client.stdout.write(`${res.token}
36019
+ `);
36020
+ }
35859
36021
  return 0;
35860
36022
  } catch (err) {
35861
36023
  if (isAPIError(err) && err.status === 404) {
@@ -36669,7 +36831,7 @@ async function main25(client) {
36669
36831
  }
36670
36832
 
36671
36833
  // src/commands/promote/index.ts
36672
- var import_ms25 = __toESM(require_ms(), 1);
36834
+ var import_ms24 = __toESM(require_ms(), 1);
36673
36835
  var import_error_utils14 = __toESM(require_dist(), 1);
36674
36836
 
36675
36837
  // src/commands/promote/request-promote.ts
@@ -36746,11 +36908,11 @@ async function getProjectByDeployment({
36746
36908
  }
36747
36909
 
36748
36910
  // src/commands/promote/request-promote.ts
36749
- var import_ms24 = __toESM(require_ms(), 1);
36911
+ var import_ms23 = __toESM(require_ms(), 1);
36750
36912
 
36751
36913
  // src/commands/promote/status.ts
36752
36914
  var import_chalk153 = __toESM(require_source(), 1);
36753
- var import_ms23 = __toESM(require_ms(), 1);
36915
+ var import_ms22 = __toESM(require_ms(), 1);
36754
36916
 
36755
36917
  // src/util/alias/render-alias-status.ts
36756
36918
  var import_chalk152 = __toESM(require_source(), 1);
@@ -36787,8 +36949,8 @@ async function promoteStatus({
36787
36949
  project,
36788
36950
  timeout = "3m"
36789
36951
  }) {
36790
- const recentThreshold = Date.now() - (0, import_ms23.default)("3m");
36791
- const promoteTimeout = Date.now() + (0, import_ms23.default)(timeout);
36952
+ const recentThreshold = Date.now() - (0, import_ms22.default)("3m");
36953
+ const promoteTimeout = Date.now() + (0, import_ms22.default)(timeout);
36792
36954
  let counter = 0;
36793
36955
  let spinnerMessage = deployment ? "Promote in progress" : `Checking promotion status of ${project.name}`;
36794
36956
  if (!contextName) {
@@ -37005,7 +37167,7 @@ async function requestPromote({
37005
37167
  );
37006
37168
  return 0;
37007
37169
  }
37008
- if (timeout !== void 0 && (0, import_ms24.default)(timeout) === 0) {
37170
+ if (timeout !== void 0 && (0, import_ms23.default)(timeout) === 0) {
37009
37171
  output_manager_default.log(
37010
37172
  `Successfully requested promote of ${import_chalk154.default.bold(project.name)} to ${deployment.url} (${deployment.id})`
37011
37173
  );
@@ -37076,7 +37238,7 @@ var promote_default = async (client) => {
37076
37238
  const yes = parsedArgs.flags["--yes"] ?? false;
37077
37239
  telemetry2.trackCliFlagYes(parsedArgs.flags["--yes"]);
37078
37240
  const timeout = parsedArgs.flags["--timeout"];
37079
- if (timeout && (0, import_ms25.default)(timeout) === void 0) {
37241
+ if (timeout && (0, import_ms24.default)(timeout) === void 0) {
37080
37242
  output_manager_default.error(`Invalid timeout "${timeout}"`);
37081
37243
  return 1;
37082
37244
  }
@@ -37407,7 +37569,13 @@ async function redeploy(client) {
37407
37569
  }
37408
37570
  }
37409
37571
  }
37410
- return printDeploymentStatus(deployment, deployStamp, noWait, false);
37572
+ return printDeploymentStatus(
37573
+ client,
37574
+ deployment,
37575
+ deployStamp,
37576
+ noWait,
37577
+ false
37578
+ );
37411
37579
  } catch (err) {
37412
37580
  output_manager_default.prettyError(err);
37413
37581
  if ((0, import_error_utils15.isErrnoException)(err) && err.code === "ERR_INVALID_TEAM") {
@@ -37746,7 +37914,7 @@ function formatRedirectsTable(redirects, actionSymbol) {
37746
37914
 
37747
37915
  // src/commands/redirects/list-versions.ts
37748
37916
  var import_chalk158 = __toESM(require_source(), 1);
37749
- var import_ms26 = __toESM(require_ms(), 1);
37917
+ var import_ms25 = __toESM(require_ms(), 1);
37750
37918
  var import_pluralize10 = __toESM(require_pluralize(), 1);
37751
37919
  async function listVersions(client, argv) {
37752
37920
  const parsed = await parseSubcommandArgs3(argv, listVersionsSubcommand);
@@ -37788,7 +37956,7 @@ function sortVersions(versions) {
37788
37956
  function formatVersionsTable(versions) {
37789
37957
  const now = Date.now();
37790
37958
  const rows = versions.map((version) => {
37791
- const age = (0, import_ms26.default)(now - version.lastModified);
37959
+ const age = (0, import_ms25.default)(now - version.lastModified);
37792
37960
  let status3 = "";
37793
37961
  if (version.isStaging) {
37794
37962
  status3 = import_chalk158.default.yellow("Staging");
@@ -39426,7 +39594,7 @@ async function main26(client) {
39426
39594
 
39427
39595
  // src/commands/remove/index.ts
39428
39596
  var import_chalk164 = __toESM(require_source(), 1);
39429
- var import_ms27 = __toESM(require_ms(), 1);
39597
+ var import_ms26 = __toESM(require_ms(), 1);
39430
39598
  var import_pluralize11 = __toESM(require_pluralize(), 1);
39431
39599
 
39432
39600
  // src/util/url.ts
@@ -39707,7 +39875,7 @@ function readConfirmation4(deployments, projects) {
39707
39875
  );
39708
39876
  const deploymentTable = table(
39709
39877
  deployments.map((depl) => {
39710
- const time = import_chalk164.default.gray(`${(0, import_ms27.default)(Date.now() - depl.createdAt)} ago`);
39878
+ const time = import_chalk164.default.gray(`${(0, import_ms26.default)(Date.now() - depl.createdAt)} ago`);
39711
39879
  const url = depl.url ? import_chalk164.default.underline(`https://${depl.url}`) : "";
39712
39880
  return [` ${depl.id}`, url, time];
39713
39881
  }),
@@ -39758,15 +39926,15 @@ function deploymentsAndProjects(deployments, projects, conjunction = "and") {
39758
39926
 
39759
39927
  // src/commands/rollback/index.ts
39760
39928
  var import_error_utils16 = __toESM(require_dist(), 1);
39761
- var import_ms30 = __toESM(require_ms(), 1);
39929
+ var import_ms29 = __toESM(require_ms(), 1);
39762
39930
 
39763
39931
  // src/commands/rollback/request-rollback.ts
39764
39932
  var import_chalk166 = __toESM(require_source(), 1);
39765
- var import_ms29 = __toESM(require_ms(), 1);
39933
+ var import_ms28 = __toESM(require_ms(), 1);
39766
39934
 
39767
39935
  // src/commands/rollback/status.ts
39768
39936
  var import_chalk165 = __toESM(require_source(), 1);
39769
- var import_ms28 = __toESM(require_ms(), 1);
39937
+ var import_ms27 = __toESM(require_ms(), 1);
39770
39938
  async function rollbackStatus({
39771
39939
  client,
39772
39940
  contextName,
@@ -39774,8 +39942,8 @@ async function rollbackStatus({
39774
39942
  project,
39775
39943
  timeout = "3m"
39776
39944
  }) {
39777
- const recentThreshold = Date.now() - (0, import_ms28.default)("3m");
39778
- const rollbackTimeout = Date.now() + (0, import_ms28.default)(timeout);
39945
+ const recentThreshold = Date.now() - (0, import_ms27.default)("3m");
39946
+ const rollbackTimeout = Date.now() + (0, import_ms27.default)(timeout);
39779
39947
  let counter = 0;
39780
39948
  let spinnerMessage = deployment ? "Rollback in progress" : `Checking rollback status of ${project.name}`;
39781
39949
  if (!contextName) {
@@ -39931,7 +40099,7 @@ async function requestRollback({
39931
40099
  // required
39932
40100
  method: "POST"
39933
40101
  });
39934
- if (timeout !== void 0 && (0, import_ms29.default)(timeout) === 0) {
40102
+ if (timeout !== void 0 && (0, import_ms28.default)(timeout) === 0) {
39935
40103
  output_manager_default.log(
39936
40104
  `Successfully requested rollback of ${import_chalk166.default.bold(project.name)} to ${deployment.url} (${deployment.id})`
39937
40105
  );
@@ -40002,7 +40170,7 @@ var rollback_default = async (client) => {
40002
40170
  return 2;
40003
40171
  }
40004
40172
  const timeout = parsedArgs.flags["--timeout"];
40005
- if (timeout && (0, import_ms30.default)(timeout) === void 0) {
40173
+ if (timeout && (0, import_ms29.default)(timeout) === void 0) {
40006
40174
  output_manager_default.error(`Invalid timeout "${timeout}"`);
40007
40175
  return 1;
40008
40176
  }
@@ -40116,7 +40284,7 @@ async function startRollingRelease({
40116
40284
  }
40117
40285
 
40118
40286
  // src/commands/rolling-release/configure-rolling-release.ts
40119
- var import_ms31 = __toESM(require_ms(), 1);
40287
+ var import_ms30 = __toESM(require_ms(), 1);
40120
40288
  function parseDuration(value) {
40121
40289
  if (!value) {
40122
40290
  return void 0;
@@ -40124,7 +40292,7 @@ function parseDuration(value) {
40124
40292
  if (/^\d+(s|ms)$/i.test(value)) {
40125
40293
  return void 0;
40126
40294
  }
40127
- const milliseconds = (0, import_ms31.default)(/^\d+$/.test(value) ? `${value}m` : value);
40295
+ const milliseconds = (0, import_ms30.default)(/^\d+$/.test(value) ? `${value}m` : value);
40128
40296
  if (milliseconds === void 0 || milliseconds <= 0) {
40129
40297
  return void 0;
40130
40298
  }
@@ -41250,7 +41418,7 @@ function formatExpandedRoutes(routes2) {
41250
41418
 
41251
41419
  // src/commands/routes/list-versions.ts
41252
41420
  var import_chalk168 = __toESM(require_source(), 1);
41253
- var import_ms32 = __toESM(require_ms(), 1);
41421
+ var import_ms31 = __toESM(require_ms(), 1);
41254
41422
  async function listVersions2(client, argv) {
41255
41423
  const parsed = await parseSubcommandArgs(
41256
41424
  argv,
@@ -41332,7 +41500,7 @@ function getRelativeTime(timestamp) {
41332
41500
  if (diff2 < 1e3) {
41333
41501
  return "just now";
41334
41502
  }
41335
- return (0, import_ms32.default)(diff2, { long: true }) + " ago";
41503
+ return (0, import_ms31.default)(diff2, { long: true }) + " ago";
41336
41504
  }
41337
41505
 
41338
41506
  // src/commands/routes/inspect.ts
@@ -42929,7 +43097,7 @@ async function main27(client) {
42929
43097
  return 2;
42930
43098
  }
42931
43099
  telemetry2.trackCliSubcommandEdit(subcommandOriginal);
42932
- return (await import("./chunks/edit-ZN7PQWZH.js")).default(client, args);
43100
+ return (await import("./chunks/edit-YJYM3EKS.js")).default(client, args);
42933
43101
  case "delete":
42934
43102
  if (needHelp) {
42935
43103
  telemetry2.trackCliFlagHelp("routes", subcommandOriginal);
@@ -42937,7 +43105,7 @@ async function main27(client) {
42937
43105
  return 2;
42938
43106
  }
42939
43107
  telemetry2.trackCliSubcommandDelete(subcommandOriginal);
42940
- return (await import("./chunks/delete-LUW77HWU.js")).default(client, args);
43108
+ return (await import("./chunks/delete-HVWVDBQF.js")).default(client, args);
42941
43109
  case "enable":
42942
43110
  if (needHelp) {
42943
43111
  telemetry2.trackCliFlagHelp("routes", subcommandOriginal);
@@ -42945,7 +43113,7 @@ async function main27(client) {
42945
43113
  return 2;
42946
43114
  }
42947
43115
  telemetry2.trackCliSubcommandEnable(subcommandOriginal);
42948
- return (await import("./chunks/enable-VTJNEZ5Q.js")).default(client, args);
43116
+ return (await import("./chunks/enable-ITE7U5C4.js")).default(client, args);
42949
43117
  case "disable":
42950
43118
  if (needHelp) {
42951
43119
  telemetry2.trackCliFlagHelp("routes", subcommandOriginal);
@@ -42953,7 +43121,7 @@ async function main27(client) {
42953
43121
  return 2;
42954
43122
  }
42955
43123
  telemetry2.trackCliSubcommandDisable(subcommandOriginal);
42956
- return (await import("./chunks/disable-ITW6P3R3.js")).default(client, args);
43124
+ return (await import("./chunks/disable-CMBQPZ7L.js")).default(client, args);
42957
43125
  case "reorder":
42958
43126
  if (needHelp) {
42959
43127
  telemetry2.trackCliFlagHelp("routes", subcommandOriginal);
@@ -42961,7 +43129,7 @@ async function main27(client) {
42961
43129
  return 2;
42962
43130
  }
42963
43131
  telemetry2.trackCliSubcommandReorder(subcommandOriginal);
42964
- return (await import("./chunks/reorder-E6R3ZL6W.js")).default(client, args);
43132
+ return (await import("./chunks/reorder-G66QSKTR.js")).default(client, args);
42965
43133
  case "export":
42966
43134
  if (needHelp) {
42967
43135
  telemetry2.trackCliFlagHelp("routes", subcommandOriginal);
@@ -42969,7 +43137,7 @@ async function main27(client) {
42969
43137
  return 2;
42970
43138
  }
42971
43139
  telemetry2.trackCliSubcommandExport(subcommandOriginal);
42972
- return (await import("./chunks/export-54A2LINR.js")).default(client, args);
43140
+ return (await import("./chunks/export-VVN33IBK.js")).default(client, args);
42973
43141
  case "publish":
42974
43142
  if (needHelp) {
42975
43143
  telemetry2.trackCliFlagHelp("routes", subcommandOriginal);
@@ -42977,7 +43145,7 @@ async function main27(client) {
42977
43145
  return 2;
42978
43146
  }
42979
43147
  telemetry2.trackCliSubcommandPublish(subcommandOriginal);
42980
- return (await import("./chunks/publish-SI4H6WPL.js")).default(client, args);
43148
+ return (await import("./chunks/publish-NULVZ7RB.js")).default(client, args);
42981
43149
  case "restore":
42982
43150
  if (needHelp) {
42983
43151
  telemetry2.trackCliFlagHelp("routes", subcommandOriginal);
@@ -42985,7 +43153,7 @@ async function main27(client) {
42985
43153
  return 2;
42986
43154
  }
42987
43155
  telemetry2.trackCliSubcommandRestore(subcommandOriginal);
42988
- return (await import("./chunks/restore-ZVC2USSZ.js")).default(client, args);
43156
+ return (await import("./chunks/restore-LHDVXFOH.js")).default(client, args);
42989
43157
  case "discard-staging":
42990
43158
  if (needHelp) {
42991
43159
  telemetry2.trackCliFlagHelp("routes", subcommandOriginal);
@@ -42993,7 +43161,7 @@ async function main27(client) {
42993
43161
  return 2;
42994
43162
  }
42995
43163
  telemetry2.trackCliSubcommandDiscardStaging(subcommandOriginal);
42996
- return (await import("./chunks/discard-GDFQ4V4V.js")).default(client, args);
43164
+ return (await import("./chunks/discard-ZDNWUYLY.js")).default(client, args);
42997
43165
  default:
42998
43166
  output_manager_default.error(getInvalidSubcommand(COMMAND_CONFIG35));
42999
43167
  output_manager_default.print(help(routesCommand, { columns: client.stderr.columns }));
@@ -43469,7 +43637,7 @@ function runCommand(cmd2, args) {
43469
43637
  }
43470
43638
 
43471
43639
  // src/commands/target/list.ts
43472
- var import_ms33 = __toESM(require_ms(), 1);
43640
+ var import_ms32 = __toESM(require_ms(), 1);
43473
43641
  var import_chalk172 = __toESM(require_source(), 1);
43474
43642
  function formatBranchMatcher(branchMatcher) {
43475
43643
  if (branchMatcher?.type === "equals") {
@@ -43540,7 +43708,7 @@ async function list13(client, argv) {
43540
43708
  accountId: link.org.id
43541
43709
  });
43542
43710
  output_manager_default.stopSpinner();
43543
- const elapsed2 = (0, import_ms33.default)(Date.now() - start);
43711
+ const elapsed2 = (0, import_ms32.default)(Date.now() - start);
43544
43712
  result = withDefaultEnvironmentsIncluded(result);
43545
43713
  if (asJson) {
43546
43714
  const jsonOutput = {
@@ -43572,7 +43740,7 @@ async function list13(client, argv) {
43572
43740
  BRANCH_TRACKING_MAP[target.type](link.project, target),
43573
43741
  TYPE_MAP[target.type],
43574
43742
  import_chalk172.default.gray(
43575
- target.updatedAt > 0 ? (0, import_ms33.default)(Date.now() - target.updatedAt) : "-"
43743
+ target.updatedAt > 0 ? (0, import_ms32.default)(Date.now() - target.updatedAt) : "-"
43576
43744
  )
43577
43745
  ]
43578
43746
  ];
@@ -46646,7 +46814,7 @@ async function processCharges(response, breakdownPeriod, groupByDimension, conte
46646
46814
  }
46647
46815
 
46648
46816
  // src/commands/webhooks/ls.ts
46649
- var import_ms34 = __toESM(require_ms(), 1);
46817
+ var import_ms33 = __toESM(require_ms(), 1);
46650
46818
  var import_chalk186 = __toESM(require_source(), 1);
46651
46819
  var import_pluralize13 = __toESM(require_pluralize(), 1);
46652
46820
 
@@ -46750,7 +46918,7 @@ async function ls9(client, argv) {
46750
46918
  function formatWebhooksTable(webhooks) {
46751
46919
  const current = Date.now();
46752
46920
  const rows = webhooks.map((webhook) => {
46753
- const age = webhook.createdAt ? (0, import_ms34.default)(current - webhook.createdAt) : "-";
46921
+ const age = webhook.createdAt ? (0, import_ms33.default)(current - webhook.createdAt) : "-";
46754
46922
  const eventsDisplay = webhook.events.length > 2 ? `${webhook.events.slice(0, 2).join(", ")} +${webhook.events.length - 2}` : webhook.events.join(", ");
46755
46923
  return [webhook.id, webhook.url, eventsDisplay, import_chalk186.default.gray(age)];
46756
46924
  });