vibe.interview_modes.registry

Registry for interview mode extensions.

Provides registration, discovery, and lookup for interview modes. Built-in modes (standard) are handled as fallbacks.

register_interview_mode

register_interview_mode(mode: InterviewModeExtension) -> None

Register an interview mode extension.

Parameters:
Raises:
  • ValueError

    If a mode with this name is already registered.

get_interview_mode

get_interview_mode(name: str | None) -> InterviewModeExtension | None

Get a registered interview mode by name.

Parameters:
  • name (str | None) –

    Mode name (e.g., "review", "assistant"), or None.

Returns:

get_interview_modes

get_interview_modes() -> dict[str, InterviewModeExtension]

Get all registered interview mode extensions.

Returns:

get_registered_mode_names

get_registered_mode_names() -> set[str]

Get names of all valid interview modes.

Returns:
  • set[str]

    Set of mode names including both built-in and registered modes.

get_layout_for_mode

get_layout_for_mode(name: str | None) -> str

Get the layout template path for an interview mode.

Parameters:
  • name (str | None) –

    Mode name, or None for default.

Returns:
  • str

    Template path for the mode's layout.

  • str

    Falls back to standard layout for unknown modes.

is_valid_interview_mode

is_valid_interview_mode(name: str | None) -> bool

Check if a mode name is valid.

Parameters:
  • name (str | None) –

    Mode name to check, or None.

Returns:
  • bool

    True if the mode is built-in or registered.

discover_interview_modes

discover_interview_modes(config: dict[str, Any] | None = None) -> None

Discover and load interview mode extensions from configured entrypoints.

reset_interview_modes

reset_interview_modes() -> None

Reset registered interview modes (tests only).