vercel 55.0.0 → 56.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/dist/chunks/{add-YRFK663I.js → add-323XURMF.js} +6 -6
  2. package/dist/chunks/{add-BQGGX36J.js → add-CAG6USJE.js} +5 -5
  3. package/dist/chunks/{chunk-SENGDDFO.js → chunk-2LVETUK7.js} +1 -1
  4. package/dist/chunks/{chunk-LHY5EFII.js → chunk-3XCDGACN.js} +3 -3
  5. package/dist/chunks/{chunk-OKWMOW2F.js → chunk-4YWIGTZR.js} +9 -6
  6. package/dist/chunks/{chunk-VTA3KZUX.js → chunk-6HNQJHQP.js} +3 -3
  7. package/dist/chunks/{chunk-EJV2KFOF.js → chunk-6NECZQWO.js} +3 -3
  8. package/dist/chunks/{chunk-2QBF3ZL3.js → chunk-CB3I3QIT.js} +3 -4
  9. package/dist/chunks/{chunk-OCEM4YAQ.js → chunk-CQEYCOBR.js} +1 -1
  10. package/dist/chunks/{chunk-A5QK4X3Z.js → chunk-CWSK7WS2.js} +4 -4
  11. package/dist/chunks/{chunk-2XTV2FM7.js → chunk-CZLKIVVT.js} +1 -1
  12. package/dist/chunks/{chunk-QKR7GNAK.js → chunk-DREO3DFB.js} +6 -6
  13. package/dist/chunks/{chunk-AW6V5LOC.js → chunk-DZGBBY3A.js} +4 -4
  14. package/dist/chunks/{chunk-D43MOSMZ.js → chunk-GW66OTWH.js} +165 -183
  15. package/dist/chunks/{chunk-ZQEZYHPJ.js → chunk-HAZVRYHI.js} +4 -4
  16. package/dist/chunks/{chunk-QH7WYDEP.js → chunk-IC4YEIGW.js} +7 -0
  17. package/dist/chunks/{chunk-6CRRXESK.js → chunk-O7ZMPY6L.js} +1 -1
  18. package/dist/chunks/{chunk-EUARKVCA.js → chunk-PJ3UJGFX.js} +2 -2
  19. package/dist/chunks/{chunk-MGUQN3V3.js → chunk-Q42RNOJZ.js} +4 -4
  20. package/dist/chunks/{chunk-GVZKC6PS.js → chunk-SVSO76UB.js} +1 -1
  21. package/dist/chunks/{chunk-XHC5YRFY.js → chunk-TLHKETA6.js} +37 -8
  22. package/dist/chunks/{chunk-IIUE7CDZ.js → chunk-U5MCEDDN.js} +1 -1
  23. package/dist/chunks/{chunk-AA3E7OLF.js → chunk-VBLL2YSE.js} +1 -1
  24. package/dist/chunks/{chunk-ZZIAWRCX.js → chunk-W346YNDN.js} +18 -0
  25. package/dist/chunks/{chunk-HOYOJUQZ.js → chunk-X73W5HTJ.js} +4 -4
  26. package/dist/chunks/{chunk-X36ADWA5.js → chunk-ZDKEZNOJ.js} +1 -1
  27. package/dist/chunks/{compile-vercel-config-3RYUGKGU.js → compile-vercel-config-TIO3FAYI.js} +2 -2
  28. package/dist/chunks/{delete-UQKVMHVV.js → delete-6TCLBG25.js} +5 -5
  29. package/dist/chunks/{disable-GUK4VHQY.js → disable-7SOBOP2H.js} +5 -5
  30. package/dist/chunks/{discard-DTI36R2T.js → discard-YGXO5GP5.js} +5 -5
  31. package/dist/chunks/{edit-ED4LM54G.js → edit-KL2O6AGH.js} +6 -6
  32. package/dist/chunks/{enable-RAWDG7GZ.js → enable-BJG2XLCD.js} +5 -5
  33. package/dist/chunks/{export-U6OBSYVP.js → export-32T5VGVA.js} +9 -8
  34. package/dist/chunks/{image-LIJI6QJY.js → image-PXN76ZCH.js} +5 -5
  35. package/dist/chunks/{inspect-IQD2ULLP.js → inspect-EIQBBWPM.js} +5 -5
  36. package/dist/chunks/{inspect-7LGTAPH3.js → inspect-IMS5XUMF.js} +5 -5
  37. package/dist/chunks/{inspect-25D5G5FX.js → inspect-N2UQFFNL.js} +5 -5
  38. package/dist/chunks/{inspect-3SEYQNWT.js → inspect-TSK2LYUI.js} +5 -5
  39. package/dist/chunks/{list-I25HBKWF.js → list-OHXBNQJW.js} +3 -3
  40. package/dist/chunks/{list-2IJHE2AC.js → list-RELZVTWN.js} +5 -5
  41. package/dist/chunks/{login-N4DIZZWE.js → login-JEAMS6RC.js} +5 -5
  42. package/dist/chunks/{ls-HN3SUOPA.js → ls-3RMT2VAX.js} +6 -6
  43. package/dist/chunks/{ls-2VXZPNMR.js → ls-6LX7JBT4.js} +5 -5
  44. package/dist/chunks/{ls-S7YPR3OS.js → ls-IOR6RY2E.js} +5 -5
  45. package/dist/chunks/{ls-TFOKQKY3.js → ls-VLBSSAUI.js} +5 -5
  46. package/dist/chunks/{publish-ZTGB4XE2.js → publish-RP7M4QTZ.js} +5 -5
  47. package/dist/chunks/{query-2UK5BV4B.js → query-CZVPJ4DQ.js} +3 -3
  48. package/dist/chunks/{reorder-FM755TJK.js → reorder-M25MRPFN.js} +5 -5
  49. package/dist/chunks/{restore-NXQJMPMT.js → restore-NC5F6U4W.js} +5 -5
  50. package/dist/chunks/{rm-XJMPAJNP.js → rm-54DKY5WE.js} +5 -5
  51. package/dist/chunks/{rm-III6VASE.js → rm-NE33ZYNW.js} +5 -5
  52. package/dist/chunks/{rm-MPC5DPOS.js → rm-NFJ4Z7OV.js} +6 -6
  53. package/dist/chunks/{rule-inspect-BJGXMAO5.js → rule-inspect-JAULGGMI.js} +6 -6
  54. package/dist/chunks/{rules-FSNWMWJH.js → rules-KFLYMN6N.js} +8 -8
  55. package/dist/chunks/{schema-NR6DGYCB.js → schema-D2ECKUMA.js} +3 -3
  56. package/dist/chunks/{tags-RVHMONZN.js → tags-22H3MYVI.js} +4 -4
  57. package/dist/chunks/{update-55OM2454.js → update-7CBX7VDA.js} +6 -6
  58. package/dist/commands/build/index.js +31 -16
  59. package/dist/commands/deploy/index.js +13 -13
  60. package/dist/commands/dev/index.js +10 -10
  61. package/dist/commands/env/index.js +8 -18
  62. package/dist/commands/link/index.js +10 -10
  63. package/dist/commands/list/index.js +4 -4
  64. package/dist/commands-bulk.js +4558 -2817
  65. package/dist/index.js +10 -20
  66. package/dist/vc.js +51 -0
  67. package/dist/version.mjs +1 -1
  68. package/package.json +22 -21
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-JJWESW5Y.js";
13
13
  import {
14
14
  routesCommand
15
- } from "./chunk-QKR7GNAK.js";
15
+ } from "./chunk-DREO3DFB.js";
16
16
  import {
17
17
  activityCommand
18
18
  } from "./chunk-5AJNUXWP.js";
@@ -28,10 +28,10 @@ import {
28
28
  import {
29
29
  buildCommand,
30
30
  pullCommand
31
- } from "./chunk-IIUE7CDZ.js";
31
+ } from "./chunk-U5MCEDDN.js";
32
32
  import {
33
33
  envCommand
34
- } from "./chunk-XHC5YRFY.js";
34
+ } from "./chunk-TLHKETA6.js";
35
35
  import {
36
36
  confirmOption,
37
37
  deploymentOption,
@@ -913,6 +913,148 @@ var rulesSubcommand = {
913
913
  options: [],
914
914
  examples: []
915
915
  };
916
+ var setupSubcommand = {
917
+ name: "setup",
918
+ aliases: [],
919
+ description: "Connect local coding agents (Claude Code, Codex, OpenCode, Pi) to the AI Gateway",
920
+ arguments: [],
921
+ options: [
922
+ {
923
+ name: "agent",
924
+ shorthand: null,
925
+ type: [String],
926
+ argument: "NAME",
927
+ deprecated: false,
928
+ description: "Coding agent to configure, repeatable (claude-code, codex, opencode, pi)"
929
+ },
930
+ {
931
+ name: "all",
932
+ shorthand: null,
933
+ type: Boolean,
934
+ deprecated: false,
935
+ description: "Configure every supported coding agent"
936
+ },
937
+ {
938
+ name: "key",
939
+ shorthand: null,
940
+ type: String,
941
+ argument: "KEY",
942
+ deprecated: false,
943
+ description: "Use an existing AI Gateway API key instead of creating one"
944
+ },
945
+ {
946
+ name: "budget",
947
+ shorthand: null,
948
+ type: Number,
949
+ argument: "AMOUNT",
950
+ deprecated: false,
951
+ description: "Quota budget in dollars for a newly created key (minimum 1)"
952
+ },
953
+ {
954
+ name: "refresh-period",
955
+ shorthand: null,
956
+ type: String,
957
+ argument: "PERIOD",
958
+ deprecated: false,
959
+ description: "Quota refresh cadence for a new key: daily, weekly, monthly, or none"
960
+ },
961
+ {
962
+ name: "include-byok",
963
+ shorthand: null,
964
+ type: Boolean,
965
+ deprecated: false,
966
+ description: "Include BYOK usage in the new key quota"
967
+ },
968
+ {
969
+ name: "expiration",
970
+ shorthand: null,
971
+ type: String,
972
+ argument: "PERIOD",
973
+ deprecated: false,
974
+ description: "Expiry for a new key: 7d, 30d, 60d, 90d, 1y, or none (default: none)"
975
+ },
976
+ {
977
+ name: "name",
978
+ shorthand: null,
979
+ type: String,
980
+ argument: "NAME",
981
+ deprecated: false,
982
+ description: "Name for a newly created API key"
983
+ },
984
+ {
985
+ name: "reconfigure",
986
+ shorthand: null,
987
+ type: Boolean,
988
+ deprecated: false,
989
+ description: "Re-run even if already configured, to rotate the key or switch team"
990
+ },
991
+ {
992
+ name: "dry-run",
993
+ shorthand: null,
994
+ type: Boolean,
995
+ deprecated: false,
996
+ description: "Show what would change without writing any files"
997
+ },
998
+ {
999
+ name: "no-backup",
1000
+ shorthand: null,
1001
+ type: Boolean,
1002
+ deprecated: false,
1003
+ description: "Do not write .bak backups of changed files"
1004
+ },
1005
+ {
1006
+ name: "no-keychain",
1007
+ shorthand: null,
1008
+ type: Boolean,
1009
+ deprecated: false,
1010
+ description: "Always write the key into config files instead of the macOS Keychain"
1011
+ },
1012
+ {
1013
+ name: "agent-config",
1014
+ shorthand: null,
1015
+ type: [String],
1016
+ argument: "AGENT=PATH",
1017
+ deprecated: false,
1018
+ description: "Override an agent's config file path, e.g. claude-code=/path/settings.json (repeatable)"
1019
+ },
1020
+ {
1021
+ name: "shell-rc",
1022
+ shorthand: null,
1023
+ type: String,
1024
+ argument: "PATH",
1025
+ deprecated: false,
1026
+ description: "Shell rc file to write the env exports into"
1027
+ },
1028
+ yesOption
1029
+ ],
1030
+ examples: [
1031
+ {
1032
+ name: "Connect all detected coding agents (creates a key)",
1033
+ value: `${packageName} ai-gateway coding-agents setup`
1034
+ },
1035
+ {
1036
+ name: "Connect specific agents with a budgeted key",
1037
+ value: `${packageName} ai-gateway coding-agents setup --agent claude-code --budget 500 --refresh-period monthly`
1038
+ },
1039
+ {
1040
+ name: "Rotate the key on an already-configured setup",
1041
+ value: `${packageName} ai-gateway coding-agents setup --reconfigure`
1042
+ },
1043
+ {
1044
+ name: "Reuse an existing key and preview changes only",
1045
+ value: `${packageName} ai-gateway coding-agents setup --key <key> --dry-run`
1046
+ }
1047
+ ]
1048
+ };
1049
+ var codingAgentsSubcommand = {
1050
+ name: "coding-agents",
1051
+ aliases: [],
1052
+ description: "Connect local coding agents to the AI Gateway",
1053
+ arguments: [],
1054
+ subcommands: [setupSubcommand],
1055
+ options: [],
1056
+ examples: []
1057
+ };
916
1058
  var modelsListSubcommand = {
917
1059
  name: "list",
918
1060
  aliases: ["ls"],
@@ -953,7 +1095,12 @@ var aiGatewayCommand = {
953
1095
  aliases: [],
954
1096
  description: "Manage AI Gateway resources",
955
1097
  arguments: [],
956
- subcommands: [apiKeysSubcommand, rulesSubcommand, modelsSubcommand],
1098
+ subcommands: [
1099
+ apiKeysSubcommand,
1100
+ rulesSubcommand,
1101
+ codingAgentsSubcommand,
1102
+ modelsSubcommand
1103
+ ],
957
1104
  options: [],
958
1105
  examples: []
959
1106
  };
@@ -7278,166 +7425,6 @@ var microfrontendsCommand = {
7278
7425
  examples: []
7279
7426
  };
7280
7427
 
7281
- // src/commands/oauth-apps/command.ts
7282
- var listRequestsSubcommand = {
7283
- name: "list-requests",
7284
- aliases: ["requests"],
7285
- description: "List pending Vercel App (OAuth) installation requests for the team",
7286
- arguments: [],
7287
- options: [formatOption],
7288
- examples: [
7289
- {
7290
- name: "List pending installation requests",
7291
- value: `${packageName} oauth-apps list-requests`
7292
- },
7293
- {
7294
- name: "JSON output",
7295
- value: `${packageName} oauth-apps list-requests --format json`
7296
- }
7297
- ]
7298
- };
7299
- var registerSubcommand = {
7300
- name: "register",
7301
- aliases: ["create"],
7302
- description: "Register a new Vercel App (OAuth) for the current team (issues a client id)",
7303
- arguments: [],
7304
- options: [
7305
- {
7306
- name: "name",
7307
- shorthand: null,
7308
- type: String,
7309
- argument: "NAME",
7310
- deprecated: false,
7311
- description: "Display name of the app (required)"
7312
- },
7313
- {
7314
- name: "slug",
7315
- shorthand: null,
7316
- type: String,
7317
- argument: "SLUG",
7318
- deprecated: false,
7319
- description: "URL-safe unique identifier (required)"
7320
- },
7321
- {
7322
- name: "redirect-uri",
7323
- shorthand: null,
7324
- type: [String],
7325
- argument: "URL",
7326
- deprecated: false,
7327
- description: "Allowed OAuth redirect URI (repeatable)"
7328
- },
7329
- {
7330
- name: "description",
7331
- shorthand: null,
7332
- type: String,
7333
- argument: "TEXT",
7334
- deprecated: false,
7335
- description: "Optional description shown to users"
7336
- },
7337
- formatOption
7338
- ],
7339
- examples: [
7340
- {
7341
- name: "Register with redirect URIs",
7342
- value: `${packageName} oauth-apps register --name "My App" --slug my-app --redirect-uri https://app.example.com/oauth/callback`
7343
- },
7344
- {
7345
- name: "JSON output (includes clientId)",
7346
- value: `${packageName} oauth-apps register --name "My App" --slug my-app --format json`
7347
- }
7348
- ]
7349
- };
7350
- var dismissSubcommand = {
7351
- name: "dismiss",
7352
- aliases: [],
7353
- description: "Dismiss a pending app installation request by client ID",
7354
- arguments: [
7355
- {
7356
- name: "appId",
7357
- required: true
7358
- }
7359
- ],
7360
- options: [formatOption, yesOption],
7361
- examples: [
7362
- {
7363
- name: "Dismiss a request",
7364
- value: `${packageName} oauth-apps dismiss cl_abc123 --yes`
7365
- }
7366
- ]
7367
- };
7368
- var installSubcommand = {
7369
- name: "install",
7370
- aliases: ["add"],
7371
- description: "Install a Vercel App to the team using its OAuth client ID",
7372
- arguments: [],
7373
- options: [
7374
- {
7375
- name: "client-id",
7376
- shorthand: null,
7377
- type: String,
7378
- argument: "ID",
7379
- deprecated: false,
7380
- description: "OAuth client ID of the Vercel App (required)"
7381
- },
7382
- {
7383
- name: "permission",
7384
- shorthand: null,
7385
- type: [String],
7386
- argument: "SCOPE",
7387
- deprecated: false,
7388
- description: "Permission to grant (repeatable). Example: --permission read:project"
7389
- },
7390
- {
7391
- name: "projects",
7392
- shorthand: null,
7393
- type: String,
7394
- argument: "IDS",
7395
- deprecated: false,
7396
- description: "Comma-separated project IDs, or * for all projects (optional)"
7397
- },
7398
- formatOption
7399
- ],
7400
- examples: [
7401
- {
7402
- name: "Install with permissions",
7403
- value: `${packageName} oauth-apps install --client-id cl_abc --permission read:project --permission read:deployment`
7404
- }
7405
- ]
7406
- };
7407
- var removeSubcommand11 = {
7408
- name: "remove",
7409
- aliases: ["rm", "uninstall"],
7410
- description: "Uninstall a Vercel App from the team",
7411
- arguments: [
7412
- {
7413
- name: "installationId",
7414
- required: true
7415
- }
7416
- ],
7417
- options: [formatOption, yesOption],
7418
- examples: [
7419
- {
7420
- name: "Uninstall",
7421
- value: `${packageName} oauth-apps remove inst_abc123 --yes`
7422
- }
7423
- ]
7424
- };
7425
- var oauthAppsCommand = {
7426
- name: "oauth-apps",
7427
- aliases: [],
7428
- description: "Register Vercel Apps (OAuth) and manage team installations",
7429
- arguments: [],
7430
- subcommands: [
7431
- listRequestsSubcommand,
7432
- registerSubcommand,
7433
- dismissSubcommand,
7434
- installSubcommand,
7435
- removeSubcommand11
7436
- ],
7437
- options: [],
7438
- examples: []
7439
- };
7440
-
7441
7428
  // src/commands/open/command.ts
7442
7429
  var openCommand = {
7443
7430
  name: "open",
@@ -7629,7 +7616,7 @@ var listSubcommand13 = {
7629
7616
  }
7630
7617
  ]
7631
7618
  };
7632
- var removeSubcommand12 = {
7619
+ var removeSubcommand11 = {
7633
7620
  name: "remove",
7634
7621
  aliases: ["rm"],
7635
7622
  description: "Delete a project",
@@ -8075,7 +8062,7 @@ var projectCommand = {
8075
8062
  speedInsightsSubcommand,
8076
8063
  updateSubcommand5,
8077
8064
  renameSubcommand,
8078
- removeSubcommand12,
8065
+ removeSubcommand11,
8079
8066
  tokenSubcommand2
8080
8067
  ],
8081
8068
  options: [],
@@ -8379,7 +8366,7 @@ var uploadSubcommand = {
8379
8366
  }
8380
8367
  ]
8381
8368
  };
8382
- var removeSubcommand13 = {
8369
+ var removeSubcommand12 = {
8383
8370
  name: "remove",
8384
8371
  aliases: ["rm"],
8385
8372
  description: "Remove a redirect",
@@ -8458,7 +8445,7 @@ var redirectsCommand = {
8458
8445
  listVersionsSubcommand,
8459
8446
  addSubcommand9,
8460
8447
  uploadSubcommand,
8461
- removeSubcommand13,
8448
+ removeSubcommand12,
8462
8449
  promoteSubcommand,
8463
8450
  restoreSubcommand
8464
8451
  ],
@@ -9094,7 +9081,7 @@ var addSubcommand11 = {
9094
9081
  }
9095
9082
  ]
9096
9083
  };
9097
- var removeSubcommand14 = {
9084
+ var removeSubcommand13 = {
9098
9085
  name: "remove",
9099
9086
  aliases: ["rm", "delete"],
9100
9087
  description: "Delete a personal authentication token by ID",
@@ -9117,7 +9104,7 @@ var tokensCommand = {
9117
9104
  aliases: [],
9118
9105
  description: "Manage your personal Vercel authentication tokens",
9119
9106
  arguments: [],
9120
- subcommands: [addSubcommand11, listSubcommand17, removeSubcommand14],
9107
+ subcommands: [addSubcommand11, listSubcommand17, removeSubcommand13],
9121
9108
  options: [],
9122
9109
  examples: []
9123
9110
  };
@@ -10077,7 +10064,7 @@ var createSubcommand6 = {
10077
10064
  }
10078
10065
  ]
10079
10066
  };
10080
- var removeSubcommand15 = {
10067
+ var removeSubcommand14 = {
10081
10068
  name: "remove",
10082
10069
  aliases: ["rm", "delete"],
10083
10070
  description: "Remove a webhook",
@@ -10104,7 +10091,7 @@ var webhooksCommand = {
10104
10091
  listSubcommand19,
10105
10092
  getSubcommand4,
10106
10093
  createSubcommand6,
10107
- removeSubcommand15
10094
+ removeSubcommand14
10108
10095
  ],
10109
10096
  options: [],
10110
10097
  examples: []
@@ -10151,7 +10138,6 @@ var commandsStructs = [
10151
10138
  logsCommand,
10152
10139
  mcpCommand,
10153
10140
  microfrontendsCommand,
10154
- oauthAppsCommand,
10155
10141
  openCommand,
10156
10142
  projectCommand,
10157
10143
  promoteCommand,
@@ -10215,6 +10201,8 @@ export {
10215
10201
  rulesEditSubcommand,
10216
10202
  rulesRemoveSubcommand,
10217
10203
  rulesSubcommand,
10204
+ setupSubcommand,
10205
+ codingAgentsSubcommand,
10218
10206
  modelsListSubcommand,
10219
10207
  modelsEndpointsSubcommand,
10220
10208
  modelsSubcommand,
@@ -10402,12 +10390,6 @@ export {
10402
10390
  pullSubcommand,
10403
10391
  inspectGroupSubcommand,
10404
10392
  microfrontendsCommand,
10405
- listRequestsSubcommand,
10406
- registerSubcommand,
10407
- dismissSubcommand,
10408
- installSubcommand,
10409
- removeSubcommand11,
10410
- oauthAppsCommand,
10411
10393
  openCommand,
10412
10394
  addSubcommand8,
10413
10395
  checksAddFlags,
@@ -10415,7 +10397,7 @@ export {
10415
10397
  checksSubcommand,
10416
10398
  inspectSubcommand5,
10417
10399
  listSubcommand13,
10418
- removeSubcommand12,
10400
+ removeSubcommand11,
10419
10401
  renameSubcommand,
10420
10402
  updateSubcommand5,
10421
10403
  tokenSubcommand2,
@@ -10433,7 +10415,7 @@ export {
10433
10415
  listVersionsSubcommand,
10434
10416
  addSubcommand9,
10435
10417
  uploadSubcommand,
10436
- removeSubcommand13,
10418
+ removeSubcommand12,
10437
10419
  promoteSubcommand,
10438
10420
  restoreSubcommand,
10439
10421
  redirectsCommand,
@@ -10460,7 +10442,7 @@ export {
10460
10442
  teamsCommand,
10461
10443
  listSubcommand17,
10462
10444
  addSubcommand11,
10463
- removeSubcommand14,
10445
+ removeSubcommand13,
10464
10446
  tokensCommand,
10465
10447
  statusSubcommand4,
10466
10448
  enableSubcommand3,
@@ -10489,7 +10471,7 @@ export {
10489
10471
  listSubcommand19,
10490
10472
  getSubcommand4,
10491
10473
  createSubcommand6,
10492
- removeSubcommand15,
10474
+ removeSubcommand14,
10493
10475
  webhooksCommand,
10494
10476
  getCommandAliases,
10495
10477
  commands,
@@ -7,17 +7,17 @@ const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  getUpdateCommandInfo,
9
9
  isGlobal
10
- } from "./chunk-X36ADWA5.js";
10
+ } from "./chunk-ZDKEZNOJ.js";
11
11
  import {
12
12
  getGlobalPathConfig,
13
13
  progress,
14
14
  writeToConfigFile
15
- } from "./chunk-EUARKVCA.js";
15
+ } from "./chunk-PJ3UJGFX.js";
16
16
  import {
17
17
  apiCommand,
18
18
  listSubcommand3 as listSubcommand,
19
19
  loginCommand
20
- } from "./chunk-D43MOSMZ.js";
20
+ } from "./chunk-GW66OTWH.js";
21
21
  import {
22
22
  require_semver
23
23
  } from "./chunk-IB5L4LKZ.js";
@@ -26,7 +26,7 @@ import {
26
26
  } from "./chunk-QY63UKTP.js";
27
27
  import {
28
28
  login
29
- } from "./chunk-XHC5YRFY.js";
29
+ } from "./chunk-TLHKETA6.js";
30
30
  import {
31
31
  TelemetryClient,
32
32
  isNativeBinaryInstall
@@ -75,6 +75,13 @@ var AGENT_REASON = {
75
75
  // AI Gateway
76
76
  INVALID_BUDGET: "invalid_budget",
77
77
  INVALID_REFRESH_PERIOD: "invalid_refresh_period",
78
+ INVALID_EXPIRATION: "invalid_expiration",
79
+ /**
80
+ * Every selected agent needs explicit `--agent`/`--all` consent (see the
81
+ * payload's skipped[]). `--yes` does not grant it, so this is deliberately
82
+ * not `confirmation_required` — re-running with --yes would loop forever.
83
+ */
84
+ REQUIRES_CONSENT: "requires_consent",
78
85
  // Redirects
79
86
  REDIRECT_NOT_FOUND: "redirect_not_found",
80
87
  VERSION_NOT_FOUND: "version_not_found",
@@ -8,7 +8,7 @@ import {
8
8
  VERCEL_DIR,
9
9
  VERCEL_DIR_PROJECT,
10
10
  require_lib
11
- } from "./chunk-XHC5YRFY.js";
11
+ } from "./chunk-TLHKETA6.js";
12
12
  import {
13
13
  require_dist
14
14
  } from "./chunk-OX7KI3LF.js";
@@ -11,7 +11,7 @@ import {
11
11
  PromptBackError,
12
12
  PromptCanceledError,
13
13
  getLocalPathConfig
14
- } from "./chunk-AA3E7OLF.js";
14
+ } from "./chunk-VBLL2YSE.js";
15
15
  import {
16
16
  DEFAULT_VERCEL_CONFIG_FILENAME,
17
17
  VERCEL_CONFIG_EXTENSIONS,
@@ -38,7 +38,7 @@ import {
38
38
  useKeypress,
39
39
  usePrefix,
40
40
  useState
41
- } from "./chunk-XHC5YRFY.js";
41
+ } from "./chunk-TLHKETA6.js";
42
42
  import {
43
43
  require_load_json_file
44
44
  } from "./chunk-ECCWJHC6.js";
@@ -12,18 +12,18 @@ import {
12
12
  } from "./chunk-XPKWKPWA.js";
13
13
  import {
14
14
  AGENT_REASON
15
- } from "./chunk-QH7WYDEP.js";
15
+ } from "./chunk-IC4YEIGW.js";
16
16
  import {
17
17
  getScope
18
- } from "./chunk-OCEM4YAQ.js";
18
+ } from "./chunk-CQEYCOBR.js";
19
19
  import {
20
20
  getLinkedProject,
21
21
  getProjectByNameOrId
22
- } from "./chunk-XHC5YRFY.js";
22
+ } from "./chunk-TLHKETA6.js";
23
23
  import {
24
24
  buildCommandWithGlobalFlags,
25
25
  outputAgentError
26
- } from "./chunk-2QBF3ZL3.js";
26
+ } from "./chunk-CB3I3QIT.js";
27
27
  import {
28
28
  ProjectNotFound,
29
29
  isAPIError,
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  STANDARD_ENVIRONMENTS
9
- } from "./chunk-XHC5YRFY.js";
9
+ } from "./chunk-TLHKETA6.js";
10
10
  import {
11
11
  getCommandName,
12
12
  require_lib
@@ -9,7 +9,7 @@ import {
9
9
  getPreservedArgsForEnvPull,
10
10
  outputActionRequired,
11
11
  outputAgentError
12
- } from "./chunk-2QBF3ZL3.js";
12
+ } from "./chunk-CB3I3QIT.js";
13
13
  import {
14
14
  TelemetryClient,
15
15
  require_dist as require_dist2,
@@ -23236,6 +23236,9 @@ var require_utils3 = __commonJS({
23236
23236
  }
23237
23237
  }
23238
23238
  if (config.entrypoint) {
23239
+ if (config.entrypoint === "pyproject.toml" || config.entrypoint.endsWith("/pyproject.toml")) {
23240
+ return "python";
23241
+ }
23239
23242
  for (const [ext, runtime] of Object.entries(import_types.ENTRYPOINT_EXTENSIONS)) {
23240
23243
  if (config.entrypoint.endsWith(ext)) {
23241
23244
  return runtime;
@@ -40948,7 +40951,7 @@ var require_package = __commonJS({
40948
40951
  "../client/package.json"(exports, module) {
40949
40952
  module.exports = {
40950
40953
  name: "@vercel/client",
40951
- version: "17.6.4",
40954
+ version: "17.6.5",
40952
40955
  main: "dist/index.js",
40953
40956
  typings: "dist/index.d.ts",
40954
40957
  homepage: "https://vercel.com",
@@ -60202,13 +60205,10 @@ async function envPullCommandLogic(client, filename, skipConfirmation, environme
60202
60205
  let oldEnv;
60203
60206
  if (exists && !oidcTokenOnly) {
60204
60207
  oldEnv = await createEnvObject(fullPath);
60205
- if (oldEnv) {
60206
- const newEnv = (0, import_json_parse_better_errors.default)(JSON.stringify(records).replace(/\\"/g, ""));
60207
- deltaString = buildDeltaString(oldEnv, newEnv);
60208
- }
60209
60208
  }
60210
60209
  let contents;
60211
60210
  let fileChanged = true;
60211
+ const keptLocalKeys = [];
60212
60212
  if (oidcTokenOnly) {
60213
60213
  const existingContents = exists ? await (0, import_fs_extra5.readFile)(fullPath, "utf8") : "";
60214
60214
  contents = updateOidcTokenContents(
@@ -60217,7 +60217,22 @@ async function envPullCommandLogic(client, filename, skipConfirmation, environme
60217
60217
  );
60218
60218
  fileChanged = contents !== existingContents;
60219
60219
  } else {
60220
- contents = CONTENTS_PREFIX + Object.keys(records).sort().filter((key) => !VARIABLES_TO_IGNORE.includes(key)).map((key) => `${key}="${escapeValue2(records[key])}"`).join("\n") + "\n";
60220
+ const mergedRecords = { ...records };
60221
+ if (oldEnv) {
60222
+ for (const [key, value] of Object.entries(oldEnv)) {
60223
+ if (!(key in mergedRecords) && key !== VERCEL_OIDC_TOKEN && !VARIABLES_TO_IGNORE.includes(key)) {
60224
+ mergedRecords[key] = value;
60225
+ keptLocalKeys.push(key);
60226
+ }
60227
+ }
60228
+ }
60229
+ contents = CONTENTS_PREFIX + Object.keys(mergedRecords).sort().filter((key) => !VARIABLES_TO_IGNORE.includes(key)).map((key) => `${key}="${escapeValue2(mergedRecords[key])}"`).join("\n") + "\n";
60230
+ if (oldEnv) {
60231
+ const newEnv = (0, import_json_parse_better_errors.default)(
60232
+ JSON.stringify(mergedRecords).replace(/\\"/g, "")
60233
+ );
60234
+ deltaString = buildDeltaString(oldEnv, newEnv);
60235
+ }
60221
60236
  }
60222
60237
  if (fileChanged) {
60223
60238
  await (0, import_fs_extra5.outputFile)(fullPath, contents, "utf8");
@@ -60227,6 +60242,13 @@ async function envPullCommandLogic(client, filename, skipConfirmation, environme
60227
60242
  } else if (oldEnv && exists) {
60228
60243
  output_manager_default.log("No changes found.");
60229
60244
  }
60245
+ if (keptLocalKeys.length > 0) {
60246
+ output_manager_default.log(
60247
+ `Kept ${keptLocalKeys.sort().map((key) => import_chalk13.default.bold(key)).join(", ")} (defined locally, not found in the ${import_chalk13.default.cyan(
60248
+ environment
60249
+ )} Environment)`
60250
+ );
60251
+ }
60230
60252
  let isGitIgnoreUpdated = false;
60231
60253
  const fileExistsAfterPull = exists || contents.length > 0;
60232
60254
  if (filename === ".env.local" && fileExistsAfterPull) {
@@ -61967,8 +61989,14 @@ export {
61967
61989
  refreshTokenRequest,
61968
61990
  performDeviceCodeFlow,
61969
61991
  login,
61992
+ modify,
61993
+ applyEdits,
61994
+ init_main,
61995
+ require_chownr,
61970
61996
  require_inherits,
61971
- require_tar_fs,
61997
+ require_tar_stream,
61998
+ require_pump,
61999
+ require_mkdirp,
61972
62000
  require_dist7 as require_dist,
61973
62001
  require_fast_deep_equal,
61974
62002
  require_ajv,
@@ -61979,6 +62007,7 @@ export {
61979
62007
  createGitMeta,
61980
62008
  parseGitConfig,
61981
62009
  pluckRemoteUrls,
62010
+ ALIGNED_LABEL_WIDTH,
61982
62011
  printAlignedLabel,
61983
62012
  selectOrg,
61984
62013
  createProject,
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  getEnvTargetPlaceholder
9
- } from "./chunk-XHC5YRFY.js";
9
+ } from "./chunk-TLHKETA6.js";
10
10
  import {
11
11
  projectOption,
12
12
  yesOption