@graphteon/juricode
Version:
We are forging the future with lines of digital steel
69 lines • 2.52 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.extractSettings = exports.parseMaxBudgetPerTask = void 0;
const extractBasicFormData = (formData) => {
const provider = formData.get("llm-provider-input")?.toString();
const model = formData.get("llm-model-input")?.toString();
const LLM_MODEL = `${provider}/${model}`.toLowerCase();
const LLM_API_KEY = formData.get("llm-api-key-input")?.toString();
const AGENT = formData.get("agent")?.toString();
const LANGUAGE = formData.get("language")?.toString();
return {
LLM_MODEL,
LLM_API_KEY,
AGENT,
LANGUAGE,
};
};
const extractAdvancedFormData = (formData) => {
const keys = Array.from(formData.keys());
const isUsingAdvancedOptions = keys.includes("use-advanced-options");
let CUSTOM_LLM_MODEL;
let LLM_BASE_URL;
let CONFIRMATION_MODE = false;
let SECURITY_ANALYZER;
let ENABLE_DEFAULT_CONDENSER = true;
if (isUsingAdvancedOptions) {
CUSTOM_LLM_MODEL = formData.get("custom-model")?.toString();
LLM_BASE_URL = formData.get("base-url")?.toString();
CONFIRMATION_MODE = keys.includes("confirmation-mode");
if (CONFIRMATION_MODE) {
SECURITY_ANALYZER = formData.get("security-analyzer")?.toString();
}
ENABLE_DEFAULT_CONDENSER = keys.includes("enable-default-condenser");
}
return {
CUSTOM_LLM_MODEL,
LLM_BASE_URL,
CONFIRMATION_MODE,
SECURITY_ANALYZER,
ENABLE_DEFAULT_CONDENSER,
};
};
const parseMaxBudgetPerTask = (value) => {
if (!value) {
return null;
}
const parsedValue = parseFloat(value);
return parsedValue && parsedValue >= 1 && Number.isFinite(parsedValue)
? parsedValue
: null;
};
exports.parseMaxBudgetPerTask = parseMaxBudgetPerTask;
const extractSettings = (formData) => {
const { LLM_MODEL, LLM_API_KEY, AGENT, LANGUAGE } = extractBasicFormData(formData);
const { CUSTOM_LLM_MODEL, LLM_BASE_URL, CONFIRMATION_MODE, SECURITY_ANALYZER, ENABLE_DEFAULT_CONDENSER, } = extractAdvancedFormData(formData);
return {
LLM_MODEL: CUSTOM_LLM_MODEL || LLM_MODEL,
LLM_API_KEY_SET: !!LLM_API_KEY,
AGENT,
LANGUAGE,
LLM_BASE_URL,
CONFIRMATION_MODE,
SECURITY_ANALYZER,
ENABLE_DEFAULT_CONDENSER,
llm_api_key: LLM_API_KEY,
};
};
exports.extractSettings = extractSettings;
//# sourceMappingURL=settings-utils.js.map