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
82 lines • 2.08 kB
TypeScript
/**
* Acquisition service for downloading and validating research papers
*
* @module research/services/acquisition
*/
import { ResearchPaper } from '../types.js';
import { UnpaywallClient } from '../clients/unpaywall.js';
import { ArxivClient } from '../clients/arxiv.js';
import { AcquiredSource, FAIRScore } from './types.js';
/**
* Configuration for acquisition service
*/
export interface AcquisitionConfig {
/** Unpaywall client */
unpaywall?: UnpaywallClient;
/** arXiv client */
arxiv?: ArxivClient;
/** Download directory */
downloadDir?: string;
/** Timeout for downloads in ms */
downloadTimeout?: number;
/** Email for Unpaywall API */
email?: string;
}
/**
* Acquisition service for downloading research papers
*/
export declare class AcquisitionService {
private unpaywall;
private downloadDir;
private downloadTimeout;
constructor(config?: AcquisitionConfig);
/**
* Acquire a paper (download + metadata extraction)
*/
acquire(paper: ResearchPaper): Promise<AcquiredSource>;
/**
* Compute SHA-256 checksum of a file
*/
computeChecksum(filePath: string): Promise<string>;
/**
* Assign next REF-XXX identifier
*/
assignRefId(existingRefs?: string[]): Promise<string>;
/**
* Validate FAIR compliance
*/
validateFAIR(source: AcquiredSource): Promise<FAIRScore>;
/**
* Assess Findable dimension
*/
private assessFindable;
/**
* Assess Accessible dimension
*/
private assessAccessible;
/**
* Assess Interoperable dimension
*/
private assessInteroperable;
/**
* Assess Reusable dimension
*/
private assessReusable;
/**
* Download file from URL
*/
private downloadFile;
/**
* Generate filename for paper
*/
private generateFilename;
/**
* Scan existing REF-XXX identifiers
*/
private scanExistingRefs;
/**
* Ensure directory exists
*/
private ensureDir;
}
//# sourceMappingURL=acquisition.d.ts.map