From f74e49ba3542dae567d8f68734d98975a2aee40a Mon Sep 17 00:00:00 2001 From: Richard Date: Fri, 18 Sep 2026 18:51:06 +0200 Subject: [PATCH] Freigabe-Hygiene (#631, #579, #609, #610) und JSON-Filter fuer WebFetch (#632) #631: Derselbe Vorschlag (gleicher Agent, gleiches Werkzeug, gleiche Argumente unabhaengig von Schluesselreihenfolge) wird nicht erneut angelegt - der Agent erfaehrt die bestehende Nummer. Offene Vorschlaege verfallen nach 24 h (Status Expired). #609: Werkzeuge koennen den Freigabeschluessel aus dem Inhalt bestimmen (IAgentTool.StagingAktion). Database: SELECT/SHOW/DESCRIBE -> query, INSERT/UPDATE/DELETE -> write, DDL -> schema; write und schema sind freigabepflichtig. Ausgefuehrt wird nach Statement-Art, schreibende Statements melden die Zeilenzahl. #579: Database-Vorpruefung (Zugriffsebene, Tabellenfreigabe, SqlGuard) - was das Werkzeug ablehnen wuerde, kommt nicht mehr in die Freigabeliste. #610: SqlGuard ueberspringt IF [NOT] EXISTS und erkennt DESCRIBE/DESC . #632: WebFetch fetch mit filter liefert aus JSON/JSONP nur passende Eintraege; beim Blaettern durch grosses JSON empfiehlt der Hinweis den filter. Version 0.1.10. Co-Authored-By: Claude Opus 5 --- Directory.Build.props | 2 +- src/ClawdDotNet.Core/Engine/AgentEngine.cs | 3 +- .../Staging/SqliteStagingRepository.cs | 32 +++++ src/ClawdDotNet.Core/Staging/StagingGate.cs | 84 +++++++++++- src/ClawdDotNet.Core/Staging/StagingModels.cs | 17 ++- src/ClawdDotNet.Core/Staging/StagingPolicy.cs | 6 + .../Staging/StagingService.cs | 8 +- src/ClawdDotNet.Core/Tools/IAgentTool.cs | 8 ++ .../DatabaseTool.cs | 116 +++++++++++++--- src/ClawdDotNet.Tools.Database/SqlGuard.cs | 18 +++ src/ClawdDotNet.Tools.WebFetch/JsonFilter.cs | 104 +++++++++++++++ .../WebFetchTool.cs | 9 +- src/ClawdDotNet.Tools.WebFetch/WebInhalt.cs | 22 ++- .../InMemoryStagingRepository.cs | 23 ++++ .../Staging/FreigabeHygieneTests.cs | 125 ++++++++++++++++++ .../Database/DatabaseVorpruefungTests.cs | 67 ++++++++++ .../Database/SqlGuardTests.cs | 24 ++++ .../WebFetch/JsonFilterTests.cs | 88 ++++++++++++ 18 files changed, 727 insertions(+), 29 deletions(-) create mode 100644 src/ClawdDotNet.Tools.WebFetch/JsonFilter.cs create mode 100644 tests/ClawdDotNet.Core.Tests/Staging/FreigabeHygieneTests.cs create mode 100644 tests/ClawdDotNet.Tools.Tests/Database/DatabaseVorpruefungTests.cs create mode 100644 tests/ClawdDotNet.Tools.Tests/WebFetch/JsonFilterTests.cs diff --git a/Directory.Build.props b/Directory.Build.props index 144b8c6..4ecdb8b 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -18,7 +18,7 @@ ClawdDotNet.Core.BuildInfo bleibt daneben bestehen: das ist ein von Hand gefuehrter Zaehler mit Aenderungstext, keine Versionsangabe. --> - 0.1.9 + 0.1.10