Skip to content

Variable: messages

Makaio Framework


Makaio Framework / services-core / messages

const messages: 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