/** * The papers view: an arXiv search bar on top (results import into the wiki * with one click, auto-linked to the selected project), then the literature * library as a card grid — title (linked to the arXiv page), authors, added * date, the AI relevance chip of the selected project's verdict, a * three-line-clamped summary the reader can expand, tag pills and * linked-project badges, the agent's working notes, a PDF section (fetch the * arXiv PDF into the workspace, then read it inline or fullscreen on the * `/research/paper-pdf/` route, with a reading-notes side panel appending * timestamped entries into the record's notes), and edit/delete actions. The * edit action opens an inline editor (tags, project links, notes); a filter * bar above the grid narrows the library by one tag and/or the currently * selected project (the project filter defaults ON while a project is * selected, so each project's literature view shows its own papers); each * card can be appended to the selected project's `references.bib` in one * click. Toolbar buttons hand the currently filtered selection to the current * session's agent: "draft the related work section" and "score relevance" * (the agent's `wiki_note set_paper` verdicts land in the cards' relevance * chips, picked up by a quiet poll while a scoring request is in flight). * @module dsh-client-ui-mimir/client/PapersView */ import type { ArxivEntry, ResearchProjectView } from 'dsh-mimir/types'; import type { ResearchArxivSearchView, ResearchFailureView, ResearchImportCounts, ResearchPapersView, ResearchWebSearchView, ResearchDigdigConfigView, ResearchSubscriptionsView, ResearchZoteroSearchView, ResearchZoteroView } from './controller.ts'; import { type ResearchT } from './view-common.ts'; /** Fields the inline editor saves back through `updatePaper`. */ interface PaperPatch { readonly tags?: string[]; readonly projectIds?: string[]; readonly notes?: string; } /** * @param props - the literature view, the arXiv search slice, the project * list (for link checkboxes and badges), the selected project (the * current-project filter), the load/search/import/update/remove verbs, and * copy. * @returns the search bar and results over the filterable library grid. */ export declare function PapersView({ papers, arxivSearch, webSearch, digdigConfig, arxivSubscriptions, projects, selectedProjectId, ensurePapers, searchArxiv, searchWeb, getDigdigConfig, saveDigdigConfig, saveArxivSubscription, deleteArxivSubscription, checkArxivSubscriptions, importPaper, updatePaper, removePaper, importPapersToBib, fetchPaperPdf, zotero, zoteroSearch, recheckZotero, searchZotero, importZoteroItem, exportZoteroCollectionToBib, refreshPapers, requestRelatedWork, requestPaperScore, t, }: { readonly papers: ResearchPapersView; readonly arxivSearch: ResearchArxivSearchView | null; readonly webSearch: ResearchWebSearchView | null; readonly digdigConfig: ResearchDigdigConfigView; readonly arxivSubscriptions: ResearchSubscriptionsView; readonly projects: readonly ResearchProjectView[]; readonly selectedProjectId: string | null; readonly ensurePapers: () => void; readonly saveArxivSubscription: (query: string) => Promise; readonly deleteArxivSubscription: (id: string) => Promise; readonly checkArxivSubscriptions: () => Promise; readonly searchArxiv: (query: string) => void; readonly searchWeb: (query: string) => void; readonly getDigdigConfig: () => void; readonly saveDigdigConfig: (input: { baseUrl?: string; defaultEngine?: string; allowedEngines?: readonly string[]; defaultLimit?: number; defaultFormat?: 'md' | 'json'; useProxy?: boolean; proxyUrl?: string; timeout?: number; ollamaApiKey?: string; redundancyThreshold?: number; redundancyBigramThreshold?: number; }) => Promise; readonly importPaper: (entry: ArxivEntry, projectId?: string) => Promise; readonly updatePaper: (arxivId: string, patch: PaperPatch) => Promise; readonly removePaper: (arxivId: string) => Promise; readonly importPapersToBib: (projectId: string, arxivIds: string[]) => Promise; readonly fetchPaperPdf: (arxivId: string) => Promise; readonly zotero: ResearchZoteroView; readonly zoteroSearch: ResearchZoteroSearchView | null; readonly recheckZotero: () => void; readonly searchZotero: (query: string) => void; readonly importZoteroItem: (key: string, projectId?: string) => Promise; readonly exportZoteroCollectionToBib: (projectId: string, collectionKey: string) => Promise; readonly requestRelatedWork: (prompt: string) => Promise; /** Re-fetch the literature list without a loading flash (the scoring poll). */ readonly refreshPapers: () => void; /** Hand one assembled relevance-scoring prompt to the current session's agent. */ readonly requestPaperScore: (prompt: string) => Promise; readonly t: ResearchT; }): import("react").JSX.Element; export {}; //# sourceMappingURL=PapersView.d.ts.map