Purpose: Persistence layer for cases, documents, assessments, and observability.
Last Updated: 2026-01-09
Mastra uses a dual-storage approach: a local SQLite database (via Drizzle ORM) for business entities and a built-in LibSQLStore for Mastra-specific execution data (traces, spans).
src/db/schema.ts. Includes cases, documents, assessments, and outputs.LibSQLStore handles mastra_traces, mastra_ai_spans, and mastra_scorers.timeline_events, evidence_gaps, sub_claims, and vulnerability_flags.prompt_execution_traces provides detailed cost and token tracking per AI call../tmp/ with paths referenced in the DB.// Business Schema (Drizzle)
export const cases = sqliteTable('cases', {
id: text('id').primaryKey(),
status: text('status').default('new'),
});
// Mastra Store Config
storage: new LibSQLStore({
url: process.env.MASTRA_DB_PATH || 'file:./mastra.db',
}),
Reference: src/db/schema.ts, src/mastra/index.ts
Related: