@contentful/experience-design-system-cli 2.35.1-dev-build-c11bca17.0 → 2.35.1-dev-build-8f791e21.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/app.js +43 -11
- package/dist/index.js +45 -21
- package/dist/package.json +1 -1
- package/dist/src/tui/import/steps/01-welcome/screen.d.ts +2 -1
- package/dist/src/tui/import/steps/02-token-input/screen.d.ts +2 -1
- package/dist/src/tui/settings/contentful-configuration/config-store.d.ts +2 -0
- package/legacy/dist/src/analyze/extract-command.d.ts +7 -0
- package/legacy/dist/src/apply/command.d.ts +41 -3
- package/legacy/dist/src/generate/command.d.ts +0 -18
- package/legacy/dist/src/index.js +6950 -7239
- package/legacy/package.json +1 -1
- package/package.json +2 -2
- package/dist/src/legacy/forwarded-import-args.d.ts +0 -1
- package/legacy/dist/src/analyze/controller/create-analyze-extract-endpoint.d.ts +0 -13
- package/legacy/dist/src/analyze/helpers/resolve-composition-agent.d.ts +0 -9
- package/legacy/dist/src/analyze/helpers/resolve-no-cache.d.ts +0 -4
- package/legacy/dist/src/analyze/helpers/resolve-unreachable-mode.d.ts +0 -1
- package/legacy/dist/src/analyze/helpers/retry-db-write.d.ts +0 -1
- package/legacy/dist/src/analyze/orchestrator/execute-analyze-extract.d.ts +0 -21
- package/legacy/dist/src/analyze/services/collect-source-files.d.ts +0 -1
- package/legacy/dist/src/analyze/services/extract-with-cache.d.ts +0 -17
- package/legacy/dist/src/analyze/services/persist-extract-results.d.ts +0 -11
- package/legacy/dist/src/analyze/services/resolve-composition-mapping.d.ts +0 -22
- package/legacy/dist/src/analyze/services/resolve-source-directory.d.ts +0 -1
- package/legacy/dist/src/apply/controller/run-apply.d.ts +0 -1
- package/legacy/dist/src/apply/helpers/build-apply-output.d.ts +0 -55
- package/legacy/dist/src/apply/helpers/has-breaking-changes.d.ts +0 -2
- package/legacy/dist/src/apply/helpers/poll-apply-operation.d.ts +0 -9
- package/legacy/dist/src/apply/helpers/read-token-files.d.ts +0 -7
- package/legacy/dist/src/apply/helpers/slot-validation.d.ts +0 -20
- package/legacy/dist/src/apply/services/apply-interactive.d.ts +0 -13
- package/legacy/dist/src/apply/services/apply-non-interactive.d.ts +0 -10
- package/legacy/dist/src/apply/services/resolve-apply-inputs.d.ts +0 -14
- package/legacy/dist/src/generate/controller/run-generate-components.d.ts +0 -2
- package/legacy/dist/src/generate/controller/run-generate-tokens.d.ts +0 -2
- package/legacy/dist/src/generate/helpers/assert-file-exists.d.ts +0 -1
- package/legacy/dist/src/generate/helpers/normalize-component-for-cache.d.ts +0 -6
- package/legacy/dist/src/generate/helpers/parse-precomputed-cached-names.d.ts +0 -1
- package/legacy/dist/src/generate/helpers/print-fallback-instructions.d.ts +0 -6
- package/legacy/dist/src/generate/helpers/read-file-inline.d.ts +0 -1
- package/legacy/dist/src/generate/services/invoke-all-component-agents.d.ts +0 -6
- package/legacy/dist/src/generate/services/invoke-component-agent.d.ts +0 -36
- package/legacy/dist/src/generate/services/load-accepted-names.d.ts +0 -1
- package/legacy/dist/src/generate/services/resolve-component-cache.d.ts +0 -13
- package/legacy/dist/src/generate/services/resolve-generate-agent.d.ts +0 -9
- package/legacy/dist/src/generate/services/show-generate-view.d.ts +0 -2
- package/legacy/dist/src/generate/services/verify-agent-binary.d.ts +0 -2
- package/legacy/dist/src/lib/pluralize.d.ts +0 -1
- package/legacy/dist/src/map-tokens/controller/run-map-tokens.d.ts +0 -12
- package/legacy/dist/src/map-tokens/services/render-map-tokens-result.d.ts +0 -2
- package/legacy/dist/src/map-tokens/services/resolve-token-name-paths.d.ts +0 -8
package/dist/app.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// packages/experience-design-system-cli/app.tsx
|
|
2
|
-
import { useState as useState10 } from "react";
|
|
2
|
+
import { useEffect as useEffect8, useState as useState10 } from "react";
|
|
3
3
|
|
|
4
4
|
// packages/experience-design-system-cli/src/tui/home/home.tsx
|
|
5
5
|
import { useEffect as useEffect2, useState as useState2 } from "react";
|
|
@@ -269,8 +269,8 @@ var OVERVIEW = [
|
|
|
269
269
|
{ label: "Step 4", description: "Review generated definitions" },
|
|
270
270
|
{ label: "Step 5", description: "Push to Contentful" }
|
|
271
271
|
];
|
|
272
|
-
function WelcomeScreen({ onContinue, onQuit }) {
|
|
273
|
-
const [projectPath, setProjectPath] = useState3(
|
|
272
|
+
function WelcomeScreen({ onContinue, onQuit, initialPath = "" }) {
|
|
273
|
+
const [projectPath, setProjectPath] = useState3(initialPath);
|
|
274
274
|
useWelcomeControls(projectPath, onQuit);
|
|
275
275
|
const submit = (value) => {
|
|
276
276
|
const path = toProjectPath(value);
|
|
@@ -374,8 +374,13 @@ function validateTokenPath(rawPath) {
|
|
|
374
374
|
|
|
375
375
|
// packages/experience-design-system-cli/src/tui/import/steps/02-token-input/screen.tsx
|
|
376
376
|
import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
377
|
-
function TokenInputScreen({
|
|
378
|
-
|
|
377
|
+
function TokenInputScreen({
|
|
378
|
+
onConfirm,
|
|
379
|
+
onSkip,
|
|
380
|
+
onBack,
|
|
381
|
+
initialPath = ""
|
|
382
|
+
}) {
|
|
383
|
+
const [tokenPath, setTokenPath] = useState4(initialPath);
|
|
379
384
|
const [failure, setFailure] = useState4(null);
|
|
380
385
|
useTokenInputControls(tokenPath, onSkip, onBack);
|
|
381
386
|
const change = (value) => {
|
|
@@ -763,7 +768,9 @@ async function readCredentials() {
|
|
|
763
768
|
spaceId: store.spaceId || "",
|
|
764
769
|
environmentId: store.environmentId || "",
|
|
765
770
|
cmaToken: store.cmaToken || "",
|
|
766
|
-
host: store.host || ""
|
|
771
|
+
host: store.host || "",
|
|
772
|
+
defaultComponentDir: store.defaultComponentDir || "",
|
|
773
|
+
defaultTokenFile: store.defaultTokenFile || ""
|
|
767
774
|
};
|
|
768
775
|
}
|
|
769
776
|
async function writeCredentials(config) {
|
|
@@ -780,20 +787,31 @@ async function writeCredentials(config) {
|
|
|
780
787
|
|
|
781
788
|
// packages/experience-design-system-cli/src/tui/settings/contentful-configuration/ContentfulConfigScreen.tsx
|
|
782
789
|
import { Fragment, jsx as jsx7, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
783
|
-
var FIELD_ORDER = [
|
|
790
|
+
var FIELD_ORDER = [
|
|
791
|
+
"spaceId",
|
|
792
|
+
"environmentId",
|
|
793
|
+
"cmaToken",
|
|
794
|
+
"host",
|
|
795
|
+
"defaultComponentDir",
|
|
796
|
+
"defaultTokenFile"
|
|
797
|
+
];
|
|
784
798
|
function debugFields(config) {
|
|
785
799
|
return {
|
|
786
800
|
space_id: config?.spaceId ?? "",
|
|
787
801
|
environment_id: config?.environmentId ?? "",
|
|
788
802
|
cma_token: config?.cmaToken ?? "",
|
|
789
|
-
host: config?.host ?? ""
|
|
803
|
+
host: config?.host ?? "",
|
|
804
|
+
default_component_dir: config?.defaultComponentDir ?? "",
|
|
805
|
+
default_token_file: config?.defaultTokenFile ?? ""
|
|
790
806
|
};
|
|
791
807
|
}
|
|
792
808
|
var FIELD_LABELS = {
|
|
793
809
|
spaceId: "Space ID",
|
|
794
810
|
environmentId: "Environment ID",
|
|
795
811
|
cmaToken: "CMA Token",
|
|
796
|
-
host: "API Host (optional)"
|
|
812
|
+
host: "API Host (optional)",
|
|
813
|
+
defaultComponentDir: "Default component directory (optional)",
|
|
814
|
+
defaultTokenFile: "Default token file (optional)"
|
|
797
815
|
};
|
|
798
816
|
function ConfigurationScreen({ onDone }) {
|
|
799
817
|
const [stage, setStage] = useState6("loading");
|
|
@@ -1111,12 +1129,22 @@ function DebugModeScreen({ onDone }) {
|
|
|
1111
1129
|
}
|
|
1112
1130
|
|
|
1113
1131
|
// packages/experience-design-system-cli/app.tsx
|
|
1114
|
-
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
1132
|
+
import { Fragment as Fragment3, jsx as jsx11 } from "react/jsx-runtime";
|
|
1115
1133
|
function App({ onLaunchImport, importExitCode }) {
|
|
1116
1134
|
const returnedFromImport = importExitCode !== void 0;
|
|
1117
1135
|
const [screen, setScreen] = useState10(returnedFromImport ? "import" : "start");
|
|
1118
1136
|
const [showImportResult, setShowImportResult] = useState10(returnedFromImport);
|
|
1119
1137
|
const [projectPath, setProjectPath] = useState10();
|
|
1138
|
+
const [importDefaults, setImportDefaults] = useState10();
|
|
1139
|
+
useEffect8(() => {
|
|
1140
|
+
if (screen !== "import") {
|
|
1141
|
+
setImportDefaults(void 0);
|
|
1142
|
+
return;
|
|
1143
|
+
}
|
|
1144
|
+
void readCredentials().then(
|
|
1145
|
+
(saved) => setImportDefaults({ componentDir: saved.defaultComponentDir ?? "", tokenFile: saved.defaultTokenFile ?? "" })
|
|
1146
|
+
);
|
|
1147
|
+
}, [screen]);
|
|
1120
1148
|
const goToStart = () => setScreen("start");
|
|
1121
1149
|
const goToSettings = () => setScreen("settings");
|
|
1122
1150
|
const finishImportResult = () => {
|
|
@@ -1131,10 +1159,14 @@ function App({ onLaunchImport, importExitCode }) {
|
|
|
1131
1159
|
switch (screen) {
|
|
1132
1160
|
case "import":
|
|
1133
1161
|
if (showImportResult) return /* @__PURE__ */ jsx11(ImportScreen, { exitCode: importExitCode, onDone: finishImportResult });
|
|
1134
|
-
if (
|
|
1162
|
+
if (importDefaults === void 0) return /* @__PURE__ */ jsx11(Fragment3, {});
|
|
1163
|
+
if (projectPath === void 0) {
|
|
1164
|
+
return /* @__PURE__ */ jsx11(WelcomeScreen, { onContinue: setProjectPath, onQuit: leaveImport, initialPath: importDefaults.componentDir });
|
|
1165
|
+
}
|
|
1135
1166
|
return /* @__PURE__ */ jsx11(
|
|
1136
1167
|
TokenInputScreen,
|
|
1137
1168
|
{
|
|
1169
|
+
initialPath: importDefaults.tokenFile,
|
|
1138
1170
|
onConfirm: (tokens) => onLaunchImport?.({ project: projectPath, tokens }),
|
|
1139
1171
|
onSkip: () => onLaunchImport?.({ project: projectPath }),
|
|
1140
1172
|
onBack: () => setProjectPath(void 0)
|
package/dist/index.js
CHANGED
|
@@ -336,8 +336,8 @@ import { useState as useState3 } from "react";
|
|
|
336
336
|
import { Box as Box3, Text as Text3 } from "ink";
|
|
337
337
|
import TextInput from "ink-text-input";
|
|
338
338
|
import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
339
|
-
function WelcomeScreen({ onContinue, onQuit }) {
|
|
340
|
-
const [projectPath, setProjectPath] = useState3(
|
|
339
|
+
function WelcomeScreen({ onContinue, onQuit, initialPath = "" }) {
|
|
340
|
+
const [projectPath, setProjectPath] = useState3(initialPath);
|
|
341
341
|
useWelcomeControls(projectPath, onQuit);
|
|
342
342
|
const submit = (value) => {
|
|
343
343
|
const path = toProjectPath(value);
|
|
@@ -471,8 +471,13 @@ import { useState as useState4 } from "react";
|
|
|
471
471
|
import { Box as Box4, Text as Text4 } from "ink";
|
|
472
472
|
import TextInput2 from "ink-text-input";
|
|
473
473
|
import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
474
|
-
function TokenInputScreen({
|
|
475
|
-
|
|
474
|
+
function TokenInputScreen({
|
|
475
|
+
onConfirm,
|
|
476
|
+
onSkip,
|
|
477
|
+
onBack,
|
|
478
|
+
initialPath = ""
|
|
479
|
+
}) {
|
|
480
|
+
const [tokenPath, setTokenPath] = useState4(initialPath);
|
|
476
481
|
const [failure, setFailure] = useState4(null);
|
|
477
482
|
useTokenInputControls(tokenPath, onSkip, onBack);
|
|
478
483
|
const change = (value) => {
|
|
@@ -902,7 +907,9 @@ async function readCredentials() {
|
|
|
902
907
|
spaceId: store.spaceId || "",
|
|
903
908
|
environmentId: store.environmentId || "",
|
|
904
909
|
cmaToken: store.cmaToken || "",
|
|
905
|
-
host: store.host || ""
|
|
910
|
+
host: store.host || "",
|
|
911
|
+
defaultComponentDir: store.defaultComponentDir || "",
|
|
912
|
+
defaultTokenFile: store.defaultTokenFile || ""
|
|
906
913
|
};
|
|
907
914
|
}
|
|
908
915
|
async function writeCredentials(config) {
|
|
@@ -932,7 +939,9 @@ function debugFields(config) {
|
|
|
932
939
|
space_id: config?.spaceId ?? "",
|
|
933
940
|
environment_id: config?.environmentId ?? "",
|
|
934
941
|
cma_token: config?.cmaToken ?? "",
|
|
935
|
-
host: config?.host ?? ""
|
|
942
|
+
host: config?.host ?? "",
|
|
943
|
+
default_component_dir: config?.defaultComponentDir ?? "",
|
|
944
|
+
default_token_file: config?.defaultTokenFile ?? ""
|
|
936
945
|
};
|
|
937
946
|
}
|
|
938
947
|
function ConfigurationScreen({ onDone }) {
|
|
@@ -1069,12 +1078,21 @@ var init_ContentfulConfigScreen = __esm({
|
|
|
1069
1078
|
init_home_theme();
|
|
1070
1079
|
init_config_store();
|
|
1071
1080
|
init_debug_store();
|
|
1072
|
-
FIELD_ORDER = [
|
|
1081
|
+
FIELD_ORDER = [
|
|
1082
|
+
"spaceId",
|
|
1083
|
+
"environmentId",
|
|
1084
|
+
"cmaToken",
|
|
1085
|
+
"host",
|
|
1086
|
+
"defaultComponentDir",
|
|
1087
|
+
"defaultTokenFile"
|
|
1088
|
+
];
|
|
1073
1089
|
FIELD_LABELS = {
|
|
1074
1090
|
spaceId: "Space ID",
|
|
1075
1091
|
environmentId: "Environment ID",
|
|
1076
1092
|
cmaToken: "CMA Token",
|
|
1077
|
-
host: "API Host (optional)"
|
|
1093
|
+
host: "API Host (optional)",
|
|
1094
|
+
defaultComponentDir: "Default component directory (optional)",
|
|
1095
|
+
defaultTokenFile: "Default token file (optional)"
|
|
1078
1096
|
};
|
|
1079
1097
|
}
|
|
1080
1098
|
});
|
|
@@ -1300,13 +1318,23 @@ var app_exports = {};
|
|
|
1300
1318
|
__export(app_exports, {
|
|
1301
1319
|
runApp: () => runApp
|
|
1302
1320
|
});
|
|
1303
|
-
import { useState as useState10 } from "react";
|
|
1304
|
-
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
1321
|
+
import { useEffect as useEffect8, useState as useState10 } from "react";
|
|
1322
|
+
import { Fragment as Fragment3, jsx as jsx11 } from "react/jsx-runtime";
|
|
1305
1323
|
function App({ onLaunchImport, importExitCode }) {
|
|
1306
1324
|
const returnedFromImport = importExitCode !== void 0;
|
|
1307
1325
|
const [screen, setScreen] = useState10(returnedFromImport ? "import" : "start");
|
|
1308
1326
|
const [showImportResult, setShowImportResult] = useState10(returnedFromImport);
|
|
1309
1327
|
const [projectPath, setProjectPath] = useState10();
|
|
1328
|
+
const [importDefaults, setImportDefaults] = useState10();
|
|
1329
|
+
useEffect8(() => {
|
|
1330
|
+
if (screen !== "import") {
|
|
1331
|
+
setImportDefaults(void 0);
|
|
1332
|
+
return;
|
|
1333
|
+
}
|
|
1334
|
+
void readCredentials().then(
|
|
1335
|
+
(saved) => setImportDefaults({ componentDir: saved.defaultComponentDir ?? "", tokenFile: saved.defaultTokenFile ?? "" })
|
|
1336
|
+
);
|
|
1337
|
+
}, [screen]);
|
|
1310
1338
|
const goToStart = () => setScreen("start");
|
|
1311
1339
|
const goToSettings = () => setScreen("settings");
|
|
1312
1340
|
const finishImportResult = () => {
|
|
@@ -1321,10 +1349,14 @@ function App({ onLaunchImport, importExitCode }) {
|
|
|
1321
1349
|
switch (screen) {
|
|
1322
1350
|
case "import":
|
|
1323
1351
|
if (showImportResult) return /* @__PURE__ */ jsx11(ImportScreen, { exitCode: importExitCode, onDone: finishImportResult });
|
|
1324
|
-
if (
|
|
1352
|
+
if (importDefaults === void 0) return /* @__PURE__ */ jsx11(Fragment3, {});
|
|
1353
|
+
if (projectPath === void 0) {
|
|
1354
|
+
return /* @__PURE__ */ jsx11(WelcomeScreen, { onContinue: setProjectPath, onQuit: leaveImport, initialPath: importDefaults.componentDir });
|
|
1355
|
+
}
|
|
1325
1356
|
return /* @__PURE__ */ jsx11(
|
|
1326
1357
|
TokenInputScreen,
|
|
1327
1358
|
{
|
|
1359
|
+
initialPath: importDefaults.tokenFile,
|
|
1328
1360
|
onConfirm: (tokens) => onLaunchImport?.({ project: projectPath, tokens }),
|
|
1329
1361
|
onSkip: () => onLaunchImport?.({ project: projectPath }),
|
|
1330
1362
|
onBack: () => setProjectPath(void 0)
|
|
@@ -1387,6 +1419,7 @@ var init_app = __esm({
|
|
|
1387
1419
|
init_screen3();
|
|
1388
1420
|
init_PageContainer4();
|
|
1389
1421
|
init_screen4();
|
|
1422
|
+
init_config_store();
|
|
1390
1423
|
}
|
|
1391
1424
|
});
|
|
1392
1425
|
|
|
@@ -1394,11 +1427,6 @@ var init_app = __esm({
|
|
|
1394
1427
|
import { readFileSync as readFileSync3 } from "node:fs";
|
|
1395
1428
|
import { Command } from "commander";
|
|
1396
1429
|
|
|
1397
|
-
// packages/experience-design-system-cli/src/legacy/forwarded-import-args.ts
|
|
1398
|
-
function forwardedImportArgs(argv) {
|
|
1399
|
-
return argv[0] === "import" ? argv.slice(1) : argv;
|
|
1400
|
-
}
|
|
1401
|
-
|
|
1402
1430
|
// packages/experience-design-system-cli/src/legacy/run-legacy.ts
|
|
1403
1431
|
init_legacy_cli_path();
|
|
1404
1432
|
import { spawn } from "node:child_process";
|
|
@@ -1452,11 +1480,7 @@ function registerForwardedCommands(program) {
|
|
|
1452
1480
|
}
|
|
1453
1481
|
function createProgram() {
|
|
1454
1482
|
const program = new Command().name("experiences").description("Contentful Experiences design system import CLI").version(pkg.version, "--version", "Print version number");
|
|
1455
|
-
program.command("import", { isDefault: true }).description("Launch the Experiences CLI").
|
|
1456
|
-
const forwarded = forwardedImportArgs(process.argv.slice(2));
|
|
1457
|
-
if (forwarded.length > 0) {
|
|
1458
|
-
process.exit(await runLegacy(["import", ...forwarded]));
|
|
1459
|
-
}
|
|
1483
|
+
program.command("import", { isDefault: true }).description("Launch the Experiences CLI").action(async () => {
|
|
1460
1484
|
const { render } = await import("ink");
|
|
1461
1485
|
const { runApp: runApp2 } = await Promise.resolve().then(() => (init_app(), app_exports));
|
|
1462
1486
|
await runApp2(render);
|
package/dist/package.json
CHANGED
|
@@ -2,6 +2,7 @@ import React from 'react';
|
|
|
2
2
|
interface WelcomeScreenProps {
|
|
3
3
|
onContinue: (projectPath: string) => void;
|
|
4
4
|
onQuit: () => void;
|
|
5
|
+
initialPath?: string;
|
|
5
6
|
}
|
|
6
|
-
export declare function WelcomeScreen({ onContinue, onQuit }: WelcomeScreenProps): React.ReactElement;
|
|
7
|
+
export declare function WelcomeScreen({ onContinue, onQuit, initialPath }: WelcomeScreenProps): React.ReactElement;
|
|
7
8
|
export {};
|
|
@@ -3,6 +3,7 @@ interface TokenInputScreenProps {
|
|
|
3
3
|
onConfirm: (tokensPath: string) => void;
|
|
4
4
|
onSkip: () => void;
|
|
5
5
|
onBack: () => void;
|
|
6
|
+
initialPath?: string;
|
|
6
7
|
}
|
|
7
|
-
export declare function TokenInputScreen({ onConfirm, onSkip, onBack }: TokenInputScreenProps): React.ReactElement;
|
|
8
|
+
export declare function TokenInputScreen({ onConfirm, onSkip, onBack, initialPath, }: TokenInputScreenProps): React.ReactElement;
|
|
8
9
|
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Command } from 'commander';
|
|
2
|
+
export declare function resolveExtractNoCache(opts: {
|
|
3
|
+
cache?: boolean;
|
|
4
|
+
noCache?: boolean;
|
|
5
|
+
}): boolean;
|
|
6
|
+
export declare function collectSourceFiles(directory: string, onProgress?: (scannedCount: number) => void): Promise<string[]>;
|
|
7
|
+
export declare function registerInternalExtractCommand(program: Command): void;
|
|
@@ -1,5 +1,43 @@
|
|
|
1
1
|
import type { Command } from 'commander';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
import type { CDFComponentEntry, CDFTokenEntry, CDFValidationError, DTCGTokenEntry } from '@contentful/experience-design-system-types';
|
|
3
|
+
import { findSlotCycles } from '../analyze/cycle-detection.js';
|
|
4
|
+
import type { ServerPreviewResponse } from '@contentful/experience-design-system-types';
|
|
5
|
+
export declare function readTokensFromPath(flag: string, p: string): Promise<DTCGTokenEntry[]>;
|
|
6
|
+
/** Adapts flat DTCGTokenEntry[] (path alongside the leaf) into the
|
|
7
|
+
* {path, entry} pairs buildCDF/buildFilteredCDF expect. */
|
|
8
|
+
export declare function toCDFTokens(tokens: DTCGTokenEntry[]): Array<{
|
|
9
|
+
path: string;
|
|
10
|
+
entry: CDFTokenEntry;
|
|
11
|
+
}>;
|
|
12
|
+
export declare function detectSlotCycles(components: Array<{
|
|
13
|
+
key: string;
|
|
14
|
+
entry: CDFComponentEntry;
|
|
15
|
+
}>): ReturnType<typeof findSlotCycles>;
|
|
16
|
+
export declare function formatSlotCycleReport(cycles: ReturnType<typeof findSlotCycles>): string[];
|
|
17
|
+
export declare function assertNoSlotCycles(components: Array<{
|
|
18
|
+
key: string;
|
|
19
|
+
entry: CDFComponentEntry;
|
|
20
|
+
}>): Promise<void>;
|
|
21
|
+
/**
|
|
22
|
+
* Client-side pre-flight for `$allowedComponents` references that are absent
|
|
23
|
+
* from this document, so a typo'd or renamed reference fails fast instead of
|
|
24
|
+
* waiting on the `previewImport`/`applyImport` round-trip. Only catches
|
|
25
|
+
* document-internal misses — a name that resolves against an *existing*
|
|
26
|
+
* target-environment Component still needs the network round-trip to
|
|
27
|
+
* confirm, so this cannot replace the server-side check.
|
|
28
|
+
*
|
|
29
|
+
* `validateSlotReferences` is the detection step (shared with
|
|
30
|
+
* `WizardApp.tsx` via `formatUnresolvedSlotReferences` below, mirroring how
|
|
31
|
+
* `detectSlotCycles`/`formatSlotCycleReport` split for the cycle check).
|
|
32
|
+
*/
|
|
33
|
+
export declare function formatUnresolvedSlotReferences(errors: CDFValidationError[]): string[];
|
|
34
|
+
export declare function assertNoUnresolvedSlotReferences(components: Array<{
|
|
35
|
+
key: string;
|
|
36
|
+
entry: CDFComponentEntry;
|
|
37
|
+
}>): Promise<void>;
|
|
38
|
+
export declare function extractComponents(cdf: Record<string, unknown> | null | undefined): Array<{
|
|
39
|
+
key: string;
|
|
40
|
+
entry: CDFComponentEntry;
|
|
41
|
+
}>;
|
|
42
|
+
export declare function hasBreakingChangesWithImpact(preview: ServerPreviewResponse): boolean;
|
|
5
43
|
export declare function registerApplyCommand(program: Command): void;
|
|
@@ -1,20 +1,2 @@
|
|
|
1
1
|
import type { Command } from 'commander';
|
|
2
|
-
export interface GenerateSubcommandOptions {
|
|
3
|
-
agent?: string;
|
|
4
|
-
model?: string;
|
|
5
|
-
bedrock?: boolean;
|
|
6
|
-
session?: string;
|
|
7
|
-
rawTokens?: string;
|
|
8
|
-
tokens?: string;
|
|
9
|
-
tokenMap?: string;
|
|
10
|
-
dryRun?: boolean;
|
|
11
|
-
verbose?: boolean;
|
|
12
|
-
cache?: boolean;
|
|
13
|
-
generatePromptPath?: string;
|
|
14
|
-
prompt?: string[];
|
|
15
|
-
existingEntitiesPath?: string;
|
|
16
|
-
cacheStatus?: boolean;
|
|
17
|
-
restoreCache?: boolean;
|
|
18
|
-
cachedComponents?: string;
|
|
19
|
-
}
|
|
20
2
|
export declare function registerInternalGenerateCommand(program: Command): void;
|