/** * The "organize this figure with AI" prompt builder: turns one figure card * into one self-contained user message for the current session's agent. Pure * string assembly — the send itself lives in the plugin apply (sessions * binding, same channel as the compile-fix flow), the button in the figures * view. The agent inspects the image (or infers from the paper context around * its \\includegraphics), then persists a descriptive name and caption through * the `figure_organize` tool, so the panel's next listFigures refresh shows * them. * @module dsh-client-ui-mimir/client/figure-ai */ import type { FigureEntry } from 'dsh-mimir/types'; /** Everything the prompt needs that the figure entry alone does not carry. */ export interface FigureOrganizeRequest { /** The card's primary entry (a PNG/SVG pair shares one stem and caption). */ readonly entry: FigureEntry; /** Sibling format extensions of the same stem (e.g. `['png', 'svg']`). */ readonly siblings: readonly string[]; /** The owning project, for the tool call. */ readonly projectId: string; /** The project's title, for context. */ readonly projectTitle: string; /** The project's paper directory relative to the workspace root, when overridden. */ readonly dir: string | undefined; } /** * Assemble the user message sent to the current session's agent for one * "organize with AI" click. English regardless of the UI locale: the reader is * the agent, not the user. The message names the file, its current caption, * and its format siblings; asks the agent to look at the image (or the paper * context referencing it), then calls `figure_organize` — the tool renames the * file (rewriting .tex references) and sets the caption, and the panel * repaints from the wiki, so the tool call IS the result delivery. Every * same-stem sibling is renamed along so the pair stays paired. * @param request - the card's entry, its siblings, and the owning project. * @returns the prompt text, ready to send verbatim. */ export declare function buildFigureOrganizePrompt(request: FigureOrganizeRequest): string; //# sourceMappingURL=figure-ai.d.ts.map