vercel 59.23.0 → 59.23.2

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.
@@ -811,12 +811,20 @@ ${deployHint}`),0}).catch(e2=>{throw output_manager_default.stopSpinner(),e2})}f
811
811
  `),createdAt&&print(` ${import_chalk202.default.cyan("created")} ${new Date(createdAt)} ${elapsed(Date.now()-createdAt,!0)}
812
812
  `),print(`
813
813
 
814
- `);let buildMachine=getBuildMachineResourceConfig(deployment);if(buildMachine){let fields=[["cores",buildMachine.cores],["memory",buildMachine.memory===void 0?void 0:`${buildMachine.memory} MiB`],["machine",buildMachine.machine],["selection type",buildMachine.selectionType],["selection source",buildMachine.selectionSource]];print(import_chalk202.default.bold(` Build Machine
814
+ `);let buildMachine=getBuildMachineResourceConfig(deployment);if(buildMachine){let fields=[["requested build machine",buildMachine.machine??"unavailable"],["actual assigned cores",buildMachine.cores===void 0?"unavailable":`${buildMachine.cores} vCPU (actual assignment)`],["memory",buildMachine.memory===void 0?void 0:`${buildMachine.memory} MiB`],["selection type",buildMachine.selectionType],["selection source",buildMachine.selectionSource]];print(import_chalk202.default.bold(` Build Machine
815
815
 
816
- `));for(let[label,value]of fields)value!==void 0&&print(` ${import_chalk202.default.cyan(label)} ${value}
816
+ `));let labelWidth=Math.max(...fields.map(([label])=>label.length))+1;for(let[label,value]of fields)value!==void 0&&print(` ${import_chalk202.default.cyan(label.padEnd(labelWidth))}${value}
817
817
  `);print(`
818
818
 
819
- `)}if(aliases2!==void 0&&aliases2.length>0){print(import_chalk202.default.bold(` Aliases
819
+ `)}print(import_chalk202.default.bold(` Duration
820
+
821
+ `));let{duration}=deployment;if(print(` ${import_chalk202.default.cyan("build duration")} ${formatDuration2(duration?.timeToReady)}
822
+ `),print(` ${import_chalk202.default.cyan("post-build duration")} ${formatDuration2(getPostBuildDuration(duration))}
823
+ `),print(` ${import_chalk202.default.cyan("billable duration")} ${formatDuration2(duration?.timeForBilling)}
824
+ `),print(` ${import_chalk202.default.cyan("CPU Minutes Usage")} ${formatCpuMinutes(duration?.cpuTimeForBilling,duration?.timeForBilling,deployment.resourceConfig?.buildMachine?.cores)}
825
+ `),print(`
826
+
827
+ `),aliases2!==void 0&&aliases2.length>0){print(import_chalk202.default.bold(` Aliases
820
828
 
821
829
  `));let aliasList="";for(let alias2 of aliases2)aliasList+=`${import_chalk202.default.gray("\u2576")} https://${alias2}
822
830
  `;print(indent_default(aliasList,4)),print(`
@@ -829,8 +837,8 @@ ${deployHint}`),0}).catch(e2=>{throw output_manager_default.stopSpinner(),e2})}f
829
837
 
830
838
  `)),print(indent_default(routes(routes2),4)),print(`
831
839
 
832
- `))}async function printJson({deployment,contextName,client}){let{id,name,url,createdAt,routes:routes2,readyState,alias:aliases2,target,customEnvironment}=deployment,{builds}=deployment.version===2?await client.fetch(`/v11/deployments/${id}/builds`):{builds:[]},buildMachine=getBuildMachineResourceConfig(deployment),jsonOutput={id,name,url,target:customEnvironment?.slug??target??"preview",readyState,createdAt,...buildMachine&&{buildMachine},...aliases2&&aliases2.length>0&&{aliases:aliases2},...builds.length>0&&{builds},...Array.isArray(routes2)&&routes2.length>0&&{routes:routes2},...contextName&&{contextName}};client.stdout.write(`${JSON.stringify(jsonOutput,null,2)}
833
- `)}function printLogsJson(client,logs2){client.stdout.write(`${JSON.stringify(logs2,null,2)}
840
+ `))}async function printJson({deployment,contextName,client}){let{id,name,url,createdAt,routes:routes2,readyState,alias:aliases2,target,customEnvironment}=deployment,{builds}=deployment.version===2?await client.fetch(`/v11/deployments/${id}/builds`):{builds:[]},buildMachine=getBuildMachineResourceConfig(deployment),jsonOutput={id,name,url,target:customEnvironment?.slug??target??"preview",readyState,createdAt,...deployment.duration&&{duration:deployment.duration},...buildMachine&&{buildMachine},...aliases2&&aliases2.length>0&&{aliases:aliases2},...builds.length>0&&{builds},...Array.isArray(routes2)&&routes2.length>0&&{routes:routes2},...contextName&&{contextName}};client.stdout.write(`${JSON.stringify(jsonOutput,null,2)}
841
+ `)}function getPostBuildDuration(duration){if(duration?.timeToReady===void 0||duration.timeToContainerExit===void 0)return;let postBuildDuration=duration.timeToContainerExit-duration.timeToReady;return postBuildDuration>=0?postBuildDuration:void 0}function formatDuration2(durationMs){if(durationMs===void 0)return"unavailable";if(durationMs<1e3)return`${durationMs}ms`;let totalSeconds=Math.round(durationMs/1e3),minutes=Math.floor(totalSeconds/60),seconds=totalSeconds%60;return minutes===0?`${seconds}s`:seconds===0?`${minutes}m`:`${minutes}m ${seconds}s`}function formatCpuMinutes(billedBuildCpuMs,billableDurationMs,assignedCpuCores){if(billedBuildCpuMs===void 0)return"unavailable";let minutes=billedBuildCpuMs/6e4,calculation=billableDurationMs!==void 0&&assignedCpuCores!==void 0?` (${formatDuration2(billableDurationMs)} x ${assignedCpuCores}vCPU)`:"";return`${minutes} minutes${calculation}`}function printLogsJson(client,logs2){client.stdout.write(`${JSON.stringify(logs2,null,2)}
834
842
  `)}function exitCode(state){return state==="ERROR"||state==="CANCELED"?1:0}var import_chalk207=__toESM(require_source(),1),import_execa2=__toESM(require_execa(),1),import_error_utils16=__toESM(require_dist(),1),import_open14=__toESM(require_open(),1);function isAutoProvisionFallback(error){return typeof error=="object"&&error!==null&&"kind"in error&&error.kind!=="provisioned"&&"url"in error&&"integration"in error&&"product"in error}async function autoProvisionResource(client,integrationSlug,productSlug,name,metadata,acceptedPolicies,billingPlanId,installationId,installationMetadata){let endpoint=`/v1/integrations/integration/${encodeURIComponent(integrationSlug)}/marketplace/auto-provision/${encodeURIComponent(productSlug)}`,body={name,metadata,acceptedPolicies,source:"cli",...billingPlanId?{billingPlanId}:{},...installationId?{installationId}:{},...installationMetadata&&Object.keys(installationMetadata).length>0?{installationMetadata}:{}};output_manager_default.debug(`Auto-provision request: POST ${endpoint}`),output_manager_default.debug(`Auto-provision body: ${JSON.stringify(body,null,2)}`);try{let res=await client.fetch(endpoint,{method:"POST",json:!1,body});if(res.ok)return res.json();throw new Error(`Auto-provision failed: ${res.status}`)}catch(error){if(error instanceof APIError&&error.status===422&&isAutoProvisionFallback(error))return output_manager_default.debug("Auto-provision returned 422 fallback response"),error;throw output_manager_default.debug(`Auto-provision error: ${error}`),error}}var import_chalk203=__toESM(require_source(),1);async function fetchMarketplaceIntegrationsList(client,categories2){let params=new URLSearchParams({integrationType:"marketplace"});if(categories2?.length)for(let category of categories2)params.append("category",category);return client.fetch(`/v2/integrations/integrations?${params.toString()}`,{json:!0})}async function fetchIntegration(client,slug){return client.fetch(`/v2/integrations/integration/${slug}`,{json:!0})}function toDiscoverEntries(integrations){let entries=[];for(let integration of integrations){if(!integration.isMarketplace||!integration.canInstall)continue;let integrationTags=integration.tagIds??[],products=integration.products??[];if(products.length===0){entries.push({name:integration.name,slug:integration.slug,provider:integration.name,description:integration.shortDescription??"",tags:integrationTags});continue}for(let product of products){let needsCompoundSlug=products.length>1||product.slug!==integration.slug;entries.push({name:product.name,slug:needsCompoundSlug?`${integration.slug}/${product.slug}`:integration.slug,provider:integration.name,description:product.shortDescription??integration.shortDescription??"",tags:[...integrationTags,...product.tags??[]]})}}return entries}function matchesSearchTerm(entry2,term){let lower=term.toLowerCase();return entry2.name.toLowerCase().includes(lower)||entry2.slug.toLowerCase().includes(lower)||entry2.provider.toLowerCase().includes(lower)||entry2.description.toLowerCase().includes(lower)||entry2.tags.some(tag=>tag.toLowerCase().includes(lower))}async function resolveAndFetchIntegration(client,slug,telemetry2){let directError;try{let integration=await fetchIntegration(client,slug);return telemetry2.trackCliArgumentIntegration(slug,!0),integration}catch(error){directError=error}output_manager_default.spinner("Searching marketplace integrations...",500);let entries;try{let integrations=await fetchMarketplaceIntegrationsList(client);entries=toDiscoverEntries(integrations)}catch(discoverError){return output_manager_default.stopSpinner(),output_manager_default.error(`Failed to get integration "${slug}": ${directError?.message??discoverError.message}`),telemetry2.trackCliArgumentIntegration(slug,!1),null}output_manager_default.stopSpinner();let matches=entries.filter(entry2=>matchesSearchTerm(entry2,slug));if(!matches.length)return output_manager_default.error(`No integration found matching "${slug}". Run ${import_chalk203.default.cyan("vercel integration discover")} to browse available integrations.`),telemetry2.trackCliArgumentIntegration(slug,!1),null;if(matches.length===1){let match=matches[0];if(client.stdin.isTTY===!0&&!await client.input.confirm(`Install ${import_chalk203.default.bold(match.name)} (${match.slug})?`,!0))return telemetry2.trackCliArgumentIntegration(slug,!1),null;slug=match.slug}else{if(client.stdin.isTTY!==!0)return output_manager_default.error(`Found ${matches.length} integrations matching "${slug}". Available integrations:
835
843
  ${matches.map(m=>`- ${m.slug}: ${m.description}`).join(`
836
844
  `)}`),telemetry2.trackCliArgumentIntegration(slug,!1),null;slug=await client.input.select({message:`Found ${matches.length} integrations matching "${slug}". Pick one to install:`,choices:matches.map(m=>({name:`${m.name} (${m.slug})${m.description?` - ${m.description}`:""}`,value:m.slug}))})}let integrationSlug,productSlug,slashIndex=slug.indexOf("/");slashIndex!==-1?(integrationSlug=slug.substring(0,slashIndex),productSlug=slug.substring(slashIndex+1)):integrationSlug=slug;try{let integration=await fetchIntegration(client,integrationSlug);return telemetry2.trackCliArgumentIntegration(integrationSlug,!0),{...integration,productSlug}}catch(error){return output_manager_default.error(`Failed to get integration "${integrationSlug}": ${error.message}`),telemetry2.trackCliArgumentIntegration(integrationSlug,!1),null}}async function fetchInstallations(client,integration){let searchParams=new URLSearchParams;return searchParams.set("view","account"),searchParams.set("installationType","marketplace"),searchParams.set("integrationIdOrSlug",integration.id),client.fetch(`/v2/integrations/configurations?${searchParams}`,{json:!0})}var import_open12=__toESM(require_open(),1);var import_chalk204=__toESM(require_source(),1);var MARKETPLACE_ADDENDUM_URL="https://vercel.com/legal/integration-marketplace-end-users-addendum";function getMarketplacePolicyLinks(integration){let links={marketplace_addendum:MARKETPLACE_ADDENDUM_URL};return integration.privacyDocUri&&(links.integration_privacy_policy=integration.privacyDocUri),integration.eulaDocUri&&(links.integration_eula=integration.eulaDocUri),links}async function promptForTermAcceptance(client,integration){if(client.isAgent)return output_manager_default.error("Term acceptance cannot be performed by an AI agent. Run this command directly in your terminal."),null;if(!client.stdin.isTTY)return output_manager_default.error("Term acceptance requires an interactive terminal. Run this command in a TTY."),null;let documents=[{label:"Vercel Marketplace End User Addendum",url:MARKETPLACE_ADDENDUM_URL}];integration.privacyDocUri&&documents.push({label:"Privacy Policy",url:integration.privacyDocUri}),integration.eulaDocUri&&documents.push({label:"Terms of Service",url:integration.eulaDocUri}),output_manager_default.print(`
package/dist/version.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export const version = "59.23.0";
1
+ export const version = "59.23.2";
2
2
  export const buildLabel = "";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vercel",
3
- "version": "59.23.0",
3
+ "version": "59.23.2",
4
4
  "type": "module",
5
5
  "preferGlobal": true,
6
6
  "license": "Apache-2.0",
@@ -39,30 +39,30 @@
39
39
  "@vercel/build-utils": "14.10.1",
40
40
  "@vercel/cli-auth": "0.3.8",
41
41
  "@vercel/cli-config": "0.2.7",
42
+ "@vercel/container": "8.2.2",
42
43
  "@vercel/detect-agent": "1.2.5",
43
- "@vercel/container": "8.2.1",
44
- "@vercel/elysia": "8.0.1",
45
44
  "@vercel/express": "8.0.1",
46
45
  "@vercel/fastify": "8.0.1",
47
46
  "@vercel/go": "11.0.1",
48
- "@vercel/hydrogen": "9.0.1",
49
- "@vercel/koa": "8.0.1",
50
- "@vercel/nestjs": "8.0.1",
51
47
  "@vercel/h3": "8.0.1",
48
+ "@vercel/hono": "8.0.1",
49
+ "@vercel/koa": "8.0.1",
50
+ "@vercel/hydrogen": "9.0.1",
51
+ "@vercel/elysia": "8.0.1",
52
52
  "@vercel/next": "12.0.3",
53
53
  "@vercel/node": "13.0.1",
54
- "@vercel/python": "14.1.1",
55
- "@vercel/python-analysis": "0.14.0",
56
- "@vercel/hono": "8.0.1",
54
+ "@vercel/python": "14.2.0",
57
55
  "@vercel/redwood": "10.0.1",
58
56
  "@vercel/remix-builder": "13.0.1",
57
+ "@vercel/python-analysis": "0.14.0",
59
58
  "@vercel/ruby": "10.0.1",
60
59
  "@vercel/rust": "9.0.1",
60
+ "@vercel/nestjs": "8.0.1",
61
61
  "@vercel/static-build": "10.0.1"
62
62
  },
63
63
  "builders": {
64
64
  "@vercel/backends": "8.0.1",
65
- "@vercel/container": "8.2.1",
65
+ "@vercel/container": "8.2.2",
66
66
  "@vercel/elysia": "8.0.1",
67
67
  "@vercel/express": "8.0.1",
68
68
  "@vercel/fastify": "8.0.1",
@@ -74,7 +74,7 @@
74
74
  "@vercel/nestjs": "8.0.1",
75
75
  "@vercel/next": "12.0.3",
76
76
  "@vercel/node": "13.0.1",
77
- "@vercel/python": "14.1.1",
77
+ "@vercel/python": "14.2.0",
78
78
  "@vercel/redwood": "10.0.1",
79
79
  "@vercel/remix-builder": "13.0.1",
80
80
  "@vercel/ruby": "10.0.1",
@@ -206,25 +206,25 @@
206
206
  "write-json-file": "2.2.0",
207
207
  "xdg-app-paths": "5.1.0",
208
208
  "yauzl-promise": "2.1.3",
209
- "@vercel-internals/builder-orchestration": "1.0.1",
210
209
  "@vercel-internals/cli-builder-integration": "1.0.1",
211
210
  "@vercel-internals/constants": "1.0.4",
212
211
  "@vercel-internals/get-package-json": "1.0.0",
213
212
  "@vercel-internals/service-topology": "1.0.1",
213
+ "@vercel-internals/builder-orchestration": "1.0.1",
214
214
  "@vercel-internals/types": "3.0.6",
215
215
  "@vercel/client": "18.4.1",
216
- "@vercel/error-utils": "2.2.1",
217
216
  "@vercel/frameworks": "3.34.0",
217
+ "@vercel/error-utils": "2.2.1",
218
218
  "@vercel/fs-detectors": "7.5.0",
219
219
  "@vercel/routing-utils": "6.6.0"
220
220
  },
221
221
  "optionalDependencies": {
222
- "@vercel/vc-native-darwin-arm64": "59.23.0",
223
- "@vercel/vc-native-darwin-x64": "59.23.0",
224
- "@vercel/vc-native-linux-arm64": "59.23.0",
225
- "@vercel/vc-native-linux-x64": "59.23.0",
226
- "@vercel/vc-native-win32-arm64": "59.23.0",
227
- "@vercel/vc-native-win32-x64": "59.23.0"
222
+ "@vercel/vc-native-darwin-arm64": "59.23.2",
223
+ "@vercel/vc-native-darwin-x64": "59.23.2",
224
+ "@vercel/vc-native-linux-arm64": "59.23.2",
225
+ "@vercel/vc-native-linux-x64": "59.23.2",
226
+ "@vercel/vc-native-win32-arm64": "59.23.2",
227
+ "@vercel/vc-native-win32-x64": "59.23.2"
228
228
  },
229
229
  "scripts": {
230
230
  "test": "node scripts/test.mjs --run",