@contentful/experience-design-system-cli 2.35.0-alpha.0 → 2.35.1-dev-build-041b6e0a.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 (301) hide show
  1. package/bin/cli.js +1 -57
  2. package/dist/app.d.ts +9 -0
  3. package/dist/app.js +997 -0
  4. package/dist/index.js +1216 -0
  5. package/dist/package.json +11 -15
  6. package/dist/program.d.ts +2 -0
  7. package/dist/src/legacy/legacy-cli-path.d.ts +1 -0
  8. package/dist/src/legacy/run-legacy.d.ts +1 -0
  9. package/dist/src/tui/debug-store.d.ts +14 -0
  10. package/dist/src/tui/help/PageContainer.d.ts +4 -0
  11. package/dist/src/tui/home/home.d.ts +5 -0
  12. package/dist/src/tui/home/home.theme.d.ts +14 -0
  13. package/dist/src/tui/import/PageContainer.d.ts +5 -0
  14. package/dist/src/tui/import/spawn-v1-import.d.ts +28 -0
  15. package/dist/src/tui/import/terminal-input.d.ts +2 -0
  16. package/dist/src/tui/package-root.d.ts +9 -0
  17. package/dist/src/tui/settings/PageContainer.d.ts +6 -0
  18. package/dist/src/tui/settings/contentful-configuration/ContentfulConfigScreen.d.ts +4 -0
  19. package/dist/src/tui/settings/contentful-configuration/config-store.d.ts +9 -0
  20. package/dist/src/tui/settings/debug-mode/debug-mode-store.d.ts +5 -0
  21. package/dist/src/tui/settings/debug-mode/screen.d.ts +4 -0
  22. package/dist/src/tui/settings/opt-in-analytics/analytics-store.d.ts +5 -0
  23. package/dist/src/tui/settings/opt-in-analytics/screen.d.ts +4 -0
  24. package/dist/src/tui/settings/utils/v1-store.d.ts +2 -0
  25. package/dist/src/tui/upgrade/PageContainer.d.ts +4 -0
  26. package/dist/src/tui/upgrade/version.d.ts +12 -0
  27. package/dist/src/tui/use-terminal-width.d.ts +1 -0
  28. package/legacy/bin/cli.js +58 -0
  29. package/legacy/dist/package.json +73 -0
  30. package/legacy/dist/src/analyze/composition/interchange-schema.d.ts +17 -0
  31. package/legacy/dist/src/analyze/composition/resolve-mapping-cli.d.ts +10 -0
  32. package/{dist → legacy/dist}/src/analyze/composition/resolve-mapping.d.ts +5 -7
  33. package/{dist → legacy/dist}/src/analyze/extract-command.d.ts +4 -0
  34. package/{dist → legacy/dist}/src/analyze/select/tui/components/FieldEditor.d.ts +3 -1
  35. package/{dist → legacy/dist}/src/analyze/select/tui/components/FinalizeDialog.d.ts +2 -2
  36. package/{dist → legacy/dist}/src/analyze/select/tui/components/GroupedSidebar.d.ts +3 -0
  37. package/{dist → legacy/dist}/src/analyze/select/tui/components/HelpOverlay.d.ts +2 -0
  38. package/{dist → legacy/dist}/src/analyze/select/tui/components/Sidebar.d.ts +2 -1
  39. package/{dist → legacy/dist}/src/analyze/select/tui/hooks/scroll-offset.d.ts +4 -3
  40. package/{dist → legacy/dist}/src/analyze/select/tui/hooks/useImmediateInput.d.ts +1 -1
  41. package/legacy/dist/src/credentials-store.d.ts +18 -0
  42. package/legacy/dist/src/doctor/checks.d.ts +5 -0
  43. package/legacy/dist/src/doctor/command.d.ts +2 -0
  44. package/legacy/dist/src/doctor/report.d.ts +7 -0
  45. package/{dist → legacy/dist}/src/import/agent-model-resolve.d.ts +8 -4
  46. package/{dist → legacy/dist}/src/import/composition-options.d.ts +0 -2
  47. package/{dist → legacy/dist}/src/import/tui/WizardApp.d.ts +21 -4
  48. package/legacy/dist/src/import/tui/components/CompactControlBar.d.ts +4 -0
  49. package/{dist → legacy/dist}/src/import/tui/components/ReviewStatus.d.ts +0 -5
  50. package/{dist → legacy/dist}/src/import/tui/hooks/review-input.d.ts +1 -1
  51. package/{dist → legacy/dist}/src/import/tui/lineage-layout.d.ts +18 -25
  52. package/legacy/dist/src/import/tui/run-selection-agent.d.ts +9 -0
  53. package/{dist → legacy/dist}/src/import/tui/scope-gate-columns.d.ts +14 -8
  54. package/{dist → legacy/dist}/src/import/tui/steps/CredentialsStep.d.ts +4 -1
  55. package/{dist → legacy/dist}/src/import/tui/steps/GateStep.d.ts +1 -1
  56. package/{dist → legacy/dist}/src/import/tui/steps/GenerateReviewStep.d.ts +14 -3
  57. package/legacy/dist/src/import/tui/steps/RunningStep.d.ts +24 -0
  58. package/{dist → legacy/dist}/src/import/tui/steps/ScopeGateStep.d.ts +1 -1
  59. package/{dist → legacy/dist}/src/import/tui/steps/WizardPreviewStep.d.ts +2 -2
  60. package/{dist → legacy/dist}/src/import/tui/wizard-state-transitions.d.ts +5 -7
  61. package/legacy/dist/src/index.d.ts +1 -0
  62. package/{dist → legacy/dist}/src/index.js +25284 -24282
  63. package/legacy/dist/src/lib/agent-definitions.d.ts +14 -0
  64. package/{dist → legacy/dist}/src/lib/agent-model-options.d.ts +4 -4
  65. package/{dist → legacy/dist}/src/lib/command-options.d.ts +0 -1
  66. package/{dist → legacy/dist}/src/lib/debug-logger.d.ts +1 -9
  67. package/legacy/dist/src/lib/debug-preamble.d.ts +7 -0
  68. package/{dist → legacy/dist}/src/program.d.ts +3 -3
  69. package/{dist → legacy/dist}/src/runs/store.d.ts +0 -5
  70. package/{dist → legacy/dist}/src/session/db.d.ts +32 -2
  71. package/legacy/dist/src/setup/SetupScreen.d.ts +28 -0
  72. package/legacy/dist/src/setup/SetupStepper.d.ts +7 -0
  73. package/legacy/dist/src/setup/command.d.ts +3 -0
  74. package/legacy/dist/src/setup/lib/checks.d.ts +57 -0
  75. package/legacy/dist/src/setup/lib/shell.d.ts +12 -0
  76. package/legacy/dist/src/setup/steps/CodingAgentScreen.d.ts +20 -0
  77. package/legacy/dist/src/setup/steps/ContentfulCredentialsScreen.d.ts +11 -0
  78. package/legacy/dist/src/setup/steps/StepLayout.d.ts +20 -0
  79. package/legacy/dist/src/setup/steps/preferences/AnalyticsScreen.d.ts +5 -0
  80. package/legacy/dist/src/setup/steps/preferences/BooleanInput.d.ts +21 -0
  81. package/legacy/dist/src/setup/steps/preferences/ColorPreferenceScreen.d.ts +5 -0
  82. package/legacy/dist/src/setup/steps/preferences/CustomPromptScreen.d.ts +14 -0
  83. package/legacy/dist/src/setup/steps/preferences/DebugLogsScreen.d.ts +5 -0
  84. package/legacy/dist/src/setup/steps/preferences/PreferencesMenu.d.ts +26 -0
  85. package/legacy/dist/src/setup/steps/prerequisites/PrerequisitesScreen.d.ts +16 -0
  86. package/legacy/dist/src/setup/steps/prerequisites/build.d.ts +2 -0
  87. package/legacy/dist/src/setup/steps/prerequisites/deps.d.ts +33 -0
  88. package/legacy/dist/src/setup/steps/prerequisites/index.d.ts +4 -0
  89. package/legacy/dist/src/setup/steps/prerequisites/node.d.ts +2 -0
  90. package/legacy/dist/src/setup/steps/prerequisites/pnpm.d.ts +2 -0
  91. package/legacy/dist/src/tui/render-with-goodbye.d.ts +7 -0
  92. package/legacy/dist/src/tui/use-terminal-size.d.ts +6 -0
  93. package/legacy/dist/src/tui/windowed-panel.d.ts +37 -0
  94. package/legacy/package.json +77 -0
  95. package/{skills → legacy/skills}/generate-components.md +99 -65
  96. package/package.json +13 -17
  97. package/README.md +0 -263
  98. package/dist/src/analyze/composition/interchange-schema.d.ts +0 -37
  99. package/dist/src/analyze/composition/resolve-mapping-cli.d.ts +0 -19
  100. package/dist/src/analyze/select/tui/components/LineagePanel.d.ts +0 -14
  101. package/dist/src/credentials-store.d.ts +0 -38
  102. package/dist/src/import/strip-allowed-components.d.ts +0 -18
  103. package/dist/src/import/tui/final-review-host.d.ts +0 -8
  104. package/dist/src/import/tui/hooks/useLineage.d.ts +0 -32
  105. package/dist/src/import/tui/lineage-input.d.ts +0 -18
  106. package/dist/src/import/tui/push-decision-gate-helpers.d.ts +0 -8
  107. package/dist/src/import/tui/review-step-props.d.ts +0 -13
  108. package/dist/src/import/tui/scope-gate-host.d.ts +0 -21
  109. package/dist/src/import/tui/steps/AtomicGenerateReviewStep.d.ts +0 -28
  110. package/dist/src/import/tui/steps/AtomicScopeGateStep.d.ts +0 -3
  111. package/dist/src/import/tui/steps/PushDecisionGateStep.d.ts +0 -12
  112. package/dist/src/import/tui/steps/RunningStep.d.ts +0 -13
  113. package/dist/src/import/tui/steps/useTerminalColumns.d.ts +0 -1
  114. package/dist/src/lib/composition-mode.d.ts +0 -21
  115. package/dist/src/lib/debug-preamble.d.ts +0 -14
  116. package/dist/src/runs/save-conflict.d.ts +0 -8
  117. package/dist/src/setup/analytics-prompt.d.ts +0 -13
  118. package/dist/src/setup/command.d.ts +0 -9
  119. package/dist/src/setup/composition-mode-prompt.d.ts +0 -14
  120. package/dist/src/setup/debug-mode-prompt.d.ts +0 -11
  121. package/dist/src/setup/prompt-helpers.d.ts +0 -1
  122. /package/dist/{src/index.d.ts → index.d.ts} +0 -0
  123. /package/{dist → legacy/dist}/src/analytics/apply.d.ts +0 -0
  124. /package/{dist → legacy/dist}/src/analytics/client.d.ts +0 -0
  125. /package/{dist → legacy/dist}/src/analytics/constants.d.ts +0 -0
  126. /package/{dist → legacy/dist}/src/analytics/exit.d.ts +0 -0
  127. /package/{dist → legacy/dist}/src/analytics/index.d.ts +0 -0
  128. /package/{dist → legacy/dist}/src/analytics/normalize.d.ts +0 -0
  129. /package/{dist → legacy/dist}/src/analytics/os.d.ts +0 -0
  130. /package/{dist → legacy/dist}/src/analytics/session.d.ts +0 -0
  131. /package/{dist → legacy/dist}/src/analytics/tracker.d.ts +0 -0
  132. /package/{dist → legacy/dist}/src/analytics/types.d.ts +0 -0
  133. /package/{dist → legacy/dist}/src/analyze/composite-closure.d.ts +0 -0
  134. /package/{dist → legacy/dist}/src/analyze/composition/apply-mapping.d.ts +0 -0
  135. /package/{dist → legacy/dist}/src/analyze/composition/candidate-files.d.ts +0 -0
  136. /package/{dist → legacy/dist}/src/analyze/composition/composition-cache-key.d.ts +0 -0
  137. /package/{dist → legacy/dist}/src/analyze/composition/manifest-doc-evidence.d.ts +0 -0
  138. /package/{dist → legacy/dist}/src/analyze/composition/merge-edges.d.ts +0 -0
  139. /package/{dist → legacy/dist}/src/analyze/composition/parse-map-edges.d.ts +0 -0
  140. /package/{dist → legacy/dist}/src/analyze/composition/prompt-loader.d.ts +0 -0
  141. /package/{dist → legacy/dist}/src/analyze/cycle-detection.d.ts +0 -0
  142. /package/{dist → legacy/dist}/src/analyze/cycle-view.d.ts +0 -0
  143. /package/{dist → legacy/dist}/src/analyze/fuzzy-search.d.ts +0 -0
  144. /package/{dist → legacy/dist}/src/analyze/issue-inheritance.d.ts +0 -0
  145. /package/{dist → legacy/dist}/src/analyze/lineage.d.ts +0 -0
  146. /package/{dist → legacy/dist}/src/analyze/scope-gate-cascade.d.ts +0 -0
  147. /package/{dist → legacy/dist}/src/analyze/search-neighborhood.d.ts +0 -0
  148. /package/{dist → legacy/dist}/src/analyze/select/command.d.ts +0 -0
  149. /package/{dist → legacy/dist}/src/analyze/select/parser.d.ts +0 -0
  150. /package/{dist → legacy/dist}/src/analyze/select/persistence.d.ts +0 -0
  151. /package/{dist → legacy/dist}/src/analyze/select/preview-annotations.d.ts +0 -0
  152. /package/{dist → legacy/dist}/src/analyze/select/tui/LegacySelectApp.d.ts +0 -0
  153. /package/{dist → legacy/dist}/src/analyze/select/tui/components/ComponentDetail.d.ts +0 -0
  154. /package/{dist → legacy/dist}/src/analyze/select/tui/components/ComponentRationalePanel.d.ts +0 -0
  155. /package/{dist → legacy/dist}/src/analyze/select/tui/components/GotoBanner.d.ts +0 -0
  156. /package/{dist → legacy/dist}/src/analyze/select/tui/components/HighlightedLine.d.ts +0 -0
  157. /package/{dist → legacy/dist}/src/analyze/select/tui/components/JsonEditor.d.ts +0 -0
  158. /package/{dist → legacy/dist}/src/analyze/select/tui/components/JsonPanel.d.ts +0 -0
  159. /package/{dist → legacy/dist}/src/analyze/select/tui/components/PreviewSummaryBar.d.ts +0 -0
  160. /package/{dist → legacy/dist}/src/analyze/select/tui/components/QuitDialog.d.ts +0 -0
  161. /package/{dist → legacy/dist}/src/analyze/select/tui/components/RationaleLine.d.ts +0 -0
  162. /package/{dist → legacy/dist}/src/analyze/select/tui/components/RationalePanel.d.ts +0 -0
  163. /package/{dist → legacy/dist}/src/analyze/select/tui/components/ScrollablePanel.d.ts +0 -0
  164. /package/{dist → legacy/dist}/src/analyze/select/tui/components/SourcePanel.d.ts +0 -0
  165. /package/{dist → legacy/dist}/src/analyze/select/tui/components/StatusBar.d.ts +0 -0
  166. /package/{dist → legacy/dist}/src/analyze/select/tui/components/TokenReviewPanel.d.ts +0 -0
  167. /package/{dist → legacy/dist}/src/analyze/select/tui/components/TopBar.d.ts +0 -0
  168. /package/{dist → legacy/dist}/src/analyze/select/tui/components/removed-components-text.d.ts +0 -0
  169. /package/{dist → legacy/dist}/src/analyze/select/tui/components/wrap-text.d.ts +0 -0
  170. /package/{dist → legacy/dist}/src/analyze/select/tui/hooks/list-scroll-input.d.ts +0 -0
  171. /package/{dist → legacy/dist}/src/analyze/select/tui/hooks/useKeymap.d.ts +0 -0
  172. /package/{dist → legacy/dist}/src/analyze/select/tui/hooks/useSession.d.ts +0 -0
  173. /package/{dist → legacy/dist}/src/analyze/select/tui/hooks/useUndo.d.ts +0 -0
  174. /package/{dist → legacy/dist}/src/analyze/select/tui/theme.d.ts +0 -0
  175. /package/{dist → legacy/dist}/src/analyze/select/types.d.ts +0 -0
  176. /package/{dist → legacy/dist}/src/analyze/selection-cascade.d.ts +0 -0
  177. /package/{dist → legacy/dist}/src/analyze/slot-graph.d.ts +0 -0
  178. /package/{dist → legacy/dist}/src/apply/api-client.d.ts +0 -0
  179. /package/{dist → legacy/dist}/src/apply/command.d.ts +0 -0
  180. /package/{dist → legacy/dist}/src/apply/preview-utils.d.ts +0 -0
  181. /package/{dist → legacy/dist}/src/apply/tokens.d.ts +0 -0
  182. /package/{dist → legacy/dist}/src/apply/tui/ServerApplyView.d.ts +0 -0
  183. /package/{dist → legacy/dist}/src/apply/tui/ServerPreviewView.d.ts +0 -0
  184. /package/{dist → legacy/dist}/src/generate/command.d.ts +0 -0
  185. /package/{dist → legacy/dist}/src/generate/tui/GenerateView.d.ts +0 -0
  186. /package/{dist → legacy/dist}/src/helpers/build-contentful-management-client.d.ts +0 -0
  187. /package/{dist → legacy/dist}/src/helpers/fetch-and-persist-existing-contentful-entities.d.ts +0 -0
  188. /package/{dist → legacy/dist}/src/helpers/fetch-existing-contentful-entities.d.ts +0 -0
  189. /package/{dist → legacy/dist}/src/helpers/find-nearly-matching-component.d.ts +0 -0
  190. /package/{dist → legacy/dist}/src/helpers/read-existing-contentful-entities-from-session.d.ts +0 -0
  191. /package/{dist → legacy/dist}/src/helpers/summarize-existing-contentful-entities.d.ts +0 -0
  192. /package/{dist → legacy/dist}/src/host-utils.d.ts +0 -0
  193. /package/{dist → legacy/dist}/src/import/command.d.ts +0 -0
  194. /package/{dist → legacy/dist}/src/import/cycle-auto-reject.d.ts +0 -0
  195. /package/{dist → legacy/dist}/src/import/path-utils.d.ts +0 -0
  196. /package/{dist → legacy/dist}/src/import/tui/CustomPromptBanner.d.ts +0 -0
  197. /package/{dist → legacy/dist}/src/import/tui/ai-flag.d.ts +0 -0
  198. /package/{dist → legacy/dist}/src/import/tui/autocomplete.d.ts +0 -0
  199. /package/{dist → legacy/dist}/src/import/tui/components/CounterStrip.d.ts +0 -0
  200. /package/{dist → legacy/dist}/src/import/tui/components/LegendEntry.d.ts +0 -0
  201. /package/{dist → legacy/dist}/src/import/tui/components/LivePreviewSummary.d.ts +0 -0
  202. /package/{dist → legacy/dist}/src/import/tui/components/ReviewComponentPanel.d.ts +0 -0
  203. /package/{dist → legacy/dist}/src/import/tui/components/ReviewDetailsEditor.d.ts +0 -0
  204. /package/{dist → legacy/dist}/src/import/tui/components/ReviewDialogs.d.ts +0 -0
  205. /package/{dist → legacy/dist}/src/import/tui/components/SearchMatchSummary.d.ts +0 -0
  206. /package/{dist → legacy/dist}/src/import/tui/components/SpaceEnvironment.d.ts +0 -0
  207. /package/{dist → legacy/dist}/src/import/tui/components/StepHeader.d.ts +0 -0
  208. /package/{dist → legacy/dist}/src/import/tui/cycle-panel-scroll.d.ts +0 -0
  209. /package/{dist → legacy/dist}/src/import/tui/group-collapse.d.ts +0 -0
  210. /package/{dist → legacy/dist}/src/import/tui/history.d.ts +0 -0
  211. /package/{dist → legacy/dist}/src/import/tui/hooks/sidebar-search-state.d.ts +0 -0
  212. /package/{dist → legacy/dist}/src/import/tui/hooks/useOverlayPanel.d.ts +0 -0
  213. /package/{dist → legacy/dist}/src/import/tui/hooks/useReviewEditor.d.ts +0 -0
  214. /package/{dist → legacy/dist}/src/import/tui/hooks/useReviewPreview.d.ts +0 -0
  215. /package/{dist → legacy/dist}/src/import/tui/hooks/useReviewSession.d.ts +0 -0
  216. /package/{dist → legacy/dist}/src/import/tui/hooks/useReviewSurfaceState.d.ts +0 -0
  217. /package/{dist → legacy/dist}/src/import/tui/preview-confirmation-input.d.ts +0 -0
  218. /package/{dist → legacy/dist}/src/import/tui/push-progress.d.ts +0 -0
  219. /package/{dist → legacy/dist}/src/import/tui/run-print-files-helpers.d.ts +0 -0
  220. /package/{dist → legacy/dist}/src/import/tui/run-teaser.d.ts +0 -0
  221. /package/{dist → legacy/dist}/src/import/tui/runLivePreview.d.ts +0 -0
  222. /package/{dist → legacy/dist}/src/import/tui/runScopeGate.d.ts +0 -0
  223. /package/{dist → legacy/dist}/src/import/tui/sidebar-help.d.ts +0 -0
  224. /package/{dist → legacy/dist}/src/import/tui/sidebar-input.d.ts +0 -0
  225. /package/{dist → legacy/dist}/src/import/tui/sidebar-navigation.d.ts +0 -0
  226. /package/{dist → legacy/dist}/src/import/tui/sidebar-width.d.ts +0 -0
  227. /package/{dist → legacy/dist}/src/import/tui/spawn-generate.d.ts +0 -0
  228. /package/{dist → legacy/dist}/src/import/tui/step-filters.d.ts +0 -0
  229. /package/{dist → legacy/dist}/src/import/tui/steps/DoneStep.d.ts +0 -0
  230. /package/{dist → legacy/dist}/src/import/tui/steps/ErrorStep.d.ts +0 -0
  231. /package/{dist → legacy/dist}/src/import/tui/steps/PathValidationStep.d.ts +0 -0
  232. /package/{dist → legacy/dist}/src/import/tui/steps/PreviewValidationErrorStep.d.ts +0 -0
  233. /package/{dist → legacy/dist}/src/import/tui/steps/PushingStep.d.ts +0 -0
  234. /package/{dist → legacy/dist}/src/import/tui/steps/TokenInputStep.d.ts +0 -0
  235. /package/{dist → legacy/dist}/src/import/tui/steps/WelcomeStep.d.ts +0 -0
  236. /package/{dist → legacy/dist}/src/import/tui/steps/auto-reject-decision.d.ts +0 -0
  237. /package/{dist → legacy/dist}/src/import/tui/steps/breaking-change-format.d.ts +0 -0
  238. /package/{dist → legacy/dist}/src/import/tui/steps/enumerate-cycle-breaks.d.ts +0 -0
  239. /package/{dist → legacy/dist}/src/import/tui/steps/preview-diff.d.ts +0 -0
  240. /package/{dist → legacy/dist}/src/import/tui/steps/review-details-panel.d.ts +0 -0
  241. /package/{dist → legacy/dist}/src/import/tui/steps/review-json-panel.d.ts +0 -0
  242. /package/{dist → legacy/dist}/src/import/tui/useFinalizePreview.d.ts +0 -0
  243. /package/{dist → legacy/dist}/src/import/tui/useLivePreview.d.ts +0 -0
  244. /package/{dist → legacy/dist}/src/import/tui/wizard-422-helpers.d.ts +0 -0
  245. /package/{dist → legacy/dist}/src/import/tui/wizard-generate-progress.d.ts +0 -0
  246. /package/{dist → legacy/dist}/src/lib/agent-output.d.ts +0 -0
  247. /package/{dist → legacy/dist}/src/lib/cli-errors.d.ts +0 -0
  248. /package/{dist → legacy/dist}/src/lib/cli-path.d.ts +0 -0
  249. /package/{dist → legacy/dist}/src/lib/component-patch.d.ts +0 -0
  250. /package/{dist → legacy/dist}/src/lib/contentful-urls.d.ts +0 -0
  251. /package/{dist → legacy/dist}/src/lib/error-parser.d.ts +0 -0
  252. /package/{dist → legacy/dist}/src/lib/path-exists.d.ts +0 -0
  253. /package/{dist → legacy/dist}/src/lib/prompt-overrides.d.ts +0 -0
  254. /package/{dist → legacy/dist}/src/lib/terminal-capabilities.d.ts +0 -0
  255. /package/{dist → legacy/dist}/src/lib/user-agent.d.ts +0 -0
  256. /package/{dist → legacy/dist}/src/map-tokens/apply.d.ts +0 -0
  257. /package/{dist → legacy/dist}/src/map-tokens/command.d.ts +0 -0
  258. /package/{dist → legacy/dist}/src/map-tokens/resolve-defaults.d.ts +0 -0
  259. /package/{dist → legacy/dist}/src/map-tokens/tui/MapTokensView.d.ts +0 -0
  260. /package/{dist → legacy/dist}/src/output/format.d.ts +0 -0
  261. /package/{dist → legacy/dist}/src/print/command.d.ts +0 -0
  262. /package/{dist → legacy/dist}/src/print/validate/tui/ValidateView.d.ts +0 -0
  263. /package/{dist → legacy/dist}/src/print/validate/validators/cdf-validator.d.ts +0 -0
  264. /package/{dist → legacy/dist}/src/print/validate/validators/dtcg-validator.d.ts +0 -0
  265. /package/{dist → legacy/dist}/src/print/validate/validators/format-errors.d.ts +0 -0
  266. /package/{dist → legacy/dist}/src/print/validate/validators/read-json-file.d.ts +0 -0
  267. /package/{dist → legacy/dist}/src/runs/fingerprint.d.ts +0 -0
  268. /package/{dist → legacy/dist}/src/runs/path-prompt.d.ts +0 -0
  269. /package/{dist → legacy/dist}/src/runs/save-path-resolver.d.ts +0 -0
  270. /package/{dist → legacy/dist}/src/session/cache-keys.d.ts +0 -0
  271. /package/{dist → legacy/dist}/src/session/core/cdf/cdf-mappers.d.ts +0 -0
  272. /package/{dist → legacy/dist}/src/session/core/components/derive-component-id.d.ts +0 -0
  273. /package/{dist → legacy/dist}/src/session/core/components/hash-component-shape.d.ts +0 -0
  274. /package/{dist → legacy/dist}/src/session/core/shared/index-rows-by-key.d.ts +0 -0
  275. /package/{dist → legacy/dist}/src/session/core/tokens/build-dtcg-groups.d.ts +0 -0
  276. /package/{dist → legacy/dist}/src/session/core/tokens/build-dtcg-tokens.d.ts +0 -0
  277. /package/{dist → legacy/dist}/src/session/core/tokens/hash-token-content.d.ts +0 -0
  278. /package/{dist → legacy/dist}/src/session/migration.d.ts +0 -0
  279. /package/{dist → legacy/dist}/src/session/repositories/sessions/read.d.ts +0 -0
  280. /package/{dist → legacy/dist}/src/session/repositories/sessions/write.d.ts +0 -0
  281. /package/{dist → legacy/dist}/src/session/repositories/shared/with-transaction.d.ts +0 -0
  282. /package/{dist → legacy/dist}/src/session/repositories/steps/read.d.ts +0 -0
  283. /package/{dist → legacy/dist}/src/session/repositories/steps/write.d.ts +0 -0
  284. /package/{dist → legacy/dist}/src/session/repositories/tokens/read.d.ts +0 -0
  285. /package/{dist → legacy/dist}/src/session/repositories/tokens/write.d.ts +0 -0
  286. /package/{dist → legacy/dist}/src/session/resolve-session-id.d.ts +0 -0
  287. /package/{dist → legacy/dist}/src/session/services/session-resolver.d.ts +0 -0
  288. /package/{dist → legacy/dist}/src/session/services/tokens/apply-tool-calls.d.ts +0 -0
  289. /package/{dist → legacy/dist}/src/session/services/tokens/replace-raw-prop-token-paths.d.ts +0 -0
  290. /package/{dist → legacy/dist}/src/session/services/tokens/replace-raw-token-name-paths.d.ts +0 -0
  291. /package/{dist → legacy/dist}/src/session/services/tokens/store-dtcg-tokens.d.ts +0 -0
  292. /package/{dist → legacy/dist}/src/session/session-id.d.ts +0 -0
  293. /package/{dist → legacy/dist}/src/session/source-excerpt.d.ts +0 -0
  294. /package/{dist → legacy/dist}/src/tui/CommandCompletionView.d.ts +0 -0
  295. /package/{dist → legacy/dist}/src/tui/use-blinking-cursor.d.ts +0 -0
  296. /package/{dist → legacy/dist}/src/tui/use-timed-spinner.d.ts +0 -0
  297. /package/{dist → legacy/dist}/src/types.d.ts +0 -0
  298. /package/{prompts → legacy/prompts}/composition-edges.md +0 -0
  299. /package/{skills → legacy/skills}/generate-tokens.md +0 -0
  300. /package/{skills → legacy/skills}/map-tokens.md +0 -0
  301. /package/{skills → legacy/skills}/select-components.md +0 -0
package/README.md DELETED
@@ -1,263 +0,0 @@
1
- # @contentful/experience-design-system-cli
2
-
3
- CLI for extracting, reviewing, generating, validating, and pushing Contentful Experience Design System component definitions into Experiences.
4
-
5
- ## Binaries
6
-
7
- The package installs three equivalent binaries:
8
-
9
- | Binary | Notes |
10
- | ------------------------------- | -------------------------------------------------------------------- |
11
- | `experiences` | Preferred entry point — short and operator-facing |
12
- | `exo` | Shorthand for Experience Orchestration |
13
- | `experience-design-system-cli` | Full name; used in CI / scripts where clarity matters |
14
-
15
- The rest of this README uses `experiences`.
16
-
17
- ## CLI Overview
18
-
19
- The CLI has two primary workflows:
20
-
21
- 1. **`experiences import`** — the wizard. Drives the full pipeline (extract → AI select → scope-gate → internal generation → final-review → save/push) from a single command in a full-screen interactive TUI. **This is the recommended path for almost everyone.**
22
-
23
- 2. **`experiences apply`** — applies generated component and token definitions to Contentful.
24
-
25
- The import wizard owns extraction, selection, generation, validation, and apply orchestration internally; those implementation stages are not exposed as standalone commands.
26
-
27
- All intermediate data flows through a local SQLite session database (`~/.contentful/experience-design-system-cli/pipeline.db`). No JSON files are written between steps — each pipeline step reads its inputs from the session and writes its outputs back to it.
28
-
29
- ---
30
-
31
- ## Composite components & composition
32
-
33
- A **composite component** is one that renders other components inside it — a `Card` that slots a `Button` and an `Icon`, a `Tabs` that slots `Tab` panels. When you import composite components, the CLI can populate each slot's `$allowedComponents` so the parent→child relationships survive into Contentful.
34
-
35
- ### Atomic vs. composite
36
-
37
- Imports are **atomic by default** — flat components, no embedded hierarchy. This is the right choice when you just want each component registered on its own. Opt into hierarchy resolution with `--composite` (or any composition flag, which implies it).
38
-
39
- | Mode | Flag | Behavior |
40
- |---|---|---|
41
- | Atomic | default | Flat import; composition stripped before push |
42
- | Composite | `--composite` | Resolve and import the parent→child hierarchy |
43
-
44
- ### How composition is resolved
45
-
46
- Under `--composite`, relationships are resolved from the highest-confidence source available, in this precedence order:
47
-
48
- 1. **Typed slots (code)** — slots the source already declares, e.g. React `ReactElement<XProps>` / `children`, Svelte `Snippet<[XProps]>`, or an explicit `@allowedComponents` JSDoc tag. Fully deterministic; picked up automatically.
49
- 2. **Agent** — direct edge emission for codebases that encode composition in *code patterns* rather than typed slots (common in real-world design systems). It is enabled automatically in composite mode and only runs when the deterministic sources above find nothing.
50
-
51
- When more than one source speaks to the same relationship, the higher-precedence one wins (**code slots > agent**).
52
-
53
- ### The composition agent
54
-
55
- The composition agent emits one structured edge per relationship. The CLI validates component names and merges those edges with deterministic sources by provenance and precedence.
56
-
57
- - `--no-cache` — ignore caches and re-resolve composition from scratch, forcing the agent to run.
58
- - `--agent <name>` — which coding agent authors the parser (`claude`, `codex`, `opencode`, `cursor`, `copilot`).
59
- - `--prompt composition=<file-or-text>` — override the composition stage's prompt.
60
-
61
- Because the agent path spawns a coding agent, it adds latency and cost and is best-effort.
62
-
63
- ### Slot cycles
64
-
65
- If the resolved graph contains a circular slot dependency (A slots B, B slots A), it is detected before push. `apply` and the wizard's push path **refuse to send a manifest with cycles**; the cycle path is reported so you can break it.
66
-
67
- ---
68
-
69
- ## Prerequisites
70
-
71
- ### Coding agent
72
-
73
- The import wizard's generation steps require a coding agent CLI in your `$PATH`. Choose one:
74
-
75
- | Agent | Install | Auth |
76
- |---|---|---|
77
- | **Claude Code** (`claude`) | `npm install -g @anthropic-ai/claude-code` | `claude login` (browser OAuth) **or** set `ANTHROPIC_API_KEY` |
78
- | **OpenAI Codex** (`codex`) | `npm install -g @openai/codex` | Set `OPENAI_API_KEY` |
79
- | **OpenCode** (`opencode`) | `npm install -g opencode-ai` | Configure via `opencode auth` (supports multiple providers) |
80
- | **Cursor** (`cursor`) | Install [Cursor](https://cursor.com) | Sign in to Cursor; exposes `cursor-agent` binary |
81
- | **GitHub Copilot** (`copilot`) | `npm install -g @github/copilot` | Run `copilot` once to complete GitHub OAuth login. Free plan uses Auto model selection by default. Paid plans can pin a specific model via `EDS_AGENT_MODEL_COPILOT=<model-id>` (e.g. `claude-sonnet-4.6`) |
82
-
83
- The CLI invokes the agent non-interactively in a subprocess. If the binary is not found in `$PATH`, the command exits 1 and prints manual fallback instructions.
84
-
85
- `experiences setup` persists your chosen agent (and optional model + custom prompt paths) to `~/.config/experiences/credentials.json`; later commands pick them up automatically.
86
-
87
- ### Contentful credentials
88
-
89
- `apply` and `import` (when pushing) require access to a Contentful space. Set these environment variables or pass the equivalent flags:
90
-
91
- ```bash
92
- export CONTENTFUL_MANAGEMENT_TOKEN=<your-cma-token> # required
93
- export CONTENTFUL_SPACE_ID=<your-space-id> # required
94
- export CONTENTFUL_ENVIRONMENT_ID=master # required
95
- ```
96
-
97
- Or run `experiences setup` once and they get saved to `credentials.json` and pre-filled in the wizard.
98
-
99
- In the wizard's credentials step you can press `[s] Skip` to save-only without pushing — useful when you want a checked-in `components.json` without a live push.
100
-
101
- ---
102
-
103
- ## The `import` wizard
104
-
105
- ```bash
106
- experiences import [flags]
107
- ```
108
-
109
- `experiences import` is the primary entry point and launches a full-screen wizard in a supported interactive terminal.
110
-
111
- ### Wizard step machine
112
-
113
- ```
114
- welcome
115
- ↓
116
- extracting — runs analyze extract (atomic by default; resolves composition
117
- under --composite, see below); spawns internal generation in parallel (prefetch)
118
- ↓
119
- [auto-filter] — analyze select-agent runs automatically
120
- ↓
121
- scope-gate — single human review gate: confirm AI selection, toggle components
122
- ↓
123
- credentials — operator reviews the prefilled space-id / env / token (internal generation is already running)
124
- press [s] Skip to save-only without pushing
125
- ↓
126
- final-review — minimum-viable port of the JsonEditor; edit names, $description,
127
- $default, $allowedComponents per slot, $values, source/rationale panels
128
- ↓
129
- preview — diff vs. live Contentful
130
- ↓
131
- push-decision-gate — choose Save AND push (default) or one of the alternatives
132
- ↓
133
- pushing → done — push emits a Contentful webapp view URL for the imported components
134
- ```
135
-
136
- There is now a single human review gate (`scope-gate`) before generation; the legacy two-step extract-review + select-review flow has been collapsed.
137
-
138
- ### Configurable AI auto-filter
139
-
140
- The auto-filter (`analyze select-agent` invoked before scope-gate) is on by default; the value selected in setup is persisted to `credentials.json` so subsequent runs default to your saved preference.
141
-
142
- ### Save-and-push default
143
-
144
- The push-decision-gate defaults to **save AND push**: it writes `components.json` and `tokens.json` to disk *and* pushes to Contentful in one step.
145
-
146
- ### Custom skill prompts
147
-
148
- Custom `.md` skill prompt paths can be saved via `experiences setup`; the CLI emits a banner at agent invocation when an override is active.
149
-
150
- ### Flag reference — `experiences import`
151
-
152
- | Flag | Default | Description |
153
- | --------------------------------- | -------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
154
- | `--project <path>` | `.` | Project root to analyze |
155
- | `--agent <name>` | saved by setup / `claude` | Agent for `analyze select-agent` and internal generation |
156
- | `--model <name>` | agent default | Model name |
157
- | `--composite` | — | Import the embedded-component hierarchy (any composition flag implies this) |
158
- | `--composition-map <path>` | — | Consume a hand-authored parent→children interchange map (implies `--composite`) |
159
- | `--prompt <stage=value>` | — | Override a stage prompt (repeatable); value is a file path or literal text, e.g. `--prompt composition=./p.md` |
160
- | `--skip-map-tokens` | — | Skip the `map tokens` step between internal generation and apply |
161
- | `--no-cache` | cache on | Bypass extract/select/internal-generation/map-tokens/composition caches and force re-run |
162
-
163
- ### `--model` and `--agent` overrides
164
-
165
- `--model <name>` overrides the stored model for this run. The resolution order is:
166
-
167
- 1. `--model <name>` flag
168
- 2. `model` field saved in `~/.config/experiences/credentials.json`
169
- 3. Built-in default for the chosen agent
170
-
171
- `--agent <name>` works the same way and is a fully functional wizard override — earlier releases plumbed the flag but the commander default shadowed it; the flag now wins over the saved value as expected.
172
-
173
- ---
174
-
175
- ### `print components` / `print tokens` / `print validate`
176
-
177
- Unchanged from prior releases.
178
-
179
- ```bash
180
- experiences print components [--session <id>] [--out <path>]
181
- experiences print tokens [--session <id>] [--out <path>]
182
- experiences print validate [--components <path>] [--tokens <path>]
183
- ```
184
-
185
- `print validate` exits `0` on success, `1` on validation errors.
186
-
187
- ---
188
-
189
- ### `apply`
190
-
191
- This command is the non-wizard route to the same diff and push logic. Its flag surface is unchanged.
192
-
193
- `apply` emits a Contentful webapp view URL for the imported components in its JSON summary (`viewUrl`) so callers can deep-link into the management UI after a successful push.
194
-
195
- ```bash
196
- experiences apply
197
- ```
198
-
199
- Shared flags: `--components`, `--tokens`. `apply` is interactive and loads credentials from `experiences setup` or environment variables. Remote ComponentTypes and DesignTokens missing from the pushed manifest are always skipped.
200
-
201
- Design tokens are written first (component types may reference token kinds). Each entity write is recorded in the session database atomically — interrupted pushes resume from where they left off.
202
-
203
- ---
204
-
205
- ## Session Database
206
-
207
- All pipeline state is stored in `~/.contentful/experience-design-system-cli/pipeline.db` (SQLite). The path can be overridden with the `EDS_PIPELINE_DB_PATH` environment variable. The push-resumption database is at `~/.contentful/experience-design-system-cli/import.db` (override with `EDS_IMPORT_DB_PATH`).
208
-
209
- ---
210
-
211
- ## Terminal Compatibility
212
-
213
- - Minimum 60 columns required for the wizard and the `analyze select` TUI
214
- - 80+ columns recommended for full sidebar + detail view
215
- - 120+ columns required to show the source code panel in `analyze select`
216
- - `NO_COLOR=1` suppresses all ANSI color output
217
- - Interactive views require both stdin and stdout to be TTYs and stdin to support raw mode.
218
- - On Windows, use Windows Terminal with PowerShell. Older ConEmu and cmd.exe hosts may not provide the raw-mode support the interactive UI needs.
219
- - `experiences import` does not provide a non-interactive execution mode.
220
-
221
- ---
222
-
223
- ## Usage data
224
-
225
- The CLI collects **anonymous usage data** to help us understand which commands are used and where the import workflow succeeds or fails. This data does **not** include your source code, file paths, credentials, prompts, or any content you author.
226
-
227
- What may be included:
228
-
229
- - Command name and duration
230
- - CLI, Node.js, and operating-system version
231
- - Anonymous session identifiers that link steps within a single import run
232
- - Structural counts (for example, how many components were extracted or accepted)
233
- - Space and environment IDs you pass on the command line
234
- - Contentful request IDs from API responses (to correlate failures with server logs)
235
-
236
- You can turn this off two ways:
237
-
238
- - Persistently: run `experiences setup` and answer "yes" at the analytics prompt. This writes an opt-out to `~/.config/experiences/credentials.json` that persists across invocations until you change it again — it will not silently re-enable itself.
239
- - Per invocation:
240
-
241
- ```bash
242
- DISABLE_ANALYTICS=1 experiences import --project ./my-app
243
- ```
244
-
245
- Setting `DISABLE_ANALYTICS` to any value disables collection for that invocation. This is additive with the persisted opt-out — it can only disable, never re-enable, collection that setup has turned off.
246
-
247
- ---
248
-
249
- ## Development
250
-
251
- ```bash
252
- # Install dependencies from repo root
253
- pnpm install
254
-
255
- # Build
256
- pnpm -F @contentful/experience-design-system-cli build
257
-
258
- # Run tests
259
- pnpm -F @contentful/experience-design-system-cli test
260
-
261
- # Typecheck
262
- pnpm -F @contentful/experience-design-system-cli typecheck
263
- ```
@@ -1,37 +0,0 @@
1
- /**
2
- * The CLI-owned composition interchange format (spec T1).
3
- *
4
- * Two views of the same data:
5
- * - `InterchangeMap` — the human-authored / on-disk `{ version, groups }`
6
- * shape (parent → children), consumed by the composition-map option.
7
- * `--composition-map` consumes and the resolver can emit.
8
- * - `CompositionEdge[]` — the flat internal runtime view, one edge per
9
- * parent→child relationship, carrying optional `slot` (T7), `confidence`,
10
- * and `provenance`. Easier to merge/dedupe across sources (T2).
11
- *
12
- * This module owns both shapes and the converters between them.
13
- */
14
- export type EdgeProvenance = 'user' | 'typed-slot' | 'structural' | 'manifest' | 'doc' | `adapter:${string}` | 'agent';
15
- export type CompositionEdge = {
16
- parent: string;
17
- child: string;
18
- /** Optional named slot (T7). Default slot when omitted. */
19
- slot?: string;
20
- /** 1–5 scale, same as select/reject agent tools. */
21
- confidence?: number;
22
- provenance: EdgeProvenance;
23
- };
24
- export type InterchangeMap = {
25
- version: 1;
26
- groups: Record<string, string[]>;
27
- };
28
- export type ValidateResult = {
29
- valid: true;
30
- map: InterchangeMap;
31
- } | {
32
- valid: false;
33
- errors: string[];
34
- };
35
- export declare function validateInterchangeMap(input: unknown): ValidateResult;
36
- export declare function groupsToEdges(map: InterchangeMap, provenance: EdgeProvenance): CompositionEdge[];
37
- export declare function edgesToGroups(edges: CompositionEdge[]): InterchangeMap;
@@ -1,19 +0,0 @@
1
- import { type InterchangeMap } from './interchange-schema.js';
2
- export type CompositionCliOptions = {
3
- /** `--composition-map <path>` — hand-authored interchange file. */
4
- compositionMap?: string;
5
- /** `--composition-refresh` — force edge emission to run even over resolved residue. */
6
- compositionRefresh?: boolean;
7
- };
8
- export type LoadUserMapResult = {
9
- ok: true;
10
- map: InterchangeMap;
11
- } | {
12
- ok: false;
13
- error: string;
14
- };
15
- export declare function loadUserMap(path: string): Promise<LoadUserMapResult>;
16
- export type ResolvedCompositionSources = {
17
- forceAgent: boolean;
18
- };
19
- export declare function resolveCompositionSources(opts: CompositionCliOptions): ResolvedCompositionSources;
@@ -1,14 +0,0 @@
1
- import React from 'react';
2
- import type { LineageEntry, LineageJumpable } from '../../../../import/tui/hooks/useLineage.js';
3
- export interface LineagePanelProps {
4
- focusedComponentKey: string;
5
- entries: LineageEntry[];
6
- /** Index into the jumpables list — NOT into entries. */
7
- cursor: number;
8
- jumpables: LineageJumpable[];
9
- /** Max entry rows rendered at once. Larger lineages window around the cursor. */
10
- maxRows?: number;
11
- /** Constrain the panel box to a fixed column width (e.g. the sidebar slot). */
12
- width?: number;
13
- }
14
- export declare function LineagePanel({ focusedComponentKey, entries, cursor, jumpables, maxRows, width, }: LineagePanelProps): React.ReactElement;
@@ -1,38 +0,0 @@
1
- import { type CompositionMode } from './lib/composition-mode.js';
2
- export type ExperiencesCredentials = {
3
- spaceId: string;
4
- environmentId: string;
5
- cmaToken: string;
6
- host?: string;
7
- agent?: string;
8
- agentModel?: string;
9
- /** Feature 8: persisted custom prompt path for `generate components`. */
10
- generatePromptPath?: string;
11
- /** Feature: default debug-mode (writes JSONL trace of every decision) for all commands. */
12
- debug?: boolean;
13
- /** Persisted opt-out for anonymous CLI usage analytics, set via `experiences setup`. */
14
- analyticsDisabled?: boolean;
15
- /**
16
- * Feature (atomic mode): default composition mode. `atomic` (default) imports
17
- * flat components with no embedded-component hierarchy; `composite` opts into
18
- * the slot-graph machinery. Resolved `flag > env > this > default`.
19
- */
20
- compositionMode?: CompositionMode;
21
- };
22
- /**
23
- * Read persisted Contentful credentials.
24
- *
25
- * Precedence (INTEG-4410): what the operator saved on disk via
26
- * `experiences setup` or the wizard's credentials step wins over ambient
27
- * `CONTENTFUL_*` / `EDS_HOST` env vars. Env vars are still consulted as a
28
- * fallback when the field on disk is missing or empty — this preserves
29
- * back-compat for CI / scripts that only export env and never call setup.
30
- *
31
- * The pre-INTEG-4410 order (env-first) silently shadowed saved values, so
32
- * operators who saved a different space via setup kept seeing the env one
33
- * pre-filled in the wizard. The saved value now wins; the env fallback only
34
- * fires when the on-disk field is empty.
35
- */
36
- export declare function readExperiencesCredentials(): Promise<ExperiencesCredentials>;
37
- export declare function writeExperiencesCredentials(creds: ExperiencesCredentials): Promise<void>;
38
- export declare function experiencesCredentialsPath(): string;
@@ -1,18 +0,0 @@
1
- import type { CDFComponentEntry } from '@contentful/experience-design-system-types';
2
- /**
3
- * Atomic-mode normalization (spec T8, option a): keep every slot's structure
4
- * but drop its `$allowedComponents` composition constraint. Applied over the
5
- * loaded component array regardless of source (`--session` or `--components`),
6
- * so the atomic bypass cannot leak a live composition link into the pushed
7
- * CDF document. Starving `$allowedComponents` at this single point also makes
8
- * slot-cycle detection structurally return zero (see T12).
9
- *
10
- * Returns a new array with cloned entries; inputs are not mutated.
11
- */
12
- export declare function stripAllowedComponents(components: Array<{
13
- key: string;
14
- entry: CDFComponentEntry;
15
- }>): Array<{
16
- key: string;
17
- entry: CDFComponentEntry;
18
- }>;
@@ -1,8 +0,0 @@
1
- import React from 'react';
2
- import type { CompositionMode } from '../../lib/composition-mode.js';
3
- import type { ReviewStepProps } from './review-step-props.js';
4
- export type FinalReviewHostProps = Omit<ReviewStepProps, 'extractSessionId'> & {
5
- extractSessionId: string | null;
6
- compositionMode?: CompositionMode;
7
- };
8
- export declare function FinalReviewHost({ extractSessionId, tokenSessionId, compositionMode, onFinalize, onQuit, livePreview, spaceId, environmentId, cmaToken, host, tokensPath, initialFinalizeError, }: FinalReviewHostProps): React.ReactElement;
@@ -1,32 +0,0 @@
1
- import { type ComponentGraphNode } from '../../../analyze/composite-closure.js';
2
- export type LineageEntry = {
3
- kind: 'section';
4
- label: string;
5
- } | {
6
- kind: 'ancestor';
7
- label: string;
8
- jumpTarget: string;
9
- } | {
10
- kind: 'descendant';
11
- label: string;
12
- jumpTarget: string;
13
- } | {
14
- kind: 'empty';
15
- label: string;
16
- };
17
- export interface LineageJumpable {
18
- /** Original index into the `entries` array — callers highlight the source row. */
19
- i: number;
20
- entry: LineageEntry;
21
- }
22
- export interface UseLineageResult {
23
- entries: LineageEntry[];
24
- /**
25
- * Jumpable entries — those the operator can Tab/Enter to. Excludes
26
- * `section` / `empty` rows. Order matches `entries` minus the non-jumpable
27
- * rows; each item carries the original `entries` index so callers can
28
- * highlight the source row.
29
- */
30
- jumpables: LineageJumpable[];
31
- }
32
- export declare function useLineage(focusedKey: string | null, graph: ComponentGraphNode[]): UseLineageResult;
@@ -1,18 +0,0 @@
1
- import type { LineageJumpable } from './hooks/useLineage.js';
2
- type LineageInputKey = {
3
- upArrow: boolean;
4
- downArrow: boolean;
5
- tab: boolean;
6
- return: boolean;
7
- };
8
- export declare function handleLineageNavigation({ input, key, cursor, jumpables, onCursorChange, onJump, onClose, allowTab, }: {
9
- input: string;
10
- key: LineageInputKey;
11
- cursor: number;
12
- jumpables: LineageJumpable[];
13
- onCursorChange: (update: number | ((current: number) => number)) => void;
14
- onJump: (name: string) => void;
15
- onClose: () => void;
16
- allowTab: boolean;
17
- }): boolean;
18
- export {};
@@ -1,8 +0,0 @@
1
- import type { PushDecisionChoice } from './steps/PushDecisionGateStep.js';
2
- export type GateAction = 'save-and-push' | 'push-only' | 'save-only';
3
- /**
4
- * Maps a `PushDecisionGateStep` choice to the wizard action it triggers.
5
- * Centralizing this keeps the gate component free of wizard-side semantics
6
- * and gives us a unit-testable seam between UI choice and side-effect.
7
- */
8
- export declare function chooseGateAction(choice: PushDecisionChoice): GateAction;
@@ -1,13 +0,0 @@
1
- export type ReviewStepProps = {
2
- extractSessionId: string;
3
- tokenSessionId?: string | null;
4
- onFinalize: (accepted: number, rejected: number, unresolved: number) => void;
5
- onQuit: () => void;
6
- livePreview?: boolean;
7
- spaceId?: string;
8
- environmentId?: string;
9
- cmaToken?: string;
10
- host?: string;
11
- tokensPath?: string;
12
- initialFinalizeError?: string | null;
13
- };
@@ -1,21 +0,0 @@
1
- import React from 'react';
2
- import type { ScopeComponent } from './steps/ScopeGateStep.js';
3
- import type { CompositionMode } from '../../lib/composition-mode.js';
4
- export type { ScopeComponent };
5
- export type ScopeGateHostProps = {
6
- components: ReadonlyArray<ScopeComponent>;
7
- compositionMode?: CompositionMode;
8
- onConfirm: (decisions: {
9
- accepted: string[];
10
- rejected: string[];
11
- }) => void;
12
- onQuit: () => void;
13
- /** Retained for fixture compatibility; filtering is no longer performed here. */
14
- aiFilterStatus?: string;
15
- aiFilterProgress?: {
16
- done: number;
17
- total: number;
18
- } | null;
19
- aiFilterError?: string | null;
20
- };
21
- export declare function ScopeGateHost({ components, compositionMode, onConfirm, onQuit, }: ScopeGateHostProps): React.ReactElement;
@@ -1,28 +0,0 @@
1
- import React from 'react';
2
- type GenerateReviewStepProps = {
3
- extractSessionId: string;
4
- tokenSessionId?: string | null;
5
- onFinalize: (accepted: number, rejected: number, unresolved: number) => void;
6
- onQuit: () => void;
7
- /**
8
- * Feature 2 (live preview after every save). When `true` (default), the
9
- * wizard re-runs `previewImport` after each successful FieldEditor Ctrl+S
10
- * (debounced 500ms) and refreshes the sidebar's previewAnnotation badges.
11
- * Live preview is enabled for the wizard flow.
12
- */
13
- livePreview?: boolean;
14
- spaceId?: string;
15
- environmentId?: string;
16
- cmaToken?: string;
17
- host?: string;
18
- tokensPath?: string;
19
- /**
20
- * INTEG-4411 refined: initial value for the inline `finalizeError` banner.
21
- * The wizard sets this when it routes back to `final-review` after the
22
- * preview API returned an empty diff (pure no-op push). Cleared on the
23
- * next `a` / `A` keystroke.
24
- */
25
- initialFinalizeError?: string | null;
26
- };
27
- export declare function AtomicGenerateReviewStep({ extractSessionId, tokenSessionId, onFinalize, onQuit, livePreview, spaceId, environmentId, cmaToken, host, tokensPath, initialFinalizeError, }: GenerateReviewStepProps): React.ReactElement;
28
- export {};
@@ -1,3 +0,0 @@
1
- import React from 'react';
2
- import type { ScopeGateStepProps } from './ScopeGateStep.js';
3
- export declare function AtomicScopeGateStep({ components, onConfirm, onQuit }: ScopeGateStepProps): React.ReactElement;
@@ -1,12 +0,0 @@
1
- import React from 'react';
2
- export type PushDecisionChoice = 'both' | 'push-only' | 'save-only';
3
- type PushDecisionGateStepProps = {
4
- summary: string;
5
- context: string;
6
- fileList: string;
7
- onChoice: (choice: PushDecisionChoice) => void;
8
- onQuit: () => void;
9
- pushDisabled?: boolean;
10
- };
11
- export declare function PushDecisionGateStep({ summary, context, onChoice, onQuit, pushDisabled, }: PushDecisionGateStepProps): React.ReactElement;
12
- export {};
@@ -1,13 +0,0 @@
1
- import React from 'react';
2
- type RunningStepProps = {
3
- stepNumber: number;
4
- totalSteps: number;
5
- title: string;
6
- description: string;
7
- detail?: string;
8
- /** Optional second progress line (own spinner) — e.g. composition resolution
9
- * running after the file scan on the extracting screen. */
10
- secondaryDetail?: string;
11
- };
12
- export declare function RunningStep({ stepNumber, totalSteps, title, description, detail, secondaryDetail, }: RunningStepProps): React.ReactElement;
13
- export {};
@@ -1 +0,0 @@
1
- export declare function useTerminalColumns(): number;
@@ -1,21 +0,0 @@
1
- export declare const COMPOSITION_MODES: readonly ["composite", "atomic"];
2
- export type CompositionMode = (typeof COMPOSITION_MODES)[number];
3
- export declare function isCompositionMode(value: string): value is CompositionMode;
4
- /**
5
- * Options that, when present, IMPLY composite mode — passing any of them is a
6
- * clear opt-in, so requiring an explicit `--composite` alongside is redundant.
7
- */
8
- export type CompositionSourceOptions = {
9
- compositionRefresh?: boolean;
10
- compositionMap?: string;
11
- };
12
- /**
13
- * Resolve the effective composition mode with precedence
14
- * `explicit flag > implied source > env > persisted config > default`.
15
- * Default is `atomic` (composition OFF); opting into composite mode enables
16
- * the hierarchy machinery. Passing a composition source implies composite.
17
- */
18
- export declare function resolveCompositionMode(opts: {
19
- composite?: boolean;
20
- atomic?: boolean;
21
- } & CompositionSourceOptions, configMode?: CompositionMode): CompositionMode;
@@ -1,14 +0,0 @@
1
- import { type DebugLogger } from './debug-logger.js';
2
- /**
3
- * Preamble every top-level command action should call before doing work.
4
- *
5
- * Resolves the effective debug decision (flag > env > persisted config),
6
- * initializes the singleton, and prints the bright-green start banner.
7
- * Registers a process-exit handler that prints the end banner once.
8
- *
9
- * Returns the logger so the caller can emit events without a second import.
10
- * When debug is disabled, the returned logger is a no-op.
11
- */
12
- export declare function beginCommand(command: string, opts: {
13
- debug?: boolean;
14
- }): Promise<DebugLogger>;
@@ -1,8 +0,0 @@
1
- import React from 'react';
2
- export type SaveConflictGateProps = {
3
- path: string;
4
- onOverwrite: () => void;
5
- onNew: () => void;
6
- onCancel: () => void;
7
- };
8
- export declare function SaveConflictGate({ path, onOverwrite, onNew, onCancel }: SaveConflictGateProps): React.ReactElement;
@@ -1,13 +0,0 @@
1
- /**
2
- * Ask the operator whether to persist an opt-out of anonymous usage analytics.
3
- *
4
- * The helper is injectable so it can be unit-tested without a TTY. The caller
5
- * provides an `ask` function that yields one line of input per call.
6
- *
7
- * Behavior:
8
- * - Empty input returns `current` if defined, else `false` (default: enabled).
9
- * - Input starting with 'y' or 'Y' returns `true` (disabled).
10
- * - Input starting with 'n' or 'N' returns `false` (enabled).
11
- * - Any other input falls back to the same rule as empty input.
12
- */
13
- export declare function promptAnalyticsPreference(ask: (q: string) => Promise<string>, current?: boolean): Promise<boolean>;
@@ -1,9 +0,0 @@
1
- import type { Command } from 'commander';
2
- export declare function promptCodexModel(ask?: (q: string) => Promise<string>): Promise<string | undefined>;
3
- /**
4
- * Prompt the operator for a custom skill prompt path. Returns the resolved
5
- * trimmed value, or `undefined` to leave the current value unchanged, or `null`
6
- * to clear it. `ask` is injectable so tests can stub stdin.
7
- */
8
- export declare function promptCustomSkillPath(current: string | undefined, ask?: (q: string) => Promise<string>): Promise<string | undefined | null>;
9
- export declare function registerSetupCommand(program: Command): void;