Jesús Pérez
d7ebcf7c5e
refactor(core): consolidate CLI field execution into single dispatch point
...
CI / Lint (bash) (push) Has been cancelled
CI / Lint (markdown) (push) Has been cancelled
CI / Lint (nickel) (push) Has been cancelled
CI / Lint (nushell) (push) Has been cancelled
CI / Lint (rust) (push) Has been cancelled
CI / Code Coverage (push) Has been cancelled
CI / Test (macos-latest) (push) Has been cancelled
CI / Test (ubuntu-latest) (push) Has been cancelled
CI / Test (windows-latest) (push) Has been cancelled
CI / Build (macos-latest) (push) Has been cancelled
CI / Build (ubuntu-latest) (push) Has been cancelled
CI / Build (windows-latest) (push) Has been cancelled
CI / Benchmark (push) Has been cancelled
CI / Security Audit (push) Has been cancelled
CI / License Compliance (push) Has been cancelled
Three independent copies of `match field.field_type` existed across
executor.rs, backends/cli.rs, and nickel/roundtrip.rs — each with
different feature gaps (missing options_from, missing RepeatingGroup,
duplicate filter_options_from).
- Canonical implementation: InquireBackend::execute_field_sync (pub(crate))
- Added previous_results: &HashMap<String, Value> parameter — enables
options_from filtering for dependent Select fields, previously absent
in the cli.rs copy
- filter_options_from moved to backends/cli.rs (pub(crate)), removed from
executor.rs and roundtrip.rs
- Legacy sync path (execute_with_base_dir, execute, load_and_execute_from_file)
gated on #[cfg(feature = "cli")] — correct: they call InquireBackend directly
- Net: -346 lines, 0 behavior regressions, 36 tests passing
fix(docs): repair five doctests broken against current API
- FormDefinition struct fields renamed (title→name, display_items→elements):
lib.rs, prelude.rs updated to use form_parser::parse_toml()
- confirm() takes 3 args (prompt, default, formatter): lib.rs, prompt_api.rs
- advanced.rs: replaced 8 nonexistent trait methods with 7 real FormBackend methods
- cli_loader.rs: ignore→no_run with concrete inline struct
docs(arch): add architecture.md with positioning, BackendFactory, execution model
2026-02-17 14:37:50 +00:00
Jesús Pérez
1c0b92e67e
feat: add unified dispatcher for all backends via typedialog command
...
CI / Lint (bash) (push) Has been cancelled
CI / Lint (markdown) (push) Has been cancelled
CI / Lint (nickel) (push) Has been cancelled
CI / Lint (nushell) (push) Has been cancelled
CI / Lint (rust) (push) Has been cancelled
CI / Benchmark (push) Has been cancelled
CI / Security Audit (push) Has been cancelled
CI / License Compliance (push) Has been cancelled
CI / Code Coverage (push) Has been cancelled
CI / Test (macos-latest) (push) Has been cancelled
CI / Test (ubuntu-latest) (push) Has been cancelled
CI / Test (windows-latest) (push) Has been cancelled
CI / Build (macos-latest) (push) Has been cancelled
CI / Build (ubuntu-latest) (push) Has been cancelled
CI / Build (windows-latest) (push) Has been cancelled
- Implement dispatcher allowing access to web, tui, ai, ag, prov-gen via single entry point
- Add 5 new subcommands with 3-line help format (description + usage + options)
- Update CLI help text with backend examples and quick start
- Update README.md with unified command interface section
- Maintain backward compatibility with direct binary invocation
- All backends now accessible: typedialog web/tui/ai/ag/prov-gen
✓ Tests pass, no compiler warnings
2026-01-20 21:06:47 +00:00