* feat(cli): enforce required database selection and improve tree-picker UX
- Require at least one database driver via prompt `required: true` instead of
looping on empty selection; remove the now-dead retry/back-on-empty branch.
- Surface the recommended option with a "(recommended)" hint in the depth and
query-history prompts.
- Tree picker: add `◧` partial glyph for parents whose descendants are checked,
and make `a` toggle select-all-visible / select-none.
* fix(cli): drop unused export from tree-picker toggleSelectAllVisible
Knip flagged the export as unused; the function is only consumed by the
internal reducer via the 'toggle-select-all-visible' command, so demote
it to a module-local helper to keep CI's dead-code check green.
* test(cli): drop empty-selection warning assertion from setup test
The empty-selection retry/warning loop in `chooseDrivers` was removed in
favor of `multiselect`'s `required: true`, so the legacy warning string
is unreachable. Update the test to assert the simpler back-from-selection
return-to-embeddings flow.
* refactor(cli): extract generic tree picker from Notion-specific modules
Rename notion-page-picker-tree → tree-picker-state and
notion-page-picker-tui → tree-picker-tui, removing Notion-specific
naming so the tree picker can be reused for database scope selection.
Update notion-page-picker to consume the new generic interfaces.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat(cli): add database tree picker for schema and table scope selection
Replace inline multiselect prompts in setup-databases with a new
database-tree-picker that uses the generic tree picker TUI. This gives
database scope selection the same grouped tree UI as the Notion page
picker, combining schema and table selection into a single step.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-13 18:41:44 -04:00
Renamed from packages/cli/src/notion-page-picker-tree.test.ts (Browse further)