// Shared column projections for queries against the messages_with_parts view.
// All sites that read the full Message wire shape for route responses use
// MESSAGE_COLUMNS. The inference load path uses INFERENCE_MESSAGE_COLUMNS —
// it adds reasoning_parts and model (per-turn attribution, used to label prior
// turns when a chat mixes models) but omits the compaction-display fields
// (summary, tail_start_id, compacted_at) that only the UI needs.

export const MESSAGE_COLUMNS =
  'id, session_id, chat_id, role, content, kind, tool_calls, tool_results, status, last_seq, ' +
  'tokens_used, ctx_used, ctx_max, cache_tokens, reasoning_tokens, ' +
  'started_at, finished_at, created_at, metadata, ' +
  'summary, tail_start_id, compacted_at, model';

export const INFERENCE_MESSAGE_COLUMNS =
  'id, session_id, chat_id, role, content, kind, tool_calls, tool_results, status, last_seq, ' +
  'tokens_used, ctx_used, ctx_max, cache_tokens, reasoning_tokens, ' +
  'started_at, finished_at, created_at, metadata, ' +
  'reasoning_parts, model';
