From 8c2333cc154a25e7d5d3cb869b3caca43301d9a3 Mon Sep 17 00:00:00 2001 From: Andrey Avtomonov Date: Thu, 21 May 2026 03:09:44 +0200 Subject: [PATCH] refactor(workspace): rewrite @ktx/llm imports to relative paths --- packages/cli/package.json | 5 +++++ packages/cli/src/embedding-resolution.ts | 2 +- packages/cli/src/managed-local-embeddings.ts | 2 +- packages/cli/src/setup-embeddings.ts | 2 +- packages/cli/src/setup-models.ts | 2 +- .../curator-pagination.service.ts | 2 +- .../context/src/ingest/local-bundle-runtime.ts | 2 +- packages/context/src/ingest/local-ingest.ts | 4 ++-- packages/context/src/ingest/ports.ts | 2 +- .../src/ingest/stages/stage-3-work-units.ts | 2 +- .../src/ingest/stages/stage-4-reconciliation.ts | 2 +- packages/context/src/llm/ai-sdk-runtime.ts | 2 +- .../context/src/llm/debug-request-recorder.ts | 2 +- packages/context/src/llm/embedding-port.ts | 2 +- packages/context/src/llm/local-config.ts | 2 +- packages/context/src/llm/runtime-port.ts | 2 +- packages/context/src/project/config.ts | 2 +- packages/context/src/scan/local-scan.ts | 2 +- pnpm-lock.yaml | 15 +++++++++++++++ 19 files changed, 38 insertions(+), 18 deletions(-) diff --git a/packages/cli/package.json b/packages/cli/package.json index 75355189..0484f533 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -35,6 +35,9 @@ "type-check": "tsc -p tsconfig.json --noEmit" }, "dependencies": { + "@ai-sdk/anthropic": "3.0.77", + "@ai-sdk/devtools": "0.0.17", + "@ai-sdk/google-vertex": "^4.0.128", "@clack/prompts": "1.4.0", "@commander-js/extra-typings": "14.0.0", "@ktx/connector-bigquery": "workspace:*", @@ -47,9 +50,11 @@ "@ktx/context": "workspace:*", "@ktx/llm": "workspace:*", "@modelcontextprotocol/sdk": "^1.29.0", + "ai": "^6.0.180", "commander": "14.0.3", "fflate": "^0.8.2", "ink": "^7.0.2", + "openai": "^6.37.0", "react": "^19.2.6", "zod": "^4.4.3" }, diff --git a/packages/cli/src/embedding-resolution.ts b/packages/cli/src/embedding-resolution.ts index d7bfafae..4b73d439 100644 --- a/packages/cli/src/embedding-resolution.ts +++ b/packages/cli/src/embedding-resolution.ts @@ -1,7 +1,7 @@ import { type KtxEmbeddingProvider, createKtxEmbeddingProvider as defaultCreateKtxEmbeddingProvider, -} from '@ktx/llm'; +} from './llm/index.js'; import type { KtxLocalProject, KtxProjectEmbeddingConfig } from '@ktx/context/project'; import { resolveLocalKtxEmbeddingConfig } from '@ktx/context'; import type { KtxCliIo } from './cli-runtime.js'; diff --git a/packages/cli/src/managed-local-embeddings.ts b/packages/cli/src/managed-local-embeddings.ts index 48e83c86..f068ebdd 100644 --- a/packages/cli/src/managed-local-embeddings.ts +++ b/packages/cli/src/managed-local-embeddings.ts @@ -1,4 +1,4 @@ -import type { KtxEmbeddingConfig } from '@ktx/llm'; +import type { KtxEmbeddingConfig } from './llm/index.js'; import type { KtxCliIo } from './cli-runtime.js'; import { ensureManagedPythonCommandRuntime, diff --git a/packages/cli/src/setup-embeddings.ts b/packages/cli/src/setup-embeddings.ts index 5fb8b8a0..2c1be936 100644 --- a/packages/cli/src/setup-embeddings.ts +++ b/packages/cli/src/setup-embeddings.ts @@ -8,7 +8,7 @@ import { readKtxSetupState, serializeKtxProjectConfig, } from '@ktx/context/project'; -import { type KtxEmbeddingConfig, type KtxEmbeddingHealthCheckResult, runKtxEmbeddingHealthCheck } from '@ktx/llm'; +import { type KtxEmbeddingConfig, type KtxEmbeddingHealthCheckResult, runKtxEmbeddingHealthCheck } from './llm/index.js'; import type { KtxCliIo } from './cli-runtime.js'; import { createStaticCliSpinner, type KtxCliSpinner } from './clack.js'; import { diff --git a/packages/cli/src/setup-models.ts b/packages/cli/src/setup-models.ts index e24800e4..b83bbcd5 100644 --- a/packages/cli/src/setup-models.ts +++ b/packages/cli/src/setup-models.ts @@ -10,7 +10,7 @@ import { markKtxSetupStateStepComplete, serializeKtxProjectConfig, } from '@ktx/context/project'; -import { type KtxLlmConfig, type KtxLlmHealthCheckResult, runKtxLlmHealthCheck } from '@ktx/llm'; +import { type KtxLlmConfig, type KtxLlmHealthCheckResult, runKtxLlmHealthCheck } from './llm/index.js'; import { formatClaudeCodePromptCachingWarning, ignoredClaudeCodePromptCachingFields, diff --git a/packages/context/src/ingest/context-candidates/curator-pagination.service.ts b/packages/context/src/ingest/context-candidates/curator-pagination.service.ts index 5130b20b..603de89f 100644 --- a/packages/context/src/ingest/context-candidates/curator-pagination.service.ts +++ b/packages/context/src/ingest/context-candidates/curator-pagination.service.ts @@ -1,4 +1,4 @@ -import type { KtxModelRole } from '@ktx/llm'; +import type { KtxModelRole } from '../../../../cli/src/llm/index.js'; import { type KtxLogger, noopLogger } from '../../core/index.js'; import type { AgentRunnerPort, KtxRuntimeToolSet } from '../../llm/index.js'; import type { MemoryAction } from '../../memory/index.js'; diff --git a/packages/context/src/ingest/local-bundle-runtime.ts b/packages/context/src/ingest/local-bundle-runtime.ts index 13466e50..58a691a9 100644 --- a/packages/context/src/ingest/local-bundle-runtime.ts +++ b/packages/context/src/ingest/local-bundle-runtime.ts @@ -15,7 +15,7 @@ import { type KtxLlmRuntimePort, type KtxRuntimeToolSet, } from '../llm/index.js'; -import type { KtxEmbeddingProvider } from '@ktx/llm'; +import type { KtxEmbeddingProvider } from '../../../cli/src/llm/index.js'; import type { KtxLocalProject } from '../project/index.js'; import { ktxLocalStateDbPath } from '../project/index.js'; import { PromptService } from '../prompts/index.js'; diff --git a/packages/context/src/ingest/local-ingest.ts b/packages/context/src/ingest/local-ingest.ts index 794ccfc4..f99120c6 100644 --- a/packages/context/src/ingest/local-ingest.ts +++ b/packages/context/src/ingest/local-ingest.ts @@ -34,7 +34,7 @@ export interface RunLocalIngestOptions { semanticLayerCompute?: KtxSemanticLayerComputePort; queryExecutor?: KtxSqlQueryExecutorPort; logger?: KtxLogger; - embeddingProvider?: import('@ktx/llm').KtxEmbeddingProvider | null; + embeddingProvider?: import('../../../cli/src/llm/index.js').KtxEmbeddingProvider | null; } export interface LocalIngestMcpOptions @@ -173,7 +173,7 @@ async function runScheduledPullJob(options: { semanticLayerCompute?: KtxSemanticLayerComputePort; queryExecutor?: KtxSqlQueryExecutorPort; logger?: KtxLogger; - embeddingProvider?: import('@ktx/llm').KtxEmbeddingProvider | null; + embeddingProvider?: import('../../../cli/src/llm/index.js').KtxEmbeddingProvider | null; }): Promise { const runtime = createLocalBundleIngestRuntime(options); const jobId = options.jobId ?? runtime.nextJobId(); diff --git a/packages/context/src/ingest/ports.ts b/packages/context/src/ingest/ports.ts index 15123089..603b45e1 100644 --- a/packages/context/src/ingest/ports.ts +++ b/packages/context/src/ingest/ports.ts @@ -1,4 +1,4 @@ -import type { KtxModelRole } from '@ktx/llm'; +import type { KtxModelRole } from '../../../cli/src/llm/index.js'; import type { KtxEmbeddingPort } from '../core/embedding.js'; import type { GitService, KtxFileStorePort, KtxLogger, SessionOutcome } from '../core/index.js'; import type { AgentRunnerPort, KtxLlmRuntimePort, KtxRuntimeToolSet } from '../llm/index.js'; diff --git a/packages/context/src/ingest/stages/stage-3-work-units.ts b/packages/context/src/ingest/stages/stage-3-work-units.ts index caa78ebf..c3b0e7f5 100644 --- a/packages/context/src/ingest/stages/stage-3-work-units.ts +++ b/packages/context/src/ingest/stages/stage-3-work-units.ts @@ -1,4 +1,4 @@ -import type { KtxModelRole } from '@ktx/llm'; +import type { KtxModelRole } from '../../../../cli/src/llm/index.js'; import type { AgentRunnerPort, KtxRuntimeToolSet } from '@ktx/context'; import type { CaptureSession, MemoryAction } from '../../memory/index.js'; import { listTouchedSlSources, type TouchedSlSource } from '../../tools/index.js'; diff --git a/packages/context/src/ingest/stages/stage-4-reconciliation.ts b/packages/context/src/ingest/stages/stage-4-reconciliation.ts index 59f3235e..3c611a91 100644 --- a/packages/context/src/ingest/stages/stage-4-reconciliation.ts +++ b/packages/context/src/ingest/stages/stage-4-reconciliation.ts @@ -1,5 +1,5 @@ import type { AgentRunnerPort, KtxRuntimeToolSet } from '@ktx/context'; -import type { KtxModelRole } from '@ktx/llm'; +import type { KtxModelRole } from '../../../../cli/src/llm/index.js'; import type { EvictionUnit } from '../types.js'; import type { StageIndex } from './stage-index.types.js'; diff --git a/packages/context/src/llm/ai-sdk-runtime.ts b/packages/context/src/llm/ai-sdk-runtime.ts index f6201813..2c670b8c 100644 --- a/packages/context/src/llm/ai-sdk-runtime.ts +++ b/packages/context/src/llm/ai-sdk-runtime.ts @@ -1,4 +1,4 @@ -import { KtxMessageBuilder, splitKtxSystemMessages, type KtxLlmProvider } from '@ktx/llm'; +import { KtxMessageBuilder, splitKtxSystemMessages, type KtxLlmProvider } from '../../../cli/src/llm/index.js'; import { generateText, Output, stepCountIs, type FlexibleSchema, type TelemetrySettings, type ToolSet } from 'ai'; import type { z } from 'zod'; import { noopLogger, type KtxLogger } from '../core/index.js'; diff --git a/packages/context/src/llm/debug-request-recorder.ts b/packages/context/src/llm/debug-request-recorder.ts index 143b6890..e20f2abe 100644 --- a/packages/context/src/llm/debug-request-recorder.ts +++ b/packages/context/src/llm/debug-request-recorder.ts @@ -1,7 +1,7 @@ import { appendFile, mkdir } from 'node:fs/promises'; import { dirname } from 'node:path'; import type { ModelMessage } from 'ai'; -import type { KtxModelRole } from '@ktx/llm'; +import type { KtxModelRole } from '../../../cli/src/llm/index.js'; type ProviderOptionsCarrier = { providerOptions?: unknown; [key: string]: unknown }; type ToolMap = Record; diff --git a/packages/context/src/llm/embedding-port.ts b/packages/context/src/llm/embedding-port.ts index 6eb0ad80..68e238ac 100644 --- a/packages/context/src/llm/embedding-port.ts +++ b/packages/context/src/llm/embedding-port.ts @@ -1,4 +1,4 @@ -import type { KtxEmbeddingProvider } from '@ktx/llm'; +import type { KtxEmbeddingProvider } from '../../../cli/src/llm/index.js'; import type { KtxEmbeddingPort as KtxIngestEmbeddingPort } from '../core/embedding.js'; import type { KtxEmbeddingPort as KtxScanEmbeddingPort } from '../scan/types.js'; diff --git a/packages/context/src/llm/local-config.ts b/packages/context/src/llm/local-config.ts index 56997356..7f369f63 100644 --- a/packages/context/src/llm/local-config.ts +++ b/packages/context/src/llm/local-config.ts @@ -6,7 +6,7 @@ import { type KtxLlmConfig, type KtxLlmProvider, type KtxModelRole, -} from '@ktx/llm'; +} from '../../../cli/src/llm/index.js'; import { resolveKtxConfigReference } from '../core/config-reference.js'; import type { KtxProjectEmbeddingConfig, KtxProjectLlmConfig } from '../project/config.js'; import { AiSdkKtxLlmRuntime } from './ai-sdk-runtime.js'; diff --git a/packages/context/src/llm/runtime-port.ts b/packages/context/src/llm/runtime-port.ts index 6fddfd80..54fd7081 100644 --- a/packages/context/src/llm/runtime-port.ts +++ b/packages/context/src/llm/runtime-port.ts @@ -1,4 +1,4 @@ -import type { KtxModelRole } from '@ktx/llm'; +import type { KtxModelRole } from '../../../cli/src/llm/index.js'; import type { z } from 'zod'; export interface KtxRuntimeToolOutput { diff --git a/packages/context/src/project/config.ts b/packages/context/src/project/config.ts index b95f0ce0..f017c2eb 100644 --- a/packages/context/src/project/config.ts +++ b/packages/context/src/project/config.ts @@ -1,4 +1,4 @@ -import { KTX_MODEL_ROLES } from '@ktx/llm'; +import { KTX_MODEL_ROLES } from '../../../cli/src/llm/index.js'; import YAML from 'yaml'; import * as z from 'zod'; import { connectionConfigSchema } from './driver-schemas.js'; diff --git a/packages/context/src/scan/local-scan.ts b/packages/context/src/scan/local-scan.ts index 4dbc448d..c133550c 100644 --- a/packages/context/src/scan/local-scan.ts +++ b/packages/context/src/scan/local-scan.ts @@ -1,4 +1,4 @@ -import type { createKtxEmbeddingProvider, createKtxLlmProvider, KtxEmbeddingProvider } from '@ktx/llm'; +import type { createKtxEmbeddingProvider, createKtxLlmProvider, KtxEmbeddingProvider } from '../../../cli/src/llm/index.js'; import { createDefaultLocalIngestAdapters, getLocalStageOnlyIngestStatus, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ac2398ca..c8079946 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -107,6 +107,15 @@ importers: packages/cli: dependencies: + '@ai-sdk/anthropic': + specifier: 3.0.77 + version: 3.0.77(zod@4.4.3) + '@ai-sdk/devtools': + specifier: 0.0.17 + version: 0.0.17 + '@ai-sdk/google-vertex': + specifier: ^4.0.128 + version: 4.0.128(zod@4.4.3) '@clack/prompts': specifier: 1.4.0 version: 1.4.0 @@ -143,6 +152,9 @@ importers: '@modelcontextprotocol/sdk': specifier: ^1.29.0 version: 1.29.0(zod@4.4.3) + ai: + specifier: ^6.0.180 + version: 6.0.180(zod@4.4.3) commander: specifier: 14.0.3 version: 14.0.3 @@ -152,6 +164,9 @@ importers: ink: specifier: ^7.0.2 version: 7.0.2(@types/react@19.2.14)(react@19.2.6) + openai: + specifier: ^6.37.0 + version: 6.37.0(ws@8.20.1)(zod@4.4.3) react: specifier: ^19.2.6 version: 19.2.6