|
|
@@ -459,15 +459,17 @@ message FileMetadata {
|
|
|
string name = 2;
|
|
|
string mime_type = 3;
|
|
|
uint64 size = 4;
|
|
|
- string file_type = 5; // audio/recording, pcap, upload
|
|
|
- string related_id = 6; // e.g., call_id for recordings
|
|
|
+ string file_type = 5; // "plugin", "document", "generated"
|
|
|
+ string related_id = 6; // plugin_id, conversation_id, etc.
|
|
|
map<string, string> metadata = 7; // Custom metadata
|
|
|
+ bool is_public = 8; // Visibility flag
|
|
|
}
|
|
|
|
|
|
message UploadFileResponse {
|
|
|
string id = 1;
|
|
|
uint64 size = 2;
|
|
|
string checksum = 3; // SHA-256
|
|
|
+ bool deduplicated = 4; // True if blob already existed
|
|
|
}
|
|
|
|
|
|
message DownloadFileRequest {
|
|
|
@@ -496,6 +498,8 @@ message FileInfo {
|
|
|
string checksum = 7;
|
|
|
uint64 created_at = 8;
|
|
|
map<string, string> metadata = 9;
|
|
|
+ bool is_public = 10; // Visibility flag
|
|
|
+ uint32 ref_count = 11; // Blob reference count (informational)
|
|
|
}
|
|
|
|
|
|
message ListFilesRequest {
|
|
|
@@ -503,6 +507,7 @@ message ListFilesRequest {
|
|
|
string related_id = 2; // Filter by related ID (optional)
|
|
|
uint32 limit = 3;
|
|
|
uint32 offset = 4;
|
|
|
+ string checksum = 5; // Filter by checksum (for dedup queries)
|
|
|
}
|
|
|
|
|
|
message ListFilesResponse {
|