summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-08-21 01:36:49 -0500
committerJeff Carr <[email protected]>2025-08-21 01:36:49 -0500
commit924262b5d35623542c4c6a901c72a59988121dae (patch)
tree27dd6825a728ccf6e4fa75fe53aaec45402092af
parentaf57eec6919c991153a8cd6ee1e9fc0cb2eea394 (diff)
added ToolCalls
-rw-r--r--chat.proto34
-rw-r--r--make_chat.go20
2 files changed, 43 insertions, 11 deletions
diff --git a/chat.proto b/chat.proto
index a610d2e..fc5ba00 100644
--- a/chat.proto
+++ b/chat.proto
@@ -2,13 +2,15 @@ syntax = "proto3";
package chatpb;
+import "google/protobuf/timestamp.proto"; // Import the well-known type for Timestamp
+
message Row {
- repeated string fields = 1;
+ repeated string fields = 1;
}
message Table {
- int32 columns = 1;
- repeated Row rows = 2;
+ int32 columns = 1;
+ repeated Row rows = 2;
}
enum Who {
@@ -17,14 +19,26 @@ enum Who {
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;
- string content = 3;
- Table table = 4;
+ Who from = 1;
+ google.protobuf.Timestamp ctime = 2;
+ string content = 3;
+ Table table = 4;
+ repeated ToolCall toolcalls = 5;
}
-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
+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
}
diff --git a/make_chat.go b/make_chat.go
index b6736c4..5c7cb75 100644
--- a/make_chat.go
+++ b/make_chat.go
@@ -1,6 +1,11 @@
package chatpb
-import "go.wit.com/log"
+import (
+ "time"
+
+ "go.wit.com/log"
+ timestamppb "google.golang.org/protobuf/types/known/timestamppb"
+)
func TestChat() {
conversation := NewChats()
@@ -71,6 +76,7 @@ func (c *Chats) AddGeminiComment(s string) {
chat.From = Who_GEMINI
chat.Content = s
+ chat.Ctime = timestamppb.New(time.Now())
c.Append(chat)
}
@@ -83,3 +89,15 @@ func (c *Chats) AddUserComment(s string) {
c.Append(chat)
}
+
+func UnmarshalChats(data []byte) (*Chats, error) {
+ c := new(Chats)
+ err := c.Unmarshal(data)
+ return c, err
+}
+
+func UnmarshalChatsTEXT(data []byte) (*Chats, error) {
+ c := new(Chats)
+ err := c.UnmarshalTEXT(data)
+ return c, err
+}