"""
helix_cdc.expander - Structured Expander DAG ("Helix Bomb")

A controlled expansion system inspired by zip bombs but for meaningful content.
Uses existing Helix primitives (ChunkVault, CDNA, HXZO) unified into a DAG.

Key features:
- Bounded expansion via IT tokens
- Content-addressed nodes (SHA256)
- Seekable/addressable regeneration
- Multiple GENERATE modes (PRG, codebook, fractal)

Example:
    from helix_cdc.expander import ExpanderDAG, literal_node, concat_node

    dag = ExpanderDAG(it_budget=100.0)
    dag.add_node(literal_node("chunk1", "abc123...", 1024))
    dag.add_node(literal_node("chunk2", "def456...", 1024))
    dag.add_node(concat_node("output", ["chunk1", "chunk2"]))
    dag.root_node = "output"

    executor = ExpanderExecutor(vault_path="/path/to/vault")
    outputs = executor.execute(dag)
"""

from helix_cdc.expander.dag import (
    OpType,
    GenerateMode,
    ExpanderNode,
    ExpanderDAG,
    ExpanderExecutor,
    # Factory functions
    literal_node,
    copy_node,
    generate_prg_node,
    generate_spline_cdf_node,
    generate_ifs_fractal_node,
    generate_codebook_node,
    patch_node,
    concat_node,
    repeat_node,
    cdna_tensor_node,
)

__all__ = [
    "OpType",
    "GenerateMode",
    "ExpanderNode",
    "ExpanderDAG",
    "ExpanderExecutor",
    "literal_node",
    "copy_node",
    "generate_prg_node",
    "generate_spline_cdf_node",
    "generate_ifs_fractal_node",
    "generate_codebook_node",
    "patch_node",
    "concat_node",
    "repeat_node",
    "cdna_tensor_node",
]
