summaryrefslogtreecommitdiffhomepage
path: root/internal/message
diff options
context:
space:
mode:
authorphantomreactor <[email protected]>2025-05-03 01:53:58 +0530
committeradamdottv <[email protected]>2025-05-02 15:29:46 -0500
commitff0ef3bb432f1cedb6e5b8a0168bfa7c9e9e15f0 (patch)
treee027f8eee09fafe33b98c6316d84b0f5e6a8edc0 /internal/message
parent0095832be3b6c9ae9c45dfed70ecd22302e08dc9 (diff)
downloadopencode-ff0ef3bb432f1cedb6e5b8a0168bfa7c9e9e15f0.tar.gz
opencode-ff0ef3bb432f1cedb6e5b8a0168bfa7c9e9e15f0.zip
feat: add support for images
Diffstat (limited to 'internal/message')
-rw-r--r--internal/message/attachment.go8
-rw-r--r--internal/message/content.go9
-rw-r--r--internal/message/message.go1
3 files changed, 14 insertions, 4 deletions
diff --git a/internal/message/attachment.go b/internal/message/attachment.go
new file mode 100644
index 000000000..6e89f0014
--- /dev/null
+++ b/internal/message/attachment.go
@@ -0,0 +1,8 @@
+package message
+
+type Attachment struct {
+ FilePath string
+ FileName string
+ MimeType string
+ Content []byte
+}
diff --git a/internal/message/content.go b/internal/message/content.go
index c42154cfd..c720fd71f 100644
--- a/internal/message/content.go
+++ b/internal/message/content.go
@@ -69,13 +69,17 @@ func (iuc ImageURLContent) String() string {
func (ImageURLContent) isPart() {}
type BinaryContent struct {
+ Path string
MIMEType string
Data []byte
}
-func (bc BinaryContent) String() string {
+func (bc BinaryContent) String(provider models.ModelProvider) string {
base64Encoded := base64.StdEncoding.EncodeToString(bc.Data)
- return "data:" + bc.MIMEType + ";base64," + base64Encoded
+ if provider == models.ProviderOpenAI {
+ return "data:" + bc.MIMEType + ";base64," + base64Encoded
+ }
+ return base64Encoded
}
func (BinaryContent) isPart() {}
@@ -113,7 +117,6 @@ type Message struct {
SessionID string
Parts []ContentPart
Model models.ModelID
-
CreatedAt int64
UpdatedAt int64
}
diff --git a/internal/message/message.go b/internal/message/message.go
index e091cdfa1..eb59eb55a 100644
--- a/internal/message/message.go
+++ b/internal/message/message.go
@@ -65,7 +65,6 @@ func (s *service) Create(ctx context.Context, sessionID string, params CreateMes
if err != nil {
return Message{}, err
}
-
dbMessage, err := s.q.CreateMessage(ctx, db.CreateMessageParams{
ID: uuid.New().String(),
SessionID: sessionID,