changedInput schema / properties / anchor / oneOf
Previous value: -[
- {
- "properties": {
- "kind": {
- "const": "document",
- "type": "string"
- }
- },
- "required": [
- "kind"
- ],
- "type": "object"
- },
- {
- "properties": {
- "kind": {
- "const": "text",
- "type": "string"
- },
- "quote": {
- "properties": {
- "exact": {
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
- },
- "prefix": {
- "default": "",
- "maxLength": 250,
- "type": "string"
- },
- "suffix": {
- "default": "",
- "maxLength": 250,
- "type": "string"
- }
- },
- "required": [
- "exact"
- ],
- "type": "object"
- }
- },
- "required": [
- "kind",
- "quote"
- ],
- "type": "object"
- },
- {
- "properties": {
- "kind": {
- "const": "element",
- "type": "string"
- },
- "path": {
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
- },
- "quote": {
- "properties": {
- "exact": {
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
- },
- "prefix": {
- "default": "",
- "maxLength": 250,
- "type": "string"
- },
- "suffix": {
- "default": "",
- "maxLength": 250,
- "type": "string"
- }
- },
- "required": [
- "exact"
- ],
- "type": "object"
- }
- },
- "required": [
- "kind",
- "path"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "properties": {
+ "kind": {
+ "const": "document",
+ "description": "Anchor the thread to the whole artifact.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "kind": {
+ "const": "text",
+ "description": "Anchor the thread to an exact text selection.",
+ "type": "string"
+ },
+ "quote": {
+ "description": "Text selection and optional surrounding context.",
+ "properties": {
+ "exact": {
+ "description": "Exact selected text in the referenced version.",
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "prefix": {
+ "default": "",
+ "description": "Optional text immediately before the selection.",
+ "maxLength": 250,
+ "type": "string"
+ },
+ "suffix": {
+ "default": "",
+ "description": "Optional text immediately after the selection.",
+ "maxLength": 250,
+ "type": "string"
+ }
+ },
+ "required": [
+ "exact"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "kind",
+ "quote"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "kind": {
+ "const": "element",
+ "description": "Anchor the thread to an HTML element path.",
+ "type": "string"
+ },
+ "path": {
+ "description": "Stable DOM path for the referenced HTML element.",
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "quote": {
+ "description": "Optional text context used to carry the anchor forward.",
+ "properties": {
+ "exact": {
+ "description": "Exact selected text in the referenced version.",
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "prefix": {
+ "default": "",
+ "description": "Optional text immediately before the selection.",
+ "maxLength": 250,
+ "type": "string"
+ },
+ "suffix": {
+ "default": "",
+ "description": "Optional text immediately after the selection.",
+ "maxLength": 250,
+ "type": "string"
+ }
+ },
+ "required": [
+ "exact"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "kind",
+ "path"
+ ],
+ "type": "object"
+ }
+]
changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "additionalProperties": false,
+ "description": "Preserved review thread with its replies and status.",
+ "properties": {
+ "anchor": {
+ "description": "Location for a new thread: the whole artifact, exact text, or an HTML element.",
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "document",
+ "description": "Anchor the thread to the whole artifact.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "text",
+ "description": "Anchor the thread to an exact text selection.",
+ "type": "string"
+ },
+ "quote": {
+ "additionalProperties": false,
+ "description": "Text selection and optional surrounding context.",
+ "properties": {
+ "exact": {
+ "description": "Exact selected text in the referenced version.",
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "prefix": {
+ "default": "",
+ "description": "Optional text immediately before the selection.",
+ "maxLength": 250,
+ "type": "string"
+ },
+ "suffix": {
+ "default": "",
+ "description": "Optional text immediately after the selection.",
+ "maxLength": 250,
+ "type": "string"
+ }
+ },
+ "required": [
+ "exact",
+ "prefix",
+ "suffix"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "kind",
+ "quote"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "element",
+ "description": "Anchor the thread to an HTML element path.",
+ "type": "string"
+ },
+ "path": {
+ "description": "Stable DOM path for the referenced HTML element.",
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "quote": {
+ "additionalProperties": false,
+ "description": "Optional text context used to carry the anchor forward.",
+ "properties": {
+ "exact": {
+ "description": "Exact selected text in the referenced version.",
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "prefix": {
+ "default": "",
+ "description": "Optional text immediately before the selection.",
+ "maxLength": 250,
+ "type": "string"
+ },
+ "suffix": {
+ "default": "",
+ "description": "Optional text immediately after the selection.",
+ "maxLength": 250,
+ "type": "string"
+ }
+ },
+ "required": [
+ "exact",
+ "prefix",
+ "suffix"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "kind",
+ "path"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "comments": {
+ "items": {
+ "additionalProperties": false,
+ "description": "One saved review comment.",
+ "properties": {
+ "authorId": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "authorName": {
+ "type": "string"
+ },
+ "authorOnBehalfOfId": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "authorOnBehalfOfName": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "body": {
+ "type": "string"
+ },
+ "createdAt": {
+ "description": "ISO 8601 timestamp.",
+ "type": "string"
+ },
+ "editedAt": {
+ "anyOf": [
+ {
+ "description": "ISO 8601 timestamp.",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "authorId",
+ "authorName",
+ "authorOnBehalfOfId",
+ "authorOnBehalfOfName",
+ "body",
+ "createdAt",
+ "editedAt",
+ "id"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "createdAt": {
+ "description": "ISO 8601 timestamp.",
+ "type": "string"
+ },
+ "createdVersionId": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "currentVersionId": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "documentId": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "outdated": {
+ "type": "boolean"
+ },
+ "resolvedAt": {
+ "anyOf": [
+ {
+ "description": "ISO 8601 timestamp.",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "resolvedBy": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "resolvedByName": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "resolvedOnBehalfOfId": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "resolvedOnBehalfOfName": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "status": {
+ "description": "Current review-thread state.",
+ "enum": [
+ "open",
+ "resolved"
+ ],
+ "type": "string"
+ },
+ "statusUpdatedAt": {
+ "anyOf": [
+ {
+ "description": "ISO 8601 timestamp.",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "statusUpdatedBy": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "statusUpdatedByName": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "statusUpdatedOnBehalfOfId": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "statusUpdatedOnBehalfOfName": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "anchor",
+ "comments",
+ "createdAt",
+ "createdVersionId",
+ "currentVersionId",
+ "documentId",
+ "id",
+ "outdated",
+ "resolvedAt",
+ "resolvedBy",
+ "resolvedByName",
+ "resolvedOnBehalfOfId",
+ "resolvedOnBehalfOfName",
+ "status",
+ "statusUpdatedAt",
+ "statusUpdatedBy",
+ "statusUpdatedByName",
+ "statusUpdatedOnBehalfOfId",
+ "statusUpdatedOnBehalfOfName"
+ ],
+ "type": "object"
+}