From bf581b9225e811c9176f0b41f9b8555448642f61 Mon Sep 17 00:00:00 2001 From: Andrey Avtomonov <7889985+andreybavt@users.noreply.github.com> Date: Wed, 13 May 2026 21:18:18 +0200 Subject: [PATCH] fix(cli): remove primary-source wording from setup output --- packages/cli/src/commands/setup-commands.ts | 2 +- packages/cli/src/index.test.ts | 3 +++ packages/cli/src/setup-context.test.ts | 2 +- packages/cli/src/setup-context.ts | 2 +- packages/cli/src/setup-sources.test.ts | 4 ++-- packages/cli/src/setup-sources.ts | 2 +- 6 files changed, 9 insertions(+), 6 deletions(-) diff --git a/packages/cli/src/commands/setup-commands.ts b/packages/cli/src/commands/setup-commands.ts index cd8f952e..fca829f8 100644 --- a/packages/cli/src/commands/setup-commands.ts +++ b/packages/cli/src/commands/setup-commands.ts @@ -298,7 +298,7 @@ export function registerSetupCommands(program: Command, context: KtxCliCommandCo (value, previous: string[]) => [...previous, value], [], ) - .option('--skip-databases', 'Leave database setup incomplete; KTX cannot work until a primary source is added', false) + .option('--skip-databases', 'Leave database setup incomplete; KTX cannot work until a database is added', false) .addOption(new Option('--source ', 'Source connector type').argParser(sourceType)) .option('--source-connection-id ', 'Connection id for source setup') .option('--source-path ', 'Local source path for dbt, MetricFlow, or LookML') diff --git a/packages/cli/src/index.test.ts b/packages/cli/src/index.test.ts index 2b637c11..9b9f840e 100644 --- a/packages/cli/src/index.test.ts +++ b/packages/cli/src/index.test.ts @@ -453,6 +453,9 @@ describe('runKtxCli', () => { ]) { expect(testIo.stdout()).toContain(expected); } + expect(testIo.stdout()).toContain('KTX cannot work until a database is added'); + expect(testIo.stdout()).not.toContain('primary source'); + expect(testIo.stdout()).not.toContain('primary sources'); expect(testIo.stdout()).not.toContain('--enable-historic-sql'); expect(testIo.stdout()).not.toContain('--historic-sql-window-days'); expect(testIo.stderr()).toBe(''); diff --git a/packages/cli/src/setup-context.test.ts b/packages/cli/src/setup-context.test.ts index becbd2e8..66c8f6fe 100644 --- a/packages/cli/src/setup-context.test.ts +++ b/packages/cli/src/setup-context.test.ts @@ -621,7 +621,7 @@ describe('setup context build state', () => { ), ).resolves.toEqual({ status: 'failed', projectDir: tempDir }); - expect(io.stderr()).toContain('No primary or context sources are configured for a KTX context build.'); + expect(io.stderr()).toContain('No databases or context sources are configured for a KTX context build.'); }); it('normalizes legacy detached and paused setup context states to stale', async () => { diff --git a/packages/cli/src/setup-context.ts b/packages/cli/src/setup-context.ts index d387b4ec..96514ebd 100644 --- a/packages/cli/src/setup-context.ts +++ b/packages/cli/src/setup-context.ts @@ -788,7 +788,7 @@ export async function runKtxSetupContextStep( if (args.allowEmpty === true) { return { status: 'skipped', projectDir: args.projectDir }; } - io.stderr.write('No primary or context sources are configured for a KTX context build.\n'); + io.stderr.write('No databases or context sources are configured for a KTX context build.\n'); return { status: 'failed', projectDir: args.projectDir }; } diff --git a/packages/cli/src/setup-sources.test.ts b/packages/cli/src/setup-sources.test.ts index e68a3c9c..afe6ec07 100644 --- a/packages/cli/src/setup-sources.test.ts +++ b/packages/cli/src/setup-sources.test.ts @@ -1190,7 +1190,7 @@ describe('setup sources step', () => { } }); - it('does not offer context sources until a primary source exists', async () => { + it('does not offer context sources until a database exists', async () => { const io = makeIo(); const testPrompts = prompts({ multiselect: [['notion']] }); @@ -1203,7 +1203,7 @@ describe('setup sources step', () => { ).resolves.toEqual({ status: 'skipped', projectDir }); expect(testPrompts.multiselect).not.toHaveBeenCalled(); - expect(io.stdout()).toContain('Connect a primary source before adding context sources.'); + expect(io.stdout()).toContain('Connect a database before adding context sources.'); expect(await readFile(join(projectDir, 'ktx.yaml'), 'utf-8')).not.toContain('completed_steps:'); }); diff --git a/packages/cli/src/setup-sources.ts b/packages/cli/src/setup-sources.ts index 4750c559..47b7c069 100644 --- a/packages/cli/src/setup-sources.ts +++ b/packages/cli/src/setup-sources.ts @@ -1417,7 +1417,7 @@ export async function runKtxSetupSourcesStep( const prompts = deps.prompts ?? createPromptAdapter(); const project = await loadKtxProject({ projectDir: args.projectDir }); if (!hasPrimarySource(project.config)) { - const message = 'Connect a primary source before adding context sources.'; + const message = 'Connect a database before adding context sources.'; if (args.source) { io.stderr.write(`${message}\n`); return { status: 'failed', projectDir: args.projectDir };