139 lines
3.2 KiB
YAML
139 lines
3.2 KiB
YAML
{
|
|
"apiVersion": "hub.example.com/v1alpha1",
|
|
"kind": "ToolManifest",
|
|
"metadata": {
|
|
"name": "Knowledge Document Search",
|
|
"slug": "knowledge-document-search"
|
|
},
|
|
"spec": {
|
|
"canonicalName": "knowledge.document.search",
|
|
"version": "1.0.0",
|
|
"connectorType": "knowledge",
|
|
"description": "Search authorized indexed project documents and return bounded source-cited hits.",
|
|
"riskClass": "R1",
|
|
"readOnly": true,
|
|
"idempotent": true,
|
|
"inputSchema": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"query": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 1000
|
|
},
|
|
"sourceTypes": {
|
|
"type": "array",
|
|
"uniqueItems": true,
|
|
"maxItems": 8,
|
|
"items": {
|
|
"enum": [
|
|
"documentation",
|
|
"adr",
|
|
"runbook",
|
|
"readme",
|
|
"current-state",
|
|
"release-note"
|
|
]
|
|
}
|
|
},
|
|
"limit": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 20,
|
|
"default": 10
|
|
},
|
|
"cursor": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"maxLength": 500,
|
|
"default": null
|
|
}
|
|
},
|
|
"required": [
|
|
"query"
|
|
]
|
|
},
|
|
"outputSchema": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"items": {
|
|
"type": "array",
|
|
"maxItems": 100,
|
|
"items": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"uri": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 2048
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"maxLength": 300
|
|
},
|
|
"snippet": {
|
|
"type": "string",
|
|
"maxLength": 2000
|
|
},
|
|
"sourceType": {
|
|
"type": "string",
|
|
"maxLength": 80
|
|
},
|
|
"sourceRevision": {
|
|
"type": "string",
|
|
"maxLength": 200
|
|
},
|
|
"score": {
|
|
"type": "number",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"required": [
|
|
"uri",
|
|
"title",
|
|
"snippet",
|
|
"sourceType",
|
|
"sourceRevision",
|
|
"score"
|
|
]
|
|
}
|
|
},
|
|
"nextCursor": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"maxLength": 500
|
|
},
|
|
"truncated": {
|
|
"type": "boolean"
|
|
},
|
|
"generatedAt": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
"required": [
|
|
"items",
|
|
"nextCursor",
|
|
"truncated",
|
|
"generatedAt"
|
|
]
|
|
},
|
|
"limits": {
|
|
"timeoutMs": 10000,
|
|
"maxOutputBytes": 131072,
|
|
"maxItems": 20
|
|
},
|
|
"redactionProfile": "documents",
|
|
"requiredScopes": [
|
|
"project:{project}:read"
|
|
]
|
|
}
|
|
}
|