Files
EvoScientist-Multi/EvoScientist/middleware/__init__.py
T
jfilipiuk 88ac9f5ba1 fix: surface real exception class+message in SSE error events (#315)
* fix: surface real exception class+message in SSE error events

* fix: tighten SSE error patch scope and key redaction

* fix: redact base64-style secret suffixes fully

* style: remove notes/ reference from the dosctring

* fix: rebuild env cache on each error call

* fix: route BaseException through serde.default on SSE/webhook paths

* fix: distinguish routed providers by request URL host

* feat: normalize provider-SDK exceptions via ErrorNormalizationMiddleware

* refactor: drop json_dumpb dataclass-bypass wrappers, superseded by middleware

* fix: guard _extract_host against SDK properties that raise

* refactor: derive provider tag from ModelRequest.model, not the exception

* refactor: drop serde.default patch and exception-based inference; ProviderStreamError.model_dump handles the emit

* refactor: move envelope helpers from patches.py to errors.py

* feat: extend ErrorNormalizationMiddleware coverage to every model-call path

* chore: clean up review findings from middleware pivot

* fix: pass through all langgraph.errors

* fix: move langgraph.errors pass-through into _normalize

* fix: pass through ContextOverflowError in _normalize
2026-07-13 14:17:56 +01:00

68 lines
2.0 KiB
Python

"""Middleware package for EvoScientist.
Re-exports middleware classes and factory functions so that existing
``from EvoScientist.middleware import X`` imports continue to work.
"""
from .ask_user import (
AskUserMiddleware,
AskUserRequest,
AskUserWidgetResult,
Choice,
Question,
)
from .code_interpreter import create_code_interpreter_middleware
from .configurable_model import ConfigurableModelMiddleware
from .context_editing import (
compute_context_editing_trigger,
create_context_editing_middleware,
)
from .context_overflow import ContextOverflowMapperMiddleware
from .error_normalization import ErrorNormalizationMiddleware
from .memory import (
EvoMemoryMiddleware,
create_memory_middleware,
)
from .memory_lifecycle import (
EvoMemoryLifecycleMiddleware,
create_memory_lifecycle_middleware,
default_memory_scheduler,
)
from .model_fallback import ModelFallbackMiddleware, load_fallback_chain
from .runtime_context import RuntimeContextMiddleware, create_runtime_context_middleware
from .scheduler import (
SchedulerMiddleware,
create_scheduler_middleware,
)
from .tool_error_handler import ToolErrorHandlerMiddleware
from .tool_selector import create_tool_selector_middleware
from .utils import disable_thinking
__all__ = [
"AskUserMiddleware",
"AskUserRequest",
"AskUserWidgetResult",
"Choice",
"ConfigurableModelMiddleware",
"ContextOverflowMapperMiddleware",
"ErrorNormalizationMiddleware",
"EvoMemoryLifecycleMiddleware",
"EvoMemoryMiddleware",
"ModelFallbackMiddleware",
"Question",
"RuntimeContextMiddleware",
"SchedulerMiddleware",
"ToolErrorHandlerMiddleware",
"compute_context_editing_trigger",
"create_code_interpreter_middleware",
"create_context_editing_middleware",
"create_memory_lifecycle_middleware",
"create_memory_middleware",
"create_runtime_context_middleware",
"create_scheduler_middleware",
"create_tool_selector_middleware",
"default_memory_scheduler",
"disable_thinking",
"load_fallback_chain",
]