LLMCallOptions
Interface: LLMCallOptions
Defined in: src/core/LLMCall.ts:91
Properties
contextBudget?
readonlyoptionalcontextBudget?:object
Defined in: src/core/LLMCall.ts:113
Per-slot context budgets, in characters (8.11.0). The LLMCall twin of
AgentOptions.contextBudget — two slots here, since an LLMCall has no
tools slot.
Each slot warns (and emits agentfootprint.context.budget_pressure) when
it composes over its budget. Nothing is truncated — the full content
still reaches the LLM; the budget is a signal, not a limiter. Defaults:
systemPrompt 4000, messages 10000.
messages?
readonlyoptionalmessages?:number
systemPrompt?
readonlyoptionalsystemPrompt?:number
costBudget?
readonlyoptionalcostBudget?:number| {onExceed:"halt"|"warn";usd:number; }
Defined in: src/core/LLMCall.ts:160
Cumulative USD budget per run. When provided along with pricingTable,
LLMCall emits agentfootprint.cost.limit_hit with action: 'warn'
the first time cumulative USD crosses the budget. Execution continues
— consumers choose whether to abort by listening to the event.
The object form { usd, onExceed } is accepted for symmetry with Agent,
but onExceed must be 'warn' here: halting means "stop at the next
iteration boundary", and one call has no next boundary. 'halt' is
refused at build rather than silently ignored.
groupTranslator?
readonlyoptionalgroupTranslator?:GroupTranslator<unknown>
Defined in: src/core/LLMCall.ts:178
Optional per-COMPOSITION translator (UI-agnostic). See
core/translator.ts. When attached, runner.getUIGroup() invokes
it with the LLMCall's GroupMetadata (kind 'LLMCall', id, name,
empty members[], plus extra.slots with the three slot ids —
system-prompt, messages, tools — so Lens can render the slot
cards inside an LLMCall card without inspecting buildTimeStructure).
Returns undefined when omitted.
id?
readonlyoptionalid?:string
Defined in: src/core/LLMCall.ts:96
Stable id used for topology + events. Default: 'llm-call'.
maxTokens?
readonlyoptionalmaxTokens?:number
Defined in: src/core/LLMCall.ts:102
Optional max output tokens.
model
readonlymodel:string
Defined in: src/core/LLMCall.ts:98
Model to request from the provider.
name?
readonlyoptionalname?:string
Defined in: src/core/LLMCall.ts:94
Human-friendly name shown in events/metrics. Default: 'LLMCall'.
pricingTable?
readonlyoptionalpricingTable?:PricingTable
Defined in: src/core/LLMCall.ts:148
Pricing adapter. When set, LLMCall emits agentfootprint.cost.tick
after every LLM response with per-call and cumulative USD. Run-scoped
— the cumulative resets on each .run().
provider
readonlyprovider:LLMProvider
Defined in: src/core/LLMCall.ts:92
recordReceipt?
readonlyoptionalrecordReceipt?:boolean
Defined in: src/core/LLMCall.ts:142
Mint a receipt on the call (9.91.0). Default ON — the LLMCall twin of
AgentOptions.recordReceipt, same field, same contract, same default.
A receipt is the fingerprint of what the model was actually handed,
committed at the call so a reader can check the rebuilt view against it.
false declines it, for the reason the agent's switch exists: the mint is
a SHA-256 per system piece, per message and per tool schema, plus one
commit-log value. Declining does not make the log unreadable — servedAt
still rebuilds the view; what is gone is the witness, and servedAt says
so with the same gap a pre-9.88 recording raises.
Example
decline the receipt in a bulk eval loop
new LLMCall({ provider, model, recordReceipt: false })recordSystemPrompt?
readonlyoptionalrecordSystemPrompt?:boolean
Defined in: src/core/LLMCall.ts:126
Record the ASSEMBLED system prompt on the LLM call (9.50.0). The LLMCall
twin of AgentOptions.recordSystemPrompt — same field, same contract,
same default. Opt-in, default OFF: when true,
agentfootprint.stream.llm_start carries systemPromptText, the joined
prompt verbatim as sent. PRIVACY: with the dial on, the full prompt rides
into every recorder, sink and persisted recording — off, only
systemPromptChars (the length) is on the record.
structureRecorders?
readonlyoptionalstructureRecorders?: readonlyStructureRecorder[]
Defined in: src/core/LLMCall.ts:168
Optional build-time recorders threaded into footprintjs's
flowChart() factory. Each recorder observes per-node build
events (onStageAdded / onSubflowMounted / etc.) for this
LLMCall's internal chart (Initialize + slot mounts + CallLLM). When
omitted, no build-time observation is wired up.
temperature?
readonlyoptionaltemperature?:number
Defined in: src/core/LLMCall.ts:100
Optional sampling temperature.
