mirror of
https://github.com/Kaelio/ktx.git
synced 2026-06-10 08:05:14 +02:00
* feat(cli): add tryUseManagedLocalEmbeddingsDaemon for read-only callers * feat(cli): add resolveProjectEmbeddingProvider helper * fix(cli): wire sl search through resolveProjectEmbeddingProvider so semantic lane works * fix(cli): wire wiki/knowledge search through resolveProjectEmbeddingProvider * feat(cli): surface embeddings-unavailable status when sl search returns empty * refactor(cli): route admin reindex through resolveProjectEmbeddingProvider * refactor: pass embeddingProvider into ingest/scan instead of resolving inside @ktx/context * refactor(mcp): resolve embedding provider in CLI factory, pass into context ports * refactor(context): delete MANAGED_SENTENCE_TRANSFORMERS_BASE_URL sentinel * refactor(cli): delete sentinel-based managed-embeddings indirection * chore: scrub stale managed-embeddings sentinel references from tests and smoke script * chore: unexport unused EmbeddingResolutionMode alias * fix(cli): force pathPrefix="" when targeting the managed embeddings daemon The managed daemon serves /embeddings/compute directly. The default pathPrefix in @ktx/llm is /api, so omitting sentenceTransformers from ktx.yaml produced /api/embeddings/compute -> 404. The resolver now sets pathPrefix='' explicitly when wiring the managed daemon URL, matching what the daemon actually exposes.
20 lines
652 B
TypeScript
20 lines
652 B
TypeScript
import { loadKtxProject, type KtxLocalProject } from '@ktx/context/project';
|
|
|
|
export interface LoadKtxCliProjectOptions {
|
|
projectDir: string;
|
|
}
|
|
|
|
export interface LoadKtxCliProjectDeps {
|
|
loadProject?: typeof loadKtxProject;
|
|
}
|
|
|
|
/**
|
|
* Thin wrapper around `loadKtxProject`. Kept as a single entrypoint so the CLI can grow shared
|
|
* pre-load behavior later (telemetry, project lock, etc.). Today it does no extra work.
|
|
*/
|
|
export async function loadKtxCliProject(
|
|
options: LoadKtxCliProjectOptions,
|
|
deps: LoadKtxCliProjectDeps = {},
|
|
): Promise<KtxLocalProject> {
|
|
return (deps.loadProject ?? loadKtxProject)({ projectDir: options.projectDir });
|
|
}
|