Rechercher dans la documentation

Rechercher dans la documentation

Outils d'ingestion

Les 10 outils ingest_* qui écrivent les normes dans votre espace de travail. Utilisés par le skill ingest-norm.

Ces outils permettent à votre agent d'ajouter à votre espace de travail une norme pour laquelle vous disposez d'une licence. Ils sont pilotés par le skill ingest-norm (vous ne les appelez pas à la main). Ils sont servis sur les deux transports, connecteur distant et serveur local. Chaque appel est authentifié (jeton du connecteur ou clé API) et restreint côté serveur à votre organisation ; les écritures demandent le rôle propriétaire ou admin, ingest_status est ouvert à tout membre. Tous les identifiants sont renvoyés sous forme de chaînes.

N'ingérez que des normes pour lesquelles votre organisation détient une licence valide. Voir les Conditions.

L'ordre typique : ingest_statusingest_create_documentingest_create_sections → enrichissement (ingest_attach_*, ingest_upload_figure) → ingest_normalize_cross_refsingest_publish.


ingest_status

Vérifie si une norme (par code) existe déjà dans votre espace de travail et combien de sections elle comporte. Appelez-le avant la création pour éviter les doublons.

codestringrequired

Code de norme, p. ex. "SIA 261".

resultobject

Statut d'existence, nombre de sections et score de couverture (quality : score 0-100, caractères par page, part des pages sous un chapitre, signaux) pour le code dans votre espace de travail.


ingest_create_document

Crée un document de norme en brouillon dans votre espace de travail. Renvoie le documentId utilisé par chaque appel ingest_* ultérieur.

codestringrequired

Code de norme, p. ex. "SIA 261".

yearnumberrequired

Année de publication.

titlestringrequired

Titre complet de la norme.

languagestringrequired

L'une de "fr", "de", "it", "en".

totalPagesnumberrequired

Nombre total de pages du PDF source.

documentIdstring

L'identifiant du nouveau document.


ingest_create_sections

Insère en masse des sections dans un document brouillon. Les liens parents se résolvent via parentNodeId au sein du lot et des sections déjà insérées. Renvoie une correspondance de nodeId vers le sectionId stocké. Utilisez ces identifiants pour attacher des formules, des tableaux, des figures et des références croisées.

documentIdstringrequired

L'identifiant issu de ingest_create_document.

sectionsarrayrequired

Tableau d'objets section. Chaque section possède :

objet section
nodeIdstringrequired

Identifiant unique stable au sein du document (p. ex. "s-4-2-1").

parentNodeIdstring

nodeId de la section parente ; à omettre pour les racines.

pathstringrequired

Chemin lisible, p. ex. "4.2.1" ou "Annexe B.1".

titlestringrequired
Titre de la section.
summarystringrequired

Résumé de 1 à 3 phrases utilisé pour la navigation dans l'arbre.

depthnumberrequired

0 = chapitre, 1 = section, etc.

contentstringrequired

Texte enrichi complet (formules LaTeX inline acceptées).

rawContentstringrequired
Texte brut extrait.
pageStartnumberrequired
Première page de la section.
pageEndnumberrequired
Dernière page de la section.
orderIndexnumberrequired

Ordre au sein du parent.

sectionsobject

Une correspondance nodeIdsectionId.


ingest_attach_formula

Attache une formule LaTeX à une section.

sectionIdstringrequired

Identifiant de la section cible.

latexstringrequired

La formule en LaTeX.

descriptionstringrequired

Ce que calcule la formule.

formulaNumberstringrequired

Le numéro/label de la formule tel qu'imprimé.

formulaIdstring

L'identifiant de la nouvelle formule.


ingest_attach_table

Attache un tableau structuré à une section.

sectionIdstringrequired
Identifiant de la section cible.
dataobjectrequired

{ headers: string[], rows: string[][] }.

captionstringrequired
Légende du tableau.
tableNumberstringrequired
Le numéro/label du tableau.
tableIdstring

L'identifiant du nouveau tableau.


ingest_attach_cross_ref

Attache une référence croisée d'une section vers une autre norme ou section.

sourceSectionIdstringrequired

La section dont provient la référence.

targetDocumentCodestringrequired

Code de la norme cible, p. ex. "SIA 263".

targetSectionPathstring

Chemin de section cible optionnel dans l'autre norme.

refTextstringrequired

Le texte de la référence tel qu'écrit.

refTypestringrequired

Soit "explicit", soit "implicit".

crossRefIdstring

L'identifiant de la nouvelle référence croisée.


ingest_upload_figure

Téléverse une image de figure (base64) et l'attache à une section, en un seul appel.

sectionIdstringrequired

Identifiant de la section cible.

base64stringrequired

Octets de l'image encodés en base64 (un préfixe data: est toléré).

mimeTypestringrequired

L'une de "image/png", "image/jpeg", "image/webp". Max 8 Mo.

captionstringrequired

Légende de la figure.

figureNumberstringrequired

Le numéro/label de la figure.

figureIdstring

L'identifiant de la nouvelle figure.


ingest_normalize_cross_refs

Analyse chaque section d'un document et (re)construit les références croisées vers d'autres normes détectées dans le texte (SIA, SN EN, EN, ISO, DIN…). Idempotent : peut être exécuté plusieurs fois sans risque.

documentIdstringrequired

Le document à analyser.

resultobject

Un résumé des références croisées trouvées et reconstruites.


ingest_publish

Publie un document brouillon afin qu'il devienne interrogeable via les outils de lecture dans votre espace de travail.

Avant de publier, le serveur mesure ce qui est réellement entré de la norme : caractères de texte par page, part des pages sous un chapitre, feuilles vides, formules et tableaux attachés. Un document sous 30/100 est refusé avec les raisons (QUALITY_TOO_LOW) : un agent qui le lirait répondrait depuis des résumés. Le score est enregistré dans tous les cas et list_norms le rend sous coverage (full, partial ou sparse).

documentIdstringrequired

Le document à publier.

forceboolean

Publier même sous le plancher. Seulement si le document est réellement aussi court, et que la personne l'a confirmé.

publishedboolean

true en cas de succès.

qualityobject

Le score enregistré : score, charsPerPage, pagesCovered, sectionCount, leafCount, emptyLeaves, formulas, tables, figures, crossRefs, flags.


ingest_delete

Depuis la version 0.7.0, cet outil se déclare destructif (destructiveHint). Un client qui respecte l'annotation demande confirmation avant de l'appeler. La suppression efface la norme, ses sections, ses figures et ses renvois, et libère la place dans vos quotas.

Supprime un document et toutes ses sections, figures, tableaux, formules et références croisées. À utiliser avant une nouvelle ingestion.

documentIdstringrequired

Le document à supprimer.

deletedboolean

true en cas de succès.

La suppression est permanente et retire tout le contenu enfant. Assurez-vous de cibler le bon documentId.


Liens connexes