namespace ZB.MOM.WW.OtOpcUa.AdminUI.ScriptAnalysis; // EquipmentId (optional) carries the owning-equipment context the {{equip}}/ completion + // diagnostic need to resolve reference effective names. Null on the shared ScriptEdit page (no single // equipment) — the equip-ref features are then inert, matching the deploy gate (which only resolves per // owning equipment). public record DiagnoseRequest(string Code, string? EquipmentId = null); public record DiagnoseResponse(IReadOnlyList Markers); public record DiagnosticMarker(int Severity, int StartLineNumber, int StartColumn, int EndLineNumber, int EndColumn, string Message, string Code); public record CompletionsRequest(string CodeText, int Line, int Column, string? EquipmentId = null); public record CompletionsResponse(IReadOnlyList Items); public record CompletionItem(string Label, string InsertText, string Detail, string Kind, int InsertTextRules = 0); public record HoverRequest(string CodeText, int Line, int Column, string? EquipmentId = null); public record HoverResponse(string? Markdown); public record SignatureHelpRequest(string CodeText, int Line, int Column); public record SignatureHelpResponse(string? Label, IReadOnlyList? Parameters, int ActiveParameter); public record SignatureHelpParameter(string Label, string? Documentation); public record FormatRequest(string Code); public record FormatResponse(string Code); public record InlayHintsRequest(string Code); public record InlayHintsResponse(IReadOnlyList Hints); public record InlayHint(int Line, int Column, string Label);