vellum-ai 0.14.22__py3-none-any.whl → 0.14.24__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 (157) hide show
  1. vellum/__init__.py +122 -0
  2. vellum/client/core/client_wrapper.py +1 -1
  3. vellum/client/resources/workflow_deployments/client.py +250 -0
  4. vellum/client/types/__init__.py +122 -0
  5. vellum/client/types/api_request_parent_context.py +41 -0
  6. vellum/client/types/api_version_enum.py +5 -0
  7. vellum/client/types/base_output.py +21 -0
  8. vellum/client/types/code_resource_definition.py +31 -0
  9. vellum/client/types/external_input_descriptor.py +23 -0
  10. vellum/client/types/invoked_port.py +19 -0
  11. vellum/client/types/ml_model_usage_wrapper.py +21 -0
  12. vellum/client/types/node_event_display_context.py +30 -0
  13. vellum/client/types/node_execution_fulfilled_body.py +24 -0
  14. vellum/client/types/node_execution_fulfilled_event.py +49 -0
  15. vellum/client/types/node_execution_initiated_body.py +21 -0
  16. vellum/client/types/node_execution_initiated_event.py +49 -0
  17. vellum/client/types/node_execution_paused_body.py +20 -0
  18. vellum/client/types/node_execution_paused_event.py +49 -0
  19. vellum/client/types/node_execution_rejected_body.py +22 -0
  20. vellum/client/types/node_execution_rejected_event.py +49 -0
  21. vellum/client/types/node_execution_resumed_body.py +20 -0
  22. vellum/client/types/node_execution_resumed_event.py +49 -0
  23. vellum/client/types/node_execution_span.py +46 -0
  24. vellum/client/types/node_execution_span_attributes.py +19 -0
  25. vellum/client/types/node_execution_streaming_body.py +22 -0
  26. vellum/client/types/node_execution_streaming_event.py +49 -0
  27. vellum/client/types/node_parent_context.py +43 -0
  28. vellum/client/types/parent_context.py +21 -0
  29. vellum/client/types/prompt_deployment_parent_context.py +49 -0
  30. vellum/client/types/slim_workflow_execution_read.py +54 -0
  31. vellum/client/types/span_link.py +41 -0
  32. vellum/client/types/span_link_type_enum.py +5 -0
  33. vellum/client/types/vellum_code_resource_definition.py +25 -0
  34. vellum/client/types/vellum_node_execution_event.py +18 -0
  35. vellum/client/types/vellum_sdk_error.py +21 -0
  36. vellum/client/types/vellum_sdk_error_code_enum.py +20 -0
  37. vellum/client/types/vellum_span.py +7 -0
  38. vellum/client/types/vellum_workflow_execution_event.py +20 -0
  39. vellum/client/types/workflow_deployment_event_executions_response.py +55 -0
  40. vellum/client/types/workflow_deployment_parent_context.py +49 -0
  41. vellum/client/types/workflow_error.py +7 -0
  42. vellum/client/types/workflow_event_display_context.py +28 -0
  43. vellum/client/types/workflow_event_execution_read.py +60 -0
  44. vellum/client/types/workflow_execution_actual.py +30 -0
  45. vellum/client/types/workflow_execution_fulfilled_body.py +21 -0
  46. vellum/client/types/workflow_execution_fulfilled_event.py +49 -0
  47. vellum/client/types/workflow_execution_initiated_body.py +30 -0
  48. vellum/client/types/workflow_execution_initiated_event.py +53 -0
  49. vellum/client/types/workflow_execution_paused_body.py +22 -0
  50. vellum/client/types/workflow_execution_paused_event.py +49 -0
  51. vellum/client/types/workflow_execution_rejected_body.py +22 -0
  52. vellum/client/types/workflow_execution_rejected_event.py +49 -0
  53. vellum/client/types/workflow_execution_resumed_body.py +20 -0
  54. vellum/client/types/workflow_execution_resumed_event.py +49 -0
  55. vellum/client/types/workflow_execution_snapshotted_body.py +21 -0
  56. vellum/client/types/workflow_execution_snapshotted_event.py +51 -0
  57. vellum/client/types/workflow_execution_span.py +50 -0
  58. vellum/client/types/workflow_execution_span_attributes.py +19 -0
  59. vellum/client/types/workflow_execution_streaming_body.py +22 -0
  60. vellum/client/types/workflow_execution_streaming_event.py +49 -0
  61. vellum/client/types/workflow_execution_usage_calculation_fulfilled_body.py +22 -0
  62. vellum/client/types/workflow_execution_view_online_eval_metric_result.py +30 -0
  63. vellum/client/types/workflow_initialization_error.py +24 -0
  64. vellum/client/types/workflow_parent_context.py +43 -0
  65. vellum/client/types/workflow_sandbox_parent_context.py +44 -0
  66. vellum/plugins/pydantic.py +2 -0
  67. vellum/types/api_request_parent_context.py +3 -0
  68. vellum/types/api_version_enum.py +3 -0
  69. vellum/types/base_output.py +3 -0
  70. vellum/types/code_resource_definition.py +3 -0
  71. vellum/types/external_input_descriptor.py +3 -0
  72. vellum/types/invoked_port.py +3 -0
  73. vellum/types/ml_model_usage_wrapper.py +3 -0
  74. vellum/types/node_event_display_context.py +3 -0
  75. vellum/types/node_execution_fulfilled_body.py +3 -0
  76. vellum/types/node_execution_fulfilled_event.py +3 -0
  77. vellum/types/node_execution_initiated_body.py +3 -0
  78. vellum/types/node_execution_initiated_event.py +3 -0
  79. vellum/types/node_execution_paused_body.py +3 -0
  80. vellum/types/node_execution_paused_event.py +3 -0
  81. vellum/types/node_execution_rejected_body.py +3 -0
  82. vellum/types/node_execution_rejected_event.py +3 -0
  83. vellum/types/node_execution_resumed_body.py +3 -0
  84. vellum/types/node_execution_resumed_event.py +3 -0
  85. vellum/types/node_execution_span.py +3 -0
  86. vellum/types/node_execution_span_attributes.py +3 -0
  87. vellum/types/node_execution_streaming_body.py +3 -0
  88. vellum/types/node_execution_streaming_event.py +3 -0
  89. vellum/types/node_parent_context.py +3 -0
  90. vellum/types/parent_context.py +3 -0
  91. vellum/types/prompt_deployment_parent_context.py +3 -0
  92. vellum/types/slim_workflow_execution_read.py +3 -0
  93. vellum/types/span_link.py +3 -0
  94. vellum/types/span_link_type_enum.py +3 -0
  95. vellum/types/vellum_code_resource_definition.py +3 -0
  96. vellum/types/vellum_node_execution_event.py +3 -0
  97. vellum/types/vellum_sdk_error.py +3 -0
  98. vellum/types/vellum_sdk_error_code_enum.py +3 -0
  99. vellum/types/vellum_span.py +3 -0
  100. vellum/types/vellum_workflow_execution_event.py +3 -0
  101. vellum/types/workflow_deployment_event_executions_response.py +3 -0
  102. vellum/types/workflow_deployment_parent_context.py +3 -0
  103. vellum/types/workflow_error.py +3 -0
  104. vellum/types/workflow_event_display_context.py +3 -0
  105. vellum/types/workflow_event_execution_read.py +3 -0
  106. vellum/types/workflow_execution_actual.py +3 -0
  107. vellum/types/workflow_execution_fulfilled_body.py +3 -0
  108. vellum/types/workflow_execution_fulfilled_event.py +3 -0
  109. vellum/types/workflow_execution_initiated_body.py +3 -0
  110. vellum/types/workflow_execution_initiated_event.py +3 -0
  111. vellum/types/workflow_execution_paused_body.py +3 -0
  112. vellum/types/workflow_execution_paused_event.py +3 -0
  113. vellum/types/workflow_execution_rejected_body.py +3 -0
  114. vellum/types/workflow_execution_rejected_event.py +3 -0
  115. vellum/types/workflow_execution_resumed_body.py +3 -0
  116. vellum/types/workflow_execution_resumed_event.py +3 -0
  117. vellum/types/workflow_execution_snapshotted_body.py +3 -0
  118. vellum/types/workflow_execution_snapshotted_event.py +3 -0
  119. vellum/types/workflow_execution_span.py +3 -0
  120. vellum/types/workflow_execution_span_attributes.py +3 -0
  121. vellum/types/workflow_execution_streaming_body.py +3 -0
  122. vellum/types/workflow_execution_streaming_event.py +3 -0
  123. vellum/types/workflow_execution_usage_calculation_fulfilled_body.py +3 -0
  124. vellum/types/workflow_execution_view_online_eval_metric_result.py +3 -0
  125. vellum/types/workflow_initialization_error.py +3 -0
  126. vellum/types/workflow_parent_context.py +3 -0
  127. vellum/types/workflow_sandbox_parent_context.py +3 -0
  128. vellum/workflows/nodes/core/inline_subworkflow_node/node.py +6 -0
  129. vellum/workflows/nodes/core/inline_subworkflow_node/tests/test_node.py +27 -0
  130. vellum/workflows/nodes/core/retry_node/tests/test_node.py +0 -23
  131. vellum/workflows/workflows/base.py +2 -2
  132. vellum/workflows/workflows/tests/test_base_workflow.py +10 -0
  133. {vellum_ai-0.14.22.dist-info → vellum_ai-0.14.24.dist-info}/METADATA +1 -1
  134. {vellum_ai-0.14.22.dist-info → vellum_ai-0.14.24.dist-info}/RECORD +157 -33
  135. vellum_ee/workflows/display/base.py +26 -4
  136. vellum_ee/workflows/display/editor/__init__.py +7 -0
  137. vellum_ee/workflows/display/editor/types.py +22 -0
  138. vellum_ee/workflows/display/nodes/base_node_display.py +2 -1
  139. vellum_ee/workflows/display/nodes/base_node_vellum_display.py +1 -1
  140. vellum_ee/workflows/display/nodes/vellum/api_node.py +1 -1
  141. vellum_ee/workflows/display/nodes/vellum/final_output_node.py +8 -0
  142. vellum_ee/workflows/display/nodes/vellum/search_node.py +2 -1
  143. vellum_ee/workflows/display/nodes/vellum/tests/test_utils.py +5 -11
  144. vellum_ee/workflows/display/nodes/vellum/utils.py +3 -4
  145. vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/conftest.py +2 -1
  146. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_terminal_node_serialization.py +8 -0
  147. vellum_ee/workflows/display/tests/workflow_serialization/test_complex_terminal_node_serialization.py +12 -8
  148. vellum_ee/workflows/display/types.py +16 -13
  149. vellum_ee/workflows/display/utils/expressions.py +6 -2
  150. vellum_ee/workflows/display/utils/vellum.py +59 -13
  151. vellum_ee/workflows/display/vellum.py +18 -95
  152. vellum_ee/workflows/display/workflows/base_workflow_display.py +54 -46
  153. vellum_ee/workflows/display/workflows/tests/test_workflow_display.py +15 -1
  154. vellum_ee/workflows/display/workflows/vellum_workflow_display.py +2 -4
  155. {vellum_ai-0.14.22.dist-info → vellum_ai-0.14.24.dist-info}/LICENSE +0 -0
  156. {vellum_ai-0.14.22.dist-info → vellum_ai-0.14.24.dist-info}/WHEEL +0 -0
  157. {vellum_ai-0.14.22.dist-info → vellum_ai-0.14.24.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,49 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from __future__ import annotations
4
+ from ..core.pydantic_utilities import UniversalBaseModel
5
+ from .api_request_parent_context import ApiRequestParentContext
6
+ from .node_parent_context import NodeParentContext
7
+ from .prompt_deployment_parent_context import PromptDeploymentParentContext
8
+ from .span_link import SpanLink
9
+ from .workflow_deployment_parent_context import WorkflowDeploymentParentContext
10
+ from .workflow_parent_context import WorkflowParentContext
11
+ from .workflow_sandbox_parent_context import WorkflowSandboxParentContext
12
+ import typing
13
+ from .parent_context import ParentContext
14
+ from .node_execution_initiated_body import NodeExecutionInitiatedBody
15
+ import datetime as dt
16
+ from .api_version_enum import ApiVersionEnum
17
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
18
+ import pydantic
19
+ from ..core.pydantic_utilities import update_forward_refs
20
+
21
+
22
+ class NodeExecutionInitiatedEvent(UniversalBaseModel):
23
+ parent: typing.Optional[ParentContext] = None
24
+ links: typing.Optional[typing.List[SpanLink]] = None
25
+ name: typing.Literal["node.execution.initiated"] = "node.execution.initiated"
26
+ body: NodeExecutionInitiatedBody
27
+ id: str
28
+ timestamp: dt.datetime
29
+ api_version: typing.Optional[ApiVersionEnum] = None
30
+ trace_id: str
31
+ span_id: str
32
+
33
+ if IS_PYDANTIC_V2:
34
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
35
+ else:
36
+
37
+ class Config:
38
+ frozen = True
39
+ smart_union = True
40
+ extra = pydantic.Extra.allow
41
+
42
+
43
+ update_forward_refs(ApiRequestParentContext, NodeExecutionInitiatedEvent=NodeExecutionInitiatedEvent)
44
+ update_forward_refs(NodeParentContext, NodeExecutionInitiatedEvent=NodeExecutionInitiatedEvent)
45
+ update_forward_refs(PromptDeploymentParentContext, NodeExecutionInitiatedEvent=NodeExecutionInitiatedEvent)
46
+ update_forward_refs(SpanLink, NodeExecutionInitiatedEvent=NodeExecutionInitiatedEvent)
47
+ update_forward_refs(WorkflowDeploymentParentContext, NodeExecutionInitiatedEvent=NodeExecutionInitiatedEvent)
48
+ update_forward_refs(WorkflowParentContext, NodeExecutionInitiatedEvent=NodeExecutionInitiatedEvent)
49
+ update_forward_refs(WorkflowSandboxParentContext, NodeExecutionInitiatedEvent=NodeExecutionInitiatedEvent)
@@ -0,0 +1,20 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ from .vellum_code_resource_definition import VellumCodeResourceDefinition
5
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
6
+ import typing
7
+ import pydantic
8
+
9
+
10
+ class NodeExecutionPausedBody(UniversalBaseModel):
11
+ node_definition: VellumCodeResourceDefinition
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,49 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from __future__ import annotations
4
+ from ..core.pydantic_utilities import UniversalBaseModel
5
+ from .api_request_parent_context import ApiRequestParentContext
6
+ from .node_parent_context import NodeParentContext
7
+ from .prompt_deployment_parent_context import PromptDeploymentParentContext
8
+ from .span_link import SpanLink
9
+ from .workflow_deployment_parent_context import WorkflowDeploymentParentContext
10
+ from .workflow_parent_context import WorkflowParentContext
11
+ from .workflow_sandbox_parent_context import WorkflowSandboxParentContext
12
+ import typing
13
+ from .parent_context import ParentContext
14
+ from .node_execution_paused_body import NodeExecutionPausedBody
15
+ import datetime as dt
16
+ from .api_version_enum import ApiVersionEnum
17
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
18
+ import pydantic
19
+ from ..core.pydantic_utilities import update_forward_refs
20
+
21
+
22
+ class NodeExecutionPausedEvent(UniversalBaseModel):
23
+ parent: typing.Optional[ParentContext] = None
24
+ links: typing.Optional[typing.List[SpanLink]] = None
25
+ name: typing.Literal["node.execution.paused"] = "node.execution.paused"
26
+ body: NodeExecutionPausedBody
27
+ id: str
28
+ timestamp: dt.datetime
29
+ api_version: typing.Optional[ApiVersionEnum] = None
30
+ trace_id: str
31
+ span_id: str
32
+
33
+ if IS_PYDANTIC_V2:
34
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
35
+ else:
36
+
37
+ class Config:
38
+ frozen = True
39
+ smart_union = True
40
+ extra = pydantic.Extra.allow
41
+
42
+
43
+ update_forward_refs(ApiRequestParentContext, NodeExecutionPausedEvent=NodeExecutionPausedEvent)
44
+ update_forward_refs(NodeParentContext, NodeExecutionPausedEvent=NodeExecutionPausedEvent)
45
+ update_forward_refs(PromptDeploymentParentContext, NodeExecutionPausedEvent=NodeExecutionPausedEvent)
46
+ update_forward_refs(SpanLink, NodeExecutionPausedEvent=NodeExecutionPausedEvent)
47
+ update_forward_refs(WorkflowDeploymentParentContext, NodeExecutionPausedEvent=NodeExecutionPausedEvent)
48
+ update_forward_refs(WorkflowParentContext, NodeExecutionPausedEvent=NodeExecutionPausedEvent)
49
+ update_forward_refs(WorkflowSandboxParentContext, NodeExecutionPausedEvent=NodeExecutionPausedEvent)
@@ -0,0 +1,22 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ from .vellum_code_resource_definition import VellumCodeResourceDefinition
5
+ from .vellum_sdk_error import VellumSdkError
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+ import typing
8
+ import pydantic
9
+
10
+
11
+ class NodeExecutionRejectedBody(UniversalBaseModel):
12
+ node_definition: VellumCodeResourceDefinition
13
+ error: VellumSdkError
14
+
15
+ if IS_PYDANTIC_V2:
16
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
17
+ else:
18
+
19
+ class Config:
20
+ frozen = True
21
+ smart_union = True
22
+ extra = pydantic.Extra.allow
@@ -0,0 +1,49 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from __future__ import annotations
4
+ from ..core.pydantic_utilities import UniversalBaseModel
5
+ from .api_request_parent_context import ApiRequestParentContext
6
+ from .node_parent_context import NodeParentContext
7
+ from .prompt_deployment_parent_context import PromptDeploymentParentContext
8
+ from .span_link import SpanLink
9
+ from .workflow_deployment_parent_context import WorkflowDeploymentParentContext
10
+ from .workflow_parent_context import WorkflowParentContext
11
+ from .workflow_sandbox_parent_context import WorkflowSandboxParentContext
12
+ import typing
13
+ from .parent_context import ParentContext
14
+ from .node_execution_rejected_body import NodeExecutionRejectedBody
15
+ import datetime as dt
16
+ from .api_version_enum import ApiVersionEnum
17
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
18
+ import pydantic
19
+ from ..core.pydantic_utilities import update_forward_refs
20
+
21
+
22
+ class NodeExecutionRejectedEvent(UniversalBaseModel):
23
+ parent: typing.Optional[ParentContext] = None
24
+ links: typing.Optional[typing.List[SpanLink]] = None
25
+ name: typing.Literal["node.execution.rejected"] = "node.execution.rejected"
26
+ body: NodeExecutionRejectedBody
27
+ id: str
28
+ timestamp: dt.datetime
29
+ api_version: typing.Optional[ApiVersionEnum] = None
30
+ trace_id: str
31
+ span_id: str
32
+
33
+ if IS_PYDANTIC_V2:
34
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
35
+ else:
36
+
37
+ class Config:
38
+ frozen = True
39
+ smart_union = True
40
+ extra = pydantic.Extra.allow
41
+
42
+
43
+ update_forward_refs(ApiRequestParentContext, NodeExecutionRejectedEvent=NodeExecutionRejectedEvent)
44
+ update_forward_refs(NodeParentContext, NodeExecutionRejectedEvent=NodeExecutionRejectedEvent)
45
+ update_forward_refs(PromptDeploymentParentContext, NodeExecutionRejectedEvent=NodeExecutionRejectedEvent)
46
+ update_forward_refs(SpanLink, NodeExecutionRejectedEvent=NodeExecutionRejectedEvent)
47
+ update_forward_refs(WorkflowDeploymentParentContext, NodeExecutionRejectedEvent=NodeExecutionRejectedEvent)
48
+ update_forward_refs(WorkflowParentContext, NodeExecutionRejectedEvent=NodeExecutionRejectedEvent)
49
+ update_forward_refs(WorkflowSandboxParentContext, NodeExecutionRejectedEvent=NodeExecutionRejectedEvent)
@@ -0,0 +1,20 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ from .vellum_code_resource_definition import VellumCodeResourceDefinition
5
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
6
+ import typing
7
+ import pydantic
8
+
9
+
10
+ class NodeExecutionResumedBody(UniversalBaseModel):
11
+ node_definition: VellumCodeResourceDefinition
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,49 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from __future__ import annotations
4
+ from ..core.pydantic_utilities import UniversalBaseModel
5
+ from .api_request_parent_context import ApiRequestParentContext
6
+ from .node_parent_context import NodeParentContext
7
+ from .prompt_deployment_parent_context import PromptDeploymentParentContext
8
+ from .span_link import SpanLink
9
+ from .workflow_deployment_parent_context import WorkflowDeploymentParentContext
10
+ from .workflow_parent_context import WorkflowParentContext
11
+ from .workflow_sandbox_parent_context import WorkflowSandboxParentContext
12
+ import typing
13
+ from .parent_context import ParentContext
14
+ from .node_execution_resumed_body import NodeExecutionResumedBody
15
+ import datetime as dt
16
+ from .api_version_enum import ApiVersionEnum
17
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
18
+ import pydantic
19
+ from ..core.pydantic_utilities import update_forward_refs
20
+
21
+
22
+ class NodeExecutionResumedEvent(UniversalBaseModel):
23
+ parent: typing.Optional[ParentContext] = None
24
+ links: typing.Optional[typing.List[SpanLink]] = None
25
+ name: typing.Literal["node.execution.resumed"] = "node.execution.resumed"
26
+ body: NodeExecutionResumedBody
27
+ id: str
28
+ timestamp: dt.datetime
29
+ api_version: typing.Optional[ApiVersionEnum] = None
30
+ trace_id: str
31
+ span_id: str
32
+
33
+ if IS_PYDANTIC_V2:
34
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
35
+ else:
36
+
37
+ class Config:
38
+ frozen = True
39
+ smart_union = True
40
+ extra = pydantic.Extra.allow
41
+
42
+
43
+ update_forward_refs(ApiRequestParentContext, NodeExecutionResumedEvent=NodeExecutionResumedEvent)
44
+ update_forward_refs(NodeParentContext, NodeExecutionResumedEvent=NodeExecutionResumedEvent)
45
+ update_forward_refs(PromptDeploymentParentContext, NodeExecutionResumedEvent=NodeExecutionResumedEvent)
46
+ update_forward_refs(SpanLink, NodeExecutionResumedEvent=NodeExecutionResumedEvent)
47
+ update_forward_refs(WorkflowDeploymentParentContext, NodeExecutionResumedEvent=NodeExecutionResumedEvent)
48
+ update_forward_refs(WorkflowParentContext, NodeExecutionResumedEvent=NodeExecutionResumedEvent)
49
+ update_forward_refs(WorkflowSandboxParentContext, NodeExecutionResumedEvent=NodeExecutionResumedEvent)
@@ -0,0 +1,46 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from __future__ import annotations
4
+ from ..core.pydantic_utilities import UniversalBaseModel
5
+ from .api_request_parent_context import ApiRequestParentContext
6
+ from .node_parent_context import NodeParentContext
7
+ from .prompt_deployment_parent_context import PromptDeploymentParentContext
8
+ from .span_link import SpanLink
9
+ from .workflow_deployment_parent_context import WorkflowDeploymentParentContext
10
+ from .workflow_parent_context import WorkflowParentContext
11
+ from .workflow_sandbox_parent_context import WorkflowSandboxParentContext
12
+ import typing
13
+ from .vellum_node_execution_event import VellumNodeExecutionEvent
14
+ from .node_execution_span_attributes import NodeExecutionSpanAttributes
15
+ import datetime as dt
16
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
17
+ import pydantic
18
+ from ..core.pydantic_utilities import update_forward_refs
19
+
20
+
21
+ class NodeExecutionSpan(UniversalBaseModel):
22
+ name: typing.Literal["node.execution"] = "node.execution"
23
+ events: typing.List[VellumNodeExecutionEvent]
24
+ attributes: NodeExecutionSpanAttributes
25
+ span_id: str
26
+ start_ts: dt.datetime
27
+ end_ts: dt.datetime
28
+ parent_span_id: typing.Optional[str] = None
29
+
30
+ if IS_PYDANTIC_V2:
31
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
32
+ else:
33
+
34
+ class Config:
35
+ frozen = True
36
+ smart_union = True
37
+ extra = pydantic.Extra.allow
38
+
39
+
40
+ update_forward_refs(ApiRequestParentContext, NodeExecutionSpan=NodeExecutionSpan)
41
+ update_forward_refs(NodeParentContext, NodeExecutionSpan=NodeExecutionSpan)
42
+ update_forward_refs(PromptDeploymentParentContext, NodeExecutionSpan=NodeExecutionSpan)
43
+ update_forward_refs(SpanLink, NodeExecutionSpan=NodeExecutionSpan)
44
+ update_forward_refs(WorkflowDeploymentParentContext, NodeExecutionSpan=NodeExecutionSpan)
45
+ update_forward_refs(WorkflowParentContext, NodeExecutionSpan=NodeExecutionSpan)
46
+ update_forward_refs(WorkflowSandboxParentContext, NodeExecutionSpan=NodeExecutionSpan)
@@ -0,0 +1,19 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
5
+ import typing
6
+ import pydantic
7
+
8
+
9
+ class NodeExecutionSpanAttributes(UniversalBaseModel):
10
+ node_id: str
11
+
12
+ if IS_PYDANTIC_V2:
13
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
14
+ else:
15
+
16
+ class Config:
17
+ frozen = True
18
+ smart_union = True
19
+ extra = pydantic.Extra.allow
@@ -0,0 +1,22 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ from .vellum_code_resource_definition import VellumCodeResourceDefinition
5
+ from .base_output import BaseOutput
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+ import typing
8
+ import pydantic
9
+
10
+
11
+ class NodeExecutionStreamingBody(UniversalBaseModel):
12
+ node_definition: VellumCodeResourceDefinition
13
+ output: BaseOutput
14
+
15
+ if IS_PYDANTIC_V2:
16
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
17
+ else:
18
+
19
+ class Config:
20
+ frozen = True
21
+ smart_union = True
22
+ extra = pydantic.Extra.allow
@@ -0,0 +1,49 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from __future__ import annotations
4
+ from ..core.pydantic_utilities import UniversalBaseModel
5
+ from .api_request_parent_context import ApiRequestParentContext
6
+ from .node_parent_context import NodeParentContext
7
+ from .prompt_deployment_parent_context import PromptDeploymentParentContext
8
+ from .span_link import SpanLink
9
+ from .workflow_deployment_parent_context import WorkflowDeploymentParentContext
10
+ from .workflow_parent_context import WorkflowParentContext
11
+ from .workflow_sandbox_parent_context import WorkflowSandboxParentContext
12
+ import typing
13
+ from .parent_context import ParentContext
14
+ from .node_execution_streaming_body import NodeExecutionStreamingBody
15
+ import datetime as dt
16
+ from .api_version_enum import ApiVersionEnum
17
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
18
+ import pydantic
19
+ from ..core.pydantic_utilities import update_forward_refs
20
+
21
+
22
+ class NodeExecutionStreamingEvent(UniversalBaseModel):
23
+ parent: typing.Optional[ParentContext] = None
24
+ links: typing.Optional[typing.List[SpanLink]] = None
25
+ name: typing.Literal["node.execution.streaming"] = "node.execution.streaming"
26
+ body: NodeExecutionStreamingBody
27
+ id: str
28
+ timestamp: dt.datetime
29
+ api_version: typing.Optional[ApiVersionEnum] = None
30
+ trace_id: str
31
+ span_id: str
32
+
33
+ if IS_PYDANTIC_V2:
34
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
35
+ else:
36
+
37
+ class Config:
38
+ frozen = True
39
+ smart_union = True
40
+ extra = pydantic.Extra.allow
41
+
42
+
43
+ update_forward_refs(ApiRequestParentContext, NodeExecutionStreamingEvent=NodeExecutionStreamingEvent)
44
+ update_forward_refs(NodeParentContext, NodeExecutionStreamingEvent=NodeExecutionStreamingEvent)
45
+ update_forward_refs(PromptDeploymentParentContext, NodeExecutionStreamingEvent=NodeExecutionStreamingEvent)
46
+ update_forward_refs(SpanLink, NodeExecutionStreamingEvent=NodeExecutionStreamingEvent)
47
+ update_forward_refs(WorkflowDeploymentParentContext, NodeExecutionStreamingEvent=NodeExecutionStreamingEvent)
48
+ update_forward_refs(WorkflowParentContext, NodeExecutionStreamingEvent=NodeExecutionStreamingEvent)
49
+ update_forward_refs(WorkflowSandboxParentContext, NodeExecutionStreamingEvent=NodeExecutionStreamingEvent)
@@ -0,0 +1,43 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from __future__ import annotations
4
+ from ..core.pydantic_utilities import UniversalBaseModel
5
+ import typing
6
+ from .vellum_code_resource_definition import VellumCodeResourceDefinition
7
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
+ import pydantic
9
+ from ..core.pydantic_utilities import update_forward_refs
10
+
11
+
12
+ class NodeParentContext(UniversalBaseModel):
13
+ parent: typing.Optional["ParentContext"] = None
14
+ links: typing.Optional[typing.List["SpanLink"]] = None
15
+ node_definition: VellumCodeResourceDefinition
16
+ type: typing.Literal["WORKFLOW_NODE"] = "WORKFLOW_NODE"
17
+ span_id: str
18
+
19
+ if IS_PYDANTIC_V2:
20
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
21
+ else:
22
+
23
+ class Config:
24
+ frozen = True
25
+ smart_union = True
26
+ extra = pydantic.Extra.allow
27
+
28
+
29
+ from .api_request_parent_context import ApiRequestParentContext # noqa: E402
30
+ from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402
31
+ from .span_link import SpanLink # noqa: E402
32
+ from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402
33
+ from .workflow_parent_context import WorkflowParentContext # noqa: E402
34
+ from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402
35
+ from .parent_context import ParentContext # noqa: E402
36
+
37
+ update_forward_refs(ApiRequestParentContext, NodeParentContext=NodeParentContext)
38
+ update_forward_refs(PromptDeploymentParentContext, NodeParentContext=NodeParentContext)
39
+ update_forward_refs(SpanLink, NodeParentContext=NodeParentContext)
40
+ update_forward_refs(WorkflowDeploymentParentContext, NodeParentContext=NodeParentContext)
41
+ update_forward_refs(WorkflowParentContext, NodeParentContext=NodeParentContext)
42
+ update_forward_refs(WorkflowSandboxParentContext, NodeParentContext=NodeParentContext)
43
+ update_forward_refs(NodeParentContext)
@@ -0,0 +1,21 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from __future__ import annotations
4
+ import typing
5
+ import typing
6
+
7
+ if typing.TYPE_CHECKING:
8
+ from .workflow_parent_context import WorkflowParentContext
9
+ from .node_parent_context import NodeParentContext
10
+ from .workflow_deployment_parent_context import WorkflowDeploymentParentContext
11
+ from .workflow_sandbox_parent_context import WorkflowSandboxParentContext
12
+ from .prompt_deployment_parent_context import PromptDeploymentParentContext
13
+ from .api_request_parent_context import ApiRequestParentContext
14
+ ParentContext = typing.Union[
15
+ "WorkflowParentContext",
16
+ "NodeParentContext",
17
+ "WorkflowDeploymentParentContext",
18
+ "WorkflowSandboxParentContext",
19
+ "PromptDeploymentParentContext",
20
+ "ApiRequestParentContext",
21
+ ]
@@ -0,0 +1,49 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from __future__ import annotations
4
+ from ..core.pydantic_utilities import UniversalBaseModel
5
+ import typing
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+ import pydantic
8
+ from ..core.pydantic_utilities import update_forward_refs
9
+
10
+
11
+ class PromptDeploymentParentContext(UniversalBaseModel):
12
+ parent: typing.Optional["ParentContext"] = None
13
+ links: typing.Optional[typing.List["SpanLink"]] = None
14
+ type: typing.Literal["PROMPT_RELEASE_TAG"] = "PROMPT_RELEASE_TAG"
15
+ span_id: str
16
+ deployment_id: str
17
+ deployment_name: str
18
+ deployment_history_item_id: str
19
+ release_tag_id: str
20
+ release_tag_name: str
21
+ external_id: typing.Optional[str] = None
22
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
23
+ prompt_version_id: str
24
+
25
+ if IS_PYDANTIC_V2:
26
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
27
+ else:
28
+
29
+ class Config:
30
+ frozen = True
31
+ smart_union = True
32
+ extra = pydantic.Extra.allow
33
+
34
+
35
+ from .api_request_parent_context import ApiRequestParentContext # noqa: E402
36
+ from .node_parent_context import NodeParentContext # noqa: E402
37
+ from .span_link import SpanLink # noqa: E402
38
+ from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402
39
+ from .workflow_parent_context import WorkflowParentContext # noqa: E402
40
+ from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402
41
+ from .parent_context import ParentContext # noqa: E402
42
+
43
+ update_forward_refs(ApiRequestParentContext, PromptDeploymentParentContext=PromptDeploymentParentContext)
44
+ update_forward_refs(NodeParentContext, PromptDeploymentParentContext=PromptDeploymentParentContext)
45
+ update_forward_refs(SpanLink, PromptDeploymentParentContext=PromptDeploymentParentContext)
46
+ update_forward_refs(WorkflowDeploymentParentContext, PromptDeploymentParentContext=PromptDeploymentParentContext)
47
+ update_forward_refs(WorkflowParentContext, PromptDeploymentParentContext=PromptDeploymentParentContext)
48
+ update_forward_refs(WorkflowSandboxParentContext, PromptDeploymentParentContext=PromptDeploymentParentContext)
49
+ update_forward_refs(PromptDeploymentParentContext)
@@ -0,0 +1,54 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from __future__ import annotations
4
+ from ..core.pydantic_utilities import UniversalBaseModel
5
+ from .api_request_parent_context import ApiRequestParentContext
6
+ from .node_parent_context import NodeParentContext
7
+ from .prompt_deployment_parent_context import PromptDeploymentParentContext
8
+ from .span_link import SpanLink
9
+ from .workflow_deployment_parent_context import WorkflowDeploymentParentContext
10
+ from .workflow_parent_context import WorkflowParentContext
11
+ from .workflow_sandbox_parent_context import WorkflowSandboxParentContext
12
+ from .array_vellum_value import ArrayVellumValue
13
+ import typing
14
+ import datetime as dt
15
+ from .execution_vellum_value import ExecutionVellumValue
16
+ from .workflow_error import WorkflowError
17
+ from .workflow_execution_actual import WorkflowExecutionActual
18
+ from .workflow_execution_view_online_eval_metric_result import WorkflowExecutionViewOnlineEvalMetricResult
19
+ from .workflow_execution_usage_calculation_fulfilled_body import WorkflowExecutionUsageCalculationFulfilledBody
20
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
21
+ import pydantic
22
+ from ..core.pydantic_utilities import update_forward_refs
23
+
24
+
25
+ class SlimWorkflowExecutionRead(UniversalBaseModel):
26
+ span_id: str
27
+ parent_context: typing.Optional[WorkflowDeploymentParentContext] = None
28
+ start: dt.datetime
29
+ end: typing.Optional[dt.datetime] = None
30
+ inputs: typing.List[ExecutionVellumValue]
31
+ outputs: typing.List[ExecutionVellumValue]
32
+ error: typing.Optional[WorkflowError] = None
33
+ latest_actual: typing.Optional[WorkflowExecutionActual] = None
34
+ metric_results: typing.List[WorkflowExecutionViewOnlineEvalMetricResult]
35
+ usage_results: typing.List[WorkflowExecutionUsageCalculationFulfilledBody]
36
+
37
+ if IS_PYDANTIC_V2:
38
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
39
+ else:
40
+
41
+ class Config:
42
+ frozen = True
43
+ smart_union = True
44
+ extra = pydantic.Extra.allow
45
+
46
+
47
+ update_forward_refs(ApiRequestParentContext, SlimWorkflowExecutionRead=SlimWorkflowExecutionRead)
48
+ update_forward_refs(NodeParentContext, SlimWorkflowExecutionRead=SlimWorkflowExecutionRead)
49
+ update_forward_refs(PromptDeploymentParentContext, SlimWorkflowExecutionRead=SlimWorkflowExecutionRead)
50
+ update_forward_refs(SpanLink, SlimWorkflowExecutionRead=SlimWorkflowExecutionRead)
51
+ update_forward_refs(WorkflowDeploymentParentContext, SlimWorkflowExecutionRead=SlimWorkflowExecutionRead)
52
+ update_forward_refs(WorkflowParentContext, SlimWorkflowExecutionRead=SlimWorkflowExecutionRead)
53
+ update_forward_refs(WorkflowSandboxParentContext, SlimWorkflowExecutionRead=SlimWorkflowExecutionRead)
54
+ update_forward_refs(ArrayVellumValue, SlimWorkflowExecutionRead=SlimWorkflowExecutionRead)
@@ -0,0 +1,41 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from __future__ import annotations
4
+ from ..core.pydantic_utilities import UniversalBaseModel
5
+ from .span_link_type_enum import SpanLinkTypeEnum
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+ import typing
8
+ import pydantic
9
+ from ..core.pydantic_utilities import update_forward_refs
10
+
11
+
12
+ class SpanLink(UniversalBaseModel):
13
+ trace_id: str
14
+ type: SpanLinkTypeEnum = "TRIGGERED_BY"
15
+ span_context: "ParentContext"
16
+
17
+ if IS_PYDANTIC_V2:
18
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
19
+ else:
20
+
21
+ class Config:
22
+ frozen = True
23
+ smart_union = True
24
+ extra = pydantic.Extra.allow
25
+
26
+
27
+ from .api_request_parent_context import ApiRequestParentContext # noqa: E402
28
+ from .node_parent_context import NodeParentContext # noqa: E402
29
+ from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402
30
+ from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402
31
+ from .workflow_parent_context import WorkflowParentContext # noqa: E402
32
+ from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402
33
+ from .parent_context import ParentContext # noqa: E402
34
+
35
+ update_forward_refs(ApiRequestParentContext, SpanLink=SpanLink)
36
+ update_forward_refs(NodeParentContext, SpanLink=SpanLink)
37
+ update_forward_refs(PromptDeploymentParentContext, SpanLink=SpanLink)
38
+ update_forward_refs(WorkflowDeploymentParentContext, SpanLink=SpanLink)
39
+ update_forward_refs(WorkflowParentContext, SpanLink=SpanLink)
40
+ update_forward_refs(WorkflowSandboxParentContext, SpanLink=SpanLink)
41
+ update_forward_refs(SpanLink)
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ SpanLinkTypeEnum = typing.Literal["TRIGGERED_BY"]
@@ -0,0 +1,25 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import typing
5
+ import pydantic
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+
8
+
9
+ class VellumCodeResourceDefinition(UniversalBaseModel):
10
+ name: str
11
+ module: typing.List[str] = pydantic.Field()
12
+ """
13
+ The module that this resource is defined in.
14
+ """
15
+
16
+ id: str
17
+
18
+ if IS_PYDANTIC_V2:
19
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
20
+ else:
21
+
22
+ class Config:
23
+ frozen = True
24
+ smart_union = True
25
+ extra = pydantic.Extra.allow