added ToolCalls

This commit is contained in:
Jeff Carr 2025-08-21 01:36:49 -05:00
parent af57eec691
commit 924262b5d3
2 changed files with 44 additions and 12 deletions

View File

@ -2,6 +2,8 @@ syntax = "proto3";
package chatpb; package chatpb;
import "google/protobuf/timestamp.proto"; // Import the well-known type for Timestamp
message Row { message Row {
repeated string fields = 1; repeated string fields = 1;
} }
@ -17,10 +19,22 @@ enum Who {
USER = 2; 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 { message Chat {
Who from = 1; Who from = 1;
google.protobuf.Timestamp ctime = 2;
string content = 3; string content = 3;
Table table = 4; Table table = 4;
repeated ToolCall toolcalls = 5;
} }
message Chats { // `autogenpb:marshal` `autogenpb:mutex` message Chats { // `autogenpb:marshal` `autogenpb:mutex`

View File

@ -1,6 +1,11 @@
package chatpb package chatpb
import "go.wit.com/log" import (
"time"
"go.wit.com/log"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
)
func TestChat() { func TestChat() {
conversation := NewChats() conversation := NewChats()
@ -71,6 +76,7 @@ func (c *Chats) AddGeminiComment(s string) {
chat.From = Who_GEMINI chat.From = Who_GEMINI
chat.Content = s chat.Content = s
chat.Ctime = timestamppb.New(time.Now())
c.Append(chat) c.Append(chat)
} }
@ -83,3 +89,15 @@ func (c *Chats) AddUserComment(s string) {
c.Append(chat) 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
}