Optional sessionOptional timestampOptional userOptional taskOptional metadataOptional options?: Partial<ModelCompletionOptions & { Optional userOptional userOptional explicitOptional providerThe end-user id this turn's model calls send to the provider (OpenAI's
user / safety_identifier). Unset, the GMI sends the turn's userId;
null sends none. Pass an opaque or hashed id: the provider receives it.
Optional memoryThe ids the turn's cognitive memory files and recalls traces under, in
place of the turn's userId and sessionId (the session also stands in
for the conversation when no conversationId is given). Tools, the user
context and the reasoning trace keep the turn's own ids. Unset, memory
uses the turn's ids.
Optional noTrue on a turn that names no user: a gmi() session opened with no user id, generate() and stream() run as
their own session id, which is no user's. A learning layer reads such a turn's user as null.
Optional agencyThe launched team this turn's GMI sits in (launch_agency): the launch, the seat's role and the team's level.
The GMI hands each tool call of the turn a frozen copy in sessionData.agencyLaunch, where a launch from that
call reads its parent; a tool continuation that names none keeps the frame of the turn it continues.
Optional toolAsked before each call of this turn's tool round runs (see GMIToolCallGate). A tool continuation that names none asks the gate of the turn it continues.
Optional conversationOptional conversation history snapshot to use for prompt construction. When provided, the GMI should prefer this over any internal ephemeral history so persona switches share conversation memory.
Optional rollingOptional rolling summary block (text + structured metadata) maintained by ConversationContext and injected into prompts for long conversations.
Optional promptOptional prompt-profile selection for this turn (e.g., concise/deep_dive/planner/reviewer).
Optional executionOptional planner-selected execution policy for this turn.
Optional capabilityOptional capability discovery payload for this turn.
result is intentionally any to avoid hard-coupling the GMI contract to
a specific discovery-engine type.
Represents a single turn of input to the GMI.
Interface
GMITurnInput