{ "apiVersion": "hub.example.com/v1alpha1", "kind": "ToolManifest", "metadata": { "name": "ProjectBrain Delivery Changeset Apply", "slug": "projectbrain-delivery-changeset-apply" }, "spec": { "canonicalName": "projectbrain.delivery.changeset.apply", "version": "1.2.0", "connectorType": "projectbrain", "description": "Apply up to 25 preflighted create, update, and delete operations to an approved delivery with exact branch-head and file-SHA locking.", "riskClass": "R2", "readOnly": false, "idempotent": false, "inputSchema": { "type": "object", "required": [ "project_id", "delivery_id", "branch", "expected_head_sha", "message", "operations" ], "properties": { "project_id": { "type": "string", "minLength": 1 }, "delivery_id": { "type": "string", "minLength": 1 }, "branch": { "type": "string", "minLength": 1 }, "expected_head_sha": { "type": "string", "pattern": "^[0-9a-f]{40,64}$" }, "message": { "type": "string", "minLength": 3, "maxLength": 200 }, "operations": { "type": "array", "items": { "anyOf": [ { "type": "object", "properties": { "operation": { "type": "string", "const": "create" }, "path": { "type": "string", "minLength": 1 }, "content": { "type": "string" }, "expected_sha": { "not": {} } }, "required": [ "operation", "path", "content" ], "additionalProperties": false }, { "type": "object", "properties": { "operation": { "type": "string", "const": "update" }, "path": { "type": "string", "minLength": 1 }, "content": { "type": "string" }, "expected_sha": { "type": "string", "minLength": 1, "maxLength": 200 } }, "required": [ "operation", "path", "content", "expected_sha" ], "additionalProperties": false }, { "type": "object", "properties": { "operation": { "type": "string", "const": "delete" }, "path": { "type": "string", "minLength": 1 }, "expected_sha": { "type": "string", "minLength": 1, "maxLength": 200 } }, "required": [ "operation", "path", "expected_sha" ], "additionalProperties": false } ] }, "minItems": 1, "maxItems": 25 }, "progress_note": { "type": "string", "maxLength": 2000 } }, "additionalProperties": false }, "outputSchema": { "type": "object" }, "limits": { "timeoutMs": 120000, "maxOutputBytes": 262144, "maxItems": 25 }, "redactionProfile": "documents", "requiredScopes": [ "project:{project}:write" ] } }