{ "apiVersion": "hub.example.com/v1alpha1", "kind": "ToolManifest", "metadata": { "name": "Gitea Portfolio Issue Search", "slug": "gitea-issue-search" }, "spec": { "canonicalName": "gitea.issue.search", "version": "1.0.0", "connectorType": "gitea", "description": "Search issue metadata across the scoped repository portfolio in one call.", "riskClass": "R1", "readOnly": true, "idempotent": true, "inputSchema": { "type": "object", "additionalProperties": false, "properties": { "state": { "enum": ["open", "closed", "all"], "default": "open" }, "excludeRepositoryNames": { "type": "array", "maxItems": 20, "uniqueItems": true, "items": { "type": "string", "minLength": 1, "maxLength": 120 }, "default": [] }, "limit": { "type": "integer", "minimum": 1, "maximum": 100, "default": 100 }, "cursor": { "type": ["string", "null"], "maxLength": 500, "default": null } } }, "outputSchema": { "type": "object", "additionalProperties": false, "properties": { "items": { "type": "array", "maxItems": 100, "items": { "type": "object", "additionalProperties": false, "properties": { "repositoryRef": {"type": "string", "maxLength": 128}, "repositoryFullName": {"type": "string", "maxLength": 242}, "number": {"type": "integer", "minimum": 0}, "title": {"type": "string", "maxLength": 500}, "state": {"type": "string", "maxLength": 32}, "updatedAt": {"type": "string", "maxLength": 64}, "labels": { "type": "array", "maxItems": 20, "items": {"type": "string", "maxLength": 100} }, "sourceUri": {"type": "string", "maxLength": 2048} }, "required": [ "repositoryRef", "repositoryFullName", "number", "title", "state", "updatedAt", "labels", "sourceUri" ] } }, "nextCursor": {"type": ["string", "null"], "maxLength": 500}, "truncated": {"type": "boolean"}, "generatedAt": {"type": "string", "format": "date-time"} }, "required": ["items", "nextCursor", "truncated", "generatedAt"] }, "limits": { "timeoutMs": 5000, "maxOutputBytes": 262144, "maxItems": 100 }, "redactionProfile": "metadata", "requiredScopes": ["project:{project}:read"] } }