lib/spatio/model/conversation.ex

# NOTE: This file is auto generated by OpenAPI Generator 7.22.0 (https://openapi-generator.tech).
# Do not edit this file manually.

defmodule Spatio.Model.Conversation do
  @moduledoc """
  LLM conversation persisted by the platform-service. Stored in snake_case at the wire (legacy DTO; predates the camelCase rest of the API). Treat field names as authoritative. 
  """

  @derive JSON.Encoder
  defstruct [
    :id,
    :user_id,
    :title,
    :context,
    :cwd,
    :session_id,
    :pinned,
    :last_message_at,
    :message_count,
    :is_active,
    :metadata,
    :created_at,
    :updated_at
  ]

  @type t :: %__MODULE__{
    :id => String.t,
    :user_id => String.t,
    :title => String.t,
    :context => String.t | nil,
    :cwd => String.t | nil,
    :session_id => String.t | nil,
    :pinned => boolean() | nil,
    :last_message_at => DateTime.t | nil,
    :message_count => integer() | nil,
    :is_active => boolean() | nil,
    :metadata => %{optional(String.t) => any()} | nil,
    :created_at => DateTime.t | nil,
    :updated_at => DateTime.t | nil
  }

  def decode(value) do
    value
  end
end