vellum-ai 1.2.2__py3-none-any.whl → 1.2.4__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.
Files changed (106) hide show
  1. vellum/__init__.py +40 -0
  2. vellum/client/core/client_wrapper.py +2 -2
  3. vellum/client/core/pydantic_utilities.py +3 -2
  4. vellum/client/reference.md +16 -0
  5. vellum/client/resources/workflow_executions/client.py +28 -4
  6. vellum/client/resources/workflow_executions/raw_client.py +32 -2
  7. vellum/client/types/__init__.py +40 -0
  8. vellum/client/types/audio_input_request.py +30 -0
  9. vellum/client/types/delimiter_chunker_config.py +20 -0
  10. vellum/client/types/delimiter_chunker_config_request.py +20 -0
  11. vellum/client/types/delimiter_chunking.py +21 -0
  12. vellum/client/types/delimiter_chunking_request.py +21 -0
  13. vellum/client/types/document_index_chunking.py +4 -1
  14. vellum/client/types/document_index_chunking_request.py +2 -1
  15. vellum/client/types/document_input_request.py +30 -0
  16. vellum/client/types/execution_audio_vellum_value.py +31 -0
  17. vellum/client/types/execution_document_vellum_value.py +31 -0
  18. vellum/client/types/execution_image_vellum_value.py +31 -0
  19. vellum/client/types/execution_vellum_value.py +8 -0
  20. vellum/client/types/execution_video_vellum_value.py +31 -0
  21. vellum/client/types/image_input_request.py +30 -0
  22. vellum/client/types/logical_operator.py +1 -0
  23. vellum/client/types/node_input_compiled_audio_value.py +23 -0
  24. vellum/client/types/node_input_compiled_document_value.py +23 -0
  25. vellum/client/types/node_input_compiled_image_value.py +23 -0
  26. vellum/client/types/node_input_compiled_video_value.py +23 -0
  27. vellum/client/types/node_input_variable_compiled_value.py +8 -0
  28. vellum/client/types/prompt_deployment_input_request.py +13 -1
  29. vellum/client/types/prompt_request_audio_input.py +26 -0
  30. vellum/client/types/prompt_request_document_input.py +26 -0
  31. vellum/client/types/prompt_request_image_input.py +26 -0
  32. vellum/client/types/prompt_request_input.py +13 -1
  33. vellum/client/types/prompt_request_video_input.py +26 -0
  34. vellum/client/types/video_input_request.py +30 -0
  35. vellum/types/audio_input_request.py +3 -0
  36. vellum/types/delimiter_chunker_config.py +3 -0
  37. vellum/types/delimiter_chunker_config_request.py +3 -0
  38. vellum/types/delimiter_chunking.py +3 -0
  39. vellum/types/delimiter_chunking_request.py +3 -0
  40. vellum/types/document_input_request.py +3 -0
  41. vellum/types/execution_audio_vellum_value.py +3 -0
  42. vellum/types/execution_document_vellum_value.py +3 -0
  43. vellum/types/execution_image_vellum_value.py +3 -0
  44. vellum/types/execution_video_vellum_value.py +3 -0
  45. vellum/types/image_input_request.py +3 -0
  46. vellum/types/node_input_compiled_audio_value.py +3 -0
  47. vellum/types/node_input_compiled_document_value.py +3 -0
  48. vellum/types/node_input_compiled_image_value.py +3 -0
  49. vellum/types/node_input_compiled_video_value.py +3 -0
  50. vellum/types/prompt_request_audio_input.py +3 -0
  51. vellum/types/prompt_request_document_input.py +3 -0
  52. vellum/types/prompt_request_image_input.py +3 -0
  53. vellum/types/prompt_request_video_input.py +3 -0
  54. vellum/types/video_input_request.py +3 -0
  55. vellum/workflows/context.py +27 -9
  56. vellum/workflows/events/context.py +53 -78
  57. vellum/workflows/events/node.py +5 -5
  58. vellum/workflows/events/relational_threads.py +41 -0
  59. vellum/workflows/events/tests/test_basic_workflow.py +50 -0
  60. vellum/workflows/events/tests/test_event.py +9 -0
  61. vellum/workflows/events/types.py +3 -1
  62. vellum/workflows/events/workflow.py +12 -1
  63. vellum/workflows/expressions/contains.py +7 -0
  64. vellum/workflows/expressions/tests/test_contains.py +175 -0
  65. vellum/workflows/graph/graph.py +52 -8
  66. vellum/workflows/graph/tests/test_graph.py +17 -0
  67. vellum/workflows/integrations/mcp_service.py +35 -5
  68. vellum/workflows/integrations/tests/test_mcp_service.py +120 -0
  69. vellum/workflows/nodes/core/error_node/node.py +4 -0
  70. vellum/workflows/nodes/core/map_node/node.py +7 -0
  71. vellum/workflows/nodes/core/map_node/tests/test_node.py +19 -0
  72. vellum/workflows/nodes/core/templating_node/node.py +3 -2
  73. vellum/workflows/nodes/core/templating_node/tests/test_templating_node.py +129 -0
  74. vellum/workflows/nodes/displayable/bases/inline_prompt_node/node.py +12 -0
  75. vellum/workflows/nodes/displayable/bases/inline_prompt_node/tests/test_inline_prompt_node.py +41 -0
  76. vellum/workflows/nodes/displayable/bases/utils.py +38 -1
  77. vellum/workflows/nodes/displayable/code_execution_node/utils.py +3 -20
  78. vellum/workflows/nodes/displayable/final_output_node/node.py +4 -0
  79. vellum/workflows/nodes/displayable/inline_prompt_node/node.py +3 -26
  80. vellum/workflows/nodes/displayable/prompt_deployment_node/node.py +3 -25
  81. vellum/workflows/nodes/displayable/subworkflow_deployment_node/node.py +1 -1
  82. vellum/workflows/nodes/utils.py +26 -1
  83. vellum/workflows/ports/node_ports.py +3 -0
  84. vellum/workflows/ports/port.py +7 -0
  85. vellum/workflows/state/context.py +35 -4
  86. vellum/workflows/types/definition.py +1 -0
  87. vellum/workflows/utils/functions.py +4 -0
  88. vellum/workflows/utils/tests/test_functions.py +6 -3
  89. vellum/workflows/utils/uuids.py +15 -0
  90. {vellum_ai-1.2.2.dist-info → vellum_ai-1.2.4.dist-info}/METADATA +1 -1
  91. {vellum_ai-1.2.2.dist-info → vellum_ai-1.2.4.dist-info}/RECORD +106 -60
  92. vellum_cli/__init__.py +6 -0
  93. vellum_cli/config.py +2 -0
  94. vellum_cli/push.py +3 -0
  95. vellum_cli/tests/test_pull.py +2 -0
  96. vellum_cli/tests/test_push.py +39 -0
  97. vellum_ee/workflows/display/nodes/vellum/error_node.py +1 -5
  98. vellum_ee/workflows/display/nodes/vellum/final_output_node.py +1 -5
  99. vellum_ee/workflows/display/nodes/vellum/tests/test_tool_calling_node.py +2 -0
  100. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_mcp_serialization.py +1 -0
  101. vellum_ee/workflows/display/utils/events.py +24 -0
  102. vellum_ee/workflows/display/utils/tests/test_events.py +69 -0
  103. vellum_ee/workflows/tests/test_server.py +95 -0
  104. {vellum_ai-1.2.2.dist-info → vellum_ai-1.2.4.dist-info}/LICENSE +0 -0
  105. {vellum_ai-1.2.2.dist-info → vellum_ai-1.2.4.dist-info}/WHEEL +0 -0
  106. {vellum_ai-1.2.2.dist-info → vellum_ai-1.2.4.dist-info}/entry_points.txt +0 -0
vellum/__init__.py CHANGED
@@ -26,6 +26,7 @@ from .client.types import (
26
26
  ArrayVellumValueRequest,
27
27
  AudioChatMessageContent,
28
28
  AudioChatMessageContentRequest,
29
+ AudioInputRequest,
29
30
  AudioPromptBlock,
30
31
  AudioVellumValue,
31
32
  AudioVellumValueRequest,
@@ -76,6 +77,10 @@ from .client.types import (
76
77
  ContainerImageContainerImageTag,
77
78
  ContainerImageRead,
78
79
  CreateTestSuiteTestCaseRequest,
80
+ DelimiterChunkerConfig,
81
+ DelimiterChunkerConfigRequest,
82
+ DelimiterChunking,
83
+ DelimiterChunkingRequest,
79
84
  DeploymentHistoryItem,
80
85
  DeploymentProviderPayloadResponse,
81
86
  DeploymentProviderPayloadResponsePayload,
@@ -91,6 +96,7 @@ from .client.types import (
91
96
  DocumentIndexIndexingConfig,
92
97
  DocumentIndexIndexingConfigRequest,
93
98
  DocumentIndexRead,
99
+ DocumentInputRequest,
94
100
  DocumentProcessingState,
95
101
  DocumentPromptBlock,
96
102
  DocumentRead,
@@ -118,15 +124,19 @@ from .client.types import (
118
124
  ExecuteWorkflowResponse,
119
125
  ExecuteWorkflowWorkflowResultEvent,
120
126
  ExecutionArrayVellumValue,
127
+ ExecutionAudioVellumValue,
121
128
  ExecutionChatHistoryVellumValue,
129
+ ExecutionDocumentVellumValue,
122
130
  ExecutionErrorVellumValue,
123
131
  ExecutionFunctionCallVellumValue,
132
+ ExecutionImageVellumValue,
124
133
  ExecutionJsonVellumValue,
125
134
  ExecutionNumberVellumValue,
126
135
  ExecutionSearchResultsVellumValue,
127
136
  ExecutionStringVellumValue,
128
137
  ExecutionThinkingVellumValue,
129
138
  ExecutionVellumValue,
139
+ ExecutionVideoVellumValue,
130
140
  ExternalInputDescriptor,
131
141
  ExternalParentContext,
132
142
  ExternalTestCaseExecution,
@@ -185,6 +195,7 @@ from .client.types import (
185
195
  HkunlpInstructorXlVectorizerRequest,
186
196
  ImageChatMessageContent,
187
197
  ImageChatMessageContentRequest,
198
+ ImageInputRequest,
188
199
  ImagePromptBlock,
189
200
  ImageVellumValue,
190
201
  ImageVellumValueRequest,
@@ -260,14 +271,18 @@ from .client.types import (
260
271
  NodeExecutionStreamingBody,
261
272
  NodeExecutionStreamingEvent,
262
273
  NodeInputCompiledArrayValue,
274
+ NodeInputCompiledAudioValue,
263
275
  NodeInputCompiledChatHistoryValue,
276
+ NodeInputCompiledDocumentValue,
264
277
  NodeInputCompiledErrorValue,
265
278
  NodeInputCompiledFunctionCallValue,
279
+ NodeInputCompiledImageValue,
266
280
  NodeInputCompiledJsonValue,
267
281
  NodeInputCompiledNumberValue,
268
282
  NodeInputCompiledSearchResultsValue,
269
283
  NodeInputCompiledSecretValue,
270
284
  NodeInputCompiledStringValue,
285
+ NodeInputCompiledVideoValue,
271
286
  NodeInputVariableCompiledValue,
272
287
  NodeOutputCompiledArrayValue,
273
288
  NodeOutputCompiledChatHistoryValue,
@@ -327,10 +342,14 @@ from .client.types import (
327
342
  PromptOutput,
328
343
  PromptParameters,
329
344
  PromptPushResponse,
345
+ PromptRequestAudioInput,
330
346
  PromptRequestChatHistoryInput,
347
+ PromptRequestDocumentInput,
348
+ PromptRequestImageInput,
331
349
  PromptRequestInput,
332
350
  PromptRequestJsonInput,
333
351
  PromptRequestStringInput,
352
+ PromptRequestVideoInput,
334
353
  PromptSettings,
335
354
  PromptVersionBuildConfigSandbox,
336
355
  RawPromptExecutionOverridesRequest,
@@ -534,6 +553,7 @@ from .client.types import (
534
553
  VellumWorkflowExecutionEvent,
535
554
  VideoChatMessageContent,
536
555
  VideoChatMessageContentRequest,
556
+ VideoInputRequest,
537
557
  VideoPromptBlock,
538
558
  VideoVellumValue,
539
559
  VideoVellumValueRequest,
@@ -683,6 +703,7 @@ __all__ = [
683
703
  "AsyncVellum",
684
704
  "AudioChatMessageContent",
685
705
  "AudioChatMessageContentRequest",
706
+ "AudioInputRequest",
686
707
  "AudioPromptBlock",
687
708
  "AudioVellumValue",
688
709
  "AudioVellumValueRequest",
@@ -734,6 +755,10 @@ __all__ = [
734
755
  "ContainerImageContainerImageTag",
735
756
  "ContainerImageRead",
736
757
  "CreateTestSuiteTestCaseRequest",
758
+ "DelimiterChunkerConfig",
759
+ "DelimiterChunkerConfigRequest",
760
+ "DelimiterChunking",
761
+ "DelimiterChunkingRequest",
737
762
  "DeploymentHistoryItem",
738
763
  "DeploymentProviderPayloadResponse",
739
764
  "DeploymentProviderPayloadResponsePayload",
@@ -751,6 +776,7 @@ __all__ = [
751
776
  "DocumentIndexIndexingConfigRequest",
752
777
  "DocumentIndexRead",
753
778
  "DocumentIndexesListRequestStatus",
779
+ "DocumentInputRequest",
754
780
  "DocumentProcessingState",
755
781
  "DocumentPromptBlock",
756
782
  "DocumentRead",
@@ -778,15 +804,19 @@ __all__ = [
778
804
  "ExecuteWorkflowResponse",
779
805
  "ExecuteWorkflowWorkflowResultEvent",
780
806
  "ExecutionArrayVellumValue",
807
+ "ExecutionAudioVellumValue",
781
808
  "ExecutionChatHistoryVellumValue",
809
+ "ExecutionDocumentVellumValue",
782
810
  "ExecutionErrorVellumValue",
783
811
  "ExecutionFunctionCallVellumValue",
812
+ "ExecutionImageVellumValue",
784
813
  "ExecutionJsonVellumValue",
785
814
  "ExecutionNumberVellumValue",
786
815
  "ExecutionSearchResultsVellumValue",
787
816
  "ExecutionStringVellumValue",
788
817
  "ExecutionThinkingVellumValue",
789
818
  "ExecutionVellumValue",
819
+ "ExecutionVideoVellumValue",
790
820
  "ExternalInputDescriptor",
791
821
  "ExternalParentContext",
792
822
  "ExternalTestCaseExecution",
@@ -847,6 +877,7 @@ __all__ = [
847
877
  "HkunlpInstructorXlVectorizerRequest",
848
878
  "ImageChatMessageContent",
849
879
  "ImageChatMessageContentRequest",
880
+ "ImageInputRequest",
850
881
  "ImagePromptBlock",
851
882
  "ImageVellumValue",
852
883
  "ImageVellumValueRequest",
@@ -926,14 +957,18 @@ __all__ = [
926
957
  "NodeExecutionStreamingBody",
927
958
  "NodeExecutionStreamingEvent",
928
959
  "NodeInputCompiledArrayValue",
960
+ "NodeInputCompiledAudioValue",
929
961
  "NodeInputCompiledChatHistoryValue",
962
+ "NodeInputCompiledDocumentValue",
930
963
  "NodeInputCompiledErrorValue",
931
964
  "NodeInputCompiledFunctionCallValue",
965
+ "NodeInputCompiledImageValue",
932
966
  "NodeInputCompiledJsonValue",
933
967
  "NodeInputCompiledNumberValue",
934
968
  "NodeInputCompiledSearchResultsValue",
935
969
  "NodeInputCompiledSecretValue",
936
970
  "NodeInputCompiledStringValue",
971
+ "NodeInputCompiledVideoValue",
937
972
  "NodeInputVariableCompiledValue",
938
973
  "NodeOutputCompiledArrayValue",
939
974
  "NodeOutputCompiledChatHistoryValue",
@@ -994,10 +1029,14 @@ __all__ = [
994
1029
  "PromptOutput",
995
1030
  "PromptParameters",
996
1031
  "PromptPushResponse",
1032
+ "PromptRequestAudioInput",
997
1033
  "PromptRequestChatHistoryInput",
1034
+ "PromptRequestDocumentInput",
1035
+ "PromptRequestImageInput",
998
1036
  "PromptRequestInput",
999
1037
  "PromptRequestJsonInput",
1000
1038
  "PromptRequestStringInput",
1039
+ "PromptRequestVideoInput",
1001
1040
  "PromptSettings",
1002
1041
  "PromptVersionBuildConfigSandbox",
1003
1042
  "RawPromptExecutionOverridesRequest",
@@ -1205,6 +1244,7 @@ __all__ = [
1205
1244
  "VellumWorkflowExecutionEvent",
1206
1245
  "VideoChatMessageContent",
1207
1246
  "VideoChatMessageContentRequest",
1247
+ "VideoInputRequest",
1208
1248
  "VideoPromptBlock",
1209
1249
  "VideoVellumValue",
1210
1250
  "VideoVellumValueRequest",
@@ -27,10 +27,10 @@ class BaseClientWrapper:
27
27
 
28
28
  def get_headers(self) -> typing.Dict[str, str]:
29
29
  headers: typing.Dict[str, str] = {
30
- "User-Agent": "vellum-ai/1.2.2",
30
+ "User-Agent": "vellum-ai/1.2.4",
31
31
  "X-Fern-Language": "Python",
32
32
  "X-Fern-SDK-Name": "vellum-ai",
33
- "X-Fern-SDK-Version": "1.2.2",
33
+ "X-Fern-SDK-Version": "1.2.4",
34
34
  **(self.get_custom_headers() or {}),
35
35
  }
36
36
  if self._api_version is not None:
@@ -6,6 +6,7 @@ from collections import defaultdict
6
6
  from typing import Any, Callable, ClassVar, Dict, List, Mapping, Optional, Set, Tuple, Type, TypeVar, Union, cast
7
7
 
8
8
  import pydantic
9
+ from pydantic import SerializationInfo
9
10
  import logging
10
11
 
11
12
  logger = logging.getLogger(__name__)
@@ -70,8 +71,8 @@ class UniversalBaseModel(pydantic.BaseModel):
70
71
  )
71
72
 
72
73
  @pydantic.model_serializer(mode="plain", when_used="json") # type: ignore[attr-defined]
73
- def serialize_model(self) -> Any: # type: ignore[name-defined]
74
- serialized = self.model_dump()
74
+ def serialize_model(self, info: SerializationInfo) -> Any: # type: ignore[name-defined]
75
+ serialized = self.model_dump(context=info.context)
75
76
  data = {k: serialize_datetime(v) if isinstance(v, dt.datetime) else v for k, v in serialized.items()}
76
77
  return data
77
78
 
@@ -6172,6 +6172,22 @@ client.workflow_executions.retrieve_workflow_execution_detail(
6172
6172
  <dl>
6173
6173
  <dd>
6174
6174
 
6175
+ **prev_span_id:** `typing.Optional[str]` — Optional keyset cursor span_id to continue from (exclusive)
6176
+
6177
+ </dd>
6178
+ </dl>
6179
+
6180
+ <dl>
6181
+ <dd>
6182
+
6183
+ **span_limit:** `typing.Optional[int]` — Maximum number of spans to return (for lazy loading)
6184
+
6185
+ </dd>
6186
+ </dl>
6187
+
6188
+ <dl>
6189
+ <dd>
6190
+
6175
6191
  **request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
6176
6192
 
6177
6193
  </dd>
@@ -28,13 +28,24 @@ class WorkflowExecutionsClient:
28
28
  return self._raw_client
29
29
 
30
30
  def retrieve_workflow_execution_detail(
31
- self, execution_id: str, *, request_options: typing.Optional[RequestOptions] = None
31
+ self,
32
+ execution_id: str,
33
+ *,
34
+ prev_span_id: typing.Optional[str] = None,
35
+ span_limit: typing.Optional[int] = None,
36
+ request_options: typing.Optional[RequestOptions] = None,
32
37
  ) -> WorkflowExecutionDetail:
33
38
  """
34
39
  Parameters
35
40
  ----------
36
41
  execution_id : str
37
42
 
43
+ prev_span_id : typing.Optional[str]
44
+ Optional keyset cursor span_id to continue from (exclusive)
45
+
46
+ span_limit : typing.Optional[int]
47
+ Maximum number of spans to return (for lazy loading)
48
+
38
49
  request_options : typing.Optional[RequestOptions]
39
50
  Request-specific configuration.
40
51
 
@@ -55,7 +66,9 @@ class WorkflowExecutionsClient:
55
66
  execution_id="execution_id",
56
67
  )
57
68
  """
58
- _response = self._raw_client.retrieve_workflow_execution_detail(execution_id, request_options=request_options)
69
+ _response = self._raw_client.retrieve_workflow_execution_detail(
70
+ execution_id, prev_span_id=prev_span_id, span_limit=span_limit, request_options=request_options
71
+ )
59
72
  return _response.data
60
73
 
61
74
 
@@ -75,13 +88,24 @@ class AsyncWorkflowExecutionsClient:
75
88
  return self._raw_client
76
89
 
77
90
  async def retrieve_workflow_execution_detail(
78
- self, execution_id: str, *, request_options: typing.Optional[RequestOptions] = None
91
+ self,
92
+ execution_id: str,
93
+ *,
94
+ prev_span_id: typing.Optional[str] = None,
95
+ span_limit: typing.Optional[int] = None,
96
+ request_options: typing.Optional[RequestOptions] = None,
79
97
  ) -> WorkflowExecutionDetail:
80
98
  """
81
99
  Parameters
82
100
  ----------
83
101
  execution_id : str
84
102
 
103
+ prev_span_id : typing.Optional[str]
104
+ Optional keyset cursor span_id to continue from (exclusive)
105
+
106
+ span_limit : typing.Optional[int]
107
+ Maximum number of spans to return (for lazy loading)
108
+
85
109
  request_options : typing.Optional[RequestOptions]
86
110
  Request-specific configuration.
87
111
 
@@ -111,6 +135,6 @@ class AsyncWorkflowExecutionsClient:
111
135
  asyncio.run(main())
112
136
  """
113
137
  _response = await self._raw_client.retrieve_workflow_execution_detail(
114
- execution_id, request_options=request_options
138
+ execution_id, prev_span_id=prev_span_id, span_limit=span_limit, request_options=request_options
115
139
  )
116
140
  return _response.data
@@ -17,13 +17,24 @@ class RawWorkflowExecutionsClient:
17
17
  self._client_wrapper = client_wrapper
18
18
 
19
19
  def retrieve_workflow_execution_detail(
20
- self, execution_id: str, *, request_options: typing.Optional[RequestOptions] = None
20
+ self,
21
+ execution_id: str,
22
+ *,
23
+ prev_span_id: typing.Optional[str] = None,
24
+ span_limit: typing.Optional[int] = None,
25
+ request_options: typing.Optional[RequestOptions] = None,
21
26
  ) -> HttpResponse[WorkflowExecutionDetail]:
22
27
  """
23
28
  Parameters
24
29
  ----------
25
30
  execution_id : str
26
31
 
32
+ prev_span_id : typing.Optional[str]
33
+ Optional keyset cursor span_id to continue from (exclusive)
34
+
35
+ span_limit : typing.Optional[int]
36
+ Maximum number of spans to return (for lazy loading)
37
+
27
38
  request_options : typing.Optional[RequestOptions]
28
39
  Request-specific configuration.
29
40
 
@@ -36,6 +47,10 @@ class RawWorkflowExecutionsClient:
36
47
  f"v1/workflow-executions/{jsonable_encoder(execution_id)}/detail",
37
48
  base_url=self._client_wrapper.get_environment().default,
38
49
  method="GET",
50
+ params={
51
+ "prev_span_id": prev_span_id,
52
+ "span_limit": span_limit,
53
+ },
39
54
  request_options=request_options,
40
55
  )
41
56
  try:
@@ -59,13 +74,24 @@ class AsyncRawWorkflowExecutionsClient:
59
74
  self._client_wrapper = client_wrapper
60
75
 
61
76
  async def retrieve_workflow_execution_detail(
62
- self, execution_id: str, *, request_options: typing.Optional[RequestOptions] = None
77
+ self,
78
+ execution_id: str,
79
+ *,
80
+ prev_span_id: typing.Optional[str] = None,
81
+ span_limit: typing.Optional[int] = None,
82
+ request_options: typing.Optional[RequestOptions] = None,
63
83
  ) -> AsyncHttpResponse[WorkflowExecutionDetail]:
64
84
  """
65
85
  Parameters
66
86
  ----------
67
87
  execution_id : str
68
88
 
89
+ prev_span_id : typing.Optional[str]
90
+ Optional keyset cursor span_id to continue from (exclusive)
91
+
92
+ span_limit : typing.Optional[int]
93
+ Maximum number of spans to return (for lazy loading)
94
+
69
95
  request_options : typing.Optional[RequestOptions]
70
96
  Request-specific configuration.
71
97
 
@@ -78,6 +104,10 @@ class AsyncRawWorkflowExecutionsClient:
78
104
  f"v1/workflow-executions/{jsonable_encoder(execution_id)}/detail",
79
105
  base_url=self._client_wrapper.get_environment().default,
80
106
  method="GET",
107
+ params={
108
+ "prev_span_id": prev_span_id,
109
+ "span_limit": span_limit,
110
+ },
81
111
  request_options=request_options,
82
112
  )
83
113
  try:
@@ -22,6 +22,7 @@ from .array_vellum_value import ArrayVellumValue
22
22
  from .array_vellum_value_request import ArrayVellumValueRequest
23
23
  from .audio_chat_message_content import AudioChatMessageContent
24
24
  from .audio_chat_message_content_request import AudioChatMessageContentRequest
25
+ from .audio_input_request import AudioInputRequest
25
26
  from .audio_prompt_block import AudioPromptBlock
26
27
  from .audio_vellum_value import AudioVellumValue
27
28
  from .audio_vellum_value_request import AudioVellumValueRequest
@@ -80,6 +81,10 @@ from .container_image_build_config import ContainerImageBuildConfig
80
81
  from .container_image_container_image_tag import ContainerImageContainerImageTag
81
82
  from .container_image_read import ContainerImageRead
82
83
  from .create_test_suite_test_case_request import CreateTestSuiteTestCaseRequest
84
+ from .delimiter_chunker_config import DelimiterChunkerConfig
85
+ from .delimiter_chunker_config_request import DelimiterChunkerConfigRequest
86
+ from .delimiter_chunking import DelimiterChunking
87
+ from .delimiter_chunking_request import DelimiterChunkingRequest
83
88
  from .deployment_history_item import DeploymentHistoryItem
84
89
  from .deployment_provider_payload_response import DeploymentProviderPayloadResponse
85
90
  from .deployment_provider_payload_response_payload import DeploymentProviderPayloadResponsePayload
@@ -95,6 +100,7 @@ from .document_index_chunking_request import DocumentIndexChunkingRequest
95
100
  from .document_index_indexing_config import DocumentIndexIndexingConfig
96
101
  from .document_index_indexing_config_request import DocumentIndexIndexingConfigRequest
97
102
  from .document_index_read import DocumentIndexRead
103
+ from .document_input_request import DocumentInputRequest
98
104
  from .document_processing_state import DocumentProcessingState
99
105
  from .document_prompt_block import DocumentPromptBlock
100
106
  from .document_read import DocumentRead
@@ -122,15 +128,19 @@ from .execute_prompt_response import ExecutePromptResponse
122
128
  from .execute_workflow_response import ExecuteWorkflowResponse
123
129
  from .execute_workflow_workflow_result_event import ExecuteWorkflowWorkflowResultEvent
124
130
  from .execution_array_vellum_value import ExecutionArrayVellumValue
131
+ from .execution_audio_vellum_value import ExecutionAudioVellumValue
125
132
  from .execution_chat_history_vellum_value import ExecutionChatHistoryVellumValue
133
+ from .execution_document_vellum_value import ExecutionDocumentVellumValue
126
134
  from .execution_error_vellum_value import ExecutionErrorVellumValue
127
135
  from .execution_function_call_vellum_value import ExecutionFunctionCallVellumValue
136
+ from .execution_image_vellum_value import ExecutionImageVellumValue
128
137
  from .execution_json_vellum_value import ExecutionJsonVellumValue
129
138
  from .execution_number_vellum_value import ExecutionNumberVellumValue
130
139
  from .execution_search_results_vellum_value import ExecutionSearchResultsVellumValue
131
140
  from .execution_string_vellum_value import ExecutionStringVellumValue
132
141
  from .execution_thinking_vellum_value import ExecutionThinkingVellumValue
133
142
  from .execution_vellum_value import ExecutionVellumValue
143
+ from .execution_video_vellum_value import ExecutionVideoVellumValue
134
144
  from .external_input_descriptor import ExternalInputDescriptor
135
145
  from .external_parent_context import ExternalParentContext
136
146
  from .external_test_case_execution import ExternalTestCaseExecution
@@ -193,6 +203,7 @@ from .hkunlp_instructor_xl_vectorizer import HkunlpInstructorXlVectorizer
193
203
  from .hkunlp_instructor_xl_vectorizer_request import HkunlpInstructorXlVectorizerRequest
194
204
  from .image_chat_message_content import ImageChatMessageContent
195
205
  from .image_chat_message_content_request import ImageChatMessageContentRequest
206
+ from .image_input_request import ImageInputRequest
196
207
  from .image_prompt_block import ImagePromptBlock
197
208
  from .image_vellum_value import ImageVellumValue
198
209
  from .image_vellum_value_request import ImageVellumValueRequest
@@ -268,14 +279,18 @@ from .node_execution_span_attributes import NodeExecutionSpanAttributes
268
279
  from .node_execution_streaming_body import NodeExecutionStreamingBody
269
280
  from .node_execution_streaming_event import NodeExecutionStreamingEvent
270
281
  from .node_input_compiled_array_value import NodeInputCompiledArrayValue
282
+ from .node_input_compiled_audio_value import NodeInputCompiledAudioValue
271
283
  from .node_input_compiled_chat_history_value import NodeInputCompiledChatHistoryValue
284
+ from .node_input_compiled_document_value import NodeInputCompiledDocumentValue
272
285
  from .node_input_compiled_error_value import NodeInputCompiledErrorValue
273
286
  from .node_input_compiled_function_call_value import NodeInputCompiledFunctionCallValue
287
+ from .node_input_compiled_image_value import NodeInputCompiledImageValue
274
288
  from .node_input_compiled_json_value import NodeInputCompiledJsonValue
275
289
  from .node_input_compiled_number_value import NodeInputCompiledNumberValue
276
290
  from .node_input_compiled_search_results_value import NodeInputCompiledSearchResultsValue
277
291
  from .node_input_compiled_secret_value import NodeInputCompiledSecretValue
278
292
  from .node_input_compiled_string_value import NodeInputCompiledStringValue
293
+ from .node_input_compiled_video_value import NodeInputCompiledVideoValue
279
294
  from .node_input_variable_compiled_value import NodeInputVariableCompiledValue
280
295
  from .node_output_compiled_array_value import NodeOutputCompiledArrayValue
281
296
  from .node_output_compiled_chat_history_value import NodeOutputCompiledChatHistoryValue
@@ -335,10 +350,14 @@ from .prompt_node_result_data import PromptNodeResultData
335
350
  from .prompt_output import PromptOutput
336
351
  from .prompt_parameters import PromptParameters
337
352
  from .prompt_push_response import PromptPushResponse
353
+ from .prompt_request_audio_input import PromptRequestAudioInput
338
354
  from .prompt_request_chat_history_input import PromptRequestChatHistoryInput
355
+ from .prompt_request_document_input import PromptRequestDocumentInput
356
+ from .prompt_request_image_input import PromptRequestImageInput
339
357
  from .prompt_request_input import PromptRequestInput
340
358
  from .prompt_request_json_input import PromptRequestJsonInput
341
359
  from .prompt_request_string_input import PromptRequestStringInput
360
+ from .prompt_request_video_input import PromptRequestVideoInput
342
361
  from .prompt_settings import PromptSettings
343
362
  from .prompt_version_build_config_sandbox import PromptVersionBuildConfigSandbox
344
363
  from .raw_prompt_execution_overrides_request import RawPromptExecutionOverridesRequest
@@ -558,6 +577,7 @@ from .vellum_video_request import VellumVideoRequest
558
577
  from .vellum_workflow_execution_event import VellumWorkflowExecutionEvent
559
578
  from .video_chat_message_content import VideoChatMessageContent
560
579
  from .video_chat_message_content_request import VideoChatMessageContentRequest
580
+ from .video_input_request import VideoInputRequest
561
581
  from .video_prompt_block import VideoPromptBlock
562
582
  from .video_vellum_value import VideoVellumValue
563
583
  from .video_vellum_value_request import VideoVellumValueRequest
@@ -665,6 +685,7 @@ __all__ = [
665
685
  "ArrayVellumValueRequest",
666
686
  "AudioChatMessageContent",
667
687
  "AudioChatMessageContentRequest",
688
+ "AudioInputRequest",
668
689
  "AudioPromptBlock",
669
690
  "AudioVellumValue",
670
691
  "AudioVellumValueRequest",
@@ -715,6 +736,10 @@ __all__ = [
715
736
  "ContainerImageContainerImageTag",
716
737
  "ContainerImageRead",
717
738
  "CreateTestSuiteTestCaseRequest",
739
+ "DelimiterChunkerConfig",
740
+ "DelimiterChunkerConfigRequest",
741
+ "DelimiterChunking",
742
+ "DelimiterChunkingRequest",
718
743
  "DeploymentHistoryItem",
719
744
  "DeploymentProviderPayloadResponse",
720
745
  "DeploymentProviderPayloadResponsePayload",
@@ -730,6 +755,7 @@ __all__ = [
730
755
  "DocumentIndexIndexingConfig",
731
756
  "DocumentIndexIndexingConfigRequest",
732
757
  "DocumentIndexRead",
758
+ "DocumentInputRequest",
733
759
  "DocumentProcessingState",
734
760
  "DocumentPromptBlock",
735
761
  "DocumentRead",
@@ -757,15 +783,19 @@ __all__ = [
757
783
  "ExecuteWorkflowResponse",
758
784
  "ExecuteWorkflowWorkflowResultEvent",
759
785
  "ExecutionArrayVellumValue",
786
+ "ExecutionAudioVellumValue",
760
787
  "ExecutionChatHistoryVellumValue",
788
+ "ExecutionDocumentVellumValue",
761
789
  "ExecutionErrorVellumValue",
762
790
  "ExecutionFunctionCallVellumValue",
791
+ "ExecutionImageVellumValue",
763
792
  "ExecutionJsonVellumValue",
764
793
  "ExecutionNumberVellumValue",
765
794
  "ExecutionSearchResultsVellumValue",
766
795
  "ExecutionStringVellumValue",
767
796
  "ExecutionThinkingVellumValue",
768
797
  "ExecutionVellumValue",
798
+ "ExecutionVideoVellumValue",
769
799
  "ExternalInputDescriptor",
770
800
  "ExternalParentContext",
771
801
  "ExternalTestCaseExecution",
@@ -824,6 +854,7 @@ __all__ = [
824
854
  "HkunlpInstructorXlVectorizerRequest",
825
855
  "ImageChatMessageContent",
826
856
  "ImageChatMessageContentRequest",
857
+ "ImageInputRequest",
827
858
  "ImagePromptBlock",
828
859
  "ImageVellumValue",
829
860
  "ImageVellumValueRequest",
@@ -899,14 +930,18 @@ __all__ = [
899
930
  "NodeExecutionStreamingBody",
900
931
  "NodeExecutionStreamingEvent",
901
932
  "NodeInputCompiledArrayValue",
933
+ "NodeInputCompiledAudioValue",
902
934
  "NodeInputCompiledChatHistoryValue",
935
+ "NodeInputCompiledDocumentValue",
903
936
  "NodeInputCompiledErrorValue",
904
937
  "NodeInputCompiledFunctionCallValue",
938
+ "NodeInputCompiledImageValue",
905
939
  "NodeInputCompiledJsonValue",
906
940
  "NodeInputCompiledNumberValue",
907
941
  "NodeInputCompiledSearchResultsValue",
908
942
  "NodeInputCompiledSecretValue",
909
943
  "NodeInputCompiledStringValue",
944
+ "NodeInputCompiledVideoValue",
910
945
  "NodeInputVariableCompiledValue",
911
946
  "NodeOutputCompiledArrayValue",
912
947
  "NodeOutputCompiledChatHistoryValue",
@@ -966,10 +1001,14 @@ __all__ = [
966
1001
  "PromptOutput",
967
1002
  "PromptParameters",
968
1003
  "PromptPushResponse",
1004
+ "PromptRequestAudioInput",
969
1005
  "PromptRequestChatHistoryInput",
1006
+ "PromptRequestDocumentInput",
1007
+ "PromptRequestImageInput",
970
1008
  "PromptRequestInput",
971
1009
  "PromptRequestJsonInput",
972
1010
  "PromptRequestStringInput",
1011
+ "PromptRequestVideoInput",
973
1012
  "PromptSettings",
974
1013
  "PromptVersionBuildConfigSandbox",
975
1014
  "RawPromptExecutionOverridesRequest",
@@ -1173,6 +1212,7 @@ __all__ = [
1173
1212
  "VellumWorkflowExecutionEvent",
1174
1213
  "VideoChatMessageContent",
1175
1214
  "VideoChatMessageContentRequest",
1215
+ "VideoInputRequest",
1176
1216
  "VideoPromptBlock",
1177
1217
  "VideoVellumValue",
1178
1218
  "VideoVellumValueRequest",
@@ -0,0 +1,30 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+ from .vellum_audio_request import VellumAudioRequest
8
+
9
+
10
+ class AudioInputRequest(UniversalBaseModel):
11
+ """
12
+ A user input representing a Vellum Audio value
13
+ """
14
+
15
+ name: str = pydantic.Field()
16
+ """
17
+ The variable's name
18
+ """
19
+
20
+ type: typing.Literal["AUDIO"] = "AUDIO"
21
+ value: VellumAudioRequest
22
+
23
+ if IS_PYDANTIC_V2:
24
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
25
+ else:
26
+
27
+ class Config:
28
+ frozen = True
29
+ smart_union = True
30
+ extra = pydantic.Extra.allow
@@ -0,0 +1,20 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+
8
+
9
+ class DelimiterChunkerConfig(UniversalBaseModel):
10
+ delimiter: typing.Optional[str] = None
11
+ is_regex: typing.Optional[bool] = None
12
+
13
+ if IS_PYDANTIC_V2:
14
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
15
+ else:
16
+
17
+ class Config:
18
+ frozen = True
19
+ smart_union = True
20
+ extra = pydantic.Extra.allow
@@ -0,0 +1,20 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+
8
+
9
+ class DelimiterChunkerConfigRequest(UniversalBaseModel):
10
+ delimiter: typing.Optional[str] = None
11
+ is_regex: typing.Optional[bool] = None
12
+
13
+ if IS_PYDANTIC_V2:
14
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
15
+ else:
16
+
17
+ class Config:
18
+ frozen = True
19
+ smart_union = True
20
+ extra = pydantic.Extra.allow
@@ -0,0 +1,21 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+ from .delimiter_chunker_config import DelimiterChunkerConfig
8
+
9
+
10
+ class DelimiterChunking(UniversalBaseModel):
11
+ chunker_name: typing.Literal["delimiter-chunker"] = "delimiter-chunker"
12
+ chunker_config: typing.Optional[DelimiterChunkerConfig] = None
13
+
14
+ if IS_PYDANTIC_V2:
15
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
16
+ else:
17
+
18
+ class Config:
19
+ frozen = True
20
+ smart_union = True
21
+ extra = pydantic.Extra.allow