Principaux changements de 2.0.3
2.0.3 conserve les frontières SQL et de sécurité existantes, tout en étendant l’hébergement du produit et l’intégration des approbations DML.
HsSqlAgent.Hostingfournit la composition ASP.NET Core complète utilisée par le ToolBox / Docker officiel.HsSqlAgent.Serverreste le package modulaire pour les applications qui doivent garder la maîtrise de l’authentification, de l’autorisation, de l’interface d’administration, de l’ordre des middlewares, de la télémétrie ou des approbations.execute_dml_sqlaccepte désormais une ou plusieurs instructionsUPDATE,DELETEouINSERT ... VALUESséparées par des points-virgules. Plusieurs instructions sont approuvées une seule fois puis validées atomiquement, dans leur ordre d’origine. Aucun nouvel outil MCP batch n’est ajouté.- L’approbation DML est découplée du transport via
IDmlApprovalProvider, qui peut approuver, refuser ou retournerPendingpour une finalisation asynchrone. HsSqlAgent.Approvals.Webhookest l’adapter asynchrone générique officiel. HsSqlAgent conserve la validation SQL, la liaison du fingerprint d’approbation, la revalidation de l’état courant et le commit final.
Choisir explicitement le mode d’hébergement
Pour un service autonome, conservez l’image Docker officielle. Pour intégrer dans un host .NET la même composition complète, utilisez HsSqlAgent.Hosting avec AddHsSqlAgentStandardHost() / UseHsSqlAgentStandardHost(). Pour une intégration personnalisée, utilisez HsSqlAgent.Server et les API AddHsSqlAgent*.
Revalider Safe DML
Sur une base non productive, testez une instruction puis une transaction multi-instruction. Vérifiez approbation, refus, rollback en cas d’échec et revalidation avant commit. Avec un provider asynchrone, testez aussi les callbacks dupliqués, expirés et devenus obsolètes.
Vérifier la configuration
Le Hosting standard choisit le mode d’approbation via DmlApproval:Provider; McpElicitation reste la valeur par défaut. Webhook exige aussi endpoint, callback URL et signing secret. Un host modulaire HsSqlAgent.Server sélectionne son provider par DI.