diff options
Diffstat (limited to 'types.go')
| -rw-r--r-- | types.go | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/types.go b/types.go new file mode 100644 index 0000000..903705d --- /dev/null +++ b/types.go @@ -0,0 +1,42 @@ +package main + +type Provider string + +const ( + Gemini Provider = "gemini" + // OpenAI Provider = "openai" // TODO: Add support for OpenAI in the future +) + +type ServerConfig struct { + Port int + Provider Provider + Model string + APIKey string +} + +type Identity struct { + ID string `json:"id,omitempty"` + Email string `json:"email,omitempty"` + Name string `json:"name,omitempty"` +} + +type ComposeDetails struct { + Subject string `json:"subject,omitempty"` + To []string `json:"to,omitempty"` + Cc []string `json:"cc,omitempty"` + Bcc []string `json:"bcc,omitempty"` + BodyPlain string `json:"bodyPlain,omitempty"` + BodyHTML string `json:"bodyHTML,omitempty"` + IdentityID string `json:"identityId,omitempty"` + IsHTML bool `json:"isHTML"` +} + +type ComposeContext struct { + Account Identity `json:"account"` + Compose ComposeDetails `json:"compose"` +} + +type Payload struct { + Prompt string `json:"prompt"` + Context ComposeContext `json:"context"` +} |
