# This file is auto-generated by alef — DO NOT EDIT. # alef:hash:4e15143f4af1ae8bafbdb1506ef057da924484c66a19483966333558ad437e75 # To regenerate: alef generate # To verify freshness: alef verify --exit-code # Issues & docs: https://github.com/kreuzberg-dev/alef defmodule Kreuzberg.DocumentNode do @moduledoc """ A single node in the document tree. Each node has deterministic `id`, typed `content`, optional `parent`/`children` for tree structure, and metadata like page number, bounding box, and content layer. """ @typedoc "A single node in the document tree." @type t :: %__MODULE__{ id: String.t() | nil, content: String.t() | nil, parent: non_neg_integer() | nil, children: [non_neg_integer()], content_layer: String.t() | nil, page: non_neg_integer() | nil, page_end: non_neg_integer() | nil, bbox: map() | nil, annotations: [map()], attributes: map() | nil } defstruct id: nil, content: :title, parent: nil, children: [], content_layer: :body, page: nil, page_end: nil, bbox: nil, annotations: [], attributes: nil end