const executionPlan = ExecutionPlan.make({ provide: Gemini_2_5_Flash_Lite }, { provide: Gemini_2_5_Pro });
const ModelFallback = Layer.effect(
AiLanguageModel.AiLanguageModel,
Effect.gen(function* () {
return {
generateObject: flow(AiLanguageModel.generateObject, Effect.withExecutionPlan(executionPlan)),
generateText: flow(AiLanguageModel.generateText, Effect.withExecutionPlan(executionPlan)),
streamText: flow(AiLanguageModel.streamText, Stream.withExecutionPlan(executionPlan))
};
})
);
const executionPlan = ExecutionPlan.make({ provide: Gemini_2_5_Flash_Lite }, { provide: Gemini_2_5_Pro });
const ModelFallback = Layer.effect(
AiLanguageModel.AiLanguageModel,
Effect.gen(function* () {
return {
generateObject: flow(AiLanguageModel.generateObject, Effect.withExecutionPlan(executionPlan)),
generateText: flow(AiLanguageModel.generateText, Effect.withExecutionPlan(executionPlan)),
streamText: flow(AiLanguageModel.streamText, Stream.withExecutionPlan(executionPlan))
};
})
);