* feat: adding create bot functionality Signed-off-by: James <james@jan.ai> * update the temperature progress bar Signed-off-by: James <james@jan.ai> * chore: remove tgz Signed-off-by: James <james@jan.ai> * update core dependency Signed-off-by: James <james@jan.ai> * fix e2e test Signed-off-by: James <james@jan.ai> --------- Signed-off-by: James <james@jan.ai> Co-authored-by: James <james@jan.ai>
39 lines
992 B
TypeScript
39 lines
992 B
TypeScript
import { Bot } from "@/_models/Bot";
|
|
import { executeSerial } from "../../../electron/core/plugin-manager/execution/extension-manager";
|
|
import { DataService } from "@janhq/core";
|
|
|
|
export default function useUpdateBot() {
|
|
const updateBot = async (
|
|
bot: Bot,
|
|
updatableField: UpdatableField
|
|
): Promise<void> => {
|
|
try {
|
|
// TODO: if bot does not changed, no need to update
|
|
|
|
for (const [key, value] of Object.entries(updatableField)) {
|
|
if (value !== undefined) {
|
|
//@ts-ignore
|
|
bot[key] = value;
|
|
}
|
|
}
|
|
|
|
await executeSerial(DataService.UpdateBot, bot);
|
|
console.debug("Bot updated", JSON.stringify(bot, null, 2));
|
|
} catch (err) {
|
|
alert(`Update bot error: ${err}`);
|
|
console.error(err);
|
|
return;
|
|
}
|
|
};
|
|
|
|
return { updateBot };
|
|
}
|
|
|
|
export type UpdatableField = {
|
|
presencePenalty?: number;
|
|
frequencyPenalty?: number;
|
|
maxTokens?: number;
|
|
customTemperature?: number;
|
|
systemPrompt?: number;
|
|
};
|