99 lines
2.8 KiB
YAML
99 lines
2.8 KiB
YAML
{
|
|
"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"]
|
|
}
|
|
}
|