mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-05-06 22:32:39 +02:00
feat(multi-agent): extend model fallback to general-purpose subagent
This commit is contained in:
parent
1745d7dccf
commit
b394dc71c7
2 changed files with 17 additions and 0 deletions
|
|
@ -230,6 +230,22 @@ def build_main_agent_deepagent_middleware(
|
|||
logging.warning("ScopedModelFallbackMiddleware init failed; skipping.")
|
||||
fallback_mw = None
|
||||
|
||||
# Mirror the parent's ordering: retry / fallback wrap caching, which wraps
|
||||
# the model. ``gp_middleware`` is held by reference inside
|
||||
# ``general_purpose_spec`` so this insertion propagates into the spec.
|
||||
_gp_resilience: list[Any] = [m for m in (retry_mw, fallback_mw) if m is not None]
|
||||
if _gp_resilience:
|
||||
_cache_idx = next(
|
||||
(
|
||||
i
|
||||
for i, m in enumerate(gp_middleware)
|
||||
if isinstance(m, AnthropicPromptCachingMiddleware)
|
||||
),
|
||||
len(gp_middleware),
|
||||
)
|
||||
for offset, mw in enumerate(_gp_resilience):
|
||||
gp_middleware.insert(_cache_idx + offset, mw)
|
||||
|
||||
registry_subagents: list[SubAgent] = []
|
||||
try:
|
||||
subagent_extra_middleware: list[Any] = [
|
||||
|
|
|
|||
|
|
@ -45,6 +45,7 @@ _FALLBACK_ELIGIBLE_NAMES: frozenset[str] = frozenset(
|
|||
"RemoteProtocolError",
|
||||
"TimeoutError",
|
||||
"TimeoutException",
|
||||
# Can be extended to other exceptions in the future
|
||||
}
|
||||
)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue