Outils de lecture
Les 10 outils pour naviguer et lire les normes dans votre espace de travail.
Ces outils permettent à votre agent d'interroger les normes de votre espace de travail. Vous ne
les appelez pas à la main (l'agent le fait en réponse à vos questions), mais les connaître
vous aide à comprendre et vérifier les réponses. Chacun renvoie du JSON (sauf get_figure, qui
renvoie aussi une image inline).
Depuis la version 0.7.0, ces dix outils se déclarent sans effet de bord (readOnlyHint) :
un client qui respecte l'annotation peut donc les appeler sans vous demander à chaque fois.
get_methodology est le premier appel obligatoire. Les autres suivent le flux de
navigation : list_norms → get_toc → get_subtree → get_section, avec search_corpus, search_in_norm,
get_cross_refs et get_figure utilisés au besoin.
Quand votre espace détient plusieurs éditions d'un même code (SIA 261:2014 et
SIA 261:2020, par exemple), chaque outil de lecture accepte un paramètre
edition facultatif et sert par défaut la plus récente publiée ; list_norms
énumère les éditions de chaque code, et get_section imprime l'édition lue
dans son en-tête pour que l'agent la reporte en normEdition sur l'entrée.
get_methodology
Premier appel obligatoire pour répondre à toute question technique. Renvoie la méthode de travail sous la forme d'un seul document Markdown, construit pour votre espace : le rôle, le tableau des normes lisibles (code, édition, titre, portée, couverture) avec les dépendances qui existent entre elles, la méthode de navigation, le contrat de réponse (citations, calculs, ce qu'il faut vérifier avant de répondre), les règles de budget, la règle du document de démonstration quand elle s'applique, et la politique de dossier. Votre agent l'adopte pour le reste de la conversation. Aucun paramètre.
versionnumberLa version du contrat (2). Inscrite sur chaque entrée de dossier écrite sous
ce contrat.
textstringLe document, qui se termine par methodology: v2.
list_norms
Liste toutes les normes actuellement disponibles dans votre espace de travail.
normsarrayChaque entrée possède code, year, title et language.
Quelles normes sont disponibles dans Stratta ?get_toc
Renvoie la table des matières d'une norme. Par défaut, seuls les chapitres de premier niveau
(depth = 1) sont renvoyés afin de garder la réponse légère ; utilisez get_subtree pour
explorer un chapitre.
codestringrequiredCode de norme, p. ex. "SIA 261", "SIA 263", "EN 1992-1-1".
maxDepthnumberdefault: 1Profondeur d'imbrication maximale. 1 = chapitres uniquement, 2 = sections
X.Y, 3 = sous-sous-sections X.Y.Z. Des profondeurs plus élevées font
rapidement grossir la réponse sur les grandes normes.
treearrayNœuds hiérarchiques, chacun avec path, title, summary, pageStart,
pageEnd, depth et children (vide à la limite de profondeur). path est
l'adresse que prennent tous les autres outils de lecture.
get_subtree
Explore un chapitre ou une section spécifique. Renvoie le sous-arbre enraciné à path, afin que
votre agent puisse explorer un chapitre en détail sans récupérer toute la table des matières.
codestringrequiredCode de norme, p. ex. "SIA 261-1".
pathstringrequiredChemin de section à utiliser comme racine du sous-arbre, p. ex. "14" ou
"14.2".
maxDepthnumberdefault: illimitéProfondeur d'imbrication maximale relative à la racine. 1 renvoie la racine
et ses enfants directs uniquement.
maxNodesnumberdefault: 400Plafond de nœuds renvoyés (20 à 2000). Un sous-arbre plus grand perd d'abord
ses niveaux les plus profonds et porte truncated: true sur sa racine.
treearrayLe sous-arbre enraciné à path, avec la même forme de nœud que get_toc. Un
numéro de clause sous le dernier titre (9.5.2.1) se résout sur ce titre.
get_section
Renvoie une section sous la forme d'un document Markdown : son texte avec les formules LaTeX et les tableaux à l'endroit où la norme les imprime, ses figures, les renvois qu'elle porte et les sections en dessous, avec le chemin exact et la plage de pages. Les champs JSON voyagent à côté, en contenu structuré.
codestringrequiredCode de norme, p. ex. "SIA 261".
pathstringrequiredChemin de section tel qu'il apparaît dans le document, p. ex. "4.2.1" ou
"Annexe A". Un numéro de clause qui n'est pas un nœud de l'arbre se résout
sur le titre le plus proche, et la réponse le dit dans requestedPath.
maxCharsnumberdefault: 12000Caractères de texte par appel (500 à 40000). Une section plus longue arrive par fenêtres coupées à une frontière de paragraphe.
offsetnumberdefault: 0Où reprendre dans le texte, depuis le nextOffset d'un appel tronqué.
sectionobjectmarkdown (le document), content (la fenêtre de texte),
pageStart/pageEnd, parentPath, children (les sections en dessous),
truncated avec nextOffset et totalChars, un tableau figures (utilisez
l'id avec get_figure), les tables et formulas attachées, et
crossRefs.
Chaque affirmation technique de votre agent doit citer une section qu'il a
récupérée via get_section (p. ex. [SIA 261, 4.2.1, p. 22]), jamais de
mémoire.
search_in_norm
Recherche des sections au sein d'une norme par mot-clé (insensible à la casse), en faisant correspondre à la fois les titres et le contenu. Utilisez-le lorsque le chemin de section n'est pas encore connu.
codestringrequiredCode de norme, p. ex. "SIA 261".
keywordstringrequiredTerme de recherche, p. ex. "charges variables" ou "béton armé".
limitnumberdefault: 20Nombre maximal de résultats à renvoyer.
hitsarrayJusqu'à limit correspondances, chacune avec path, title et un extrait du
contenu correspondant.
search_corpus
Lance la même recherche sur toutes les normes que votre espace peut lire, groupée par norme, les correspondances dans un titre de n'importe quelle norme avant celles dans un corps de texte. À utiliser en premier quand une question ne nomme pas sa norme : elle dit quelles normes parlent du sujet avant d'ouvrir la moindre table des matières. Accents et casse sont ignorés, et un numéro de clause en mot-clé se résout sur cette clause dans chaque norme.
keywordstringrequiredTermes de recherche dans la langue des normes, p. ex. "charge de neige".
limitnumberdefault: 20Nombre maximal de correspondances toutes normes confondues (1 à 40).
normsarrayUne entrée par norme ayant des correspondances : code, title et hits[]
de la même forme que search_in_norm, chacune avec kind (title, text ou
path).
get_figure
Récupère une figure (image) référencée dans une section. Renvoie l'image inline (base64) pour que votre agent puisse raisonner sur le schéma. Aucune URL de stockage n'est renvoyée : les octets sont récupérés côté serveur, et l'image ne sort jamais de la conversation sous forme de lien.
codestringrequiredCode de norme, p. ex. "SIA 261".
figureIdstringrequiredIdentifiant de figure issu d'une réponse get_section (figures[].id).
imageImageContentL'image inline (base64 + mimeType).
captionstringLa légende de la figure.
figureNumberstringLe numéro/label de la figure.
Certains clients (p. ex. Claude Desktop) n'affichent pas les images distantes inline. Voir Dépannage.
get_cross_refs
Liste les renvois d'une section : vers d'autres clauses, annexes, figures et tableaux de la
même norme, et vers d'autres normes (p. ex. SIA 261 §4.2 vers SIA 263). Pour les questions
composées, votre agent doit les suivre et lire chaque cible avec get_section.
codestringrequiredCode de norme, p. ex. "SIA 261".
pathstringrequiredChemin de section, p. ex. "4.2.1".
crossRefsarrayRenvois sortants, les résolubles en premier. Chacun porte la norme cible, le
chemin de section quand il est connu, targetKind (clause, annex,
figure, table ou norm), internal, resolvable (la cible existe dans
votre espace) et targetTitle quand c'est le cas.