Add Extension Hook for Stable Diffusion Prompt Processing (#4167) * Update index.js * Update index.js * Update script.js * Use a named constant in event emit --------- Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>

0a136cbb2ae5b202643b7a8b5a8a859a015a598b

coffeegrind123 <103264516+coffeegrind123@users.noreply.github.com>

Signed
2 files changed, +7 -1Showing whitespace changes
public/script.js+1 -0
@@ -496,6 +496,7 @@ export const event_types = {
496 GENERATION_STARTED: 'generation_started',496 GENERATION_STARTED: 'generation_started',
497 GENERATION_STOPPED: 'generation_stopped',497 GENERATION_STOPPED: 'generation_stopped',
498 GENERATION_ENDED: 'generation_ended',498 GENERATION_ENDED: 'generation_ended',
499 SD_PROMPT_PROCESSING: 'sd_prompt_processing',
499 EXTENSIONS_FIRST_LOAD: 'extensions_first_load',500 EXTENSIONS_FIRST_LOAD: 'extensions_first_load',
500 EXTENSION_SETTINGS_LOADED: 'extension_settings_loaded',501 EXTENSION_SETTINGS_LOADED: 'extension_settings_loaded',
501 SETTINGS_LOADED: 'settings_loaded',502 SETTINGS_LOADED: 'settings_loaded',
public/scripts/extensions/stable-diffusion/index.js+6 -1
@@ -2468,9 +2468,14 @@ async function generatePicture(initiator, args, trigger, message, callback) {
2468 const combineNegatives = (prefix) => { negativePromptPrefix = combinePrefixes(negativePromptPrefix, prefix); };2468 const combineNegatives = (prefix) => { negativePromptPrefix = combinePrefixes(negativePromptPrefix, prefix); };
24692469
2470 // generate the text prompt for the image2470 // generate the text prompt for the image
2471 const prompt = await getPrompt(generationType, message, trigger, quietPrompt, combineNegatives);2471 let prompt = await getPrompt(generationType, message, trigger, quietPrompt, combineNegatives);
2472 console.log('Processed image prompt:', prompt);2472 console.log('Processed image prompt:', prompt);
24732473
2474 // Extension hook for prompt processing
2475 const eventData = { prompt, generationType, message, trigger };
2476 await eventSource.emit(event_types.SD_PROMPT_PROCESSING, eventData);
2477 prompt = eventData.prompt; // Allow extensions to modify the prompt
2478
2474 $(stopButton).show();2479 $(stopButton).show();
2475 eventSource.once(CUSTOM_STOP_EVENT, stopListener);2480 eventSource.once(CUSTOM_STOP_EVENT, stopListener);
24762481