vectorvein 0.2.55__py3-none-any.whl → 0.2.57__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.
@@ -1,356 +1,360 @@
1
- from typing import Optional
2
-
3
- from ..graph.node import Node
4
- from ..graph.port import PortType, InputPort, OutputPort
5
-
6
-
7
- class CodebaseAnalysis(Node):
8
- def __init__(self, id: Optional[str] = None):
9
- super().__init__(
10
- node_type="CodebaseAnalysis",
11
- category="tools",
12
- task_name="tools.codebase_analysis",
13
- node_id=id,
14
- ports={
15
- "input_type": InputPort(
16
- name="input_type",
17
- port_type=PortType.SELECT,
18
- value="file",
19
- options=[
20
- {"value": "file", "label": "file"},
21
- {"value": "git_url", "label": "git_url"},
22
- ],
23
- ),
24
- "codebase_file": InputPort(
25
- name="codebase_file",
26
- port_type=PortType.FILE,
27
- value=list(),
28
- support_file_types=[".zip"],
29
- multiple=False,
30
- condition="return fieldsData.input_type.value === 'file'",
31
- ),
32
- "git_url": InputPort(
33
- name="git_url",
34
- port_type=PortType.INPUT,
35
- value="",
36
- condition="return fieldsData.input_type.value === 'git_url'",
37
- ),
38
- "output_style": InputPort(
39
- name="output_style",
40
- port_type=PortType.SELECT,
41
- value="markdown",
42
- options=[
43
- {"value": "plain", "label": "Plain Text"},
44
- {"value": "xml", "label": "XML"},
45
- {"value": "markdown", "label": "Markdown"},
46
- ],
47
- ),
48
- "show_line_numbers": InputPort(
49
- name="show_line_numbers",
50
- port_type=PortType.CHECKBOX,
51
- value=False,
52
- ),
53
- "remove_comments": InputPort(
54
- name="remove_comments",
55
- port_type=PortType.CHECKBOX,
56
- value=False,
57
- ),
58
- "remove_empty_lines": InputPort(
59
- name="remove_empty_lines",
60
- port_type=PortType.CHECKBOX,
61
- value=False,
62
- ),
63
- "ignore_patterns": InputPort(
64
- name="ignore_patterns",
65
- port_type=PortType.INPUT,
66
- value=list(),
67
- multiple=True,
68
- ),
69
- "output": OutputPort(),
70
- },
71
- )
72
-
73
-
74
- class TextTranslation(Node):
75
- def __init__(self, id: Optional[str] = None):
76
- super().__init__(
77
- node_type="TextTranslation",
78
- category="tools",
79
- task_name="tools.text_translation",
80
- node_id=id,
81
- ports={
82
- "text": InputPort(
83
- name="text",
84
- port_type=PortType.INPUT,
85
- value="",
86
- field_type="textarea",
87
- ),
88
- "from_language": InputPort(
89
- name="from_language",
90
- port_type=PortType.SELECT,
91
- value="auto",
92
- options=[
93
- {"value": "ar", "label": "ar"},
94
- {"value": "de", "label": "de"},
95
- {"value": "en", "label": "en"},
96
- {"value": "es", "label": "es"},
97
- {"value": "fr", "label": "fr"},
98
- {"value": "hi", "label": "hi"},
99
- {"value": "id", "label": "id"},
100
- {"value": "it", "label": "it"},
101
- {"value": "ja", "label": "ja"},
102
- {"value": "ko", "label": "ko"},
103
- {"value": "nl", "label": "nl"},
104
- {"value": "pt", "label": "pt"},
105
- {"value": "ru", "label": "ru"},
106
- {"value": "th", "label": "th"},
107
- {"value": "vi", "label": "vi"},
108
- {"value": "zh-CHS", "label": "zh-CHS"},
109
- {"value": "zh-CHT", "label": "zh-CHT"},
110
- {"value": "auto", "label": "auto"},
111
- ],
112
- ),
113
- "to_language": InputPort(
114
- name="to_language",
115
- port_type=PortType.SELECT,
116
- value="en",
117
- options=[
118
- {"value": "ar", "label": "ar"},
119
- {"value": "de", "label": "de"},
120
- {"value": "en", "label": "en"},
121
- {"value": "es", "label": "es"},
122
- {"value": "fr", "label": "fr"},
123
- {"value": "hi", "label": "hi"},
124
- {"value": "id", "label": "id"},
125
- {"value": "it", "label": "it"},
126
- {"value": "ja", "label": "ja"},
127
- {"value": "ko", "label": "ko"},
128
- {"value": "nl", "label": "nl"},
129
- {"value": "pt", "label": "pt"},
130
- {"value": "ru", "label": "ru"},
131
- {"value": "th", "label": "th"},
132
- {"value": "vi", "label": "vi"},
133
- {"value": "zh-CHS", "label": "zh-CHS"},
134
- {"value": "zh-CHT", "label": "zh-CHT"},
135
- ],
136
- ),
137
- "output": OutputPort(),
138
- },
139
- )
140
-
141
-
142
- class TextSearch(Node):
143
- def __init__(self, id: Optional[str] = None):
144
- super().__init__(
145
- node_type="TextSearch",
146
- category="tools",
147
- task_name="tools.text_search",
148
- node_id=id,
149
- ports={
150
- "search_text": InputPort(
151
- name="search_text",
152
- port_type=PortType.INPUT,
153
- value="",
154
- ),
155
- "search_engine": InputPort(
156
- name="search_engine",
157
- port_type=PortType.SELECT,
158
- value="bing",
159
- options=[
160
- {"value": "bing", "label": "bing"},
161
- {"value": "bochaai", "label": "bochaai"},
162
- {"value": "jina.ai", "label": "jina.ai"},
163
- {"value": "zhipuai", "label": "zhipuai"},
164
- {"value": "duckduckgo", "label": "duckduckgo"},
165
- ],
166
- ),
167
- "count": InputPort(
168
- name="count",
169
- port_type=PortType.NUMBER,
170
- value=10,
171
- ),
172
- "offset": InputPort(
173
- name="offset",
174
- port_type=PortType.NUMBER,
175
- value=0,
176
- ),
177
- "freshness": InputPort(
178
- name="freshness",
179
- port_type=PortType.SELECT,
180
- value="all",
181
- options=[
182
- {"value": "all", "label": "all"},
183
- {"value": "day", "label": "day"},
184
- {"value": "week", "label": "week"},
185
- {"value": "month", "label": "month"},
186
- {"value": "custom", "label": "custom"},
187
- ],
188
- condition="return fieldsData.search_engine.value === 'bing'",
189
- ),
190
- "custom_freshness": InputPort(
191
- name="custom_freshness",
192
- port_type=PortType.INPUT,
193
- value="",
194
- condition="return fieldsData.freshness.value === 'custom'",
195
- ),
196
- "combine_result_in_text": InputPort(
197
- name="combine_result_in_text",
198
- port_type=PortType.CHECKBOX,
199
- value=True,
200
- ),
201
- "max_snippet_length": InputPort(
202
- name="max_snippet_length",
203
- port_type=PortType.NUMBER,
204
- value=300,
205
- ),
206
- "output_type": InputPort(
207
- name="output_type",
208
- port_type=PortType.SELECT,
209
- value="markdown",
210
- options=[
211
- {"value": "text", "label": "text"},
212
- {"value": "markdown", "label": "markdown"},
213
- ],
214
- ),
215
- "output_page_title": OutputPort(
216
- name="output_page_title",
217
- port_type=PortType.LIST,
218
- ),
219
- "output_page_url": OutputPort(
220
- name="output_page_url",
221
- port_type=PortType.LIST,
222
- ),
223
- "output_page_snippet": OutputPort(
224
- name="output_page_snippet",
225
- port_type=PortType.LIST,
226
- ),
227
- },
228
- )
229
-
230
-
231
- class ProgrammingFunction(Node):
232
- def __init__(self, id: Optional[str] = None):
233
- super().__init__(
234
- node_type="ProgrammingFunction",
235
- category="tools",
236
- task_name="tools.programming_function",
237
- node_id=id,
238
- ports={
239
- "language": InputPort(
240
- name="language",
241
- port_type=PortType.SELECT,
242
- value="python",
243
- options=[
244
- {"value": "python", "label": "Python"},
245
- ],
246
- ),
247
- "code": InputPort(
248
- name="code",
249
- port_type=PortType.INPUT,
250
- value="",
251
- field_type="textarea",
252
- ),
253
- "use_oversea_node": InputPort(
254
- name="use_oversea_node",
255
- port_type=PortType.CHECKBOX,
256
- value=False,
257
- ),
258
- "list_input": InputPort(
259
- name="list_input",
260
- port_type=PortType.CHECKBOX,
261
- value=False,
262
- ),
263
- "instance_type": InputPort(
264
- name="instance_type",
265
- port_type=PortType.SELECT,
266
- value="light",
267
- options=[
268
- {"value": "light", "label": "light"},
269
- {"value": "large", "label": "large"},
270
- ],
271
- ),
272
- "output": OutputPort(
273
- name="output",
274
- port_type=PortType.INPUT,
275
- field_type="textarea",
276
- ),
277
- "console_msg": OutputPort(
278
- name="console_msg",
279
- port_type=PortType.INPUT,
280
- field_type="textarea",
281
- ),
282
- "error_msg": OutputPort(
283
- name="error_msg",
284
- port_type=PortType.INPUT,
285
- field_type="textarea",
286
- ),
287
- "files": OutputPort(
288
- name="files",
289
- port_type=PortType.INPUT,
290
- field_type="textarea",
291
- ),
292
- },
293
- can_add_input_ports=True,
294
- )
295
-
296
-
297
- class ImageSearch(Node):
298
- def __init__(self, id: Optional[str] = None):
299
- super().__init__(
300
- node_type="ImageSearch",
301
- category="tools",
302
- task_name="tools.image_search",
303
- node_id=id,
304
- ports={
305
- "search_text": InputPort(
306
- name="search_text",
307
- port_type=PortType.INPUT,
308
- value="",
309
- ),
310
- "search_engine": InputPort(
311
- name="search_engine",
312
- port_type=PortType.SELECT,
313
- value="bing",
314
- options=[
315
- {"value": "bing", "label": "bing"},
316
- {"value": "pexels", "label": "pexels"},
317
- {"value": "unsplash", "label": "unsplash"},
318
- ],
319
- ),
320
- "count": InputPort(
321
- name="count",
322
- port_type=PortType.NUMBER,
323
- value=5,
324
- ),
325
- "output_type": InputPort(
326
- name="output_type",
327
- port_type=PortType.SELECT,
328
- value="markdown",
329
- options=[
330
- {"value": "text", "label": "text"},
331
- {"value": "markdown", "label": "markdown"},
332
- ],
333
- ),
334
- "output": OutputPort(
335
- name="output",
336
- port_type=PortType.LIST,
337
- ),
338
- },
339
- )
340
-
341
-
342
- class WorkflowInvoke(Node):
343
- def __init__(self, id: Optional[str] = None):
344
- super().__init__(
345
- node_type="WorkflowInvoke",
346
- category="tools",
347
- task_name="tools.workflow_invoke",
348
- node_id=id,
349
- ports={
350
- "workflow_id": InputPort(
351
- name="workflow_id",
352
- port_type=PortType.INPUT,
353
- value="",
354
- ),
355
- },
356
- )
1
+ from typing import Optional
2
+
3
+ from ..graph.node import Node
4
+ from ..graph.port import PortType, InputPort, OutputPort
5
+
6
+
7
+ class CodebaseAnalysis(Node):
8
+ def __init__(self, id: Optional[str] = None):
9
+ super().__init__(
10
+ node_type="CodebaseAnalysis",
11
+ category="tools",
12
+ task_name="tools.codebase_analysis",
13
+ node_id=id,
14
+ ports={
15
+ "input_type": InputPort(
16
+ name="input_type",
17
+ port_type=PortType.SELECT,
18
+ value="file",
19
+ options=[
20
+ {"value": "file", "label": "file"},
21
+ {"value": "git_url", "label": "git_url"},
22
+ ],
23
+ ),
24
+ "codebase_file": InputPort(
25
+ name="codebase_file",
26
+ port_type=PortType.FILE,
27
+ value=list(),
28
+ support_file_types=[".zip"],
29
+ multiple=False,
30
+ condition="return fieldsData.input_type.value === 'file'",
31
+ condition_python=lambda ports: ports["input_type"].value == "file",
32
+ ),
33
+ "git_url": InputPort(
34
+ name="git_url",
35
+ port_type=PortType.INPUT,
36
+ value="",
37
+ condition="return fieldsData.input_type.value === 'git_url'",
38
+ condition_python=lambda ports: ports["input_type"].value == "git_url",
39
+ ),
40
+ "output_style": InputPort(
41
+ name="output_style",
42
+ port_type=PortType.SELECT,
43
+ value="markdown",
44
+ options=[
45
+ {"value": "plain", "label": "Plain Text"},
46
+ {"value": "xml", "label": "XML"},
47
+ {"value": "markdown", "label": "Markdown"},
48
+ ],
49
+ ),
50
+ "show_line_numbers": InputPort(
51
+ name="show_line_numbers",
52
+ port_type=PortType.CHECKBOX,
53
+ value=False,
54
+ ),
55
+ "remove_comments": InputPort(
56
+ name="remove_comments",
57
+ port_type=PortType.CHECKBOX,
58
+ value=False,
59
+ ),
60
+ "remove_empty_lines": InputPort(
61
+ name="remove_empty_lines",
62
+ port_type=PortType.CHECKBOX,
63
+ value=False,
64
+ ),
65
+ "ignore_patterns": InputPort(
66
+ name="ignore_patterns",
67
+ port_type=PortType.INPUT,
68
+ value=list(),
69
+ multiple=True,
70
+ ),
71
+ "output": OutputPort(),
72
+ },
73
+ )
74
+
75
+
76
+ class TextTranslation(Node):
77
+ def __init__(self, id: Optional[str] = None):
78
+ super().__init__(
79
+ node_type="TextTranslation",
80
+ category="tools",
81
+ task_name="tools.text_translation",
82
+ node_id=id,
83
+ ports={
84
+ "text": InputPort(
85
+ name="text",
86
+ port_type=PortType.INPUT,
87
+ value="",
88
+ field_type="textarea",
89
+ ),
90
+ "from_language": InputPort(
91
+ name="from_language",
92
+ port_type=PortType.SELECT,
93
+ value="auto",
94
+ options=[
95
+ {"value": "ar", "label": "ar"},
96
+ {"value": "de", "label": "de"},
97
+ {"value": "en", "label": "en"},
98
+ {"value": "es", "label": "es"},
99
+ {"value": "fr", "label": "fr"},
100
+ {"value": "hi", "label": "hi"},
101
+ {"value": "id", "label": "id"},
102
+ {"value": "it", "label": "it"},
103
+ {"value": "ja", "label": "ja"},
104
+ {"value": "ko", "label": "ko"},
105
+ {"value": "nl", "label": "nl"},
106
+ {"value": "pt", "label": "pt"},
107
+ {"value": "ru", "label": "ru"},
108
+ {"value": "th", "label": "th"},
109
+ {"value": "vi", "label": "vi"},
110
+ {"value": "zh-CHS", "label": "zh-CHS"},
111
+ {"value": "zh-CHT", "label": "zh-CHT"},
112
+ {"value": "auto", "label": "auto"},
113
+ ],
114
+ ),
115
+ "to_language": InputPort(
116
+ name="to_language",
117
+ port_type=PortType.SELECT,
118
+ value="en",
119
+ options=[
120
+ {"value": "ar", "label": "ar"},
121
+ {"value": "de", "label": "de"},
122
+ {"value": "en", "label": "en"},
123
+ {"value": "es", "label": "es"},
124
+ {"value": "fr", "label": "fr"},
125
+ {"value": "hi", "label": "hi"},
126
+ {"value": "id", "label": "id"},
127
+ {"value": "it", "label": "it"},
128
+ {"value": "ja", "label": "ja"},
129
+ {"value": "ko", "label": "ko"},
130
+ {"value": "nl", "label": "nl"},
131
+ {"value": "pt", "label": "pt"},
132
+ {"value": "ru", "label": "ru"},
133
+ {"value": "th", "label": "th"},
134
+ {"value": "vi", "label": "vi"},
135
+ {"value": "zh-CHS", "label": "zh-CHS"},
136
+ {"value": "zh-CHT", "label": "zh-CHT"},
137
+ ],
138
+ ),
139
+ "output": OutputPort(),
140
+ },
141
+ )
142
+
143
+
144
+ class TextSearch(Node):
145
+ def __init__(self, id: Optional[str] = None):
146
+ super().__init__(
147
+ node_type="TextSearch",
148
+ category="tools",
149
+ task_name="tools.text_search",
150
+ node_id=id,
151
+ ports={
152
+ "search_text": InputPort(
153
+ name="search_text",
154
+ port_type=PortType.INPUT,
155
+ value="",
156
+ ),
157
+ "search_engine": InputPort(
158
+ name="search_engine",
159
+ port_type=PortType.SELECT,
160
+ value="bing",
161
+ options=[
162
+ {"value": "bing", "label": "bing"},
163
+ {"value": "bochaai", "label": "bochaai"},
164
+ {"value": "jina.ai", "label": "jina.ai"},
165
+ {"value": "zhipuai", "label": "zhipuai"},
166
+ {"value": "duckduckgo", "label": "duckduckgo"},
167
+ ],
168
+ ),
169
+ "count": InputPort(
170
+ name="count",
171
+ port_type=PortType.NUMBER,
172
+ value=10,
173
+ ),
174
+ "offset": InputPort(
175
+ name="offset",
176
+ port_type=PortType.NUMBER,
177
+ value=0,
178
+ ),
179
+ "freshness": InputPort(
180
+ name="freshness",
181
+ port_type=PortType.SELECT,
182
+ value="all",
183
+ options=[
184
+ {"value": "all", "label": "all"},
185
+ {"value": "day", "label": "day"},
186
+ {"value": "week", "label": "week"},
187
+ {"value": "month", "label": "month"},
188
+ {"value": "custom", "label": "custom"},
189
+ ],
190
+ condition="return fieldsData.search_engine.value === 'bing'",
191
+ condition_python=lambda ports: ports["search_engine"].value == "bing",
192
+ ),
193
+ "custom_freshness": InputPort(
194
+ name="custom_freshness",
195
+ port_type=PortType.INPUT,
196
+ value="",
197
+ condition="return fieldsData.freshness.value === 'custom'",
198
+ condition_python=lambda ports: ports["freshness"].value == "custom",
199
+ ),
200
+ "combine_result_in_text": InputPort(
201
+ name="combine_result_in_text",
202
+ port_type=PortType.CHECKBOX,
203
+ value=True,
204
+ ),
205
+ "max_snippet_length": InputPort(
206
+ name="max_snippet_length",
207
+ port_type=PortType.NUMBER,
208
+ value=300,
209
+ ),
210
+ "output_type": InputPort(
211
+ name="output_type",
212
+ port_type=PortType.SELECT,
213
+ value="markdown",
214
+ options=[
215
+ {"value": "text", "label": "text"},
216
+ {"value": "markdown", "label": "markdown"},
217
+ ],
218
+ ),
219
+ "output_page_title": OutputPort(
220
+ name="output_page_title",
221
+ port_type=PortType.LIST,
222
+ ),
223
+ "output_page_url": OutputPort(
224
+ name="output_page_url",
225
+ port_type=PortType.LIST,
226
+ ),
227
+ "output_page_snippet": OutputPort(
228
+ name="output_page_snippet",
229
+ port_type=PortType.LIST,
230
+ ),
231
+ },
232
+ )
233
+
234
+
235
+ class ProgrammingFunction(Node):
236
+ def __init__(self, id: Optional[str] = None):
237
+ super().__init__(
238
+ node_type="ProgrammingFunction",
239
+ category="tools",
240
+ task_name="tools.programming_function",
241
+ node_id=id,
242
+ ports={
243
+ "language": InputPort(
244
+ name="language",
245
+ port_type=PortType.SELECT,
246
+ value="python",
247
+ options=[
248
+ {"value": "python", "label": "Python"},
249
+ ],
250
+ ),
251
+ "code": InputPort(
252
+ name="code",
253
+ port_type=PortType.INPUT,
254
+ value="",
255
+ field_type="textarea",
256
+ ),
257
+ "use_oversea_node": InputPort(
258
+ name="use_oversea_node",
259
+ port_type=PortType.CHECKBOX,
260
+ value=False,
261
+ ),
262
+ "list_input": InputPort(
263
+ name="list_input",
264
+ port_type=PortType.CHECKBOX,
265
+ value=False,
266
+ ),
267
+ "instance_type": InputPort(
268
+ name="instance_type",
269
+ port_type=PortType.SELECT,
270
+ value="light",
271
+ options=[
272
+ {"value": "light", "label": "light"},
273
+ {"value": "large", "label": "large"},
274
+ ],
275
+ ),
276
+ "output": OutputPort(
277
+ name="output",
278
+ port_type=PortType.INPUT,
279
+ field_type="textarea",
280
+ ),
281
+ "console_msg": OutputPort(
282
+ name="console_msg",
283
+ port_type=PortType.INPUT,
284
+ field_type="textarea",
285
+ ),
286
+ "error_msg": OutputPort(
287
+ name="error_msg",
288
+ port_type=PortType.INPUT,
289
+ field_type="textarea",
290
+ ),
291
+ "files": OutputPort(
292
+ name="files",
293
+ port_type=PortType.INPUT,
294
+ field_type="textarea",
295
+ ),
296
+ },
297
+ can_add_input_ports=True,
298
+ )
299
+
300
+
301
+ class ImageSearch(Node):
302
+ def __init__(self, id: Optional[str] = None):
303
+ super().__init__(
304
+ node_type="ImageSearch",
305
+ category="tools",
306
+ task_name="tools.image_search",
307
+ node_id=id,
308
+ ports={
309
+ "search_text": InputPort(
310
+ name="search_text",
311
+ port_type=PortType.INPUT,
312
+ value="",
313
+ ),
314
+ "search_engine": InputPort(
315
+ name="search_engine",
316
+ port_type=PortType.SELECT,
317
+ value="bing",
318
+ options=[
319
+ {"value": "bing", "label": "bing"},
320
+ {"value": "pexels", "label": "pexels"},
321
+ {"value": "unsplash", "label": "unsplash"},
322
+ ],
323
+ ),
324
+ "count": InputPort(
325
+ name="count",
326
+ port_type=PortType.NUMBER,
327
+ value=5,
328
+ ),
329
+ "output_type": InputPort(
330
+ name="output_type",
331
+ port_type=PortType.SELECT,
332
+ value="markdown",
333
+ options=[
334
+ {"value": "text", "label": "text"},
335
+ {"value": "markdown", "label": "markdown"},
336
+ ],
337
+ ),
338
+ "output": OutputPort(
339
+ name="output",
340
+ port_type=PortType.LIST,
341
+ ),
342
+ },
343
+ )
344
+
345
+
346
+ class WorkflowInvoke(Node):
347
+ def __init__(self, id: Optional[str] = None):
348
+ super().__init__(
349
+ node_type="WorkflowInvoke",
350
+ category="tools",
351
+ task_name="tools.workflow_invoke",
352
+ node_id=id,
353
+ ports={
354
+ "workflow_id": InputPort(
355
+ name="workflow_id",
356
+ port_type=PortType.INPUT,
357
+ value="",
358
+ ),
359
+ },
360
+ )