syntax = "proto3";

package document;

// 定义服务
service DocumentService {
    rpc SyncChunkDocument(ChunkRequest) returns (ChunkedResponse);
    rpc AsyncChunkDocument(ChunkRequest) returns (ChunkedResponse);
    rpc StreamChunkDocument(ChunkRequest) returns (stream ChunkedResponse);
}

// 定义请求消息
message ChunkRequest {
    repeated string file_paths = 1;
    repeated string chunker_types = 2;
    repeated int32 chunk_sizes = 3;
    repeated string callback_data = 4;
}

message ResponseData {
    string file_path = 1; 
    repeated string chunks = 2;
}

// 定义同步分块响应消息
message ChunkedResponse {
    repeated ResponseData response_data = 1;
}
