summaryrefslogtreecommitdiff
path: root/chat.proto
blob: 79d2ce5aa651d58d59f7e2102c5c76ef295204ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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
}