150 lines
4.2 KiB
YAML
150 lines
4.2 KiB
YAML
{
|
|
"apiVersion": "hub.example.com/v1alpha1",
|
|
"kind": "ToolManifest",
|
|
"metadata": {
|
|
"name": "Knowledge Hub Gitea Text Proposal",
|
|
"slug": "ingestion-text-proposal"
|
|
},
|
|
"spec": {
|
|
"canonicalName": "knowledge.ingestion.text_proposal",
|
|
"connectorToolName": "create_text_source_proposal",
|
|
"exposedNames": [
|
|
"create_text_source_proposal"
|
|
],
|
|
"version": "1.0.0",
|
|
"connectorType": "ingestion",
|
|
"description": "Scan bounded text already read by the separate Gitea MCP and create a complete Knowledge Hub proposal for human review. Source completeness and URI/ref/commit/SHA provenance are caller asserted; the supplied UTF-8 text must match the full Git blob SHA. The connector does not fetch a repository or independently verify its provenance.",
|
|
"riskClass": "R2",
|
|
"readOnly": false,
|
|
"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."
|
|
},
|
|
"source_file_name": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 128
|
|
},
|
|
"source_text": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 100000
|
|
},
|
|
"source_complete": {
|
|
"type": "boolean",
|
|
"const": true
|
|
},
|
|
"source_uri": {
|
|
"type": "string",
|
|
"pattern": "^itworx-git://",
|
|
"maxLength": 2048
|
|
},
|
|
"source_ref": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 300
|
|
},
|
|
"source_commit": {
|
|
"type": "string",
|
|
"pattern": "^[a-fA-F0-9]{7,64}$"
|
|
},
|
|
"source_sha": {
|
|
"type": "string",
|
|
"pattern": "^(?:[a-fA-F0-9]{40}|[a-fA-F0-9]{64})$"
|
|
},
|
|
"manifest": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 10000
|
|
},
|
|
"publication": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 300
|
|
},
|
|
"markdown": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 32000
|
|
},
|
|
"document_type": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 64
|
|
},
|
|
"document_status": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 64
|
|
},
|
|
"mutation_kind": {
|
|
"type": "string",
|
|
"enum": [
|
|
"CreatePage",
|
|
"UpdatePage"
|
|
]
|
|
},
|
|
"parent_page_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "uuid",
|
|
"description": "For CreatePage, pass the selected parent UUID or null to explicitly choose the workspace root."
|
|
},
|
|
"target_page_id": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"expected_target_etag": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 256
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"markdown",
|
|
"document_type",
|
|
"document_status",
|
|
"mutation_kind"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"source_file_name",
|
|
"source_text",
|
|
"source_complete",
|
|
"source_uri",
|
|
"source_ref",
|
|
"source_commit",
|
|
"source_sha",
|
|
"manifest",
|
|
"publication"
|
|
]
|
|
},
|
|
"outputSchema": {
|
|
"type": "object"
|
|
},
|
|
"limits": {
|
|
"timeoutMs": 120000,
|
|
"maxOutputBytes": 131072,
|
|
"maxItems": 1
|
|
},
|
|
"redactionProfile": "strict",
|
|
"requiredScopes": [
|
|
"project:{project}:write"
|
|
]
|
|
}
|
|
}
|