mirror of
https://github.com/langgenius/dify.git
synced 2026-09-02 14:25:35 +08:00
1344 lines
48 KiB
Python
1344 lines
48 KiB
Python
"""Typed Dify BFF manifest and explicit gaps against the Capability v2 registry.
|
|
|
|
An operation is executable only when ``capability_operation_id`` resolves to an
|
|
exact method/path/action/resource entry in the P2 registry. Declared operations
|
|
without an executable transport remain explicit gaps and fail before token
|
|
issuance or external I/O.
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
from enum import StrEnum
|
|
from types import MappingProxyType
|
|
from typing import Final, Literal, NamedTuple
|
|
|
|
from services.knowledge_fs_capability import KNOWLEDGE_FS_CAPABILITY_OPERATIONS
|
|
|
|
|
|
class KnowledgeFSProductPermission(StrEnum):
|
|
READ = "knowledge_space_read"
|
|
CREATE = "knowledge_space_create"
|
|
EDIT = "knowledge_space_edit"
|
|
DELETE = "knowledge_space_delete"
|
|
ACCESS_CONFIG = "knowledge_space_access_config"
|
|
DOCUMENT_WRITE = "knowledge_space_document_write"
|
|
QUERY = "knowledge_space_query"
|
|
|
|
|
|
class KnowledgeFSProductOperation(NamedTuple):
|
|
method: Literal["DELETE", "GET", "PATCH", "POST", "PUT"]
|
|
capability_operation_id: str | None
|
|
permission: KnowledgeFSProductPermission
|
|
kfs_path: str | None
|
|
transport: Literal["binary", "json", "multipart", "sse", "unavailable"]
|
|
resource_resolver: Literal[
|
|
"document", "job", "knowledge_space", "namespace", "query", "research_task", "source", "upload_session"
|
|
]
|
|
rbac_permission: KnowledgeFSProductPermission
|
|
max_request_bytes: int
|
|
max_response_bytes: int
|
|
stream_kind: Literal["buffered-multipart", "json", "sse"]
|
|
|
|
@property
|
|
def action(self) -> str | None:
|
|
if self.capability_operation_id is None:
|
|
return None
|
|
capability = KNOWLEDGE_FS_CAPABILITY_OPERATIONS.get(self.capability_operation_id)
|
|
return capability.action if capability is not None else None
|
|
|
|
|
|
def _operation(
|
|
method: Literal["DELETE", "GET", "PATCH", "POST", "PUT"],
|
|
capability_operation_id: str | None,
|
|
permission: KnowledgeFSProductPermission,
|
|
kfs_path: str | None,
|
|
transport: Literal["binary", "json", "multipart", "sse", "unavailable"],
|
|
*,
|
|
resource_resolver: Literal[
|
|
"document", "job", "knowledge_space", "namespace", "query", "research_task", "source", "upload_session"
|
|
],
|
|
max_request_bytes: int,
|
|
max_response_bytes: int,
|
|
stream_kind: Literal["buffered-multipart", "json", "sse"],
|
|
) -> KnowledgeFSProductOperation:
|
|
return KnowledgeFSProductOperation(
|
|
method=method,
|
|
capability_operation_id=capability_operation_id,
|
|
permission=permission,
|
|
kfs_path=kfs_path,
|
|
transport=transport,
|
|
resource_resolver=resource_resolver,
|
|
rbac_permission=permission,
|
|
max_request_bytes=max_request_bytes,
|
|
max_response_bytes=max_response_bytes,
|
|
stream_kind=stream_kind,
|
|
)
|
|
|
|
|
|
KNOWLEDGE_FS_PRODUCT_OPERATIONS: Final[MappingProxyType[str, KnowledgeFSProductOperation]] = MappingProxyType(
|
|
{
|
|
"batchSpaceSummaries": _operation(
|
|
"POST",
|
|
"batchKnowledgeSpaceProductSummaries",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/internal/knowledge-spaces/product-summaries/batch",
|
|
"json",
|
|
resource_resolver="namespace",
|
|
max_request_bytes=64 * 1024,
|
|
max_response_bytes=1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"getSpace": _operation(
|
|
"GET",
|
|
"getKnowledgeSpace",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=0,
|
|
max_response_bytes=256 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"listKnowledgeFs": _operation(
|
|
"GET",
|
|
"listKnowledgeFs",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/fs/ls",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"treeKnowledgeFs": _operation(
|
|
"GET",
|
|
"treeKnowledgeFs",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/fs/tree",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"grepKnowledgeFs": _operation(
|
|
"GET",
|
|
"grepKnowledgeFs",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/fs/grep",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"findKnowledgeFs": _operation(
|
|
"GET",
|
|
"findKnowledgeFs",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/fs/find",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"diffKnowledgeFs": _operation(
|
|
"GET",
|
|
"diffKnowledgeFs",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/fs/diff",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"catKnowledgeFs": _operation(
|
|
"GET",
|
|
"catKnowledgeFs",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/fs/cat",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"statKnowledgeFs": _operation(
|
|
"GET",
|
|
"statKnowledgeFs",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/fs/stat",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=256 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"updateSpace": _operation(
|
|
"PATCH",
|
|
"updateKnowledgeSpace",
|
|
KnowledgeFSProductPermission.EDIT,
|
|
"/knowledge-spaces/{id}",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=32 * 1024,
|
|
max_response_bytes=256 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"getSettings": _operation(
|
|
"GET",
|
|
"getKnowledgeSpaceProductSettings",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/product-settings",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=0,
|
|
max_response_bytes=256 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"getOverviewStats": _operation(
|
|
"GET",
|
|
"getKnowledgeSpaceOverviewStats",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/overview/stats",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=256 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"getOverviewQueryOutcomes": _operation(
|
|
"GET",
|
|
"getKnowledgeSpaceOverviewQueryOutcomes",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/overview/query-outcomes",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"getOverviewInventory": _operation(
|
|
"GET",
|
|
"getKnowledgeSpaceOverviewInventory",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/overview/inventory",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=0,
|
|
max_response_bytes=256 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"listOverviewAttention": _operation(
|
|
"GET",
|
|
"listKnowledgeSpaceOverviewAttention",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/overview/attention",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"listOverviewActivity": _operation(
|
|
"GET",
|
|
"listKnowledgeSpaceOverviewActivity",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/overview/activity",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"getOverviewHealth": _operation(
|
|
"GET",
|
|
"getKnowledgeSpaceProductHealth",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/overview/health",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=0,
|
|
max_response_bytes=256 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"updateSettings": _operation(
|
|
"PATCH",
|
|
"updateKnowledgeSpaceProductSettings",
|
|
KnowledgeFSProductPermission.EDIT,
|
|
"/knowledge-spaces/{id}/product-settings",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=64 * 1024,
|
|
max_response_bytes=256 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"updateEmbeddingProfile": _operation(
|
|
"PUT",
|
|
"updateKnowledgeSpaceEmbeddingProfile",
|
|
KnowledgeFSProductPermission.EDIT,
|
|
"/knowledge-spaces/{id}/embedding-profile",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=32 * 1024,
|
|
max_response_bytes=256 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"updateRetrievalProfile": _operation(
|
|
"PUT",
|
|
"updateKnowledgeSpaceRetrievalProfile",
|
|
KnowledgeFSProductPermission.EDIT,
|
|
"/knowledge-spaces/{id}/retrieval-profile",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=64 * 1024,
|
|
max_response_bytes=256 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"getProfileMigration": _operation(
|
|
"GET",
|
|
"getKnowledgeSpaceProfileMigration",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/profile-migrations/{migrationId}",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=0,
|
|
max_response_bytes=256 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"listMetadataFields": _operation(
|
|
"GET",
|
|
"listKnowledgeSpaceMetadataFields",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/metadata-fields",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"createMetadataField": _operation(
|
|
"POST",
|
|
"createKnowledgeSpaceMetadataField",
|
|
KnowledgeFSProductPermission.EDIT,
|
|
"/knowledge-spaces/{id}/metadata-fields",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=256 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"updateMetadataField": _operation(
|
|
"PATCH",
|
|
"updateKnowledgeSpaceMetadataField",
|
|
KnowledgeFSProductPermission.EDIT,
|
|
"/knowledge-spaces/{id}/metadata-fields/{fieldId}",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=256 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"deleteMetadataField": _operation(
|
|
"DELETE",
|
|
"deleteKnowledgeSpaceMetadataField",
|
|
KnowledgeFSProductPermission.EDIT,
|
|
"/knowledge-spaces/{id}/metadata-fields/{fieldId}",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=64 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"listDocuments": _operation(
|
|
"GET",
|
|
"listDocuments",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/documents",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=2 * 1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"listLogicalDocuments": _operation(
|
|
"GET",
|
|
"listLogicalDocuments",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/logical-documents",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=2 * 1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"getLogicalDocument": _operation(
|
|
"GET",
|
|
"getLogicalDocument",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/logical-documents/{documentId}",
|
|
"json",
|
|
resource_resolver="document",
|
|
max_request_bytes=0,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"updateLogicalDocumentAvailability": _operation(
|
|
"PATCH",
|
|
"patchLogicalDocumentAvailability",
|
|
KnowledgeFSProductPermission.DOCUMENT_WRITE,
|
|
"/knowledge-spaces/{id}/logical-documents/{documentId}/availability",
|
|
"json",
|
|
resource_resolver="document",
|
|
max_request_bytes=32 * 1024,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"bulkUpdateLogicalDocumentAvailability": _operation(
|
|
"PATCH",
|
|
"bulkPatchLogicalDocumentAvailability",
|
|
KnowledgeFSProductPermission.DOCUMENT_WRITE,
|
|
"/knowledge-spaces/{id}/logical-documents/bulk/availability",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=256 * 1024,
|
|
max_response_bytes=2 * 1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"deleteLogicalDocument": _operation(
|
|
"DELETE",
|
|
"requestLogicalDocumentDeletion",
|
|
KnowledgeFSProductPermission.DOCUMENT_WRITE,
|
|
"/knowledge-spaces/{id}/logical-documents/{documentId}",
|
|
"json",
|
|
resource_resolver="document",
|
|
max_request_bytes=32 * 1024,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"bulkDeleteLogicalDocuments": _operation(
|
|
"DELETE",
|
|
"requestBulkLogicalDocumentDeletion",
|
|
KnowledgeFSProductPermission.DOCUMENT_WRITE,
|
|
"/knowledge-spaces/{id}/logical-documents/bulk",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=256 * 1024,
|
|
max_response_bytes=4 * 1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"createDocument": _operation(
|
|
"POST",
|
|
"uploadDocument",
|
|
KnowledgeFSProductPermission.DOCUMENT_WRITE,
|
|
"/knowledge-spaces/{id}/documents",
|
|
"multipart",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=15 * 1024 * 1024,
|
|
max_response_bytes=1024 * 1024,
|
|
stream_kind="buffered-multipart",
|
|
),
|
|
"getDocument": _operation(
|
|
"GET",
|
|
"getDocument",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/documents/{documentId}",
|
|
"json",
|
|
resource_resolver="document",
|
|
max_request_bytes=0,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"getDocumentOutline": _operation(
|
|
"GET",
|
|
"getDocumentOutline",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/documents/{documentId}/outline",
|
|
"json",
|
|
resource_resolver="document",
|
|
max_request_bytes=0,
|
|
max_response_bytes=4 * 1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"getDocumentMultimodalManifest": _operation(
|
|
"GET",
|
|
"getDocumentMultimodalManifest",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/documents/{documentId}/multimodal",
|
|
"json",
|
|
resource_resolver="document",
|
|
max_request_bytes=0,
|
|
max_response_bytes=4 * 1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"listDocumentRevisions": _operation(
|
|
"GET",
|
|
"listDocumentRevisions",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/documents/{documentId}/revisions",
|
|
"json",
|
|
resource_resolver="document",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=2 * 1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"updateDocumentMetadata": _operation(
|
|
"PATCH",
|
|
"patchDocumentMetadata",
|
|
KnowledgeFSProductPermission.DOCUMENT_WRITE,
|
|
"/knowledge-spaces/{id}/documents/{documentId}/metadata",
|
|
"json",
|
|
resource_resolver="document",
|
|
max_request_bytes=128 * 1024,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"listDocumentChunks": _operation(
|
|
"GET",
|
|
"listDocumentChunks",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/documents/{documentId}/revisions/{revision}/chunks",
|
|
"json",
|
|
resource_resolver="document",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=4 * 1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"getDocumentChunk": _operation(
|
|
"GET",
|
|
"getDocumentChunk",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/documents/{documentId}/revisions/{revision}/chunks/{chunkId}",
|
|
"json",
|
|
resource_resolver="document",
|
|
max_request_bytes=0,
|
|
max_response_bytes=1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"deleteDocument": _operation(
|
|
"DELETE",
|
|
"requestDocumentDeletion",
|
|
KnowledgeFSProductPermission.DOCUMENT_WRITE,
|
|
"/knowledge-spaces/{id}/documents/{documentId}",
|
|
"json",
|
|
resource_resolver="document",
|
|
max_request_bytes=32 * 1024,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"bulkDeleteDocuments": _operation(
|
|
"DELETE",
|
|
"requestBulkDocumentDeletion",
|
|
KnowledgeFSProductPermission.DOCUMENT_WRITE,
|
|
"/knowledge-spaces/{id}/documents/bulk",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=1024 * 1024,
|
|
max_response_bytes=4 * 1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"reindexDocuments": _operation(
|
|
"POST",
|
|
"bulkReindexDocuments",
|
|
KnowledgeFSProductPermission.DOCUMENT_WRITE,
|
|
"/knowledge-spaces/{id}/documents/bulk/reindex",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=1024 * 1024,
|
|
max_response_bytes=4 * 1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"getCompilationJob": _operation(
|
|
"GET",
|
|
"getDocumentCompilationJob",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/jobs/{id}",
|
|
"json",
|
|
resource_resolver="job",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"cancelCompilationJob": _operation(
|
|
"DELETE",
|
|
"cancelDocumentCompilationJob",
|
|
KnowledgeFSProductPermission.DOCUMENT_WRITE,
|
|
"/jobs/{id}",
|
|
"json",
|
|
resource_resolver="job",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"retryCompilationJob": _operation(
|
|
"POST",
|
|
"retryDocumentCompilationJob",
|
|
KnowledgeFSProductPermission.DOCUMENT_WRITE,
|
|
"/jobs/{id}/retry",
|
|
"json",
|
|
resource_resolver="job",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"getBulkJob": _operation(
|
|
"GET",
|
|
"getBulkOperation",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/bulk-jobs/{id}",
|
|
"json",
|
|
resource_resolver="job",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=2 * 1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"listBackgroundTasks": _operation(
|
|
"GET",
|
|
"listBackgroundTasks",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/background-tasks",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=4 * 1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"cancelBackgroundTask": _operation(
|
|
"POST",
|
|
"cancelBackgroundTask",
|
|
KnowledgeFSProductPermission.DOCUMENT_WRITE,
|
|
"/knowledge-spaces/{id}/background-tasks/{taskKind}/{taskId}/cancel",
|
|
"json",
|
|
resource_resolver="job",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"retryBackgroundTask": _operation(
|
|
"POST",
|
|
"retryBackgroundTask",
|
|
KnowledgeFSProductPermission.DOCUMENT_WRITE,
|
|
"/knowledge-spaces/{id}/background-tasks/{taskKind}/{taskId}/retry",
|
|
"json",
|
|
resource_resolver="job",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"listSources": _operation(
|
|
"GET",
|
|
"listKnowledgeSpaceSources",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/sources",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=2 * 1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"createSource": _operation(
|
|
"POST",
|
|
"createKnowledgeSpaceSource",
|
|
KnowledgeFSProductPermission.DOCUMENT_WRITE,
|
|
"/knowledge-spaces/{id}/sources",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=256 * 1024,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"getSource": _operation(
|
|
"GET",
|
|
"getKnowledgeSpaceSource",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/sources/{sourceId}",
|
|
"json",
|
|
resource_resolver="source",
|
|
max_request_bytes=0,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"updateSource": _operation(
|
|
"PATCH",
|
|
"updateKnowledgeSpaceSource",
|
|
KnowledgeFSProductPermission.DOCUMENT_WRITE,
|
|
"/knowledge-spaces/{id}/sources/{sourceId}",
|
|
"json",
|
|
resource_resolver="source",
|
|
max_request_bytes=256 * 1024,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"deleteSource": _operation(
|
|
"DELETE",
|
|
"requestSourceDeletion",
|
|
KnowledgeFSProductPermission.DOCUMENT_WRITE,
|
|
"/knowledge-spaces/{id}/sources/{sourceId}",
|
|
"json",
|
|
resource_resolver="source",
|
|
max_request_bytes=32 * 1024,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"testSource": _operation(
|
|
"POST",
|
|
"testKnowledgeSpaceSource",
|
|
KnowledgeFSProductPermission.DOCUMENT_WRITE,
|
|
"/knowledge-spaces/{id}/sources/{sourceId}/test",
|
|
"json",
|
|
resource_resolver="source",
|
|
max_request_bytes=0,
|
|
max_response_bytes=256 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"syncSource": _operation(
|
|
"POST",
|
|
"createSourceSyncWorkflow",
|
|
KnowledgeFSProductPermission.DOCUMENT_WRITE,
|
|
"/knowledge-spaces/{id}/sources/{sourceId}/sync",
|
|
"json",
|
|
resource_resolver="source",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"listSourceProviders": _operation(
|
|
"GET",
|
|
"listSourceProviders",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/source-providers",
|
|
"json",
|
|
resource_resolver="namespace",
|
|
max_request_bytes=0,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"createSourceConnection": _operation(
|
|
"POST",
|
|
"createSourceConnection",
|
|
KnowledgeFSProductPermission.DOCUMENT_WRITE,
|
|
"/knowledge-spaces/{id}/source-connections",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=256 * 1024,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"listSourceConnections": _operation(
|
|
"GET",
|
|
"listSourceConnections",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/source-connections",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"refreshSourceConnection": _operation(
|
|
"POST",
|
|
"refreshSourceConnection",
|
|
KnowledgeFSProductPermission.DOCUMENT_WRITE,
|
|
"/knowledge-spaces/{id}/source-connections/{connectionId}/refresh",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=32 * 1024,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"previewSourceCrawl": _operation(
|
|
"POST",
|
|
"createSourceCrawlPreviewWorkflow",
|
|
KnowledgeFSProductPermission.DOCUMENT_WRITE,
|
|
"/knowledge-spaces/{id}/sources/{sourceId}/crawl-preview",
|
|
"json",
|
|
resource_resolver="source",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"importSelectedSourceCrawl": _operation(
|
|
"POST",
|
|
"createSourceCrawlImportWorkflow",
|
|
KnowledgeFSProductPermission.DOCUMENT_WRITE,
|
|
"/knowledge-spaces/{id}/sources/{sourceId}/crawl-import",
|
|
"json",
|
|
resource_resolver="source",
|
|
max_request_bytes=1024 * 1024,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"importSourceWorkflow": _operation(
|
|
"POST",
|
|
"createSourceImportWorkflow",
|
|
KnowledgeFSProductPermission.DOCUMENT_WRITE,
|
|
"/knowledge-spaces/{id}/sources/{sourceId}/workflow-imports",
|
|
"json",
|
|
resource_resolver="source",
|
|
max_request_bytes=4 * 1024 * 1024,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"getSourceSyncPolicy": _operation(
|
|
"GET",
|
|
"getSourceSyncPolicy",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/sources/{sourceId}/sync-policy",
|
|
"json",
|
|
resource_resolver="source",
|
|
max_request_bytes=0,
|
|
max_response_bytes=256 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"updateSourceSyncPolicy": _operation(
|
|
"PUT",
|
|
"putSourceSyncPolicy",
|
|
KnowledgeFSProductPermission.DOCUMENT_WRITE,
|
|
"/knowledge-spaces/{id}/sources/{sourceId}/sync-policy",
|
|
"json",
|
|
resource_resolver="source",
|
|
max_request_bytes=32 * 1024,
|
|
max_response_bytes=256 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"getSourceWorkflow": _operation(
|
|
"GET",
|
|
"getSourceWorkflow",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/source-workflows/{runId}",
|
|
"json",
|
|
resource_resolver="job",
|
|
max_request_bytes=0,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"cancelSourceWorkflow": _operation(
|
|
"POST",
|
|
"cancelSourceWorkflow",
|
|
KnowledgeFSProductPermission.DOCUMENT_WRITE,
|
|
"/knowledge-spaces/{id}/source-workflows/{runId}/cancel",
|
|
"json",
|
|
resource_resolver="job",
|
|
max_request_bytes=32 * 1024,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"retrySourceWorkflow": _operation(
|
|
"POST",
|
|
"retrySourceWorkflow",
|
|
KnowledgeFSProductPermission.DOCUMENT_WRITE,
|
|
"/knowledge-spaces/{id}/source-workflows/{runId}/retry",
|
|
"json",
|
|
resource_resolver="job",
|
|
max_request_bytes=0,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"listCrawlPreviewPages": _operation(
|
|
"GET",
|
|
"listCrawlPreviewPages",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/source-workflows/{runId}/pages",
|
|
"json",
|
|
resource_resolver="job",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=4 * 1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"selectCrawlPreviewPages": _operation(
|
|
"POST",
|
|
"selectCrawlPreviewPages",
|
|
KnowledgeFSProductPermission.DOCUMENT_WRITE,
|
|
"/knowledge-spaces/{id}/source-workflows/{runId}/selection",
|
|
"json",
|
|
resource_resolver="job",
|
|
max_request_bytes=256 * 1024,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"crawlSource": _operation(
|
|
"POST",
|
|
"crawlKnowledgeSpaceSource",
|
|
KnowledgeFSProductPermission.DOCUMENT_WRITE,
|
|
"/knowledge-spaces/{id}/sources/{sourceId}/crawl",
|
|
"json",
|
|
resource_resolver="source",
|
|
max_request_bytes=0,
|
|
max_response_bytes=8 * 1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"listSourcePages": _operation(
|
|
"GET",
|
|
"listKnowledgeSpaceSourcePages",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/sources/{sourceId}/pages",
|
|
"json",
|
|
resource_resolver="source",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=4 * 1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"importSourcePages": _operation(
|
|
"POST",
|
|
"importKnowledgeSpaceSourcePages",
|
|
KnowledgeFSProductPermission.DOCUMENT_WRITE,
|
|
"/knowledge-spaces/{id}/sources/{sourceId}/import",
|
|
"json",
|
|
resource_resolver="source",
|
|
max_request_bytes=1024 * 1024,
|
|
max_response_bytes=4 * 1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"listSourceFiles": _operation(
|
|
"GET",
|
|
"listKnowledgeSpaceSourceFiles",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/sources/{sourceId}/files",
|
|
"json",
|
|
resource_resolver="source",
|
|
max_request_bytes=32 * 1024,
|
|
max_response_bytes=4 * 1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"importSourceFiles": _operation(
|
|
"POST",
|
|
"importKnowledgeSpaceSourceFiles",
|
|
KnowledgeFSProductPermission.DOCUMENT_WRITE,
|
|
"/knowledge-spaces/{id}/sources/{sourceId}/import-files",
|
|
"json",
|
|
resource_resolver="source",
|
|
max_request_bytes=1024 * 1024,
|
|
max_response_bytes=4 * 1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"createQuery": _operation(
|
|
"POST",
|
|
"createQuery",
|
|
KnowledgeFSProductPermission.QUERY,
|
|
"/queries",
|
|
"sse",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=64 * 1024,
|
|
max_response_bytes=0,
|
|
stream_kind="sse",
|
|
),
|
|
"retrieveEvidence": _operation(
|
|
"POST",
|
|
"runRetrievalTest",
|
|
KnowledgeFSProductPermission.QUERY,
|
|
"/knowledge-spaces/{id}/retrieval-tests",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=64 * 1024,
|
|
max_response_bytes=4 * 1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"captureWorkflowFailedRetrieval": _operation(
|
|
"POST",
|
|
"captureWorkflowFailedRetrieval",
|
|
KnowledgeFSProductPermission.QUERY,
|
|
"/knowledge-spaces/{id}/failed-queries/workflow-retrieval-misses",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=128 * 1024,
|
|
max_response_bytes=64 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"listResearchTasks": _operation(
|
|
"GET",
|
|
"listKnowledgeSpaceResearchTasks",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/research-tasks",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=2 * 1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"createResearchTask": _operation(
|
|
"POST",
|
|
"createResearchTask",
|
|
KnowledgeFSProductPermission.QUERY,
|
|
"/research-tasks",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=64 * 1024,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"planResearchTask": _operation(
|
|
"POST",
|
|
"planResearchTask",
|
|
KnowledgeFSProductPermission.QUERY,
|
|
"/research-tasks/plan",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=64 * 1024,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"getResearchTask": _operation(
|
|
"GET",
|
|
"getResearchTask",
|
|
KnowledgeFSProductPermission.QUERY,
|
|
"/research-tasks/{id}",
|
|
"json",
|
|
resource_resolver="research_task",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"listResearchTaskPartials": _operation(
|
|
"GET",
|
|
"listResearchTaskPartials",
|
|
KnowledgeFSProductPermission.QUERY,
|
|
"/research-tasks/{id}/partials",
|
|
"json",
|
|
resource_resolver="research_task",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=8 * 1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"cancelResearchTask": _operation(
|
|
"DELETE",
|
|
"cancelResearchTask",
|
|
KnowledgeFSProductPermission.QUERY,
|
|
"/research-tasks/{id}",
|
|
"json",
|
|
resource_resolver="research_task",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"listGoldenQuestions": _operation(
|
|
"GET",
|
|
"listGoldenQuestions",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/golden-questions",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=2 * 1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"createGoldenQuestion": _operation(
|
|
"POST",
|
|
"createGoldenQuestion",
|
|
KnowledgeFSProductPermission.EDIT,
|
|
"/knowledge-spaces/{id}/golden-questions",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=64 * 1024,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"matchGoldenQuestionEvidence": _operation(
|
|
"POST",
|
|
"matchGoldenQuestionEvidence",
|
|
KnowledgeFSProductPermission.EDIT,
|
|
"/knowledge-spaces/{id}/golden-questions/evidence-matches",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=128 * 1024,
|
|
max_response_bytes=2 * 1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"bulkImportGoldenQuestions": _operation(
|
|
"POST",
|
|
"bulkImportGoldenQuestions",
|
|
KnowledgeFSProductPermission.EDIT,
|
|
"/knowledge-spaces/{id}/golden-questions/bulk-import",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=4 * 1024 * 1024,
|
|
max_response_bytes=8 * 1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"updateGoldenQuestion": _operation(
|
|
"PATCH",
|
|
"updateGoldenQuestion",
|
|
KnowledgeFSProductPermission.EDIT,
|
|
"/knowledge-spaces/{id}/golden-questions/{questionId}",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=64 * 1024,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"deleteGoldenQuestion": _operation(
|
|
"DELETE",
|
|
"deleteGoldenQuestion",
|
|
KnowledgeFSProductPermission.EDIT,
|
|
"/knowledge-spaces/{id}/golden-questions/{questionId}",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=0,
|
|
max_response_bytes=64 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"listQualityBadCases": _operation(
|
|
"GET",
|
|
"listQualityBadCases",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/quality/bad-cases",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=2 * 1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"createQualityBadCase": _operation(
|
|
"POST",
|
|
"createQualityBadCase",
|
|
KnowledgeFSProductPermission.EDIT,
|
|
"/knowledge-spaces/{id}/quality/bad-cases",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=64 * 1024,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"getQualityBadCase": _operation(
|
|
"GET",
|
|
"getQualityBadCase",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/quality/bad-cases/{badCaseId}",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=0,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"updateQualityBadCase": _operation(
|
|
"PATCH",
|
|
"updateQualityBadCase",
|
|
KnowledgeFSProductPermission.EDIT,
|
|
"/knowledge-spaces/{id}/quality/bad-cases/{badCaseId}",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=64 * 1024,
|
|
max_response_bytes=512 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"createQualityReplay": _operation(
|
|
"POST",
|
|
"createQualityReplay",
|
|
KnowledgeFSProductPermission.EDIT,
|
|
"/knowledge-spaces/{id}/quality/replay-runs",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=64 * 1024,
|
|
max_response_bytes=4 * 1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"listQualityReplays": _operation(
|
|
"GET",
|
|
"listQualityReplays",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/quality/replay-runs",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=4 * 1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"getQualityReplay": _operation(
|
|
"GET",
|
|
"getQualityReplay",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/quality/replay-runs/{runId}",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
# The optional evidenceItemId detail selector is transported as a query string.
|
|
# Keep the same bounded query allowance as the replay list operation.
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=4 * 1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"getQualityBadCaseTraceReference": _operation(
|
|
"GET",
|
|
"getQualityBadCaseTraceReference",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/quality/bad-cases/{badCaseId}/trace-reference",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=0,
|
|
max_response_bytes=64 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"listTraces": _operation(
|
|
"GET",
|
|
"listKnowledgeSpaceQualityTraces",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/knowledge-spaces/{id}/quality/traces",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=4 * 1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"getTrace": _operation(
|
|
"GET",
|
|
"getAnswerTrace",
|
|
KnowledgeFSProductPermission.QUERY,
|
|
"/queries/{traceId}",
|
|
"json",
|
|
resource_resolver="query",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=2 * 1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"listTraceEvidence": _operation(
|
|
"GET",
|
|
"listQueryEvidence",
|
|
KnowledgeFSProductPermission.QUERY,
|
|
"/queries/{traceId}/evidence",
|
|
"json",
|
|
resource_resolver="query",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=4 * 1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"listTraceConflicts": _operation(
|
|
"GET",
|
|
"listQueryConflicts",
|
|
KnowledgeFSProductPermission.QUERY,
|
|
"/queries/{traceId}/conflicts",
|
|
"json",
|
|
resource_resolver="query",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=4 * 1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"listTraceMissing": _operation(
|
|
"GET",
|
|
"listQueryMissing",
|
|
KnowledgeFSProductPermission.QUERY,
|
|
"/queries/{traceId}/missing",
|
|
"json",
|
|
resource_resolver="query",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=4 * 1024 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"createUploadSession": _operation(
|
|
"POST",
|
|
"createUploadSession",
|
|
KnowledgeFSProductPermission.DOCUMENT_WRITE,
|
|
"/knowledge-spaces/{id}/upload-sessions",
|
|
"json",
|
|
resource_resolver="knowledge_space",
|
|
max_request_bytes=64 * 1024,
|
|
max_response_bytes=64 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"presignUploadSessionPart": _operation(
|
|
"POST",
|
|
"presignUploadSessionPart",
|
|
KnowledgeFSProductPermission.DOCUMENT_WRITE,
|
|
"/upload-sessions/{id}/parts/{partNumber}/presign",
|
|
"json",
|
|
resource_resolver="upload_session",
|
|
max_request_bytes=32 * 1024,
|
|
max_response_bytes=64 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"uploadSmallFile": _operation(
|
|
"POST",
|
|
"uploadSmallFile",
|
|
KnowledgeFSProductPermission.DOCUMENT_WRITE,
|
|
"/upload-sessions/{id}/small-file",
|
|
"binary",
|
|
resource_resolver="upload_session",
|
|
max_request_bytes=8 * 1024 * 1024,
|
|
max_response_bytes=128 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"completeUploadSession": _operation(
|
|
"POST",
|
|
"completeUploadSession",
|
|
KnowledgeFSProductPermission.DOCUMENT_WRITE,
|
|
"/upload-sessions/{id}/complete",
|
|
"json",
|
|
resource_resolver="upload_session",
|
|
max_request_bytes=128 * 1024,
|
|
max_response_bytes=128 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"abortUploadSession": _operation(
|
|
"POST",
|
|
"abortUploadSession",
|
|
KnowledgeFSProductPermission.DOCUMENT_WRITE,
|
|
"/upload-sessions/{id}/abort",
|
|
"json",
|
|
resource_resolver="upload_session",
|
|
max_request_bytes=32 * 1024,
|
|
max_response_bytes=64 * 1024,
|
|
stream_kind="json",
|
|
),
|
|
"streamResearchTask": _operation(
|
|
"GET",
|
|
"streamResearchTaskProgress",
|
|
KnowledgeFSProductPermission.READ,
|
|
"/research-tasks/{id}/events",
|
|
"sse",
|
|
resource_resolver="research_task",
|
|
max_request_bytes=16 * 1024,
|
|
max_response_bytes=0,
|
|
stream_kind="sse",
|
|
),
|
|
}
|
|
)
|
|
|
|
|
|
def is_product_operation_registered(operation_id: str) -> bool:
|
|
operation = KNOWLEDGE_FS_PRODUCT_OPERATIONS.get(operation_id)
|
|
if operation is None or operation.capability_operation_id is None or operation.kfs_path is None:
|
|
return False
|
|
capability = KNOWLEDGE_FS_CAPABILITY_OPERATIONS.get(operation.capability_operation_id)
|
|
return bool(
|
|
capability
|
|
and capability.method == operation.method
|
|
and capability.path == operation.kfs_path
|
|
and capability.action
|
|
and capability.resource_type == operation.resource_resolver
|
|
and operation.permission == operation.rbac_permission
|
|
)
|
|
|
|
|
|
def is_product_operation_ready(operation_id: str) -> bool:
|
|
operation = KNOWLEDGE_FS_PRODUCT_OPERATIONS.get(operation_id)
|
|
return bool(
|
|
operation
|
|
and operation.transport in {"binary", "json", "multipart", "sse"}
|
|
and is_product_operation_registered(operation_id)
|
|
)
|
|
|
|
|
|
def knowledge_fs_product_operation_gaps() -> tuple[str, ...]:
|
|
return tuple(
|
|
operation_id for operation_id in KNOWLEDGE_FS_PRODUCT_OPERATIONS if not is_product_operation_ready(operation_id)
|
|
)
|
|
|
|
|
|
def product_operation_action(operation_id: str) -> str:
|
|
if not is_product_operation_ready(operation_id):
|
|
raise KeyError(operation_id)
|
|
capability_operation_id = KNOWLEDGE_FS_PRODUCT_OPERATIONS[operation_id].capability_operation_id
|
|
if capability_operation_id is None:
|
|
raise KeyError(operation_id)
|
|
return KNOWLEDGE_FS_CAPABILITY_OPERATIONS[capability_operation_id].action
|
|
|
|
|
|
__all__ = [
|
|
"KNOWLEDGE_FS_PRODUCT_OPERATIONS",
|
|
"KnowledgeFSProductOperation",
|
|
"KnowledgeFSProductPermission",
|
|
"is_product_operation_ready",
|
|
"is_product_operation_registered",
|
|
"knowledge_fs_product_operation_gaps",
|
|
"product_operation_action",
|
|
]
|