Initial commit on Forgejo
Fresh repository history for elektrine/tarakan-client hosted at https://git.elektrine.com/elektrine/tarakan-client.
This commit is contained in:
commit
58b29a7f84
70 changed files with 12994 additions and 0 deletions
37
internal/session/session.go
Normal file
37
internal/session/session.go
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
package session
|
||||
|
||||
import "time"
|
||||
|
||||
type Role string
|
||||
|
||||
const (
|
||||
RoleSystem Role = "system"
|
||||
RoleUser Role = "user"
|
||||
RoleAgent Role = "agent"
|
||||
)
|
||||
|
||||
type Message struct {
|
||||
Role Role `json:"role"`
|
||||
Content string `json:"content"`
|
||||
CreatedAt time.Time `json:"created_at"`
|
||||
}
|
||||
|
||||
type Transcript struct {
|
||||
messages []Message
|
||||
}
|
||||
|
||||
func (t *Transcript) Append(role Role, content string) {
|
||||
t.messages = append(t.messages, Message{
|
||||
Role: role,
|
||||
Content: content,
|
||||
CreatedAt: time.Now(),
|
||||
})
|
||||
}
|
||||
|
||||
func (t *Transcript) Clear() {
|
||||
t.messages = nil
|
||||
}
|
||||
|
||||
func (t Transcript) Messages() []Message {
|
||||
return append([]Message(nil), t.messages...)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue