summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authoradamdottv <[email protected]>2025-05-13 11:15:14 -0500
committeradamdottv <[email protected]>2025-05-13 11:15:14 -0500
commitcf8e16018dceffa6a7c32022b8f81039f784142d (patch)
treec85bcf9f16123eb7188ee09df9ae4f509c56b895
parent674797bd48839771750ead0a160912a9bab02943 (diff)
downloadopencode-cf8e16018dceffa6a7c32022b8f81039f784142d.tar.gz
opencode-cf8e16018dceffa6a7c32022b8f81039f784142d.zip
chore: refactoring
-rw-r--r--internal/message/content.go5
-rw-r--r--internal/message/message.go11
2 files changed, 10 insertions, 6 deletions
diff --git a/internal/message/content.go b/internal/message/content.go
index d7b76f8ce..0e1608753 100644
--- a/internal/message/content.go
+++ b/internal/message/content.go
@@ -109,6 +109,11 @@ type Finish struct {
Time time.Time `json:"time"`
}
+type DBFinish struct {
+ Reason FinishReason `json:"reason"`
+ Time int64 `json:"time"`
+}
+
func (Finish) isPart() {}
func (m *Message) Content() *TextContent {
diff --git a/internal/message/message.go b/internal/message/message.go
index 197c2f0f5..35a414533 100644
--- a/internal/message/message.go
+++ b/internal/message/message.go
@@ -387,7 +387,10 @@ func marshallParts(parts []ContentPart) ([]byte, error) {
dataBytes, err = json.Marshal(p)
case Finish:
typ = finishType
- dataBytes, err = json.Marshal(p)
+ var dbFinish DBFinish
+ dbFinish.Reason = p.Reason
+ dbFinish.Time = p.Time.UnixMilli()
+ dataBytes, err = json.Marshal(dbFinish)
default:
return nil, fmt.Errorf("unknown part type for marshalling: %T", part)
}
@@ -464,11 +467,7 @@ func unmarshallParts(data []byte) ([]ContentPart, error) {
}
parts = append(parts, p)
case finishType:
- type dbFinish struct {
- Reason FinishReason `json:"reason"`
- Time int64 `json:"time"`
- }
- var p dbFinish
+ var p DBFinish
if err := json.Unmarshal(wrapper.Data, &p); err != nil {
return nil, fmt.Errorf("unmarshal Finish: %w. Data: %s", err, string(wrapper.Data))
}