Refactor: split ImportWizard into pure ImportPipeline and UI wrapper

ImportPipeline holds all data and logic (raw JSON, records, proposals,
model_name, build_model). ImportWizard wraps it with UI-only state
(step, cursor, message). Rename WizardState → WizardStep throughout.
Headless import in dispatch.rs now constructs ImportPipeline directly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Ed L
2026-03-21 23:28:27 -07:00
parent 413601517d
commit 197b66e4e1
5 changed files with 303 additions and 169 deletions

View File

@ -1,5 +1,5 @@
pub mod wizard;
pub mod analyzer;
pub use wizard::{ImportWizard, WizardState};
pub use wizard::{ImportWizard, ImportPipeline, WizardStep};
pub use analyzer::{FieldKind, FieldProposal, analyze_records};