/** * The one tool that turns a turn around to face the human. * * It used to be built inside `buildCoordinatorTools`, which needs a gateway, * a scheduler and a roster the question has no use for — so a host that * wanted only this tool (an interactive terminal with no delegation) had to * assemble the whole coordinator set and fish the question out of it, and * had to invent a turn id at build time because the builder demanded one. * This builder needs the park handler and nothing else; the turn id is read * from the calling `ToolContext` unless the host pins one. */ import type { PendingAnswers, QuestionParkRecorder } from '../../runtime/query/question-park.js'; import type { ResumeHandler } from '../../types/hitl/index.js'; import type { SessionId, TurnId } from '../../types/ids/index.js'; import type { ToolDefinition } from '../../types/tool/index.js'; /** Internal identity shared by the builder and the agent authority boundary. */ export declare const ASK_USER_QUESTION_TOOL_NAME: "ask_user_question"; export interface AskUserQuestionToolOptions { /** Where the question goes; the turn parks on it until an answer comes back. */ resumeHandler: ResumeHandler; /** * The session and turn the park is recorded against. Omit them and the * tool uses those of the call that asked, which is right in every case but * a host that answers questions for a turn other than the one it drives. */ sessionId?: SessionId; turnId?: TurnId; /** See the same field on `CoordinatorToolsOptions`. */ questionParks?: QuestionParkRecorder; /** See the same field on `CoordinatorToolsOptions`. */ pendingAnswers?: PendingAnswers; } export declare function buildAskUserQuestionTool(config: AskUserQuestionToolOptions): ToolDefinition; //# sourceMappingURL=ask-user-question.d.ts.map