47 lines
1.8 KiB
Protocol Buffer
47 lines
1.8 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package chatpb;
|
|
|
|
import "google/protobuf/timestamp.proto"; // Import the well-known type for Timestamp
|
|
|
|
message Row {
|
|
repeated string fields = 1;
|
|
}
|
|
|
|
message Table {
|
|
int32 columns = 1;
|
|
repeated Row rows = 2;
|
|
}
|
|
|
|
enum Who {
|
|
NOONE = 0;
|
|
GEMINI = 1;
|
|
USER = 2;
|
|
}
|
|
|
|
// NEW: A message to hold all the details of a tool call
|
|
message ToolCall {
|
|
string name = 1; // e.g., "Shell"
|
|
string input = 2; // The command that was run
|
|
string description = 3; // The description for the command
|
|
string output_stdout = 4;
|
|
string output_stderr = 5;
|
|
int32 exit_code = 6;
|
|
}
|
|
|
|
message Chat {
|
|
Who from = 1;
|
|
google.protobuf.Timestamp ctime = 2;
|
|
string content = 3;
|
|
Table table = 4;
|
|
repeated ToolCall ToolCalls = 5;
|
|
string ContentFile = 6; // `autogenpb:unique` `autogenpb:sort`
|
|
string uuid = 7; // `autogenpb:unique` `autogenpb:sort`
|
|
}
|
|
|
|
message Chats { // `autogenpb:marshal` `autogenpb:mutex`
|
|
string uuid = 1; // `autogenpb:uuid:9fd31f10-c25d-4d66-bc8d-5f6eb7c79057`
|
|
string version = 2; // `autogenpb:version:v0.0.1`
|
|
repeated Chat Chats = 3; // THIS MUST BE Chat and then Chats
|
|
}
|