/** * @license * Copyright 2026 Google LLC * SPDX-License-Identifier: Apache-2.0 */ /** * Agent definition / info shapes (WIRE). */ import type { McpServerConfigForProcessTransport } from './mcp.js'; import type { EffortLevel } from './common.js'; import type { PermissionMode } from './permissions.js'; export type AgentMcpServerSpec = string | Record; export type AgentMemoryScope = 'user' | 'project' | 'local'; export type AgentDefinition = { description: string; tools?: string[]; disallowedTools?: string[]; prompt: string; model?: string; mcpServers?: AgentMcpServerSpec[]; skills?: string[]; initialPrompt?: string; maxTurns?: number; effort?: EffortLevel; permissionMode?: PermissionMode; /** Run this agent asynchronously whenever it is invoked. */ background?: boolean; /** Persistent memory scope loaded for this agent. */ memory?: AgentMemoryScope; /** Isolate this agent in a temporary git worktree. */ isolation?: 'worktree'; }; export type AgentInfo = { name: string; description: string; model?: string; };