cozy-search
Version:
UI components about search bar and IA assistant
92 lines (81 loc) • 4.2 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getSelectedProviderById = exports.checkIfModelUnsupported = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
var providers = [{
id: "openrag",
name: "Twake",
models: ["openrag"],
description: "assistant_create.steps.provider_selection.openrag.description",
icon: "TwakeLogo",
external: false
}, {
id: "google",
name: "Google",
models: ["gemini-3-pro", "gemini-3-pro-001", "gemini-3-flash", "gemini-2.5-pro", "gemini-2.5-flash", "gemini-nano-banana-pro"],
description: "assistant_create.steps.provider_selection.google.description",
icon: "GeminiLogo",
baseUrl: "https://generativelanguage.googleapis.com/v1beta",
external: true
}, {
id: "openai",
name: "OpenAI",
models: ["gpt-5.1", "gpt-5-2025-11-14", "o3", "o4-mini", "gpt-5-mini", "gpt-4.1-mini", "sora-v2"],
unsupportedModels: ["o1", "o1-mini", "o1-preview"],
description: "assistant_create.steps.provider_selection.openai.description",
icon: "OpenAILogo",
baseUrl: "https://api.openai.com/v1",
external: true
}, {
id: "mistral_ai",
name: "Mistral AI",
models: ["mistral-large-3", "mistral-large-2512", "mistral-medium-3.1", "ministral-3b", "ministral-8b", "ministral-14b", "codestral-2", "devstral-small-2", "pixtral-large-2502"],
description: "assistant_create.steps.provider_selection.mistral_ai.description",
icon: "MistralLogo",
baseUrl: "https://api.mistral.ai/v1",
external: true
}, {
id: "meta",
name: "Meta",
models: ["meta-llama/Llama-4-Scout-17B-16E-Instruct", "meta-llama/Llama-4-Maverick-402B-Instruct", "meta-llama/Llama-3.3-70B-Instruct", "meta-llama/Llama-3.2-90B-Vision-Instruct"],
description: "assistant_create.steps.provider_selection.meta.description",
icon: "MetaLogo",
baseUrl: "https://api.llama.com/v1",
external: true
}, {
id: "custom",
name: "assistant_create.steps.provider_selection.custom.name",
description: "assistant_create.steps.provider_selection.custom.description",
icon: "PlusSmall",
external: true
}];
/**
* Get the provider corresponding to a given model name.
* If no provider matches, return the custom provider.
* @param {string} providerId - The ID of the provider.
* @returns {object} The provider object.
*/
var getSelectedProviderById = function getSelectedProviderById(providerId) {
return providers.find(function (provider) {
return provider.id === providerId;
}) || _objectSpread({}, providers.find(function (provider) {
return provider.id === 'custom';
}));
};
/**
* Check whether the given model is unsupported by the provider.
* @param {object} provider - The provider object.
* @param {string} model - The model name.
* @returns {boolean} True if the model is unsupported.
*/
exports.getSelectedProviderById = getSelectedProviderById;
var checkIfModelUnsupported = function checkIfModelUnsupported(provider, model) {
var unsupportedModels = (provider === null || provider === void 0 ? void 0 : provider.unsupportedModels) || [];
return unsupportedModels.includes(model === null || model === void 0 ? void 0 : model.trim());
};
exports.checkIfModelUnsupported = checkIfModelUnsupported;