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

@ -362,7 +362,7 @@ describe('ClaudeCodeKtxLlmRuntime', () => {
});
});
it('registers only exact KTX MCP tool ids and denies non-KTX tools', async () => {
it('registers only exact ktx MCP tool ids and denies non-ktx tools', async () => {
const query = vi.fn((_input: any) =>
stream([
initMessage({ tools: ['mcp__ktx__load_skill'], mcp_servers: [{ name: 'ktx', status: 'connected' }] }),
@ -487,7 +487,7 @@ describe('ClaudeCodeKtxLlmRuntime', () => {
);
});
it('allows host-discovered context during agent loops while requiring exact KTX MCP tools and servers', async () => {
it('allows host-discovered context during agent loops while requiring exact ktx MCP tools and servers', async () => {
const query = vi.fn((_input: any) =>
stream([
initMessage({
@ -553,7 +553,7 @@ describe('ClaudeCodeKtxLlmRuntime', () => {
});
});
it('still rejects unexpected tools, missing KTX tools, plugins, and non-KTX MCP servers from init messages', async () => {
it('still rejects unexpected tools, missing ktx tools, plugins, and non-ktx MCP servers from init messages', async () => {
const query = vi.fn((_input: any) =>
stream([
initMessage({