bizydraft 0.1.29__py3-none-any.whl → 0.2.0__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.
Potentially problematic release.
This version of bizydraft might be problematic. Click here for more details.
- bizydraft/block_nodes.py +35 -0
- bizydraft/env.py +11 -0
- bizydraft/hijack_nodes.py +66 -6
- bizydraft/hijack_routes.py +87 -184
- bizydraft/oss_utils.py +227 -0
- bizydraft/patch_handlers.py +150 -0
- bizydraft/postload.py +26 -8
- bizydraft/server.py +2 -1
- bizydraft/static/js/aiAppHandler.js +540 -0
- bizydraft/static/js/freezeModeHandler.js +490 -0
- bizydraft/static/js/handleStyle.js +6 -0
- bizydraft/static/js/hookLoadImage.js +122 -82
- bizydraft/static/js/hookLoadModel.js +152 -0
- bizydraft/static/js/main.js +0 -1
- bizydraft/static/js/nodeFocusHandler.js +153 -0
- bizydraft/static/js/nodeParamsFilter.js +136 -0
- bizydraft/static/js/postEvent.js +336 -106
- bizydraft/static/js/socket.js +1 -1
- bizydraft/static/js/tool.js +61 -1
- bizydraft/static/js/uploadFile.js +22 -22
- bizydraft/workflow_io.py +30 -2
- {bizydraft-0.1.29.dist-info → bizydraft-0.2.0.dist-info}/METADATA +1 -1
- bizydraft-0.2.0.dist-info/RECORD +28 -0
- bizydraft-0.1.29.dist-info/RECORD +0 -19
- {bizydraft-0.1.29.dist-info → bizydraft-0.2.0.dist-info}/WHEEL +0 -0
- {bizydraft-0.1.29.dist-info → bizydraft-0.2.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 节点参数过滤工具
|
|
3
|
+
* 用于处理节点参数在发布模式下的过滤
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
// 存储从服务端获取的节点参数信息
|
|
7
|
+
let nodeParamsMap = new Map();
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* 设置节点参数映射
|
|
11
|
+
* @param {Array} inputsData - 服务端返回的inputs数组
|
|
12
|
+
*/
|
|
13
|
+
function setNodeParams(inputsData) {
|
|
14
|
+
if (!Array.isArray(inputsData)) {
|
|
15
|
+
console.error('Invalid inputs data format:', inputsData);
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// 清空现有映射
|
|
20
|
+
nodeParamsMap.clear();
|
|
21
|
+
|
|
22
|
+
// 构建新的映射
|
|
23
|
+
inputsData.forEach(nodeInfo => {
|
|
24
|
+
if (nodeInfo && nodeInfo.nodeId && Array.isArray(nodeInfo.params)) {
|
|
25
|
+
// 以nodeId为键,存储参数信息
|
|
26
|
+
const paramNames = nodeInfo.params.map(param => param.name);
|
|
27
|
+
nodeParamsMap.set(nodeInfo.nodeId, {
|
|
28
|
+
name: nodeInfo.name,
|
|
29
|
+
displayName: nodeInfo.displayName,
|
|
30
|
+
paramNames: paramNames,
|
|
31
|
+
params: nodeInfo.params
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
console.log('节点参数映射已更新:', nodeParamsMap);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* 过滤节点参数
|
|
41
|
+
* @param {Object} node - 节点对象
|
|
42
|
+
* @returns {Object|null} - 过滤后的节点信息,如果节点不符合条件则返回null
|
|
43
|
+
*/
|
|
44
|
+
function filterNodeWidgets(node) {
|
|
45
|
+
if (!node || !node.id) return null;
|
|
46
|
+
|
|
47
|
+
// 如果节点ID不在参数映射中,则不是可配置节点
|
|
48
|
+
if (!nodeParamsMap.has(String(node.id))) {
|
|
49
|
+
console.log(`节点 ${node.id} 不在可配置列表中`);
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// 获取节点的允许参数列表
|
|
54
|
+
const nodeParamsInfo = nodeParamsMap.get(String(node.id));
|
|
55
|
+
const allowedParamNames = nodeParamsInfo.paramNames;
|
|
56
|
+
|
|
57
|
+
// 提取节点信息
|
|
58
|
+
const nodeInfo = {
|
|
59
|
+
id: node.id,
|
|
60
|
+
type: node.type,
|
|
61
|
+
comfyClass: node.comfyClass,
|
|
62
|
+
title: node.title || nodeParamsInfo.displayName,
|
|
63
|
+
widgets: []
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
// 过滤widgets,只保留在allowedParamNames中的widget
|
|
67
|
+
if (node.widgets && node.widgets.length > 0) {
|
|
68
|
+
nodeInfo.widgets = node.widgets
|
|
69
|
+
.filter(widget => {
|
|
70
|
+
return widget.type !== "hidden" &&
|
|
71
|
+
!widget.disabled &&
|
|
72
|
+
allowedParamNames.includes(String(widget.name));
|
|
73
|
+
})
|
|
74
|
+
.map(widget => {
|
|
75
|
+
const widgetInfo = {
|
|
76
|
+
name: String(widget.name || ""),
|
|
77
|
+
value: widget.value != null ? widget.value : "",
|
|
78
|
+
type: String(widget.type || "")
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
// 处理options属性
|
|
82
|
+
if (widget.options && widget.options.values) {
|
|
83
|
+
widgetInfo.options = { values: [] };
|
|
84
|
+
|
|
85
|
+
if (Array.isArray(widget.options.values)) {
|
|
86
|
+
widgetInfo.options.values = [...widget.options.values];
|
|
87
|
+
} else if (typeof widget.options.values === 'function') {
|
|
88
|
+
try {
|
|
89
|
+
const values = widget.options.values();
|
|
90
|
+
if (Array.isArray(values)) {
|
|
91
|
+
widgetInfo.options.values = [...values];
|
|
92
|
+
}
|
|
93
|
+
} catch (e) {
|
|
94
|
+
// 忽略错误
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
return widgetInfo;
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
// 如果过滤后没有可配置的参数,则不符合条件
|
|
104
|
+
if (nodeInfo.widgets.length === 0) {
|
|
105
|
+
console.log(`节点 ${node.id} 没有可配置的参数`);
|
|
106
|
+
return null;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
return nodeInfo;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* 检查节点是否可配置
|
|
114
|
+
* @param {number|string} nodeId - 节点ID
|
|
115
|
+
* @returns {boolean} - 节点是否可配置
|
|
116
|
+
*/
|
|
117
|
+
function isConfigurableNode(nodeId) {
|
|
118
|
+
return nodeParamsMap.has(String(nodeId));
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* 获取节点原始参数信息
|
|
123
|
+
* @param {number|string} nodeId - 节点ID
|
|
124
|
+
* @returns {Object|null} - 节点参数信息
|
|
125
|
+
*/
|
|
126
|
+
function getNodeParamsInfo(nodeId) {
|
|
127
|
+
return nodeParamsMap.get(String(nodeId)) || null;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// 导出模块
|
|
131
|
+
export {
|
|
132
|
+
setNodeParams,
|
|
133
|
+
filterNodeWidgets,
|
|
134
|
+
isConfigurableNode,
|
|
135
|
+
getNodeParamsInfo
|
|
136
|
+
};
|