aiwg
Version:
Deployment tool and support utility for AI context. Copies agents, skills, commands, rules, and behaviors into the paths each AI platform reads (Claude Code, Codex, Copilot, Cursor, Warp, OpenClaw, and 6 more) so one source of truth works across 10 platfo
77 lines • 2.12 kB
TypeScript
/**
* Discovery service for unified research paper search
*
* @module research/services/discovery
*/
import { ResearchPaper } from '../types.js';
import { SemanticScholarClient } from '../clients/semantic-scholar.js';
import { CrossRefClient } from '../clients/crossref.js';
import { ArxivClient } from '../clients/arxiv.js';
import { CacheManager } from '../cache/manager.js';
import { SearchOptionsExtended, GapReport } from './types.js';
/**
* Configuration for discovery service
*/
export interface DiscoveryConfig {
/** Semantic Scholar client */
semanticScholar?: SemanticScholarClient;
/** CrossRef client */
crossref?: CrossRefClient;
/** arXiv client */
arxiv?: ArxivClient;
/** Cache manager */
cache?: CacheManager;
/** Corpus path for gap analysis */
corpusPath?: string;
}
/**
* Discovery service for unified search across API clients
*/
export declare class DiscoveryService {
private semanticScholar;
private crossref;
private arxiv;
private cache;
constructor(config?: DiscoveryConfig);
/**
* Search across all configured API clients
*/
search(query: string, options?: SearchOptionsExtended): Promise<ResearchPaper[]>;
/**
* Analyze gaps in research corpus
*/
analyzeGaps(_corpusRefIds: string[]): Promise<GapReport>;
/**
* Follow citation network starting from a paper
*/
followCitations(paperId: string, depth?: number): Promise<ResearchPaper[]>;
/**
* Search Semantic Scholar
*/
private searchSemanticScholar;
/**
* Search CrossRef
*/
private searchCrossRef;
/**
* Search arXiv
*/
private searchArxiv;
/**
* Deduplicate papers by DOI, arXiv ID, or title similarity
*/
private deduplicatePapers;
/**
* Rank papers by relevance to query
*/
private rankByRelevance;
/**
* Calculate relevance score (0-1) for a paper
*/
private calculateRelevance;
/**
* Recursively follow citations
*/
private followCitationsRecursive;
}
//# sourceMappingURL=discovery.d.ts.map