bizydraft 0.2.31__py3-none-any.whl → 0.2.78.dev20251117024007__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- bizydraft/env.py +3 -0
- bizydraft/hijack_nodes.py +62 -23
- bizydraft/hijack_routes.py +8 -2
- bizydraft/oss_utils.py +223 -2
- bizydraft/patch_handlers.py +197 -8
- bizydraft/static/js/aiAppHandler.js +11 -12
- bizydraft/static/js/clipspaceToOss.js +316 -0
- bizydraft/static/js/disableComfyWebSocket.js +65 -0
- bizydraft/static/js/freezeModeHandler.js +23 -0
- bizydraft/static/js/handleStyle.js +73 -0
- bizydraft/static/js/hookLoad/configLoader.js +68 -0
- bizydraft/static/js/hookLoad/media.js +498 -0
- bizydraft/static/js/hookLoad/model.js +278 -0
- bizydraft/static/js/hookLoadMedia.js +159 -0
- bizydraft/static/js/hookLoadModel.js +159 -198
- bizydraft/static/js/main.js +3 -1
- bizydraft/static/js/postEvent.js +292 -168
- bizydraft/static/js/tool.js +4 -1
- bizydraft/static/js/workflow_io.js +193 -0
- {bizydraft-0.2.31.dist-info → bizydraft-0.2.78.dev20251117024007.dist-info}/METADATA +1 -1
- bizydraft-0.2.78.dev20251117024007.dist-info/RECORD +34 -0
- bizydraft/static/js/hookLoadImage.js +0 -173
- bizydraft-0.2.31.dist-info/RECORD +0 -28
- {bizydraft-0.2.31.dist-info → bizydraft-0.2.78.dev20251117024007.dist-info}/WHEEL +0 -0
- {bizydraft-0.2.31.dist-info → bizydraft-0.2.78.dev20251117024007.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
// 基础类型检查
|
|
2
|
+
const BASIC_TYPES = ['number', 'string', 'boolean'];
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* 检查值是否为基础类型
|
|
6
|
+
* @param {any} val - 要检查的值
|
|
7
|
+
* @returns {boolean} 是否为基础类型
|
|
8
|
+
*/
|
|
9
|
+
function isBasicType(val) {
|
|
10
|
+
const type = typeof val;
|
|
11
|
+
return BASIC_TYPES.includes(type);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* 遍历所有节点inputs,保留基础类型参数
|
|
16
|
+
* @param {Object} prompt - prompt对象
|
|
17
|
+
* @returns {Array} 输入参数数组
|
|
18
|
+
*/
|
|
19
|
+
function getInputParams(prompt) {
|
|
20
|
+
const inputParams = [];
|
|
21
|
+
|
|
22
|
+
for (const [nodeId, node] of Object.entries(prompt)) {
|
|
23
|
+
const classType = node.class_type;
|
|
24
|
+
const inputs = node.inputs || {};
|
|
25
|
+
|
|
26
|
+
for (const [k, v] of Object.entries(inputs)) {
|
|
27
|
+
if (isBasicType(v)) {
|
|
28
|
+
inputParams.push({
|
|
29
|
+
node_id: nodeId,
|
|
30
|
+
class_type: classType,
|
|
31
|
+
param_name: k,
|
|
32
|
+
param_value: v
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return inputParams;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* 通过prompt参数推断叶子节点(即没有被其他节点inputs引用的节点)
|
|
43
|
+
* @param {Object} prompt - prompt对象
|
|
44
|
+
* @returns {Set} 叶子节点id集合
|
|
45
|
+
*/
|
|
46
|
+
function getLeafNodesFromPrompt(prompt) {
|
|
47
|
+
const referenced = new Set();
|
|
48
|
+
|
|
49
|
+
for (const [nodeId, node] of Object.entries(prompt)) {
|
|
50
|
+
const inputs = node.inputs || {};
|
|
51
|
+
|
|
52
|
+
for (const v of Object.values(inputs)) {
|
|
53
|
+
// 如果是引用(如["4", 1]),则v为array且第一个元素为节点id
|
|
54
|
+
if (Array.isArray(v) && v.length > 0 && typeof v[0] === 'string') {
|
|
55
|
+
referenced.add(v[0]);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
const allNodes = new Set(Object.keys(prompt));
|
|
61
|
+
const leafNodes = new Set([...allNodes].filter(x => !referenced.has(x)));
|
|
62
|
+
|
|
63
|
+
return leafNodes;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* 从工作流节点中查找指定节点id的节点
|
|
68
|
+
* @param {Array} wfNodes - 工作流节点数组
|
|
69
|
+
* @param {string} nodeId - 节点id
|
|
70
|
+
* @returns {Object|null} 找到的节点或null
|
|
71
|
+
*/
|
|
72
|
+
function getNodeIdFromWfNodes(wfNodes, nodeId) {
|
|
73
|
+
for (const wfNode of wfNodes) {
|
|
74
|
+
if (String(wfNode.id || 0) === nodeId) {
|
|
75
|
+
return wfNode;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* 按节点类型和参数名整理参数信息
|
|
83
|
+
* @param {Array} inputParams - 输入参数数组
|
|
84
|
+
* @param {Set} excludeNodeIds - 需要排除的节点id集合
|
|
85
|
+
* @param {Array} wfNodes - 工作流节点数组
|
|
86
|
+
* @returns {Array} 整理后的参数信息
|
|
87
|
+
*/
|
|
88
|
+
function summarizeParams(inputParams, excludeNodeIds, wfNodes) {
|
|
89
|
+
const summary = {};
|
|
90
|
+
|
|
91
|
+
for (const param of inputParams) {
|
|
92
|
+
const nodeId = param.node_id;
|
|
93
|
+
|
|
94
|
+
if (excludeNodeIds.has(nodeId)) {
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
const wfNode = getNodeIdFromWfNodes(wfNodes, nodeId);
|
|
99
|
+
let title = param.class_type;
|
|
100
|
+
|
|
101
|
+
if (wfNode && wfNode.title) {
|
|
102
|
+
title = wfNode.title;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
const key = `${param.class_type}_${nodeId}`;
|
|
106
|
+
|
|
107
|
+
if (!summary[key]) {
|
|
108
|
+
summary[key] = {
|
|
109
|
+
name: param.class_type,
|
|
110
|
+
displayName: param.class_type,
|
|
111
|
+
nodeId: nodeId,
|
|
112
|
+
params: [],
|
|
113
|
+
title: title
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
// 获取参数值的类型
|
|
118
|
+
let paramType = typeof param.param_value;
|
|
119
|
+
if (paramType === 'number') {
|
|
120
|
+
paramType = Number.isInteger(param.param_value) ? 'INT' : 'FLOAT';
|
|
121
|
+
} else {
|
|
122
|
+
paramType = paramType.toUpperCase();
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
summary[key].params.push({
|
|
126
|
+
name: param.param_name,
|
|
127
|
+
displayName: param.param_name,
|
|
128
|
+
type: paramType,
|
|
129
|
+
defaultValue: param.param_value
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
return Object.values(summary);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* 解析工作流IO数据
|
|
138
|
+
* @param {Object} requestData - 请求数据
|
|
139
|
+
* @returns {Object} 解析结果
|
|
140
|
+
*/
|
|
141
|
+
function parseWorkflowIO(requestData) {
|
|
142
|
+
const prompt = requestData.prompt || {};
|
|
143
|
+
const extraData = requestData.extra_data || {};
|
|
144
|
+
|
|
145
|
+
const extraPnginfo = extraData.extra_pnginfo || {};
|
|
146
|
+
const workflow = extraPnginfo.workflow || {};
|
|
147
|
+
const wfNodes = workflow.nodes || [];
|
|
148
|
+
|
|
149
|
+
// 1. 输出参数(推断叶子节点)
|
|
150
|
+
const leafNodes = getLeafNodesFromPrompt(prompt);
|
|
151
|
+
const outputNodes = [];
|
|
152
|
+
|
|
153
|
+
for (const nodeId of leafNodes) {
|
|
154
|
+
const node = prompt[nodeId];
|
|
155
|
+
const classType = node.class_type;
|
|
156
|
+
const wfNode = getNodeIdFromWfNodes(wfNodes, nodeId);
|
|
157
|
+
|
|
158
|
+
let title = classType;
|
|
159
|
+
if (wfNode && wfNode.title) {
|
|
160
|
+
title = wfNode.title;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
outputNodes.push({
|
|
164
|
+
nodeId: nodeId,
|
|
165
|
+
name: classType,
|
|
166
|
+
displayName: classType,
|
|
167
|
+
title: title,
|
|
168
|
+
params: []
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
// 2. 输入参数(排除已作为输出的节点)
|
|
173
|
+
const inputParams = getInputParams(prompt);
|
|
174
|
+
const inputSummary = summarizeParams(inputParams, leafNodes, wfNodes);
|
|
175
|
+
|
|
176
|
+
// 3. 构造response格式
|
|
177
|
+
return {
|
|
178
|
+
data: {
|
|
179
|
+
inputs: inputSummary,
|
|
180
|
+
outputs: outputNodes
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
// 导出函数
|
|
186
|
+
export {
|
|
187
|
+
parseWorkflowIO,
|
|
188
|
+
isBasicType,
|
|
189
|
+
getInputParams,
|
|
190
|
+
getLeafNodesFromPrompt,
|
|
191
|
+
summarizeParams,
|
|
192
|
+
getNodeIdFromWfNodes
|
|
193
|
+
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
bizydraft/__init__.py,sha256=OM-sKCQrPh25nHVJIX-DgF1raMYyoWLSuyduIAHt0Gs,78
|
|
2
|
+
bizydraft/block_nodes.py,sha256=Lqn3oSCaGDHR2OICc8a2iRoRCVVK9v1-9MM3r-qIZgA,1092
|
|
3
|
+
bizydraft/env.py,sha256=VFmGopVL2TGWA6hwxyFhIglCEcQxy6iVvL_raMNd6u4,407
|
|
4
|
+
bizydraft/hijack_nodes.py,sha256=riHsp4DhU60E60bfXUl8kVqjs1QvQWmx_FsgQAdWTa4,4197
|
|
5
|
+
bizydraft/hijack_routes.py,sha256=TVK7zdSIe4wN5dusjnAr1we43K6B_Zup5-dWcBj5rxo,3545
|
|
6
|
+
bizydraft/oss_utils.py,sha256=IjWKFZ98KNvLw7bmFuqux5mEG36B8c9eQbQmL_gZo0M,16254
|
|
7
|
+
bizydraft/patch_handlers.py,sha256=cP6gIYBYghWXI72hBbz3BbQHP1O5IvslS8iNK29MEbI,14159
|
|
8
|
+
bizydraft/postload.py,sha256=XFElKcmCajT_oO7SVJJBaN04XcWro54N5HB5cSCxfvI,1308
|
|
9
|
+
bizydraft/prestartup_patch.py,sha256=4FGjmRcDHELjtlQOrfTfk2Un5OS89QIqfq-gEcB9WDs,998
|
|
10
|
+
bizydraft/resp.py,sha256=8INvKOe5Dgai3peKfqKjrhUoYeuXWXn358w30-_cY-A,369
|
|
11
|
+
bizydraft/server.py,sha256=L2zoJgOisr65IRphOyko74AdsLel59gh55peyMaUrO8,2102
|
|
12
|
+
bizydraft/workflow_io.py,sha256=MYhJbpgkv8hrA5k_aolijOTrWpTtu62nzRznA4hv8JE,4298
|
|
13
|
+
bizydraft/static/js/aiAppHandler.js,sha256=OQRhhoqvc8iZeCvHTtdaD2VTYBGzkeAGdCk1UMO2RZs,17525
|
|
14
|
+
bizydraft/static/js/clipspaceToOss.js,sha256=brfEPs71Tky5Dnc47UXNEFeFlESDE3kQvUH8ducpIew,14265
|
|
15
|
+
bizydraft/static/js/disableComfyWebSocket.js,sha256=ZDOVlU3v3EvWpMRkD8s_AnO43vuWojVLLjkF2pNEVrA,1957
|
|
16
|
+
bizydraft/static/js/freezeModeHandler.js,sha256=SjpHD2nYymR-E13B0YcqkA6e4WycZOVI3c48Ts9qvWE,18027
|
|
17
|
+
bizydraft/static/js/handleStyle.js,sha256=2zAD9zGktGwdi0VLw4cDvqkPGTh0yYBAniytIbfI9kU,3867
|
|
18
|
+
bizydraft/static/js/hookLoadMedia.js,sha256=EYDuitzOFvlNzM_e4IdE0-wXHQfnyCx7KrwzoxVTdr0,6363
|
|
19
|
+
bizydraft/static/js/hookLoadModel.js,sha256=r8ym8ih_w39bo_B0dZwnq-b00XOL-7dhM77R7_5J_Rc,8120
|
|
20
|
+
bizydraft/static/js/main.js,sha256=-pMeAG8vkKO6yq9zXCeHI78KezGn0r9AhYm65DuZrVI,188
|
|
21
|
+
bizydraft/static/js/nodeFocusHandler.js,sha256=24xXbS4Q-GjJdRqf11i-1pBo8MkOJ24F7MHFV44EG6Q,4683
|
|
22
|
+
bizydraft/static/js/nodeParamsFilter.js,sha256=H7lBB0G8HNqoGhOCH1hNXqPU-rPlrFyTxg_f_JgLEMk,4168
|
|
23
|
+
bizydraft/static/js/postEvent.js,sha256=_EyA71m5DwGbhHsuf1amKhpLUBxfBWZaMMxViNhuYzU,43481
|
|
24
|
+
bizydraft/static/js/socket.js,sha256=VE3fTAgEfM0FZhL526Skt7OCRokOa3mzTCAjAomI_tE,2432
|
|
25
|
+
bizydraft/static/js/tool.js,sha256=2Hhv2J18OaFZRWmHIlseahjd5Ot7ZVxUPb5z46YeXIo,2928
|
|
26
|
+
bizydraft/static/js/uploadFile.js,sha256=WvglKzHMeOzDhOH3P-fLcPHxCLbKOJpo4DntoRxeJtI,4908
|
|
27
|
+
bizydraft/static/js/workflow_io.js,sha256=FWAjncvWhvy-3nN_legD2fpRwgnIncpRLHU5X016a-U,5236
|
|
28
|
+
bizydraft/static/js/hookLoad/configLoader.js,sha256=R1k0GKdEmv4IIxdT2F-oOI9X9I19ECe77P_1tO3XxgY,2525
|
|
29
|
+
bizydraft/static/js/hookLoad/media.js,sha256=iX_zoZ0OzLAdYZ3bn5GpzpnwU-YjcBuEozQt-MwNuwk,17936
|
|
30
|
+
bizydraft/static/js/hookLoad/model.js,sha256=aHvEPt9k3CcrawHSYnQYcvbtTRwIztk-XDRA3lvgXvA,9890
|
|
31
|
+
bizydraft-0.2.78.dev20251117024007.dist-info/METADATA,sha256=UHr86vHNHIdSNQYagWYilP-23NkFtCZtyZxgGyHIRhQ,180
|
|
32
|
+
bizydraft-0.2.78.dev20251117024007.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
33
|
+
bizydraft-0.2.78.dev20251117024007.dist-info/top_level.txt,sha256=XtoBq6hjZhXIM7aas4GtPDtAiKo8FdLzMABXW8qqQ8M,10
|
|
34
|
+
bizydraft-0.2.78.dev20251117024007.dist-info/RECORD,,
|
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
import { app } from "../../scripts/app.js";
|
|
2
|
-
import { getCookie, computeIsLoadNode, computeExt, hideWidget } from './tool.js';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
app.registerExtension({
|
|
6
|
-
name: "bizyair.image.to.oss",
|
|
7
|
-
async beforeRegisterNodeDef(nodeType, nodeData) {
|
|
8
|
-
let workflowParams = null
|
|
9
|
-
document.addEventListener('workflowLoaded', (event) => {
|
|
10
|
-
workflowParams = event.detail;
|
|
11
|
-
})
|
|
12
|
-
document.addEventListener('drop', (e) => {
|
|
13
|
-
e.preventDefault();
|
|
14
|
-
const files = e.dataTransfer.files;
|
|
15
|
-
|
|
16
|
-
Array.from(files).forEach((file) => {
|
|
17
|
-
if (file.type === 'application/json' || file.name.endsWith('.json')) {
|
|
18
|
-
const reader = new FileReader();
|
|
19
|
-
reader.onload = function(event) {
|
|
20
|
-
try {
|
|
21
|
-
const jsonContent = JSON.parse(event.target.result);
|
|
22
|
-
if (jsonContent && jsonContent.nodes) {
|
|
23
|
-
window.currentWorkflowData = jsonContent;
|
|
24
|
-
}
|
|
25
|
-
} catch (error) {
|
|
26
|
-
console.error('解析JSON文件失败:', error);
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
reader.readAsText(file);
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
})
|
|
33
|
-
if (computeIsLoadNode(nodeData.name)) {
|
|
34
|
-
nodeType.prototype.onNodeCreated = async function() {
|
|
35
|
-
const apiHost = 'https://bizyair.cn/api'
|
|
36
|
-
const image_widget = this.widgets.find(w => {
|
|
37
|
-
return w.name === 'image'
|
|
38
|
-
|| w.name === 'file'
|
|
39
|
-
|| w.name === 'audio'
|
|
40
|
-
|| w.name === 'model_file'
|
|
41
|
-
});
|
|
42
|
-
let image_name_widget = this.widgets.find(w => w.name === 'image_name');
|
|
43
|
-
let image_list = []
|
|
44
|
-
const getData = async () => {
|
|
45
|
-
const res = await fetch(`${apiHost}/special/community/commit_input_resource?${
|
|
46
|
-
new URLSearchParams({
|
|
47
|
-
ext: computeExt(nodeData.name),
|
|
48
|
-
current: 1,
|
|
49
|
-
page_size: 100
|
|
50
|
-
|
|
51
|
-
}).toString()
|
|
52
|
-
}`, {
|
|
53
|
-
method: 'GET',
|
|
54
|
-
headers: {
|
|
55
|
-
'Content-Type': 'application/json',
|
|
56
|
-
'Authorization': `Bearer ${getCookie('bizy_token')}`
|
|
57
|
-
}
|
|
58
|
-
})
|
|
59
|
-
const {data} = await res.json()
|
|
60
|
-
const list = (data && data.data && data.data.data && data.data.data.list) || []
|
|
61
|
-
image_list = list.filter(item => item.name).map(item => {
|
|
62
|
-
return {
|
|
63
|
-
url: item.url,
|
|
64
|
-
id: item.id,
|
|
65
|
-
name: item.name
|
|
66
|
-
}
|
|
67
|
-
})
|
|
68
|
-
if (!image_name_widget) {
|
|
69
|
-
image_name_widget = this.addWidget("combo", "image_name", "", function(e){
|
|
70
|
-
const item = image_list.find(item => item.name === e)
|
|
71
|
-
const image_url = decodeURIComponent(item.url);
|
|
72
|
-
image_widget.value = image_url;
|
|
73
|
-
if (image_widget.callback) {
|
|
74
|
-
image_widget.callback(e);
|
|
75
|
-
}
|
|
76
|
-
}, {
|
|
77
|
-
serialize: true,
|
|
78
|
-
values: image_list.map(item => item.name)
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
const val = image_list.find(item => item.url === image_widget.value)?.name || image_widget.value
|
|
82
|
-
image_name_widget.label = image_widget.label
|
|
83
|
-
image_name_widget.value = val
|
|
84
|
-
|
|
85
|
-
const currentIndex = this.widgets.indexOf(image_name_widget);
|
|
86
|
-
if (currentIndex > 1) {
|
|
87
|
-
this.widgets.splice(currentIndex, 1);
|
|
88
|
-
this.widgets.splice(1, 0, image_name_widget);
|
|
89
|
-
}
|
|
90
|
-
hideWidget(this, image_widget.name)
|
|
91
|
-
image_widget.options.values = image_list.map(item => item.name);
|
|
92
|
-
|
|
93
|
-
const callback = image_widget.callback
|
|
94
|
-
image_widget.callback = async function(e) {
|
|
95
|
-
console.log(e)
|
|
96
|
-
if (typeof e == 'string') {
|
|
97
|
-
const item = e.includes('http') ?
|
|
98
|
-
image_list.find(item => item.url === e) :
|
|
99
|
-
image_list.find(item => item.name === e)
|
|
100
|
-
|
|
101
|
-
const image_url = item ? decodeURIComponent(item.url) : e;
|
|
102
|
-
|
|
103
|
-
image_name_widget.value = item ? item.name : e;
|
|
104
|
-
image_widget.value = image_url;
|
|
105
|
-
console.log('=================image_url=================')
|
|
106
|
-
console.log(image_url)
|
|
107
|
-
console.log(item)
|
|
108
|
-
console.log(await app.graphToPrompt())
|
|
109
|
-
callback([image_url])
|
|
110
|
-
console.log(await app.graphToPrompt())
|
|
111
|
-
} else {
|
|
112
|
-
const item = e[0].split('/')
|
|
113
|
-
image_name_widget.options.values.pop()
|
|
114
|
-
image_name_widget.options.values.push(item[item.length - 1])
|
|
115
|
-
image_name_widget.value = item[item.length - 1]
|
|
116
|
-
image_list.push({
|
|
117
|
-
name: item[item.length - 1],
|
|
118
|
-
url: e[0]
|
|
119
|
-
})
|
|
120
|
-
callback(e)
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
return true
|
|
124
|
-
}
|
|
125
|
-
await getData()
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
function applyWorkflowImageSettings(workflowParams, image_list, image_widget, image_name_widget) {
|
|
129
|
-
if (workflowParams && workflowParams.nodes) {
|
|
130
|
-
const imageNode = workflowParams.nodes.find(item => computeIsLoadNode(item.type))
|
|
131
|
-
if (imageNode && imageNode.widgets_values) {
|
|
132
|
-
const item = imageNode.widgets_values[0].split('/')
|
|
133
|
-
image_list.push({
|
|
134
|
-
name: item[item.length - 1],
|
|
135
|
-
url: imageNode.widgets_values[0]
|
|
136
|
-
})
|
|
137
|
-
image_widget.value = imageNode.widgets_values[0]
|
|
138
|
-
|
|
139
|
-
image_widget.options.values = image_list.map(item => item.url)
|
|
140
|
-
image_name_widget.options.values = image_list.map(item => item.name)
|
|
141
|
-
image_widget.callback(imageNode.widgets_values[0])
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
// 如果有存储的工作流数据,应用图像设置
|
|
147
|
-
if (window.currentWorkflowData) {
|
|
148
|
-
applyWorkflowImageSettings(window.currentWorkflowData, image_list, image_widget, image_name_widget);
|
|
149
|
-
// 清除存储的数据,避免重复处理
|
|
150
|
-
delete window.currentWorkflowData;
|
|
151
|
-
} else {
|
|
152
|
-
// 原有的调用
|
|
153
|
-
applyWorkflowImageSettings(workflowParams, image_list, image_widget, image_name_widget);
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
})
|
|
161
|
-
|
|
162
|
-
// app.api.addEventListener('graphChanged', (e) => {
|
|
163
|
-
// console.log('Graph 发生变化,当前 workflow JSON:', e.detail)
|
|
164
|
-
// window.parent.postMessage({
|
|
165
|
-
// type: 'functionResult',
|
|
166
|
-
// method: 'workflowChanged',
|
|
167
|
-
// result: e.detail
|
|
168
|
-
// }, '*');
|
|
169
|
-
|
|
170
|
-
// document.dispatchEvent(new CustomEvent('workflowLoaded', {
|
|
171
|
-
// detail: e.detail
|
|
172
|
-
// }));
|
|
173
|
-
// })
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
bizydraft/__init__.py,sha256=OM-sKCQrPh25nHVJIX-DgF1raMYyoWLSuyduIAHt0Gs,78
|
|
2
|
-
bizydraft/block_nodes.py,sha256=Lqn3oSCaGDHR2OICc8a2iRoRCVVK9v1-9MM3r-qIZgA,1092
|
|
3
|
-
bizydraft/env.py,sha256=nVh4xBKXWnRUPbHL3PqZr6VFN8txKsrsmshu8PFGaqo,299
|
|
4
|
-
bizydraft/hijack_nodes.py,sha256=6k2MvC0lhzg32zr14twuUMnAeYxPvUYWL2ID6Tv8cw8,2904
|
|
5
|
-
bizydraft/hijack_routes.py,sha256=lf6x3xDzbo9yQIRwfG_1oxcUNfrX_1ogbiff3WOV9gM,3268
|
|
6
|
-
bizydraft/oss_utils.py,sha256=W3-Td6K4vrB83oMowN82c3nmQ3IrEoR1UX6S8AvO6ig,7896
|
|
7
|
-
bizydraft/patch_handlers.py,sha256=WPf4xeV5sBpoJ2MkHHhx0wem7B0KQNuhONElN7c9v3g,5989
|
|
8
|
-
bizydraft/postload.py,sha256=XFElKcmCajT_oO7SVJJBaN04XcWro54N5HB5cSCxfvI,1308
|
|
9
|
-
bizydraft/prestartup_patch.py,sha256=4FGjmRcDHELjtlQOrfTfk2Un5OS89QIqfq-gEcB9WDs,998
|
|
10
|
-
bizydraft/resp.py,sha256=8INvKOe5Dgai3peKfqKjrhUoYeuXWXn358w30-_cY-A,369
|
|
11
|
-
bizydraft/server.py,sha256=L2zoJgOisr65IRphOyko74AdsLel59gh55peyMaUrO8,2102
|
|
12
|
-
bizydraft/workflow_io.py,sha256=MYhJbpgkv8hrA5k_aolijOTrWpTtu62nzRznA4hv8JE,4298
|
|
13
|
-
bizydraft/static/js/aiAppHandler.js,sha256=t3tefGg9d_2-VeNxqrwMMdX6JYE5uroyXZq0hXNWSzw,17572
|
|
14
|
-
bizydraft/static/js/freezeModeHandler.js,sha256=l1-JK8hyFbJzQ6ylq6occUa_kwszPq9rDbKut48bn6s,17247
|
|
15
|
-
bizydraft/static/js/handleStyle.js,sha256=o9JpjOqs_lLIr-jpqpGNjUN74XQPT8pD3fF5bjsHLAU,1466
|
|
16
|
-
bizydraft/static/js/hookLoadImage.js,sha256=jQGckFr7bTLRiwcFsVmSy1mj_o7TKj1uup0QQ00qwbk,8079
|
|
17
|
-
bizydraft/static/js/hookLoadModel.js,sha256=j_U-z275xxeu3XqgSVlrP8jKURWni5yUaG3pcJQ3ZGI,8582
|
|
18
|
-
bizydraft/static/js/main.js,sha256=oEsVEUZSo8ipx93oqs2WFQSRgp46XQ_D-Xao-wen2S8,121
|
|
19
|
-
bizydraft/static/js/nodeFocusHandler.js,sha256=24xXbS4Q-GjJdRqf11i-1pBo8MkOJ24F7MHFV44EG6Q,4683
|
|
20
|
-
bizydraft/static/js/nodeParamsFilter.js,sha256=H7lBB0G8HNqoGhOCH1hNXqPU-rPlrFyTxg_f_JgLEMk,4168
|
|
21
|
-
bizydraft/static/js/postEvent.js,sha256=5rafG9GjaesxmFD_8eSJQYHeSNWfOG3iWXLUPuaRWxg,38296
|
|
22
|
-
bizydraft/static/js/socket.js,sha256=VE3fTAgEfM0FZhL526Skt7OCRokOa3mzTCAjAomI_tE,2432
|
|
23
|
-
bizydraft/static/js/tool.js,sha256=dwVFLrT0pEsdOBkh2RRUDvyVo8GzOIVYg7vU5RiM0m0,2765
|
|
24
|
-
bizydraft/static/js/uploadFile.js,sha256=WvglKzHMeOzDhOH3P-fLcPHxCLbKOJpo4DntoRxeJtI,4908
|
|
25
|
-
bizydraft-0.2.31.dist-info/METADATA,sha256=8Hfs60uIUxadzzAuwZnIHzCwMtWqjV33z40yDVTpCa8,162
|
|
26
|
-
bizydraft-0.2.31.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
27
|
-
bizydraft-0.2.31.dist-info/top_level.txt,sha256=XtoBq6hjZhXIM7aas4GtPDtAiKo8FdLzMABXW8qqQ8M,10
|
|
28
|
-
bizydraft-0.2.31.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|