vibe.web.interview_logic

Core business logic for the interview web routes.

These functions are called by the route handlers in routes/interview.py.

UILayoutConfig

Resolved UI layout settings for standard interview mode.

render_interview_page

render_interview_page(template: TemplateData, *, mode: str | None = None, layout_template: str | None = None, ui_ctx: dict[str, Any] | None = None, question_panel_ctx: dict[str, Any] | None = None, toolbar_ctx: dict[str, Any] | None = None, preview_ctx: dict[str, Any] | None = None, error_ctx: dict[str, Any] | None = None, assistant_ctx: dict[str, Any] | None = None, paged_ctx: dict[str, Any] | None = None, extra_context: dict[str, Any] | None = None) -> str

Central helper for rendering the interview page with the new layout contracts.

Uses the interview mode extension API to determine the layout template and apply mode-specific context transformations.

handle_start_interview

handle_start_interview(template: TemplateData) -> str | Response

Handle the logic for the main interview page (GET request).

handle_process_htmx

handle_process_htmx(template: TemplateData) -> Response

Handle the logic for processing form submissions (POST request).

handle_reset_interview

handle_reset_interview(template: TemplateData) -> Response

Handle the logic for resetting an interview (POST request).