@curvenote/cli
Version:
CLI Client library for Curvenote
33 lines • 1.33 kB
TypeScript
import type { Contributor } from 'myst-frontmatter';
import type { ISession } from '../../session/types.js';
/**
* Extract and normalize ORCID ID from a string (handles URLs like https://orcid.org/0000-0002-7859-8394)
*/
export declare function extractORCID(input: string): string;
/**
* Validate ORCID format (xxxx-xxxx-xxxx-xxxx)
*/
export declare function validateORCID(orcidStr: string): boolean;
/**
* Detect if a string is an ORCID ID
*/
export declare function isORCID(input: string): boolean;
/**
* Detect if a string is a valid GitHub username
* GitHub usernames: 1-39 chars, alphanumeric or hyphens, cannot start/end with hyphen
*/
export declare function isGitHubUsername(input: string): boolean;
/**
* Fetch author information from ORCID Public API
*/
export declare function fetchORCIDInfo(session: ISession, orcidId: string): Promise<Contributor | null>;
/**
* Fetch author information from GitHub API and profile page
*/
export declare function fetchGitHubInfo(session: ISession, username: string): Promise<Contributor | null>;
/**
* Unified author lookup: automatically detects if input is ORCID or GitHub username
* and fetches the appropriate data
*/
export declare function lookupAuthor(session: ISession, identifier: string): Promise<Contributor | null>;
//# sourceMappingURL=peopleLookup.d.ts.map