changedInput schema / properties / position / properties / line_range / anyOf
Previous value: -[
- {
- "additionalProperties": false,
- "description": "Line range for multiline comments on GitLab merge request diffs. VALIDATION RULES: 1) line_code is critical for GitLab API success, 2) start/end must have consistent types, 3) line numbers must form valid range, 4) get line_code from GitLab diff API, never generate manually.",
- "properties": {
- "end": {
- "additionalProperties": false,
- "description": "End line position for multiline comment range. MUST specify either old_line OR new_line (or both for context), never neither. Range must be valid (end >= start).",
- "properties": {
- "line_code": {
- "description": "CRITICAL: Line identifier in format '{file_path_sha1_hash}_{old_line_number}_{new_line_number}'. USUALLY REQUIRED for GitLab diff comments despite being optional in schema. Example: 'a1b2c3d4e5f6_12_17'. Must be from same file as start.line_code.",
- "type": [
- "string",
- "null"
- ]
- },
- "new_line": {
- "description": "Line number in modified file (after changes). REQUIRED when type='new', NULL when type='old' (for purely deleted lines), can be present for context lines. MUST be >= start.new_line if both specified.",
- "type": [
- "number",
- "null"
- ]
- },
- "old_line": {
- "description": "Line number in original file (before changes). REQUIRED when type='old', NULL when type='new' (for purely added lines), can be present for context lines. MUST be >= start.old_line if both specified.",
- "type": [
- "number",
- "null"
- ]
- },
- "type": {
- "anyOf": [
- {
- "enum": [
- "new",
- "old",
- "expanded",
- "logic",
- "style"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "description": "Line type: 'old' = deleted/original line, 'new' = added/modified line, null = unchanged context. SHOULD MATCH start.type for consistent ranges (don't mix old/new types)."
- }
- },
- "type": "object"
- },
- "start": {
- "additionalProperties": false,
- "description": "Start line position for multiline comment range. MUST specify either old_line OR new_line (or both for context), never neither.",
- "properties": {
- "line_code": {
- "description": "CRITICAL: Line identifier in format '{file_path_sha1_hash}_{old_line_number}_{new_line_number}'. USUALLY REQUIRED for GitLab diff comments despite being optional in schema. Example: 'a1b2c3d4e5f6_10_15'. Get this from GitLab diff API response, never fabricate.",
- "type": [
- "string",
- "null"
- ]
- },
- "new_line": {
- "description": "Line number in modified file (after changes). REQUIRED when type='new', NULL when type='old' (for purely deleted lines), can be present for context lines.",
- "type": [
- "number",
- "null"
- ]
- },
- "old_line": {
- "description": "Line number in original file (before changes). REQUIRED when type='old', NULL when type='new' (for purely added lines), can be present for context lines.",
- "type": [
- "number",
- "null"
- ]
- },
- "type": {
- "anyOf": [
- {
- "enum": [
- "new",
- "old",
- "expanded",
- "logic",
- "style"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "description": "Line type: 'old' = deleted/original line, 'new' = added/modified line, null = unchanged context. MUST match the line_code format and old_line/new_line values."
- }
- },
- "type": "object"
- }
- },
- "required": [
- "start",
- "end"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
-]New value: +[
+ {
+ "description": "Line range for multiline comments on GitLab merge request diffs. VALIDATION RULES: 1) line_code is critical for GitLab API success, 2) start/end must have consistent types, 3) line numbers must form valid range, 4) get line_code from GitLab diff API, never generate manually.",
+ "properties": {
+ "end": {
+ "description": "End line position for multiline comment range. MUST specify either old_line OR new_line (or both for context), never neither. Range must be valid (end >= start).",
+ "properties": {
+ "line_code": {
+ "description": "CRITICAL: Line identifier in format '{file_path_sha1_hash}_{old_line_number}_{new_line_number}'. USUALLY REQUIRED for GitLab diff comments despite being optional in schema. Example: 'a1b2c3d4e5f6_12_17'. Must be from same file as start.line_code.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "new_line": {
+ "description": "Line number in modified file (after changes). REQUIRED when type='new', NULL when type='old' (for purely deleted lines), can be present for context lines. MUST be >= start.new_line if both specified.",
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "old_line": {
+ "description": "Line number in original file (before changes). REQUIRED when type='old', NULL when type='new' (for purely added lines), can be present for context lines. MUST be >= start.old_line if both specified.",
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "type": {
+ "anyOf": [
+ {
+ "enum": [
+ "new",
+ "old",
+ "expanded",
+ "logic",
+ "style"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Line type: 'old' = deleted/original line, 'new' = added/modified line, null = unchanged context. SHOULD MATCH start.type for consistent ranges (don't mix old/new types)."
+ }
+ },
+ "type": "object"
+ },
+ "start": {
+ "description": "Start line position for multiline comment range. MUST specify either old_line OR new_line (or both for context), never neither.",
+ "properties": {
+ "line_code": {
+ "description": "CRITICAL: Line identifier in format '{file_path_sha1_hash}_{old_line_number}_{new_line_number}'. USUALLY REQUIRED for GitLab diff comments despite being optional in schema. Example: 'a1b2c3d4e5f6_10_15'. Get this from GitLab diff API response, never fabricate.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "new_line": {
+ "description": "Line number in modified file (after changes). REQUIRED when type='new', NULL when type='old' (for purely deleted lines), can be present for context lines.",
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "old_line": {
+ "description": "Line number in original file (before changes). REQUIRED when type='old', NULL when type='new' (for purely added lines), can be present for context lines.",
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "type": {
+ "anyOf": [
+ {
+ "enum": [
+ "new",
+ "old",
+ "expanded",
+ "logic",
+ "style"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Line type: 'old' = deleted/original line, 'new' = added/modified line, null = unchanged context. MUST match the line_code format and old_line/new_line values."
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "start",
+ "end"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+]