Skip to main content

Interface: GMITurnInput

Defined in: packages/agentos/src/cognition/substrate/IGMI.ts:325

Represents a single turn of input to the GMI.

Interface​

GMITurnInput

Properties​

content​

content: string | Record<string, any> | ToolCallResult | ToolCallResult[] | Record<string, any>[]

Defined in: packages/agentos/src/cognition/substrate/IGMI.ts:330


interactionId​

interactionId: string

Defined in: packages/agentos/src/cognition/substrate/IGMI.ts:326


metadata?​

optional metadata: Record<string, any> & object

Defined in: packages/agentos/src/cognition/substrate/IGMI.ts:334

Type Declaration​

agencyLaunch?​

optional agencyLaunch: AgencyLaunchFrame

The 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.

capabilityDiscovery?​

optional capabilityDiscovery: { fallbackReason?: string; kind?: string; promptContext?: string; query?: string; result?: any; selectedToolNames?: string[]; } | null

Optional capability discovery payload for this turn. result is intentionally any to avoid hard-coupling the GMI contract to a specific discovery-engine type.

conversationHistoryForPrompt?​

optional conversationHistoryForPrompt: any[]

Optional 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.

executionPolicy?​

optional executionPolicy: { plannerVersion?: string; toolFailureMode?: "fail_open" | "fail_closed"; toolSelectionMode?: "all" | "discovered"; } | null

Optional planner-selected execution policy for this turn.

explicitPersonaSwitchId?​

optional explicitPersonaSwitchId: string

memoryScope?​

optional memoryScope: { sessionId?: string; userId?: string; } | null

The 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.

noTurnUser?​

optional noTurnUser: boolean

True 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.

options?​

optional options: Partial<ModelCompletionOptions & object>

promptProfile?​

optional promptProfile: { id: string; reason?: string; systemInstructions?: string; } | null

Optional prompt-profile selection for this turn (e.g., concise/deep_dive/planner/reviewer).

providerUserId?​

optional providerUserId: string | null

The 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.

rollingSummary?​

optional rollingSummary: { json?: any; text?: string; } | null

Optional rolling summary block (text + structured metadata) maintained by ConversationContext and injected into prompts for long conversations.

toolCallGate?​

optional toolCallGate: GMIToolCallGate

Asked 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.

userApiKeys?​

optional userApiKeys: Record<string, string>

userFeedback?​

optional userFeedback: any


sessionId?​

optional sessionId: string

Defined in: packages/agentos/src/cognition/substrate/IGMI.ts:328


taskContextOverride?​

optional taskContextOverride: Partial<TaskContext>

Defined in: packages/agentos/src/cognition/substrate/IGMI.ts:333


timestamp?​

optional timestamp: Date

Defined in: packages/agentos/src/cognition/substrate/IGMI.ts:331


type​

type: GMIInteractionType

Defined in: packages/agentos/src/cognition/substrate/IGMI.ts:329


userContextOverride?​

optional userContextOverride: Partial<UserContext>

Defined in: packages/agentos/src/cognition/substrate/IGMI.ts:332


userId​

userId: string

Defined in: packages/agentos/src/cognition/substrate/IGMI.ts:327