vercel 59.3.0 → 59.4.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 (82) hide show
  1. package/dist/chunks/{add-4L46WVRT.js → add-73X2SKBH.js} +3 -3
  2. package/dist/chunks/{add-BBWVXE2R.js → add-FQMB3XPM.js} +3 -3
  3. package/dist/chunks/{add-KOD24LEM.js → add-QJ3WT4FW.js} +6 -6
  4. package/dist/chunks/{build-2SX3XIRI.js → build-YUYCLCXD.js} +3 -3
  5. package/dist/chunks/{chunk-YPPWGI3F.js → chunk-2PX6N4FE.js} +3 -3
  6. package/dist/chunks/{chunk-G55RLNFE.js → chunk-BLYBHFIE.js} +4 -4
  7. package/dist/chunks/{chunk-Q6QCRFTC.js → chunk-CHEZBD7H.js} +2 -2
  8. package/dist/chunks/{chunk-DAA5RXUK.js → chunk-DDIZGOCK.js} +1 -1
  9. package/dist/chunks/{chunk-NN2W7WFC.js → chunk-EB5NBVTV.js} +2 -2
  10. package/dist/chunks/{chunk-ANIKVXGZ.js → chunk-EB7NJKPL.js} +1 -1
  11. package/dist/chunks/{chunk-P3BFTZXW.js → chunk-HJVTLJHO.js} +2 -2
  12. package/dist/chunks/{chunk-KDL2L4KL.js → chunk-HMJVUXE6.js} +13577 -13772
  13. package/dist/chunks/{chunk-7GE2K2WR.js → chunk-HURL5EBN.js} +312 -23
  14. package/dist/chunks/{chunk-VTP6WIQA.js → chunk-J5Y2QGGU.js} +257 -4
  15. package/dist/chunks/{chunk-ZHRZMQGN.js → chunk-KSZ4MNHO.js} +1 -1
  16. package/dist/chunks/{chunk-WNS53IOA.js → chunk-LKTQR5JE.js} +1 -1
  17. package/dist/chunks/{chunk-D35JUCTC.js → chunk-NP6BQPCN.js} +3 -3
  18. package/dist/chunks/{chunk-WODLA275.js → chunk-O5DLWLT7.js} +1 -1
  19. package/dist/chunks/{chunk-QKO2DGWR.js → chunk-PD4DYNSB.js} +3 -3
  20. package/dist/chunks/{chunk-AAMJ4ZU4.js → chunk-RI7KKKII.js} +1 -1
  21. package/dist/chunks/{chunk-J5ZEHLFM.js → chunk-TH2XUVDP.js} +10 -1
  22. package/dist/chunks/{chunk-OISTYQGR.js → chunk-UV2ZMFVG.js} +1 -1
  23. package/dist/chunks/{chunk-6GWLC2IP.js → chunk-VCE6QKFE.js} +2 -2
  24. package/dist/chunks/{chunk-KBUCAAG6.js → chunk-X6O6XJEA.js} +5 -5
  25. package/dist/chunks/{chunk-7PEQVFHI.js → chunk-Y3J4VU2H.js} +1 -1
  26. package/dist/chunks/{chunk-CURHMEJX.js → chunk-Y42SPI2H.js} +2 -2
  27. package/dist/chunks/{chunk-Z2G6SO5B.js → chunk-ZFWNMVNR.js} +2 -2
  28. package/dist/chunks/{clear-2DMDKLWZ.js → clear-USQM5VW5.js} +3 -3
  29. package/dist/chunks/{compile-vercel-config-7HZ4UN6R.js → compile-vercel-config-2JNYMI6W.js} +2 -2
  30. package/dist/chunks/{config-CVZ25C54.js → config-VTRIDLY4.js} +3 -3
  31. package/dist/chunks/{delete-4LQKP5DG.js → delete-ILLSBCVQ.js} +3 -3
  32. package/dist/chunks/{delete-QNAGJM6C.js → delete-VTPHK3EB.js} +3 -3
  33. package/dist/chunks/{disable-2RBFIZUB.js → disable-VTOMO64V.js} +3 -3
  34. package/dist/chunks/{discard-UCOSPSUU.js → discard-ZIOZ34ZI.js} +3 -3
  35. package/dist/chunks/{edit-JX73BG3V.js → edit-E3AMR4KM.js} +4 -4
  36. package/dist/chunks/{edit-QSAO74S4.js → edit-JMZ5XWVW.js} +3 -3
  37. package/dist/chunks/{enable-NDSB4T26.js → enable-A4PMZ7QZ.js} +3 -3
  38. package/dist/chunks/{export-DB6BIYQJ.js → export-Y6AJ3WRZ.js} +3 -3
  39. package/dist/chunks/{image-MKB6II6L.js → image-26BKPAUB.js} +4 -4
  40. package/dist/chunks/{import-builders-FIQ7QTVG.js → import-builders-3H7J2SEK.js} +3 -3
  41. package/dist/chunks/{inspect-QWTWAYLS.js → inspect-7DGKYHKW.js} +4 -4
  42. package/dist/chunks/{inspect-NY6QRX5W.js → inspect-GJFVAZIJ.js} +3 -3
  43. package/dist/chunks/{inspect-IYRKEWTM.js → inspect-N3E2PO6K.js} +3 -3
  44. package/dist/chunks/{inspect-XS2TC7TC.js → inspect-OEY4DJRI.js} +3 -3
  45. package/dist/chunks/{inspect-REJXLWLL.js → inspect-ZW5N6O5P.js} +3 -3
  46. package/dist/chunks/{list-CDCITV4K.js → list-2VTCNQEB.js} +2 -2
  47. package/dist/chunks/{list-PXKVKXHG.js → list-DTJBW7OQ.js} +4 -4
  48. package/dist/chunks/{list-VQHBVY3Q.js → list-MIQ5D6PM.js} +3 -3
  49. package/dist/chunks/{login-PE4JK7A2.js → login-L34UHAU5.js} +3 -3
  50. package/dist/chunks/{ls-3GRHYFDM.js → ls-NCPQY4FV.js} +3 -3
  51. package/dist/chunks/{ls-SKOQOPK4.js → ls-OBUDC4SB.js} +3 -3
  52. package/dist/chunks/{ls-DL2POAY2.js → ls-OKO4IHWB.js} +4 -4
  53. package/dist/chunks/{ls-YHS5IEBJ.js → ls-SXJFBLUT.js} +3 -3
  54. package/dist/chunks/{ls-S67TNMEG.js → ls-VDYUFSSC.js} +3 -3
  55. package/dist/chunks/{open-DUN3BTDH.js → open-V5JDGXUP.js} +3 -3
  56. package/dist/chunks/{permissions-VLIZYINB.js → permissions-6CPRPPBY.js} +5 -5
  57. package/dist/chunks/{publish-36BIJPLN.js → publish-R27DPHFO.js} +3 -3
  58. package/dist/chunks/{push-5NTQV3EC.js → push-VLVTBS42.js} +3 -3
  59. package/dist/chunks/{query-ONR2W7HS.js → query-IVVRYMJN.js} +2 -2
  60. package/dist/chunks/{reorder-YKAT4XG3.js → reorder-LJ2RBZM2.js} +3 -3
  61. package/dist/chunks/{reply-DH4ZPEXT.js → reply-USAISZYC.js} +3 -3
  62. package/dist/chunks/{resolve-446IVH6V.js → resolve-CRCJYVS5.js} +3 -3
  63. package/dist/chunks/{restore-HA6TSOOE.js → restore-6PBPEAMU.js} +3 -3
  64. package/dist/chunks/{rm-EG35766L.js → rm-EOD7RDSO.js} +3 -3
  65. package/dist/chunks/{rm-BCPJUK2C.js → rm-HHELZB7R.js} +3 -3
  66. package/dist/chunks/{rm-COV73VE4.js → rm-KGOEOWVK.js} +4 -4
  67. package/dist/chunks/{rm-IKYJI7MP.js → rm-TWU3JR6Z.js} +3 -3
  68. package/dist/chunks/{rule-inspect-FQ2635LY.js → rule-inspect-WFTVRK6B.js} +4 -4
  69. package/dist/chunks/{rules-PBOQISWV.js → rules-AQYTFJI6.js} +7 -7
  70. package/dist/chunks/{schema-4CDJVH7T.js → schema-ZCDCJC7E.js} +2 -2
  71. package/dist/chunks/{tags-HNOL4JXL.js → tags-RCNRFX7U.js} +3 -3
  72. package/dist/chunks/{update-ZIGVLUYG.js → update-I7QGAOYF.js} +6 -6
  73. package/dist/commands/build/index.js +21 -17
  74. package/dist/commands/deploy/index.js +9 -9
  75. package/dist/commands/dev/index.js +70 -31
  76. package/dist/commands/env/index.js +146 -223
  77. package/dist/commands/link/index.js +4 -4
  78. package/dist/commands/list/index.js +3 -3
  79. package/dist/commands-bulk.js +3873 -1925
  80. package/dist/index.js +9 -9
  81. package/dist/version.mjs +1 -1
  82. package/package.json +49 -48
@@ -6,9 +6,10 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  require_dist as require_dist2,
9
- require_dist3,
9
+ require_dist2 as require_dist3,
10
+ require_dist4,
10
11
  require_lib
11
- } from "./chunk-KDL2L4KL.js";
12
+ } from "./chunk-HMJVUXE6.js";
12
13
  import {
13
14
  output_manager_default,
14
15
  require_dist
@@ -10145,7 +10146,6 @@ var require_write_build_result = __commonJS({
10145
10146
  var import_mime_types = __toESM2(require_mime_types());
10146
10147
  var import_path = __require("path");
10147
10148
  var import_build_utils = __require("@vercel/build-utils");
10148
- var import_fs_detectors = require_dist3();
10149
10149
  var import_promisepipe = __toESM2(require_promisepipe());
10150
10150
  var import_merge = require_merge();
10151
10151
  var import_unzip = require_unzip();
@@ -10515,7 +10515,7 @@ var require_write_build_result = __commonJS({
10515
10515
  service
10516
10516
  );
10517
10517
  const ext = (0, import_path.extname)(src);
10518
- const path = service && (0, import_build_utils.isExperimentalServiceV2)(service) ? "index" : service && typeof service.runtime === "string" ? stripDuplicateSlashes((0, import_fs_detectors.getInternalServiceFunctionPath)(service.name)) : stripDuplicateSlashes(
10518
+ const path = service && (0, import_build_utils.isExperimentalServiceV2)(service) ? "index" : service && typeof service.runtime === "string" ? stripDuplicateSlashes((0, import_build_utils.getInternalServiceFunctionPath)(service.name)) : stripDuplicateSlashes(
10519
10519
  build.config?.zeroConfig ? src.substring(0, src.length - ext.length) : src
10520
10520
  );
10521
10521
  if (isContainerImage(output)) {
@@ -10874,6 +10874,258 @@ var require_write_build_result = __commonJS({
10874
10874
  }
10875
10875
  });
10876
10876
 
10877
+ // ../../internals/cli-builder-integration/dist/get-services-builders.js
10878
+ var require_get_services_builders = __commonJS({
10879
+ "../../internals/cli-builder-integration/dist/get-services-builders.js"(exports, module) {
10880
+ "use strict";
10881
+ var __defProp = Object.defineProperty;
10882
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10883
+ var __getOwnPropNames = Object.getOwnPropertyNames;
10884
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10885
+ var __export = (target, all) => {
10886
+ for (var name in all)
10887
+ __defProp(target, name, { get: all[name], enumerable: true });
10888
+ };
10889
+ var __copyProps = (to, from, except, desc) => {
10890
+ if (from && typeof from === "object" || typeof from === "function") {
10891
+ for (let key of __getOwnPropNames(from))
10892
+ if (!__hasOwnProp.call(to, key) && key !== except)
10893
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10894
+ }
10895
+ return to;
10896
+ };
10897
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
10898
+ var get_services_builders_exports = {};
10899
+ __export(get_services_builders_exports, {
10900
+ getServicesBuilders: () => getServicesBuilders,
10901
+ warnIgnoredDirectories: () => warnIgnoredDirectories
10902
+ });
10903
+ module.exports = __toCommonJS(get_services_builders_exports);
10904
+ var import_fs_detectors = require_dist3();
10905
+ var import_service_topology = require_dist4();
10906
+ function isExperimentalServicesAutoDetectionEnabled() {
10907
+ const env = process.env.VERCEL_USE_EXPERIMENTAL_SERVICES;
10908
+ return env === "1" || env?.toLowerCase() === "true";
10909
+ }
10910
+ async function getServicesBuilders(options) {
10911
+ const {
10912
+ workPath,
10913
+ configuredServices,
10914
+ configuredServicesType,
10915
+ projectFramework
10916
+ } = options;
10917
+ const hasServiceDefinitions = configuredServices != null && Object.keys(configuredServices).length > 0;
10918
+ if (projectFramework === "services" && !hasServiceDefinitions && !isExperimentalServicesAutoDetectionEnabled()) {
10919
+ return {
10920
+ builders: null,
10921
+ errors: [
10922
+ {
10923
+ code: "MISSING_SERVICES",
10924
+ message: 'Project framework is set to "services", but no services are declared. Add `services` to vercel.json with at least one service, or change the project framework setting.'
10925
+ }
10926
+ ],
10927
+ warnings: [],
10928
+ hostRewriteRoutes: null,
10929
+ defaultRoutes: null,
10930
+ fallbackRoutes: null,
10931
+ redirectRoutes: null,
10932
+ rewriteRoutes: null,
10933
+ errorRoutes: null
10934
+ };
10935
+ }
10936
+ if (!workPath) {
10937
+ return {
10938
+ builders: null,
10939
+ errors: [
10940
+ {
10941
+ code: "MISSING_WORK_PATH",
10942
+ message: "workPath is required for services detection."
10943
+ }
10944
+ ],
10945
+ warnings: [],
10946
+ hostRewriteRoutes: null,
10947
+ defaultRoutes: null,
10948
+ fallbackRoutes: null,
10949
+ redirectRoutes: null,
10950
+ rewriteRoutes: null,
10951
+ errorRoutes: null
10952
+ };
10953
+ }
10954
+ const fs = new import_fs_detectors.LocalFileSystemDetector(workPath);
10955
+ const result = await (0, import_service_topology.detectServices)({
10956
+ fs,
10957
+ configuredServices,
10958
+ configuredServicesType
10959
+ });
10960
+ const warningResponses = result.warnings.map((w) => ({
10961
+ code: w.code,
10962
+ message: w.message
10963
+ }));
10964
+ if (result.errors.length > 0) {
10965
+ return {
10966
+ builders: null,
10967
+ errors: result.errors.map((e) => ({
10968
+ code: e.code,
10969
+ message: e.message
10970
+ })),
10971
+ warnings: warningResponses,
10972
+ hostRewriteRoutes: null,
10973
+ defaultRoutes: null,
10974
+ fallbackRoutes: null,
10975
+ redirectRoutes: null,
10976
+ rewriteRoutes: null,
10977
+ errorRoutes: null
10978
+ };
10979
+ }
10980
+ if (result.services.length === 0) {
10981
+ return {
10982
+ builders: null,
10983
+ errors: [
10984
+ {
10985
+ code: "NO_SERVICES_CONFIGURED",
10986
+ message: "No services configured. Add `services` to vercel.json."
10987
+ }
10988
+ ],
10989
+ warnings: warningResponses,
10990
+ hostRewriteRoutes: null,
10991
+ defaultRoutes: null,
10992
+ fallbackRoutes: null,
10993
+ redirectRoutes: null,
10994
+ rewriteRoutes: null,
10995
+ errorRoutes: null
10996
+ };
10997
+ }
10998
+ const builders = result.services.map((service) => service.builder);
10999
+ return {
11000
+ builders: builders.length > 0 ? builders : null,
11001
+ errors: null,
11002
+ warnings: warningResponses,
11003
+ hostRewriteRoutes: result.routes.hostRewrites.length > 0 ? result.routes.hostRewrites : null,
11004
+ defaultRoutes: result.routes.defaults.length > 0 ? result.routes.defaults : null,
11005
+ fallbackRoutes: result.routes.fallbacks.length > 0 ? result.routes.fallbacks : null,
11006
+ redirectRoutes: [],
11007
+ rewriteRoutes: result.routes.rewrites.length > 0 || result.routes.workers.length > 0 || result.routes.crons.length > 0 ? [
11008
+ ...result.routes.rewrites,
11009
+ ...result.routes.workers,
11010
+ ...result.routes.crons
11011
+ ] : null,
11012
+ errorRoutes: [],
11013
+ serviceRewrites: result.rewrites.length > 0 ? result.rewrites : void 0,
11014
+ experimentalServicesV2: result.experimentalServicesV2,
11015
+ services: result.services,
11016
+ useImplicitEnvInjection: result.useImplicitEnvInjection
11017
+ };
11018
+ }
11019
+ function warnIgnoredDirectories(files, configuredServices) {
11020
+ const warnings = [];
11021
+ if (files.some((f) => f.startsWith("api/"))) {
11022
+ const serviceCoversApi = Object.values(configuredServices).some((service) => {
11023
+ const root = service.root ?? ".";
11024
+ const entrypoint = service.entrypoint ?? "";
11025
+ return root === "api" || root.startsWith("api/") || root === "." && entrypoint.startsWith("api/");
11026
+ });
11027
+ if (!serviceCoversApi) {
11028
+ warnings.push({
11029
+ code: "api_dir_ignored",
11030
+ message: "The `api/` directory will not be built because services are configured. To serve these files, declare them as a service in your `vercel.json`."
11031
+ });
11032
+ }
11033
+ }
11034
+ return warnings;
11035
+ }
11036
+ }
11037
+ });
11038
+
11039
+ // ../../internals/cli-builder-integration/dist/detect-builders-with-services.js
11040
+ var require_detect_builders_with_services = __commonJS({
11041
+ "../../internals/cli-builder-integration/dist/detect-builders-with-services.js"(exports, module) {
11042
+ "use strict";
11043
+ var __defProp = Object.defineProperty;
11044
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
11045
+ var __getOwnPropNames = Object.getOwnPropertyNames;
11046
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
11047
+ var __export = (target, all) => {
11048
+ for (var name in all)
11049
+ __defProp(target, name, { get: all[name], enumerable: true });
11050
+ };
11051
+ var __copyProps = (to, from, except, desc) => {
11052
+ if (from && typeof from === "object" || typeof from === "function") {
11053
+ for (let key of __getOwnPropNames(from))
11054
+ if (!__hasOwnProp.call(to, key) && key !== except)
11055
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11056
+ }
11057
+ return to;
11058
+ };
11059
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
11060
+ var detect_builders_with_services_exports = {};
11061
+ __export(detect_builders_with_services_exports, {
11062
+ detectBuildersWithServices: () => detectBuildersWithServices
11063
+ });
11064
+ module.exports = __toCommonJS(detect_builders_with_services_exports);
11065
+ var import_fs_detectors = require_dist3();
11066
+ var import_get_services_builders = require_get_services_builders();
11067
+ async function detectBuildersWithServices(files, pkg, options = {}) {
11068
+ const {
11069
+ experimentalServices: experimentalServicesV1,
11070
+ services,
11071
+ experimentalServicesV2,
11072
+ projectSettings = {}
11073
+ } = options;
11074
+ if (services != null && experimentalServicesV2 != null) {
11075
+ return {
11076
+ builders: null,
11077
+ errors: [
11078
+ {
11079
+ code: "SERVICES_AND_EXPERIMENTAL_SERVICES_V2",
11080
+ message: "The `services` option cannot be used in conjunction with its deprecated alias `experimentalServicesV2`. Please use only `services`."
11081
+ }
11082
+ ],
11083
+ warnings: [],
11084
+ defaultRoutes: null,
11085
+ redirectRoutes: null,
11086
+ rewriteRoutes: null,
11087
+ errorRoutes: null
11088
+ };
11089
+ }
11090
+ const proxyError = (0, import_fs_detectors.validateProxy)(options, files, projectSettings.framework);
11091
+ if (proxyError) {
11092
+ return {
11093
+ builders: null,
11094
+ errors: [proxyError],
11095
+ warnings: [],
11096
+ defaultRoutes: null,
11097
+ redirectRoutes: null,
11098
+ rewriteRoutes: null,
11099
+ errorRoutes: null
11100
+ };
11101
+ }
11102
+ const servicesConfig = services ?? experimentalServicesV2;
11103
+ const configuredServices = servicesConfig ?? experimentalServicesV1;
11104
+ const configuredServicesType = servicesConfig ? services ? "services" : "experimentalServicesV2" : "experimentalServices";
11105
+ const hasServicesConfig = configuredServices != null && typeof configuredServices === "object";
11106
+ if (!hasServicesConfig && projectSettings.framework !== "services") {
11107
+ return (0, import_fs_detectors.detectBuilders)(files, pkg, options);
11108
+ }
11109
+ const result = await (0, import_get_services_builders.getServicesBuilders)({
11110
+ workPath: options.workPath,
11111
+ configuredServices,
11112
+ configuredServicesType,
11113
+ projectFramework: projectSettings.framework
11114
+ });
11115
+ if (configuredServices != null) {
11116
+ result.warnings.push(...(0, import_get_services_builders.warnIgnoredDirectories)(files, configuredServices));
11117
+ }
11118
+ if (!result.errors && options.proxy) {
11119
+ result.builders = [
11120
+ (0, import_fs_detectors.getProxyBuilder)(options.proxy, options.tag, options.functions),
11121
+ ...result.builders ?? []
11122
+ ];
11123
+ }
11124
+ return result;
11125
+ }
11126
+ }
11127
+ });
11128
+
10877
11129
  // ../../internals/cli-builder-integration/dist/service-schedules.js
10878
11130
  var require_service_schedules = __commonJS({
10879
11131
  "../../internals/cli-builder-integration/dist/service-schedules.js"(exports, module) {
@@ -11051,6 +11303,7 @@ var {
11051
11303
  } = (0, import_write_build_result.createWriteBuildResult)(output_manager_default);
11052
11304
 
11053
11305
  export {
11306
+ require_detect_builders_with_services,
11054
11307
  require_mime_types,
11055
11308
  require_write_build_result,
11056
11309
  require_service_schedules,
@@ -8,7 +8,7 @@ import {
8
8
  VERCEL_DIR,
9
9
  VERCEL_DIR_PROJECT,
10
10
  require_lib
11
- } from "./chunk-KDL2L4KL.js";
11
+ } from "./chunk-HMJVUXE6.js";
12
12
  import {
13
13
  require_dist
14
14
  } from "./chunk-OX7KI3LF.js";
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-KDYRLN6H.js";
10
10
  import {
11
11
  ALIGNED_LABEL_WIDTH
12
- } from "./chunk-KDL2L4KL.js";
12
+ } from "./chunk-HMJVUXE6.js";
13
13
  import {
14
14
  require_ms
15
15
  } from "./chunk-GGP5R3FU.js";
@@ -14,11 +14,11 @@ import {
14
14
  VERCEL_CONFIG_EXTENSIONS,
15
15
  VERCEL_DIR,
16
16
  readJSONFile,
17
- require_dist3 as require_dist2,
17
+ require_dist2,
18
18
  require_lib,
19
19
  require_minimatch,
20
20
  require_pluralize
21
- } from "./chunk-KDL2L4KL.js";
21
+ } from "./chunk-HMJVUXE6.js";
22
22
  import {
23
23
  isNativeBinaryInstall
24
24
  } from "./chunk-CYNB6LL4.js";
@@ -1129,7 +1129,7 @@ var require_import_builders = __commonJS({
1129
1129
  installReasons.set(spec, "pin-version-mismatch");
1130
1130
  continue;
1131
1131
  }
1132
- if (isBareSpec(parsed) && peerVersion && isRemoteBuilderPin(peerVersion) && pkgPath.startsWith(buildersDir)) {
1132
+ if (isBareSpec(parsed) && peerVersion && isRemoteBuilderPin(peerVersion) && pkgPath.startsWith(buildersDir) && !allowedPinDriftSpecs?.has(spec)) {
1133
1133
  let installedSpec;
1134
1134
  try {
1135
1135
  const buildersPkg = await (0, import_fs_extra.readJSON)((0, import_path.join)(buildersDir, "package.json"));
@@ -37,7 +37,7 @@ import {
37
37
  useKeypress,
38
38
  usePrefix,
39
39
  useState
40
- } from "./chunk-KDL2L4KL.js";
40
+ } from "./chunk-HMJVUXE6.js";
41
41
  import {
42
42
  require_load_json_file
43
43
  } from "./chunk-CYNB6LL4.js";
@@ -6,14 +6,14 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  isJSONObject
9
- } from "./chunk-WODLA275.js";
9
+ } from "./chunk-O5DLWLT7.js";
10
10
  import {
11
11
  getProjectByNameOrId
12
- } from "./chunk-KDL2L4KL.js";
12
+ } from "./chunk-HMJVUXE6.js";
13
13
  import {
14
14
  AGENT_REASON,
15
15
  outputAgentError
16
- } from "./chunk-J5ZEHLFM.js";
16
+ } from "./chunk-TH2XUVDP.js";
17
17
  import {
18
18
  ProjectNotFound,
19
19
  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-KDL2L4KL.js";
9
+ } from "./chunk-HMJVUXE6.js";
10
10
  import {
11
11
  getCommandName,
12
12
  require_lib
@@ -390,12 +390,18 @@ function buildNextStepsForProjectSubcommands(client, variant) {
390
390
  } : variant === "web-analytics" ? {
391
391
  template: "project web-analytics <name>",
392
392
  when: "Enable Web Analytics by project name (replace <name>)"
393
+ } : variant === "observability" ? {
394
+ template: "project observability enable <name>",
395
+ when: "Enable Observability Plus by project name (replace <name>)"
393
396
  } : variant === "checks" ? {
394
397
  template: "project checks add <name>",
395
398
  when: "Create a deployment check by project name (replace <name>)"
396
399
  } : variant === "inspect" ? {
397
400
  template: "project inspect <name>",
398
401
  when: "Inspect a project by name (replace <name>)"
402
+ } : variant === "resume" ? {
403
+ template: "project resume <name>",
404
+ when: "Resume production traffic by project name (replace <name>)"
399
405
  } : {
400
406
  template: "project members <name>",
401
407
  when: "List members by project name (replace <name>)"
@@ -643,7 +649,10 @@ var AGENT_REASON = {
643
649
  REDIRECT_NOT_FOUND: "redirect_not_found",
644
650
  VERSION_NOT_FOUND: "version_not_found",
645
651
  VERSION_ALREADY_LIVE: "version_already_live",
646
- VERSION_IS_STAGING: "version_is_staging"
652
+ VERSION_IS_STAGING: "version_is_staging",
653
+ PLAN_UPGRADE_REQUIRED: "plan_upgrade_required",
654
+ NOT_TEAM_MEMBER: "not_team_member",
655
+ INVALID_ROLE_COMBINATION: "invalid_role_combination"
647
656
  };
648
657
  var AGENT_ACTION = {
649
658
  MISSING_ARGUMENTS: "missing_arguments",
@@ -8,7 +8,7 @@ import {
8
8
  formatCondition,
9
9
  formatTransform,
10
10
  isTargetTransform
11
- } from "./chunk-P3BFTZXW.js";
11
+ } from "./chunk-HJVTLJHO.js";
12
12
  import {
13
13
  output_manager_default
14
14
  } from "./chunk-OX7KI3LF.js";
@@ -11,12 +11,12 @@ import {
11
11
  getLinkedProject,
12
12
  getProjectByNameOrId,
13
13
  getScope
14
- } from "./chunk-KDL2L4KL.js";
14
+ } from "./chunk-HMJVUXE6.js";
15
15
  import {
16
16
  AGENT_REASON,
17
17
  buildCommandWithGlobalFlags,
18
18
  outputAgentError
19
- } from "./chunk-J5ZEHLFM.js";
19
+ } from "./chunk-TH2XUVDP.js";
20
20
  import {
21
21
  ProjectNotFound,
22
22
  isAPIError
@@ -7,14 +7,14 @@ const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  getUpdateCommandInfo,
9
9
  isGlobal
10
- } from "./chunk-ANIKVXGZ.js";
10
+ } from "./chunk-EB7NJKPL.js";
11
11
  import {
12
12
  progress,
13
13
  require_ci_info
14
- } from "./chunk-NN2W7WFC.js";
14
+ } from "./chunk-EB5NBVTV.js";
15
15
  import {
16
16
  writeToConfigFile
17
- } from "./chunk-WODLA275.js";
17
+ } from "./chunk-O5DLWLT7.js";
18
18
  import {
19
19
  getGlobalPathConfig
20
20
  } from "./chunk-JKQWQA2T.js";
@@ -24,7 +24,7 @@ import {
24
24
  import {
25
25
  apiCommand,
26
26
  listSubcommand4 as listSubcommand
27
- } from "./chunk-7GE2K2WR.js";
27
+ } from "./chunk-HURL5EBN.js";
28
28
  import {
29
29
  require_semver
30
30
  } from "./chunk-IB5L4LKZ.js";
@@ -36,7 +36,7 @@ import {
36
36
  require_mkdirp,
37
37
  require_pump,
38
38
  require_tar_stream
39
- } from "./chunk-KDL2L4KL.js";
39
+ } from "./chunk-HMJVUXE6.js";
40
40
  import {
41
41
  TelemetryClient,
42
42
  getInstallRoot,
@@ -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-KDL2L4KL.js";
9
+ } from "./chunk-HMJVUXE6.js";
10
10
  import {
11
11
  packageName,
12
12
  projectOption,
@@ -7,14 +7,14 @@ const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  login,
9
9
  require_ci_info
10
- } from "./chunk-NN2W7WFC.js";
10
+ } from "./chunk-EB5NBVTV.js";
11
11
  import {
12
12
  getGlobalPathConfig
13
13
  } from "./chunk-JKQWQA2T.js";
14
14
  import {
15
15
  humanizePath,
16
16
  param
17
- } from "./chunk-KDL2L4KL.js";
17
+ } from "./chunk-HMJVUXE6.js";
18
18
  import {
19
19
  printError
20
20
  } from "./chunk-VAFU7DXZ.js";
@@ -20,12 +20,12 @@ import {
20
20
  getLinkedProject,
21
21
  getProjectByNameOrId,
22
22
  getScope
23
- } from "./chunk-KDL2L4KL.js";
23
+ } from "./chunk-HMJVUXE6.js";
24
24
  import {
25
25
  AGENT_REASON,
26
26
  buildCommandWithGlobalFlags,
27
27
  outputAgentError
28
- } from "./chunk-J5ZEHLFM.js";
28
+ } from "./chunk-TH2XUVDP.js";
29
29
  import {
30
30
  require_ms
31
31
  } from "./chunk-GGP5R3FU.js";
@@ -13,7 +13,7 @@ import {
13
13
  requireVcrRepository,
14
14
  resolveVcrScope,
15
15
  validateVcrJsonOutput
16
- } from "./chunk-Z2G6SO5B.js";
16
+ } from "./chunk-ZFWNMVNR.js";
17
17
  import "./chunk-G75NFPIT.js";
18
18
  import "./chunk-KQRVZWJU.js";
19
19
  import "./chunk-KXDWXXJH.js";
@@ -21,13 +21,13 @@ import {
21
21
  permissionsClearSubcommand
22
22
  } from "./chunk-GFCTRJI5.js";
23
23
  import "./chunk-R6IGDGX3.js";
24
- import "./chunk-KDL2L4KL.js";
24
+ import "./chunk-HMJVUXE6.js";
25
25
  import "./chunk-CYNB6LL4.js";
26
26
  import {
27
27
  AGENT_REASON,
28
28
  buildCommandWithYes,
29
29
  outputAgentError
30
- } from "./chunk-J5ZEHLFM.js";
30
+ } from "./chunk-TH2XUVDP.js";
31
31
  import "./chunk-GGP5R3FU.js";
32
32
  import {
33
33
  printError
@@ -11,9 +11,9 @@ import {
11
11
  findSourceVercelConfigFile,
12
12
  getVercelConfigPath,
13
13
  normalizeConfig
14
- } from "./chunk-KDL2L4KL.js";
14
+ } from "./chunk-HMJVUXE6.js";
15
15
  import "./chunk-CYNB6LL4.js";
16
- import "./chunk-J5ZEHLFM.js";
16
+ import "./chunk-TH2XUVDP.js";
17
17
  import "./chunk-GGP5R3FU.js";
18
18
  import "./chunk-VAFU7DXZ.js";
19
19
  import "./chunk-XLKFJPMT.js";
@@ -14,7 +14,7 @@ import {
14
14
  resolveVcrScope,
15
15
  validateVcrChoice,
16
16
  validateVcrJsonOutput
17
- } from "./chunk-Z2G6SO5B.js";
17
+ } from "./chunk-ZFWNMVNR.js";
18
18
  import "./chunk-G75NFPIT.js";
19
19
  import {
20
20
  outputError
@@ -27,13 +27,13 @@ import "./chunk-WC7IINFV.js";
27
27
  import "./chunk-RIB4S2IB.js";
28
28
  import "./chunk-GFCTRJI5.js";
29
29
  import "./chunk-R6IGDGX3.js";
30
- import "./chunk-KDL2L4KL.js";
30
+ import "./chunk-HMJVUXE6.js";
31
31
  import "./chunk-CYNB6LL4.js";
32
32
  import {
33
33
  AGENT_REASON,
34
34
  buildCommandWithGlobalFlags,
35
35
  outputAgentError
36
- } from "./chunk-J5ZEHLFM.js";
36
+ } from "./chunk-TH2XUVDP.js";
37
37
  import "./chunk-GGP5R3FU.js";
38
38
  import {
39
39
  printError
@@ -13,7 +13,7 @@ import {
13
13
  resolveCommentsScope,
14
14
  threadNotFoundMessage,
15
15
  toApiErrorParts
16
- } from "./chunk-DAA5RXUK.js";
16
+ } from "./chunk-DDIZGOCK.js";
17
17
  import {
18
18
  canPrompt
19
19
  } from "./chunk-2473DUBR.js";
@@ -26,9 +26,9 @@ import {
26
26
  import {
27
27
  deleteSubcommand
28
28
  } from "./chunk-GMWRTZVZ.js";
29
- import "./chunk-KDL2L4KL.js";
29
+ import "./chunk-HMJVUXE6.js";
30
30
  import "./chunk-CYNB6LL4.js";
31
- import "./chunk-J5ZEHLFM.js";
31
+ import "./chunk-TH2XUVDP.js";
32
32
  import "./chunk-GGP5R3FU.js";
33
33
  import "./chunk-VAFU7DXZ.js";
34
34
  import {
@@ -15,7 +15,7 @@ import {
15
15
  requireProjectContext,
16
16
  resolveRoutes,
17
17
  withGlobalFlags
18
- } from "./chunk-P3BFTZXW.js";
18
+ } from "./chunk-HJVTLJHO.js";
19
19
  import {
20
20
  deleteSubcommand
21
21
  } from "./chunk-M22O6CYY.js";
@@ -23,13 +23,13 @@ import {
23
23
  stamp_default
24
24
  } from "./chunk-64IF634X.js";
25
25
  import "./chunk-VXYGCOKL.js";
26
- import "./chunk-KDL2L4KL.js";
26
+ import "./chunk-HMJVUXE6.js";
27
27
  import "./chunk-CYNB6LL4.js";
28
28
  import {
29
29
  AGENT_REASON,
30
30
  AGENT_STATUS,
31
31
  outputAgentError
32
- } from "./chunk-J5ZEHLFM.js";
32
+ } from "./chunk-TH2XUVDP.js";
33
33
  import "./chunk-GGP5R3FU.js";
34
34
  import "./chunk-VAFU7DXZ.js";
35
35
  import "./chunk-XLKFJPMT.js";
@@ -17,7 +17,7 @@ import {
17
17
  requireProjectContext,
18
18
  resolveRoute,
19
19
  withGlobalFlags
20
- } from "./chunk-P3BFTZXW.js";
20
+ } from "./chunk-HJVTLJHO.js";
21
21
  import {
22
22
  disableSubcommand
23
23
  } from "./chunk-M22O6CYY.js";
@@ -25,11 +25,11 @@ import {
25
25
  stamp_default
26
26
  } from "./chunk-64IF634X.js";
27
27
  import "./chunk-VXYGCOKL.js";
28
- import "./chunk-KDL2L4KL.js";
28
+ import "./chunk-HMJVUXE6.js";
29
29
  import "./chunk-CYNB6LL4.js";
30
30
  import {
31
31
  outputAgentError
32
- } from "./chunk-J5ZEHLFM.js";
32
+ } from "./chunk-TH2XUVDP.js";
33
33
  import "./chunk-GGP5R3FU.js";
34
34
  import "./chunk-VAFU7DXZ.js";
35
35
  import "./chunk-XLKFJPMT.js";
@@ -17,7 +17,7 @@ import {
17
17
  printDiffSummary,
18
18
  requireProjectContext,
19
19
  withGlobalFlags
20
- } from "./chunk-P3BFTZXW.js";
20
+ } from "./chunk-HJVTLJHO.js";
21
21
  import {
22
22
  discardSubcommand
23
23
  } from "./chunk-M22O6CYY.js";
@@ -25,11 +25,11 @@ import {
25
25
  stamp_default
26
26
  } from "./chunk-64IF634X.js";
27
27
  import "./chunk-VXYGCOKL.js";
28
- import "./chunk-KDL2L4KL.js";
28
+ import "./chunk-HMJVUXE6.js";
29
29
  import "./chunk-CYNB6LL4.js";
30
30
  import {
31
31
  outputAgentError
32
- } from "./chunk-J5ZEHLFM.js";
32
+ } from "./chunk-TH2XUVDP.js";
33
33
  import "./chunk-GGP5R3FU.js";
34
34
  import "./chunk-VAFU7DXZ.js";
35
35
  import "./chunk-XLKFJPMT.js";