* feat(cli): redesign ktx status output with grouped checks and color
Replace flat PASS/FAIL/WARN text output with a grouped, symbol-based
layout (Environment, Project, Semantic search, Query history). Passing
groups collapse to a single summary line; failing groups expand to show
individual checks with fix hints. Adds --verbose flag to show all checks
including passing ones, color support for TTY terminals, a dedicated
setup-mode report that guides users toward `ktx setup`, and timing info.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* refactor(cli): extract project checks and historic SQL doctor into status-project
Move project-level doctor checks, semantic search embedding checks, and
historic SQL doctor logic from doctor.ts into a dedicated status-project.ts
module. Removes historic-sql-doctor.ts and its test file, consolidating
everything into the new module with its own tests.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* 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>
Hide advanced/internal `ktx setup` options from --help output using
.hideHelp() so the command surface is approachable for new users. Remove
the --project, --agent-scope, and --skip-initial-source-ingest flags
that are no longer needed. Update docs and tests to match.
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Rework the inline picker to use a cleaner visual style (filled/empty
square glyphs, bordered layout, clack-style header) and streamlined
keybindings (Enter to confirm, Escape to quit, Right Arrow to expand).
Replace the transient "select at least one" hint with a skip-empty
confirmation prompt that exits cleanly via quit-without-save.
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat(cli): add edit flow for primary database connections in setup
Allow users to edit existing primary database connections during setup
instead of only adding new ones. Preselects existing values (URL, schemas,
tables) so users can adjust without re-entering everything.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat(cli): add edit flow for context source connections in setup
Allow users to edit existing context source connections during setup.
Preselects existing values (URLs, credentials, repo details) and offers
a "Keep existing credential" option for sensitive fields.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix(cli): rename "Add more" to "Add additional" in primary sources menu
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Instead of spawning an interactive gcloud login flow, tell users to run
gcloud auth application-default login themselves before continuing. Also
adds a Vertex-specific model list and spinner progress for LLM health
checks.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Show the target project directory in the demo banner and add an
introductory screen before the first setup card so users understand
where demo artifacts will land. Also simplify stdin key detection
by comparing raw byte values instead of string conversions.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The placeholder text and confirmation step already communicate path
formats clearly; the standalone hints added visual noise.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Table counts during connection testing are noisy and not actionable for
users — the scan step already reports detailed schema information.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Users most commonly paste a connection URL rather than entering fields
individually, so surface that option first in the connection method prompt.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Keep the confirmProjectDir helper extraction from this branch while
adopting the │ box-drawing prefixes added on main.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Extract confirmProjectDir helper and split the "Create a new project
folder" option into "New subfolder (./ktx-project)" and "Custom path"
so users reach their target directory with fewer prompts.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>