@agentskit/core — Interfaces
API interfaces for @agentskit/core.
#Interface: ActivateSkillsResult
Defined in: packages/core/src/agent-loop.ts:30
#Properties
#skillTools
skillTools:
ToolDefinition<Record<string,unknown>>[]
Defined in: packages/core/src/agent-loop.ts:32
#systemPrompt
systemPrompt:
string|undefined
Defined in: packages/core/src/agent-loop.ts:31
#Interface: AdapterCapabilities
Defined in: packages/core/src/types/adapter.ts:32
Hints about what an adapter supports. Every field is optional; an
adapter may omit the whole capabilities object, and consumers
should treat omission as 'unknown — assume the feature works and
handle errors if it doesn't'.
This is an additive extension to the Adapter contract (ADR 0001) — adapters without capabilities remain fully compliant. Consumers that care (router / ensemble adapters, UI that hides the tool toggle when the provider can't use tools) can read the hints.
#Properties
#extensions?
optionalextensions?:Record<string,unknown>
Defined in: packages/core/src/types/adapter.ts:46
Anything else — e.g. provider-specific hints.
#multiModal?
optionalmultiModal?:boolean
Defined in: packages/core/src/types/adapter.ts:40
Accepts image inputs in the message list?
#reasoning?
optionalreasoning?:boolean
Defined in: packages/core/src/types/adapter.ts:38
Does it emit a separate reasoning/thinking stream (o1/o3 style)?
#streaming?
optionalstreaming?:boolean
Defined in: packages/core/src/types/adapter.ts:34
Does the adapter stream responses natively?
#structuredOutput?
optionalstructuredOutput?:boolean
Defined in: packages/core/src/types/adapter.ts:42
Supports confirmations / structured-output primitives?
#tools?
optionaltools?:boolean
Defined in: packages/core/src/types/adapter.ts:36
Does it support tool calling (function calling)?
#usage?
optionalusage?:boolean
Defined in: packages/core/src/types/adapter.ts:44
Emits token/usage data in chunk metadata?
#Interface: AdapterContext
Defined in: packages/core/src/types/adapter.ts:6
#Properties
#maxTokens?
optionalmaxTokens?:number
Defined in: packages/core/src/types/adapter.ts:9
#metadata?
optionalmetadata?:Record<string,unknown>
Defined in: packages/core/src/types/adapter.ts:11
#systemPrompt?
optionalsystemPrompt?:string
Defined in: packages/core/src/types/adapter.ts:7
#temperature?
optionaltemperature?:number
Defined in: packages/core/src/types/adapter.ts:8
#tools?
optionaltools?:ToolDefinition<Record<string,unknown>>[]
Defined in: packages/core/src/types/adapter.ts:10
#Interface: AdapterRequest
Defined in: packages/core/src/types/adapter.ts:14
#Properties
#context?
optionalcontext?:AdapterContext
Defined in: packages/core/src/types/adapter.ts:16
#correlation?
optionalcorrelation?:AgentEventContext
Defined in: packages/core/src/types/adapter.ts:18
Optional identity propagated to adapters without coupling them to a runtime.
#messages
messages:
Message[]
Defined in: packages/core/src/types/adapter.ts:15
#Interface: AgentEventContext
Defined in: packages/core/src/types/agent.ts:6
Optional identity envelope for correlating an event across AgentsKit
boundaries. operationId is the stable cross-system identity; the other
fields preserve local lifecycle identities without collapsing their meaning.
#Properties
#actionId?
readonlyoptionalactionId?:string
Defined in: packages/core/src/types/agent.ts:11
#operationId
readonlyoperationId:string
Defined in: packages/core/src/types/agent.ts:7
#runId?
readonlyoptionalrunId?:string
Defined in: packages/core/src/types/agent.ts:8
#sessionId?
readonlyoptionalsessionId?:string
Defined in: packages/core/src/types/agent.ts:9
#traceId?
readonlyoptionaltraceId?:string
Defined in: packages/core/src/types/agent.ts:12
#turnId?
readonlyoptionalturnId?:string
Defined in: packages/core/src/types/agent.ts:10
#Interface: ArgsValidationError
Defined in: packages/core/src/types/tool.ts:32
#Properties
#message
message:
string
Defined in: packages/core/src/types/tool.ts:35
#path
path:
string
Defined in: packages/core/src/types/tool.ts:34
JSON pointer / dotted path to the offending field, or '' for root.
#Interface: ArgsValidationResult
Defined in: packages/core/src/types/tool.ts:38
#Properties
#errors?
optionalerrors?:ArgsValidationError[]
Defined in: packages/core/src/types/tool.ts:40
#message?
optionalmessage?:string
Defined in: packages/core/src/types/tool.ts:42
Optional pre-built human summary; used verbatim in the thrown error.
#valid
valid:
boolean
Defined in: packages/core/src/types/tool.ts:39
#Interface: AudioPart
Defined in: packages/core/src/types/content.ts:23
#Properties
#durationSec?
optionaldurationSec?:number
Defined in: packages/core/src/types/content.ts:28
Duration in seconds, if known.
#mimeType?
optionalmimeType?:string
Defined in: packages/core/src/types/content.ts:26
#source
source:
string
Defined in: packages/core/src/types/content.ts:25
#type
type:
"audio"
Defined in: packages/core/src/types/content.ts:24
#Interface: ChatConfig
Defined in: packages/core/src/types/chat.ts:11
#Properties
#adapter
adapter:
AdapterFactory
Defined in: packages/core/src/types/chat.ts:12
#authorizeToolCall?
optionalauthorizeToolCall?:ToolAuthorizer
Defined in: packages/core/src/types/chat.ts:33
#correlation?
optionalcorrelation?:AgentEventContext
Defined in: packages/core/src/types/chat.ts:14
Optional identity propagated to adapter requests and runtime events.
#initialMessages?
optionalinitialMessages?:Message[]
Defined in: packages/core/src/types/chat.ts:22
#maxTokens?
optionalmaxTokens?:number
Defined in: packages/core/src/types/chat.ts:17
#maxToolIterations?
optionalmaxToolIterations?:number
Defined in: packages/core/src/types/chat.ts:29
Maximum number of LLM ↔ tool feedback turns per send().
After a tool call, the controller feeds the result back to the model
so it can continue reasoning. This caps that loop to prevent runaway
cost if a model keeps requesting tools. Default: 5. Set to 1 to disable.
#memory?
optionalmemory?:ChatMemory
Defined in: packages/core/src/types/chat.ts:20
#observers?
optionalobservers?:Observer[]
Defined in: packages/core/src/types/chat.ts:34
#onError?
optionalonError?: (error) =>void
Defined in: packages/core/src/types/chat.ts:31
#Parameters
error
Error
#Returns
void
#onMessage?
optionalonMessage?: (message) =>void
Defined in: packages/core/src/types/chat.ts:30
#Parameters
message
#Returns
void
#onToolCall?
optionalonToolCall?: (toolCall,context) =>MaybePromise<void>
Defined in: packages/core/src/types/chat.ts:32
#Parameters
toolCall
context
#Returns
MaybePromise<void>
#retriever?
optionalretriever?:Retriever
Defined in: packages/core/src/types/chat.ts:21
#skills?
optionalskills?:SkillDefinition[]
Defined in: packages/core/src/types/chat.ts:19
#systemPrompt?
optionalsystemPrompt?:string
Defined in: packages/core/src/types/chat.ts:15
#temperature?
optionaltemperature?:number
Defined in: packages/core/src/types/chat.ts:16
#tools?
optionaltools?:ToolDefinition<Record<string,unknown>>[]
Defined in: packages/core/src/types/chat.ts:18
#validateArgs?
optionalvalidateArgs?:ArgsValidator
Defined in: packages/core/src/types/chat.ts:42
Opt-in runtime validator for tool-call arguments (ADR-0008). When set,
args produced by the model are checked against each tool's JSON Schema
before execution; mismatches raise AK_TOOL_INVALID_INPUT. Omit for the
default passthrough behaviour. Use createAjvValidator() from
@agentskit/tools/validation.
#Interface: ChatController
Defined in: packages/core/src/types/chat.ts:66
#Properties
#approve
approve: (
toolCallId) =>Promise<void>
Defined in: packages/core/src/types/chat.ts:89
#Parameters
toolCallId
string
#Returns
Promise<void>
#clear
clear: () =>
Promise<void>
Defined in: packages/core/src/types/chat.ts:86
#Returns
Promise<void>
#deny
deny: (
toolCallId,reason?) =>Promise<void>
Defined in: packages/core/src/types/chat.ts:90
#Parameters
toolCallId
string
reason?
string
#Returns
Promise<void>
#edit
edit: (
messageId,newContent,opts?) =>Promise<void>
Defined in: packages/core/src/types/chat.ts:77
Edit a message by id. For user messages, truncates all subsequent turns and regenerates (unless opts.regenerate === false). For assistant messages, updates the content in place.
#Parameters
messageId
string
newContent
string
opts?
#Returns
Promise<void>
#getState
getState: () =>
ChatState
Defined in: packages/core/src/types/chat.ts:67
#Returns
#proposeToolCall
proposeToolCall: (
proposal) =>Promise<ToolCall>
Defined in: packages/core/src/types/chat.ts:88
#Parameters
proposal
Pick<ToolCall, "id" | "name" | "args">
#Returns
Promise<ToolCall>
#regenerate
regenerate: (
messageId?) =>Promise<void>
Defined in: packages/core/src/types/chat.ts:83
Regenerate the assistant response. If messageId names an assistant
message, that one is replaced. Otherwise regenerates the last
assistant turn (same as retry()).
#Parameters
messageId?
string
#Returns
Promise<void>
#retry
retry: () =>
Promise<void>
Defined in: packages/core/src/types/chat.ts:71
#Returns
Promise<void>
#send
send: (
text) =>Promise<void>
Defined in: packages/core/src/types/chat.ts:69
#Parameters
text
string
#Returns
Promise<void>
#setInput
setInput: (
value) =>void
Defined in: packages/core/src/types/chat.ts:84
#Parameters
value
string
#Returns
void
#setMessages
setMessages: (
messages) =>void
Defined in: packages/core/src/types/chat.ts:85
#Parameters
messages
Message[]
#Returns
void
#stop
stop: () =>
void
Defined in: packages/core/src/types/chat.ts:70
#Returns
void
#subscribe
subscribe: (
listener) => () =>void
Defined in: packages/core/src/types/chat.ts:68
#Parameters
listener
() => void
#Returns
() => void
#updateConfig
updateConfig: (
config) =>void
Defined in: packages/core/src/types/chat.ts:87
#Parameters
config
Partial<ChatConfig>
#Returns
void
#Interface: ChatMemory
Defined in: packages/core/src/types/memory.ts:5
#Properties
#clear?
optionalclear?: (options?) =>MaybePromise<void>
Defined in: packages/core/src/types/memory.ts:10
#Parameters
options?
MemoryOperationOptions
#Returns
MaybePromise<void>
#load
load: (
options?) =>MaybePromise<Message[]>
Defined in: packages/core/src/types/memory.ts:8
#Parameters
options?
MemoryOperationOptions
#Returns
#region?
optionalregion?:DataRegion
Defined in: packages/core/src/types/memory.ts:7
Data-residency region for this memory backend, when known.
#save
save: (
messages,options?) =>MaybePromise<void>
Defined in: packages/core/src/types/memory.ts:9
#Parameters
messages
Message[]
options?
MemoryOperationOptions
#Returns
MaybePromise<void>
#Interface: ChatReturn
Defined in: packages/core/src/types/chat.ts:93
#Extends
#Properties
#approve
approve: (
toolCallId) =>Promise<void>
Defined in: packages/core/src/types/chat.ts:102
#Parameters
toolCallId
string
#Returns
Promise<void>
#clear
clear: () =>
Promise<void>
Defined in: packages/core/src/types/chat.ts:100
#Returns
Promise<void>
#deny
deny: (
toolCallId,reason?) =>Promise<void>
Defined in: packages/core/src/types/chat.ts:103
#Parameters
toolCallId
string
reason?
string
#Returns
Promise<void>
#edit
edit: (
messageId,newContent,opts?) =>Promise<void>
Defined in: packages/core/src/types/chat.ts:97
#Parameters
messageId
string
newContent
string
opts?
#Returns
Promise<void>
#error
error:
Error|null
Defined in: packages/core/src/types/chat.ts:49
#Inherited from
#input
input:
string
Defined in: packages/core/src/types/chat.ts:48
#Inherited from
#messages
messages:
Message[]
Defined in: packages/core/src/types/chat.ts:46
#Inherited from
#proposeToolCall
proposeToolCall: (
proposal) =>Promise<ToolCall>
Defined in: packages/core/src/types/chat.ts:101
#Parameters
proposal
Pick<ToolCall, "id" | "name" | "args">
#Returns
Promise<ToolCall>
#regenerate
regenerate: (
messageId?) =>Promise<void>
Defined in: packages/core/src/types/chat.ts:98
#Parameters
messageId?
string
#Returns
Promise<void>
#retry
retry: () =>
Promise<void>
Defined in: packages/core/src/types/chat.ts:96
#Returns
Promise<void>
#send
send: (
text) =>Promise<void>
Defined in: packages/core/src/types/chat.ts:94
#Parameters
text
string
#Returns
Promise<void>
#setInput
setInput: (
value) =>void
Defined in: packages/core/src/types/chat.ts:99
#Parameters
value
string
#Returns
void
#status
status:
StreamStatus
Defined in: packages/core/src/types/chat.ts:47
#Inherited from
#stop
stop: () =>
void
Defined in: packages/core/src/types/chat.ts:95
#Returns
void
#usage
usage:
TokenUsage
Defined in: packages/core/src/types/chat.ts:55
Token usage accumulated across every LLM call in this chat session.
Populated when the adapter surfaces usage (OpenAI, Anthropic, Gemini,
Ollama all do). Zeroed by clear().
#Inherited from
#Interface: ChatState
Defined in: packages/core/src/types/chat.ts:45
#Extended by
#Properties
#error
error:
Error|null
Defined in: packages/core/src/types/chat.ts:49
#input
input:
string
Defined in: packages/core/src/types/chat.ts:48
#messages
messages:
Message[]
Defined in: packages/core/src/types/chat.ts:46
#status
status:
StreamStatus
Defined in: packages/core/src/types/chat.ts:47
#usage
usage:
TokenUsage
Defined in: packages/core/src/types/chat.ts:55
Token usage accumulated across every LLM call in this chat session.
Populated when the adapter surfaces usage (OpenAI, Anthropic, Gemini,
Ollama all do). Zeroed by clear().
#Interface: CompileBudgetInput
Defined in: packages/core/src/budget.ts:7
#Properties
#budget
budget:
number
Defined in: packages/core/src/budget.ts:9
Hard upper bound (model context limit - reserveForOutput).
#counter?
optionalcounter?:TokenCounter
Defined in: packages/core/src/budget.ts:14
Token counter. Defaults to approximateCounter (chars/4 heuristic).
#keepRecent?
optionalkeepRecent?:number
Defined in: packages/core/src/budget.ts:25
Minimum number of recent messages to keep regardless of strategy. Protects against dropping the turn that actually matters. Default 1.
#messages
messages:
Message[]
Defined in: packages/core/src/budget.ts:10
#reserveForOutput?
optionalreserveForOutput?:number
Defined in: packages/core/src/budget.ts:20
Tokens reserved for the model's output. Subtracted from budget.
#strategy?
optionalstrategy?:BudgetStrategy
Defined in: packages/core/src/budget.ts:16
Trimming strategy. Default 'drop-oldest'.
#summarizer?
optionalsummarizer?: (dropped) =>Message|Promise<Message>
Defined in: packages/core/src/budget.ts:18
Required when strategy === 'summarize'.
#Parameters
dropped
Message[]
#Returns
#systemPrompt?
optionalsystemPrompt?:string
Defined in: packages/core/src/budget.ts:11
#tools?
optionaltools?:ToolDefinition<Record<string,unknown>>[]
Defined in: packages/core/src/budget.ts:12
#Interface: CompileBudgetResult
Defined in: packages/core/src/budget.ts:28
#Properties
#dropped
dropped:
Message[]
Defined in: packages/core/src/budget.ts:38
#fits
fits:
boolean
Defined in: packages/core/src/budget.ts:39
#messages
messages:
Message[]
Defined in: packages/core/src/budget.ts:29
#strategy
strategy:
BudgetStrategy
Defined in: packages/core/src/budget.ts:40
#systemPrompt?
optionalsystemPrompt?:string
Defined in: packages/core/src/budget.ts:30
#tokens
tokens:
object
Defined in: packages/core/src/budget.ts:31
#budget
budget:
number
#messages
messages:
number
#system
system:
number
#tools
tools:
number
#total
total:
number
#Interface: ConsumeStreamHandlers
Defined in: packages/core/src/primitives.ts:255
#Properties
#onDone
onDone: (
accumulatedText) =>void
Defined in: packages/core/src/primitives.ts:262
#Parameters
accumulatedText
string
#Returns
void
#onError?
optionalonError?: (error) =>void
Defined in: packages/core/src/primitives.ts:261
#Parameters
error
Error
#Returns
void
#onReasoning?
optionalonReasoning?: (accumulated) =>void
Defined in: packages/core/src/primitives.ts:257
#Parameters
accumulated
string
#Returns
void
#onText?
optionalonText?: (accumulated) =>void
Defined in: packages/core/src/primitives.ts:256
#Parameters
accumulated
string
#Returns
void
#onToolCall?
optionalonToolCall?: (chunk) =>void|Promise<void>
Defined in: packages/core/src/primitives.ts:258
#Parameters
chunk
#Returns
void | Promise<void>
#onToolResult?
optionalonToolResult?: (content) =>void
Defined in: packages/core/src/primitives.ts:259
#Parameters
content
string
#Returns
void
#onUsage?
optionalonUsage?: (usage) =>void
Defined in: packages/core/src/primitives.ts:260
#Parameters
usage
#Returns
void
#Interface: DefineToolConfig<TSchema>
Defined in: packages/core/src/types/tool.ts:123
Config for defineTool: schema is narrowed to a const type for inference.
#Type Parameters
#TSchema
TSchema extends JSONSchema7
#Properties
#category?
optionalcategory?:string
Defined in: packages/core/src/types/tool.ts:135
#description?
optionaldescription?:string
Defined in: packages/core/src/types/tool.ts:125
#dispose?
optionaldispose?: () =>MaybePromise<void>
Defined in: packages/core/src/types/tool.ts:133
#Returns
MaybePromise<void>
#execute?
optionalexecute?: (args,context) =>unknown
Defined in: packages/core/src/types/tool.ts:128
#Parameters
args
InferSchemaType<TSchema>
context
#Returns
unknown
#init?
optionalinit?: () =>MaybePromise<void>
Defined in: packages/core/src/types/tool.ts:132
#Returns
MaybePromise<void>
#name
name:
string
Defined in: packages/core/src/types/tool.ts:124
#requiresConfirmation?
optionalrequiresConfirmation?:boolean
Defined in: packages/core/src/types/tool.ts:127
#schema?
optionalschema?:TSchema
Defined in: packages/core/src/types/tool.ts:126
#tags?
optionaltags?:string[]
Defined in: packages/core/src/types/tool.ts:134
#Interface: EditOptions
Defined in: packages/core/src/types/chat.ts:58
#Properties
#regenerate?
optionalregenerate?:boolean
Defined in: packages/core/src/types/chat.ts:63
When editing a user message, also regenerate the assistant response that followed it (truncating any later turns). Default: true.
#Interface: EvalResult
Defined in: packages/core/src/types/eval.ts:7
#Properties
#accuracy
accuracy:
number
Defined in: packages/core/src/types/eval.ts:11
#failed
failed:
number
Defined in: packages/core/src/types/eval.ts:10
#passed
passed:
number
Defined in: packages/core/src/types/eval.ts:9
#results
results:
object[]
Defined in: packages/core/src/types/eval.ts:12
#error?
optionalerror?:string
#input
input:
string
#latencyMs
latencyMs:
number
#output
output:
string
#passed
passed:
boolean
#tokenUsage?
optionaltokenUsage?:object
tokenUsage.completion
completion:
number
tokenUsage.prompt
prompt:
number
#totalCases
totalCases:
number
Defined in: packages/core/src/types/eval.ts:8
#Interface: EvalSuite
Defined in: packages/core/src/types/eval.ts:22
#Properties
#cases
cases:
EvalTestCase[]
Defined in: packages/core/src/types/eval.ts:24
#name
name:
string
Defined in: packages/core/src/types/eval.ts:23
#Interface: EvalTestCase
Defined in: packages/core/src/types/eval.ts:1
#Properties
#expected
expected:
string| ((result) =>boolean)
Defined in: packages/core/src/types/eval.ts:3
#input
input:
string
Defined in: packages/core/src/types/eval.ts:2
#metadata?
optionalmetadata?:Record<string,unknown>
Defined in: packages/core/src/types/eval.ts:4
#Interface: ExecuteSafeToolOptions
Defined in: packages/core/src/agent-loop.ts:67
#Properties
#authorize?
optionalauthorize?:ToolAuthorizer
Defined in: packages/core/src/agent-loop.ts:77
#context
context:
ToolExecutionContext
Defined in: packages/core/src/agent-loop.ts:70
#correlation?
optionalcorrelation?:AgentEventContext
Defined in: packages/core/src/agent-loop.ts:78
#emitter
emitter:
object
Defined in: packages/core/src/agent-loop.ts:71
#addObserver()
addObserver(
observer): () =>void
Parameters
observer
Returns
() => void
#emit()
emit(
event):void
Parameters
event
Returns
void
#lifecycle
lifecycle:
object
Defined in: packages/core/src/agent-loop.ts:72
#disposeAll()
disposeAll():
Promise<void>
Returns
Promise<void>
#init()
init(
tool):Promise<void>
Parameters
tool
Returns
Promise<void>
#onConfirm?
optionalonConfirm?: (toolCall) =>MaybePromise<boolean>
Defined in: packages/core/src/agent-loop.ts:74
#Parameters
toolCall
#Returns
MaybePromise<boolean>
#onPartial?
optionalonPartial?: (result) =>void
Defined in: packages/core/src/agent-loop.ts:73
#Parameters
result
string
#Returns
void
#tool
tool:
ToolDefinition<Record<string,unknown>> |undefined
Defined in: packages/core/src/agent-loop.ts:68
#toolCall
toolCall:
ToolCall
Defined in: packages/core/src/agent-loop.ts:69
#validate?
optionalvalidate?:ArgsValidator
Defined in: packages/core/src/agent-loop.ts:76
Opt-in arg validation against tool.schema (ADR-0008).
#Interface: FilePart
Defined in: packages/core/src/types/content.ts:38
#Properties
#filename?
optionalfilename?:string
Defined in: packages/core/src/types/content.ts:43
Original filename, when available.
#mimeType?
optionalmimeType?:string
Defined in: packages/core/src/types/content.ts:41
#source
source:
string
Defined in: packages/core/src/types/content.ts:40
#type
type:
"file"
Defined in: packages/core/src/types/content.ts:39
#Interface: ImagePart
Defined in: packages/core/src/types/content.ts:14
#Properties
#detail?
optionaldetail?:"low"|"high"|"auto"
Defined in: packages/core/src/types/content.ts:20
Provider-neutral hint, e.g. 'low' / 'high'.
#mimeType?
optionalmimeType?:string
Defined in: packages/core/src/types/content.ts:18
#source
source:
string
Defined in: packages/core/src/types/content.ts:17
Data URL, http(s) URL, or provider-hosted reference id.
#type
type:
"image"
Defined in: packages/core/src/types/content.ts:15
#Interface: MemoryRecord
Defined in: packages/core/src/types/message.ts:25
#Properties
#messages
messages:
Omit<Message,"createdAt"> &object[]
Defined in: packages/core/src/types/message.ts:27
#version
version:
1
Defined in: packages/core/src/types/message.ts:26
#Interface: Message
Defined in: packages/core/src/types/message.ts:7
#Properties
#content
content:
string
Defined in: packages/core/src/types/message.ts:11
Text projection of the message. Always populated, even for multi-modal.
#createdAt
createdAt:
Date
Defined in: packages/core/src/types/message.ts:22
#id
id:
string
Defined in: packages/core/src/types/message.ts:8
#metadata?
optionalmetadata?:Record<string,unknown>
Defined in: packages/core/src/types/message.ts:21
#parts?
optionalparts?:ContentPart[]
Defined in: packages/core/src/types/message.ts:17
Multi-modal parts. When provided, content is a text projection
of these parts (see partsToText). Adapters that support the
relevant modality should prefer parts over content.
#role
role:
MessageRole
Defined in: packages/core/src/types/message.ts:9
#status
status:
MessageStatus
Defined in: packages/core/src/types/message.ts:18
#toolCallId?
optionaltoolCallId?:string
Defined in: packages/core/src/types/message.ts:20
#toolCalls?
optionaltoolCalls?:ToolCall[]
Defined in: packages/core/src/types/message.ts:19
#Interface: Observer
Defined in: packages/core/src/types/agent.ts:38
#Properties
#name
name:
string
Defined in: packages/core/src/types/agent.ts:39
#on
on: (
event) =>void|Promise<void>
Defined in: packages/core/src/types/agent.ts:40
#Parameters
event
#Returns
void | Promise<void>
#Interface: ParsedToolArgs
Defined in: packages/core/src/primitives.ts:98
#Properties
#args
args:
Record<string,unknown>
Defined in: packages/core/src/primitives.ts:99
#valid
valid:
boolean
Defined in: packages/core/src/primitives.ts:100
#Interface: ProgressiveArgParser
Defined in: packages/core/src/progressive.ts:15
#Properties
#buffer
readonlybuffer:string
Defined in: packages/core/src/progressive.ts:25
Accumulated raw buffer.
#end
end: () =>
ProgressiveFieldEvent[]
Defined in: packages/core/src/progressive.ts:19
Mark the stream finished — validates the object closed cleanly. Returns any final events.
#Returns
#events
readonlyevents: readonlyProgressiveFieldEvent[]
Defined in: packages/core/src/progressive.ts:21
All events seen so far, in order.
#push
push: (
chunk) =>ProgressiveFieldEvent[]
Defined in: packages/core/src/progressive.ts:17
Append a new chunk of JSON text. Emits onField for each top-level field that completes.
#Parameters
chunk
string
#Returns
#value
readonlyvalue:Record<string,unknown>
Defined in: packages/core/src/progressive.ts:23
Current parsed partial object (fields completed so far).
#Interface: ProgressiveExecOptions
Defined in: packages/core/src/progressive.ts:204
#Properties
#onField?
optionalonField?: (event) =>void
Defined in: packages/core/src/progressive.ts:208
Called for each field event, including those after execution starts.
#Parameters
event
#Returns
void
#triggerFields?
optionaltriggerFields?:string[]
Defined in: packages/core/src/progressive.ts:206
Start executing after these fields have been received. Default: first field.
#Interface: ProgressiveExecResult
Defined in: packages/core/src/progressive.ts:211
#Properties
#execution
execution:
Promise<unknown>
Defined in: packages/core/src/progressive.ts:215
Resolves with the tool's return value.
#fields
fields:
ProgressiveFieldEvent[]
Defined in: packages/core/src/progressive.ts:212
#finalArgs
finalArgs:
Record<string,unknown>
Defined in: packages/core/src/progressive.ts:213
#Interface: ProgressiveFieldEvent
Defined in: packages/core/src/progressive.ts:4
#Properties
#field
field:
string
Defined in: packages/core/src/progressive.ts:6
Top-level field name whose value just finished being streamed.
#offset
offset:
number
Defined in: packages/core/src/progressive.ts:12
Byte offset in the accumulated buffer where this field ended.
#raw
raw:
string
Defined in: packages/core/src/progressive.ts:10
Raw JSON text for that field.
#value
value:
unknown
Defined in: packages/core/src/progressive.ts:8
Parsed value (string / number / boolean / array / object / null).
#Interface: RetrievedDocument
Defined in: packages/core/src/types/retrieval.ts:4
#Properties
#content
content:
string
Defined in: packages/core/src/types/retrieval.ts:6
#id
id:
string
Defined in: packages/core/src/types/retrieval.ts:5
#metadata?
optionalmetadata?:Record<string,unknown>
Defined in: packages/core/src/types/retrieval.ts:9
#score?
optionalscore?:number
Defined in: packages/core/src/types/retrieval.ts:8
#source?
optionalsource?:string
Defined in: packages/core/src/types/retrieval.ts:7
#Interface: Retriever
Defined in: packages/core/src/types/retrieval.ts:17
#Properties
#retrieve
retrieve: (
request) =>MaybePromise<RetrievedDocument[]>
Defined in: packages/core/src/types/retrieval.ts:18
#Parameters
request
#Returns
MaybePromise<RetrievedDocument[]>
#Interface: RetrieverRequest
Defined in: packages/core/src/types/retrieval.ts:12
#Properties
#messages
messages:
Message[]
Defined in: packages/core/src/types/retrieval.ts:14
#query
query:
string
Defined in: packages/core/src/types/retrieval.ts:13
#Interface: SkillDefinition
Defined in: packages/core/src/types/skill.ts:4
#Properties
#delegates?
optionaldelegates?:string[]
Defined in: packages/core/src/types/skill.ts:10
#description
description:
string
Defined in: packages/core/src/types/skill.ts:6
#examples?
optionalexamples?:object[]
Defined in: packages/core/src/types/skill.ts:8
#input
input:
string
#output
output:
string
#metadata?
optionalmetadata?:Record<string,unknown>
Defined in: packages/core/src/types/skill.ts:12
#name
name:
string
Defined in: packages/core/src/types/skill.ts:5
#onActivate?
optionalonActivate?: () =>MaybePromise<{tools?:ToolDefinition<Record<string,unknown>>[]; }>
Defined in: packages/core/src/types/skill.ts:13
#Returns
MaybePromise<{ tools?: ToolDefinition<Record<string, unknown>>[]; }>
#systemPrompt
systemPrompt:
string
Defined in: packages/core/src/types/skill.ts:7
#temperature?
optionaltemperature?:number
Defined in: packages/core/src/types/skill.ts:11
#tools?
optionaltools?:string[]
Defined in: packages/core/src/types/skill.ts:9
#Interface: StreamChunk
Defined in: packages/core/src/types/stream.ts:16
#Properties
#content?
optionalcontent?:string
Defined in: packages/core/src/types/stream.ts:18
#metadata?
optionalmetadata?:Record<string,unknown>
Defined in: packages/core/src/types/stream.ts:21
#toolCall?
optionaltoolCall?:StreamToolCallPayload
Defined in: packages/core/src/types/stream.ts:19
#type
type:
"error"|"text"|"tool_call"|"tool_result"|"reasoning"|"usage"|"done"
Defined in: packages/core/src/types/stream.ts:17
#usage?
optionalusage?:TokenUsage
Defined in: packages/core/src/types/stream.ts:20
#Interface: StreamSource
Defined in: packages/core/src/types/stream.ts:24
#Properties
#abort
abort: () =>
void
Defined in: packages/core/src/types/stream.ts:26
#Returns
void
#stream
stream: () =>
AsyncIterableIterator<StreamChunk>
Defined in: packages/core/src/types/stream.ts:25
#Returns
AsyncIterableIterator<StreamChunk>
#Interface: StreamToolCallPayload
Defined in: packages/core/src/types/stream.ts:3
#Properties
#args
args:
string
Defined in: packages/core/src/types/stream.ts:6
#id
id:
string
Defined in: packages/core/src/types/stream.ts:4
#name
name:
string
Defined in: packages/core/src/types/stream.ts:5
#result?
optionalresult?:string
Defined in: packages/core/src/types/stream.ts:7
#Interface: TextPart
Defined in: packages/core/src/types/content.ts:9
Provider-neutral multi-modal content parts. A single Message.content
is a string (classic path); multi-modal messages populate parts
alongside — adapters that understand parts read them, the rest fall
back to content (which we keep as a text projection via
partsToText).
#Properties
#text
text:
string
Defined in: packages/core/src/types/content.ts:11
#type
type:
"text"
Defined in: packages/core/src/types/content.ts:10
#Interface: TokenCounter
Defined in: packages/core/src/types/token-counter.ts:33
Universal token counter contract.
Implementations range from zero-dep approximate counters (chars/4) to provider-specific tokenizers (e.g. tiktoken for OpenAI models).
#Example
const result = await counter.count(messages, { model: 'gpt-4o' })
console.log(`Estimated tokens: ${result.total}`)#Properties
#name
readonlyname:string
Defined in: packages/core/src/types/token-counter.ts:35
Human-readable name of the counter (e.g. "approximate", "tiktoken").
#Methods
#count()
count(
messages,options?):number|Promise<number>
Defined in: packages/core/src/types/token-counter.ts:41
Count (or estimate) the number of tokens for a list of messages. May be async to allow lazy-loading of tokenizer WASM modules.
#Parameters
messages
readonly Pick<Message, "role" | "content">[]
options?
#Returns
number | Promise<number>
#countDetailed()?
optionalcountDetailed(messages,options?):TokenCountResult|Promise<TokenCountResult>
Defined in: packages/core/src/types/token-counter.ts:47
Count with per-message breakdown.
Falls back to calling count once when not overridden.
#Parameters
messages
readonly Pick<Message, "role" | "content">[]
options?
#Returns
TokenCountResult | Promise<TokenCountResult>
#Interface: TokenCounterOptions
Defined in: packages/core/src/types/token-counter.ts:6
Options passed to a token counter implementation.
#Properties
#model?
optionalmodel?:string
Defined in: packages/core/src/types/token-counter.ts:8
Model identifier — used by provider-specific counters to pick the right tokenizer.
#Interface: TokenCountResult
Defined in: packages/core/src/types/token-counter.ts:14
Result returned by a token counter.
#Properties
#perMessage?
optionalperMessage?:number[]
Defined in: packages/core/src/types/token-counter.ts:18
Per-message breakdown (same order as input).
#total
total:
number
Defined in: packages/core/src/types/token-counter.ts:16
Total token count across all input messages.
#Interface: TokenUsage
Defined in: packages/core/src/types/stream.ts:10
#Properties
#completionTokens
completionTokens:
number
Defined in: packages/core/src/types/stream.ts:12
#promptTokens
promptTokens:
number
Defined in: packages/core/src/types/stream.ts:11
#totalTokens
totalTokens:
number
Defined in: packages/core/src/types/stream.ts:13
#Interface: ToolAuthorizationContext
Defined in: packages/core/src/types/tool.ts:151
#Extends
#Properties
#messages
messages:
Message[]
Defined in: packages/core/src/types/tool.ts:146
#Inherited from
ToolCallHandlerContext.messages
#phase
phase:
ToolAuthorizationPhase
Defined in: packages/core/src/types/tool.ts:151
#tool?
optionaltool?:ToolDefinition<Record<string,unknown>>
Defined in: packages/core/src/types/tool.ts:147
#Inherited from
#Interface: ToolAuthorizationDecision
Defined in: packages/core/src/types/tool.ts:152
#Properties
#allowed
allowed:
boolean
Defined in: packages/core/src/types/tool.ts:152
#reason?
optionalreason?:string
Defined in: packages/core/src/types/tool.ts:152
#Interface: ToolCall
Defined in: packages/core/src/types/tool.ts:7
#Properties
#args
args:
Record<string,unknown>
Defined in: packages/core/src/types/tool.ts:10
#error?
optionalerror?:string
Defined in: packages/core/src/types/tool.ts:12
#id
id:
string
Defined in: packages/core/src/types/tool.ts:8
#name
name:
string
Defined in: packages/core/src/types/tool.ts:9
#result?
optionalresult?:string
Defined in: packages/core/src/types/tool.ts:11
#status
status:
ToolCallStatus
Defined in: packages/core/src/types/tool.ts:13
#Interface: ToolCallHandlerContext
Defined in: packages/core/src/types/tool.ts:145
#Extended by
#Properties
#messages
messages:
Message[]
Defined in: packages/core/src/types/tool.ts:146
#tool?
optionaltool?:ToolDefinition<Record<string,unknown>>
Defined in: packages/core/src/types/tool.ts:147
#Interface: ToolDefinition<TArgs>
Defined in: packages/core/src/types/tool.ts:103
#Type Parameters
#TArgs
TArgs = Record<string, unknown>
#Properties
#category?
optionalcategory?:string
Defined in: packages/core/src/types/tool.ts:115
#description?
optionaldescription?:string
Defined in: packages/core/src/types/tool.ts:105
#dispose?
optionaldispose?: () =>MaybePromise<void>
Defined in: packages/core/src/types/tool.ts:113
#Returns
MaybePromise<void>
#execute?
optionalexecute?: (args,context) =>unknown
Defined in: packages/core/src/types/tool.ts:108
#Parameters
args
TArgs
context
#Returns
unknown
#init?
optionalinit?: () =>MaybePromise<void>
Defined in: packages/core/src/types/tool.ts:112
#Returns
MaybePromise<void>
#name
name:
string
Defined in: packages/core/src/types/tool.ts:104
#requiresConfirmation?
optionalrequiresConfirmation?:boolean
Defined in: packages/core/src/types/tool.ts:107
#schema?
optionalschema?:JSONSchema7
Defined in: packages/core/src/types/tool.ts:106
#tags?
optionaltags?:string[]
Defined in: packages/core/src/types/tool.ts:114
#Interface: ToolExecResult
Defined in: packages/core/src/agent-loop.ts:60
#Properties
#durationMs
durationMs:
number
Defined in: packages/core/src/agent-loop.ts:64
#error?
optionalerror?:string
Defined in: packages/core/src/agent-loop.ts:63
#result?
optionalresult?:string
Defined in: packages/core/src/agent-loop.ts:62
#status
status:
"complete"|"error"|"skipped"
Defined in: packages/core/src/agent-loop.ts:61
#Interface: ToolExecutionContext
Defined in: packages/core/src/types/tool.ts:16
#Properties
#call
call:
ToolCall
Defined in: packages/core/src/types/tool.ts:18
#messages
messages:
Message[]
Defined in: packages/core/src/types/tool.ts:17
#runId?
optionalrunId?:string
Defined in: packages/core/src/types/tool.ts:20
Stable parent run identifier when the caller can provide one.
#Interface: UseStreamOptions
Defined in: packages/core/src/types/stream.ts:29
#Properties
#onChunk?
optionalonChunk?: (chunk) =>void
Defined in: packages/core/src/types/stream.ts:30
#Parameters
chunk
#Returns
void
#onComplete?
optionalonComplete?: (text) =>void
Defined in: packages/core/src/types/stream.ts:31
#Parameters
text
string
#Returns
void
#onError?
optionalonError?: (error) =>void
Defined in: packages/core/src/types/stream.ts:32
#Parameters
error
Error
#Returns
void
#Interface: UseStreamReturn
Defined in: packages/core/src/types/stream.ts:35
#Properties
#data
data:
StreamChunk|null
Defined in: packages/core/src/types/stream.ts:36
#error
error:
Error|null
Defined in: packages/core/src/types/stream.ts:39
#status
status:
StreamStatus
Defined in: packages/core/src/types/stream.ts:38
#stop
stop: () =>
void
Defined in: packages/core/src/types/stream.ts:40
#Returns
void
#text
text:
string
Defined in: packages/core/src/types/stream.ts:37
#Interface: VectorDocument
Defined in: packages/core/src/types/memory.ts:17
#Properties
#content
content:
string
Defined in: packages/core/src/types/memory.ts:19
#embedding
embedding:
number[]
Defined in: packages/core/src/types/memory.ts:20
#id
id:
string
Defined in: packages/core/src/types/memory.ts:18
#metadata?
optionalmetadata?:Record<string,unknown>
Defined in: packages/core/src/types/memory.ts:21
#Interface: VectorFilterCompound
Defined in: packages/core/src/types/memory.ts:52
#Properties
#$and?
optional$and?:VectorFilter[]
Defined in: packages/core/src/types/memory.ts:53
#$or?
optional$or?:VectorFilter[]
Defined in: packages/core/src/types/memory.ts:54
#Interface: VectorMemory
Defined in: packages/core/src/types/memory.ts:68
#Properties
#delete?
optionaldelete?: (ids) =>MaybePromise<void>
Defined in: packages/core/src/types/memory.ts:76
#Parameters
ids
string[]
#Returns
MaybePromise<void>
#region?
optionalregion?:DataRegion
Defined in: packages/core/src/types/memory.ts:70
Data-residency region for this vector backend, when known.
#search
search: (
embedding,options?) =>MaybePromise<RetrievedDocument[]>
Defined in: packages/core/src/types/memory.ts:72
#Parameters
embedding
number[]
options?
#Returns
MaybePromise<RetrievedDocument[]>
#store
store: (
docs) =>MaybePromise<void>
Defined in: packages/core/src/types/memory.ts:71
#Parameters
docs
#Returns
MaybePromise<void>
#Interface: VectorSearchOptions
Defined in: packages/core/src/types/memory.ts:61
#Properties
#filter?
optionalfilter?:VectorFilter
Defined in: packages/core/src/types/memory.ts:65
Metadata filter applied to candidates before / during similarity search.
#threshold?
optionalthreshold?:number
Defined in: packages/core/src/types/memory.ts:63
#topK?
optionaltopK?:number
Defined in: packages/core/src/types/memory.ts:62
#Interface: VideoPart
Defined in: packages/core/src/types/content.ts:31
#Properties
#durationSec?
optionaldurationSec?:number
Defined in: packages/core/src/types/content.ts:35
#mimeType?
optionalmimeType?:string
Defined in: packages/core/src/types/content.ts:34
#source
source:
string
Defined in: packages/core/src/types/content.ts:33
#type
type:
"video"
Defined in: packages/core/src/types/content.ts:32
#Interface: VirtualizedMemoryOptions
Defined in: packages/core/src/virtualized-memory.ts:4
#Properties
#maxActive?
optionalmaxActive?:number
Defined in: packages/core/src/virtualized-memory.ts:6
Maximum number of recent messages to keep "hot" (always loaded). Default 50.
#maxRetrieved?
optionalmaxRetrieved?:number
Defined in: packages/core/src/virtualized-memory.ts:18
Maximum retrieved cold messages per load. Default 10.
#retriever?
optionalretriever?: (input) =>Message[] |Promise<Message[]>
Defined in: packages/core/src/virtualized-memory.ts:12
Optional retriever used to surface relevant "cold" messages on
each load(). Given the hot window, returns up to maxRetrieved
older messages to splice back in (in chronological order).
#Parameters
input
cold
Message[]
hot
Message[]
maxRetrieved
number
#Returns
Message[] | Promise<Message[]>