% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/mock.R
\name{llm_provider_mock}
\alias{llm_provider_mock}
\title{Create a mock LLM provider for testing}
\usage{
llm_provider_mock(strategy_fn, name = "Mock")
}
\arguments{
\item{strategy_fn}{Function with signature
\code{f(messages, max_tokens, temperature) -> character}. The return value
must be parseable by the corresponding query factory (a stringified
integer for roleplay scenarios; two space-separated integers for the
predict scenario).}

\item{name}{Display name for \code{print()} output.}
}
\value{
An \code{llm_provider} object.
}
\description{
Returns an \code{llm_provider} that calls a local \code{strategy_fn} instead of
making any network requests. Useful for testing pipeline logic and custom
\code{query_fn} closures without incurring API costs.
}
\details{
Three ready-made strategies are provided:
\itemize{
\item \code{\link[=mock_strategy_min_id]{mock_strategy_min_id()}}: always picks the smallest valid target ID.
\item \code{\link[=mock_strategy_max_id]{mock_strategy_max_id()}}: always picks the largest valid target ID.
\item \code{\link[=mock_strategy_highest_indegree]{mock_strategy_highest_indegree()}}: picks the valid target with the
highest cumulative in-degree in the event history.
}
}
\examples{
p <- llm_provider_mock(mock_strategy_min_id)
print(p)
}
