add workflow

This commit is contained in:
Sirshendu Ganguly
2026-01-29 21:57:48 -05:00
parent ff6b7d8ad4
commit 11fc63d4f6
5 changed files with 60 additions and 2 deletions
+11 -1
View File
@@ -1,6 +1,6 @@
import { app } from "../../scripts/app.js";
import { api } from "../../scripts/api.js";
import { promptEnhanceHandler, syncDimensionsNodeHandler, searchNodeHandler, APIKeyHandler, captionNodeHandler, mediaUUIDHandler, videoTranscriptionHandler, videoOutputsHandler, handleCustomErrors, videoInferenceDimensionsHandler, videoModelSearchFilterHandler, audioModelSearchFilterHandler, useParameterToggleHandler, imageInferenceToggleHandler, upscalerToggleHandler, videoUpscalerToggleHandler, audioInferenceToggleHandler, acceleratorOptionsToggleHandler, bytedanceProviderSettingsToggleHandler, openaiProviderSettingsToggleHandler, lightricksProviderSettingsToggleHandler, klingProviderSettingsToggleHandler, lumaProviderSettingsToggleHandler, briaProviderSettingsToggleHandler, pixverseProviderSettingsToggleHandler, alibabaProviderSettingsToggleHandler, mireloProviderSettingsToggleHandler, googleProviderSettingsToggleHandler, syncProviderSettingsToggleHandler, syncSegmentToggleHandler, settingsToggleHandler, audioInputToggleHandler, speechInputToggleHandler, briaProviderMaskToggleHandler, wanAnimateAdvancedFeatureSettingsToggleHandler, videoAdvancedFeatureInputsToggleHandler, audioInferenceInputsToggleHandler } from "./utils.js";
import { promptEnhanceHandler, syncDimensionsNodeHandler, searchNodeHandler, APIKeyHandler, captionNodeHandler, mediaUUIDHandler, save3DFilepathHandler, videoTranscriptionHandler, videoOutputsHandler, handleCustomErrors, videoInferenceDimensionsHandler, videoModelSearchFilterHandler, audioModelSearchFilterHandler, useParameterToggleHandler, imageInferenceToggleHandler, upscalerToggleHandler, videoUpscalerToggleHandler, audioInferenceToggleHandler, acceleratorOptionsToggleHandler, bytedanceProviderSettingsToggleHandler, openaiProviderSettingsToggleHandler, lightricksProviderSettingsToggleHandler, klingProviderSettingsToggleHandler, lumaProviderSettingsToggleHandler, briaProviderSettingsToggleHandler, pixverseProviderSettingsToggleHandler, alibabaProviderSettingsToggleHandler, mireloProviderSettingsToggleHandler, googleProviderSettingsToggleHandler, syncProviderSettingsToggleHandler, syncSegmentToggleHandler, settingsToggleHandler, audioInputToggleHandler, speechInputToggleHandler, briaProviderMaskToggleHandler, wanAnimateAdvancedFeatureSettingsToggleHandler, videoAdvancedFeatureInputsToggleHandler, audioInferenceInputsToggleHandler } from "./utils.js";
import { RUNWARE_NODE_TYPES, RUNWARE_NODE_PROPS, SEARCH_TERMS } from "./types.js";
const nodeInitList = [];
@@ -10,6 +10,7 @@ app.registerExtension({
api.addEventListener('runwareError', handleCustomErrors);
api.addEventListener('runwareImageCaption', captionNodeHandler);
api.addEventListener('runwareMediaUUID', mediaUUIDHandler);
api.addEventListener('runwareSave3DFilepath', save3DFilepathHandler);
api.addEventListener('runwareVideoTranscription', videoTranscriptionHandler);
api.addEventListener('runwareVideoOutputs', videoOutputsHandler);
},
@@ -52,6 +53,15 @@ app.registerExtension({
w.inputEl.style.fontFamily = "monospace";
}
}
} else if(nodeClass === RUNWARE_NODE_TYPES.SAVE3D) {
// Style the filepath widget to show full path (like Media Upload mediaUUID)
const filepathWidget = node.widgets.find(widget => widget.name === "filepath");
if(filepathWidget && filepathWidget.inputEl) {
filepathWidget.inputEl.style.width = "100%";
filepathWidget.inputEl.style.minWidth = "300px";
filepathWidget.inputEl.style.fontSize = "11px";
filepathWidget.inputEl.style.fontFamily = "monospace";
}
}
const nodeWidgets = node.widgets;
+25
View File
@@ -70,6 +70,30 @@ function mediaUUIDHandler(msgEvent) {
return false;
}
function save3DFilepathHandler(msgEvent) {
const data = msgEvent.detail;
const filepath = data.filepath;
const nodeID = parseInt(data.nodeID);
if(data.success && filepath) {
const node = app.graph.getNodeById(nodeID);
if(node !== null && node !== undefined) {
const filepathWidget = node.widgets.find(widget => widget.name === "filepath");
if(filepathWidget) {
if(filepathWidget.value !== undefined) {
filepathWidget.value = filepath;
}
if(filepathWidget.inputEl) {
filepathWidget.inputEl.value = filepath;
filepathWidget.inputEl.dispatchEvent(new Event('input', { bubbles: true }));
filepathWidget.inputEl.dispatchEvent(new Event('change', { bubbles: true }));
}
}
}
}
return false;
}
function captionNodeHandler(msgEvent) {
const captionData = msgEvent.detail;
const captionText = captionData.captionText;
@@ -3193,6 +3217,7 @@ export {
syncDimensionsNodeHandler,
searchNodeHandler,
mediaUUIDHandler,
save3DFilepathHandler,
captionNodeHandler,
videoTranscriptionHandler,
videoOutputsHandler,