Merge remote-tracking branch 'origin/main' into luca-martial/schema-select-ux-text

# Conflicts:
#	packages/cli/src/ingest.test.ts
This commit is contained in:
Andrey Avtomonov 2026-05-12 16:24:04 +02:00
commit 45e5530a92
3 changed files with 11 additions and 10 deletions

View file

@ -1076,14 +1076,15 @@ describe('runKtxIngest', () => {
),
).resolves.toBe(0);
const stdout = io.stdout();
const stderr = io.stderr();
expect(stderr).toContain('[5%] Fetching source files for warehouse/historic-sql');
expect(stderr).toContain('[15%] Fetched 3 source files from historic-sql');
expect(stderr).toContain('[45%] Planned 1 work unit');
expect(stderr).toContain('[80%] Processed 1/1 work units');
expect(stderr).toContain('[100%] Ingest completed');
expect(io.stdout()).toContain('Report: report-live-1');
expect(io.stdout()).not.toContain('[5%]');
expect(stdout).toContain('Report: report-live-1');
expect(stdout).not.toContain('[5%]');
});
it('writes plain TTY ingest progress to stderr and final report to stdout', async () => {

View file

@ -316,12 +316,12 @@ function pad(str: string, width: number): string {
}
const KTX_LOGO_SMALL = [
'██╗ ██╗██╗ ██████╗ ',
'██║ ██╔╝██║ ██╔═══██╗',
'█████╔╝ ██║ ██║ ██║',
'██╔═██╗ ██║ ██║ ██║',
'██║ ██╗███████╗╚██████╔╝',
'╚═╝ ╚═╝╚══════╝ ╚═════╝ ',
'██╗ ██╗████████╗██╗ ██╗',
'██║ ██╔╝╚══██╔══╝╚██╗██╔╝',
'█████╔╝ ██║ ╚███╔╝ ',
'██╔═██╗ ██║ ██╔██╗ ',
'██║ ██╗ ██║ ██╔╝ ██╗',
'╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝',
] as const;
export function Logo(props: { theme: HudTheme; done: boolean }): ReactNode {

View file

@ -105,7 +105,7 @@ describe('sanitizeMemoryFlowTuiError', () => {
describe('MemoryFlowTuiApp', () => {
it('always shows the KTX logo', () => {
const { lastFrame } = renderInkTest(<MemoryFlowTuiApp input={replayInput()} terminalWidth={120} onExit={vi.fn()} showBoot={false} />);
expect(lastFrame()).toContain('█████╔╝');
expect(lastFrame()).toContain('███╔╝');
});
it('shows persistent HUD with source and status terminology', () => {
@ -229,7 +229,7 @@ describe('MemoryFlowTuiApp', () => {
const frame = lastFrame() ?? '';
expect(frame).toContain('Ingesting — 0/1 business area done');
expect(frame).toContain('Reading table schemas, understanding relationships, creating query definitions');
expect(frame).toContain('█████╔╝');
expect(frame).toContain('███╔╝');
});
it('describes multi-source ingestion as building the context layer', () => {