Added Saftey Inputs back
This commit is contained in:
+3
-1
@@ -1,6 +1,6 @@
|
||||
import { app } from "../../scripts/app.js";
|
||||
import { api } from "../../scripts/api.js";
|
||||
import { promptEnhanceHandler, syncDimensionsNodeHandler, searchNodeHandler, APIKeyHandler, captionNodeHandler, saveTextHandler, mediaUUIDHandler, save3DFilepathHandler, videoTranscriptionHandler, videoOutputsHandler, handleCustomErrors, videoInferenceDimensionsHandler, videoModelSearchFilterHandler, audioModelSearchFilterHandler, textModelSearchFilterHandler, vectorizeModelSearchFilterHandler, vectorizeToggleHandler, useParameterToggleHandler, imageInferenceToggleHandler, imageInferenceAdvancedFeaturesToggleHandler, watermarkAdvancedFeatureToggleHandler, videoInferenceSpeechInputToggleHandler, regionalPromptingRegionsToggleHandler, upscalerToggleHandler, imageUpscalerSettingsToggleHandler, videoUpscalerToggleHandler, audioInferenceToggleHandler, audioInferenceSpeechToggleHandler, audioSettingsToggleHandler, textInferenceSettingsToggleHandler, videoSettingsToggleHandler, acceleratorOptionsToggleHandler, bytedanceProviderSettingsToggleHandler, xaiProviderSettingsToggleHandler, viduProviderSettingsToggleHandler, sourcefulProviderSettingsToggleHandler, sourcefulProviderSettingsFontsToggleHandler, threeDInferenceToggleHandler, threeDInferenceSettingsToggleHandler, threeDInferenceSettingsLatToggleHandler, ultralyticsProviderSettingsToggleHandler, openaiProviderSettingsToggleHandler, lightricksProviderSettingsToggleHandler, klingProviderSettingsToggleHandler, lumaProviderSettingsToggleHandler, briaProviderSettingsToggleHandler, pixverseProviderSettingsToggleHandler, alibabaProviderSettingsToggleHandler, mireloProviderSettingsToggleHandler, googleProviderSettingsToggleHandler, syncProviderSettingsToggleHandler, syncSegmentToggleHandler, settingsToggleHandler, imageInferenceSettingsColorPaletteToggleHandler, audioInputToggleHandler, speechInputToggleHandler, briaProviderMaskToggleHandler, wanAnimateAdvancedFeatureSettingsToggleHandler, videoAdvancedFeatureInputsToggleHandler, audioInferenceInputsToggleHandler } from "./utils.js";
|
||||
import { promptEnhanceHandler, syncDimensionsNodeHandler, searchNodeHandler, APIKeyHandler, captionNodeHandler, saveTextHandler, mediaUUIDHandler, save3DFilepathHandler, videoTranscriptionHandler, videoOutputsHandler, handleCustomErrors, videoInferenceDimensionsHandler, videoModelSearchFilterHandler, audioModelSearchFilterHandler, textModelSearchFilterHandler, vectorizeModelSearchFilterHandler, vectorizeToggleHandler, useParameterToggleHandler, imageInferenceToggleHandler, imageInferenceAdvancedFeaturesToggleHandler, watermarkAdvancedFeatureToggleHandler, videoInferenceSpeechInputToggleHandler, regionalPromptingRegionsToggleHandler, upscalerToggleHandler, imageUpscalerSettingsToggleHandler, videoUpscalerToggleHandler, audioInferenceToggleHandler, audioInferenceSpeechToggleHandler, audioSettingsToggleHandler, textInferenceSettingsToggleHandler, videoSettingsToggleHandler, acceleratorOptionsToggleHandler, bytedanceProviderSettingsToggleHandler, xaiProviderSettingsToggleHandler, viduProviderSettingsToggleHandler, sourcefulProviderSettingsToggleHandler, sourcefulProviderSettingsFontsToggleHandler, threeDInferenceToggleHandler, threeDInferenceSettingsToggleHandler, threeDInferenceSettingsLatToggleHandler, ultralyticsProviderSettingsToggleHandler, openaiProviderSettingsToggleHandler, lightricksProviderSettingsToggleHandler, klingProviderSettingsToggleHandler, lumaProviderSettingsToggleHandler, briaProviderSettingsToggleHandler, pixverseProviderSettingsToggleHandler, alibabaProviderSettingsToggleHandler, mireloProviderSettingsToggleHandler, googleProviderSettingsToggleHandler, syncProviderSettingsToggleHandler, syncSegmentToggleHandler, settingsToggleHandler, safetyInputsToggleHandler, imageInferenceSettingsColorPaletteToggleHandler, audioInputToggleHandler, speechInputToggleHandler, briaProviderMaskToggleHandler, wanAnimateAdvancedFeatureSettingsToggleHandler, videoAdvancedFeatureInputsToggleHandler, audioInferenceInputsToggleHandler } from "./utils.js";
|
||||
import { RUNWARE_NODE_TYPES, RUNWARE_NODE_PROPS, SEARCH_TERMS } from "./types.js";
|
||||
|
||||
const nodeInitList = [];
|
||||
@@ -135,6 +135,8 @@ app.registerExtension({
|
||||
sourcefulProviderSettingsFontsToggleHandler(node);
|
||||
} else if(nodeClass === RUNWARE_NODE_TYPES.SETTINGS) {
|
||||
settingsToggleHandler(node);
|
||||
} else if(nodeClass === RUNWARE_NODE_TYPES.SAFETYINPUTS) {
|
||||
safetyInputsToggleHandler(node);
|
||||
} else if(nodeClass === RUNWARE_NODE_TYPES.IMAGEINFERENCESETTINGSCOLORPALETTE) {
|
||||
imageInferenceSettingsColorPaletteToggleHandler(node);
|
||||
} else if(nodeClass === RUNWARE_NODE_TYPES.AUDIOINPUT) {
|
||||
|
||||
@@ -4486,6 +4486,7 @@ export {
|
||||
syncProviderSettingsToggleHandler,
|
||||
syncSegmentToggleHandler,
|
||||
settingsToggleHandler,
|
||||
safetyInputsToggleHandler,
|
||||
imageInferenceSettingsColorPaletteToggleHandler,
|
||||
audioInputToggleHandler,
|
||||
speechInputToggleHandler,
|
||||
@@ -4661,6 +4662,71 @@ function settingsToggleHandler(settingsNode) {
|
||||
}
|
||||
}
|
||||
|
||||
function safetyInputsToggleHandler(safetyNode) {
|
||||
const useModeWidget = safetyNode.widgets.find(w => w.name === "useMode");
|
||||
const modeWidget = safetyNode.widgets.find(w => w.name === "mode");
|
||||
const useToleranceWidget = safetyNode.widgets.find(w => w.name === "useTolerance");
|
||||
const toleranceWidget = safetyNode.widgets.find(w => w.name === "tolerance");
|
||||
const useCheckInputsWidget = safetyNode.widgets.find(w => w.name === "useCheckInputs");
|
||||
const checkInputsWidget = safetyNode.widgets.find(w => w.name === "checkInputs");
|
||||
const useCheckContentWidget = safetyNode.widgets.find(w => w.name === "useCheckContent");
|
||||
const checkContentWidget = safetyNode.widgets.find(w => w.name === "checkContent");
|
||||
|
||||
function toggleWidgetState(useWidget, paramWidget, paramName) {
|
||||
if (!useWidget || !paramWidget) return;
|
||||
|
||||
function toggleEnabled() {
|
||||
const enabled = useWidget.value === true;
|
||||
|
||||
if (paramWidget.inputEl) {
|
||||
paramWidget.inputEl.disabled = !enabled;
|
||||
paramWidget.inputEl.style.opacity = enabled ? "1" : "0.5";
|
||||
paramWidget.inputEl.style.cursor = enabled ? "text" : "not-allowed";
|
||||
paramWidget.inputEl.readOnly = !enabled;
|
||||
}
|
||||
|
||||
paramWidget.disabled = !enabled;
|
||||
|
||||
if (!paramWidget.inputEl) {
|
||||
const nodeElement = safetyNode.htmlElements?.widgetsContainer || safetyNode.htmlElements;
|
||||
if (nodeElement) {
|
||||
const input = nodeElement.querySelector(`input[name="${paramName}"], textarea[name="${paramName}"], select[name="${paramName}"]`);
|
||||
if (input) {
|
||||
input.disabled = !enabled;
|
||||
input.style.opacity = enabled ? "1" : "0.5";
|
||||
input.style.cursor = enabled ? "text" : "not-allowed";
|
||||
input.readOnly = !enabled;
|
||||
if (input.tagName === "SELECT") {
|
||||
input.style.pointerEvents = enabled ? "auto" : "none";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
safetyNode.setDirtyCanvas(true);
|
||||
}
|
||||
|
||||
appendWidgetCB(useWidget, () => {
|
||||
setTimeout(toggleEnabled, 50);
|
||||
});
|
||||
|
||||
setTimeout(toggleEnabled, 100);
|
||||
}
|
||||
|
||||
if (useModeWidget && modeWidget) {
|
||||
toggleWidgetState(useModeWidget, modeWidget, "mode");
|
||||
}
|
||||
if (useToleranceWidget && toleranceWidget) {
|
||||
toggleWidgetState(useToleranceWidget, toleranceWidget, "tolerance");
|
||||
}
|
||||
if (useCheckInputsWidget && checkInputsWidget) {
|
||||
toggleWidgetState(useCheckInputsWidget, checkInputsWidget, "checkInputs");
|
||||
}
|
||||
if (useCheckContentWidget && checkContentWidget) {
|
||||
toggleWidgetState(useCheckContentWidget, checkContentWidget, "checkContent");
|
||||
}
|
||||
}
|
||||
|
||||
function imageInferenceSettingsColorPaletteToggleHandler(paletteNode) {
|
||||
function applyParamState(useWidget, paramWidget, paramName) {
|
||||
if (!useWidget || !paramWidget) return;
|
||||
|
||||
+27
-7
@@ -9,25 +9,41 @@ class safetyInputs:
|
||||
return {
|
||||
"required": {},
|
||||
"optional": {
|
||||
"useMode": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include mode in payload.",
|
||||
"default": False,
|
||||
}),
|
||||
"mode": (["none", "fast", "full"], {
|
||||
"tooltip": "Safety moderation mode: none (disable), fast (quick check), or full (comprehensive check).",
|
||||
"default": "none",
|
||||
}),
|
||||
"useTolerance": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include tolerance in payload.",
|
||||
"default": False,
|
||||
}),
|
||||
"tolerance": ("BOOLEAN", {
|
||||
"tooltip": "Safety tolerance setting for content moderation.",
|
||||
"default": None,
|
||||
"default": False,
|
||||
"label_on": "Enabled",
|
||||
"label_off": "Disabled",
|
||||
}),
|
||||
"useCheckInputs": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include checkInputs in payload.",
|
||||
"default": False,
|
||||
}),
|
||||
"checkInputs": ("BOOLEAN", {
|
||||
"tooltip": "Enable checking of input content for safety violations.",
|
||||
"default": None,
|
||||
"default": False,
|
||||
"label_on": "Enabled",
|
||||
"label_off": "Disabled",
|
||||
}),
|
||||
"useCheckContent": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include checkContent in payload.",
|
||||
"default": False,
|
||||
}),
|
||||
"checkContent": ("BOOLEAN", {
|
||||
"tooltip": "Enable checking of generated content for safety violations.",
|
||||
"default": None,
|
||||
"default": False,
|
||||
"label_on": "Enabled",
|
||||
"label_off": "Disabled",
|
||||
}),
|
||||
@@ -42,20 +58,24 @@ class safetyInputs:
|
||||
|
||||
def createSafetyInputs(self, **kwargs) -> tuple[Dict[str, Any]]:
|
||||
"""Create safety inputs dictionary"""
|
||||
useMode = kwargs.get("useMode", False)
|
||||
mode = kwargs.get("mode", None)
|
||||
useTolerance = kwargs.get("useTolerance", False)
|
||||
tolerance = kwargs.get("tolerance", None)
|
||||
useCheckInputs = kwargs.get("useCheckInputs", False)
|
||||
checkInputs = kwargs.get("checkInputs", None)
|
||||
useCheckContent = kwargs.get("useCheckContent", False)
|
||||
checkContent = kwargs.get("checkContent", None)
|
||||
|
||||
safetyInputs = {}
|
||||
|
||||
if mode is not None:
|
||||
if useMode and mode is not None:
|
||||
safetyInputs["mode"] = mode
|
||||
if tolerance is not None:
|
||||
if useTolerance and tolerance is not None:
|
||||
safetyInputs["tolerance"] = tolerance
|
||||
if checkInputs is not None:
|
||||
if useCheckInputs and checkInputs is not None:
|
||||
safetyInputs["checkInputs"] = checkInputs
|
||||
if checkContent is not None:
|
||||
if useCheckContent and checkContent is not None:
|
||||
safetyInputs["checkContent"] = checkContent
|
||||
|
||||
return (safetyInputs,)
|
||||
|
||||
+2
-2
@@ -139,8 +139,8 @@ class RunwareSettings:
|
||||
useLayers = kwargs.get("useLayers", False)
|
||||
useTrueCFGScale = kwargs.get("useTrueCFGScale", False)
|
||||
useQuality = kwargs.get("useQuality", False)
|
||||
usePromptExtend = kwargs.get("usePromptExtend", True)
|
||||
promptExtend = kwargs.get("promptExtend", True)
|
||||
usePromptExtend = kwargs.get("usePromptExtend", False)
|
||||
promptExtend = kwargs.get("promptExtend", False)
|
||||
useEditRegions = kwargs.get("useEditRegions", False)
|
||||
useThinking = kwargs.get("useThinking", False)
|
||||
useSequential = kwargs.get("useSequential", False)
|
||||
|
||||
@@ -132,6 +132,9 @@ class upscaler:
|
||||
"min": 0,
|
||||
"max": 2,
|
||||
}),
|
||||
"safetyInputs": ("RUNWARESAFETYINPUTS", {
|
||||
"tooltip": "Deprecated compatibility socket. Accepted for old workflows but ignored by this node.",
|
||||
}),
|
||||
"Accelerator": ("RUNWAREACCELERATOR", {
|
||||
"tooltip": "Connect a Runware Accelerator Options Node to configure caching and acceleration settings.",
|
||||
}),
|
||||
@@ -176,6 +179,7 @@ class upscaler:
|
||||
colorFix = kwargs.get("colorFix", False)
|
||||
tileDiffusion = kwargs.get("tileDiffusion", False)
|
||||
clipSkip = kwargs.get("clipSkip", 0)
|
||||
safetyInputs = kwargs.get("safetyInputs", None)
|
||||
runwareAccelerator = kwargs.get("Accelerator", None)
|
||||
providerSettings = kwargs.get("providerSettings", None)
|
||||
imageUpscalerSettingsBundle = kwargs.get("imageUpscalerSettings", None)
|
||||
@@ -243,6 +247,10 @@ class upscaler:
|
||||
# Add settings to config if any settings were specified
|
||||
if settings:
|
||||
genConfig["settings"] = settings
|
||||
|
||||
# Add safety inputs if provided
|
||||
if safetyInputs is not None and isinstance(safetyInputs, dict) and len(safetyInputs) > 0:
|
||||
genConfig["safety"] = safetyInputs
|
||||
|
||||
# Add accelerator options if provided
|
||||
if runwareAccelerator is not None and isinstance(runwareAccelerator, dict) and len(runwareAccelerator) > 0:
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user