Package ch.so.agi.mcp.tools
Class IliModelAuthoringTools
java.lang.Object
ch.so.agi.mcp.tools.IliModelAuthoringTools
One-call authoring of a complete, reviewed and constraint-proven INTERLIS model.
-
Constructor Summary
ConstructorsConstructorDescriptionIliModelAuthoringTools(IliSpecRenderer renderer, IliCompilerService compilerService, ConstraintContextService constraintContextService, ConstraintCaseGenerationTools caseGenerationTools, ModelChangeReviewService reviewService) -
Method Summary
Modifier and TypeMethodDescriptionauthorIliModel(IliModelSpec spec, @Nullable ModelPurpose modelPurpose, @Nullable ModelingRuleProfile ruleProfile) authorIliModel(IliModelSpec spec, @Nullable ModelPurpose modelPurpose, @Nullable ModelingRuleProfile ruleProfile, @Nullable Boolean includeSuccessfulTestXtf) verifyIliModel(String modelText, @Nullable ModelPurpose modelPurpose, @Nullable ModelingRuleProfile ruleProfile)
-
Constructor Details
-
IliModelAuthoringTools
public IliModelAuthoringTools(IliSpecRenderer renderer, IliCompilerService compilerService, ConstraintContextService constraintContextService, ConstraintCaseGenerationTools caseGenerationTools, ModelChangeReviewService reviewService)
-
-
Method Details
-
authorIliModel
@McpTool(name="authorIliModel", description="Skalare Ausdruecke: Zahlen als {\"kind\":\"NUMERIC\",\"value\":7}; COMPARE mit operator ==, !=, <, <=, > oder >= und genau zwei geordneten children. DEFINED/NOT haben ein Kind, IMPLIES zwei; AND/OR behalten die Reihenfolge. MANDATORY verwendet condition. Prosa: Erwartungen vorab festhalten, vor Schreiben mit testIliConstraint pr\u00fcfen. Test-modelHashes.model muss Authoring-modelHashes.after entsprechen; aktuelle Datei gegen before pr\u00fcfen. Normal includeSuccessfulTestXtf=false. INVALID_SPEC gezielt einmal korrigieren; offene Fragen kl\u00e4ren, Proof-Grenzen berichten. Serverstatus allein ist keine Schreibfreigabe. Erzeugt aus einer vollst\u00e4ndigen typisierten IliModelSpec ein vollst\u00e4ndiges INTERLIS-2-Modell. Name, URI, Modellversion und INTERLIS-Version sind explizit erforderlich; fehlende Fachsemantik wird nicht erfunden. Unterst\u00fctzt Units, Domains, Topics, Klassen, Strukturen, Assoziationen, Attribute, strikte Geometrien sowie UNIQUE, MANDATORY, EXISTENCE, PLAUSIBILITY und SET. Das fertige Modell wird genau einmal mit ili2c kompiliert; AST-Generierung, alle Constraint-Proofs und afterReview verwenden diesen kompilierten Kontext weiter. Das Tool schreibt keine Datei.", generateOutputSchema=true, annotations=) public IliAuthoringResult authorIliModel(@McpToolParam(description="Vollst\u00e4ndige typisierte Modellspezifikation",required=true) IliModelSpec spec, @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, @McpToolParam(description="Standard true. false l\u00e4sst nur XTF-Texte bestandener, ausge\u00fcbter F\u00e4lle mit g\u00fcltiger Fixture und null Warnungen weg; alle Diagnosen bleiben erhalten.",required=false) @Nullable Boolean includeSuccessfulTestXtf) -
authorIliModel
public IliAuthoringResult authorIliModel(IliModelSpec spec, @Nullable ModelPurpose modelPurpose, @Nullable ModelingRuleProfile ruleProfile) -
verifyIliModel
@McpTool(name="verifyIliModel", description="Pr\u00fcft unver\u00e4nderten Modelltext: Compiler, Modellierungsregeln und automatische Nachweise aller deklarierten Constraints. Keine Ableitung, \u00c4nderung oder fachliche Freigabe.", generateOutputSchema=true, annotations=) public IliAuthoringResult verifyIliModel(@McpToolParam(description="Unver\u00e4nderter vollst\u00e4ndiger Modelltext",required=true) String modelText, @McpToolParam(description="Modellzweck",required=false) @Nullable ModelPurpose modelPurpose, @McpToolParam(description="Regelprofil",required=false) @Nullable ModelingRuleProfile ruleProfile)
-