Class ConstraintKnowledgeTools

java.lang.Object
ch.so.agi.mcp.tools.ConstraintKnowledgeTools

@Component public class ConstraintKnowledgeTools extends Object
  • Constructor Details

    • ConstraintKnowledgeTools

      public ConstraintKnowledgeTools(IliCompilerService compilerService)
  • 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

      public static Map<String,Object> describeFunctions(@Nullable String iliVersion)
    • 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

      public static Map<String,Object> resolveCompiledPath(ch.interlis.ili2c.metamodel.TransferDescription td, String context, String path)
    • 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)