summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-08-21 16:01:05 -0500
committerJeff Carr <[email protected]>2025-08-21 16:01:05 -0500
commit2d7b5fe532650562e83aa98b1e5f2c41149dadc6 (patch)
treeb4a70979352052bf2dc209e375c86e3354141cae
parentd7dec7865ad74d4ffe6f56aaf27906ea1a52171d (diff)
update with code snippet
-rw-r--r--Makefile1
-rw-r--r--chat.proto6
-rw-r--r--example.go7
-rw-r--r--helpers.go42
-rw-r--r--make_chat.go34
5 files changed, 54 insertions, 36 deletions
diff --git a/Makefile b/Makefile
index 7090a06..edc546f 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,4 @@
all: clean chat.pb.go goimports vet
- echo okay?
goimports:
goimports -w *.go
diff --git a/chat.proto b/chat.proto
index 79d2ce5..f2154eb 100644
--- a/chat.proto
+++ b/chat.proto
@@ -29,6 +29,11 @@ message ToolCall {
int32 exit_code = 6;
}
+message CodeSnippet {
+ string filename = 1;
+ string content = 2;
+}
+
message Chat {
Who from = 1;
google.protobuf.Timestamp ctime = 2;
@@ -37,6 +42,7 @@ message Chat {
repeated ToolCall ToolCalls = 5;
string ContentFile = 6; // `autogenpb:unique` `autogenpb:sort`
string uuid = 7; // `autogenpb:unique` `autogenpb:sort`
+ repeated CodeSnippet Snippets = 8;
}
message Chats { // `autogenpb:marshal` `autogenpb:mutex`
diff --git a/example.go b/example.go
index d22f39c..ff33b05 100644
--- a/example.go
+++ b/example.go
@@ -10,7 +10,12 @@ func ExampleChat() *Chats {
t := conversation.AddTable()
t.AddRow([]string{"apple", "pear"})
- conversation.AddGeminiComment("funny")
+ gchat := conversation.AddGeminiComment("funny")
+
+ snip := new(CodeSnippet)
+ snip.Filename = "log/snip1.txt"
+ gchat.Snippets = append(gchat.Snippets, snip)
+
conversation.AddUserComment("yes")
conversation.AddGeminiComment("I like astronomy")
diff --git a/helpers.go b/helpers.go
new file mode 100644
index 0000000..8f63de0
--- /dev/null
+++ b/helpers.go
@@ -0,0 +1,42 @@
+package chatpb
+
+import (
+ "time"
+
+ timestamppb "google.golang.org/protobuf/types/known/timestamppb"
+)
+
+func (c *Chats) AddGeminiComment(s string) *Chat {
+ chat := new(Chat)
+
+ chat.From = Who_GEMINI
+ chat.Content = s
+ chat.Ctime = timestamppb.New(time.Now())
+
+ c.Append(chat)
+
+ return chat
+}
+
+func (c *Chats) AddUserComment(s string) *Chat {
+ chat := new(Chat)
+
+ chat.From = Who_USER
+ chat.Content = s
+
+ c.Append(chat)
+
+ return 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
+}
diff --git a/make_chat.go b/make_chat.go
index 5c7cb75..d6616a1 100644
--- a/make_chat.go
+++ b/make_chat.go
@@ -1,10 +1,7 @@
package chatpb
import (
- "time"
-
"go.wit.com/log"
- timestamppb "google.golang.org/protobuf/types/known/timestamppb"
)
func TestChat() {
@@ -70,34 +67,3 @@ func (c *Chats) AddTable() *Table {
return t
}
-
-func (c *Chats) AddGeminiComment(s string) {
- chat := new(Chat)
-
- chat.From = Who_GEMINI
- chat.Content = s
- chat.Ctime = timestamppb.New(time.Now())
-
- c.Append(chat)
-}
-
-func (c *Chats) AddUserComment(s string) {
- chat := new(Chat)
-
- chat.From = Who_USER
- chat.Content = s
-
- 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
-}