JavaScript/TypeScript SDK for the VitaeFlow open standard — validate, embed, and extract structured resumes in PDF files.
Works in Node.js and the browser.
npm install @vitaeflow/sdkimport { validateResume } from '@vitaeflow/sdk';
const result = validateResume(resume, { mode: 'strict' });
if (result.valid) {
console.log('Resume is valid!');
} else {
for (const err of result.errors) {
console.log(`${err.path}: ${err.message}`);
}
}Two validation modes:
- strict — rejects unknown fields (recommended for writing)
- tolerant — ignores unknown fields, warns about version mismatch (forward-compatible, recommended for reading)
import { embedResume } from '@vitaeflow/sdk';
import { readFileSync, writeFileSync } from 'fs';
const pdf = new Uint8Array(readFileSync('cv.pdf'));
const resume = {
version: '0.1',
profile: 'standard',
basics: { givenName: 'Marie', familyName: 'Laurent', email: 'marie@example.com' },
work: [{ organization: 'TechCorp', position: 'Lead Dev', startDate: '2021-03' }],
};
const result = await embedResume(pdf, resume);
writeFileSync('cv.vf.pdf', result);The resume is validated in strict mode before embedding. If invalid, an error is thrown.
import { extractResume } from '@vitaeflow/sdk';
import { readFileSync } from 'fs';
const pdf = new Uint8Array(readFileSync('cv.vf.pdf'));
const result = await extractResume(pdf);
if (result?.resume) {
console.log(result.resume.basics.givenName); // "Marie"
console.log(result.validation.valid); // true
}import { isVitaeFlowPdf } from '@vitaeflow/sdk';
const has = await isVitaeFlowPdf(pdf); // true or false| Function | Description |
|---|---|
validateResume(data, options?) |
Validate a resume against the VitaeFlow schema |
embedResume(pdf, resume) |
Validate and embed a resume in a PDF |
extractResume(pdf, options?) |
Extract and validate a resume from a PDF |
isVitaeFlowPdf(pdf) |
Check if a PDF contains VitaeFlow data |
SCHEMA_VERSION |
Current schema version ('0.1') |
All TypeScript types are exported:
Resume Meta Basics Location SocialProfile WorkEntry EducationEntry SkillCategory SkillItem LanguageEntry CertificationEntry ProjectEntry PublicationEntry VolunteerEntry ReferenceEntry InterestEntry ValidationResult ValidationError ExtractResult
| Project | Description |
|---|---|
| VitaeFlow Spec | JSON schema and PDF embedding standard |
| vitaeflow CLI | Command-line tool |
| vitaeflow.org | Website with interactive tools |