additional_text implemented for chatgpt_web. see #153
This commit is contained in:
parent
1d718b3797
commit
7544699422
4 changed files with 22 additions and 4 deletions
|
|
@ -256,7 +256,21 @@ function showCustomTextField(){
|
|||
}
|
||||
|
||||
async function doProceed(message, customText = ''){
|
||||
let send_result = await chatgpt_sendMsg(message.prompt+' '+customText,'click');
|
||||
let final_prompt = message.prompt;
|
||||
// console.log(">>>>>>>>>>>> doProceed customText: " + customText);
|
||||
// console.log(">>>>>>>>>>>> doProceed final_prompt: " + final_prompt);
|
||||
// console.log(">>>>>>>>>>>> doProceed mztaPhDefVal: " + JSON.stringify(mztaPhDefVal));
|
||||
//check if there is che additional_text placeholder
|
||||
if(final_prompt.includes('{%additional_text%}')){
|
||||
// console.log(">>>>>>>>>>>> found ph customText: " + customText);
|
||||
final_prompt = final_prompt.replace('{%additional_text%}', customText || (mztaPhDefVal == '1'?'':'{%additional_text%}'));
|
||||
}else{
|
||||
if(customText != ''){
|
||||
final_prompt += ' '+customText;
|
||||
}
|
||||
}
|
||||
|
||||
let send_result = await chatgpt_sendMsg(final_prompt,'click');
|
||||
//console.log(">>>>>>>>>>> send_result: " + send_result);
|
||||
switch(send_result){
|
||||
case -1: // send button not found
|
||||
|
|
|
|||
|
|
@ -157,7 +157,7 @@ export class mzta_Menus {
|
|||
}
|
||||
// console.log(">>>>>>>>>> finalSubs: " + JSON.stringify(finalSubs));
|
||||
let prefs_ph = await browser.storage.sync.get({placeholders_use_default_value: false});
|
||||
fullPrompt = placeholdersUtils.replacePlaceholders(curr_prompt.text, finalSubs, prefs_ph.placeholders_use_default_value) + (String(curr_prompt.need_signature) == "1" ? " " + await this.getDefaultSignature():"") + " " + chatgpt_lang;
|
||||
fullPrompt = placeholdersUtils.replacePlaceholders(curr_prompt.text, finalSubs, prefs_ph.placeholders_use_default_value, true) + (String(curr_prompt.need_signature) == "1" ? " " + await this.getDefaultSignature():"") + " " + chatgpt_lang;
|
||||
}
|
||||
|
||||
switch(curr_prompt.id){
|
||||
|
|
|
|||
|
|
@ -183,12 +183,15 @@ export const placeholdersUtils = {
|
|||
return matches;
|
||||
},
|
||||
|
||||
replacePlaceholders(text, replacements, use_dafault_value = false) {
|
||||
replacePlaceholders(text, replacements, use_default_value = false, skip_additional_text = false) {
|
||||
// Regular expression to match patterns like {%...%}
|
||||
return text.replace(/{%\s*(.*?)\s*%}/g, function(match, p1) {
|
||||
// p1 contains the key inside {% %}
|
||||
if (skip_additional_text && (p1 === 'additional_text')) {
|
||||
return match;
|
||||
}
|
||||
// Replace if found, otherwise keep the original or substitute with default value
|
||||
return replacements[p1] || (use_dafault_value ? defaultPlaceholders.find(ph => ph.id === p1).default_value : match);
|
||||
return replacements[p1] || (use_default_value ? defaultPlaceholders.find(ph => ph.id === p1).default_value : match);
|
||||
});
|
||||
},
|
||||
|
||||
|
|
|
|||
|
|
@ -281,6 +281,7 @@ async function openChatGPT(promptText, action, curr_tabId, prompt_name = '', do_
|
|||
let mztaForceCompletionTitle="`+ browser.i18n.getMessage("chatgpt_force_completion_title") +`";
|
||||
let mztaDoCustomText=`+ do_custom_text +`;
|
||||
let mztaPromptName="[`+ i18nConditionalGet(prompt_name) +`]";
|
||||
let mztaPhDefVal="`+(prefs.placeholders_use_default_value?'1':'0')+`";
|
||||
`;
|
||||
|
||||
taLog.log("Waiting 1 sec");
|
||||
|
|
|
|||
Loading…
Reference in a new issue