from __future__ import annotations

from typing import List, Optional

from .app_plan import AppPlan, PageNode
from .ir_bundle import IRBundle, StrictBase


class PageBundle(StrictBase):
    page_node: PageNode
    ir_bundle: IRBundle
    react_code: str


class MultiPageBundle(StrictBase):
    app_plan: AppPlan
    pages: List[PageBundle]
    router_code: str
    context_code: str   # always generated — contains session infrastructure
    run_id: str
