Format marker and the field is an
EmailContent in llm_schema() and a base64url RFC822 string on the wire.
All four are Pydantic models, so they validate with the rest of the schema and
appear in to_json_schema() with their field descriptions.
EmailContent
An email message. Transformed by
rfc822_base64 for Gmail, or
email_json for APIs that accept JSON.
str | List[str]
required
Recipient address, or addresses.
str
required
Subject line.
str
required
Body content — plain text, or HTML when
mimeType says so.Optional[str]
"text/plain" (the default behaviour) or "text/html".Optional[str]
HTML version of the body. Supplied alongside
body, the message goes out as
multipart/alternative with both parts.Optional[str | List[str]]
Carbon copy recipients.
Optional[str | List[str]]
Blind carbon copy recipients.
Optional[str]
Sender address. Aliased to
from on the wire, and populate_by_name is on, so
both spellings validate. Defaults to the authenticated user.Optional[str]
Reply-to address.
Optional[str]
Message-ID of the message being replied to. Required to keep a thread
together.
Optional[str]
Space-separated Message-IDs tracing the thread, most recent first.
str — the wire type — and the model is offered an
EmailContent, because Format swaps in the transform’s semantic type when the
LLM schema is derived.
CalendarEvent
An event, for calendar APIs.
str
required
Event title.
datetime
required
Start time.
datetime
required
End time.
Optional[str]
Detailed description.
Optional[str]
Location.
Optional[List[str]]
Attendee email addresses.
CalendarEvent: Google Calendar takes a JSON
body whose shape the schema declares directly. Use it where an API wants an
event as one value, and register a transform for that API’s encoding.
DocumentContent
A document. Transformed by document_json.
str
required
Document title.
str
required
Document content. Markdown is accepted.
Optional[Dict[str, Any]]
Additional metadata.
FileContent
A file, as text. Transformed by file_base64.
str
required
Name of the file.
str
required
File content as text. Binary payloads are out of scope — a model produces
text.
Optional[str]
MIME type.
Related
- Transforms — how a semantic type reaches the wire
Format— the marker that pairs the two