Package ch.so.agi.mcp.knowledge
Class ModelingRuleTools
java.lang.Object
ch.so.agi.mcp.knowledge.ModelingRuleTools
-
Constructor Summary
ConstructorsConstructorDescriptionModelingRuleTools(KnowledgeRuleLoader ruleLoader, ModelAnalysisTools analysisTools, IliCompilerService compilerService) -
Method Summary
Modifier and TypeMethodDescriptioncheckModelingRules(String modelText, @Nullable ModelPurpose modelPurpose, @Nullable List<String> ruleIds, @Nullable ModelingRuleProfile profile) listModelingRules(@Nullable ModelingRuleProfile profile) reviewAnalyzedModel(String modelText, @Nullable ModelPurpose modelPurpose, @Nullable ModelingRuleProfile ruleProfile, Map<String, Object> analysis) reviewAnalyzedModel(String modelText, @Nullable ModelPurpose modelPurpose, @Nullable ModelingRuleProfile ruleProfile, Map<String, Object> analysis, @Nullable ch.interlis.ili2c.metamodel.TransferDescription td) reviewIliModel(String modelText, @Nullable ModelPurpose modelPurpose, @Nullable ModelingRuleProfile ruleProfile)
-
Constructor Details
-
ModelingRuleTools
public ModelingRuleTools(KnowledgeRuleLoader ruleLoader, ModelAnalysisTools analysisTools, IliCompilerService compilerService)
-
-
Method Details
-
listModelingRules
@McpTool(name="listModelingRules", description="Katalog-Tool fuer die kuratierten INTERLIS-Modellierungsregeln mit id, title, severity, appliesTo und checkKind. Verwenden, um verfuegbare Regeln oder Regel-IDs zu verstehen. Nicht zum Pruefen eines Modells verwenden; dafuer reviewIliModel oder fuer gezielte Regelpruefungen checkModelingRules.", annotations=) public Map<String,Object> listModelingRules(@McpToolParam(description="Regelprofil: CORE, SO-GIS oder SO-DATA (Default CORE)",required=false) @Nullable ModelingRuleProfile profile) -
checkModelingRules
@McpTool(name="checkModelingRules", description="Low-Level-Tool fuer gezielte Modellierungsregel-Diagnosen, insbesondere einzelne ruleIds oder wenn nur Regel-Findings benoetigt werden. Automatisierte Findings und manuelle Checks werden getrennt ausgewiesen. Nicht als Standardreview eines vollstaendigen Modells verwenden; dafuer reviewIliModel.", annotations=) public Map<String,Object> checkModelingRules(@McpToolParam(description="INTERLIS-2 Modelltext",required=true) String modelText, @McpToolParam(description="Modellzweck: CAPTURE, PUBLICATION, VALIDATION oder UNKNOWN",required=false) @Nullable ModelPurpose modelPurpose, @McpToolParam(description="Optionale Regel-IDs, die geprueft werden sollen",required=false) @Nullable List<String> ruleIds, @McpToolParam(description="Regelprofil: CORE, SO-GIS oder SO-DATA (Default CORE)",required=false) @Nullable ModelingRuleProfile profile) -
reviewIliModel
@McpTool(name="reviewIliModel", description="Standard-Tool fuer Baseline- und Abschlussreview eines vollstaendigen aktuellen INTERLIS-Modells. Kompiliert genau einmal und kombiniert Compilerdiagnostik, Struktur, automatisierte Modellierungsregeln, manuelle Checks und offene fachliche Fragen. evidence und constraintInteractions zeigen zus\u00e4tzliche Pr\u00fcfnachweise und begrenzte skalare Wechselwirkungen; sie \u00e4ndern keine Freigaben. Nicht routinemaessig zusaetzlich analyzeIliModel, checkModelingRules oder validateIliModel aufrufen; diese nur fuer gezielte Detaildiagnosen.", annotations=) public Map<String,Object> reviewIliModel(@McpToolParam(description="INTERLIS-2 Modelltext",required=true) String modelText, @McpToolParam(description="Modellzweck: CAPTURE, PUBLICATION, VALIDATION oder UNKNOWN",required=false) @Nullable ModelPurpose modelPurpose, @McpToolParam(description="Regelprofil: CORE, SO-GIS oder SO-DATA (Default CORE)",required=false) @Nullable ModelingRuleProfile ruleProfile) -
reviewAnalyzedModel
public Map<String,Object> reviewAnalyzedModel(String modelText, @Nullable ModelPurpose modelPurpose, @Nullable ModelingRuleProfile ruleProfile, Map<String, Object> analysis) -
reviewAnalyzedModel
public Map<String,Object> reviewAnalyzedModel(String modelText, @Nullable ModelPurpose modelPurpose, @Nullable ModelingRuleProfile ruleProfile, Map<String, Object> analysis, @Nullable ch.interlis.ili2c.metamodel.TransferDescription td)
-