Files
ITWorx_MCP_Hub-Public/catalog/tools/projectbrain-delivery-changeset-apply.yaml
T

155 lines
4.0 KiB
YAML

{
"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"
]
}
}