Represents a message object that organizes context for an LLM.
interface Message// Basic message with text content
const message: Message = {
id: "msg-123",
name: "user",
type: "human",
content: [{ type: "text", text: "Hello!" }]
};
// Basic ai message interface extension
interface MyMessage extends Message<StandardMessageStructure, "ai"> {
// Additional AI-specific properties can be added here
}
`
// Custom message structure
interface CustomStructure extends MessageStructure {
content: {
ai: ContentBlock.Text | ContentBlock.ToolCall<"search", { query: string }>;
human: ContentBlock.Text | ContentBlock.Multimodal.Image;
};
}
// Create a message with custom structure
const message: Message<CustomStructure> = {
id: "msg-123",
name: "user",
type: "ai",
content: [
{ type: "text", text: "Hello!" },
{
type: "tool_call",
name: "search",
args: { query: "What is the capital of France?" }
}
]
};Array of content blocks that make up the message content
An optional identifier for the document.
Ideally this should be unique across the document collection and formatted as a UUID, but this will not be enforced.
Metadata about the message