type: object description: | Librarian service request for document library management. Operations: add-document, remove-document, list-documents, get-document-metadata, stream-document, add-child-document, list-children, begin-upload, upload-chunk, complete-upload, abort-upload, get-upload-status, list-uploads, start-processing, stop-processing, list-processing required: - operation properties: operation: type: string enum: - add-document - remove-document - list-documents - get-document-metadata - get-document-content - stream-document - add-child-document - list-children - begin-upload - upload-chunk - complete-upload - abort-upload - get-upload-status - list-uploads - start-processing - stop-processing - list-processing description: | Library operation: - `add-document`: Add document to library - `remove-document`: Remove document from library - `list-documents`: List documents in library - `get-document-metadata`: Get document metadata - `get-document-content`: Get full document content in a single response. **Deprecated** — use `stream-document` instead. Fails for documents exceeding the broker's max message size. - `stream-document`: Stream document content in chunks. Each response includes `chunk_index` and `is_final`. Preferred over `get-document-content` for all document sizes. - `add-child-document`: Add a child document (e.g. page, chunk) - `list-children`: List child documents of a parent - `begin-upload`: Start a chunked upload session - `upload-chunk`: Upload a chunk of data - `complete-upload`: Finalize a chunked upload - `abort-upload`: Cancel a chunked upload - `get-upload-status`: Check upload progress - `list-uploads`: List active upload sessions - `start-processing`: Start processing library documents - `stop-processing`: Stop library processing - `list-processing`: List processing status flow: type: string description: Flow ID example: my-flow collection: type: string description: Collection identifier default: default example: default user: type: string description: User identifier default: trustgraph example: alice document-id: type: string description: Document identifier example: doc-123 processing-id: type: string description: Processing task identifier example: proc-456 document-metadata: $ref: '../common/DocumentMetadata.yaml' processing-metadata: $ref: '../common/ProcessingMetadata.yaml' content: type: string description: Document content (for add-document with inline content) example: This is the document content... criteria: type: array description: Search criteria for filtering documents items: type: object required: - key - value - operator properties: key: type: string description: Metadata field name example: author value: type: string description: Value to match example: John Doe operator: type: string enum: [eq, ne, gt, lt, contains] description: Comparison operator example: eq