Ctrl K
ComunidadGuías…

butler/gateway/locked_phases/hooks_phase.py

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
from __future__ import annotations

from typing import Optional, cast

from butler.hooks.runner import run_user_prompt_submit_hooks

from .state import LockedTurnState


def _phase_apply_prompt_hooks(state: LockedTurnState) -> Optional[str]:
    state.prompt_hooks = run_user_prompt_submit_hooks(
        state.text.strip(),
        session_key=state.session_key,
        platform=state.platform,
    )
    if state.prompt_hooks.blocked:
        return cast(str, state.prompt_hooks.block_message)
    if state.prompt_hooks.prevent_continuation:
        return state.prompt_hooks.stop_message or "已停止(UserPromptSubmit hook)"
    return None