Interface: TurnContext
Defined in: src/lib/contracts/turn_runner_context.ts:330
The validated, strongly-typed context object threaded through every middleware step in a single agent turn.
Remarks
Constructed from a RawTurnContext by @nhtio/adk!TurnRunner.run. Middleware functions receive this object and use it to read and share state across pipeline steps.
Properties
| Property | Modifier | Type | Description | Defined in |
|---|---|---|---|---|
abort | readonly | (reason?: unknown) => void | Aborts the turn's AbortController with the supplied reason. Middleware should call this when refusing the turn — the runner reads aborted between every stage and short-circuits cleanly: turnEnd still fires, no error event is emitted, and during dispatch dispatchEnd.status === 'aborted' carries the operational signal. | src/lib/contracts/turn_runner_context.ts:673 |
aborted | readonly | boolean | true when the turn's AbortController signal has fired. | src/lib/contracts/turn_runner_context.ts:664 |
abortSignal | readonly | AbortSignal | The AbortSignal from the turn's AbortController. | src/lib/contracts/turn_runner_context.ts:666 |
deleteMemory | readonly | (id: string) => void | Promise<void> | Removes a memory from the persistence layer by ID. | src/lib/contracts/turn_runner_context.ts:715 |
deleteMessage | readonly | (id: string) => void | Promise<void> | Removes a message from the persistence layer by ID. | src/lib/contracts/turn_runner_context.ts:729 |
deleteRetrievable | readonly | (id: string) => void | Promise<void> | Removes a retrievable record from the persistence layer by ID. | src/lib/contracts/turn_runner_context.ts:723 |
deleteStandingInstruction | readonly | (v: string | Tokenizable) => void | Promise<void> | Removes a standing instruction from the persistence layer. | src/lib/contracts/turn_runner_context.ts:709 |
deleteThought | readonly | (id: string) => void | Promise<void> | Removes a thought from the persistence layer by ID. | src/lib/contracts/turn_runner_context.ts:735 |
deleteToolCall | readonly | (id: string) => void | Promise<void> | Removes a tool call from the persistence layer by ID. | src/lib/contracts/turn_runner_context.ts:741 |
emitMessage | readonly | EmitMessageFn | Emits a message event on the runner; may be called at any point during the turn. | src/lib/contracts/turn_runner_context.ts:761 |
emitThought | readonly | EmitThoughtFn | Emits a thought event on the runner; may be called at any point during the turn. | src/lib/contracts/turn_runner_context.ts:763 |
emitToolCall | readonly | EmitToolCallFn | Emits a toolCall event on the runner; may be called at any point during the turn. | src/lib/contracts/turn_runner_context.ts:765 |
emitToolExecutionEnd | readonly | EmitToolExecutionEndFn | Emits a toolExecutionEnd event on the observability bus; forwarded from DispatchContext by DispatchRunner when a tool finishes executing inside a dispatch. | src/lib/contracts/turn_runner_context.ts:769 |
emitToolExecutionStart | readonly | EmitToolExecutionStartFn | Emits a toolExecutionStart event on the observability bus; forwarded from DispatchContext by DispatchRunner when a tool is invoked inside a dispatch. | src/lib/contracts/turn_runner_context.ts:767 |
fetchMemories | readonly | () => | Memory[] | Promise<Memory[]> | Fetches memories relevant to this turn; delegates to the callback supplied at construction. | src/lib/contracts/turn_runner_context.ts:691 |
fetchMessages | readonly | () => | Message[] | Promise<Message[]> | Fetches conversation messages relevant to this turn; delegates to the callback supplied at construction. | src/lib/contracts/turn_runner_context.ts:693 |
fetchRetrievables | readonly | () => | Retrievable[] | Promise<Retrievable[]> | Fetches retrievable records relevant to this turn; delegates to the callback supplied at construction. | src/lib/contracts/turn_runner_context.ts:717 |
fetchThoughts | readonly | () => | Thought[] | Promise<Thought[]> | Fetches thought traces relevant to this turn; delegates to the callback supplied at construction. | src/lib/contracts/turn_runner_context.ts:695 |
fetchToolCalls | readonly | () => | ToolCall[] | Promise<ToolCall[]> | Fetches tool call records relevant to this turn; delegates to the callback supplied at construction. | src/lib/contracts/turn_runner_context.ts:697 |
fetchTools | readonly | () => | Tool<SpooledArtifact>[] | Promise<Tool<SpooledArtifact>[]> | Fetches tools available for this turn; delegates to the callback supplied at construction. | src/lib/contracts/turn_runner_context.ts:699 |
id | readonly | string | Unique identifier for this turn, generated as a UUIDv6 at construction time. | src/lib/contracts/turn_runner_context.ts:662 |
mutateMemory | readonly | (v: Memory) => void | Promise<void> | Updates an existing memory in the persistence layer. | src/lib/contracts/turn_runner_context.ts:713 |
mutateMessage | readonly | (v: Message) => void | Promise<void> | Updates an existing message in the persistence layer. | src/lib/contracts/turn_runner_context.ts:727 |
mutateRetrievable | readonly | (v: Retrievable) => void | Promise<void> | Updates an existing retrievable record in the persistence layer. | src/lib/contracts/turn_runner_context.ts:721 |
mutateStandingInstruction | readonly | (v: string | Tokenizable) => void | Promise<void> | Updates an existing standing instruction in the persistence layer. | src/lib/contracts/turn_runner_context.ts:707 |
mutateThought | readonly | (v: Thought) => void | Promise<void> | Updates an existing thought in the persistence layer. | src/lib/contracts/turn_runner_context.ts:733 |
mutateToolCall | readonly | (v: ToolCall) => void | Promise<void> | Updates an existing tool call in the persistence layer. | src/lib/contracts/turn_runner_context.ts:739 |
refreshStandingInstructions | readonly | () => | (string | Tokenizable)[] | Promise<(string | Tokenizable)[]> | Refreshes and returns the standing instructions; delegates to the callback supplied at construction. | src/lib/contracts/turn_runner_context.ts:701 |
standingInstructions | readonly | Set<Tokenizable> | Standing instructions applied to every turn, in insertion order. | src/lib/contracts/turn_runner_context.ts:679 |
stash | readonly | Registry | Arbitrary key-value store that middleware can read and write across pipeline steps. | src/lib/contracts/turn_runner_context.ts:675 |
storeMediaBytes | readonly | (id: string, bytes: ConduitBytes) => | MediaReader | Promise<MediaReader> | Persists tool-generated media bytes into consumer storage and returns a @nhtio/adk!MediaReader. Low-level conduit — returns a value, touches no turn state; build a @nhtio/adk!Media from the reader and persist the owning primitive separately. | src/lib/contracts/turn_runner_context.ts:747 |
storeMemory | readonly | (v: Memory) => void | Promise<void> | Stores a new memory in the persistence layer. | src/lib/contracts/turn_runner_context.ts:711 |
storeMessage | readonly | (v: Message) => void | Promise<void> | Stores a new message in the persistence layer. | src/lib/contracts/turn_runner_context.ts:725 |
storeRetrievable | readonly | (v: Retrievable) => void | Promise<void> | Stores a new retrievable record in the persistence layer. | src/lib/contracts/turn_runner_context.ts:719 |
storeRetrievableBytes | readonly | (id: string, bytes: ConduitBytes) => | SpoolReader | Promise<SpoolReader> | Persists extracted retrievable text bytes into consumer storage and returns a @nhtio/adk!SpoolReader. Wrap it in a @nhtio/adk!SpooledArtifact for Retrievable.content and persist the record via TurnContext.storeRetrievable separately. | src/lib/contracts/turn_runner_context.ts:756 |
storeStandingInstruction | readonly | (v: string | Tokenizable) => void | Promise<void> | Stores a new standing instruction in the persistence layer. | src/lib/contracts/turn_runner_context.ts:705 |
storeThought | readonly | (v: Thought) => void | Promise<void> | Stores a new thought in the persistence layer. | src/lib/contracts/turn_runner_context.ts:731 |
storeToolCall | readonly | (v: ToolCall) => void | Promise<void> | Stores a new tool call in the persistence layer. | src/lib/contracts/turn_runner_context.ts:737 |
systemPrompt | readonly | Tokenizable | The system prompt guiding the agent's behaviour for this turn. | src/lib/contracts/turn_runner_context.ts:677 |
tools | readonly | ToolRegistry | Turn-scoped tool registry constructed from the runner's baseline tools; middleware may trim or extend it. | src/lib/contracts/turn_runner_context.ts:773 |
turnMemories | readonly | Set<Memory> | Memories loaded for this turn; populated by middleware after calling fetchMemories(). | src/lib/contracts/turn_runner_context.ts:681 |
turnMessages | readonly | Set<Message> | Conversation messages loaded for this turn; populated by middleware after calling fetchMessages(). | src/lib/contracts/turn_runner_context.ts:685 |
turnRetrievables | readonly | Set<Retrievable> | Retrievable records loaded for this turn; populated by middleware after calling fetchRetrievables(). | src/lib/contracts/turn_runner_context.ts:683 |
turnThoughts | readonly | Set<Thought> | Thought traces loaded for this turn; populated by middleware after calling fetchThoughts(). | src/lib/contracts/turn_runner_context.ts:687 |
turnToolCalls | readonly | Set<ToolCall> | Tool call records loaded for this turn; populated by middleware after calling fetchToolCalls(). | src/lib/contracts/turn_runner_context.ts:689 |
waitFor | readonly | OpenGateFn | Opens a turn gate and suspends until it resolves, rejects, times out, or is aborted. | src/lib/contracts/turn_runner_context.ts:771 |