Files
fusion/packages/pi-llama-cpp/index.ts
Fusion 1e73863ac6 feat(FN-3195): document llama.cpp provider setup and onboarding
Docs(FN-3195): adds llama.cpp provider setup and onboarding documentation to the main and dashboard READMEs.

Fusion-Task-Id: FN-3195
2026-05-04 10:18:38 -07:00

39 lines
1.1 KiB
TypeScript

import type { ExtensionAPI } from "@mariozechner/pi-coding-agent";
import {
DEFAULT_CONTEXT_WINDOW,
DEFAULT_MAX_TOKENS,
PROVIDER_ID,
PROVIDER_NAME,
} from "./src/constants.js";
import { resolveLlamaServerApiKey, resolveLlamaServerUrl } from "./src/resolver.js";
import { isLlamaServerReady, listLlamaModels } from "./src/retriever.js";
export default async function (pi: ExtensionAPI): Promise<void> {
const cwd = process.cwd();
if (!(await isLlamaServerReady(cwd))) {
return;
}
const [url, models, apiKey] = await Promise.all([
resolveLlamaServerUrl(cwd),
listLlamaModels(cwd),
resolveLlamaServerApiKey(),
]);
pi.registerProvider(PROVIDER_ID, {
name: PROVIDER_NAME,
baseUrl: `${url}/v1`,
api: "openai-completions",
apiKey: apiKey ?? "",
models: models.map((model) => ({
id: model.id,
name: model.id,
reasoning: true,
input: ["text", "image"] as Array<"text" | "image">,
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
contextWindow: DEFAULT_CONTEXT_WINDOW,
maxTokens: DEFAULT_MAX_TOKENS,
})),
});
}