mirror of
https://github.com/Kaelio/ktx.git
synced 2026-06-16 08:25:14 +02:00
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.
29 lines
1 KiB
TypeScript
29 lines
1 KiB
TypeScript
import type { KtxProjectLlmConfig } from './context/project/config.js';
|
|
|
|
const CLAUDE_CODE_IGNORED_PROMPT_CACHING_FIELDS = [
|
|
'systemTtl',
|
|
'toolsTtl',
|
|
'historyTtl',
|
|
'vertexFallbackTo5m',
|
|
] as const;
|
|
|
|
export function ignoredClaudeCodePromptCachingFields(config: KtxProjectLlmConfig): string[] {
|
|
if (config.provider.backend !== 'claude-code' || !config.promptCaching) {
|
|
return [];
|
|
}
|
|
const promptCaching = config.promptCaching;
|
|
return CLAUDE_CODE_IGNORED_PROMPT_CACHING_FIELDS.filter((key) => key in promptCaching).map(
|
|
(key) => `llm.promptCaching.${key}`,
|
|
);
|
|
}
|
|
|
|
export function formatClaudeCodePromptCachingWarning(fields: string[]): string | null {
|
|
if (fields.length === 0) {
|
|
return null;
|
|
}
|
|
return `claude-code ignores ${fields.join(', ')} because the Claude Agent SDK does not expose ktx prompt-cache TTL, tool, or history markers.`;
|
|
}
|
|
|
|
export function formatClaudeCodePromptCachingFix(): string {
|
|
return 'Remove those promptCaching fields or use anthropic, vertex, or gateway when those cache knobs are required.';
|
|
}
|