summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--json.go5
-rw-r--r--main.go7
2 files changed, 9 insertions, 3 deletions
diff --git a/json.go b/json.go
index 129046d..e663fc5 100644
--- a/json.go
+++ b/json.go
@@ -4,6 +4,7 @@ import (
"encoding/json"
"os"
+ "go.wit.com/lib/protobuf/chatpb"
"go.wit.com/log"
"google.golang.org/genai"
)
@@ -53,6 +54,10 @@ func parseJSON(filename string) (*GeminiRequest, error) {
if err != nil {
return nil, log.Errorf("failed to read file %s: %w", filename, err)
}
+ pb := new(chatpb.GeminiRequest)
+ if err := pb.UnmarshalJSON(data); err != nil {
+ return nil, err
+ }
// Unmarshal the JSON data
var req *GeminiRequest
diff --git a/main.go b/main.go
index 273a32f..39cf5cf 100644
--- a/main.go
+++ b/main.go
@@ -65,13 +65,14 @@ func main() {
_ = aiClient
if argv.JsonFile != "" {
- req, err := parseJSON(argv.JsonFile)
+ jstruct, err := parseJSON(argv.JsonFile)
if err != nil {
badExit(err)
}
- log.Info("parseJSON() ok. model =", req.Model)
+ log.Info("parseJSON() ok. model =", jstruct.Model)
- genaiContent, err := convertToGenai(req)
+ // Marshal this JSON file into a protobuf
+ genaiContent, err := convertToGenai(jstruct)
if err != nil {
badExit(err)
}