export interface LocalRegistrationResult { ok: boolean; modelsJsonPath: string; reason?: string; /** When the file cannot be safely rewritten: the entry the user should add by hand. */ manualSnippet?: string; } /** Provider name pi registers pulled local models under (see registerLocalModel below). */ export declare const OLLAMA_PROVIDER = "ollama"; /** Provider name for pi-managed Hugging Face Transformers sidecar models. */ export declare const HF_TRANSFORMERS_PROVIDER = "pi-hf-transformers"; /** * Provider name for pi-managed prism llama.cpp models (Bonsai-27B and future curated prism-ml * models). This is the built-in `KnownProvider` "llama-cpp" (see packages/ai/src/types.ts and the * static `llama-cpp/local` catalog entry in models.generated.ts for a user-run server on the * conventional port 8080) — model-registry.ts already treats it as auth-exempt, so registration * here never needs a synthetic apiKey the way registerTransformersModel does. Because it is a * SHARED built-in namespace (not a pi-invented provider name like the two above), registration only * ever touches this provider's `models` array — never the whole provider object — so a user's own * hand-authored `llama-cpp` override (e.g. for their own server) is never destroyed. */ export declare const PRISM_LLAMACPP_PROVIDER = "llama-cpp"; export declare function registerLocalModel(args: { agentDir: string; ref: string; baseUrl: string; contextWindow?: number; servedContextWindow?: number; }): LocalRegistrationResult; export declare function registerTransformersModel(args: { agentDir: string; modelId: string; baseUrl: string; contextWindow?: number; }): LocalRegistrationResult; /** * Register a pi-managed prism llama.cpp model (e.g. Bonsai-27B) under the shared built-in * "llama-cpp" provider. Unlike registerLocalModel/registerTransformersModel, this never writes * provider-level baseUrl/api/apiKey: "llama-cpp" is a built-in KnownProvider, so model-registry.ts * inherits api/baseUrl defaults from the built-in `llama-cpp/local` catalog entry when a model * definition omits them, and treats the whole provider as auth-exempt regardless. Each model * definition still sets its OWN baseUrl explicitly (this server's actual host:port), which * model-registry.ts's `modelDef.baseUrl ?? providerConfig.baseUrl ?? builtInDefaults?.baseUrl` * precedence picks up ahead of the built-in default. */ export declare function registerPrismLlamaCppModel(args: { agentDir: string; modelId: string; baseUrl: string; contextWindow: number; servedContextWindow?: number; }): LocalRegistrationResult; export declare function unregisterLocalModel(args: { agentDir: string; ref: string; }): LocalRegistrationResult; export declare function unregisterTransformersModel(args: { agentDir: string; modelId: string; }): LocalRegistrationResult; /** * Drop a pi-registered model entry from the shared "llama-cpp" provider. Deliberately never * deletes the whole provider object even when its `models` array empties out — see * {@link PRISM_LLAMACPP_PROVIDER}'s doc comment: unlike OLLAMA_PROVIDER/HF_TRANSFORMERS_PROVIDER * (pi-invented namespaces pi fully owns), "llama-cpp" is a built-in provider a user may have * independently configured (e.g. a baseUrl override for their own server); this must not remove * fields it didn't write. */ export declare function unregisterPrismLlamaCppModel(args: { agentDir: string; modelId: string; }): LocalRegistrationResult; //# sourceMappingURL=local-registration.d.ts.map