Wesentliche Änderungen in 2.0.3
2.0.3 behält die bestehenden SQL- und Sicherheitsgrenzen bei und erweitert zugleich Hosting und DML-Freigaben.
HsSqlAgent.Hostingstellt die vollständige ASP.NET-Core-Komposition bereit, die auch vom offiziellen ToolBox-/Docker-Host verwendet wird.HsSqlAgent.Serverbleibt das modulare Paket für Anwendungen, die Authentifizierung, Autorisierung, Admin-Oberfläche, Middleware-Reihenfolge, Telemetrie oder Freigabe-Komposition selbst steuern.execute_dml_sqlakzeptiert jetzt eine oder mehrere durch Semikolon getrennteUPDATE-,DELETE- oderINSERT ... VALUES-Anweisungen. Mehrere Anweisungen werden einmal freigegeben und anschließend in ihrer ursprünglichen Reihenfolge atomar in einer Transaktion committed. Es gibt kein neues Batch-MCP-Tool.- DML-Freigaben sind über
IDmlApprovalProvidervom Transport entkoppelt. Ein Provider kann freigeben, ablehnen oderPendingfür eine asynchrone Fertigstellung zurückgeben. HsSqlAgent.Approvals.Webhookist der offizielle generische asynchrone Adapter. SQL-Validierung, Bindung des Approval-Fingerprints, erneute Prüfung des aktuellen Zustands und der endgültige Commit bleiben Eigentum von HsSqlAgent.
Hosting-Pfad bewusst wählen
Für einen eigenständigen Dienst bleibt das offizielle Docker-Image der direkte Weg. Soll ein .NET-Host dieselbe vollständige Komposition einbetten, verwende HsSqlAgent.Hosting mit AddHsSqlAgentStandardHost() / UseHsSqlAgentStandardHost(). Für eine angepasste Integration verwende HsSqlAgent.Server und die AddHsSqlAgent*-APIs.
Safe DML erneut testen
Teste auf einer Nicht-Produktionsdatenbank sowohl eine einzelne Anweisung als auch eine Mehrfach-Transaktion. Prüfe Freigabe, Ablehnung, Rollback bei Fehlern und Revalidierung vor dem Commit. Bei asynchronen Providern sollten auch doppelte Callbacks, Ablauf und stale approvals geprüft werden.
Konfiguration prüfen
Standard-Hosting wählt den Freigabe-Provider über DmlApproval:Provider; McpElicitation bleibt der Standard. Webhook benötigt zusätzlich Endpoint, Callback URL und Signing Secret. Ein modularer HsSqlAgent.Server-Host wählt den Provider per DI.