changedInput schema / oneOf
Previous value: -[
- {
- "additionalProperties": false,
- "properties": {
- "operation": {
- "const": "graph_project",
- "type": "string"
- },
- "payload": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "changeNarrative": {
- "additionalProperties": false,
- "properties": {
- "added": {
- "maxLength": 600,
- "minLength": 1,
- "type": "string"
- },
- "relationships": {
- "maxLength": 600,
- "minLength": 1,
- "type": "string"
- },
- "removed": {
- "maxLength": 600,
- "minLength": 1,
- "type": "string"
- },
- "updated": {
- "maxLength": 600,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "added",
- "updated",
- "removed",
- "relationships"
- ],
- "type": "object"
- },
- "declaredCanonicalBytes": {
- "maximum": 67108864,
- "minimum": 0,
- "type": "integer"
- },
- "declaredChunkCount": {
- "maximum": 512,
- "minimum": 0,
- "type": "integer"
- },
- "declaredEdgeCount": {
- "maximum": 250000,
- "minimum": 0,
- "type": "integer"
- },
- "declaredNodeCount": {
- "maximum": 100000,
- "minimum": 0,
- "type": "integer"
- },
- "declaredProseBytes": {
- "maximum": 1048576,
- "minimum": 0,
- "type": "integer"
- },
- "executionId": {
- "maxLength": 200,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
- "type": "string"
- },
- "expectedProjectVersion": {
- "minimum": 0,
- "type": "integer"
- },
- "idempotencyKey": {
- "maxLength": 128,
- "minLength": 16,
- "pattern": "^[A-Za-z0-9_-]+$",
- "type": "string"
- },
- "mappedRevision": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
- "type": "string",
- "x-brain-scanner-additive-safe": true
- },
- "phase": {
- "const": "begin",
- "type": "string"
- },
- "projectId": {
- "maxLength": 200,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
- "type": "string"
- },
- "sessionId": {
- "maxLength": 200,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
- "type": "string"
- }
- },
- "required": [
- "phase",
- "projectId",
- "expectedProjectVersion",
- "declaredChunkCount",
- "declaredCanonicalBytes",
- "declaredNodeCount",
- "declaredEdgeCount",
- "declaredProseBytes",
- "idempotencyKey",
- "changeNarrative"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "chunkDigest": {
- "pattern": "^[0-9a-f]{64}$",
- "type": "string"
- },
- "chunkIndex": {
- "maximum": 511,
- "minimum": 0,
- "type": "integer"
- },
- "chunkSize": {
- "maximum": 196608,
- "minimum": 0,
- "type": "integer"
- },
- "edges": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "id": {
- "maxLength": 500,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
- "type": "string"
- },
- "label": {
- "maxLength": 240,
- "type": "string"
- },
- "sourceId": {
- "maxLength": 500,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
- "type": "string"
- },
- "status": {
- "maxLength": 64,
- "minLength": 1,
- "pattern": "^[a-z0-9][a-z0-9_-]*$",
- "type": "string"
- },
- "targetId": {
- "maxLength": 500,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
- "type": "string"
- },
- "type": {
- "maxLength": 64,
- "minLength": 1,
- "pattern": "^[a-z0-9][a-z0-9_-]*$",
- "type": "string"
- }
- },
- "required": [
- "id",
- "sourceId",
- "targetId",
- "type"
- ],
- "type": "object"
- },
- "maxItems": 15000,
- "type": "array"
- },
- "executionId": {
- "maxLength": 200,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
- "type": "string"
- },
- "idempotencyKey": {
- "maxLength": 128,
- "minLength": 16,
- "pattern": "^[A-Za-z0-9_-]+$",
- "type": "string"
- },
- "nodes": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "id": {
- "maxLength": 500,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
- "type": "string"
- },
- "label": {
- "maxLength": 240,
- "type": "string"
- },
- "localPath": {
- "maxLength": 1000,
- "minLength": 1,
- "type": "string",
- "x-brain-scanner-additive-safe": true
- },
- "mappedBy": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
- "type": "string",
- "x-brain-scanner-additive-safe": true
- },
- "parentId": {
- "maxLength": 500,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
- "type": "string"
- },
- "relativePath": {
- "maxLength": 500,
- "minLength": 1,
- "pattern": "^(?!/)(?!.*(?:^|/)\\.\\.?($|/))(?!.*[\\\\:])[\\x20-\\x7e]+$",
- "type": "string"
- },
- "spanLines": {
- "maximum": 1000000,
- "minimum": 0,
- "type": "integer",
- "x-brain-scanner-additive-safe": true
- },
- "status": {
- "maxLength": 64,
- "minLength": 1,
- "pattern": "^[a-z0-9][a-z0-9_-]*$",
- "type": "string"
- },
- "summary": {
- "maxLength": 240,
- "type": "string"
- },
- "tags": {
- "items": {
- "maxLength": 64,
- "minLength": 1,
- "pattern": "^[a-z0-9][a-z0-9_-]*$",
- "type": "string"
- },
- "maxItems": 16,
- "type": "array",
- "uniqueItems": true
- },
- "type": {
- "maxLength": 64,
- "minLength": 1,
- "pattern": "^[a-z0-9][a-z0-9_-]*$",
- "type": "string"
- }
- },
- "required": [
- "id",
- "type",
- "label",
- "status"
- ],
- "type": "object"
- },
- "maxItems": 5000,
- "type": "array"
- },
- "phase": {
- "const": "append",
- "type": "string"
- },
- "projectId": {
- "maxLength": 200,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
- "type": "string"
- },
- "sessionId": {
- "maxLength": 200,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
- "type": "string"
- },
- "syncId": {
- "maxLength": 200,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
- "type": "string"
- }
- },
- "required": [
- "phase",
- "projectId",
- "syncId",
- "chunkIndex",
- "chunkDigest",
- "chunkSize",
- "nodes",
- "edges",
- "idempotencyKey"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "canonicalBytes": {
- "maximum": 67108864,
- "minimum": 0,
- "type": "integer"
- },
- "chunkCount": {
- "maximum": 512,
- "minimum": 0,
- "type": "integer"
- },
- "edgeCount": {
- "maximum": 250000,
- "minimum": 0,
- "type": "integer"
- },
- "executionId": {
- "maxLength": 200,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
- "type": "string"
- },
- "idempotencyKey": {
- "maxLength": 128,
- "minLength": 16,
- "pattern": "^[A-Za-z0-9_-]+$",
- "type": "string"
- },
- "nodeCount": {
- "maximum": 100000,
- "minimum": 0,
- "type": "integer"
- },
- "orderedChunkDigest": {
- "pattern": "^[0-9a-f]{64}$",
- "type": "string"
- },
- "phase": {
- "const": "seal",
- "type": "string"
- },
- "projectId": {
- "maxLength": 200,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
- "type": "string"
- },
- "proseBytes": {
- "maximum": 1048576,
- "minimum": 0,
- "type": "integer"
- },
- "sessionId": {
- "maxLength": 200,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
- "type": "string"
- },
- "syncId": {
- "maxLength": 200,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
- "type": "string"
- }
- },
- "required": [
- "phase",
- "projectId",
- "syncId",
- "chunkCount",
- "canonicalBytes",
- "nodeCount",
- "edgeCount",
- "proseBytes",
- "orderedChunkDigest",
- "idempotencyKey"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "executionId": {
- "maxLength": 200,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
- "type": "string"
- },
- "expectedProjectVersion": {
- "minimum": 0,
- "type": "integer"
- },
- "idempotencyKey": {
- "maxLength": 128,
- "minLength": 16,
- "pattern": "^[A-Za-z0-9_-]+$",
- "type": "string"
- },
- "phase": {
- "const": "commit",
- "type": "string"
- },
- "projectId": {
- "maxLength": 200,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
- "type": "string"
- },
- "sealedManifestDigest": {
- "pattern": "^[0-9a-f]{64}$",
- "type": "string"
- },
- "sessionId": {
- "maxLength": 200,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
- "type": "string"
- },
- "syncId": {
- "maxLength": 200,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
- "type": "string"
- }
- },
- "required": [
- "phase",
- "projectId",
- "syncId",
- "sealedManifestDigest",
- "expectedProjectVersion",
- "idempotencyKey"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "executionId": {
- "maxLength": 200,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
- "type": "string"
- },
- "phase": {
- "const": "status",
- "type": "string"
- },
- "projectId": {
- "maxLength": 200,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
- "type": "string"
- },
- "sessionId": {
- "maxLength": 200,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
- "type": "string"
- },
- "syncId": {
- "maxLength": 200,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
- "type": "string"
- }
- },
- "required": [
- "phase",
- "projectId",
- "syncId"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "executionId": {
- "maxLength": 200,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
- "type": "string"
- },
- "idempotencyKey": {
- "maxLength": 128,
- "minLength": 16,
- "pattern": "^[A-Za-z0-9_-]+$",
- "type": "string"
- },
- "phase": {
- "const": "abort",
- "type": "string"
- },
- "projectId": {
- "maxLength": 200,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
- "type": "string"
- },
- "sessionId": {
- "maxLength": 200,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
- "type": "string"
- },
- "syncId": {
- "maxLength": 200,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
- "type": "string"
- }
- },
- "required": [
- "phase",
- "projectId",
- "syncId",
- "idempotencyKey"
- ],
- "type": "object"
- }
- ],
- "type": "object"
- }
- },
- "required": [
- "operation",
- "payload"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "additionalProperties": false,
+ "properties": {
+ "operation": {
+ "const": "graph_project",
+ "description": "Select this exact operation; payload must match this branch.",
+ "type": "string"
+ },
+ "payload": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "changeNarrative": {
+ "additionalProperties": false,
+ "properties": {
+ "added": {
+ "maxLength": 600,
+ "minLength": 1,
+ "type": "string"
+ },
+ "relationships": {
+ "maxLength": 600,
+ "minLength": 1,
+ "type": "string"
+ },
+ "removed": {
+ "maxLength": 600,
+ "minLength": 1,
+ "type": "string"
+ },
+ "updated": {
+ "maxLength": 600,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "added",
+ "updated",
+ "removed",
+ "relationships"
+ ],
+ "type": "object"
+ },
+ "declaredCanonicalBytes": {
+ "maximum": 67108864,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "declaredChunkCount": {
+ "maximum": 512,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "declaredEdgeCount": {
+ "maximum": 250000,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "declaredNodeCount": {
+ "maximum": 100000,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "declaredProseBytes": {
+ "maximum": 1048576,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "executionId": {
+ "description": "Owned project ID returned by list_linked_projects or map_project; do not use a local path or repository URL.",
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
+ "type": "string"
+ },
+ "expectedProjectVersion": {
+ "description": "Current hosted project version from get_project_status; guards against overwriting a newer graph publication.",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "idempotencyKey": {
+ "description": "Caller-generated retry key. Reuse the same key and identical payload only to retry the same mutation; use a new key for a new action.",
+ "maxLength": 128,
+ "minLength": 16,
+ "pattern": "^[A-Za-z0-9_-]+$",
+ "type": "string"
+ },
+ "mappedRevision": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
+ "type": "string",
+ "x-brain-scanner-additive-safe": true
+ },
+ "phase": {
+ "const": "begin",
+ "type": "string"
+ },
+ "projectId": {
+ "description": "Owned project ID returned by list_linked_projects or map_project; do not use a local path or repository URL.",
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
+ "type": "string"
+ },
+ "sessionId": {
+ "description": "Owned project ID returned by list_linked_projects or map_project; do not use a local path or repository URL.",
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "phase",
+ "projectId",
+ "expectedProjectVersion",
+ "declaredChunkCount",
+ "declaredCanonicalBytes",
+ "declaredNodeCount",
+ "declaredEdgeCount",
+ "declaredProseBytes",
+ "idempotencyKey",
+ "changeNarrative"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "chunkDigest": {
+ "pattern": "^[0-9a-f]{64}$",
+ "type": "string"
+ },
+ "chunkIndex": {
+ "maximum": 511,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "chunkSize": {
+ "maximum": 196608,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "edges": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "maxLength": 500,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
+ "type": "string"
+ },
+ "label": {
+ "maxLength": 240,
+ "type": "string"
+ },
+ "sourceId": {
+ "maxLength": 500,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
+ "type": "string"
+ },
+ "status": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[a-z0-9][a-z0-9_-]*$",
+ "type": "string"
+ },
+ "targetId": {
+ "maxLength": 500,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
+ "type": "string"
+ },
+ "type": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[a-z0-9][a-z0-9_-]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "sourceId",
+ "targetId",
+ "type"
+ ],
+ "type": "object"
+ },
+ "maxItems": 15000,
+ "type": "array"
+ },
+ "executionId": {
+ "description": "Owned project ID returned by list_linked_projects or map_project; do not use a local path or repository URL.",
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
+ "type": "string"
+ },
+ "idempotencyKey": {
+ "description": "Caller-generated retry key. Reuse the same key and identical payload only to retry the same mutation; use a new key for a new action.",
+ "maxLength": 128,
+ "minLength": 16,
+ "pattern": "^[A-Za-z0-9_-]+$",
+ "type": "string"
+ },
+ "nodes": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "maxLength": 500,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
+ "type": "string"
+ },
+ "label": {
+ "maxLength": 240,
+ "type": "string"
+ },
+ "localPath": {
+ "maxLength": 1000,
+ "minLength": 1,
+ "type": "string",
+ "x-brain-scanner-additive-safe": true
+ },
+ "mappedBy": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
+ "type": "string",
+ "x-brain-scanner-additive-safe": true
+ },
+ "parentId": {
+ "maxLength": 500,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
+ "type": "string"
+ },
+ "relativePath": {
+ "maxLength": 500,
+ "minLength": 1,
+ "pattern": "^(?!/)(?!.*(?:^|/)\\.\\.?($|/))(?!.*[\\\\:])[\\x20-\\x7e]+$",
+ "type": "string"
+ },
+ "spanLines": {
+ "maximum": 1000000,
+ "minimum": 0,
+ "type": "integer",
+ "x-brain-scanner-additive-safe": true
+ },
+ "status": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[a-z0-9][a-z0-9_-]*$",
+ "type": "string"
+ },
+ "summary": {
+ "maxLength": 240,
+ "type": "string"
+ },
+ "tags": {
+ "items": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[a-z0-9][a-z0-9_-]*$",
+ "type": "string"
+ },
+ "maxItems": 16,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "type": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[a-z0-9][a-z0-9_-]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "label",
+ "status"
+ ],
+ "type": "object"
+ },
+ "maxItems": 5000,
+ "type": "array"
+ },
+ "phase": {
+ "const": "append",
+ "type": "string"
+ },
+ "projectId": {
+ "description": "Owned project ID returned by list_linked_projects or map_project; do not use a local path or repository URL.",
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
+ "type": "string"
+ },
+ "sessionId": {
+ "description": "Owned project ID returned by list_linked_projects or map_project; do not use a local path or repository URL.",
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
+ "type": "string"
+ },
+ "syncId": {
+ "description": "Owned project ID returned by list_linked_projects or map_project; do not use a local path or repository URL.",
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "phase",
+ "projectId",
+ "syncId",
+ "chunkIndex",
+ "chunkDigest",
+ "chunkSize",
+ "nodes",
+ "edges",
+ "idempotencyKey"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "canonicalBytes": {
+ "maximum": 67108864,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "chunkCount": {
+ "maximum": 512,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "edgeCount": {
+ "maximum": 250000,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "executionId": {
+ "description": "Owned project ID returned by list_linked_projects or map_project; do not use a local path or repository URL.",
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
+ "type": "string"
+ },
+ "idempotencyKey": {
+ "description": "Caller-generated retry key. Reuse the same key and identical payload only to retry the same mutation; use a new key for a new action.",
+ "maxLength": 128,
+ "minLength": 16,
+ "pattern": "^[A-Za-z0-9_-]+$",
+ "type": "string"
+ },
+ "nodeCount": {
+ "maximum": 100000,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "orderedChunkDigest": {
+ "pattern": "^[0-9a-f]{64}$",
+ "type": "string"
+ },
+ "phase": {
+ "const": "seal",
+ "type": "string"
+ },
+ "projectId": {
+ "description": "Owned project ID returned by list_linked_projects or map_project; do not use a local path or repository URL.",
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
+ "type": "string"
+ },
+ "proseBytes": {
+ "maximum": 1048576,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "sessionId": {
+ "description": "Owned project ID returned by list_linked_projects or map_project; do not use a local path or repository URL.",
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
+ "type": "string"
+ },
+ "syncId": {
+ "description": "Owned project ID returned by list_linked_projects or map_project; do not use a local path or repository URL.",
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "phase",
+ "projectId",
+ "syncId",
+ "chunkCount",
+ "canonicalBytes",
+ "nodeCount",
+ "edgeCount",
+ "proseBytes",
+ "orderedChunkDigest",
+ "idempotencyKey"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "executionId": {
+ "description": "Owned project ID returned by list_linked_projects or map_project; do not use a local path or repository URL.",
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
+ "type": "string"
+ },
+ "expectedProjectVersion": {
+ "description": "Current hosted project version from get_project_status; guards against overwriting a newer graph publication.",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "idempotencyKey": {
+ "description": "Caller-generated retry key. Reuse the same key and identical payload only to retry the same mutation; use a new key for a new action.",
+ "maxLength": 128,
+ "minLength": 16,
+ "pattern": "^[A-Za-z0-9_-]+$",
+ "type": "string"
+ },
+ "phase": {
+ "const": "commit",
+ "type": "string"
+ },
+ "projectId": {
+ "description": "Owned project ID returned by list_linked_projects or map_project; do not use a local path or repository URL.",
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
+ "type": "string"
+ },
+ "sealedManifestDigest": {
+ "pattern": "^[0-9a-f]{64}$",
+ "type": "string"
+ },
+ "sessionId": {
+ "description": "Owned project ID returned by list_linked_projects or map_project; do not use a local path or repository URL.",
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
+ "type": "string"
+ },
+ "syncId": {
+ "description": "Owned project ID returned by list_linked_projects or map_project; do not use a local path or repository URL.",
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "phase",
+ "projectId",
+ "syncId",
+ "sealedManifestDigest",
+ "expectedProjectVersion",
+ "idempotencyKey"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "executionId": {
+ "description": "Owned project ID returned by list_linked_projects or map_project; do not use a local path or repository URL.",
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
+ "type": "string"
+ },
+ "phase": {
+ "const": "status",
+ "type": "string"
+ },
+ "projectId": {
+ "description": "Owned project ID returned by list_linked_projects or map_project; do not use a local path or repository URL.",
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
+ "type": "string"
+ },
+ "sessionId": {
+ "description": "Owned project ID returned by list_linked_projects or map_project; do not use a local path or repository URL.",
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
+ "type": "string"
+ },
+ "syncId": {
+ "description": "Owned project ID returned by list_linked_projects or map_project; do not use a local path or repository URL.",
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "phase",
+ "projectId",
+ "syncId"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "executionId": {
+ "description": "Owned project ID returned by list_linked_projects or map_project; do not use a local path or repository URL.",
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
+ "type": "string"
+ },
+ "idempotencyKey": {
+ "description": "Caller-generated retry key. Reuse the same key and identical payload only to retry the same mutation; use a new key for a new action.",
+ "maxLength": 128,
+ "minLength": 16,
+ "pattern": "^[A-Za-z0-9_-]+$",
+ "type": "string"
+ },
+ "phase": {
+ "const": "abort",
+ "type": "string"
+ },
+ "projectId": {
+ "description": "Owned project ID returned by list_linked_projects or map_project; do not use a local path or repository URL.",
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
+ "type": "string"
+ },
+ "sessionId": {
+ "description": "Owned project ID returned by list_linked_projects or map_project; do not use a local path or repository URL.",
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
+ "type": "string"
+ },
+ "syncId": {
+ "description": "Owned project ID returned by list_linked_projects or map_project; do not use a local path or repository URL.",
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+~-]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "phase",
+ "projectId",
+ "syncId",
+ "idempotencyKey"
+ ],
+ "type": "object"
+ }
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "operation",
+ "payload"
+ ],
+ "type": "object"
+ }
+]