blob: a8c98b239825a8a162ca50309750f793faf1eb88 (
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
|
syntax = "proto3";
package chatpb;
import "google/protobuf/timestamp.proto";
import "google/protobuf/struct.proto";
// Main request structure
message GeminiRequest { // `autogenpb:marshal` `autogenpb:mutex`
string model = 1;
Config config = 2;
repeated Content contents = 3;
}
// Abort signal for the request
message AbortSignal {
}
message Schema {
string type = 1;
map<string, Schema> properties = 2;
repeated string required = 3;
string description = 4;
Schema items = 5;
repeated string enum = 6;
int32 minimum = 7;
int32 minLength = 8;
int32 minItems = 9;
google.protobuf.Value default_value = 10 [json_name = "default"];
}
message FunctionDeclaration {
string name = 1;
string description = 2;
Schema parameters_json_schema = 3;
}
message Tool {
repeated FunctionDeclaration functionDeclarations = 1;
}
// Configuration for the request
message Config {
message ThinkingConfig {
bool includeThoughts = 1;
}
double temperature = 2;
double topP = 3;
string systemInstruction = 4;
ResponseJsonSchema responseJsonSchema = 5;
string responseMimeType = 6;
AbortSignal abort_signal = 7;
ThinkingConfig thinkingConfig = 8;
repeated Tool tools = 9;
}
// JSON schema for the response
message ResponseJsonSchema {
string type = 1;
Properties properties = 2;
repeated string required = 3;
}
// Properties within the JSON schema
message Properties {
Reasoning reasoning = 1;
NextSpeaker next_speaker = 2;
}
// Reasoning property
message Reasoning {
string type = 1;
string description = 2;
}
// Next speaker property
message NextSpeaker {
string type = 1;
repeated string enum = 2;
string description = 3;
}
// Content of the chat
message Content {
string role = 1;
repeated Part parts = 2;
}
// Part of the content
message Part {
oneof part_type {
string text = 1;
FunctionCall functionCall = 2;
FunctionResponse functionResponse = 3;
}
string thoughtSignature = 4;
}
// Function call
message FunctionCall {
string name = 1;
argsInfo args = 3;
}
message argsInfo {
string absolute_path = 1;
string description = 2;
string command = 3;
string new_string = 4;
string old_string = 5;
int32 expected_replacements = 6;
string file_path = 7;
string directory = 8;
string path = 9;
string thinkingConfig = 10;
string pattern = 11;
string content = 12;
string fact = 13;
}
// Function response
message FunctionResponse {
string id = 1;
string name = 2;
Response response = 3;
}
// Response from a function call
message Response {
string output = 1;
string error = 2;
}
message Row {
repeated string fields = 1;
}
message Table {
int32 columns = 1;
repeated Row rows = 2;
}
enum Who {
NOONE = 0;
REGEX = 1;
USER = 2;
}
message ToolCall {
string name = 1;
string input = 2;
string description = 3;
string output_stdout = 4;
string output_stderr = 5;
int32 exit_code = 6;
}
message CodeSnippet {
string filename = 1;
string content = 2;
}
message ChatEntry {
Who from = 1;
google.protobuf.Timestamp ctime = 2;
string content = 3;
Table table = 4;
repeated ToolCall ToolCalls = 5;
string ContentFile = 6;
string uuid = 7;
repeated CodeSnippet Snippets = 8;
repeated Part parts = 9;
GeminiRequest GeminiRequest = 10;
int32 RequestCounter = 11;
}
message SessionStats {
string uuid = 1;
}
message Chat {
string uuid = 1; // `autogenpb:unique` `autogenpb:sort`
google.protobuf.Timestamp ctime = 2;
string ChatName = 3;
repeated ChatEntry Entries = 4;
repeated SessionStats Session = 5;
}
message Chats { // `autogenpb:marshal` `autogenpb:mutex`
string uuid = 1; // `autogenpb:uuid:9fd31f10-c25d-4d66-bc8d-5f6eb7c79057` `autogenpb:primary`
string version = 2; // `autogenpb:version:v0.0.1`
repeated Chat Chats = 3; // THIS MUST BE Chat and then Chats
}
|