vibe.web.routes.interview

Interview routes for initializing sessions and handling HTMX updates.

start_interview

start_interview(template: TemplateData, all_questions: Mapping[str, Any], version: str | None = None, **kwargs: object) -> ResponseReturnValue

Initialize and display the main interview page for a given template.

Session validation is disabled because this route is responsible for creating the session. Interview mode extensions can override the default behavior via handle_start().

template_ui_stylesheet

template_ui_stylesheet(template: TemplateData, version: str | None = None, **kwargs: object) -> ResponseReturnValue

Serve template-specific UI styles when configured.

serve_template_ui_file

serve_template_ui_file(template: TemplateData, filepath: str, version: str | None = None, **kwargs: object) -> ResponseReturnValue

Serve template-specific UI files (icons, images, etc.) from the template's ui folder.

Parameters:
  • template (TemplateData) –

    Template data (loaded by route_setup)

  • filepath (str) –

    Path to file relative to template's ui folder (e.g., "icon.png", "images/logo.svg")

  • version (str | None, default: None ) –

    Optional version identifier

  • **kwargs (object, default: {} ) –

    Unused route injection parameters

process_htmx

process_htmx(template: TemplateData, **kwargs: object) -> ResponseReturnValue

Process HTMX form submissions, update state, and return OOB swaps.

Session validation is enabled to ensure requests correspond to an active interview. CSRF protection is handled by Flask-SeaSurf configured in core.py.

reset_interview

reset_interview(template: TemplateData, **kwargs: object) -> ResponseReturnValue

Reset the interview session state and return a fresh UI.

CSRF protection is handled by Flask-SeaSurf configured in core.py.

start_drafting

start_drafting(template: TemplateData, **kwargs: object) -> ResponseReturnValue

Handle the explicit transition from READY_TO_DRAFT to DRAFTING stage.