vellum-ai 1.4.2__py3-none-any.whl → 1.5.1__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.
- vellum/__init__.py +14 -0
- vellum/client/__init__.py +3 -0
- vellum/client/core/client_wrapper.py +2 -2
- vellum/client/reference.md +160 -0
- vellum/client/resources/__init__.py +2 -0
- vellum/client/resources/integrations/__init__.py +4 -0
- vellum/client/resources/integrations/client.py +260 -0
- vellum/client/resources/integrations/raw_client.py +267 -0
- vellum/client/types/__init__.py +12 -0
- vellum/client/types/components_schemas_composio_execute_tool_request.py +5 -0
- vellum/client/types/components_schemas_composio_execute_tool_response.py +5 -0
- vellum/client/types/components_schemas_composio_tool_definition.py +5 -0
- vellum/client/types/composio_execute_tool_request.py +24 -0
- vellum/client/types/composio_execute_tool_response.py +24 -0
- vellum/client/types/composio_tool_definition.py +26 -0
- vellum/client/types/vellum_error_code_enum.py +2 -0
- vellum/client/types/vellum_sdk_error.py +1 -0
- vellum/client/types/workflow_event_error.py +1 -0
- vellum/resources/integrations/__init__.py +3 -0
- vellum/resources/integrations/client.py +3 -0
- vellum/resources/integrations/raw_client.py +3 -0
- vellum/types/components_schemas_composio_execute_tool_request.py +3 -0
- vellum/types/components_schemas_composio_execute_tool_response.py +3 -0
- vellum/types/components_schemas_composio_tool_definition.py +3 -0
- vellum/types/composio_execute_tool_request.py +3 -0
- vellum/types/composio_execute_tool_response.py +3 -0
- vellum/types/composio_tool_definition.py +3 -0
- vellum/workflows/descriptors/utils.py +3 -0
- vellum/workflows/emitters/vellum_emitter.py +4 -1
- vellum/workflows/integrations/__init__.py +5 -0
- vellum/workflows/integrations/tests/__init__.py +0 -0
- vellum/workflows/integrations/tests/test_vellum_integration_service.py +225 -0
- vellum/workflows/integrations/vellum_integration_service.py +96 -0
- vellum/workflows/nodes/bases/base.py +24 -3
- vellum/workflows/nodes/core/inline_subworkflow_node/node.py +5 -0
- vellum/workflows/nodes/displayable/bases/inline_prompt_node/node.py +2 -5
- vellum/workflows/nodes/displayable/tool_calling_node/utils.py +38 -4
- vellum/workflows/runner/runner.py +132 -110
- vellum/workflows/utils/functions.py +29 -18
- vellum/workflows/utils/tests/test_functions.py +40 -0
- vellum/workflows/workflows/base.py +23 -5
- vellum/workflows/workflows/tests/test_base_workflow.py +99 -0
- {vellum_ai-1.4.2.dist-info → vellum_ai-1.5.1.dist-info}/METADATA +1 -1
- {vellum_ai-1.4.2.dist-info → vellum_ai-1.5.1.dist-info}/RECORD +64 -41
- vellum_ai-1.5.1.dist-info/entry_points.txt +4 -0
- vellum_ee/assets/node-definitions.json +833 -0
- vellum_ee/scripts/generate_node_definitions.py +89 -0
- vellum_ee/workflows/display/nodes/base_node_display.py +6 -3
- vellum_ee/workflows/display/nodes/vellum/api_node.py +4 -7
- vellum_ee/workflows/display/nodes/vellum/inline_subworkflow_node.py +19 -5
- vellum_ee/workflows/display/nodes/vellum/retry_node.py +2 -3
- vellum_ee/workflows/display/nodes/vellum/search_node.py +3 -6
- vellum_ee/workflows/display/nodes/vellum/templating_node.py +1 -1
- vellum_ee/workflows/display/nodes/vellum/tests/test_utils.py +2 -3
- vellum_ee/workflows/display/nodes/vellum/try_node.py +3 -4
- vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_attributes_serialization.py +5 -11
- vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_outputs_serialization.py +1 -1
- vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_ports_serialization.py +1 -1
- vellum_ee/workflows/display/types.py +3 -3
- vellum_ee/workflows/display/utils/expressions.py +10 -3
- vellum_ee/workflows/display/utils/vellum.py +9 -2
- vellum_ee/workflows/display/workflows/base_workflow_display.py +2 -2
- vellum_ai-1.4.2.dist-info/entry_points.txt +0 -3
- {vellum_ai-1.4.2.dist-info → vellum_ai-1.5.1.dist-info}/LICENSE +0 -0
- {vellum_ai-1.4.2.dist-info → vellum_ai-1.5.1.dist-info}/WHEEL +0 -0
@@ -0,0 +1,833 @@
|
|
1
|
+
{
|
2
|
+
"nodes": [
|
3
|
+
{
|
4
|
+
"id": "55e74c90-9901-42fd-92c3-2dd0c5fd4876",
|
5
|
+
"display_data": {
|
6
|
+
"position": {
|
7
|
+
"x": 0.0,
|
8
|
+
"y": 0.0
|
9
|
+
},
|
10
|
+
"comment": {
|
11
|
+
"value": "\n Used to execute an API call. This node exists to be backwards compatible with Vellum's API Node, and for most cases,\n you should extend from `BaseAPINode` directly.\n\n url: str - The URL to send the request to.\n method: APIRequestMethod - The HTTP method to use for the request.\n data: Optional[str] - The data to send in the request body.\n json: Optional[\"JsonObject\"] - The JSON data to send in the request body.\n headers: Optional[Dict[str, Union[str, VellumSecret]]] - The headers to send in the request.\n\n authorization_type: Optional[AuthorizationType] = None - The type of authorization to use for the API call.\n api_key_header_key: Optional[str] = None - The header key to use for the API key authorization.\n bearer_token_value: Optional[Union[str, VellumSecretReference]] = None - The bearer token value to use\n for the bearer token authorization.\n ",
|
12
|
+
"expanded": true
|
13
|
+
}
|
14
|
+
},
|
15
|
+
"base": {
|
16
|
+
"name": "BaseAPINode",
|
17
|
+
"module": [
|
18
|
+
"vellum",
|
19
|
+
"workflows",
|
20
|
+
"nodes",
|
21
|
+
"displayable",
|
22
|
+
"bases",
|
23
|
+
"api_node",
|
24
|
+
"node"
|
25
|
+
]
|
26
|
+
},
|
27
|
+
"definition": {
|
28
|
+
"name": "APINode",
|
29
|
+
"module": [
|
30
|
+
"vellum",
|
31
|
+
"workflows",
|
32
|
+
"nodes",
|
33
|
+
"displayable",
|
34
|
+
"api_node",
|
35
|
+
"node"
|
36
|
+
]
|
37
|
+
},
|
38
|
+
"trigger": {
|
39
|
+
"id": "c2aa7c83-7eba-4996-acb4-85cd4f5bbf58",
|
40
|
+
"merge_behavior": "AWAIT_ANY"
|
41
|
+
},
|
42
|
+
"ports": [
|
43
|
+
{
|
44
|
+
"id": "f165a94f-33f7-4c09-8896-9e683a39e11c",
|
45
|
+
"name": "default",
|
46
|
+
"type": "DEFAULT"
|
47
|
+
}
|
48
|
+
],
|
49
|
+
"attributes": [
|
50
|
+
{
|
51
|
+
"id": "aacb36f1-c980-460d-8002-43bb57128e05",
|
52
|
+
"name": "timeout",
|
53
|
+
"value": {
|
54
|
+
"type": "CONSTANT_VALUE",
|
55
|
+
"value": {
|
56
|
+
"type": "JSON",
|
57
|
+
"value": null
|
58
|
+
}
|
59
|
+
}
|
60
|
+
}
|
61
|
+
]
|
62
|
+
},
|
63
|
+
{
|
64
|
+
"id": "43b3514f-3490-47d6-9b78-bbc4736f0159",
|
65
|
+
"display_data": {
|
66
|
+
"position": {
|
67
|
+
"x": 0.0,
|
68
|
+
"y": 0.0
|
69
|
+
},
|
70
|
+
"comment": {
|
71
|
+
"value": "\n Used to execute an arbitrary script. This node exists to be backwards compatible with\n Vellum's Code Execution Node, and for most cases, you should extend from `BaseNode` directly.\n\n filepath: str - The path to the script to execute.\n code_inputs: EntityInputsInterface - The inputs for the custom script.\n runtime: CodeExecutionRuntime = \"PYTHON_3_12\" - The runtime to use for the custom script.\n packages: Optional[Sequence[CodeExecutionPackage]] = None - The packages to use for the custom script.\n request_options: Optional[RequestOptions] = None - The request options to use for the custom script.\n ",
|
72
|
+
"expanded": true
|
73
|
+
}
|
74
|
+
},
|
75
|
+
"base": {
|
76
|
+
"name": "BaseNode",
|
77
|
+
"module": [
|
78
|
+
"vellum",
|
79
|
+
"workflows",
|
80
|
+
"nodes",
|
81
|
+
"bases",
|
82
|
+
"base"
|
83
|
+
]
|
84
|
+
},
|
85
|
+
"definition": {
|
86
|
+
"name": "CodeExecutionNode",
|
87
|
+
"module": [
|
88
|
+
"vellum",
|
89
|
+
"workflows",
|
90
|
+
"nodes",
|
91
|
+
"displayable",
|
92
|
+
"code_execution_node",
|
93
|
+
"node"
|
94
|
+
]
|
95
|
+
},
|
96
|
+
"trigger": {
|
97
|
+
"id": "fb1b8b44-5e7a-481b-a163-96e7e08219d5",
|
98
|
+
"merge_behavior": "AWAIT_ANY"
|
99
|
+
},
|
100
|
+
"ports": [
|
101
|
+
{
|
102
|
+
"id": "e66138d5-e50d-40d8-bc27-00545ce5e283",
|
103
|
+
"name": "default",
|
104
|
+
"type": "DEFAULT"
|
105
|
+
}
|
106
|
+
]
|
107
|
+
},
|
108
|
+
{
|
109
|
+
"id": "5d3c60ce-7acf-4d8b-a68d-65cc0b561ac5",
|
110
|
+
"display_data": {
|
111
|
+
"position": {
|
112
|
+
"x": 0.0,
|
113
|
+
"y": 0.0
|
114
|
+
},
|
115
|
+
"comment": {
|
116
|
+
"value": "\n Used to conditionally determine which port to invoke next. This node exists to be backwards compatible with\n Vellum's Conditional Node, and for most cases, you should extend `BaseNode.Ports` directly.\n ",
|
117
|
+
"expanded": true
|
118
|
+
}
|
119
|
+
},
|
120
|
+
"base": {
|
121
|
+
"name": "BaseNode",
|
122
|
+
"module": [
|
123
|
+
"vellum",
|
124
|
+
"workflows",
|
125
|
+
"nodes",
|
126
|
+
"bases",
|
127
|
+
"base"
|
128
|
+
]
|
129
|
+
},
|
130
|
+
"definition": {
|
131
|
+
"name": "ConditionalNode",
|
132
|
+
"module": [
|
133
|
+
"vellum",
|
134
|
+
"workflows",
|
135
|
+
"nodes",
|
136
|
+
"displayable",
|
137
|
+
"conditional_node",
|
138
|
+
"node"
|
139
|
+
]
|
140
|
+
},
|
141
|
+
"trigger": {
|
142
|
+
"id": "2b5617b4-5cc0-4f9a-9369-24982e2cd8c0",
|
143
|
+
"merge_behavior": "AWAIT_ANY"
|
144
|
+
},
|
145
|
+
"ports": []
|
146
|
+
},
|
147
|
+
{
|
148
|
+
"id": "92e401f1-110f-4edc-8bb0-cad879e1ea08",
|
149
|
+
"display_data": {
|
150
|
+
"position": {
|
151
|
+
"x": 0.0,
|
152
|
+
"y": 0.0
|
153
|
+
},
|
154
|
+
"comment": {
|
155
|
+
"value": "\n Used to raise an error to reject the surrounding Workflow.\n\n error: Union[str, VellumError] - The error to raise.\n ",
|
156
|
+
"expanded": true
|
157
|
+
}
|
158
|
+
},
|
159
|
+
"base": {
|
160
|
+
"name": "BaseNode",
|
161
|
+
"module": [
|
162
|
+
"vellum",
|
163
|
+
"workflows",
|
164
|
+
"nodes",
|
165
|
+
"bases",
|
166
|
+
"base"
|
167
|
+
]
|
168
|
+
},
|
169
|
+
"definition": {
|
170
|
+
"name": "ErrorNode",
|
171
|
+
"module": [
|
172
|
+
"vellum",
|
173
|
+
"workflows",
|
174
|
+
"nodes",
|
175
|
+
"core",
|
176
|
+
"error_node",
|
177
|
+
"node"
|
178
|
+
]
|
179
|
+
},
|
180
|
+
"trigger": {
|
181
|
+
"id": "c1b30829-76af-4d99-bf83-b030c551a7cf",
|
182
|
+
"merge_behavior": "AWAIT_ATTRIBUTES"
|
183
|
+
},
|
184
|
+
"ports": []
|
185
|
+
},
|
186
|
+
{
|
187
|
+
"id": "55d0f8e9-acbd-4d33-85ba-c7527348f62a",
|
188
|
+
"display_data": {
|
189
|
+
"position": {
|
190
|
+
"x": 0.0,
|
191
|
+
"y": 0.0
|
192
|
+
},
|
193
|
+
"comment": {
|
194
|
+
"value": "\n Used to execute a Prompt defined inline.\n\n prompt_inputs: EntityInputsInterface - The inputs for the Prompt\n ml_model: str - Either the ML Model's UUID or its name.\n blocks: List[PromptBlock] - The blocks that make up the Prompt\n functions: Optional[List[FunctionDefinition]] - The functions to include in the Prompt\n parameters: PromptParameters - The parameters for the Prompt\n expand_meta: Optional[AdHocExpandMeta] - Expandable execution fields to include in the response\n request_options: Optional[RequestOptions] - The request options to use for the Prompt Execution\n ",
|
195
|
+
"expanded": true
|
196
|
+
}
|
197
|
+
},
|
198
|
+
"base": {
|
199
|
+
"name": "BaseInlinePromptNode",
|
200
|
+
"module": [
|
201
|
+
"vellum",
|
202
|
+
"workflows",
|
203
|
+
"nodes",
|
204
|
+
"displayable",
|
205
|
+
"bases",
|
206
|
+
"inline_prompt_node",
|
207
|
+
"node"
|
208
|
+
]
|
209
|
+
},
|
210
|
+
"definition": {
|
211
|
+
"name": "InlinePromptNode",
|
212
|
+
"module": [
|
213
|
+
"vellum",
|
214
|
+
"workflows",
|
215
|
+
"nodes",
|
216
|
+
"displayable",
|
217
|
+
"inline_prompt_node",
|
218
|
+
"node"
|
219
|
+
]
|
220
|
+
},
|
221
|
+
"trigger": {
|
222
|
+
"id": "d14ff235-9e0a-4496-9fd4-ae4cf39fa518",
|
223
|
+
"merge_behavior": "AWAIT_ANY"
|
224
|
+
},
|
225
|
+
"ports": [
|
226
|
+
{
|
227
|
+
"id": "66943bf3-3c32-42da-9d4f-faab541f4285",
|
228
|
+
"name": "default",
|
229
|
+
"type": "DEFAULT"
|
230
|
+
}
|
231
|
+
],
|
232
|
+
"outputs": [
|
233
|
+
{
|
234
|
+
"id": "af7d71b0-227c-4957-8234-d1dc76e62554",
|
235
|
+
"name": "json",
|
236
|
+
"type": "JSON",
|
237
|
+
"value": null
|
238
|
+
},
|
239
|
+
{
|
240
|
+
"id": "b283959e-b719-49d2-ab9a-15c804ab52e8",
|
241
|
+
"name": "text",
|
242
|
+
"type": "STRING",
|
243
|
+
"value": null
|
244
|
+
},
|
245
|
+
{
|
246
|
+
"id": "73c02172-2bd1-482d-b7fe-acc67135f7d0",
|
247
|
+
"name": "results",
|
248
|
+
"type": "ARRAY",
|
249
|
+
"value": null
|
250
|
+
}
|
251
|
+
],
|
252
|
+
"attributes": [
|
253
|
+
{
|
254
|
+
"id": "e2455e77-82ad-460f-8735-10d427d4d448",
|
255
|
+
"name": "functions",
|
256
|
+
"value": {
|
257
|
+
"type": "CONSTANT_VALUE",
|
258
|
+
"value": {
|
259
|
+
"type": "JSON",
|
260
|
+
"value": null
|
261
|
+
}
|
262
|
+
}
|
263
|
+
},
|
264
|
+
{
|
265
|
+
"id": "bd29a2cd-4965-4741-a3c2-9d0c753efdd9",
|
266
|
+
"name": "parameters",
|
267
|
+
"value": {
|
268
|
+
"type": "CONSTANT_VALUE",
|
269
|
+
"value": {
|
270
|
+
"type": "JSON",
|
271
|
+
"value": {
|
272
|
+
"stop": [],
|
273
|
+
"temperature": 0.0,
|
274
|
+
"max_tokens": 4096.0,
|
275
|
+
"top_p": 1.0,
|
276
|
+
"top_k": 0.0,
|
277
|
+
"frequency_penalty": 0.0,
|
278
|
+
"presence_penalty": 0.0,
|
279
|
+
"logit_bias": null,
|
280
|
+
"custom_parameters": null
|
281
|
+
}
|
282
|
+
}
|
283
|
+
}
|
284
|
+
},
|
285
|
+
{
|
286
|
+
"id": "76f813d6-0025-4733-9d03-848c49c93d66",
|
287
|
+
"name": "ml_model",
|
288
|
+
"value": {
|
289
|
+
"type": "CONSTANT_VALUE",
|
290
|
+
"value": {
|
291
|
+
"type": "JSON",
|
292
|
+
"value": null
|
293
|
+
}
|
294
|
+
}
|
295
|
+
},
|
296
|
+
{
|
297
|
+
"id": "1216ae32-e051-4c48-bd7d-69f2a4527f12",
|
298
|
+
"name": "blocks",
|
299
|
+
"value": {
|
300
|
+
"type": "CONSTANT_VALUE",
|
301
|
+
"value": {
|
302
|
+
"type": "JSON",
|
303
|
+
"value": null
|
304
|
+
}
|
305
|
+
}
|
306
|
+
},
|
307
|
+
{
|
308
|
+
"id": "b66dc0b6-9e4d-4bbb-9b3c-b85e14071de0",
|
309
|
+
"name": "prompt_inputs",
|
310
|
+
"value": {
|
311
|
+
"type": "CONSTANT_VALUE",
|
312
|
+
"value": {
|
313
|
+
"type": "JSON",
|
314
|
+
"value": null
|
315
|
+
}
|
316
|
+
}
|
317
|
+
}
|
318
|
+
]
|
319
|
+
},
|
320
|
+
{
|
321
|
+
"id": "9d62e15c-a640-4a65-b52c-ce0cbaa23a71",
|
322
|
+
"display_data": {
|
323
|
+
"position": {
|
324
|
+
"x": 0.0,
|
325
|
+
"y": 0.0
|
326
|
+
},
|
327
|
+
"comment": {
|
328
|
+
"value": "\n Used to execute a Subworkflow defined inline.\n\n subworkflow: Type[\"BaseWorkflow[InputsType, InnerStateType]\"] - The Subworkflow to execute\n subworkflow_inputs: ClassVar[EntityInputsInterface] = {}\n ",
|
329
|
+
"expanded": true
|
330
|
+
}
|
331
|
+
},
|
332
|
+
"base": {
|
333
|
+
"name": "BaseNode",
|
334
|
+
"module": [
|
335
|
+
"vellum",
|
336
|
+
"workflows",
|
337
|
+
"nodes",
|
338
|
+
"bases",
|
339
|
+
"base"
|
340
|
+
]
|
341
|
+
},
|
342
|
+
"definition": {
|
343
|
+
"name": "InlineSubworkflowNode",
|
344
|
+
"module": [
|
345
|
+
"vellum",
|
346
|
+
"workflows",
|
347
|
+
"nodes",
|
348
|
+
"core",
|
349
|
+
"inline_subworkflow_node",
|
350
|
+
"node"
|
351
|
+
]
|
352
|
+
},
|
353
|
+
"trigger": {
|
354
|
+
"id": "d7c92c2f-d761-43e7-a7e6-34fd74b3b8b3",
|
355
|
+
"merge_behavior": "AWAIT_ATTRIBUTES"
|
356
|
+
},
|
357
|
+
"ports": [
|
358
|
+
{
|
359
|
+
"id": "bb1e4a4f-60e7-4519-b127-80183008a3f7",
|
360
|
+
"name": "default",
|
361
|
+
"type": "DEFAULT"
|
362
|
+
}
|
363
|
+
]
|
364
|
+
},
|
365
|
+
{
|
366
|
+
"id": "2dded52f-a449-48fd-b58f-f59801c24bae",
|
367
|
+
"display_data": {
|
368
|
+
"position": {
|
369
|
+
"x": 0.0,
|
370
|
+
"y": 0.0
|
371
|
+
},
|
372
|
+
"comment": {
|
373
|
+
"value": "\n Used to execute a Metric Definition and surface a float output representing the score.\n\n metric_definition: Union[UUID, str] - Either the Metric Definition's UUID or its name.\n metric_inputs: EntityInputsInterface - The inputs for the Metric\n release_tag: str - The release tag to use for the Metric\n request_options: Optional[RequestOptions] - The request options to use for the Metric\n ",
|
374
|
+
"expanded": true
|
375
|
+
}
|
376
|
+
},
|
377
|
+
"base": {
|
378
|
+
"name": "BaseNode",
|
379
|
+
"module": [
|
380
|
+
"vellum",
|
381
|
+
"workflows",
|
382
|
+
"nodes",
|
383
|
+
"bases",
|
384
|
+
"base"
|
385
|
+
]
|
386
|
+
},
|
387
|
+
"definition": {
|
388
|
+
"name": "GuardrailNode",
|
389
|
+
"module": [
|
390
|
+
"vellum",
|
391
|
+
"workflows",
|
392
|
+
"nodes",
|
393
|
+
"displayable",
|
394
|
+
"guardrail_node",
|
395
|
+
"node"
|
396
|
+
]
|
397
|
+
},
|
398
|
+
"trigger": {
|
399
|
+
"id": "1560db25-a416-4ce6-b175-d7bdfbdb27d8",
|
400
|
+
"merge_behavior": "AWAIT_ANY"
|
401
|
+
},
|
402
|
+
"ports": [
|
403
|
+
{
|
404
|
+
"id": "94bc1403-af9f-4539-8208-1bbafbf09564",
|
405
|
+
"name": "default",
|
406
|
+
"type": "DEFAULT"
|
407
|
+
}
|
408
|
+
]
|
409
|
+
},
|
410
|
+
{
|
411
|
+
"id": "7426f273-a43d-4448-a2d2-76d0ee0d069c",
|
412
|
+
"display_data": {
|
413
|
+
"position": {
|
414
|
+
"x": 0.0,
|
415
|
+
"y": 0.0
|
416
|
+
},
|
417
|
+
"comment": {
|
418
|
+
"value": "\n Used to merge the control flow of multiple nodes into a single node. This node exists to be backwards compatible\n with Vellum's Merge Node, and for most cases, you should extend from `BaseNode.Trigger` directly.\n ",
|
419
|
+
"expanded": true
|
420
|
+
}
|
421
|
+
},
|
422
|
+
"base": {
|
423
|
+
"name": "BaseNode",
|
424
|
+
"module": [
|
425
|
+
"vellum",
|
426
|
+
"workflows",
|
427
|
+
"nodes",
|
428
|
+
"bases",
|
429
|
+
"base"
|
430
|
+
]
|
431
|
+
},
|
432
|
+
"definition": {
|
433
|
+
"name": "MergeNode",
|
434
|
+
"module": [
|
435
|
+
"vellum",
|
436
|
+
"workflows",
|
437
|
+
"nodes",
|
438
|
+
"displayable",
|
439
|
+
"merge_node",
|
440
|
+
"node"
|
441
|
+
]
|
442
|
+
},
|
443
|
+
"trigger": {
|
444
|
+
"id": "3a91ba25-0dd0-4bc8-9f6d-c54ea4dccf64",
|
445
|
+
"merge_behavior": "AWAIT_ANY"
|
446
|
+
},
|
447
|
+
"ports": [
|
448
|
+
{
|
449
|
+
"id": "50515fe3-4be8-43b9-8fc5-d52c1250115e",
|
450
|
+
"name": "default",
|
451
|
+
"type": "DEFAULT"
|
452
|
+
}
|
453
|
+
]
|
454
|
+
},
|
455
|
+
{
|
456
|
+
"id": "16b8d82d-458d-48d9-b57e-a447b19f311a",
|
457
|
+
"display_data": {
|
458
|
+
"position": {
|
459
|
+
"x": 0.0,
|
460
|
+
"y": 0.0
|
461
|
+
},
|
462
|
+
"comment": {
|
463
|
+
"value": "\n A no-op Node purely used to display a note in the Vellum UI.\n ",
|
464
|
+
"expanded": true
|
465
|
+
}
|
466
|
+
},
|
467
|
+
"base": {
|
468
|
+
"name": "BaseNode",
|
469
|
+
"module": [
|
470
|
+
"vellum",
|
471
|
+
"workflows",
|
472
|
+
"nodes",
|
473
|
+
"bases",
|
474
|
+
"base"
|
475
|
+
]
|
476
|
+
},
|
477
|
+
"definition": {
|
478
|
+
"name": "NoteNode",
|
479
|
+
"module": [
|
480
|
+
"vellum",
|
481
|
+
"workflows",
|
482
|
+
"nodes",
|
483
|
+
"displayable",
|
484
|
+
"note_node",
|
485
|
+
"node"
|
486
|
+
]
|
487
|
+
},
|
488
|
+
"trigger": {
|
489
|
+
"id": "2b6907b0-1adc-41e7-9d5b-3c6ccd9b973a",
|
490
|
+
"merge_behavior": "AWAIT_ANY"
|
491
|
+
},
|
492
|
+
"ports": [
|
493
|
+
{
|
494
|
+
"id": "22dac74c-7ad6-4a6f-97ae-0034124721ce",
|
495
|
+
"name": "default",
|
496
|
+
"type": "DEFAULT"
|
497
|
+
}
|
498
|
+
]
|
499
|
+
},
|
500
|
+
{
|
501
|
+
"id": "035842e0-34ed-43af-97de-a706e40912ae",
|
502
|
+
"label": "Tool Calling Node",
|
503
|
+
"display_data": {
|
504
|
+
"position": {
|
505
|
+
"x": 0.0,
|
506
|
+
"y": 0.0
|
507
|
+
},
|
508
|
+
"comment": {
|
509
|
+
"value": "\n A Node that dynamically invokes the provided functions to the underlying Prompt\n\n Attributes:\n ml_model: str - The model to use for tool calling (e.g., \"gpt-4o-mini\")\n blocks: List[PromptBlock] - The prompt blocks to use (same format as InlinePromptNode)\n functions: List[Tool] - The functions that can be called\n prompt_inputs: Optional[EntityInputsInterface] - Mapping of input variable names to values\n parameters: PromptParameters - The parameters for the Prompt\n max_prompt_iterations: Optional[int] - Maximum number of prompt iterations before stopping\n ",
|
510
|
+
"expanded": true
|
511
|
+
}
|
512
|
+
},
|
513
|
+
"base": {
|
514
|
+
"name": "BaseNode",
|
515
|
+
"module": [
|
516
|
+
"vellum",
|
517
|
+
"workflows",
|
518
|
+
"nodes",
|
519
|
+
"bases",
|
520
|
+
"base"
|
521
|
+
]
|
522
|
+
},
|
523
|
+
"definition": {
|
524
|
+
"name": "ToolCallingNode",
|
525
|
+
"module": [
|
526
|
+
"vellum",
|
527
|
+
"workflows",
|
528
|
+
"nodes",
|
529
|
+
"displayable",
|
530
|
+
"tool_calling_node",
|
531
|
+
"node"
|
532
|
+
]
|
533
|
+
},
|
534
|
+
"trigger": {
|
535
|
+
"id": "f9b4a4ce-68ae-45f4-9e29-38b588abdf97",
|
536
|
+
"merge_behavior": "AWAIT_ATTRIBUTES"
|
537
|
+
},
|
538
|
+
"ports": [
|
539
|
+
{
|
540
|
+
"id": "72157fce-fc16-44d8-a00d-506738a20730",
|
541
|
+
"name": "default",
|
542
|
+
"type": "DEFAULT"
|
543
|
+
}
|
544
|
+
],
|
545
|
+
"attributes": [
|
546
|
+
{
|
547
|
+
"id": "df3761db-067a-4fe9-9fc3-ba270786fcf6",
|
548
|
+
"name": "ml_model",
|
549
|
+
"value": {
|
550
|
+
"type": "CONSTANT_VALUE",
|
551
|
+
"value": {
|
552
|
+
"type": "STRING",
|
553
|
+
"value": "gpt-4o-mini"
|
554
|
+
}
|
555
|
+
}
|
556
|
+
},
|
557
|
+
{
|
558
|
+
"id": "66133945-f7fd-43bb-8b46-0761e2b58241",
|
559
|
+
"name": "blocks",
|
560
|
+
"value": {
|
561
|
+
"type": "CONSTANT_VALUE",
|
562
|
+
"value": {
|
563
|
+
"type": "JSON",
|
564
|
+
"value": []
|
565
|
+
}
|
566
|
+
}
|
567
|
+
},
|
568
|
+
{
|
569
|
+
"id": "0079b429-3b1c-4f7c-9ccf-185ace4dcbb2",
|
570
|
+
"name": "functions",
|
571
|
+
"value": {
|
572
|
+
"type": "CONSTANT_VALUE",
|
573
|
+
"value": {
|
574
|
+
"type": "JSON",
|
575
|
+
"value": []
|
576
|
+
}
|
577
|
+
}
|
578
|
+
},
|
579
|
+
{
|
580
|
+
"id": "ebda56e6-2ace-472c-a106-36cb69264e96",
|
581
|
+
"name": "prompt_inputs",
|
582
|
+
"value": {
|
583
|
+
"type": "CONSTANT_VALUE",
|
584
|
+
"value": {
|
585
|
+
"type": "JSON",
|
586
|
+
"value": null
|
587
|
+
}
|
588
|
+
}
|
589
|
+
},
|
590
|
+
{
|
591
|
+
"id": "2534a586-5b37-41f3-a9a4-8162b8538df4",
|
592
|
+
"name": "parameters",
|
593
|
+
"value": {
|
594
|
+
"type": "CONSTANT_VALUE",
|
595
|
+
"value": {
|
596
|
+
"type": "JSON",
|
597
|
+
"value": {
|
598
|
+
"stop": [],
|
599
|
+
"temperature": 0.0,
|
600
|
+
"max_tokens": 4096.0,
|
601
|
+
"top_p": 1.0,
|
602
|
+
"top_k": 0.0,
|
603
|
+
"frequency_penalty": 0.0,
|
604
|
+
"presence_penalty": 0.0,
|
605
|
+
"logit_bias": null,
|
606
|
+
"custom_parameters": null
|
607
|
+
}
|
608
|
+
}
|
609
|
+
}
|
610
|
+
},
|
611
|
+
{
|
612
|
+
"id": "118ef72a-0767-4659-8ddf-58a071f95988",
|
613
|
+
"name": "max_prompt_iterations",
|
614
|
+
"value": {
|
615
|
+
"type": "CONSTANT_VALUE",
|
616
|
+
"value": {
|
617
|
+
"type": "NUMBER",
|
618
|
+
"value": 5.0
|
619
|
+
}
|
620
|
+
}
|
621
|
+
},
|
622
|
+
{
|
623
|
+
"id": "d7ef5296-1e48-4d05-b97a-77f16d46fd50",
|
624
|
+
"name": "settings",
|
625
|
+
"value": {
|
626
|
+
"type": "CONSTANT_VALUE",
|
627
|
+
"value": {
|
628
|
+
"type": "JSON",
|
629
|
+
"value": null
|
630
|
+
}
|
631
|
+
}
|
632
|
+
}
|
633
|
+
],
|
634
|
+
"outputs": [
|
635
|
+
{
|
636
|
+
"id": "c18a8725-21e1-4736-a77c-76d0fc035176",
|
637
|
+
"name": "text",
|
638
|
+
"type": "STRING",
|
639
|
+
"value": null
|
640
|
+
},
|
641
|
+
{
|
642
|
+
"id": "5a9ad073-c670-43d2-9198-a08e9fdda7ad",
|
643
|
+
"name": "chat_history",
|
644
|
+
"type": "CHAT_HISTORY",
|
645
|
+
"value": null
|
646
|
+
}
|
647
|
+
]
|
648
|
+
},
|
649
|
+
{
|
650
|
+
"id": "187ed9ed-ca2b-49e4-943d-ee8da5fad973",
|
651
|
+
"label": "Web Search Node",
|
652
|
+
"display_data": {
|
653
|
+
"position": {
|
654
|
+
"x": 0.0,
|
655
|
+
"y": 0.0
|
656
|
+
},
|
657
|
+
"comment": {
|
658
|
+
"value": "\n Used to perform web search using SerpAPI.\n\n query: str - The search query to execute\n api_key: str - SerpAPI authentication key\n num_results: int - Number of search results to return (default: 10)\n location: Optional[str] - Geographic location filter for search\n ",
|
659
|
+
"expanded": true
|
660
|
+
}
|
661
|
+
},
|
662
|
+
"base": {
|
663
|
+
"name": "BaseNode",
|
664
|
+
"module": [
|
665
|
+
"vellum",
|
666
|
+
"workflows",
|
667
|
+
"nodes",
|
668
|
+
"bases",
|
669
|
+
"base"
|
670
|
+
]
|
671
|
+
},
|
672
|
+
"definition": {
|
673
|
+
"name": "WebSearchNode",
|
674
|
+
"module": [
|
675
|
+
"vellum",
|
676
|
+
"workflows",
|
677
|
+
"nodes",
|
678
|
+
"displayable",
|
679
|
+
"web_search_node",
|
680
|
+
"node"
|
681
|
+
]
|
682
|
+
},
|
683
|
+
"trigger": {
|
684
|
+
"id": "036c7a0c-fff3-44f7-b49b-429d8f44f212",
|
685
|
+
"merge_behavior": "AWAIT_ATTRIBUTES"
|
686
|
+
},
|
687
|
+
"ports": [
|
688
|
+
{
|
689
|
+
"id": "ef824748-d00d-41e7-b7b4-d0edc536c3af",
|
690
|
+
"name": "default",
|
691
|
+
"type": "DEFAULT"
|
692
|
+
}
|
693
|
+
],
|
694
|
+
"attributes": [
|
695
|
+
{
|
696
|
+
"id": "b5ba3c60-e02c-46c8-b470-d86c4f8f42af",
|
697
|
+
"name": "query",
|
698
|
+
"value": {
|
699
|
+
"type": "CONSTANT_VALUE",
|
700
|
+
"value": {
|
701
|
+
"type": "STRING",
|
702
|
+
"value": ""
|
703
|
+
}
|
704
|
+
}
|
705
|
+
},
|
706
|
+
{
|
707
|
+
"id": "222408bc-7dae-4bb8-9aba-a1ac36bdc759",
|
708
|
+
"name": "api_key",
|
709
|
+
"value": {
|
710
|
+
"type": "CONSTANT_VALUE",
|
711
|
+
"value": {
|
712
|
+
"type": "JSON",
|
713
|
+
"value": null
|
714
|
+
}
|
715
|
+
}
|
716
|
+
},
|
717
|
+
{
|
718
|
+
"id": "795a0bbc-bb98-4bc8-a9d9-88b0cb796d23",
|
719
|
+
"name": "num_results",
|
720
|
+
"value": {
|
721
|
+
"type": "CONSTANT_VALUE",
|
722
|
+
"value": {
|
723
|
+
"type": "NUMBER",
|
724
|
+
"value": 10.0
|
725
|
+
}
|
726
|
+
}
|
727
|
+
},
|
728
|
+
{
|
729
|
+
"id": "e1648557-ca03-4a81-ab5b-86495284b325",
|
730
|
+
"name": "location",
|
731
|
+
"value": {
|
732
|
+
"type": "CONSTANT_VALUE",
|
733
|
+
"value": {
|
734
|
+
"type": "JSON",
|
735
|
+
"value": null
|
736
|
+
}
|
737
|
+
}
|
738
|
+
}
|
739
|
+
],
|
740
|
+
"outputs": [
|
741
|
+
{
|
742
|
+
"id": "704a4ba3-1afe-482d-876a-91dcdbe90fb7",
|
743
|
+
"name": "text",
|
744
|
+
"type": "STRING",
|
745
|
+
"value": null
|
746
|
+
},
|
747
|
+
{
|
748
|
+
"id": "574b2ebe-f250-4024-b517-3cd47704c70e",
|
749
|
+
"name": "urls",
|
750
|
+
"type": "JSON",
|
751
|
+
"value": null
|
752
|
+
},
|
753
|
+
{
|
754
|
+
"id": "9798a067-3589-4a2a-a811-6019873cbbfe",
|
755
|
+
"name": "results",
|
756
|
+
"type": "JSON",
|
757
|
+
"value": null
|
758
|
+
}
|
759
|
+
]
|
760
|
+
},
|
761
|
+
{
|
762
|
+
"id": "bf31cc42-b5e4-4191-a453-7191743ac200",
|
763
|
+
"display_data": {
|
764
|
+
"position": {
|
765
|
+
"x": 0.0,
|
766
|
+
"y": 0.0
|
767
|
+
},
|
768
|
+
"comment": {
|
769
|
+
"value": "\n Used to directly reference the output of another node.\n This provides backward compatibility with Vellum's Final Output Node.\n ",
|
770
|
+
"expanded": true
|
771
|
+
}
|
772
|
+
},
|
773
|
+
"base": {
|
774
|
+
"name": "BaseNode",
|
775
|
+
"module": [
|
776
|
+
"vellum",
|
777
|
+
"workflows",
|
778
|
+
"nodes",
|
779
|
+
"bases",
|
780
|
+
"base"
|
781
|
+
]
|
782
|
+
},
|
783
|
+
"definition": {
|
784
|
+
"name": "FinalOutputNode",
|
785
|
+
"module": [
|
786
|
+
"vellum",
|
787
|
+
"workflows",
|
788
|
+
"nodes",
|
789
|
+
"displayable",
|
790
|
+
"final_output_node",
|
791
|
+
"node"
|
792
|
+
]
|
793
|
+
},
|
794
|
+
"trigger": {
|
795
|
+
"id": "0b2da045-2a4c-4939-8b5c-661652c759d4",
|
796
|
+
"merge_behavior": "AWAIT_ANY"
|
797
|
+
},
|
798
|
+
"ports": [],
|
799
|
+
"outputs": [
|
800
|
+
{
|
801
|
+
"id": "7f41909e-9ce1-4fde-ba77-a13dda301ece",
|
802
|
+
"name": "value",
|
803
|
+
"type": "STRING",
|
804
|
+
"value": {
|
805
|
+
"__undefined__": true
|
806
|
+
}
|
807
|
+
}
|
808
|
+
]
|
809
|
+
}
|
810
|
+
],
|
811
|
+
"errors": [
|
812
|
+
{
|
813
|
+
"node": "MapNode",
|
814
|
+
"error": "Expected NodeReference items to have an instance"
|
815
|
+
},
|
816
|
+
{
|
817
|
+
"node": "SubworkflowDeploymentNode",
|
818
|
+
"error": "headers: {'server': 'gunicorn', 'date': 'Tue, 23 Sep 2025 21:40:16 GMT', 'content-type': 'application/json', 'allow': 'GET, PUT, PATCH, DELETE, HEAD, OPTIONS', 'x-frame-options': 'DENY', 'content-length': '58', 'vary': 'Accept-Language, Origin', 'content-language': 'en', 'strict-transport-security': 'max-age=60; includeSubDomains; preload', 'x-content-type-options': 'nosniff', 'referrer-policy': 'same-origin', 'cross-origin-opener-policy': 'same-origin', 'via': '1.1 google', 'alt-svc': 'h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000'}, status_code: 403, body: {'detail': 'Authentication credentials were not provided.'}"
|
819
|
+
},
|
820
|
+
{
|
821
|
+
"node": "PromptDeploymentNode",
|
822
|
+
"error": "headers: {'server': 'gunicorn', 'date': 'Tue, 23 Sep 2025 21:40:16 GMT', 'content-type': 'application/json', 'allow': 'GET, PUT, PATCH, DELETE, HEAD, OPTIONS', 'x-frame-options': 'DENY', 'content-length': '58', 'vary': 'Accept-Language, Origin', 'content-language': 'en', 'strict-transport-security': 'max-age=60; includeSubDomains; preload', 'x-content-type-options': 'nosniff', 'referrer-policy': 'same-origin', 'cross-origin-opener-policy': 'same-origin', 'via': '1.1 google', 'alt-svc': 'h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000'}, status_code: 403, body: {'detail': 'Authentication credentials were not provided.'}"
|
823
|
+
},
|
824
|
+
{
|
825
|
+
"node": "SearchNode",
|
826
|
+
"error": "Expected NodeReference query to have an instance"
|
827
|
+
},
|
828
|
+
{
|
829
|
+
"node": "TemplatingNode",
|
830
|
+
"error": "TemplatingNode.Outputs.result"
|
831
|
+
}
|
832
|
+
]
|
833
|
+
}
|