{ "type": "object", "required": [ "commit_message", "commit_sha", "source_branch", "target_branch", "files" ], "properties": { "commit_message": { "type": "string" }, "commit_sha": { "type": "string", "pattern": "^[0-9a-f]{40}$" }, "source_branch": { "type": "string" }, "target_branch": { "type": "string" }, "files": { "type": "array", "items": { "oneOf": [ { "$ref": "#/definitions/conflict-text-with-sections" }, { "$ref": "#/definitions/conflict-text-for-editor" } ] } } }, "definitions": { "conflict-base": { "type": "object", "required": [ "old_path", "new_path", "blob_icon", "blob_path" ], "properties": { "old_path": { "type": "string" }, "new_path": { "type": "string" }, "blob_icon": { "type": "string" }, "blob_path": { "type": "string" } } }, "conflict-text-for-editor": { "allOf": [ { "$ref": "#/definitions/conflict-base" }, { "type": "object", "required": [ "type", "content_path" ], "properties": { "type": { "type": "string", "enum": [ "text", "text-editor" ] }, "content_path": { "type": "string" } } } ] }, "conflict-text-with-sections": { "allOf": [ { "$ref": "#/definitions/conflict-base" }, { "type": "object", "required": [ "type", "content_path", "sections" ], "properties": { "type": { "type": "string", "enum": [ "text" ] }, "content_path": { "type": "string" }, "sections": { "type": "array", "items": { "oneOf": [ { "$ref": "#/definitions/section-context" }, { "$ref": "#/definitions/section-conflict" } ] } } } } ] }, "section-base": { "type": "object", "required": [ "conflict", "lines" ], "properties": { "conflict": { "type": "boolean" }, "lines": { "type": "array", "items": { "type": "object", "required": [ "old_line", "new_line", "text", "rich_text" ], "properties": { "type": { "type": "string" }, "old_line": { "type": "string" }, "new_line": { "type": "string" }, "text": { "type": "string" }, "rich_text": { "type": "string" } } } } } }, "section-context": { "allOf": [ { "$ref": "#/definitions/section-base" }, { "type": "object", "properties": { "conflict": { "type": "boolean" } } } ] }, "section-conflict": { "allOf": [ { "$ref": "#/definitions/section-base" }, { "type": "object", "required": [ "id" ], "properties": { "conflict": { "type": "boolean" }, "id": { "type": "string" } } } ] } } }