fix(model-fallback): expose session fallback chains to background tasks

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
Choi Kijin / 최 기진 / チョイ キジン
2026-04-28 15:27:34 +09:00
parent 034744cbf2
commit cc3cca7cb7
4 changed files with 23 additions and 2 deletions
+9
View File
@@ -33,6 +33,7 @@ type ModelFallbackControllerWithState = Pick<
ModelFallbackStateController,
| "lastToastKey"
| "setSessionFallbackChain"
| "getSessionFallbackChain"
| "clearSessionFallbackChain"
| "setPendingModelFallback"
| "getNextFallback"
@@ -70,6 +71,13 @@ export function clearSessionFallbackChain(
controller.clearSessionFallbackChain(sessionID)
}
export function getSessionFallbackChain(
controller: Pick<ModelFallbackStateController, "getSessionFallbackChain">,
sessionID: string,
): FallbackEntry[] | undefined {
return controller.getSessionFallbackChain(sessionID)
}
/**
* Sets a pending model fallback for a session.
* Called when a model error is detected in session.error handler.
@@ -152,6 +160,7 @@ export function createModelFallbackHook(args?: ModelFallbackHookArgs): ModelFall
return {
lastToastKey: controller.lastToastKey,
setSessionFallbackChain: controller.setSessionFallbackChain,
getSessionFallbackChain: controller.getSessionFallbackChain,
clearSessionFallbackChain: controller.clearSessionFallbackChain,
setPendingModelFallback: controller.setPendingModelFallback,
getNextFallback: controller.getNextFallback,