vellum-ai 0.14.66__py3-none-any.whl → 0.14.68__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.
@@ -0,0 +1,661 @@
1
+ # type: ignore # subworkflow is causing mypy to hang indefinitely
2
+ from deepdiff import DeepDiff
3
+
4
+ from vellum_ee.workflows.display.workflows.get_vellum_workflow_display_class import get_workflow_display
5
+
6
+ from tests.workflows.basic_tool_calling_node_inline_workflow.workflow import BasicToolCallingNodeInlineWorkflowWorkflow
7
+
8
+
9
+ def test_serialize_workflow():
10
+ # GIVEN a Workflow that uses a generic node
11
+ # WHEN we serialize it
12
+ workflow_display = get_workflow_display(workflow_class=BasicToolCallingNodeInlineWorkflowWorkflow)
13
+
14
+ serialized_workflow: dict = workflow_display.serialize()
15
+ # THEN we should get a serialized representation of the Workflow
16
+ assert serialized_workflow.keys() == {
17
+ "workflow_raw_data",
18
+ "input_variables",
19
+ "state_variables",
20
+ "output_variables",
21
+ }
22
+
23
+ # AND its input variables should be what we expect
24
+ input_variables = serialized_workflow["input_variables"]
25
+ assert len(input_variables) == 1
26
+
27
+ # AND its output variables should be what we expect
28
+ output_variables = serialized_workflow["output_variables"]
29
+ assert len(output_variables) == 2
30
+ assert not DeepDiff(
31
+ [
32
+ {"id": "dbedc4ee-be3b-4135-8c26-3643c0b6a530", "key": "text", "type": "STRING"},
33
+ {"id": "c5733df5-03bb-498e-a770-8ef9bff85df3", "key": "chat_history", "type": "CHAT_HISTORY"},
34
+ ],
35
+ output_variables,
36
+ ignore_order=True,
37
+ )
38
+
39
+ # AND its raw data should be what we expect
40
+ workflow_raw_data = serialized_workflow["workflow_raw_data"]
41
+ tool_calling_node = workflow_raw_data["nodes"][1]
42
+ assert tool_calling_node == {
43
+ "id": "21f29cac-da87-495f-bba1-093d423f4e46",
44
+ "label": "GetCurrentWeatherNode",
45
+ "type": "GENERIC",
46
+ "display_data": {
47
+ "position": {"x": 0.0, "y": 0.0},
48
+ "comment": {"value": "\n A tool calling node that calls the get_current_weather function.\n "},
49
+ },
50
+ "base": {
51
+ "name": "ToolCallingNode",
52
+ "module": ["vellum", "workflows", "nodes", "experimental", "tool_calling_node", "node"],
53
+ },
54
+ "definition": {
55
+ "name": "GetCurrentWeatherNode",
56
+ "module": ["tests", "workflows", "basic_tool_calling_node_inline_workflow", "workflow"],
57
+ },
58
+ "trigger": {"id": "2414743b-b1dd-4552-8abf-9b7481df9762", "merge_behavior": "AWAIT_ATTRIBUTES"},
59
+ "ports": [{"id": "3cd6d78c-9dad-42aa-ad38-31f67057c379", "name": "default", "type": "DEFAULT"}],
60
+ "adornments": None,
61
+ "attributes": [
62
+ {
63
+ "id": "44420e39-966f-4c59-bdf8-6365a61c5d2a",
64
+ "name": "ml_model",
65
+ "value": {"type": "CONSTANT_VALUE", "value": {"type": "STRING", "value": "gpt-4o-mini"}},
66
+ },
67
+ {
68
+ "id": "669cfb4b-8c25-460e-8952-b63d91302cbc",
69
+ "name": "blocks",
70
+ "value": {
71
+ "type": "CONSTANT_VALUE",
72
+ "value": {
73
+ "type": "JSON",
74
+ "value": [
75
+ {
76
+ "block_type": "CHAT_MESSAGE",
77
+ "state": None,
78
+ "cache_config": None,
79
+ "chat_role": "SYSTEM",
80
+ "chat_source": None,
81
+ "chat_message_unterminated": None,
82
+ "blocks": [
83
+ {
84
+ "block_type": "RICH_TEXT",
85
+ "state": None,
86
+ "cache_config": None,
87
+ "blocks": [
88
+ {
89
+ "block_type": "PLAIN_TEXT",
90
+ "state": None,
91
+ "cache_config": None,
92
+ "text": "You are a weather expert",
93
+ }
94
+ ],
95
+ }
96
+ ],
97
+ },
98
+ {
99
+ "block_type": "CHAT_MESSAGE",
100
+ "state": None,
101
+ "cache_config": None,
102
+ "chat_role": "USER",
103
+ "chat_source": None,
104
+ "chat_message_unterminated": None,
105
+ "blocks": [
106
+ {
107
+ "block_type": "RICH_TEXT",
108
+ "state": None,
109
+ "cache_config": None,
110
+ "blocks": [
111
+ {
112
+ "block_type": "VARIABLE",
113
+ "state": None,
114
+ "cache_config": None,
115
+ "input_variable": "question",
116
+ }
117
+ ],
118
+ }
119
+ ],
120
+ },
121
+ ],
122
+ },
123
+ },
124
+ },
125
+ {
126
+ "id": "78324739-ff89-47a5-902b-10da0cb95c6d",
127
+ "name": "functions",
128
+ "value": {
129
+ "type": "CONSTANT_VALUE",
130
+ "value": {
131
+ "type": "JSON",
132
+ "value": [
133
+ {
134
+ "type": "INLINE_WORKFLOW",
135
+ "exec_config": {
136
+ "workflow_raw_data": {
137
+ "nodes": [
138
+ {
139
+ "id": "6358dcfe-b162-4e19-99ca-401d1ada9bdc",
140
+ "type": "ENTRYPOINT",
141
+ "inputs": [],
142
+ "data": {
143
+ "label": "Entrypoint Node",
144
+ "source_handle_id": "c344fdee-282b-40c9-8c97-6dd08830948c",
145
+ },
146
+ "display_data": {"position": {"x": 0.0, "y": 0.0}},
147
+ "base": None,
148
+ "definition": None,
149
+ },
150
+ {
151
+ "id": "080e4343-c7ce-4f82-b9dd-e94c8cc92239",
152
+ "type": "SUBWORKFLOW",
153
+ "inputs": [
154
+ {
155
+ "id": "704c4640-bfda-44f0-8da3-e9cfc4f21cf2",
156
+ "key": "metro",
157
+ "value": {
158
+ "rules": [
159
+ {
160
+ "type": "INPUT_VARIABLE",
161
+ "data": {
162
+ "input_variable_id": "fa73da37-34c3-47a9-be58-69cc6cdbfca5" # noqa: E501
163
+ },
164
+ }
165
+ ],
166
+ "combinator": "OR",
167
+ },
168
+ }
169
+ ],
170
+ "data": {
171
+ "label": "Example Inline Subworkflow Node",
172
+ "error_output_id": None,
173
+ "source_handle_id": "cfd831bc-ee7f-44d0-8d76-0ba0cd0277dc",
174
+ "target_handle_id": "859a75a6-1bd2-4350-9509-4af66245e8e4",
175
+ "variant": "INLINE",
176
+ "workflow_raw_data": {
177
+ "nodes": [
178
+ {
179
+ "id": "afa49a0f-db35-4552-9217-5b8f237e84bc",
180
+ "type": "ENTRYPOINT",
181
+ "inputs": [],
182
+ "data": {
183
+ "label": "Entrypoint Node",
184
+ "source_handle_id": "9914a6a0-9a99-430d-8ddd-f7c13847fe1a", # noqa: E501
185
+ },
186
+ "display_data": {"position": {"x": 0.0, "y": 0.0}},
187
+ "base": None,
188
+ "definition": None,
189
+ },
190
+ {
191
+ "id": "1381c078-efa2-4255-89a1-7b4cb742c7fc",
192
+ "label": "StartNode",
193
+ "type": "GENERIC",
194
+ "display_data": {"position": {"x": 0.0, "y": 0.0}},
195
+ "base": {
196
+ "name": "BaseNode",
197
+ "module": [
198
+ "vellum",
199
+ "workflows",
200
+ "nodes",
201
+ "bases",
202
+ "base",
203
+ ],
204
+ },
205
+ "definition": {
206
+ "name": "StartNode",
207
+ "module": [
208
+ "tests",
209
+ "workflows",
210
+ "basic_tool_calling_node_inline_workflow",
211
+ "workflow",
212
+ ],
213
+ },
214
+ "trigger": {
215
+ "id": "6492efcf-4437-4af1-9ad7-269795ccb27a",
216
+ "merge_behavior": "AWAIT_ATTRIBUTES",
217
+ },
218
+ "ports": [
219
+ {
220
+ "id": "1e739e86-a285-4438-9725-a152c15a63e3",
221
+ "name": "default",
222
+ "type": "DEFAULT",
223
+ }
224
+ ],
225
+ "adornments": None,
226
+ "attributes": [
227
+ {
228
+ "id": "b0ac6b50-22a8-42ba-a707-1aa09a653205",
229
+ "name": "metro",
230
+ "value": {
231
+ "type": "WORKFLOW_INPUT",
232
+ "input_variable_id": "f2f5da15-026d-4905-bfe7-7d16bda20eed", # noqa: E501
233
+ },
234
+ },
235
+ {
236
+ "id": "c5f2d66c-5bb6-4d2a-8e4d-5356318cd3ba",
237
+ "name": "date",
238
+ "value": {
239
+ "type": "WORKFLOW_INPUT",
240
+ "input_variable_id": "aba1e6e0-dfa7-4c15-a4e6-aec6feebfaca", # noqa: E501
241
+ },
242
+ },
243
+ ],
244
+ "outputs": [
245
+ {
246
+ "id": "3f4c753e-f057-47bb-9748-7968283cc8aa",
247
+ "name": "temperature",
248
+ "type": "NUMBER",
249
+ "value": None,
250
+ },
251
+ {
252
+ "id": "2a4a62b3-cd26-4d2c-b3f1-eaa5f9dd22dd",
253
+ "name": "reasoning",
254
+ "type": "STRING",
255
+ "value": None,
256
+ },
257
+ ],
258
+ },
259
+ {
260
+ "id": "a773c3a5-78cb-4250-8d29-7282e8a579d3",
261
+ "type": "TERMINAL",
262
+ "data": {
263
+ "label": "Final Output",
264
+ "name": "temperature",
265
+ "target_handle_id": "804bb543-9cf4-457f-acf1-fb4b8b7d9259", # noqa: E501
266
+ "output_id": "2fc57139-7420-49e5-96a6-dcbb3ff5d622",
267
+ "output_type": "NUMBER",
268
+ "node_input_id": "712eaeec-9e1e-41bd-9217-9caec8b6ade7", # noqa: E501
269
+ },
270
+ "inputs": [
271
+ {
272
+ "id": "712eaeec-9e1e-41bd-9217-9caec8b6ade7",
273
+ "key": "node_input",
274
+ "value": {
275
+ "rules": [
276
+ {
277
+ "type": "NODE_OUTPUT",
278
+ "data": {
279
+ "node_id": "1381c078-efa2-4255-89a1-7b4cb742c7fc", # noqa: E501
280
+ "output_id": "3f4c753e-f057-47bb-9748-7968283cc8aa", # noqa: E501
281
+ },
282
+ }
283
+ ],
284
+ "combinator": "OR",
285
+ },
286
+ }
287
+ ],
288
+ "display_data": {"position": {"x": 0.0, "y": 0.0}},
289
+ "base": {
290
+ "name": "FinalOutputNode",
291
+ "module": [
292
+ "vellum",
293
+ "workflows",
294
+ "nodes",
295
+ "displayable",
296
+ "final_output_node",
297
+ "node",
298
+ ],
299
+ },
300
+ "definition": None,
301
+ },
302
+ {
303
+ "id": "570f4d12-69ff-49f1-ba98-ade6283dd7c2",
304
+ "type": "TERMINAL",
305
+ "data": {
306
+ "label": "Final Output",
307
+ "name": "reasoning",
308
+ "target_handle_id": "6d4c4a14-c388-4c7a-b223-eb39baf5c080", # noqa: E501
309
+ "output_id": "fad5dd9f-3328-4e70-ad55-65a5325a4a82",
310
+ "output_type": "STRING",
311
+ "node_input_id": "8fd4279a-4f13-4257-9577-1b55e964cdf1", # noqa: E501
312
+ },
313
+ "inputs": [
314
+ {
315
+ "id": "8fd4279a-4f13-4257-9577-1b55e964cdf1",
316
+ "key": "node_input",
317
+ "value": {
318
+ "rules": [
319
+ {
320
+ "type": "NODE_OUTPUT",
321
+ "data": {
322
+ "node_id": "1381c078-efa2-4255-89a1-7b4cb742c7fc", # noqa: E501
323
+ "output_id": "2a4a62b3-cd26-4d2c-b3f1-eaa5f9dd22dd", # noqa: E501
324
+ },
325
+ }
326
+ ],
327
+ "combinator": "OR",
328
+ },
329
+ }
330
+ ],
331
+ "display_data": {"position": {"x": 0.0, "y": 0.0}},
332
+ "base": {
333
+ "name": "FinalOutputNode",
334
+ "module": [
335
+ "vellum",
336
+ "workflows",
337
+ "nodes",
338
+ "displayable",
339
+ "final_output_node",
340
+ "node",
341
+ ],
342
+ },
343
+ "definition": None,
344
+ },
345
+ ],
346
+ "edges": [
347
+ {
348
+ "id": "fb2f58f0-9d49-4658-af78-afa9b94091a6",
349
+ "source_node_id": "afa49a0f-db35-4552-9217-5b8f237e84bc", # noqa: E501
350
+ "source_handle_id": "9914a6a0-9a99-430d-8ddd-f7c13847fe1a", # noqa: E501
351
+ "target_node_id": "1381c078-efa2-4255-89a1-7b4cb742c7fc", # noqa: E501
352
+ "target_handle_id": "6492efcf-4437-4af1-9ad7-269795ccb27a", # noqa: E501
353
+ "type": "DEFAULT",
354
+ },
355
+ {
356
+ "id": "6f16dfb8-d794-4be8-8860-6ea34f0b9e7c",
357
+ "source_node_id": "1381c078-efa2-4255-89a1-7b4cb742c7fc", # noqa: E501
358
+ "source_handle_id": "1e739e86-a285-4438-9725-a152c15a63e3", # noqa: E501
359
+ "target_node_id": "a773c3a5-78cb-4250-8d29-7282e8a579d3", # noqa: E501
360
+ "target_handle_id": "804bb543-9cf4-457f-acf1-fb4b8b7d9259", # noqa: E501
361
+ "type": "DEFAULT",
362
+ },
363
+ {
364
+ "id": "63b77ff0-5282-46ce-8da9-37ced05ac61c",
365
+ "source_node_id": "1381c078-efa2-4255-89a1-7b4cb742c7fc", # noqa: E501
366
+ "source_handle_id": "1e739e86-a285-4438-9725-a152c15a63e3", # noqa: E501
367
+ "target_node_id": "570f4d12-69ff-49f1-ba98-ade6283dd7c2", # noqa: E501
368
+ "target_handle_id": "6d4c4a14-c388-4c7a-b223-eb39baf5c080", # noqa: E501
369
+ "type": "DEFAULT",
370
+ },
371
+ ],
372
+ "display_data": {"viewport": {"x": 0.0, "y": 0.0, "zoom": 1.0}},
373
+ "definition": {
374
+ "name": "NestedWorkflow",
375
+ "module": [
376
+ "tests",
377
+ "workflows",
378
+ "basic_tool_calling_node_inline_workflow",
379
+ "workflow",
380
+ ],
381
+ },
382
+ "output_values": [
383
+ {
384
+ "output_variable_id": "2fc57139-7420-49e5-96a6-dcbb3ff5d622", # noqa: E501
385
+ "value": {
386
+ "type": "NODE_OUTPUT",
387
+ "node_id": "1381c078-efa2-4255-89a1-7b4cb742c7fc",
388
+ "node_output_id": "3f4c753e-f057-47bb-9748-7968283cc8aa", # noqa: E501
389
+ },
390
+ },
391
+ {
392
+ "output_variable_id": "fad5dd9f-3328-4e70-ad55-65a5325a4a82", # noqa: E501
393
+ "value": {
394
+ "type": "NODE_OUTPUT",
395
+ "node_id": "1381c078-efa2-4255-89a1-7b4cb742c7fc",
396
+ "node_output_id": "2a4a62b3-cd26-4d2c-b3f1-eaa5f9dd22dd", # noqa: E501
397
+ },
398
+ },
399
+ ],
400
+ },
401
+ "input_variables": [
402
+ {
403
+ "id": "704c4640-bfda-44f0-8da3-e9cfc4f21cf2",
404
+ "key": "metro",
405
+ "type": "STRING",
406
+ }
407
+ ],
408
+ "output_variables": [
409
+ {
410
+ "id": "2fc57139-7420-49e5-96a6-dcbb3ff5d622",
411
+ "key": "temperature",
412
+ "type": "NUMBER",
413
+ },
414
+ {
415
+ "id": "fad5dd9f-3328-4e70-ad55-65a5325a4a82",
416
+ "key": "reasoning",
417
+ "type": "STRING",
418
+ },
419
+ ],
420
+ },
421
+ "display_data": {"position": {"x": 0.0, "y": 0.0}},
422
+ "base": {
423
+ "name": "InlineSubworkflowNode",
424
+ "module": [
425
+ "vellum",
426
+ "workflows",
427
+ "nodes",
428
+ "core",
429
+ "inline_subworkflow_node",
430
+ "node",
431
+ ],
432
+ },
433
+ "definition": {
434
+ "name": "ExampleInlineSubworkflowNode",
435
+ "module": [
436
+ "tests",
437
+ "workflows",
438
+ "basic_tool_calling_node_inline_workflow",
439
+ "workflow",
440
+ ],
441
+ },
442
+ "ports": [
443
+ {
444
+ "id": "cfd831bc-ee7f-44d0-8d76-0ba0cd0277dc",
445
+ "name": "default",
446
+ "type": "DEFAULT",
447
+ }
448
+ ],
449
+ },
450
+ {
451
+ "id": "0779b232-82ab-4dbe-a340-6a85e6ab3368",
452
+ "type": "TERMINAL",
453
+ "data": {
454
+ "label": "Final Output",
455
+ "name": "temperature",
456
+ "target_handle_id": "9e077063-c394-4c7b-b0c6-e6686df67984",
457
+ "output_id": "99afb757-2782-465d-ab55-80ccf50552b9",
458
+ "output_type": "NUMBER",
459
+ "node_input_id": "7761c5e1-cc2e-43ab-bfd2-f66c3d47b3b9",
460
+ },
461
+ "inputs": [
462
+ {
463
+ "id": "7761c5e1-cc2e-43ab-bfd2-f66c3d47b3b9",
464
+ "key": "node_input",
465
+ "value": {
466
+ "rules": [
467
+ {
468
+ "type": "NODE_OUTPUT",
469
+ "data": {
470
+ "node_id": "080e4343-c7ce-4f82-b9dd-e94c8cc92239", # noqa: E501
471
+ "output_id": "86dd0202-c141-48a3-8382-2da60372e77c", # noqa: E501
472
+ },
473
+ }
474
+ ],
475
+ "combinator": "OR",
476
+ },
477
+ }
478
+ ],
479
+ "display_data": {"position": {"x": 0.0, "y": 0.0}},
480
+ "base": {
481
+ "name": "FinalOutputNode",
482
+ "module": [
483
+ "vellum",
484
+ "workflows",
485
+ "nodes",
486
+ "displayable",
487
+ "final_output_node",
488
+ "node",
489
+ ],
490
+ },
491
+ "definition": None,
492
+ },
493
+ {
494
+ "id": "31b74695-3f1c-47cf-8be8-a4d86cc589e8",
495
+ "type": "TERMINAL",
496
+ "data": {
497
+ "label": "Final Output",
498
+ "name": "reasoning",
499
+ "target_handle_id": "8b525943-6c27-414b-a329-e29c0b217f72",
500
+ "output_id": "7444a019-081a-4e10-a528-3249299159f7",
501
+ "output_type": "STRING",
502
+ "node_input_id": "c1833b54-95b6-4365-8e57-51b09c8e2606",
503
+ },
504
+ "inputs": [
505
+ {
506
+ "id": "c1833b54-95b6-4365-8e57-51b09c8e2606",
507
+ "key": "node_input",
508
+ "value": {
509
+ "rules": [
510
+ {
511
+ "type": "NODE_OUTPUT",
512
+ "data": {
513
+ "node_id": "080e4343-c7ce-4f82-b9dd-e94c8cc92239", # noqa: E501
514
+ "output_id": "0a7192da-5576-4933-bba4-de8adf5d7996", # noqa: E501
515
+ },
516
+ }
517
+ ],
518
+ "combinator": "OR",
519
+ },
520
+ }
521
+ ],
522
+ "display_data": {"position": {"x": 0.0, "y": 0.0}},
523
+ "base": {
524
+ "name": "FinalOutputNode",
525
+ "module": [
526
+ "vellum",
527
+ "workflows",
528
+ "nodes",
529
+ "displayable",
530
+ "final_output_node",
531
+ "node",
532
+ ],
533
+ },
534
+ "definition": None,
535
+ },
536
+ ],
537
+ "edges": [
538
+ {
539
+ "id": "71dd3569-ccf8-4352-ad42-3594be3a6c16",
540
+ "source_node_id": "6358dcfe-b162-4e19-99ca-401d1ada9bdc",
541
+ "source_handle_id": "c344fdee-282b-40c9-8c97-6dd08830948c",
542
+ "target_node_id": "080e4343-c7ce-4f82-b9dd-e94c8cc92239",
543
+ "target_handle_id": "859a75a6-1bd2-4350-9509-4af66245e8e4",
544
+ "type": "DEFAULT",
545
+ },
546
+ {
547
+ "id": "3c5d8990-48f5-42e1-893e-bc8308d2110a",
548
+ "source_node_id": "080e4343-c7ce-4f82-b9dd-e94c8cc92239",
549
+ "source_handle_id": "cfd831bc-ee7f-44d0-8d76-0ba0cd0277dc",
550
+ "target_node_id": "0779b232-82ab-4dbe-a340-6a85e6ab3368",
551
+ "target_handle_id": "9e077063-c394-4c7b-b0c6-e6686df67984",
552
+ "type": "DEFAULT",
553
+ },
554
+ {
555
+ "id": "de0b8090-a26e-4e09-9173-9f7400a5be4c",
556
+ "source_node_id": "080e4343-c7ce-4f82-b9dd-e94c8cc92239",
557
+ "source_handle_id": "cfd831bc-ee7f-44d0-8d76-0ba0cd0277dc",
558
+ "target_node_id": "31b74695-3f1c-47cf-8be8-a4d86cc589e8",
559
+ "target_handle_id": "8b525943-6c27-414b-a329-e29c0b217f72",
560
+ "type": "DEFAULT",
561
+ },
562
+ ],
563
+ "display_data": {"viewport": {"x": 0.0, "y": 0.0, "zoom": 1.0}},
564
+ "definition": {
565
+ "name": "BasicInlineSubworkflowWorkflow",
566
+ "module": [
567
+ "tests",
568
+ "workflows",
569
+ "basic_tool_calling_node_inline_workflow",
570
+ "workflow",
571
+ ],
572
+ },
573
+ "output_values": [
574
+ {
575
+ "output_variable_id": "99afb757-2782-465d-ab55-80ccf50552b9",
576
+ "value": {
577
+ "type": "NODE_OUTPUT",
578
+ "node_id": "080e4343-c7ce-4f82-b9dd-e94c8cc92239",
579
+ "node_output_id": "86dd0202-c141-48a3-8382-2da60372e77c",
580
+ },
581
+ },
582
+ {
583
+ "output_variable_id": "7444a019-081a-4e10-a528-3249299159f7",
584
+ "value": {
585
+ "type": "NODE_OUTPUT",
586
+ "node_id": "080e4343-c7ce-4f82-b9dd-e94c8cc92239",
587
+ "node_output_id": "0a7192da-5576-4933-bba4-de8adf5d7996",
588
+ },
589
+ },
590
+ ],
591
+ },
592
+ "input_variables": [
593
+ {
594
+ "id": "fa73da37-34c3-47a9-be58-69cc6cdbfca5",
595
+ "key": "city",
596
+ "type": "STRING",
597
+ "default": None,
598
+ "required": True,
599
+ "extensions": {"color": None},
600
+ },
601
+ {
602
+ "id": "aba1e6e0-dfa7-4c15-a4e6-aec6feebfaca",
603
+ "key": "date",
604
+ "type": "STRING",
605
+ "default": None,
606
+ "required": True,
607
+ "extensions": {"color": None},
608
+ },
609
+ ],
610
+ "state_variables": [],
611
+ "output_variables": [
612
+ {
613
+ "id": "99afb757-2782-465d-ab55-80ccf50552b9",
614
+ "key": "temperature",
615
+ "type": "NUMBER",
616
+ },
617
+ {
618
+ "id": "7444a019-081a-4e10-a528-3249299159f7",
619
+ "key": "reasoning",
620
+ "type": "STRING",
621
+ },
622
+ ],
623
+ },
624
+ }
625
+ ],
626
+ },
627
+ },
628
+ },
629
+ {
630
+ "id": "0f6dc102-3460-4963-91fa-7ba85d65ef7a",
631
+ "name": "prompt_inputs",
632
+ "value": {
633
+ "type": "DICTIONARY_REFERENCE",
634
+ "entries": [
635
+ {
636
+ "id": "d5c4d578-6ef1-4786-88f6-1ab0892d0798",
637
+ "key": "question",
638
+ "value": {
639
+ "type": "WORKFLOW_INPUT",
640
+ "input_variable_id": "045942b7-e5b9-482c-b4d4-943309a20e05",
641
+ },
642
+ }
643
+ ],
644
+ },
645
+ },
646
+ {
647
+ "id": "a4e3bc9f-7112-4d2f-94fb-7362a85db27a",
648
+ "name": "function_configs",
649
+ "value": {"type": "CONSTANT_VALUE", "value": {"type": "JSON", "value": None}},
650
+ },
651
+ ],
652
+ "outputs": [
653
+ {"id": "e62bc785-a914-4066-b79e-8c89a5d0ec6c", "name": "text", "type": "STRING", "value": None},
654
+ {
655
+ "id": "4674f1d9-e3af-411f-8a55-40a3a3ab5394",
656
+ "name": "chat_history",
657
+ "type": "CHAT_HISTORY",
658
+ "value": None,
659
+ },
660
+ ],
661
+ }