89 lines
2.5 KiB
YAML
89 lines
2.5 KiB
YAML
{
|
||
"apiVersion": "hub.example.com/v1alpha1",
|
||
"kind": "ToolManifest",
|
||
"metadata": {
|
||
"name": "Knowledge Hub Attachment Text",
|
||
"slug": "ingestion-extract"
|
||
},
|
||
"spec": {
|
||
"canonicalName": "knowledge.ingestion.extract",
|
||
"connectorToolName": "extract_knowledge_files",
|
||
"exposedNames": [
|
||
"extract_knowledge_files"
|
||
],
|
||
"version": "1.0.0",
|
||
"connectorType": "ingestion",
|
||
"description": "Scan and extract attached file text in explicit 12,000-character pages with per-file SHA-256 and coverage. This read has no proposal side effects; continue until allFilesComplete is true.",
|
||
"riskClass": "R1",
|
||
"readOnly": true,
|
||
"idempotent": true,
|
||
"inputSchema": {
|
||
"type": "object",
|
||
"additionalProperties": false,
|
||
"properties": {
|
||
"project_id": {
|
||
"type": "string",
|
||
"format": "uuid",
|
||
"description": "Optional target project UUID. If omitted, the operation uses the Knowledge Hub workspace; this requires the default-off server policy and the trusted knowledge-hub/prod connector identity. A supplied UUID remains strictly allowlisted."
|
||
},
|
||
"files": {
|
||
"type": "array",
|
||
"minItems": 1,
|
||
"maxItems": 5,
|
||
"items": {
|
||
"type": "object",
|
||
"additionalProperties": false,
|
||
"properties": {
|
||
"download_url": {
|
||
"type": "string",
|
||
"format": "uri",
|
||
"maxLength": 8192
|
||
},
|
||
"file_id": {
|
||
"type": "string",
|
||
"minLength": 1,
|
||
"maxLength": 128,
|
||
"description": "Opaque attachment reference; preserve its exact value. Must contain 1–128 printable Unicode characters."
|
||
},
|
||
"mime_type": {
|
||
"type": "string",
|
||
"maxLength": 128
|
||
},
|
||
"file_name": {
|
||
"type": "string",
|
||
"maxLength": 255
|
||
}
|
||
},
|
||
"required": [
|
||
"download_url",
|
||
"file_id"
|
||
]
|
||
}
|
||
},
|
||
"page_cursor": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
],
|
||
"maxLength": 256
|
||
}
|
||
},
|
||
"required": [
|
||
"files"
|
||
]
|
||
},
|
||
"outputSchema": {
|
||
"type": "object"
|
||
},
|
||
"limits": {
|
||
"timeoutMs": 120000,
|
||
"maxOutputBytes": 131072,
|
||
"maxItems": 5
|
||
},
|
||
"redactionProfile": "strict",
|
||
"requiredScopes": [
|
||
"project:{project}:write"
|
||
]
|
||
}
|
||
}
|