vibe.extensions

Extension loading and hook registries for VIBE.

TemplateAnalysisHook

Hook definition for extension-provided template analysis.

register_extension

register_extension(name: str) -> None

Register an enabled extension by name.

is_extension_enabled

is_extension_enabled(name: str) -> bool

Return True if the named extension is enabled.

get_enabled_extensions

get_enabled_extensions() -> set[str]

Return the set of enabled extension names.

register_template_analysis_hook

register_template_analysis_hook(hook: TemplateAnalysisHook) -> None

Register a template analysis hook for an extension.

get_template_analysis_hooks

get_template_analysis_hooks() -> list[TemplateAnalysisHook]

Return registered template analysis hooks.

register_readiness_handler

register_readiness_handler(handler: Callable[[Any, Any, dict[str, Any]], None]) -> None

Register a handler for readiness updates during interview flow.

run_readiness_handlers

run_readiness_handlers(template: TemplateData, current_state: NestedValue, all_questions: dict[str, Any]) -> None

Run readiness handlers registered by extensions.

register_assistants_info_provider

register_assistants_info_provider(provider: Callable[[Any, Any], tuple[bool, list[dict[str, Any]]]]) -> None

Register a provider for assistant tab metadata.

get_assistants_info

get_assistants_info(template: TemplateData, g_obj: object) -> tuple[bool, list[dict[str, Any]]]

Collect assistant metadata from registered providers.

register_head_assets_provider

register_head_assets_provider(provider: Callable[[Any, dict[str, Any]], list[str]]) -> None

Register a provider for head asset templates.

get_head_assets_templates

get_head_assets_templates(template: TemplateData, context: dict[str, Any]) -> list[str]

Collect head asset templates from registered providers.

configure_extensions

configure_extensions(config: Mapping[str, Any] | None) -> None

Load configured extension entrypoints and register their hooks.

reset_extension_state

reset_extension_state() -> None

Reset registered extensions and hooks (tests only).