vercel 57.0.0 → 58.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.
- package/dist/chunks/{add-7M577U56.js → add-QKP6ZCHQ.js} +7 -7
- package/dist/chunks/{add-YRZTDNXX.js → add-WKV7KU4Y.js} +10 -8
- package/dist/chunks/build-ZXEK6YEA.js +240 -0
- package/dist/chunks/{chunk-4PGF367U.js → chunk-2D22CMQ7.js} +21 -3
- package/dist/chunks/{chunk-YA3WQFLY.js → chunk-32IPC6RB.js} +1 -1
- package/dist/chunks/{chunk-HD7B425F.js → chunk-3YARBN7P.js} +4 -4
- package/dist/chunks/{chunk-QZD5DKUR.js → chunk-4I7DTZAJ.js} +2 -2
- package/dist/chunks/{chunk-555WJSO5.js → chunk-4LSERVQQ.js} +4 -4
- package/dist/chunks/{chunk-2EDWKVNP.js → chunk-552YY6QY.js} +25 -11
- package/dist/chunks/{chunk-LMHT3QR3.js → chunk-5AG7MR7W.js} +3 -3
- package/dist/chunks/{chunk-A2TYQBX2.js → chunk-6QUKJKFX.js} +509 -242
- package/dist/chunks/{chunk-KCF6S3XF.js → chunk-75MDJ6TK.js} +10 -6
- package/dist/chunks/{chunk-FHEMFAHB.js → chunk-AX3N4MO2.js} +15 -9
- package/dist/chunks/{chunk-NRNMT43R.js → chunk-BAUVB2VF.js} +5 -11
- package/dist/chunks/{chunk-F7X55TOY.js → chunk-C267R2FA.js} +6 -5
- package/dist/chunks/{chunk-RAFH25WW.js → chunk-CSI7GEDD.js} +4 -4
- package/dist/chunks/{chunk-T4NODP6Y.js → chunk-CXICXWXJ.js} +3 -3
- package/dist/chunks/{chunk-TBR2Q37Y.js → chunk-DKS4XDVC.js} +248 -47
- package/dist/chunks/{chunk-DWMH5M4Q.js → chunk-E4LXCO7U.js} +1 -1
- package/dist/chunks/{chunk-ZVLPUREX.js → chunk-FBPCJV72.js} +2 -2
- package/dist/chunks/{chunk-VZSZBD4V.js → chunk-FR352QKR.js} +1 -1
- package/dist/chunks/{chunk-MAHINYBW.js → chunk-HXTQVMJZ.js} +2 -2
- package/dist/chunks/{chunk-NH43BFJ3.js → chunk-JA3QX2H6.js} +2 -2
- package/dist/chunks/{chunk-IOAZNR6Z.js → chunk-JNP3FQR3.js} +1 -1
- package/dist/chunks/{chunk-YOZCJHLZ.js → chunk-KLNWR2JI.js} +7 -7
- package/dist/chunks/{chunk-LHFNIZ2P.js → chunk-KY3ZOYJW.js} +4 -2
- package/dist/chunks/{chunk-NZRWTCRM.js → chunk-LA3BQQQK.js} +1 -1
- package/dist/chunks/{chunk-R5FOIIHT.js → chunk-LXA2GZ7U.js} +1 -1
- package/dist/chunks/{chunk-GIL3VAUR.js → chunk-NGYOR3MN.js} +5 -3
- package/dist/chunks/{chunk-3PKFXNJZ.js → chunk-NYURBHZJ.js} +7 -5
- package/dist/chunks/{chunk-F5PQWDOC.js → chunk-OG7DIS52.js} +1 -1
- package/dist/chunks/{chunk-3242RXCN.js → chunk-OVW5WUCR.js} +1 -1
- package/dist/chunks/{chunk-DMSLNAVH.js → chunk-P7IO46BQ.js} +2 -2
- package/dist/chunks/{chunk-MIFDRYTN.js → chunk-QCB22TQG.js} +2 -2
- package/dist/chunks/chunk-RBIFXFZX.js +52 -0
- package/dist/chunks/{chunk-SZXT3PDQ.js → chunk-RL7X7JGK.js} +1 -1
- package/dist/chunks/{chunk-UDWRZXIT.js → chunk-S7LXRKLD.js} +2 -1
- package/dist/chunks/{chunk-FYQPTH5C.js → chunk-TCBOCSWF.js} +7 -5
- package/dist/chunks/{chunk-OF2GNB42.js → chunk-TF627KEI.js} +1 -1
- package/dist/chunks/{chunk-4G6QZSBL.js → chunk-TPB4F5XN.js} +6 -4
- package/dist/chunks/{chunk-KSSNLCL4.js → chunk-U6PPDPR5.js} +2 -3
- package/dist/chunks/{chunk-3VS4DTAU.js → chunk-V6WHZAPP.js} +101 -11
- package/dist/chunks/{chunk-OGG6UBXK.js → chunk-VSMCQSGH.js} +1 -1
- package/dist/chunks/{chunk-3PGXYIKC.js → chunk-XAWGGWSG.js} +2 -2
- package/dist/chunks/{chunk-2MJROFVC.js → chunk-XTLNPNWY.js} +8 -5
- package/dist/chunks/{chunk-GP5VCTEU.js → chunk-XTQADJ6S.js} +207 -4
- package/dist/chunks/{chunk-RYO6FJFB.js → chunk-YITWM37U.js} +2 -2
- package/dist/chunks/{compile-vercel-config-3OHO3TJA.js → compile-vercel-config-AFGCQEYG.js} +4 -4
- package/dist/chunks/config-validator.mjs +1 -1
- package/dist/chunks/{delete-VOSJLNEA.js → delete-UGSJQBE7.js} +6 -6
- package/dist/chunks/{delete-3DZOCWCC.js → delete-Y5LNEZXI.js} +6 -6
- package/dist/chunks/{disable-LQDEVRQF.js → disable-IF3AHKJD.js} +6 -6
- package/dist/chunks/{discard-RGV4JKXQ.js → discard-Y6GZBIHJ.js} +6 -6
- package/dist/chunks/{edit-SFIEOQ24.js → edit-6TGJKUI5.js} +7 -7
- package/dist/chunks/{edit-UPZPI54L.js → edit-HNMKZ3YT.js} +6 -6
- package/dist/chunks/{enable-6UVH35WC.js → enable-SE4QM4X3.js} +6 -6
- package/dist/chunks/{export-6CEG3CK7.js → export-5AYL7HCJ.js} +6 -6
- package/dist/chunks/{image-CQRCD2OE.js → image-6BYNQVGW.js} +5 -5
- package/dist/chunks/{inspect-ZFRY3X3H.js → inspect-3KCFHDWA.js} +11 -11
- package/dist/chunks/{inspect-4ZAH3RFT.js → inspect-DPTRYDFH.js} +7 -7
- package/dist/chunks/{inspect-EXQBIAFF.js → inspect-FGYXO4K5.js} +10 -10
- package/dist/chunks/{inspect-K5ZMQG7X.js → inspect-LTHZUXA2.js} +10 -10
- package/dist/chunks/{inspect-UM3LDRPV.js → inspect-MA36GG73.js} +10 -10
- package/dist/chunks/{list-4DRVM7Q4.js → list-BTOXZBQK.js} +10 -10
- package/dist/chunks/{list-KCUHD4OA.js → list-OCW34SRV.js} +7 -7
- package/dist/chunks/{list-FJCBOCCA.js → list-VTQZSIIT.js} +5 -5
- package/dist/chunks/{login-DFGYNU3K.js → login-VSXLK5ZU.js} +18 -50
- package/dist/chunks/{ls-RHEQ6YQB.js → ls-3UA57DZZ.js} +10 -10
- package/dist/chunks/{ls-CG6A7UXF.js → ls-76YTWNKD.js} +11 -11
- package/dist/chunks/{ls-4QHHVXXD.js → ls-DRI2AOFB.js} +12 -12
- package/dist/chunks/{ls-34NCZKBE.js → ls-ZBLTJ5RE.js} +11 -11
- package/dist/chunks/{open-E3XADEMX.js → open-DVKAE5HP.js} +6 -6
- package/dist/chunks/{publish-Z3AQRUCS.js → publish-F5C4ZA7M.js} +6 -6
- package/dist/chunks/push-PKJFQTLO.js +180 -0
- package/dist/chunks/{query-3EV66DO3.js → query-GT5LCT45.js} +9 -9
- package/dist/chunks/{reorder-VA5E5ZJT.js → reorder-AQW4XFDS.js} +6 -6
- package/dist/chunks/{reply-SNSCNKAW.js → reply-FI7SADGU.js} +6 -6
- package/dist/chunks/{resolve-6ZX4RTXX.js → resolve-C5G7JJZJ.js} +6 -6
- package/dist/chunks/{restore-NEHI5B5P.js → restore-5TLSHQOS.js} +6 -6
- package/dist/chunks/{rm-22B22E47.js → rm-2EN66OYO.js} +8 -6
- package/dist/chunks/{rm-FR6KE744.js → rm-C37BHGQI.js} +7 -7
- package/dist/chunks/{rm-E5ZVLAKO.js → rm-L7OQPCIE.js} +10 -8
- package/dist/chunks/{rule-inspect-DMP2CKJQ.js → rule-inspect-V5DRHOTZ.js} +10 -10
- package/dist/chunks/{rules-EYGXEI2Z.js → rules-5XEMLN5G.js} +8 -8
- package/dist/chunks/{schema-2IIWOBSQ.js → schema-UEOZVBY5.js} +8 -8
- package/dist/chunks/{tags-ZDVYRHAY.js → tags-ZGANV4YD.js} +4 -4
- package/dist/chunks/{types-QKLIFDDP.js → types-IKWGLSDF.js} +4 -4
- package/dist/chunks/{update-QH4DQMZV.js → update-DHWSMSMS.js} +7 -7
- package/dist/commands/build/index.js +12 -16
- package/dist/commands/deploy/index.js +29 -24
- package/dist/commands/dev/index.js +25 -12
- package/dist/commands/env/index.js +28 -23
- package/dist/commands/link/index.js +21 -21
- package/dist/commands/list/index.js +13 -8
- package/dist/commands-bulk.js +3659 -2183
- package/dist/help.js +1 -1
- package/dist/index.js +24 -23
- package/dist/version.mjs +1 -1
- package/package.json +34 -92
- package/dist/chunks/chunk-6OMC3HOW.js +0 -73
|
@@ -6,13 +6,14 @@ const __filename = __fileURLToPath(import.meta.url);
|
|
|
6
6
|
const __dirname = __dirname_(__filename);
|
|
7
7
|
import {
|
|
8
8
|
rulesAggregateCommand
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-75MDJ6TK.js";
|
|
10
10
|
import {
|
|
11
11
|
formatOption,
|
|
12
|
+
jsonOption,
|
|
12
13
|
limitOption,
|
|
13
14
|
packageName,
|
|
14
15
|
projectOption
|
|
15
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-U6PPDPR5.js";
|
|
16
17
|
|
|
17
18
|
// src/commands/alerts/command.ts
|
|
18
19
|
var listSubcommand = {
|
|
@@ -37,6 +38,7 @@ var inspectSubcommand = {
|
|
|
37
38
|
],
|
|
38
39
|
options: [
|
|
39
40
|
formatOption,
|
|
41
|
+
jsonOption,
|
|
40
42
|
{
|
|
41
43
|
...projectOption,
|
|
42
44
|
shorthand: "p",
|
|
@@ -57,7 +59,7 @@ var inspectSubcommand = {
|
|
|
57
59
|
},
|
|
58
60
|
{
|
|
59
61
|
name: "Inspect as JSON",
|
|
60
|
-
value: `${packageName} alerts inspect grp_abc123 --
|
|
62
|
+
value: `${packageName} alerts inspect grp_abc123 --json`
|
|
61
63
|
}
|
|
62
64
|
]
|
|
63
65
|
};
|
|
@@ -112,7 +114,8 @@ var alertsCommand = {
|
|
|
112
114
|
description: "End of time range (ISO-8601). Defaults to now."
|
|
113
115
|
},
|
|
114
116
|
limitOption,
|
|
115
|
-
formatOption
|
|
117
|
+
formatOption,
|
|
118
|
+
jsonOption
|
|
116
119
|
],
|
|
117
120
|
examples: [
|
|
118
121
|
{
|
|
@@ -133,7 +136,7 @@ var alertsCommand = {
|
|
|
133
136
|
},
|
|
134
137
|
{
|
|
135
138
|
name: "Output JSON",
|
|
136
|
-
value: `${packageName} alerts --
|
|
139
|
+
value: `${packageName} alerts --json`
|
|
137
140
|
},
|
|
138
141
|
{
|
|
139
142
|
name: "Custom time range",
|
|
@@ -4,30 +4,43 @@ import { dirname as __dirname_ } from 'node:path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
const __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = __dirname_(__filename);
|
|
7
|
+
import {
|
|
8
|
+
require_lib
|
|
9
|
+
} from "./chunk-G75NFPIT.js";
|
|
7
10
|
import {
|
|
8
11
|
outputError
|
|
9
12
|
} from "./chunk-BUZRVER7.js";
|
|
10
13
|
import {
|
|
11
14
|
validateJsonOutput
|
|
12
15
|
} from "./chunk-XPKWKPWA.js";
|
|
16
|
+
import {
|
|
17
|
+
require_execa
|
|
18
|
+
} from "./chunk-R6IGDGX3.js";
|
|
13
19
|
import {
|
|
14
20
|
getLinkedProject,
|
|
15
21
|
getProjectByNameOrId,
|
|
16
22
|
getScope
|
|
17
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-DKS4XDVC.js";
|
|
18
24
|
import {
|
|
19
25
|
AGENT_REASON,
|
|
20
26
|
buildCommandWithGlobalFlags,
|
|
21
27
|
outputAgentError
|
|
22
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-S7LXRKLD.js";
|
|
23
29
|
import {
|
|
24
30
|
ProjectNotFound,
|
|
25
31
|
isAPIError,
|
|
26
|
-
packageName
|
|
27
|
-
|
|
32
|
+
packageName,
|
|
33
|
+
require_bytes
|
|
34
|
+
} from "./chunk-U6PPDPR5.js";
|
|
28
35
|
import {
|
|
29
36
|
output_manager_default
|
|
30
37
|
} from "./chunk-OX7KI3LF.js";
|
|
38
|
+
import {
|
|
39
|
+
require_ms
|
|
40
|
+
} from "./chunk-GGP5R3FU.js";
|
|
41
|
+
import {
|
|
42
|
+
__toESM
|
|
43
|
+
} from "./chunk-TZ2YI2VH.js";
|
|
31
44
|
|
|
32
45
|
// src/commands/vcr/utils/resolve-vcr-scope.ts
|
|
33
46
|
function emitVcrScopeError(client, jsonOutput, code, message, agent) {
|
|
@@ -149,6 +162,54 @@ async function resolveVcrScope(client, opts) {
|
|
|
149
162
|
};
|
|
150
163
|
}
|
|
151
164
|
|
|
165
|
+
// src/commands/vcr/utils/format.ts
|
|
166
|
+
var import_ms = __toESM(require_ms(), 1);
|
|
167
|
+
var import_bytes = __toESM(require_bytes(), 1);
|
|
168
|
+
function formatBytes(size) {
|
|
169
|
+
if (typeof size !== "number" || Number.isNaN(size)) {
|
|
170
|
+
return "-";
|
|
171
|
+
}
|
|
172
|
+
return import_bytes.default.format(size, { decimalPlaces: 1 }) ?? "-";
|
|
173
|
+
}
|
|
174
|
+
function formatRelativeTime(iso) {
|
|
175
|
+
const time = new Date(iso).getTime();
|
|
176
|
+
if (Number.isNaN(time)) {
|
|
177
|
+
return "-";
|
|
178
|
+
}
|
|
179
|
+
return `${(0, import_ms.default)(Date.now() - time)} ago`;
|
|
180
|
+
}
|
|
181
|
+
function formatDigest(digest) {
|
|
182
|
+
if (!digest) {
|
|
183
|
+
return "-";
|
|
184
|
+
}
|
|
185
|
+
return digest.replace(/^sha256:/, "").slice(0, 12);
|
|
186
|
+
}
|
|
187
|
+
function formatImageStatus(status) {
|
|
188
|
+
switch (status) {
|
|
189
|
+
case "ready":
|
|
190
|
+
return "Ready";
|
|
191
|
+
case "preparing":
|
|
192
|
+
return "Preparing";
|
|
193
|
+
case "unoptimized":
|
|
194
|
+
return "Ready (unoptimized)";
|
|
195
|
+
default:
|
|
196
|
+
return "-";
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
var VCR_REGISTRY = "vcr.vercel.com";
|
|
200
|
+
function formatImageReference(teamSlug, projectName, repositoryName, digest) {
|
|
201
|
+
if (!digest) {
|
|
202
|
+
return "-";
|
|
203
|
+
}
|
|
204
|
+
return `${VCR_REGISTRY}/${teamSlug}/${projectName}/${repositoryName}@${digest}`;
|
|
205
|
+
}
|
|
206
|
+
function formatTagReference(teamSlug, projectName, repositoryName, tag) {
|
|
207
|
+
if (!tag) {
|
|
208
|
+
return "-";
|
|
209
|
+
}
|
|
210
|
+
return `${VCR_REGISTRY}/${teamSlug}/${projectName}/${repositoryName}:${tag}`;
|
|
211
|
+
}
|
|
212
|
+
|
|
152
213
|
// src/commands/vcr/utils/validators.ts
|
|
153
214
|
function validateVcrJsonOutput(client, flags) {
|
|
154
215
|
const fr = validateJsonOutput(flags);
|
|
@@ -268,6 +329,89 @@ function requireVcrRepositoryAndImageId(client, repository, imageId, jsonOutput,
|
|
|
268
329
|
);
|
|
269
330
|
}
|
|
270
331
|
|
|
332
|
+
// src/commands/vcr/utils/engine.ts
|
|
333
|
+
var import_which = __toESM(require_lib(), 1);
|
|
334
|
+
var import_execa = __toESM(require_execa(), 1);
|
|
335
|
+
var VCR_ENGINES = ["docker", "podman", "buildah"];
|
|
336
|
+
var VCR_LOGIN_USERNAME = "oidc";
|
|
337
|
+
function resolveRegistry() {
|
|
338
|
+
return process.env.VERCEL_VCR_REGISTRY || VCR_REGISTRY;
|
|
339
|
+
}
|
|
340
|
+
function isEngineInstalled(engine) {
|
|
341
|
+
return import_which.default.sync(engine, { nothrow: true }) !== null;
|
|
342
|
+
}
|
|
343
|
+
function splitPassthrough(argv) {
|
|
344
|
+
const idx = argv.indexOf("--");
|
|
345
|
+
if (idx === -1) {
|
|
346
|
+
return { own: argv.slice(2), passthrough: [] };
|
|
347
|
+
}
|
|
348
|
+
return { own: argv.slice(2, idx), passthrough: argv.slice(idx + 1) };
|
|
349
|
+
}
|
|
350
|
+
async function isBuildxAvailable() {
|
|
351
|
+
const result = await (0, import_execa.default)("docker", ["buildx", "version"], {
|
|
352
|
+
reject: false,
|
|
353
|
+
stdio: "ignore"
|
|
354
|
+
});
|
|
355
|
+
if (result instanceof Error) {
|
|
356
|
+
return false;
|
|
357
|
+
}
|
|
358
|
+
return result.exitCode === 0;
|
|
359
|
+
}
|
|
360
|
+
function pushCompressionArgs(engine) {
|
|
361
|
+
if (engine === "docker") {
|
|
362
|
+
return [];
|
|
363
|
+
}
|
|
364
|
+
return ["--compression-format", "zstd", "--compression-level", "3"];
|
|
365
|
+
}
|
|
366
|
+
var AUTH_FAILURE = /\b(?:unauthorized|denied|forbidden)\b\s*:|authentication required|access to the resource is denied|\b(?:401 unauthorized|403 forbidden)\b/i;
|
|
367
|
+
function stderrTail(stderr) {
|
|
368
|
+
return stderr.trim().split("\n").slice(-5).join("\n");
|
|
369
|
+
}
|
|
370
|
+
async function engineLogin(engine, registry, token) {
|
|
371
|
+
const result = await (0, import_execa.default)(
|
|
372
|
+
engine,
|
|
373
|
+
["login", registry, "--username", VCR_LOGIN_USERNAME, "--password-stdin"],
|
|
374
|
+
{ input: token, reject: false }
|
|
375
|
+
);
|
|
376
|
+
if (result instanceof Error && typeof result.exitCode !== "number") {
|
|
377
|
+
return { exitCode: 1, stderr: result.message };
|
|
378
|
+
}
|
|
379
|
+
return {
|
|
380
|
+
exitCode: typeof result.exitCode === "number" ? result.exitCode : 1,
|
|
381
|
+
stderr: result.stderr ?? ""
|
|
382
|
+
};
|
|
383
|
+
}
|
|
384
|
+
async function runEngine(engine, args, opts) {
|
|
385
|
+
if (opts.captureStderr) {
|
|
386
|
+
const subprocess = (0, import_execa.default)(engine, args, {
|
|
387
|
+
cwd: opts.cwd,
|
|
388
|
+
stdio: ["inherit", "inherit", "pipe"],
|
|
389
|
+
reject: false
|
|
390
|
+
});
|
|
391
|
+
subprocess.stderr?.pipe(process.stderr);
|
|
392
|
+
const result2 = await subprocess;
|
|
393
|
+
if (result2 instanceof Error && typeof result2.exitCode !== "number") {
|
|
394
|
+
return { exitCode: 1, stderr: result2.message };
|
|
395
|
+
}
|
|
396
|
+
return {
|
|
397
|
+
exitCode: typeof result2.exitCode === "number" ? result2.exitCode : 1,
|
|
398
|
+
stderr: result2.stderr ?? ""
|
|
399
|
+
};
|
|
400
|
+
}
|
|
401
|
+
const result = await (0, import_execa.default)(engine, args, {
|
|
402
|
+
cwd: opts.cwd,
|
|
403
|
+
stdio: "inherit",
|
|
404
|
+
reject: false
|
|
405
|
+
});
|
|
406
|
+
if (result instanceof Error && typeof result.exitCode !== "number") {
|
|
407
|
+
return { exitCode: 1, stderr: result.message };
|
|
408
|
+
}
|
|
409
|
+
return {
|
|
410
|
+
exitCode: typeof result.exitCode === "number" ? result.exitCode : 1,
|
|
411
|
+
stderr: ""
|
|
412
|
+
};
|
|
413
|
+
}
|
|
414
|
+
|
|
271
415
|
// src/commands/vcr/utils/errors.ts
|
|
272
416
|
var NOT_AUTHORIZED_MESSAGE = "You do not have access to the container registry in this scope. Ensure your role can manage the project, or pass --token and --scope.";
|
|
273
417
|
var NOT_AUTHORIZED_HINT = "Confirm team scope with whoami; use --scope <team-slug> if the repository lives under another team.";
|
|
@@ -327,6 +471,46 @@ function handleVcrApiError(client, err, jsonOutput, opts = {}) {
|
|
|
327
471
|
);
|
|
328
472
|
return outputError(client, jsonOutput, err.code || "API_ERROR", message);
|
|
329
473
|
}
|
|
474
|
+
function reportEngineCommandFailure(client, engine, verb, result) {
|
|
475
|
+
const tail = stderrTail(result.stderr);
|
|
476
|
+
const message = `\`${engine} ${verb}\` failed (exit code ${result.exitCode}).${tail ? `
|
|
477
|
+
${tail}` : ""}`;
|
|
478
|
+
outputAgentError(
|
|
479
|
+
client,
|
|
480
|
+
{
|
|
481
|
+
status: "error",
|
|
482
|
+
reason: "command_failed",
|
|
483
|
+
message
|
|
484
|
+
},
|
|
485
|
+
1
|
|
486
|
+
);
|
|
487
|
+
return outputError(client, false, "COMMAND_FAILED", message);
|
|
488
|
+
}
|
|
489
|
+
function reportEnginePushFailure(client, engine, verb, result) {
|
|
490
|
+
if (AUTH_FAILURE.test(result.stderr)) {
|
|
491
|
+
const message = `Push to ${resolveRegistry()} was rejected. Your registry credentials may be missing or expired.`;
|
|
492
|
+
outputAgentError(
|
|
493
|
+
client,
|
|
494
|
+
{
|
|
495
|
+
status: "error",
|
|
496
|
+
reason: "not_authorized",
|
|
497
|
+
message,
|
|
498
|
+
next: [
|
|
499
|
+
{
|
|
500
|
+
command: buildCommandWithGlobalFlags(
|
|
501
|
+
client.argv,
|
|
502
|
+
`vcr login ${engine}`
|
|
503
|
+
),
|
|
504
|
+
when: "Refresh registry credentials (valid ~12 hours)"
|
|
505
|
+
}
|
|
506
|
+
]
|
|
507
|
+
},
|
|
508
|
+
1
|
|
509
|
+
);
|
|
510
|
+
return outputError(client, false, "NOT_AUTHORIZED", message);
|
|
511
|
+
}
|
|
512
|
+
return reportEngineCommandFailure(client, engine, verb, result);
|
|
513
|
+
}
|
|
330
514
|
function emitVcrArgParseError(client, err, recoverTemplate) {
|
|
331
515
|
const msg = err instanceof Error ? err.message : String(err);
|
|
332
516
|
const projectFlagMissingArg = msg.includes("--project") && msg.includes("requires argument");
|
|
@@ -349,11 +533,30 @@ function emitVcrArgParseError(client, err, recoverTemplate) {
|
|
|
349
533
|
|
|
350
534
|
export {
|
|
351
535
|
resolveVcrScope,
|
|
536
|
+
formatBytes,
|
|
537
|
+
formatRelativeTime,
|
|
538
|
+
formatDigest,
|
|
539
|
+
formatImageStatus,
|
|
540
|
+
formatImageReference,
|
|
541
|
+
formatTagReference,
|
|
352
542
|
validateVcrJsonOutput,
|
|
353
543
|
validateVcrChoice,
|
|
354
544
|
requireVcrRepository,
|
|
355
545
|
requireVcrRepositoryAndTag,
|
|
356
546
|
requireVcrRepositoryAndImageId,
|
|
547
|
+
VCR_ENGINES,
|
|
548
|
+
VCR_LOGIN_USERNAME,
|
|
549
|
+
resolveRegistry,
|
|
550
|
+
isEngineInstalled,
|
|
551
|
+
splitPassthrough,
|
|
552
|
+
isBuildxAvailable,
|
|
553
|
+
pushCompressionArgs,
|
|
554
|
+
AUTH_FAILURE,
|
|
555
|
+
stderrTail,
|
|
556
|
+
engineLogin,
|
|
557
|
+
runEngine,
|
|
357
558
|
handleVcrApiError,
|
|
559
|
+
reportEngineCommandFailure,
|
|
560
|
+
reportEnginePushFailure,
|
|
358
561
|
emitVcrArgParseError
|
|
359
562
|
};
|
|
@@ -6,13 +6,13 @@ const __filename = __fileURLToPath(import.meta.url);
|
|
|
6
6
|
const __dirname = __dirname_(__filename);
|
|
7
7
|
import {
|
|
8
8
|
require_lib
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-DKS4XDVC.js";
|
|
10
10
|
import {
|
|
11
11
|
isNativeBinaryInstall
|
|
12
12
|
} from "./chunk-ECCWJHC6.js";
|
|
13
13
|
import {
|
|
14
14
|
packageName
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-U6PPDPR5.js";
|
|
16
16
|
import {
|
|
17
17
|
__toESM
|
|
18
18
|
} from "./chunk-TZ2YI2VH.js";
|
|
@@ -11,11 +11,11 @@ import {
|
|
|
11
11
|
findSourceVercelConfigFile,
|
|
12
12
|
getVercelConfigPath,
|
|
13
13
|
normalizeConfig
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-DKS4XDVC.js";
|
|
15
15
|
import "./chunk-ECCWJHC6.js";
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-S7LXRKLD.js";
|
|
17
|
+
import "./chunk-RL7X7JGK.js";
|
|
18
|
+
import "./chunk-U6PPDPR5.js";
|
|
19
19
|
import "./chunk-P4QNYOFB.js";
|
|
20
20
|
import "./chunk-52QYYTM5.js";
|
|
21
21
|
import "./chunk-OX7KI3LF.js";
|