export interface PromptArg { name: string; description: string; required: boolean; } export interface PromptMessage { role: 'user'; content: { type: 'text'; text: string }; } export interface PromptRow { name: string; /** The doors that offer this row — a claim about where its `tools` are registered. */ doors: readonly string[]; title: string; description: string; args: readonly PromptArg[]; /** The tools this row's instruction tells the agent to call. */ tools: readonly string[]; /** The input parameter names its instruction names, in backticks. */ fields: readonly string[]; text(args: Record): string; } export interface PromptListEntry { name: string; title: string; description: string; arguments: PromptArg[]; } export const PROMPTS: readonly PromptRow[]; export function promptsForDoor(door: string): PromptRow[]; export function promptFor(door: string, name: string | null | undefined): PromptRow | null; export function promptEntries(door: string): PromptListEntry[]; export function assertPromptArgs(row: PromptRow, args: Record | undefined): void; export function promptMessages(row: PromptRow, args: Record): PromptMessage[];