Variable: messages
Makaio Framework / services-core / messages
Variable: messages
Section titled “Variable: messages”
constmessages:SQLiteTableWithColumns<{columns: {adapterMessageId:SQLiteColumn<{baseColumn:never;columnType:"SQLiteText";data:string;dataType:"string";driverParam:string;enumValues: [string,...string[]];generated:undefined;hasDefault:false;hasRuntimeDefault:false;identity:undefined;isAutoincrement:false;isPrimaryKey:false;name:"adapter_message_id";notNull:false;tableName:"messages"; }, { }, {length:number|undefined; }>;adapterSessionId:SQLiteColumn<{baseColumn:never;columnType:"SQLiteText";data:string;dataType:"string";driverParam:string;enumValues: [string,...string[]];generated:undefined;hasDefault:false;hasRuntimeDefault:false;identity:undefined;isAutoincrement:false;isPrimaryKey:false;name:"adapter_session_id";notNull:false;tableName:"messages"; }, { }, {length:number|undefined; }>;agentId:SQLiteColumn<{baseColumn:never;columnType:"SQLiteText";data:string;dataType:"string";driverParam:string;enumValues: [string,...string[]];generated:undefined;hasDefault:false;hasRuntimeDefault:false;identity:undefined;isAutoincrement:false;isPrimaryKey:false;name:"agent_id";notNull:false;tableName:"messages"; }, { }, {length:number|undefined; }>;blocks:SQLiteColumn<{baseColumn:never;columnType:"SQLiteText";data:string;dataType:"string";driverParam:string;enumValues: [string,...string[]];generated:undefined;hasDefault:true;hasRuntimeDefault:false;identity:undefined;isAutoincrement:false;isPrimaryKey:false;name:"blocks";notNull:true;tableName:"messages"; }, { }, {length:number|undefined; }>;contentText:SQLiteColumn<{baseColumn:never;columnType:"SQLiteText";data:string;dataType:"string";driverParam:string;enumValues: [string,...string[]];generated:undefined;hasDefault:false;hasRuntimeDefault:false;identity:undefined;isAutoincrement:false;isPrimaryKey:false;name:"content_text";notNull:true;tableName:"messages"; }, { }, {length:number|undefined; }>;editOf:SQLiteColumn<{baseColumn:never;columnType:"SQLiteText";data:string;dataType:"string";driverParam:string;enumValues: [string,...string[]];generated:undefined;hasDefault:false;hasRuntimeDefault:false;identity:undefined;isAutoincrement:false;isPrimaryKey:false;name:"edit_of";notNull:false;tableName:"messages"; }, { }, {length:number|undefined; }>;messageId:SQLiteColumn<{baseColumn:never;columnType:"SQLiteText";data:string;dataType:"string";driverParam:string;enumValues: [string,...string[]];generated:undefined;hasDefault:false;hasRuntimeDefault:false;identity:undefined;isAutoincrement:false;isPrimaryKey:true;name:"message_id";notNull:true;tableName:"messages"; }, { }, {length:number|undefined; }>;origin:SQLiteColumn<{baseColumn:never;columnType:"SQLiteText";data:"text"|"voice"|"compact";dataType:"string";driverParam:string;enumValues: ["voice","text","compact"];generated:undefined;hasDefault:false;hasRuntimeDefault:false;identity:undefined;isAutoincrement:false;isPrimaryKey:false;name:"origin";notNull:false;tableName:"messages"; }, { }, {length:number|undefined; }>;role:SQLiteColumn<{baseColumn:never;columnType:"SQLiteText";data:"user"|"assistant";dataType:"string";driverParam:string;enumValues: ["user","assistant"];generated:undefined;hasDefault:false;hasRuntimeDefault:false;identity:undefined;isAutoincrement:false;isPrimaryKey:false;name:"role";notNull:true;tableName:"messages"; }, { }, {length:number|undefined; }>;sessionId:SQLiteColumn<{baseColumn:never;columnType:"SQLiteText";data:string;dataType:"string";driverParam:string;enumValues: [string,...string[]];generated:undefined;hasDefault:false;hasRuntimeDefault:false;identity:undefined;isAutoincrement:false;isPrimaryKey:false;name:"session_id";notNull:true;tableName:"messages"; }, { }, {length:number|undefined; }>;timestamp:SQLiteColumn<{baseColumn:never;columnType:"SQLiteInteger";data:number;dataType:"number";driverParam:number;enumValues:undefined;generated:undefined;hasDefault:false;hasRuntimeDefault:false;identity:undefined;isAutoincrement:false;isPrimaryKey:false;name:"timestamp";notNull:true;tableName:"messages"; }, { }, { }>;turnId:SQLiteColumn<{baseColumn:never;columnType:"SQLiteText";data:string;dataType:"string";driverParam:string;enumValues: [string,...string[]];generated:undefined;hasDefault:false;hasRuntimeDefault:false;identity:undefined;isAutoincrement:false;isPrimaryKey:false;name:"turn_id";notNull:false;tableName:"messages"; }, { }, {length:number|undefined; }>; };dialect:"sqlite";name:"messages";schema:undefined; }>
Defined in: ../../../packages/services/core/src/session/messages/schema.ts:18
Messages table schema.
The single source of truth for conversation content as consumed by Makaio (UI history, search, transforms, routing).
Design principles:
- Messages are first-class entities, not embedded in events
- Single source of truth for conversation content
- Blocks stored as JSON for flexible structure
- contentText extracted for FTS5 search
- session_events tracks lifecycle (turns, branches) but not content