// Generated by scripts/generate-plugin-sdk-facades.mjs. Do not edit manually.
import type { PluginSdkFacadeTypeMap } from "../generated/plugin-sdk-facade-type-map.generated.js";
type FacadeEntry = PluginSdkFacadeTypeMap["ollama-surface"];
type FacadeModule = FacadeEntry["module"];
import {
  createLazyFacadeObjectValue,
  loadBundledPluginPublicSurfaceModuleSync,
} from "./facade-runtime.js";

function loadFacadeModule(): FacadeModule {
  return loadBundledPluginPublicSurfaceModuleSync<FacadeModule>({
    dirName: "ollama",
    artifactBasename: "api.js",
  });
}
export const buildOllamaModelDefinition: FacadeModule["buildOllamaModelDefinition"] = ((...args) =>
  loadFacadeModule()["buildOllamaModelDefinition"](
    ...args,
  )) as FacadeModule["buildOllamaModelDefinition"];
export const buildOllamaProvider: FacadeModule["buildOllamaProvider"] = ((...args) =>
  loadFacadeModule()["buildOllamaProvider"](...args)) as FacadeModule["buildOllamaProvider"];
export const configureOllamaNonInteractive: FacadeModule["configureOllamaNonInteractive"] = ((
  ...args
) =>
  loadFacadeModule()["configureOllamaNonInteractive"](
    ...args,
  )) as FacadeModule["configureOllamaNonInteractive"];
export const ensureOllamaModelPulled: FacadeModule["ensureOllamaModelPulled"] = ((...args) =>
  loadFacadeModule()["ensureOllamaModelPulled"](
    ...args,
  )) as FacadeModule["ensureOllamaModelPulled"];
export const enrichOllamaModelsWithContext: FacadeModule["enrichOllamaModelsWithContext"] = ((
  ...args
) =>
  loadFacadeModule()["enrichOllamaModelsWithContext"](
    ...args,
  )) as FacadeModule["enrichOllamaModelsWithContext"];
export const fetchOllamaModels: FacadeModule["fetchOllamaModels"] = ((...args) =>
  loadFacadeModule()["fetchOllamaModels"](...args)) as FacadeModule["fetchOllamaModels"];
export const OLLAMA_DEFAULT_BASE_URL: FacadeModule["OLLAMA_DEFAULT_BASE_URL"] =
  loadFacadeModule()["OLLAMA_DEFAULT_BASE_URL"];
export const OLLAMA_DEFAULT_CONTEXT_WINDOW: FacadeModule["OLLAMA_DEFAULT_CONTEXT_WINDOW"] =
  loadFacadeModule()["OLLAMA_DEFAULT_CONTEXT_WINDOW"];
export const OLLAMA_DEFAULT_COST: FacadeModule["OLLAMA_DEFAULT_COST"] = createLazyFacadeObjectValue(
  () => loadFacadeModule()["OLLAMA_DEFAULT_COST"] as object,
) as FacadeModule["OLLAMA_DEFAULT_COST"];
export const OLLAMA_DEFAULT_MAX_TOKENS: FacadeModule["OLLAMA_DEFAULT_MAX_TOKENS"] =
  loadFacadeModule()["OLLAMA_DEFAULT_MAX_TOKENS"];
export const OLLAMA_DEFAULT_MODEL: FacadeModule["OLLAMA_DEFAULT_MODEL"] =
  loadFacadeModule()["OLLAMA_DEFAULT_MODEL"];
export const promptAndConfigureOllama: FacadeModule["promptAndConfigureOllama"] = ((...args) =>
  loadFacadeModule()["promptAndConfigureOllama"](
    ...args,
  )) as FacadeModule["promptAndConfigureOllama"];
export const queryOllamaContextWindow: FacadeModule["queryOllamaContextWindow"] = ((...args) =>
  loadFacadeModule()["queryOllamaContextWindow"](
    ...args,
  )) as FacadeModule["queryOllamaContextWindow"];
export const resolveOllamaApiBase: FacadeModule["resolveOllamaApiBase"] = ((...args) =>
  loadFacadeModule()["resolveOllamaApiBase"](...args)) as FacadeModule["resolveOllamaApiBase"];
export type OllamaModelWithContext = FacadeEntry["types"]["OllamaModelWithContext"];
export type OllamaTagModel = FacadeEntry["types"]["OllamaTagModel"];
export type OllamaTagsResponse = FacadeEntry["types"]["OllamaTagsResponse"];
