import { z } from 'zod/v4'; import type { ToolsInput } from '../agent/types.js'; import type { MastraLanguageModel } from '../llm/model/shared.types.js'; import type { HarnessSubagent } from './types.js'; /** * Built-in harness tool: ask the user a question and wait for their response. * Supports single-select options and free-text input. * The tool pauses execution while the UI shows the dialog. */ export declare const askUserTool: import("../tools").Tool<{ question: string; options?: { label: string; description?: string | undefined; }[] | undefined; }, unknown, unknown, unknown, import("../tools").ToolExecutionContext, "ask_user", unknown>; /** * Built-in harness tool: submit a plan for user review. * The plan renders in the UI with approve/reject options. * On approval, the harness switches to the default mode. */ export declare const submitPlanTool: import("../tools").Tool<{ plan: string; title?: string | undefined; }, unknown, unknown, unknown, import("../tools").ToolExecutionContext, "submit_plan", unknown>; declare const taskItemSchema: z.ZodObject<{ content: z.ZodString; status: z.ZodEnum<{ pending: "pending"; completed: "completed"; in_progress: "in_progress"; }>; activeForm: z.ZodString; }, z.core.$strip>; export type TaskItem = z.infer; /** * Built-in harness tool: manage a structured task list for the coding session. * Full-replacement semantics: each call replaces the entire task list. */ export declare const taskWriteTool: import("../tools").Tool<{ tasks: { content: string; status: "pending" | "completed" | "in_progress"; activeForm: string; }[]; }, unknown, unknown, unknown, import("../tools").ToolExecutionContext, "task_write", unknown>; /** * Built-in harness tool: check the completion status of the current task list. * Helps the agent determine if all tasks are completed before ending work. */ export declare const taskCheckTool: import("../tools").Tool, unknown, unknown, unknown, import("../tools").ToolExecutionContext, "task_check", unknown>; export interface CreateSubagentToolOptions { subagents: HarnessSubagent[]; resolveModel: (modelId: string) => MastraLanguageModel; /** Resolved harness tools (already evaluated from DynamicArgument) */ harnessTools?: ToolsInput; /** Fallback model ID when subagent definition has no defaultModelId */ fallbackModelId?: string; } /** * Creates a `subagent` tool from registered subagent definitions. * The tool spawns a fresh Agent per invocation with constrained tools, * streams the response, and forwards events to the harness. */ export declare function createSubagentTool(opts: CreateSubagentToolOptions): import("../tools").Tool<{ agentType: string; task: string; modelId?: string | undefined; }, unknown, unknown, unknown, import("../tools").ToolExecutionContext, "subagent", unknown>; /** * Parse subagent metadata from a tool result string. * Returns the metadata and the cleaned result text (without the tag). */ export declare function parseSubagentMeta(content: string): { text: string; modelId?: string; durationMs?: number; toolCalls?: Array<{ name: string; isError: boolean; }>; }; export {}; //# sourceMappingURL=tools.d.ts.map