21 lines
688 B
Python
21 lines
688 B
Python
"""Register the default-off HUX runtime enforcement plugin."""
|
|
|
|
from __future__ import annotations
|
|
|
|
import os
|
|
from typing import Any
|
|
|
|
from .runtime import Runtime, UnavailableRuntime, enabled
|
|
|
|
|
|
def register(ctx: Any) -> None:
|
|
"""Register a real execution wrapper only after explicit operator opt-in."""
|
|
if not enabled(os.environ, "HUX_RUNTIME_ENABLED"):
|
|
return
|
|
try:
|
|
runtime: Runtime | UnavailableRuntime = Runtime.from_env()
|
|
except Exception:
|
|
runtime = UnavailableRuntime(enabled(os.environ, "HUX_TOOL_ENFORCEMENT"))
|
|
ctx.register_middleware("tool_execution", runtime.tool_execution)
|
|
ctx.register_hook("on_session_end", runtime.session_end)
|