u
This commit is contained in:
@@ -47,13 +47,27 @@ export async function hasConfiguredOpenRouterKey(googleAuthId) {
|
||||
|
||||
/**
|
||||
* Resolve the default model for a user/company:
|
||||
* - As soon as the user/company has configured `keys.openrouter`, use `env.openrouterPaidModel`.
|
||||
* - Otherwise (using the server's free key), use `env.openrouterFreeModel`.
|
||||
* - If companysetting `default-model` is set, return it (works in both paid and no-key modes).
|
||||
* - Otherwise, if the user/company has configured `keys.openrouter`, use `env.openrouterPaidModel`
|
||||
* (which defaults to 'openai/gpt-6-luna:floor').
|
||||
* - Otherwise (no key set / free mode), use `env.openrouterFreeModel`
|
||||
* (which defaults to 'openrouter/free').
|
||||
*
|
||||
* @param {number} [googleAuthId]
|
||||
* @returns {Promise<string>}
|
||||
*/
|
||||
export async function resolveDefaultModel(googleAuthId) {
|
||||
if (googleAuthId) {
|
||||
try {
|
||||
const setting = await dbCompanySetting.getByKey(googleAuthId, 'default-model', { maskWriteonly: false });
|
||||
const customModel = setting?.value?.trim();
|
||||
if (customModel) return customModel;
|
||||
} catch (err) {
|
||||
console.error('default-model: failed to read company setting:', err.message);
|
||||
}
|
||||
}
|
||||
const hasKey = await hasConfiguredOpenRouterKey(googleAuthId);
|
||||
return hasKey ? env.openrouterPaidModel : env.openrouterFreeModel;
|
||||
return hasKey
|
||||
? (env.openrouterPaidModel || 'openai/gpt-6-luna:floor')
|
||||
: (env.openrouterFreeModel || 'openrouter/free');
|
||||
}
|
||||
Reference in New Issue
Block a user