Variable: sessionEvents
Makaio Framework / services-core / sessionEvents
Variable: sessionEvents
Section titled “Variable: sessionEvents”
constsessionEvents:SQLiteTableWithColumns<{columns: {adapterId: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_id";notNull:false;tableName:"session_events"; }, { }, {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:"session_events"; }, { }, {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:false;tableName:"session_events"; }, { }, {length:number|undefined; }>;eventId: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:"event_id";notNull:true;tableName:"session_events"; }, { }, {length:number|undefined; }>;id:SQLiteColumn<{baseColumn:never;columnType:"SQLiteInteger";data:number;dataType:"number";driverParam:number;enumValues:undefined;generated:undefined;hasDefault:true;hasRuntimeDefault:false;identity:undefined;isAutoincrement:false;isPrimaryKey:true;name:"id";notNull:true;tableName:"session_events"; }, { }, { }>;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:false;name:"message_id";notNull:false;tableName:"session_events"; }, { }, {length:number|undefined; }>;originatingMessageId: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:"originating_message_id";notNull:false;tableName:"session_events"; }, { }, {length:number|undefined; }>;payload: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:"payload";notNull:true;tableName:"session_events"; }, { }, {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:"session_events"; }, { }, {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:"session_events"; }, { }, { }>;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:"session_events"; }, { }, {length:number|undefined; }>;type: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:"type";notNull:true;tableName:"session_events"; }, { }, {length:number|undefined; }>; };dialect:"sqlite";name:"session_events";schema:undefined; }>
Defined in: ../../../packages/services/core/src/session/session-events/schema.ts:25
Session events table schema.
Stores immutable, append-only session events for unified history reconstruction. Events are persisted by SessionLogger via storage service.
Event Types:
- Message references (type=‘message’ with messageId FK to messages table)
- Agent lifecycle (agent.added)
- Turn lifecycle (turn.started, turn.completed)
- User message events (user_message.sent/acknowledged/completed)
Design rationale:
- First-class columns for queryable fields (IDs, timestamp, type)
contentTextextracted for FTS5/embeddings (future)payloadstores full JSON for exact API reconstruction
SEAM: The sessionId FK enables cascade delete when sessions are purged.
Future embeddings table can reference eventId for vector search.