/** * @license * Copyright 2026 Google LLC * SPDX-License-Identifier: Apache-2.0 */ import type { GeminiClient } from '../core/client.js'; import type { MessageBus } from '../confirmation-bus/message-bus.js'; import type { ToolRegistry } from '../tools/tool-registry.js'; /** * AgentLoopContext represents the execution-scoped view of the world for a single * agent turn or sub-agent loop. */ export interface AgentLoopContext { /** The unique ID for the current user turn or agent thought loop. */ readonly promptId: string; /** The registry of tools available to the agent in this context. */ readonly toolRegistry: ToolRegistry; /** The bus for user confirmations and messages in this context. */ readonly messageBus: MessageBus; /** The client used to communicate with the LLM in this context. */ readonly geminiClient: GeminiClient; }