Package ch.so.agi.mcp.tools
Class ConstraintKnowledgeTools
java.lang.Object
ch.so.agi.mcp.tools.ConstraintKnowledgeTools
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondescribeFunctions(@Nullable String iliVersion) findConstraintPaths(String modelText, String context, String targetFqn, @Nullable Integer maxDepth, @Nullable Integer limit) listConstraintFunctions(@Nullable String iliVersion) resolveCompiledPath(ch.interlis.ili2c.metamodel.TransferDescription td, String context, String path) resolveConstraintPath(String modelText, String context, String path)
-
Constructor Details
-
ConstraintKnowledgeTools
-
-
Method Details
-
listConstraintFunctions
@McpTool(name="listConstraintFunctions", description="Listet bekannte Constraint-Funktionen mit Herkunft, stabiler semantischer ID, Parametern und semantischen Parametertypen. Math/Text stammen aus INTERLIS-Funktionsmodellen; Validator-Extensions und Modellfunktionen werden als eigene Herkunftskategorien unterschieden.", annotations=) public Map<String,Object> listConstraintFunctions(@McpToolParam(description="INTERLIS Sprachversion (2.3 oder 2.4)",required=false) @Nullable String iliVersion) -
describeFunctions
-
resolveConstraintPath
@McpTool(name="resolveConstraintPath", description="Loest einen bekannten String-Objekt-/Attributpfad im Kontext einer Klasse, Struktur, Association oder View exakt mit dem ili2c-Ili23Parser auf. Geeignet insbesondere fuer attributePath-Parameter wie Math_V2.sum(\"Rolle->Attribut\"). Gibt Pfadschritte, Kardinalitaeten, Optionalitaet, Zieltyp, technische Verwendungshinweise und bei Fehlern moegliche Elemente zurueck. Fuer die Suche nach einem noch unbekannten Pfad findConstraintPaths nutzen.", annotations=) public Map<String,Object> resolveConstraintPath(@McpToolParam(description="Vollstaendiger INTERLIS-2 Modelltext",required=true) String modelText, @McpToolParam(description="Vollqualifizierter Kontext, z. B. Modell.Topic.Klasse",required=true) String context, @McpToolParam(description="Objekt-/Attributpfad, z. B. Nebenauspraegung->Gewichtung; aeussere Anfuehrungszeichen sind optional",required=true) String path) -
resolveCompiledPath
-
findConstraintPaths
@McpTool(name="findConstraintPaths", description="Findet compilergepruefte Pfade vom Constraint-Kontext zu einem bekannten Ziel-FQN (Attribut oder Objekttyp). Liefert nach Laenge/Name sortierte Alternativen, Kardinalitaeten, Optionalitaet und Ausdrucksbausteine fuer Einzelwerte, SUM und OBJECT_COUNT. Erst Pfad suchen, dann Ausdruck erstellen und mit bestehendem Authoring/Validator pruefen. Keine fachliche Pfadauswahl und kein Proof; Suchgrenzen und nicht unterstuetzte Formen bleiben sichtbar. Einen bereits bekannten Pfad mit resolveConstraintPath pruefen.", annotations=) public Map<String,Object> findConstraintPaths(@McpToolParam(description="Vollstaendiger INTERLIS-2 Modelltext",required=true) String modelText, @McpToolParam(description="Vollqualifizierter Ausgangskontext (Klasse, Struktur, Association oder View)",required=true) String context, @McpToolParam(description="Exakter FQN des Zielattributes oder deklarierten Objekttyps; keine Suchbegriffe",required=true) String targetFqn, @McpToolParam(description="Maximale Anzahl Pfadschritte einschliesslich Endattribut; Standard 3, Bereich 1..8",required=false) @Nullable Integer maxDepth, @McpToolParam(description="Maximale Trefferzahl; Standard 10, Bereich 1..50. Zusaetzlich hoechstens 2000 untersuchte Praefixe.",required=false) @Nullable Integer limit)
-