vercel 54.20.0 → 54.21.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-IB7HE5S5.js → add-KZSG7SVG.js} +4 -4
- package/dist/chunks/{add-TF5VZLCY.js → add-UDJ45UVF.js} +5 -5
- package/dist/chunks/{chunk-YWLVPKNT.js → chunk-6SVPJXCO.js} +1 -1
- package/dist/chunks/{chunk-FVI6UYNL.js → chunk-6W7I5IOO.js} +1 -1
- package/dist/chunks/{chunk-JHQOIGTY.js → chunk-BEETD7P4.js} +3 -3
- package/dist/chunks/{chunk-JDO6BSKN.js → chunk-BLWPQEED.js} +4 -4
- package/dist/chunks/{chunk-7PAKWBN4.js → chunk-DBA4N3OZ.js} +2 -2
- package/dist/chunks/{chunk-IZOHLD5D.js → chunk-DDS5Z2MB.js} +53 -4
- package/dist/chunks/{chunk-3S2QGKYZ.js → chunk-DJ4JEVDI.js} +1 -1
- package/dist/chunks/{chunk-FZZWTDNQ.js → chunk-FCYCUCLI.js} +2 -2
- package/dist/chunks/{chunk-U3FBUYRS.js → chunk-HAZXLIKZ.js} +1 -1
- package/dist/chunks/{chunk-RB7WQKNC.js → chunk-IR674PKY.js} +5 -2
- package/dist/chunks/{chunk-5MVXR7B7.js → chunk-JAUGUJR3.js} +1 -1
- package/dist/chunks/{chunk-Q7GZMMHB.js → chunk-JIX2UI23.js} +3 -3
- package/dist/chunks/{chunk-ITU4COOO.js → chunk-KGPSD6TA.js} +9 -44
- package/dist/chunks/{chunk-T63I6OUR.js → chunk-KS5FONWU.js} +4 -4
- package/dist/chunks/{chunk-P726GMBL.js → chunk-LVR7QUSG.js} +1 -1
- package/dist/chunks/{chunk-LFODAB54.js → chunk-R5FOIIHT.js} +6 -0
- package/dist/chunks/{chunk-O2QNLUYX.js → chunk-S2N7BLSM.js} +1 -1
- package/dist/chunks/{chunk-4BEUS7AL.js → chunk-SCQAJO6E.js} +88 -2
- package/dist/chunks/{chunk-Q4A2Q46Z.js → chunk-TYXSXFVM.js} +4 -4
- package/dist/chunks/{chunk-6ISLGUMI.js → chunk-UDIFOPZL.js} +4 -4
- package/dist/chunks/{chunk-TV7GKFSY.js → chunk-VDTSYCXY.js} +2 -2
- package/dist/chunks/{chunk-GDAO4PGA.js → chunk-VFXF4O4X.js} +3 -3
- package/dist/chunks/{compile-vercel-config-XEZ2TPQ4.js → compile-vercel-config-DY63NSZV.js} +2 -2
- package/dist/chunks/{delete-O3F4EP2W.js → delete-WVLC7FLA.js} +3 -3
- package/dist/chunks/{disable-SJWGUQKZ.js → disable-VLYKCAM5.js} +3 -3
- package/dist/chunks/{discard-EQD6ENC3.js → discard-GGNJLKTH.js} +3 -3
- package/dist/chunks/{edit-NAIWNSXE.js → edit-ZU5K7DM3.js} +4 -4
- package/dist/chunks/{enable-LXO62HU5.js → enable-G3MUGP3W.js} +3 -3
- package/dist/chunks/{export-EHVTYAAP.js → export-QHSB2FON.js} +3 -3
- package/dist/chunks/{image-2DL7JEWW.js → image-CWHCW3N5.js} +4 -4
- package/dist/chunks/{inspect-PL3PE5IJ.js → inspect-HFCKYQQ3.js} +4 -4
- package/dist/chunks/{inspect-EGXHWKY3.js → inspect-OVAC6PJK.js} +4 -4
- package/dist/chunks/{inspect-Z3QJOMNP.js → inspect-QJSREPM3.js} +4 -4
- package/dist/chunks/{inspect-6IHZTLFA.js → inspect-W6RHYESL.js} +4 -4
- package/dist/chunks/{list-KNRPDNQF.js → list-2XYQW3YA.js} +4 -4
- package/dist/chunks/{list-BB4T4KT5.js → list-R37YS5CX.js} +3 -3
- package/dist/chunks/{ls-EP4Q6VF4.js → ls-7JNUKRV2.js} +4 -4
- package/dist/chunks/{ls-IQKMDRUB.js → ls-HKVAT223.js} +4 -4
- package/dist/chunks/{ls-MUS72LBS.js → ls-JJXUYZU7.js} +4 -4
- package/dist/chunks/{ls-FTQGK4R6.js → ls-X7Y37IPT.js} +5 -5
- package/dist/chunks/{publish-27V2MMFS.js → publish-MYVZ4UTW.js} +3 -3
- package/dist/chunks/{query-C6FEOG5R.js → query-ZH2YJPAC.js} +3 -3
- package/dist/chunks/{reorder-DCSIJX72.js → reorder-VY53EYZJ.js} +3 -3
- package/dist/chunks/{restore-NRUBGNSK.js → restore-F2AEG3WO.js} +3 -3
- package/dist/chunks/{rm-EZFCCZFT.js → rm-IDSOMXQR.js} +4 -4
- package/dist/chunks/{rm-NMSG2WG6.js → rm-T6Z6WZZN.js} +4 -4
- package/dist/chunks/{rm-GWW57H2V.js → rm-VUL4FHMX.js} +5 -5
- package/dist/chunks/{rule-inspect-XPZJO3Y4.js → rule-inspect-ELB7P5YA.js} +5 -5
- package/dist/chunks/{rules-C6SB24UO.js → rules-XR6U5U7F.js} +7 -7
- package/dist/chunks/{schema-Z6L3EN6F.js → schema-WKPB25ZF.js} +3 -3
- package/dist/chunks/{tags-5PFVWGLK.js → tags-NSWTVGHE.js} +3 -3
- package/dist/chunks/{update-BCLMLJM7.js → update-H4Q24DK4.js} +5 -5
- package/dist/commands/build/index.js +3268 -220
- package/dist/commands/deploy/index.js +11 -11
- package/dist/commands/dev/index.js +9 -9
- package/dist/commands/env/index.js +5 -5
- package/dist/commands/link/index.js +8 -8
- package/dist/commands/list/index.js +10 -4
- package/dist/commands-bulk.js +564 -68
- package/dist/help.js +1 -1
- package/dist/index.js +10 -10
- package/dist/version.mjs +1 -1
- package/package.json +18 -16
package/dist/commands-bulk.js
CHANGED
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
runInteractiveEditLoop,
|
|
32
32
|
stripQuotes,
|
|
33
33
|
validateActionFlags
|
|
34
|
-
} from "./chunks/chunk-
|
|
34
|
+
} from "./chunks/chunk-DJ4JEVDI.js";
|
|
35
35
|
import {
|
|
36
36
|
getRouteVersions
|
|
37
37
|
} from "./chunks/chunk-AHU7WNL2.js";
|
|
@@ -49,7 +49,7 @@ import {
|
|
|
49
49
|
parsePosition,
|
|
50
50
|
parseSubcommandArgs,
|
|
51
51
|
withGlobalFlags
|
|
52
|
-
} from "./chunks/chunk-
|
|
52
|
+
} from "./chunks/chunk-VDTSYCXY.js";
|
|
53
53
|
import {
|
|
54
54
|
normalizeRepeatableStringFilters,
|
|
55
55
|
parseTimeFlag
|
|
@@ -66,11 +66,11 @@ import {
|
|
|
66
66
|
resolveOpenApiTagForTeamsCli,
|
|
67
67
|
setAutoUpdate,
|
|
68
68
|
tryOpenApiFallback
|
|
69
|
-
} from "./chunks/chunk-
|
|
69
|
+
} from "./chunks/chunk-BLWPQEED.js";
|
|
70
70
|
import {
|
|
71
71
|
getUpdateCommand,
|
|
72
72
|
isGlobal
|
|
73
|
-
} from "./chunks/chunk-
|
|
73
|
+
} from "./chunks/chunk-6W7I5IOO.js";
|
|
74
74
|
import {
|
|
75
75
|
Now,
|
|
76
76
|
addDomain,
|
|
@@ -91,14 +91,14 @@ import {
|
|
|
91
91
|
require_format,
|
|
92
92
|
require_jsonlines,
|
|
93
93
|
setupDomain
|
|
94
|
-
} from "./chunks/chunk-
|
|
94
|
+
} from "./chunks/chunk-KS5FONWU.js";
|
|
95
95
|
import {
|
|
96
96
|
getGlobalPathConfig,
|
|
97
97
|
persistAuthConfig,
|
|
98
98
|
readLocalConfig,
|
|
99
99
|
sleep,
|
|
100
100
|
writeToConfigFile
|
|
101
|
-
} from "./chunks/chunk-
|
|
101
|
+
} from "./chunks/chunk-FCYCUCLI.js";
|
|
102
102
|
import "./chunks/chunk-V5P25P7F.js";
|
|
103
103
|
import {
|
|
104
104
|
ellipsis,
|
|
@@ -128,7 +128,7 @@ import {
|
|
|
128
128
|
import {
|
|
129
129
|
formatEnvironment,
|
|
130
130
|
validateLsArgs
|
|
131
|
-
} from "./chunks/chunk-
|
|
131
|
+
} from "./chunks/chunk-HAZXLIKZ.js";
|
|
132
132
|
import {
|
|
133
133
|
validateJsonOutput
|
|
134
134
|
} from "./chunks/chunk-XPKWKPWA.js";
|
|
@@ -398,6 +398,7 @@ import {
|
|
|
398
398
|
updateSubcommand2,
|
|
399
399
|
updateSubcommand3,
|
|
400
400
|
updateSubcommand4,
|
|
401
|
+
updateSubcommand5,
|
|
401
402
|
upgradeCommand,
|
|
402
403
|
uploadSubcommand,
|
|
403
404
|
usageCommand,
|
|
@@ -405,7 +406,7 @@ import {
|
|
|
405
406
|
webAnalyticsSubcommand,
|
|
406
407
|
webhooksCommand,
|
|
407
408
|
whoamiCommand
|
|
408
|
-
} from "./chunks/chunk-
|
|
409
|
+
} from "./chunks/chunk-SCQAJO6E.js";
|
|
409
410
|
import {
|
|
410
411
|
addSubcommand as addSubcommand12,
|
|
411
412
|
inspectSubcommand as inspectSubcommand7,
|
|
@@ -465,9 +466,9 @@ import "./chunks/chunk-DFEUWDGM.js";
|
|
|
465
466
|
import "./chunks/chunk-FNRZFHFO.js";
|
|
466
467
|
import {
|
|
467
468
|
main
|
|
468
|
-
} from "./chunks/chunk-
|
|
469
|
+
} from "./chunks/chunk-TYXSXFVM.js";
|
|
469
470
|
import "./chunks/chunk-IB5L4LKZ.js";
|
|
470
|
-
import "./chunks/chunk-
|
|
471
|
+
import "./chunks/chunk-JAUGUJR3.js";
|
|
471
472
|
import {
|
|
472
473
|
require_execa
|
|
473
474
|
} from "./chunks/chunk-24FCBXI4.js";
|
|
@@ -482,19 +483,19 @@ import {
|
|
|
482
483
|
} from "./chunks/chunk-VXYGCOKL.js";
|
|
483
484
|
import {
|
|
484
485
|
ensureLink
|
|
485
|
-
} from "./chunks/chunk-
|
|
486
|
-
import "./chunks/chunk-
|
|
486
|
+
} from "./chunks/chunk-JIX2UI23.js";
|
|
487
|
+
import "./chunks/chunk-UDIFOPZL.js";
|
|
487
488
|
import {
|
|
488
489
|
AGENT_ACTION,
|
|
489
490
|
AGENT_REASON,
|
|
490
491
|
AGENT_STATUS
|
|
491
492
|
} from "./chunks/chunk-QH7WYDEP.js";
|
|
492
|
-
import "./chunks/chunk-
|
|
493
|
-
import "./chunks/chunk-
|
|
493
|
+
import "./chunks/chunk-6SVPJXCO.js";
|
|
494
|
+
import "./chunks/chunk-S2N7BLSM.js";
|
|
494
495
|
import {
|
|
495
496
|
detectExplicitScope,
|
|
496
497
|
getScope
|
|
497
|
-
} from "./chunks/chunk-
|
|
498
|
+
} from "./chunks/chunk-LVR7QUSG.js";
|
|
498
499
|
import {
|
|
499
500
|
help
|
|
500
501
|
} from "./chunks/chunk-YSIZGIDP.js";
|
|
@@ -546,7 +547,7 @@ import {
|
|
|
546
547
|
selectAndParseRemoteUrl,
|
|
547
548
|
selectOrg,
|
|
548
549
|
ua_default
|
|
549
|
-
} from "./chunks/chunk-
|
|
550
|
+
} from "./chunks/chunk-IR674PKY.js";
|
|
550
551
|
import {
|
|
551
552
|
argvHasNonInteractive,
|
|
552
553
|
buildCommandWithGlobalFlags,
|
|
@@ -559,7 +560,7 @@ import {
|
|
|
559
560
|
outputAgentError,
|
|
560
561
|
outputAgentSuccess,
|
|
561
562
|
shouldEmitNonInteractiveCommandError
|
|
562
|
-
} from "./chunks/chunk-
|
|
563
|
+
} from "./chunks/chunk-DDS5Z2MB.js";
|
|
563
564
|
import {
|
|
564
565
|
TelemetryClient
|
|
565
566
|
} from "./chunks/chunk-ECCWJHC6.js";
|
|
@@ -2037,7 +2038,7 @@ async function activity(client) {
|
|
|
2037
2038
|
return 0;
|
|
2038
2039
|
}
|
|
2039
2040
|
telemetry2.trackCliSubcommandLs(subcommandOriginal);
|
|
2040
|
-
const listFn = (await import("./chunks/list-
|
|
2041
|
+
const listFn = (await import("./chunks/list-R37YS5CX.js")).default;
|
|
2041
2042
|
return listFn(client, telemetry2);
|
|
2042
2043
|
}
|
|
2043
2044
|
}
|
|
@@ -3140,17 +3141,17 @@ async function alerts(client) {
|
|
|
3140
3141
|
switch (subcommand) {
|
|
3141
3142
|
case "inspect": {
|
|
3142
3143
|
telemetry2.trackCliSubcommandInspect(subcommandOriginal);
|
|
3143
|
-
const inspectFn = (await import("./chunks/inspect-
|
|
3144
|
+
const inspectFn = (await import("./chunks/inspect-QJSREPM3.js")).default;
|
|
3144
3145
|
return inspectFn(client, args);
|
|
3145
3146
|
}
|
|
3146
3147
|
case "rules": {
|
|
3147
3148
|
telemetry2.trackCliSubcommandRules(args[0] ?? "ls");
|
|
3148
|
-
const rulesFn = (await import("./chunks/rules-
|
|
3149
|
+
const rulesFn = (await import("./chunks/rules-XR6U5U7F.js")).default;
|
|
3149
3150
|
return rulesFn(client, args);
|
|
3150
3151
|
}
|
|
3151
3152
|
default: {
|
|
3152
3153
|
telemetry2.trackCliSubcommandLs(subcommandOriginal);
|
|
3153
|
-
const listFn = (await import("./chunks/list-
|
|
3154
|
+
const listFn = (await import("./chunks/list-2XYQW3YA.js")).default;
|
|
3154
3155
|
return listFn(client, telemetry2);
|
|
3155
3156
|
}
|
|
3156
3157
|
}
|
|
@@ -16022,17 +16023,54 @@ function formatNSTable(intendedNameservers, currentNameservers, { extraSpace = "
|
|
|
16022
16023
|
}
|
|
16023
16024
|
|
|
16024
16025
|
// src/util/projects/find-projects-for-domain.ts
|
|
16026
|
+
var PROJECT_FETCH_BATCH_SIZE = 10;
|
|
16027
|
+
async function getDomainAssignmentsByProject(client, domainName) {
|
|
16028
|
+
const domainsByProjectId = /* @__PURE__ */ new Map();
|
|
16029
|
+
for await (const chunk of client.fetchPaginated(`/v1/domains/${encodeURIComponent(domainName)}/project-domains`)) {
|
|
16030
|
+
for (const projectDomain of chunk.projectDomains) {
|
|
16031
|
+
const domains2 = domainsByProjectId.get(projectDomain.projectId) ?? [];
|
|
16032
|
+
domains2.push(projectDomain.name);
|
|
16033
|
+
domainsByProjectId.set(projectDomain.projectId, domains2);
|
|
16034
|
+
}
|
|
16035
|
+
}
|
|
16036
|
+
return domainsByProjectId;
|
|
16037
|
+
}
|
|
16038
|
+
async function countProjectsForDomain(client, domainName) {
|
|
16039
|
+
try {
|
|
16040
|
+
const assignments = await getDomainAssignmentsByProject(client, domainName);
|
|
16041
|
+
return assignments.size;
|
|
16042
|
+
} catch (err) {
|
|
16043
|
+
if (isAPIError(err) && err.status < 500) {
|
|
16044
|
+
return err;
|
|
16045
|
+
}
|
|
16046
|
+
throw err;
|
|
16047
|
+
}
|
|
16048
|
+
}
|
|
16025
16049
|
async function findProjectsForDomain(client, domainName) {
|
|
16026
16050
|
try {
|
|
16051
|
+
const assignments = Array.from(
|
|
16052
|
+
await getDomainAssignmentsByProject(client, domainName)
|
|
16053
|
+
);
|
|
16027
16054
|
const result = [];
|
|
16028
|
-
for
|
|
16029
|
-
|
|
16030
|
-
|
|
16031
|
-
|
|
16032
|
-
|
|
16033
|
-
|
|
16034
|
-
|
|
16035
|
-
|
|
16055
|
+
for (let i = 0; i < assignments.length; i += PROJECT_FETCH_BATCH_SIZE) {
|
|
16056
|
+
const batch = await Promise.all(
|
|
16057
|
+
assignments.slice(i, i + PROJECT_FETCH_BATCH_SIZE).map(async ([projectId, domains2]) => {
|
|
16058
|
+
try {
|
|
16059
|
+
const project = await client.fetch(
|
|
16060
|
+
`/v9/projects/${encodeURIComponent(projectId)}`
|
|
16061
|
+
);
|
|
16062
|
+
return { project, domains: domains2 };
|
|
16063
|
+
} catch (err) {
|
|
16064
|
+
if (isAPIError(err) && err.status < 500) {
|
|
16065
|
+
return null;
|
|
16066
|
+
}
|
|
16067
|
+
throw err;
|
|
16068
|
+
}
|
|
16069
|
+
})
|
|
16070
|
+
);
|
|
16071
|
+
for (const entry of batch) {
|
|
16072
|
+
if (entry) {
|
|
16073
|
+
result.push(entry);
|
|
16036
16074
|
}
|
|
16037
16075
|
}
|
|
16038
16076
|
}
|
|
@@ -16162,13 +16200,9 @@ async function inspect2(client, argv) {
|
|
|
16162
16200
|
["l", "l"],
|
|
16163
16201
|
[
|
|
16164
16202
|
{
|
|
16165
|
-
rows: projects2.map((project) => {
|
|
16166
|
-
const name = project.name;
|
|
16167
|
-
const domains2 = (project.targets?.production?.alias || []).filter(
|
|
16168
|
-
(alias2) => alias2.endsWith(domainName)
|
|
16169
|
-
);
|
|
16203
|
+
rows: projects2.map(({ project, domains: domains2 }) => {
|
|
16170
16204
|
const cols = domains2.length ? domains2.join(", ") : "-";
|
|
16171
|
-
return [name, cols];
|
|
16205
|
+
return [project.name, cols];
|
|
16172
16206
|
})
|
|
16173
16207
|
}
|
|
16174
16208
|
]
|
|
@@ -16200,7 +16234,7 @@ async function inspect2(client, argv) {
|
|
|
16200
16234
|
);
|
|
16201
16235
|
const contextNameConst = contextName;
|
|
16202
16236
|
const projectNames = Array.from(
|
|
16203
|
-
new Set(projects2.map((project) => project.name))
|
|
16237
|
+
new Set(projects2.map(({ project }) => project.name))
|
|
16204
16238
|
);
|
|
16205
16239
|
if (projectNames.length) {
|
|
16206
16240
|
projectNames.forEach((name, index) => {
|
|
@@ -16520,14 +16554,10 @@ async function rm6(client, argv) {
|
|
|
16520
16554
|
output_manager_default.log(`Run ${getCommandName(`domains ls`)} to see your domains.`);
|
|
16521
16555
|
return 1;
|
|
16522
16556
|
}
|
|
16523
|
-
const
|
|
16524
|
-
if (
|
|
16557
|
+
const projectCount = await countProjectsForDomain(client, domain2.name);
|
|
16558
|
+
if (typeof projectCount === "number" && projectCount > 0) {
|
|
16525
16559
|
output_manager_default.warn(
|
|
16526
|
-
`The domain is currently used by ${(0, import_pluralize6.default)(
|
|
16527
|
-
"project",
|
|
16528
|
-
projects2.length,
|
|
16529
|
-
true
|
|
16530
|
-
)}.`
|
|
16560
|
+
`The domain is currently used by ${(0, import_pluralize6.default)("project", projectCount, true)}.`
|
|
16531
16561
|
);
|
|
16532
16562
|
}
|
|
16533
16563
|
const skipConfirmation = opts["--yes"] || false;
|
|
@@ -18938,7 +18968,7 @@ async function main9(client) {
|
|
|
18938
18968
|
default:
|
|
18939
18969
|
if (needHelp) {
|
|
18940
18970
|
telemetry2.trackCliFlagHelp("domains", subcommandOriginal);
|
|
18941
|
-
return printHelp(
|
|
18971
|
+
return printHelp(listSubcommand9);
|
|
18942
18972
|
}
|
|
18943
18973
|
telemetry2.trackCliSubcommandList(subcommandOriginal);
|
|
18944
18974
|
return ls6(client, args);
|
|
@@ -28715,13 +28745,13 @@ async function promptForVariantLabelUpdate(client, selectedVariant) {
|
|
|
28715
28745
|
function applyVariantUpdates(flag, updates) {
|
|
28716
28746
|
const variants = flag.variants.map((variant) => ({ ...variant }));
|
|
28717
28747
|
const changedVariantIds = /* @__PURE__ */ new Set();
|
|
28718
|
-
for (const
|
|
28719
|
-
const result = resolveVariant(
|
|
28748
|
+
for (const update5 of updates) {
|
|
28749
|
+
const result = resolveVariant(update5.selector, variants);
|
|
28720
28750
|
if (result.error || !result.variant) {
|
|
28721
|
-
throw new Error(result.error || `Variant "${
|
|
28751
|
+
throw new Error(result.error || `Variant "${update5.selector}" not found`);
|
|
28722
28752
|
}
|
|
28723
|
-
const nextValue =
|
|
28724
|
-
const nextLabel =
|
|
28753
|
+
const nextValue = update5.valueInput !== void 0 ? parseUpdatedVariantValue(update5.valueInput, flag.kind, result.variant) : result.variant.value;
|
|
28754
|
+
const nextLabel = update5.label ?? result.variant.label;
|
|
28725
28755
|
const variantIndex = variants.findIndex((v) => v.id === result.variant.id);
|
|
28726
28756
|
const existingVariant = variants[variantIndex];
|
|
28727
28757
|
const hasChanged = !(0, import_fast_deep_equal2.default)(existingVariant.value, nextValue) || existingVariant.label !== nextLabel;
|
|
@@ -34969,6 +34999,7 @@ function exitCode(state) {
|
|
|
34969
34999
|
|
|
34970
35000
|
// src/commands/integration/add-auto-provision.ts
|
|
34971
35001
|
var import_chalk143 = __toESM(require_source(), 1);
|
|
35002
|
+
var import_execa2 = __toESM(require_execa(), 1);
|
|
34972
35003
|
var import_error_utils11 = __toESM(require_dist(), 1);
|
|
34973
35004
|
var import_open12 = __toESM(require_open(), 1);
|
|
34974
35005
|
|
|
@@ -35343,6 +35374,41 @@ async function selectProduct(client, products, productSlug) {
|
|
|
35343
35374
|
});
|
|
35344
35375
|
}
|
|
35345
35376
|
|
|
35377
|
+
// src/util/integration/skill-suggestion.ts
|
|
35378
|
+
function resolveProductSkills(product) {
|
|
35379
|
+
const resolved = [];
|
|
35380
|
+
for (const entry of product.agentSkills ?? []) {
|
|
35381
|
+
const skill = resolveSkillFromUrl(entry);
|
|
35382
|
+
if (skill) {
|
|
35383
|
+
resolved.push(skill);
|
|
35384
|
+
}
|
|
35385
|
+
}
|
|
35386
|
+
return resolved;
|
|
35387
|
+
}
|
|
35388
|
+
function resolveSkillFromUrl(value) {
|
|
35389
|
+
let url;
|
|
35390
|
+
try {
|
|
35391
|
+
url = new URL(value);
|
|
35392
|
+
} catch {
|
|
35393
|
+
return null;
|
|
35394
|
+
}
|
|
35395
|
+
if (url.hostname.replace(/^www\./, "") !== "github.com") {
|
|
35396
|
+
return null;
|
|
35397
|
+
}
|
|
35398
|
+
const [owner, repo, kind, , ...rest] = url.pathname.split("/").filter(Boolean);
|
|
35399
|
+
if (!owner || !repo) {
|
|
35400
|
+
return null;
|
|
35401
|
+
}
|
|
35402
|
+
const repoUrl = `https://github.com/${owner.toLowerCase()}/${repo.toLowerCase()}`;
|
|
35403
|
+
let skill;
|
|
35404
|
+
if (kind === "blob" || kind === "tree") {
|
|
35405
|
+
const parts = rest.filter((part) => part.toLowerCase() !== "skill.md");
|
|
35406
|
+
skill = parts[parts.length - 1];
|
|
35407
|
+
}
|
|
35408
|
+
const command = skill ? `npx skills add ${repoUrl} --skill ${skill}` : `npx skills add ${repoUrl}`;
|
|
35409
|
+
return { repoUrl, skill, command };
|
|
35410
|
+
}
|
|
35411
|
+
|
|
35346
35412
|
// src/commands/integration-resource/claim.ts
|
|
35347
35413
|
var import_chalk141 = __toESM(require_source(), 1);
|
|
35348
35414
|
var import_open11 = __toESM(require_open(), 1);
|
|
@@ -36822,6 +36888,47 @@ Re-run with --installation-id to select one, e.g.:
|
|
|
36822
36888
|
}
|
|
36823
36889
|
}
|
|
36824
36890
|
);
|
|
36891
|
+
const skills2 = resolveProductSkills(product);
|
|
36892
|
+
if (skills2.length && !options.asJson) {
|
|
36893
|
+
const noun = skills2.length === 1 ? "the agent skill" : "agent skills";
|
|
36894
|
+
let runInstall = !canPrompt(client);
|
|
36895
|
+
if (canPrompt(client)) {
|
|
36896
|
+
runInstall = await client.input.confirm(
|
|
36897
|
+
`Install ${noun} so your AI tools can use ${import_chalk143.default.bold(product.name)}?`,
|
|
36898
|
+
true
|
|
36899
|
+
);
|
|
36900
|
+
}
|
|
36901
|
+
if (runInstall) {
|
|
36902
|
+
output_manager_default.log(`Installing ${noun} for ${import_chalk143.default.bold(product.name)}\u2026`);
|
|
36903
|
+
for (const skill of skills2) {
|
|
36904
|
+
output_manager_default.log(indent_default(import_chalk143.default.cyan(skill.command), 4));
|
|
36905
|
+
const args = [
|
|
36906
|
+
"--yes",
|
|
36907
|
+
"skills",
|
|
36908
|
+
"add",
|
|
36909
|
+
skill.repoUrl,
|
|
36910
|
+
...skill.skill ? ["--skill", skill.skill] : []
|
|
36911
|
+
];
|
|
36912
|
+
const result2 = await (0, import_execa2.default)("npx", args, {
|
|
36913
|
+
cwd: client.cwd,
|
|
36914
|
+
stdio: "inherit",
|
|
36915
|
+
reject: false
|
|
36916
|
+
});
|
|
36917
|
+
if (result2.exitCode !== 0) {
|
|
36918
|
+
output_manager_default.warn(
|
|
36919
|
+
`Failed to install ${skill.skill ?? skill.repoUrl}. Run it manually: ${import_chalk143.default.cyan(skill.command)}`
|
|
36920
|
+
);
|
|
36921
|
+
}
|
|
36922
|
+
}
|
|
36923
|
+
} else {
|
|
36924
|
+
output_manager_default.log(
|
|
36925
|
+
`Install ${noun} so your AI tools can use ${import_chalk143.default.bold(product.name)}:`
|
|
36926
|
+
);
|
|
36927
|
+
for (const skill of skills2) {
|
|
36928
|
+
output_manager_default.log(indent_default(import_chalk143.default.cyan(skill.command), 4));
|
|
36929
|
+
}
|
|
36930
|
+
}
|
|
36931
|
+
}
|
|
36825
36932
|
if (options.asJson) {
|
|
36826
36933
|
const warnings = [];
|
|
36827
36934
|
if (setupResult.connectError) {
|
|
@@ -36873,6 +36980,7 @@ Re-run with --installation-id to select one, e.g.:
|
|
|
36873
36980
|
environments: setupResult.environments,
|
|
36874
36981
|
envPulled: setupResult.envPulled,
|
|
36875
36982
|
guideCommand,
|
|
36983
|
+
skills: skills2,
|
|
36876
36984
|
warnings
|
|
36877
36985
|
};
|
|
36878
36986
|
client.stdout.write(`${JSON.stringify(jsonOutput, null, 2)}
|
|
@@ -42667,7 +42775,7 @@ async function metrics(client) {
|
|
|
42667
42775
|
return 0;
|
|
42668
42776
|
}
|
|
42669
42777
|
telemetry2.trackCliSubcommandSchema(subcommandOriginal);
|
|
42670
|
-
const schemaFn = (await import("./chunks/schema-
|
|
42778
|
+
const schemaFn = (await import("./chunks/schema-WKPB25ZF.js")).default;
|
|
42671
42779
|
return schemaFn(client, telemetry2);
|
|
42672
42780
|
}
|
|
42673
42781
|
default: {
|
|
@@ -42680,7 +42788,7 @@ async function metrics(client) {
|
|
|
42680
42788
|
output_manager_default.print(help(metricsCommand, { columns: client.stderr.columns }));
|
|
42681
42789
|
return 2;
|
|
42682
42790
|
}
|
|
42683
|
-
const queryFn = (await import("./chunks/query-
|
|
42791
|
+
const queryFn = (await import("./chunks/query-ZH2YJPAC.js")).default;
|
|
42684
42792
|
return queryFn(client, telemetry2);
|
|
42685
42793
|
}
|
|
42686
42794
|
}
|
|
@@ -46367,6 +46475,379 @@ async function rename(client, argv) {
|
|
|
46367
46475
|
return 0;
|
|
46368
46476
|
}
|
|
46369
46477
|
|
|
46478
|
+
// src/commands/project/update.ts
|
|
46479
|
+
var import_frameworks2 = __toESM(require_frameworks(), 1);
|
|
46480
|
+
|
|
46481
|
+
// src/util/telemetry/commands/project/update.ts
|
|
46482
|
+
var ProjectUpdateTelemetryClient = class extends TelemetryClient {
|
|
46483
|
+
trackCliArgumentName(name) {
|
|
46484
|
+
if (name) {
|
|
46485
|
+
this.trackCliArgument({
|
|
46486
|
+
arg: "name",
|
|
46487
|
+
value: this.redactedValue
|
|
46488
|
+
});
|
|
46489
|
+
}
|
|
46490
|
+
}
|
|
46491
|
+
trackCliOptionFramework(framework) {
|
|
46492
|
+
if (framework) {
|
|
46493
|
+
this.trackCliOption({
|
|
46494
|
+
option: "framework",
|
|
46495
|
+
value: this.redactedValue
|
|
46496
|
+
});
|
|
46497
|
+
}
|
|
46498
|
+
}
|
|
46499
|
+
trackCliOptionBuildCommand(value) {
|
|
46500
|
+
this.trackSettingOption("build-command", value);
|
|
46501
|
+
}
|
|
46502
|
+
trackCliOptionDevCommand(value) {
|
|
46503
|
+
this.trackSettingOption("dev-command", value);
|
|
46504
|
+
}
|
|
46505
|
+
trackCliOptionInstallCommand(value) {
|
|
46506
|
+
this.trackSettingOption("install-command", value);
|
|
46507
|
+
}
|
|
46508
|
+
trackCliOptionOutputDirectory(value) {
|
|
46509
|
+
this.trackSettingOption("output-directory", value);
|
|
46510
|
+
}
|
|
46511
|
+
trackCliOptionAutoDetect(value) {
|
|
46512
|
+
if (value?.length) {
|
|
46513
|
+
this.trackCliOption({
|
|
46514
|
+
option: "auto-detect",
|
|
46515
|
+
value: this.redactedValue
|
|
46516
|
+
});
|
|
46517
|
+
}
|
|
46518
|
+
}
|
|
46519
|
+
trackSettingOption(option, value) {
|
|
46520
|
+
if (value !== void 0) {
|
|
46521
|
+
this.trackCliOption({
|
|
46522
|
+
option,
|
|
46523
|
+
value: this.redactedValue
|
|
46524
|
+
});
|
|
46525
|
+
}
|
|
46526
|
+
}
|
|
46527
|
+
};
|
|
46528
|
+
|
|
46529
|
+
// src/commands/project/update.ts
|
|
46530
|
+
var OTHER_FRAMEWORK_SLUG = "other";
|
|
46531
|
+
var MAX_SETTING_LENGTH = 256;
|
|
46532
|
+
var CONTROL_CHARACTERS = /[\u0000-\u001f\u007f]/;
|
|
46533
|
+
var frameworkSlugs = import_frameworks2.frameworkList.map(
|
|
46534
|
+
(framework) => framework.slug ?? OTHER_FRAMEWORK_SLUG
|
|
46535
|
+
);
|
|
46536
|
+
var buildSettingDefinitions = [
|
|
46537
|
+
{
|
|
46538
|
+
key: "buildCommand",
|
|
46539
|
+
flag: "--build-command",
|
|
46540
|
+
autoDetect: "build-command",
|
|
46541
|
+
label: "Build Command"
|
|
46542
|
+
},
|
|
46543
|
+
{
|
|
46544
|
+
key: "devCommand",
|
|
46545
|
+
flag: "--dev-command",
|
|
46546
|
+
autoDetect: "dev-command",
|
|
46547
|
+
label: "Dev Command"
|
|
46548
|
+
},
|
|
46549
|
+
{
|
|
46550
|
+
key: "installCommand",
|
|
46551
|
+
flag: "--install-command",
|
|
46552
|
+
autoDetect: "install-command",
|
|
46553
|
+
label: "Install Command"
|
|
46554
|
+
},
|
|
46555
|
+
{
|
|
46556
|
+
key: "outputDirectory",
|
|
46557
|
+
flag: "--output-directory",
|
|
46558
|
+
autoDetect: "output-directory",
|
|
46559
|
+
label: "Output Directory"
|
|
46560
|
+
}
|
|
46561
|
+
];
|
|
46562
|
+
var settingOrder = [
|
|
46563
|
+
"framework",
|
|
46564
|
+
...buildSettingDefinitions.map((setting) => setting.key)
|
|
46565
|
+
];
|
|
46566
|
+
var autoDetectSettings = buildSettingDefinitions.map(
|
|
46567
|
+
(setting) => setting.autoDetect
|
|
46568
|
+
);
|
|
46569
|
+
var settingLabels = {
|
|
46570
|
+
framework: "Framework",
|
|
46571
|
+
buildCommand: "Build Command",
|
|
46572
|
+
devCommand: "Dev Command",
|
|
46573
|
+
installCommand: "Install Command",
|
|
46574
|
+
outputDirectory: "Output Directory"
|
|
46575
|
+
};
|
|
46576
|
+
function resolveFramework(input) {
|
|
46577
|
+
const slug = input.trim().toLowerCase();
|
|
46578
|
+
return import_frameworks2.frameworkList.find(
|
|
46579
|
+
(framework) => (framework.slug ?? OTHER_FRAMEWORK_SLUG) === slug
|
|
46580
|
+
);
|
|
46581
|
+
}
|
|
46582
|
+
function formatFramework(slug) {
|
|
46583
|
+
const framework = import_frameworks2.frameworkList.find((item) => item.slug === slug);
|
|
46584
|
+
if (!framework) {
|
|
46585
|
+
return slug ?? OTHER_FRAMEWORK_SLUG;
|
|
46586
|
+
}
|
|
46587
|
+
return `${framework.name} (${framework.slug ?? OTHER_FRAMEWORK_SLUG})`;
|
|
46588
|
+
}
|
|
46589
|
+
function formatSettingValue(key, value) {
|
|
46590
|
+
if (key === "framework") {
|
|
46591
|
+
return formatFramework(value);
|
|
46592
|
+
}
|
|
46593
|
+
if (value === null) {
|
|
46594
|
+
return "Auto";
|
|
46595
|
+
}
|
|
46596
|
+
return value === "" ? '""' : value;
|
|
46597
|
+
}
|
|
46598
|
+
function getCurrentSetting(project, key) {
|
|
46599
|
+
return project[key] ?? null;
|
|
46600
|
+
}
|
|
46601
|
+
function hasSetting(settings, key) {
|
|
46602
|
+
return Object.prototype.hasOwnProperty.call(settings, key);
|
|
46603
|
+
}
|
|
46604
|
+
function getUpdateCommand2(framework = "<slug>") {
|
|
46605
|
+
return `project update <name> --framework ${framework}`;
|
|
46606
|
+
}
|
|
46607
|
+
function printUsageError(client, message, exitCode2, reason, suggestedCommand = getUpdateCommand2()) {
|
|
46608
|
+
outputAgentError(
|
|
46609
|
+
client,
|
|
46610
|
+
{
|
|
46611
|
+
status: "error",
|
|
46612
|
+
reason,
|
|
46613
|
+
message,
|
|
46614
|
+
next: [
|
|
46615
|
+
{
|
|
46616
|
+
command: buildCommandWithGlobalFlags(client.argv, suggestedCommand),
|
|
46617
|
+
when: "Update project settings"
|
|
46618
|
+
}
|
|
46619
|
+
]
|
|
46620
|
+
},
|
|
46621
|
+
exitCode2
|
|
46622
|
+
);
|
|
46623
|
+
output_manager_default.error(message);
|
|
46624
|
+
return exitCode2;
|
|
46625
|
+
}
|
|
46626
|
+
function validateSettingValue(definition, value) {
|
|
46627
|
+
if (value.length > MAX_SETTING_LENGTH) {
|
|
46628
|
+
return `${definition.label} must be ${MAX_SETTING_LENGTH} characters or fewer.`;
|
|
46629
|
+
}
|
|
46630
|
+
if (CONTROL_CHARACTERS.test(value)) {
|
|
46631
|
+
return `${definition.label} can't contain control characters.`;
|
|
46632
|
+
}
|
|
46633
|
+
}
|
|
46634
|
+
function parseAutoDetectSettings(inputs) {
|
|
46635
|
+
return inputs.flatMap((input) => input.split(",")).map((input) => input.trim());
|
|
46636
|
+
}
|
|
46637
|
+
function writeResult({
|
|
46638
|
+
changedSettings,
|
|
46639
|
+
project,
|
|
46640
|
+
previousSettings,
|
|
46641
|
+
requestedSettings,
|
|
46642
|
+
asJson,
|
|
46643
|
+
client
|
|
46644
|
+
}) {
|
|
46645
|
+
const changed = changedSettings.length > 0;
|
|
46646
|
+
if (asJson) {
|
|
46647
|
+
client.stdout.write(
|
|
46648
|
+
`${JSON.stringify(
|
|
46649
|
+
{
|
|
46650
|
+
changed,
|
|
46651
|
+
changedSettings,
|
|
46652
|
+
projectId: project.id,
|
|
46653
|
+
projectName: project.name,
|
|
46654
|
+
settings: requestedSettings
|
|
46655
|
+
},
|
|
46656
|
+
null,
|
|
46657
|
+
2
|
|
46658
|
+
)}
|
|
46659
|
+
`
|
|
46660
|
+
);
|
|
46661
|
+
return;
|
|
46662
|
+
}
|
|
46663
|
+
printAlignedLabel(changed ? "Updated" : "Unchanged", "Project Settings", {
|
|
46664
|
+
gutter: "\u2713"
|
|
46665
|
+
});
|
|
46666
|
+
printAlignedLabel("Project", project.name);
|
|
46667
|
+
for (const key of settingOrder) {
|
|
46668
|
+
if (!hasSetting(requestedSettings, key)) {
|
|
46669
|
+
continue;
|
|
46670
|
+
}
|
|
46671
|
+
const previous = previousSettings[key] ?? null;
|
|
46672
|
+
const next = requestedSettings[key] ?? null;
|
|
46673
|
+
const value = changedSettings.includes(key) ? `${formatSettingValue(key, previous)} \u2192 ${formatSettingValue(key, next)}` : formatSettingValue(key, next);
|
|
46674
|
+
printAlignedLabel(settingLabels[key], value);
|
|
46675
|
+
}
|
|
46676
|
+
}
|
|
46677
|
+
async function update4(client, argv) {
|
|
46678
|
+
const telemetry2 = new ProjectUpdateTelemetryClient({
|
|
46679
|
+
opts: { store: client.telemetryEventStore }
|
|
46680
|
+
});
|
|
46681
|
+
let parsedArgs;
|
|
46682
|
+
try {
|
|
46683
|
+
parsedArgs = parseArguments(
|
|
46684
|
+
argv,
|
|
46685
|
+
getFlagsSpecification(updateSubcommand5.options)
|
|
46686
|
+
);
|
|
46687
|
+
} catch (error) {
|
|
46688
|
+
outputAgentError(
|
|
46689
|
+
client,
|
|
46690
|
+
{
|
|
46691
|
+
status: "error",
|
|
46692
|
+
reason: "invalid_arguments",
|
|
46693
|
+
message: error instanceof Error ? error.message : String(error)
|
|
46694
|
+
},
|
|
46695
|
+
1
|
|
46696
|
+
);
|
|
46697
|
+
printError(error);
|
|
46698
|
+
return 1;
|
|
46699
|
+
}
|
|
46700
|
+
const { args, flags } = parsedArgs;
|
|
46701
|
+
const [projectNameOrId] = args;
|
|
46702
|
+
const frameworkInput = flags["--framework"];
|
|
46703
|
+
const autoDetectInputs = flags["--auto-detect"] ?? [];
|
|
46704
|
+
telemetry2.trackCliArgumentName(projectNameOrId);
|
|
46705
|
+
telemetry2.trackCliOptionFramework(frameworkInput);
|
|
46706
|
+
telemetry2.trackCliOptionBuildCommand(flags["--build-command"]);
|
|
46707
|
+
telemetry2.trackCliOptionDevCommand(flags["--dev-command"]);
|
|
46708
|
+
telemetry2.trackCliOptionInstallCommand(flags["--install-command"]);
|
|
46709
|
+
telemetry2.trackCliOptionOutputDirectory(flags["--output-directory"]);
|
|
46710
|
+
telemetry2.trackCliOptionAutoDetect(
|
|
46711
|
+
flags["--auto-detect"]
|
|
46712
|
+
);
|
|
46713
|
+
telemetry2.trackCliOptionFormat(flags["--format"]);
|
|
46714
|
+
if (args.length > 1) {
|
|
46715
|
+
return printUsageError(
|
|
46716
|
+
client,
|
|
46717
|
+
`Invalid number of arguments. Usage: ${getCommandNamePlain(
|
|
46718
|
+
"project update [name] [options]"
|
|
46719
|
+
)}`,
|
|
46720
|
+
2,
|
|
46721
|
+
"invalid_arguments"
|
|
46722
|
+
);
|
|
46723
|
+
}
|
|
46724
|
+
const formatResult = validateJsonOutput(flags);
|
|
46725
|
+
if (!formatResult.valid) {
|
|
46726
|
+
return printUsageError(client, formatResult.error, 1, "invalid_arguments");
|
|
46727
|
+
}
|
|
46728
|
+
const requestedSettings = {};
|
|
46729
|
+
if (frameworkInput !== void 0) {
|
|
46730
|
+
const framework = resolveFramework(frameworkInput);
|
|
46731
|
+
if (!framework) {
|
|
46732
|
+
const normalizedInput = frameworkInput.trim().toLowerCase();
|
|
46733
|
+
const suggestion = normalizedInput ? did_you_mean_default(normalizedInput, frameworkSlugs, 0.7) : void 0;
|
|
46734
|
+
const message = suggestion ? `Unsupported framework preset ${JSON.stringify(frameworkInput)}. Did you mean ${JSON.stringify(suggestion)}?` : `Unsupported framework preset ${JSON.stringify(frameworkInput)}. Use a framework slug such as "nextjs", or "other" to clear the preset.`;
|
|
46735
|
+
return printUsageError(
|
|
46736
|
+
client,
|
|
46737
|
+
message,
|
|
46738
|
+
1,
|
|
46739
|
+
"invalid_arguments",
|
|
46740
|
+
getUpdateCommand2(suggestion)
|
|
46741
|
+
);
|
|
46742
|
+
}
|
|
46743
|
+
requestedSettings.framework = framework.slug;
|
|
46744
|
+
}
|
|
46745
|
+
const requestedAutoDetect = parseAutoDetectSettings(autoDetectInputs);
|
|
46746
|
+
const autoDetectSet = /* @__PURE__ */ new Set();
|
|
46747
|
+
for (const setting of requestedAutoDetect) {
|
|
46748
|
+
if (!autoDetectSettings.includes(setting)) {
|
|
46749
|
+
const suggestion = setting ? did_you_mean_default(setting, autoDetectSettings, 0.7) : void 0;
|
|
46750
|
+
const message = suggestion ? `Unknown auto-detect setting ${JSON.stringify(setting)}. Did you mean ${JSON.stringify(suggestion)}?` : `Unknown auto-detect setting ${JSON.stringify(setting)}. Accepted settings: ${autoDetectSettings.join(", ")}.`;
|
|
46751
|
+
return printUsageError(
|
|
46752
|
+
client,
|
|
46753
|
+
message,
|
|
46754
|
+
1,
|
|
46755
|
+
"invalid_arguments",
|
|
46756
|
+
`project update <name> --auto-detect ${suggestion ?? "<setting>"}`
|
|
46757
|
+
);
|
|
46758
|
+
}
|
|
46759
|
+
autoDetectSet.add(setting);
|
|
46760
|
+
}
|
|
46761
|
+
for (const definition of buildSettingDefinitions) {
|
|
46762
|
+
const value = flags[definition.flag];
|
|
46763
|
+
if (value !== void 0 && autoDetectSet.has(definition.autoDetect)) {
|
|
46764
|
+
return printUsageError(
|
|
46765
|
+
client,
|
|
46766
|
+
`Can't use "${definition.flag}" and "--auto-detect ${definition.autoDetect}" together. Choose one.`,
|
|
46767
|
+
2,
|
|
46768
|
+
"invalid_arguments",
|
|
46769
|
+
`project update <name> ${definition.flag} <value>`
|
|
46770
|
+
);
|
|
46771
|
+
}
|
|
46772
|
+
if (value !== void 0) {
|
|
46773
|
+
const validationError = validateSettingValue(definition, value);
|
|
46774
|
+
if (validationError) {
|
|
46775
|
+
return printUsageError(
|
|
46776
|
+
client,
|
|
46777
|
+
validationError,
|
|
46778
|
+
1,
|
|
46779
|
+
"invalid_arguments",
|
|
46780
|
+
`project update <name> ${definition.flag} <value>`
|
|
46781
|
+
);
|
|
46782
|
+
}
|
|
46783
|
+
requestedSettings[definition.key] = value;
|
|
46784
|
+
} else if (autoDetectSet.has(definition.autoDetect)) {
|
|
46785
|
+
requestedSettings[definition.key] = null;
|
|
46786
|
+
}
|
|
46787
|
+
}
|
|
46788
|
+
if (settingOrder.every((key) => !hasSetting(requestedSettings, key))) {
|
|
46789
|
+
return printUsageError(
|
|
46790
|
+
client,
|
|
46791
|
+
"Provide at least one setting option: --framework, --build-command, --dev-command, --install-command, --output-directory, or --auto-detect.",
|
|
46792
|
+
2,
|
|
46793
|
+
"missing_arguments"
|
|
46794
|
+
);
|
|
46795
|
+
}
|
|
46796
|
+
let project;
|
|
46797
|
+
try {
|
|
46798
|
+
project = await getProjectByCwdOrLink({
|
|
46799
|
+
client,
|
|
46800
|
+
commandName: "project update",
|
|
46801
|
+
projectNameOrId,
|
|
46802
|
+
forReadOnlyCommand: true
|
|
46803
|
+
});
|
|
46804
|
+
} catch (error) {
|
|
46805
|
+
exitWithNonInteractiveError(client, error, 1, { variant: "update" });
|
|
46806
|
+
printError(error);
|
|
46807
|
+
return 1;
|
|
46808
|
+
}
|
|
46809
|
+
const previousSettings = {};
|
|
46810
|
+
const changedSettings = [];
|
|
46811
|
+
const changedUpdates = {};
|
|
46812
|
+
for (const key of settingOrder) {
|
|
46813
|
+
if (!hasSetting(requestedSettings, key)) {
|
|
46814
|
+
continue;
|
|
46815
|
+
}
|
|
46816
|
+
const previous = getCurrentSetting(project, key);
|
|
46817
|
+
const next = requestedSettings[key] ?? null;
|
|
46818
|
+
previousSettings[key] = previous;
|
|
46819
|
+
if (previous !== next) {
|
|
46820
|
+
changedSettings.push(key);
|
|
46821
|
+
Object.assign(changedUpdates, { [key]: next });
|
|
46822
|
+
}
|
|
46823
|
+
}
|
|
46824
|
+
let updatedProject = project;
|
|
46825
|
+
if (changedSettings.length > 0) {
|
|
46826
|
+
try {
|
|
46827
|
+
updatedProject = await client.fetch(
|
|
46828
|
+
`/v9/projects/${encodeURIComponent(project.id)}`,
|
|
46829
|
+
{
|
|
46830
|
+
method: "PATCH",
|
|
46831
|
+
body: changedUpdates
|
|
46832
|
+
}
|
|
46833
|
+
);
|
|
46834
|
+
} catch (error) {
|
|
46835
|
+
exitWithNonInteractiveError(client, error, 1, { variant: "update" });
|
|
46836
|
+
printError(error);
|
|
46837
|
+
return 1;
|
|
46838
|
+
}
|
|
46839
|
+
}
|
|
46840
|
+
writeResult({
|
|
46841
|
+
changedSettings,
|
|
46842
|
+
project: updatedProject,
|
|
46843
|
+
previousSettings,
|
|
46844
|
+
requestedSettings,
|
|
46845
|
+
asJson: formatResult.jsonOutput,
|
|
46846
|
+
client
|
|
46847
|
+
});
|
|
46848
|
+
return 0;
|
|
46849
|
+
}
|
|
46850
|
+
|
|
46370
46851
|
// src/commands/project/rm.ts
|
|
46371
46852
|
var import_chalk176 = __toESM(require_source(), 1);
|
|
46372
46853
|
var import_ms25 = __toESM(require_ms(), 1);
|
|
@@ -47101,6 +47582,12 @@ var ProjectTelemetryClient = class extends TelemetryClient {
|
|
|
47101
47582
|
value: actual
|
|
47102
47583
|
});
|
|
47103
47584
|
}
|
|
47585
|
+
trackCliSubcommandUpdate(actual) {
|
|
47586
|
+
this.trackCliSubcommand({
|
|
47587
|
+
subcommand: "update",
|
|
47588
|
+
value: actual
|
|
47589
|
+
});
|
|
47590
|
+
}
|
|
47104
47591
|
trackCliSubcommandToken(actual) {
|
|
47105
47592
|
this.trackCliSubcommand({
|
|
47106
47593
|
subcommand: "token",
|
|
@@ -47149,6 +47636,7 @@ var COMMAND_CONFIG35 = {
|
|
|
47149
47636
|
"access-summary": getCommandAliases(accessSummarySubcommand),
|
|
47150
47637
|
checks: getCommandAliases(checksSubcommand),
|
|
47151
47638
|
protection: getCommandAliases(protectionSubcommand),
|
|
47639
|
+
update: getCommandAliases(updateSubcommand5),
|
|
47152
47640
|
rename: getCommandAliases(renameSubcommand),
|
|
47153
47641
|
remove: getCommandAliases(removeSubcommand12),
|
|
47154
47642
|
token: getCommandAliases(tokenSubcommand2),
|
|
@@ -47292,6 +47780,14 @@ async function main25(client) {
|
|
|
47292
47780
|
telemetry2.trackCliSubcommandRename(subcommandOriginal);
|
|
47293
47781
|
exitCode2 = await rename(client, args);
|
|
47294
47782
|
break;
|
|
47783
|
+
case "update":
|
|
47784
|
+
if (needHelp) {
|
|
47785
|
+
telemetry2.trackCliFlagHelp("project", subcommandOriginal);
|
|
47786
|
+
return printHelp(updateSubcommand5);
|
|
47787
|
+
}
|
|
47788
|
+
telemetry2.trackCliSubcommandUpdate(subcommandOriginal);
|
|
47789
|
+
exitCode2 = await update4(client, args);
|
|
47790
|
+
break;
|
|
47295
47791
|
case "remove":
|
|
47296
47792
|
if (needHelp) {
|
|
47297
47793
|
telemetry2.trackCliFlagHelp("project", subcommandOriginal);
|
|
@@ -53590,7 +54086,7 @@ async function main27(client) {
|
|
|
53590
54086
|
return 2;
|
|
53591
54087
|
}
|
|
53592
54088
|
telemetry2.trackCliSubcommandEdit(subcommandOriginal);
|
|
53593
|
-
return (await import("./chunks/edit-
|
|
54089
|
+
return (await import("./chunks/edit-ZU5K7DM3.js")).default(client, args);
|
|
53594
54090
|
case "delete":
|
|
53595
54091
|
if (needHelp) {
|
|
53596
54092
|
telemetry2.trackCliFlagHelp("routes", subcommandOriginal);
|
|
@@ -53598,7 +54094,7 @@ async function main27(client) {
|
|
|
53598
54094
|
return 2;
|
|
53599
54095
|
}
|
|
53600
54096
|
telemetry2.trackCliSubcommandDelete(subcommandOriginal);
|
|
53601
|
-
return (await import("./chunks/delete-
|
|
54097
|
+
return (await import("./chunks/delete-WVLC7FLA.js")).default(client, args);
|
|
53602
54098
|
case "enable":
|
|
53603
54099
|
if (needHelp) {
|
|
53604
54100
|
telemetry2.trackCliFlagHelp("routes", subcommandOriginal);
|
|
@@ -53606,7 +54102,7 @@ async function main27(client) {
|
|
|
53606
54102
|
return 2;
|
|
53607
54103
|
}
|
|
53608
54104
|
telemetry2.trackCliSubcommandEnable(subcommandOriginal);
|
|
53609
|
-
return (await import("./chunks/enable-
|
|
54105
|
+
return (await import("./chunks/enable-G3MUGP3W.js")).default(client, args);
|
|
53610
54106
|
case "disable":
|
|
53611
54107
|
if (needHelp) {
|
|
53612
54108
|
telemetry2.trackCliFlagHelp("routes", subcommandOriginal);
|
|
@@ -53614,7 +54110,7 @@ async function main27(client) {
|
|
|
53614
54110
|
return 2;
|
|
53615
54111
|
}
|
|
53616
54112
|
telemetry2.trackCliSubcommandDisable(subcommandOriginal);
|
|
53617
|
-
return (await import("./chunks/disable-
|
|
54113
|
+
return (await import("./chunks/disable-VLYKCAM5.js")).default(client, args);
|
|
53618
54114
|
case "reorder":
|
|
53619
54115
|
if (needHelp) {
|
|
53620
54116
|
telemetry2.trackCliFlagHelp("routes", subcommandOriginal);
|
|
@@ -53622,7 +54118,7 @@ async function main27(client) {
|
|
|
53622
54118
|
return 2;
|
|
53623
54119
|
}
|
|
53624
54120
|
telemetry2.trackCliSubcommandReorder(subcommandOriginal);
|
|
53625
|
-
return (await import("./chunks/reorder-
|
|
54121
|
+
return (await import("./chunks/reorder-VY53EYZJ.js")).default(client, args);
|
|
53626
54122
|
case "export":
|
|
53627
54123
|
if (needHelp) {
|
|
53628
54124
|
telemetry2.trackCliFlagHelp("routes", subcommandOriginal);
|
|
@@ -53630,7 +54126,7 @@ async function main27(client) {
|
|
|
53630
54126
|
return 2;
|
|
53631
54127
|
}
|
|
53632
54128
|
telemetry2.trackCliSubcommandExport(subcommandOriginal);
|
|
53633
|
-
return (await import("./chunks/export-
|
|
54129
|
+
return (await import("./chunks/export-QHSB2FON.js")).default(client, args);
|
|
53634
54130
|
case "publish":
|
|
53635
54131
|
if (needHelp) {
|
|
53636
54132
|
telemetry2.trackCliFlagHelp("routes", subcommandOriginal);
|
|
@@ -53638,7 +54134,7 @@ async function main27(client) {
|
|
|
53638
54134
|
return 2;
|
|
53639
54135
|
}
|
|
53640
54136
|
telemetry2.trackCliSubcommandPublish(subcommandOriginal);
|
|
53641
|
-
return (await import("./chunks/publish-
|
|
54137
|
+
return (await import("./chunks/publish-MYVZ4UTW.js")).default(client, args);
|
|
53642
54138
|
case "restore":
|
|
53643
54139
|
if (needHelp) {
|
|
53644
54140
|
telemetry2.trackCliFlagHelp("routes", subcommandOriginal);
|
|
@@ -53646,7 +54142,7 @@ async function main27(client) {
|
|
|
53646
54142
|
return 2;
|
|
53647
54143
|
}
|
|
53648
54144
|
telemetry2.trackCliSubcommandRestore(subcommandOriginal);
|
|
53649
|
-
return (await import("./chunks/restore-
|
|
54145
|
+
return (await import("./chunks/restore-F2AEG3WO.js")).default(client, args);
|
|
53650
54146
|
case "discard-staging":
|
|
53651
54147
|
if (needHelp) {
|
|
53652
54148
|
telemetry2.trackCliFlagHelp("routes", subcommandOriginal);
|
|
@@ -53654,7 +54150,7 @@ async function main27(client) {
|
|
|
53654
54150
|
return 2;
|
|
53655
54151
|
}
|
|
53656
54152
|
telemetry2.trackCliSubcommandDiscardStaging(subcommandOriginal);
|
|
53657
|
-
return (await import("./chunks/discard-
|
|
54153
|
+
return (await import("./chunks/discard-GGNJLKTH.js")).default(client, args);
|
|
53658
54154
|
default:
|
|
53659
54155
|
output_manager_default.error(getInvalidSubcommand(COMMAND_CONFIG38));
|
|
53660
54156
|
output_manager_default.print(help(routesCommand, { columns: client.stderr.columns }));
|
|
@@ -53726,7 +54222,7 @@ async function sandbox(client) {
|
|
|
53726
54222
|
|
|
53727
54223
|
// src/commands/skills/index.ts
|
|
53728
54224
|
var import_chalk199 = __toESM(require_source(), 1);
|
|
53729
|
-
var
|
|
54225
|
+
var import_frameworks3 = __toESM(require_frameworks(), 1);
|
|
53730
54226
|
var import_fs_detectors = __toESM(require_dist3(), 1);
|
|
53731
54227
|
import { access as access2, readFile as readFile7 } from "fs/promises";
|
|
53732
54228
|
import { join as join8 } from "path";
|
|
@@ -53822,7 +54318,7 @@ async function searchSkills(query) {
|
|
|
53822
54318
|
async function detectProjectFramework(cwd) {
|
|
53823
54319
|
try {
|
|
53824
54320
|
const fs2 = new import_fs_detectors.LocalFileSystemDetector(cwd);
|
|
53825
|
-
const detected = await (0, import_fs_detectors.detectFrameworks)({ fs: fs2, frameworkList:
|
|
54321
|
+
const detected = await (0, import_fs_detectors.detectFrameworks)({ fs: fs2, frameworkList: import_frameworks3.frameworkList });
|
|
53826
54322
|
if (detected.length > 0) {
|
|
53827
54323
|
return { name: detected[0].name, slug: detected[0].slug || "" };
|
|
53828
54324
|
}
|
|
@@ -58233,22 +58729,22 @@ async function vcr(client) {
|
|
|
58233
58729
|
switch (subcommand) {
|
|
58234
58730
|
case "ls":
|
|
58235
58731
|
telemetry2.trackCliSubcommandLs(subcommandOriginal);
|
|
58236
|
-
return (await import("./chunks/ls-
|
|
58732
|
+
return (await import("./chunks/ls-HKVAT223.js")).default(client, args, telemetry2);
|
|
58237
58733
|
case "inspect":
|
|
58238
58734
|
telemetry2.trackCliSubcommandInspect(subcommandOriginal);
|
|
58239
|
-
return (await import("./chunks/inspect-
|
|
58735
|
+
return (await import("./chunks/inspect-HFCKYQQ3.js")).default(client, args, telemetry2);
|
|
58240
58736
|
case "add":
|
|
58241
58737
|
telemetry2.trackCliSubcommandAdd(subcommandOriginal);
|
|
58242
|
-
return (await import("./chunks/add-
|
|
58738
|
+
return (await import("./chunks/add-KZSG7SVG.js")).default(client, args, telemetry2);
|
|
58243
58739
|
case "rm":
|
|
58244
58740
|
telemetry2.trackCliSubcommandRm(subcommandOriginal);
|
|
58245
|
-
return (await import("./chunks/rm-
|
|
58741
|
+
return (await import("./chunks/rm-T6Z6WZZN.js")).default(client, args, telemetry2);
|
|
58246
58742
|
case "tag":
|
|
58247
58743
|
telemetry2.trackCliSubcommandTag(subcommandOriginal);
|
|
58248
|
-
return (await import("./chunks/tags-
|
|
58744
|
+
return (await import("./chunks/tags-NSWTVGHE.js")).default(client, args, telemetry2);
|
|
58249
58745
|
case "image":
|
|
58250
58746
|
telemetry2.trackCliSubcommandImage(subcommandOriginal);
|
|
58251
|
-
return (await import("./chunks/image-
|
|
58747
|
+
return (await import("./chunks/image-CWHCW3N5.js")).default(client, args, telemetry2);
|
|
58252
58748
|
default:
|
|
58253
58749
|
output_manager_default.error(getInvalidSubcommand(COMMAND_CONFIG44));
|
|
58254
58750
|
output_manager_default.print(help(vcrCommand, { columns: client.stderr.columns }));
|