Interface: IModelRequest
Defined in: internal/llm-client/types.ts:91
One request to a model. Built by ContextAssembler.
Properties
cacheTools?
optionalcacheTools?:boolean
Defined in: internal/llm-client/types.ts:113
Puts the provider's cache marker on the last tool definition too (Anthropic).
A read point for the tool definitions alone, for calls whose system blocks differ but whose tools do not.
Set by the ContextAssembler only when the prompt cache may be shared across tenants: tool definitions are the same for every tenant, so a tools-only entry is always shared.
Default
false
maxOutputTokens
maxOutputTokens:
number
Defined in: internal/llm-client/types.ts:119
The output cap of the call: the profile's, set by the ContextAssembler; the output of the usage check.
messages
messages:
IMessage[]
Defined in: internal/llm-client/types.ts:115
The transcript the model continues: the history, the user turn, the tool turns of a run.
modelId
modelId:
string
Defined in: internal/llm-client/types.ts:93
The registry id of the model to call.
outputSchema?
optionaloutputSchema?:ZodType<unknown,unknown,$ZodTypeInternals<unknown,unknown>>
Defined in: internal/llm-client/types.ts:117
Zod schema for structured output; omitted = free text.
system
system:
ISystemBlock[]
Defined in: internal/llm-client/types.ts:102
System prompt as blocks, in order (rendered CHAT_MAIN: the stable block, then the per-call block).
Anthropic gets one system block per entry, marked where
cacheis set; the others get the texts joined (joinSystem), OpenAI with a cache key derived from thecacheblock.
Example
[{text: "You are the assistant…", cache: true}, {text: "Today is Thursday, 2026-10-29…"}]
temperature?
optionaltemperature?:number
Defined in: internal/llm-client/types.ts:124
Sampling temperature, in the provider's range (OpenAI 0–2, Anthropic 0–1); omit for the provider default.
Only on a model whose caps.temperature is true: the client refuses it otherwise (400, D82).