refactor: enforce ktx naming and AGENTS.md compliance sweep (#289)

Align the tree with AGENTS.md/CLAUDE.md conventions:

- Rewrite user-facing strings, docs, and tests to lowercase `ktx`
  (no bare uppercase `KTX` tokens remain outside literal identifiers).
- Drop the legacy `historicSql` migration path and its now-unused
  helpers, per the no-backward-compat rule.
- Remove `as unknown as` / `any` casts: narrow `BaseTool` generics to
  `z.ZodObject`, add a typed `createLookerClient`, and delete the dead
  `getParametersSchema`/`toAnthropicFormat` pre-AI-SDK helpers.
- Use `InvalidArgumentError` for Commander parse failures.
- Finish the adapter→connector prose conversion in the `ktx.yaml` docs
  while keeping the literal `adapters` config key.
This commit is contained in:
Andrey Avtomonov 2026-06-11 13:49:45 +02:00 committed by GitHub
parent 005c5fc860
commit 00cdf2de90
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
237 changed files with 844 additions and 974 deletions

View file

@ -153,7 +153,7 @@ test('runWorkspaceKtx builds the workspace CLI before running it when dist is mi
],
);
assert.deepEqual(logs, [
['stderr', 'KTX CLI build output is missing. Building it now with `pnpm run build`...\n'],
['stderr', 'ktx CLI build output is missing. Building it now with `pnpm run build`...\n'],
['stdout', 'build ok\n'],
['stdout', 'Replay complete\n'],
]);
@ -216,7 +216,7 @@ test('runWorkspaceKtx rebuilds before running when workspace sources are newer t
],
);
assert.deepEqual(logs, [
['stderr', 'KTX CLI build output is stale. Rebuilding it now with `pnpm run build`...\n'],
['stderr', 'ktx CLI build output is stale. Rebuilding it now with `pnpm run build`...\n'],
['stdout', 'build ok\n'],
['stdout', '{"status":"ready"}\n'],
]);
@ -256,7 +256,7 @@ test('runWorkspaceKtx skips rebuild when only bin.js is older than sources but s
},
execFile: async (command, args, options) => {
calls.push({ command, args, cwd: options.cwd });
return { stdout: 'KTX status\n', stderr: '' };
return { stdout: 'ktx status\n', stderr: '' };
},
writeFile: async (path, contents) => {
writes.push({ path, contents });
@ -271,7 +271,7 @@ test('runWorkspaceKtx skips rebuild when only bin.js is older than sources but s
[[process.execPath, ['/workspace/ktx/packages/cli/dist/bin.js', 'status']]],
);
assert.deepEqual(writes, []);
assert.deepEqual(logs, [['stdout', 'KTX status\n']]);
assert.deepEqual(logs, [['stdout', 'ktx status\n']]);
});
test('runWorkspaceKtx rebuilds when stamp is missing even if bin.js exists', async () => {
@ -308,7 +308,7 @@ test('runWorkspaceKtx rebuilds when stamp is missing even if bin.js exists', asy
if (command === 'pnpm') {
return { stdout: 'build ok\n', stderr: '' };
}
return { stdout: 'KTX status\n', stderr: '' };
return { stdout: 'ktx status\n', stderr: '' };
},
writeFile: async (path, contents) => {
writes.push({ path, contents });
@ -327,7 +327,7 @@ test('runWorkspaceKtx rebuilds when stamp is missing even if bin.js exists', asy
);
assert.deepEqual(logs[0], [
'stderr',
'KTX CLI build output is stale. Rebuilding it now with `pnpm run build`...\n',
'ktx CLI build output is stale. Rebuilding it now with `pnpm run build`...\n',
]);
assert.deepEqual(writes, [
{ path: '/workspace/ktx/packages/cli/dist/.ktx-build-stamp', contents: '' },