Local Model Catalog
What a LocalModelSource is serving, cached for long enough that asking is not an HTTP round trip per embedding.
Shared by LocalModelRoleResolver and LocalModelEmbeddingRoleResolver rather than held by each, because the two answer from ONE runner and a runner asked twice per call is the cost this class exists to avoid. They are separate classes only because RoleResolver.resolve and EmbeddingRoleResolver.resolve take the same arguments and return different types, so one class cannot implement both.
Elapsed time here is System.nanoTime, not a clock: this measures how long ago the runner was asked, which must survive an NTP step mid-interval. ticker is a parameter so a test can drive the interval rather than sit through it.
Parameters
the runner to ask
how stale an answer may be
monotonic nanosecond source; override only in tests
Constructors
Properties
Functions
An embedding service for model if the runner is serving it AS an embedding model.
An embedding service for model, built once and then reused, on the same terms.
A chat service for model if the runner is serving it AS a chat model, or null.
A chat service for model, built once and then reused.
Everything the runner is serving of this kind, for the platform's model listings.