Aller au contenu
hs-sql-agent
2.0.2
Documentation 2.0.2
Documentation Compilateur SQL

Safe DML

Prévisualiser l’impact, lier l’approbation, revérifier les lignes ciblées et ne valider que la modification exacte approuvée par une personne.

DML suit un chemin plus strict que l’exécution d’une requête : au moment de valider la transaction, l’approbation doit toujours décrire exactement la même modification.

01 Compiler
02 Prévisualiser
03 Approuver
04 Revérifier
05 Valider
Prévisualiser sans modifier Les instructions UPDATE et DELETE commencent par lire les lignes actuellement ciblées dans une transaction de prévisualisation, sans appliquer la modification.
L’approbation est liée aux faits vérifiés Un défi à usage unique lie le plan validé, la version de politique, le nombre de lignes concernées et l’empreinte de l’ensemble de lignes.
La validation revérifie l’état réel La transaction finale relit les lignes ciblées et annule l’opération si les faits approuvés ne correspondent plus.

UPDATE et DELETE

  1. Compiler la modification

    Analyser, valider, autoriser et compiler la modification demandée avant de solliciter une approbation.

  2. Prévisualiser les lignes concernées

    Ouvrir une transaction de prévisualisation et lire les lignes qui correspondent actuellement aux critères, sans exécuter la modification.

  3. Créer une preuve d’approbation à usage unique

    Lier le défi au plan compilé validé, à la version de politique, au nombre de lignes concernées et à l’empreinte de l’ensemble de lignes.

  4. Demander l’approbation d’une personne via MCP Elicitation

    Envoyer elicitation/create et exiger une approbation explicite sous forme de formulaire de la part du client MCP.

  5. Consommer le défi approuvé

    Après acceptation, valider puis consommer le défi à usage unique afin qu’il ne puisse pas être rejoué comme un jeton d’autorisation générique.

  6. Relire les lignes dans la transaction finale

    Relire les lignes ciblées et comparer leur empreinte et leur nombre actuels avec la prévisualisation approuvée.

  7. Valider uniquement si tout correspond encore

    Exécuter la modification compilée uniquement si le plan, la politique, le défi, le nombre de lignes et l’ensemble de lignes sont inchangés.

INSERT VALUES

Une instruction INSERT ... VALUES ne cible aucun ensemble de lignes préexistant. Le protocole d’approbation lie donc la charge utile d’insertion immuable et le plan compilé exact, plutôt qu’une prévisualisation de lignes existantes.

Elicitation est obligatoire

execute_dml_sql et les DML Custom Tools publiés exigent que le client MCP prenne en charge l’Elicitation par formulaire (form Elicitation). Un client incapable d’effectuer ce parcours d’approbation ne peut pas utiliser ces chemins de modification.

Ce mécanisme est volontairement différent d’une simple boîte de dialogue côté interface : le défi d’approbation fait partie du protocole serveur et est revérifié avant l’exécution.

Documentation associée