@contentful/experience-design-system-cli 2.35.1-dev-build-236b6909.0 → 2.35.1-dev-build-e1cfef52.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/bin/cli.js +1 -1
  2. package/dist/app.js +262 -127
  3. package/dist/index.js +289 -131
  4. package/dist/package.json +5 -1
  5. package/dist/src/tui/home/home.d.ts +1 -0
  6. package/dist/src/tui/home/home.theme.d.ts +11 -0
  7. package/dist/src/tui/import/spawn-v1-import.d.ts +1 -0
  8. package/dist/src/tui/import/steps/02-token-input/controls.d.ts +11 -0
  9. package/dist/src/tui/import/steps/02-token-input/logic.d.ts +9 -0
  10. package/dist/src/tui/import/steps/02-token-input/screen.d.ts +8 -0
  11. package/dist/src/tui/import/steps/02-token-input/validate-path.d.ts +12 -0
  12. package/dist/src/tui/import/steps/index.d.ts +1 -0
  13. package/legacy/bin/cli.js +19 -23
  14. package/legacy/dist/src/analyze/composition/interchange-schema.d.ts +7 -1
  15. package/legacy/dist/src/analyze/composition/resolve-mapping.d.ts +11 -34
  16. package/legacy/dist/src/analyze/composition/source-call-site-evidence.d.ts +30 -0
  17. package/legacy/dist/src/analyze/extract-command.d.ts +1 -2
  18. package/legacy/dist/src/apply/command.d.ts +41 -3
  19. package/legacy/dist/src/generate/command.d.ts +0 -18
  20. package/legacy/dist/src/import/tui/WizardApp.d.ts +1 -7
  21. package/legacy/dist/src/import/tui/ai-flag.d.ts +0 -1
  22. package/legacy/dist/src/import/tui/run-selection-agent.d.ts +0 -1
  23. package/legacy/dist/src/import/tui/steps/ScopeGateStep.d.ts +0 -1
  24. package/legacy/dist/src/import/tui/wizard-state-transitions.d.ts +0 -3
  25. package/legacy/dist/src/index.js +16735 -18295
  26. package/legacy/dist/src/lib/prop-bucket-debug.d.ts +3 -0
  27. package/legacy/dist/src/map-tokens/tui/MapTokensView.d.ts +0 -1
  28. package/legacy/dist/src/session/core/components/strip-extraction-provenance.d.ts +2 -0
  29. package/legacy/dist/src/session/db.d.ts +2 -72
  30. package/legacy/package.json +5 -1
  31. package/legacy/skills/debate-select.md +23 -0
  32. package/legacy/skills/select-components.md +43 -8
  33. package/package.json +7 -3
  34. package/legacy/dist/src/analyze/composition/candidate-files.d.ts +0 -34
  35. package/legacy/dist/src/analyze/composition/composition-cache-key.d.ts +0 -18
  36. package/legacy/dist/src/analyze/composition/parse-map-edges.d.ts +0 -16
  37. package/legacy/dist/src/analyze/composition/prompt-loader.d.ts +0 -3
  38. package/legacy/dist/src/analyze/composition/resolve-mapping-cli.d.ts +0 -10
  39. package/legacy/dist/src/analyze/controller/run-analyze-extract.d.ts +0 -12
  40. package/legacy/dist/src/analyze/helpers/resolve-composition-agent.d.ts +0 -9
  41. package/legacy/dist/src/analyze/helpers/resolve-no-cache.d.ts +0 -4
  42. package/legacy/dist/src/analyze/helpers/resolve-unreachable-mode.d.ts +0 -1
  43. package/legacy/dist/src/analyze/helpers/retry-db-write.d.ts +0 -1
  44. package/legacy/dist/src/analyze/orchestrator/execute-analyze-extract.d.ts +0 -21
  45. package/legacy/dist/src/analyze/services/collect-source-files.d.ts +0 -1
  46. package/legacy/dist/src/analyze/services/extract-with-cache.d.ts +0 -17
  47. package/legacy/dist/src/analyze/services/persist-extract-results.d.ts +0 -11
  48. package/legacy/dist/src/analyze/services/resolve-composition-mapping.d.ts +0 -22
  49. package/legacy/dist/src/analyze/services/resolve-source-directory.d.ts +0 -1
  50. package/legacy/dist/src/apply/controller/run-apply.d.ts +0 -1
  51. package/legacy/dist/src/apply/helpers/build-apply-output.d.ts +0 -55
  52. package/legacy/dist/src/apply/helpers/has-breaking-changes.d.ts +0 -2
  53. package/legacy/dist/src/apply/helpers/poll-apply-operation.d.ts +0 -9
  54. package/legacy/dist/src/apply/helpers/read-token-files.d.ts +0 -7
  55. package/legacy/dist/src/apply/helpers/slot-validation.d.ts +0 -20
  56. package/legacy/dist/src/apply/services/apply-interactive.d.ts +0 -13
  57. package/legacy/dist/src/apply/services/apply-non-interactive.d.ts +0 -10
  58. package/legacy/dist/src/apply/services/resolve-apply-inputs.d.ts +0 -14
  59. package/legacy/dist/src/generate/controller/run-generate-components.d.ts +0 -2
  60. package/legacy/dist/src/generate/controller/run-generate-tokens.d.ts +0 -2
  61. package/legacy/dist/src/generate/helpers/assert-file-exists.d.ts +0 -1
  62. package/legacy/dist/src/generate/helpers/normalize-component-for-cache.d.ts +0 -6
  63. package/legacy/dist/src/generate/helpers/parse-precomputed-cached-names.d.ts +0 -1
  64. package/legacy/dist/src/generate/helpers/print-fallback-instructions.d.ts +0 -6
  65. package/legacy/dist/src/generate/helpers/read-file-inline.d.ts +0 -1
  66. package/legacy/dist/src/generate/services/invoke-all-component-agents.d.ts +0 -6
  67. package/legacy/dist/src/generate/services/invoke-component-agent.d.ts +0 -36
  68. package/legacy/dist/src/generate/services/load-accepted-names.d.ts +0 -1
  69. package/legacy/dist/src/generate/services/resolve-component-cache.d.ts +0 -13
  70. package/legacy/dist/src/generate/services/resolve-generate-agent.d.ts +0 -9
  71. package/legacy/dist/src/generate/services/show-generate-view.d.ts +0 -2
  72. package/legacy/dist/src/generate/services/verify-agent-binary.d.ts +0 -2
  73. package/legacy/dist/src/lib/pluralize.d.ts +0 -1
  74. package/legacy/dist/src/map-tokens/controller/run-map-tokens.d.ts +0 -12
  75. package/legacy/dist/src/map-tokens/services/render-map-tokens-result.d.ts +0 -2
  76. package/legacy/dist/src/map-tokens/services/resolve-token-name-paths.d.ts +0 -8
  77. package/legacy/dist/src/session/cache-keys.d.ts +0 -22
  78. package/legacy/dist/src/session/core/components/hash-component-shape.d.ts +0 -5
  79. package/legacy/dist/src/session/core/tokens/hash-token-content.d.ts +0 -1
  80. package/legacy/prompts/composition-edges.md +0 -11
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contentful/experience-design-system-cli",
3
- "version": "2.35.1-dev-build-236b6909.0",
3
+ "version": "2.35.1-dev-build-e1cfef52.0",
4
4
  "description": "Contentful Experiences design system import CLI",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -53,6 +53,9 @@
53
53
  "typescript": "^5.9.3"
54
54
  },
55
55
  "devDependencies": {
56
+ "@contentful/experience-design-system-agents": "workspace:*",
57
+ "@contentful/experience-design-system-extraction": "workspace:*",
58
+ "@contentful/experience-design-system-generation": "workspace:*",
56
59
  "@tsconfig/node24": "^24.0.4",
57
60
  "@types/node": "^24.0.3",
58
61
  "@types/react": "^18.3.24",
@@ -60,6 +63,7 @@
60
63
  "eslint": "^9.39.5",
61
64
  "eslint-config-prettier": "^10.1.8",
62
65
  "eslint-plugin-prettier": "^5.5.6",
66
+ "ink-testing-library": "^4.0.0",
63
67
  "typescript-eslint": "^8.67.0",
64
68
  "vitest": "^4.0.16"
65
69
  },
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import type { Screen } from '../../../app.js';
3
+ export declare const MIN_TERMINAL_WIDTH = 164;
3
4
  export declare function HomeScreen({ onNavigate }: {
4
5
  onNavigate: (screen: Screen) => void;
5
6
  }): React.ReactElement;
@@ -1,3 +1,14 @@
1
+ export declare const BRAND: {
2
+ readonly blue: "#1773EB";
3
+ readonly green: "#00C459";
4
+ readonly orange: "#E44F20";
5
+ readonly yellow: "#FFDA00";
6
+ readonly white: "#FFFFFF";
7
+ readonly slate: "#A6B5C7";
8
+ readonly steel: "#C4D1DE";
9
+ readonly mist: "#DDE5EC";
10
+ readonly fog: "#EFF2F6";
11
+ };
1
12
  export declare const PALETTE: {
2
13
  readonly accent: "#1773EB";
3
14
  readonly heading: "#FFFFFF";
@@ -16,6 +16,7 @@ interface PipelineResult {
16
16
  }
17
17
  export interface SpawnV1ImportOptions {
18
18
  project?: string;
19
+ tokens?: string;
19
20
  onProgress?: (line: string) => void;
20
21
  }
21
22
  export interface SpawnV1ImportResult {
@@ -0,0 +1,11 @@
1
+ export declare const TOKEN_INPUT_CONTROLS: readonly [{
2
+ readonly keys: "Enter";
3
+ readonly label: "Continue (skips if empty)";
4
+ }, {
5
+ readonly keys: "s";
6
+ readonly label: "Skip";
7
+ }, {
8
+ readonly keys: "Esc/q";
9
+ readonly label: "Back";
10
+ }];
11
+ export declare function useTokenInputControls(tokenPath: string, onSkip: () => void, onBack: () => void): void;
@@ -0,0 +1,9 @@
1
+ interface Key {
2
+ escape: boolean;
3
+ ctrl: boolean;
4
+ meta: boolean;
5
+ }
6
+ export declare function shouldGoBack(value: string, input: string, key: Key): boolean;
7
+ export declare function shouldSkip(value: string, input: string, key: Key): boolean;
8
+ export declare function toTokenPath(value: string): string | null;
9
+ export {};
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ interface TokenInputScreenProps {
3
+ onConfirm: (tokensPath: string) => void;
4
+ onSkip: () => void;
5
+ onBack: () => void;
6
+ }
7
+ export declare function TokenInputScreen({ onConfirm, onSkip, onBack }: TokenInputScreenProps): React.ReactElement;
8
+ export {};
@@ -0,0 +1,12 @@
1
+ export interface TokenPathFailure {
2
+ error: string;
3
+ resolvedPath: string;
4
+ }
5
+ type TokenPathCheck = {
6
+ ok: true;
7
+ path: string;
8
+ } | ({
9
+ ok: false;
10
+ } & TokenPathFailure);
11
+ export declare function validateTokenPath(rawPath: string): TokenPathCheck;
12
+ export {};
@@ -1 +1,2 @@
1
1
  export { WelcomeScreen } from './01-welcome/screen.js';
2
+ export { TokenInputScreen } from './02-token-input/screen.js';
package/legacy/bin/cli.js CHANGED
@@ -1,18 +1,18 @@
1
1
  #!/usr/bin/env node
2
2
  // Suppress the SQLite ExperimentalWarning before any modules load.
3
3
  // Must use dynamic import so this handler registers before sqlite is imported.
4
- process.removeAllListeners("warning");
5
- process.on("warning", (w) => {
6
- if (w.name === "ExperimentalWarning" && w.message.includes("SQLite")) return;
4
+ process.removeAllListeners('warning');
5
+ process.on('warning', (w) => {
6
+ if (w.name === 'ExperimentalWarning' && w.message.includes('SQLite')) return;
7
7
  process.stderr.write(`${w.name}: ${w.message}\n`);
8
8
  });
9
9
 
10
10
  // Auto-rebuild when running from source (dev mode only).
11
11
  // Skipped when src/ doesn't exist (e.g. npm-installed users).
12
- import { existsSync, statSync, readdirSync } from "node:fs";
13
- import { execFileSync } from "node:child_process";
14
- import { fileURLToPath } from "node:url";
15
- import { dirname, resolve, join } from "node:path";
12
+ import { existsSync, statSync, readdirSync } from 'node:fs';
13
+ import { execFileSync } from 'node:child_process';
14
+ import { fileURLToPath } from 'node:url';
15
+ import { dirname, resolve, join } from 'node:path';
16
16
 
17
17
  function newestMtime(dir, depth = 0) {
18
18
  if (depth > 10) return 0;
@@ -22,7 +22,7 @@ function newestMtime(dir, depth = 0) {
22
22
  const full = join(dir, entry.name);
23
23
  if (entry.isDirectory()) {
24
24
  max = Math.max(max, newestMtime(full, depth + 1));
25
- } else if (entry.name.endsWith(".ts") || entry.name.endsWith(".tsx")) {
25
+ } else if (entry.name.endsWith('.ts') || entry.name.endsWith('.tsx')) {
26
26
  max = Math.max(max, statSync(full).mtimeMs);
27
27
  }
28
28
  }
@@ -30,29 +30,25 @@ function newestMtime(dir, depth = 0) {
30
30
  }
31
31
 
32
32
  const __dirname = dirname(fileURLToPath(import.meta.url));
33
- const pkgRoot = resolve(__dirname, "..");
34
- const srcDir = join(pkgRoot, "src");
35
- const distEntry = join(pkgRoot, "dist", "src", "index.js");
33
+ const pkgRoot = resolve(__dirname, '..');
34
+ const srcDir = join(pkgRoot, 'src');
35
+ const distEntry = join(pkgRoot, 'dist', 'src', 'index.js');
36
36
 
37
- if (
38
- existsSync(srcDir) &&
39
- existsSync(distEntry) &&
40
- process.env.NODE_ENV !== "test"
41
- ) {
37
+ if (existsSync(srcDir) && existsSync(distEntry) && process.env.NODE_ENV !== 'test') {
42
38
  const distMtime = statSync(distEntry).mtimeMs;
43
39
  if (newestMtime(srcDir) > distMtime) {
44
- process.stderr.write("⚙ Source changed — rebuilding...\n");
45
- const tsc = join(pkgRoot, "node_modules", ".bin", "tsc");
40
+ process.stderr.write('⚙ Source changed — rebuilding...\n');
41
+ const tsc = join(pkgRoot, 'node_modules', '.bin', 'tsc');
46
42
  try {
47
- execFileSync(tsc, ["-p", join(pkgRoot, "tsconfig.build.json")], {
48
- stdio: ["ignore", "ignore", "inherit"],
43
+ execFileSync(tsc, ['-p', join(pkgRoot, 'tsconfig.build.json')], {
44
+ stdio: ['ignore', 'ignore', 'inherit'],
49
45
  cwd: pkgRoot,
50
46
  });
51
- process.stderr.write("✓ Build complete\n");
47
+ process.stderr.write('✓ Build complete\n');
52
48
  } catch {
53
- process.stderr.write("✗ Build failed — running with existing dist\n");
49
+ process.stderr.write('✗ Build failed — running with existing dist\n');
54
50
  }
55
51
  }
56
52
  }
57
53
 
58
- await import("../dist/src/index.js");
54
+ await import('../dist/src/index.js');
@@ -5,7 +5,7 @@
5
5
  * parent→child relationship, carrying optional `slot` (T7), `confidence`,
6
6
  * and `provenance`. It is easier to merge and dedupe across sources (T2).
7
7
  */
8
- export type EdgeProvenance = 'typed-slot' | 'structural' | 'manifest' | 'doc' | `adapter:${string}` | 'agent';
8
+ export type EdgeProvenance = 'typed-slot' | 'structural' | 'call-site' | 'manifest' | 'doc' | `adapter:${string}`;
9
9
  export type CompositionEdge = {
10
10
  parent: string;
11
11
  child: string;
@@ -13,5 +13,11 @@ export type CompositionEdge = {
13
13
  slot?: string;
14
14
  /** 1–5 scale, same as select/reject agent tools. */
15
15
  confidence?: number;
16
+ citation?: CompositionCitation;
16
17
  provenance: EdgeProvenance;
17
18
  };
19
+ export type CompositionCitation = {
20
+ sourcePath: string;
21
+ startLine: number;
22
+ endLine: number;
23
+ };
@@ -1,59 +1,36 @@
1
1
  import type { RawComponentDefinition } from '../../types.js';
2
2
  import type { CompositionEdge } from './interchange-schema.js';
3
3
  import { type EdgeConflict } from './merge-edges.js';
4
+ import type { SourceCallSiteEvidence, SourceCallSiteRejection } from './source-call-site-evidence.js';
4
5
  export type ResolveMappingResult = {
5
6
  components: RawComponentDefinition[];
6
7
  edges: CompositionEdge[];
7
8
  conflicts: EdgeConflict[];
8
9
  warnings: string[];
10
+ sourceCallSiteEvidence: SourceCallSiteEvidence[];
11
+ sourceCallSiteRejections: SourceCallSiteRejection[];
9
12
  };
10
13
  /**
11
14
  * Orchestrate composition-edge acquisition and enrichment.
12
15
  *
13
- * Sources by rank: typed-slot / "code slots" (2) > structural usage evidence
14
- * (3) > manifest (4) > doc (5) > adapter-resolved / extraEdges (6) >
15
- * edge-emitting agent (7). Manifest/doc edges are computed deterministically outside
16
+ * Sources by rank: typed-slot / "code slots" (1) > structural usage evidence
17
+ * (2) > cited source call sites (3) > manifest (4) > doc (5) > adapter-resolved
18
+ * / extraEdges (6). Manifest/doc edges are computed deterministically outside
16
19
  * this function (see manifest-doc-evidence.ts) and joined via `extraEdges`.
17
20
  * ALL sources — including the code slots already on the incoming components —
18
21
  * are fed into one ranked merge and unioned; non-conflicting edges from every
19
22
  * source survive, and on a conflict (same parent+child, different slot) the
20
- * higher-rank source wins and the loser is recorded. The edge-emitting agent runs only when
21
- * `forceAgent` is set OR there is residue a higher-rank source
22
- * didn't cover (routing/cost optimization) — `forceAgent` bypasses that
23
- * suppression but never changes rank.
24
- *
25
- * `runAgentFn` is injected (returns the agent's raw stdout) so this is
26
- * testable without spawning a subprocess.
23
+ * higher-rank source wins and the loser is recorded. No agent contributes
24
+ * edges: every edge is backed by code, a manifest or documentation.
27
25
  */
28
26
  export declare function resolveMapping(input: {
29
27
  components: RawComponentDefinition[];
30
- forceAgent?: boolean;
31
- files: Array<{
32
- path: string;
33
- content: string;
34
- }>;
35
- runAgentFn: (opts: {
36
- prompt: string;
37
- files: Array<{
38
- path: string;
39
- content: string;
40
- }>;
41
- }) => Promise<string>;
42
- buildPrompt?: (files: Array<{
43
- path: string;
44
- content: string;
45
- }>, componentNames: string[]) => string;
46
- /**
47
- * Custom instruction preamble (from `--prompt composition=...`). Replaces the
48
- * default guidance line ONLY; the machine-readable output contract + the
49
- * component-name allowlist + candidate files are always appended so the
50
- * JSONL parser keeps working regardless of the override.
51
- */
52
- promptOverride?: string;
53
28
  /**
54
29
  * Pre-resolved edges from an external source (e.g. manifest or documentation)
55
30
  * path). They join the ranked merge at their own provenance rank alongside
56
31
  * code slots and other automatic mapping sources.
57
32
  */
58
33
  extraEdges?: CompositionEdge[];
59
- }): Promise<ResolveMappingResult>;
34
+ sourceCallSiteEvidence?: SourceCallSiteEvidence[];
35
+ sourceCallSiteRejections?: SourceCallSiteRejection[];
36
+ }): ResolveMappingResult;
@@ -0,0 +1,30 @@
1
+ import type { RawComponentDefinition } from '../../types.js';
2
+ export type SourceCallSiteEvidence = {
3
+ parent: string;
4
+ child: string;
5
+ slot?: string;
6
+ sourcePath: string;
7
+ startLine: number;
8
+ endLine: number;
9
+ excerpt: string;
10
+ kind: 'jsx-render';
11
+ };
12
+ export type SourceCallSiteRejection = {
13
+ parent: string;
14
+ candidate: string;
15
+ sourcePath: string;
16
+ startLine?: number;
17
+ endLine?: number;
18
+ excerpt?: string;
19
+ reason: 'unknown-component' | 'unbound-component' | 'text-only-child' | 'no-call-site';
20
+ };
21
+ export type SourceCallSiteEvidenceResult = {
22
+ accepted: SourceCallSiteEvidence[];
23
+ rejected: SourceCallSiteRejection[];
24
+ };
25
+ type SourceFileInput = {
26
+ path: string;
27
+ content: string;
28
+ };
29
+ export declare function collectSourceCallSiteEvidence(files: readonly SourceFileInput[], components: readonly RawComponentDefinition[]): SourceCallSiteEvidenceResult;
30
+ export {};
@@ -1,4 +1,3 @@
1
1
  import type { Command } from 'commander';
2
- export { resolveExtractNoCache } from './helpers/resolve-no-cache.js';
3
- export { collectSourceFiles } from './services/collect-source-files.js';
2
+ export declare function collectSourceFiles(directory: string, onProgress?: (scannedCount: number) => void): Promise<string[]>;
4
3
  export declare function registerInternalExtractCommand(program: Command): void;
@@ -1,5 +1,43 @@
1
1
  import type { Command } from 'commander';
2
- export { readTokensFromPath, toCDFTokens } from './helpers/read-token-files.js';
3
- export { detectSlotCycles, formatSlotCycleReport, assertNoSlotCycles, formatUnresolvedSlotReferences, assertNoUnresolvedSlotReferences, extractComponents, } from './helpers/slot-validation.js';
4
- export { hasBreakingChangesWithImpact } from './helpers/has-breaking-changes.js';
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;
@@ -7,26 +7,21 @@ export declare function buildGenerateComponentsArgs(opts: {
7
7
  agent: string;
8
8
  model?: string;
9
9
  bedrock?: boolean;
10
- noCache?: boolean;
11
10
  generatePromptPath?: string;
12
11
  promptOverrides?: string[];
13
12
  existingEntitiesPath?: string;
14
- restoreCache?: boolean;
15
- cachedComponents?: string[];
16
13
  }): string[];
17
14
  export declare function buildGenerateTokensArgs(opts: {
18
15
  rawTokensPath: string;
19
16
  agent: string;
20
17
  model?: string;
21
18
  bedrock?: boolean;
22
- noCache?: boolean;
23
19
  promptOverrides?: string[];
24
20
  }): string[];
25
21
  export declare function buildMapTokensArgs(opts: {
26
22
  sessionId: string;
27
23
  agent: string;
28
24
  model?: string;
29
- noCache?: boolean;
30
25
  skipAgent?: boolean;
31
26
  promptOverrides?: string[];
32
27
  existingEntitiesPath?: string;
@@ -57,11 +52,10 @@ export type WizardAppProps = {
57
52
  initialProjectPath?: string;
58
53
  host?: string;
59
54
  promptOverrides?: string[];
60
- noCache?: boolean;
61
55
  livePreview?: boolean;
62
56
  generatePromptPath?: string;
63
57
  skipMapTokens?: boolean;
64
58
  initialRawTokensPath?: string;
65
59
  initialAgentAuth?: Promise<AgentAuthStatus>;
66
60
  };
67
- export declare function WizardApp({ initialSpaceId, initialEnvironmentId, initialCmaToken, initialHost, initialAgent, initialModel, bedrock, initialProjectPath, host, promptOverrides, noCache, livePreview, generatePromptPath, skipMapTokens, initialRawTokensPath, initialAgentAuth, }?: WizardAppProps): React.ReactElement;
61
+ export declare function WizardApp({ initialSpaceId, initialEnvironmentId, initialCmaToken, initialHost, initialAgent, initialModel, bedrock, initialProjectPath, host, promptOverrides, livePreview, generatePromptPath, skipMapTokens, initialRawTokensPath, initialAgentAuth, }?: WizardAppProps): React.ReactElement;
@@ -1,6 +1,5 @@
1
1
  export type AiFlaggable = {
2
2
  aiDecision?: 'accepted' | 'rejected' | 'failed' | null;
3
- needsReview?: boolean;
4
3
  };
5
4
  export declare function isAiFlagged(row: AiFlaggable): boolean;
6
5
  export declare function isDefaultIncluded(row: AiFlaggable): boolean;
@@ -5,5 +5,4 @@ export declare function runSelectionAgent(options: {
5
5
  model?: string;
6
6
  promptText?: string;
7
7
  promptPath?: string;
8
- noCache?: boolean;
9
8
  }): Promise<void>;
@@ -4,7 +4,6 @@ export type ScopeComponent = {
4
4
  componentId: string;
5
5
  aiDecision?: 'accepted' | 'rejected' | 'failed' | null;
6
6
  aiReason?: string | null;
7
- needsReview?: boolean;
8
7
  slots?: Array<{
9
8
  name: string;
10
9
  allowedComponents: string[];
@@ -8,9 +8,6 @@ export declare function shouldSkipFinalReviewAfterCredentials(state: {
8
8
  generateSessionId: string | null;
9
9
  finalReviewPassed: boolean;
10
10
  }): boolean;
11
- export declare function resolveNoCacheForGenerate(opts: {
12
- cliNoCache: boolean;
13
- }): boolean;
14
11
  export declare function shouldBypassPreview(state: {
15
12
  credentialsSkipped: boolean;
16
13
  }): boolean;