{ "apiVersion": "hub.example.com/v1alpha1", "kind": "ToolManifest", "metadata": { "name": "Deployment Stack Inspect", "slug": "deployment-stack-inspect" }, "spec": { "canonicalName": "deployment.stack.inspect", "version": "1.0.0", "connectorType": "deployment", "description": "Inspect a registered Compose deployment without exposing raw compose paths or write actions.", "riskClass": "R1", "readOnly": true, "idempotent": true, "inputSchema": { "type": "object", "additionalProperties": false, "properties": { "deploymentRef": { "type": "string", "pattern": "^[a-z0-9][a-z0-9-]{0,127}$" } }, "required": [ "deploymentRef" ] }, "outputSchema": { "type": "object", "additionalProperties": false, "properties": { "deploymentRef": { "type": "string", "pattern": "^[a-z0-9][a-z0-9-]{0,127}$" }, "composeProject": { "type": "string", "maxLength": 200 }, "revision": { "type": [ "string", "null" ], "maxLength": 200 }, "services": { "type": "array", "maxItems": 100, "items": { "type": "object", "additionalProperties": false, "properties": { "name": { "type": "string", "maxLength": 200 }, "image": { "type": "string", "maxLength": 500 }, "containerRef": { "type": [ "string", "null" ], "maxLength": 128 } }, "required": [ "name", "image", "containerRef" ] } }, "generatedAt": { "type": "string", "format": "date-time" } }, "required": [ "deploymentRef", "composeProject", "revision", "services", "generatedAt" ] }, "limits": { "timeoutMs": 10000, "maxOutputBytes": 262144, "maxItems": 100 }, "redactionProfile": "metadata", "requiredScopes": [ "project:{project}:read" ] } }