Référence API complète pour @edwinfom/resume-intel — parseResume, options, types de retour, et schémas exportés.

Référence API

parseResume(input, options)

La fonction principale. Accepte un buffer PDF et retourne des données de CV structurées.

Paramètres

input — Buffer | ArrayBuffer | Uint8Array

Le contenu du fichier PDF. Les trois types de buffer sont acceptés.

options — ResumeIntelOptions

Option Type Défaut Description
model LanguageModel requis Tout modèle compatible Vercel AI SDK
maxRetries number 3 Tentatives max d'auto-correction par section en cas d'échec de validation
layoutStrategy 'spatial' | 'linear' 'spatial' Stratégie d'extraction de texte PDF
useTaskDecomposition boolean true Exécuter des extractions parallèles par section
systemPromptPrefix string '' Instructions personnalisées injectées avant les prompts d'extraction
abortSignal AbortSignal — Signal d'annulation standard

Valeur de retour

Promise<ResumeIntelResult>

interface ResumeIntelResult {
  data: JsonResume      // Objet compatible JSON Resume v1
  meta: ExtractionMeta
}
 
interface ExtractionMeta {
  durationMs: number              // temps de traitement total en ms
  retryCount: number              // retries en mode single-shot
  ocrFallback: boolean            // true si Tesseract OCR a été utilisé
  layoutStrategy: 'spatial' | 'linear'
  pageCount: number               // nombre de pages PDF
  tokenUsage?: {
    promptTokens: number
    completionTokens: number
    totalTokens: number
  }
  sectionResults?: Array<{        // mode décomposition par section uniquement
    section: string               // 'basics' | 'work' | 'education' | ...
    success: boolean
    retryCount: number
    error: string | null
  }>
}

JsonResumeSchema

Le schéma Zod pour la spécification JSON Resume v1. Utilisez-le pour valider vos propres données.

import { JsonResumeSchema } from '@edwinfom/resume-intel'
 
const result = JsonResumeSchema.safeParse(myData)

Classes d'erreur

ResumeExtractionError

Levée quand le LLM échoue à produire des données valides après toutes les tentatives de retry.

import { ResumeExtractionError } from '@edwinfom/resume-intel'
 
try {
  const result = await parseResume(pdfBuffer, { model })
} catch (error) {
  if (error instanceof ResumeExtractionError) {
    console.error(error.message)
    console.error(error.cause)
  }
}

OcrNotEnabledError

Levée quand un PDF scanné est détecté mais que le traitement OCR échoue.

import { OcrNotEnabledError } from '@edwinfom/resume-intel'
 
try {
  const result = await parseResume(pdfBuffer, { model })
} catch (error) {
  if (error instanceof OcrNotEnabledError) {
    console.error('OCR échoué:', error.message)
  }
}

Types TypeScript

Tous les types sont exportés depuis le point d'entrée principal :

import type {
  ResumeIntelOptions,
  ResumeIntelResult,
  ExtractionMeta,
  SectionExtractionResult,
  TokenUsage,
  JsonResume,
  ResumeSectionKey,
} from '@edwinfom/resume-intel'