/** * The "draft related work" prompt builder: turns the filtered literature * selection 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 * papers view. The prompt names every paper with its citation key (the same * key the bibliography append writes), so the agent can \cite without * guessing, and asks for the LaTeX section plus a latex_compile verify loop. * @module dsh-client-ui-mimir/client/related-work */ import type { PaperRecord } from 'dsh-mimir/types'; /** Everything the prompt needs that the paper records alone do not carry. */ export interface RelatedWorkRequest { /** The papers the draft must cover (the view's current filtered selection). */ readonly papers: readonly PaperRecord[]; /** The target project's title, for the prompt's context line. */ readonly projectTitle: string; /** The project's paper directory relative to the workspace root, when overridden. */ readonly dir: string | undefined; } /** * BibTeX-legal citation key of one arXiv id: dots and `v` separators out. * Mirrors the host's `bibKeyOf` so the prompt names the exact key the * bibliography append would write. * @param arxivId - the bare arXiv id (version suffix allowed). * @returns the citation key. */ export declare function citationKeyOf(arxivId: string): string; /** * Assemble the user message sent to the current session's agent for one * "draft related work" click. English regardless of the UI locale: the reader * is the agent, not the user. The message lists every selected paper with its * citation key, title, authors, abstract, and working notes (notes only when * present), then asks for a themed `\section{Related Work}` inserted into the * paper, `\cite` coverage of exactly the listed keys, missing bib entries * backfilled, and a `latex_compile` verify loop. * @param request - the selected papers, the project title, and the paper directory. * @returns the prompt text, ready to send verbatim. */ export declare function buildRelatedWorkPrompt(request: RelatedWorkRequest): string; //# sourceMappingURL=related-work.d.ts.map