agenta 0.57.0__py3-none-any.whl → 0.65.0__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 (267) hide show
  1. agenta/__init__.py +12 -3
  2. agenta/client/__init__.py +4 -4
  3. agenta/client/backend/__init__.py +4 -4
  4. agenta/client/backend/api_keys/client.py +2 -2
  5. agenta/client/backend/billing/client.py +2 -2
  6. agenta/client/backend/billing/raw_client.py +2 -2
  7. agenta/client/backend/client.py +56 -48
  8. agenta/client/backend/core/client_wrapper.py +2 -2
  9. agenta/client/backend/core/file.py +3 -1
  10. agenta/client/backend/core/http_client.py +3 -3
  11. agenta/client/backend/core/pydantic_utilities.py +13 -3
  12. agenta/client/backend/human_evaluations/client.py +2 -2
  13. agenta/client/backend/human_evaluations/raw_client.py +2 -2
  14. agenta/client/backend/organization/client.py +46 -34
  15. agenta/client/backend/organization/raw_client.py +32 -26
  16. agenta/client/backend/raw_client.py +26 -26
  17. agenta/client/backend/testsets/client.py +18 -18
  18. agenta/client/backend/testsets/raw_client.py +30 -30
  19. agenta/client/backend/types/__init__.py +4 -4
  20. agenta/client/backend/types/account_request.py +3 -1
  21. agenta/client/backend/types/account_response.py +3 -1
  22. agenta/client/backend/types/agenta_node_dto.py +3 -1
  23. agenta/client/backend/types/agenta_nodes_response.py +3 -1
  24. agenta/client/backend/types/agenta_root_dto.py +3 -1
  25. agenta/client/backend/types/agenta_roots_response.py +3 -1
  26. agenta/client/backend/types/agenta_tree_dto.py +3 -1
  27. agenta/client/backend/types/agenta_trees_response.py +3 -1
  28. agenta/client/backend/types/aggregated_result.py +3 -1
  29. agenta/client/backend/types/analytics_response.py +3 -1
  30. agenta/client/backend/types/annotation.py +6 -4
  31. agenta/client/backend/types/annotation_create.py +3 -1
  32. agenta/client/backend/types/annotation_edit.py +3 -1
  33. agenta/client/backend/types/annotation_link.py +3 -1
  34. agenta/client/backend/types/annotation_link_response.py +3 -1
  35. agenta/client/backend/types/annotation_query.py +3 -1
  36. agenta/client/backend/types/annotation_query_request.py +3 -1
  37. agenta/client/backend/types/annotation_reference.py +3 -1
  38. agenta/client/backend/types/annotation_references.py +3 -1
  39. agenta/client/backend/types/annotation_response.py +3 -1
  40. agenta/client/backend/types/annotations_response.py +3 -1
  41. agenta/client/backend/types/app.py +3 -1
  42. agenta/client/backend/types/app_variant_response.py +3 -1
  43. agenta/client/backend/types/app_variant_revision.py +3 -1
  44. agenta/client/backend/types/artifact.py +6 -4
  45. agenta/client/backend/types/base_output.py +3 -1
  46. agenta/client/backend/types/body_fetch_workflow_revision.py +3 -1
  47. agenta/client/backend/types/body_import_testset.py +3 -1
  48. agenta/client/backend/types/bucket_dto.py +3 -1
  49. agenta/client/backend/types/collect_status_response.py +3 -1
  50. agenta/client/backend/types/config_db.py +3 -1
  51. agenta/client/backend/types/config_dto.py +3 -1
  52. agenta/client/backend/types/config_response_model.py +3 -1
  53. agenta/client/backend/types/correct_answer.py +3 -1
  54. agenta/client/backend/types/create_app_output.py +3 -1
  55. agenta/client/backend/types/custom_model_settings_dto.py +3 -1
  56. agenta/client/backend/types/custom_provider_dto.py +3 -1
  57. agenta/client/backend/types/custom_provider_kind.py +1 -1
  58. agenta/client/backend/types/custom_provider_settings_dto.py +3 -1
  59. agenta/client/backend/types/delete_evaluation.py +3 -1
  60. agenta/client/backend/types/environment_output.py +3 -1
  61. agenta/client/backend/types/environment_output_extended.py +3 -1
  62. agenta/client/backend/types/environment_revision.py +3 -1
  63. agenta/client/backend/types/error.py +3 -1
  64. agenta/client/backend/types/evaluation.py +3 -1
  65. agenta/client/backend/types/evaluation_scenario.py +3 -1
  66. agenta/client/backend/types/evaluation_scenario_input.py +3 -1
  67. agenta/client/backend/types/evaluation_scenario_output.py +3 -1
  68. agenta/client/backend/types/evaluation_scenario_result.py +3 -1
  69. agenta/client/backend/types/evaluator.py +6 -4
  70. agenta/client/backend/types/evaluator_config.py +6 -4
  71. agenta/client/backend/types/evaluator_flags.py +3 -1
  72. agenta/client/backend/types/evaluator_mapping_output_interface.py +3 -1
  73. agenta/client/backend/types/evaluator_output_interface.py +3 -1
  74. agenta/client/backend/types/evaluator_query.py +3 -1
  75. agenta/client/backend/types/evaluator_query_request.py +3 -1
  76. agenta/client/backend/types/evaluator_request.py +3 -1
  77. agenta/client/backend/types/evaluator_response.py +3 -1
  78. agenta/client/backend/types/evaluators_response.py +3 -1
  79. agenta/client/backend/types/exception_dto.py +3 -1
  80. agenta/client/backend/types/extended_o_tel_tracing_response.py +3 -1
  81. agenta/client/backend/types/get_config_response.py +3 -1
  82. agenta/client/backend/types/header.py +3 -1
  83. agenta/client/backend/types/http_validation_error.py +3 -1
  84. agenta/client/backend/types/human_evaluation.py +3 -1
  85. agenta/client/backend/types/human_evaluation_scenario.py +3 -1
  86. agenta/client/backend/types/human_evaluation_scenario_input.py +3 -1
  87. agenta/client/backend/types/human_evaluation_scenario_output.py +3 -1
  88. agenta/client/backend/types/invite_request.py +3 -1
  89. agenta/client/backend/types/legacy_analytics_response.py +3 -1
  90. agenta/client/backend/types/legacy_data_point.py +3 -1
  91. agenta/client/backend/types/legacy_evaluator.py +3 -1
  92. agenta/client/backend/types/legacy_scope_request.py +3 -1
  93. agenta/client/backend/types/legacy_scopes_response.py +3 -1
  94. agenta/client/backend/types/legacy_subscription_request.py +3 -1
  95. agenta/client/backend/types/legacy_user_request.py +3 -1
  96. agenta/client/backend/types/legacy_user_response.py +3 -1
  97. agenta/client/backend/types/lifecycle_dto.py +3 -1
  98. agenta/client/backend/types/link_dto.py +3 -1
  99. agenta/client/backend/types/list_api_keys_response.py +3 -1
  100. agenta/client/backend/types/llm_run_rate_limit.py +3 -1
  101. agenta/client/backend/types/meta_request.py +3 -1
  102. agenta/client/backend/types/metrics_dto.py +3 -1
  103. agenta/client/backend/types/new_testset.py +3 -1
  104. agenta/client/backend/types/node_dto.py +3 -1
  105. agenta/client/backend/types/o_tel_context_dto.py +3 -1
  106. agenta/client/backend/types/o_tel_event.py +6 -4
  107. agenta/client/backend/types/o_tel_event_dto.py +3 -1
  108. agenta/client/backend/types/o_tel_extra_dto.py +3 -1
  109. agenta/client/backend/types/o_tel_flat_span.py +6 -4
  110. agenta/client/backend/types/o_tel_link.py +6 -4
  111. agenta/client/backend/types/o_tel_link_dto.py +3 -1
  112. agenta/client/backend/types/o_tel_links_response.py +3 -1
  113. agenta/client/backend/types/o_tel_span.py +1 -1
  114. agenta/client/backend/types/o_tel_span_dto.py +3 -1
  115. agenta/client/backend/types/o_tel_spans_tree.py +3 -1
  116. agenta/client/backend/types/o_tel_tracing_data_response.py +3 -1
  117. agenta/client/backend/types/o_tel_tracing_request.py +3 -1
  118. agenta/client/backend/types/o_tel_tracing_response.py +3 -1
  119. agenta/client/backend/types/organization.py +3 -1
  120. agenta/client/backend/types/organization_details.py +3 -1
  121. agenta/client/backend/types/organization_membership_request.py +3 -1
  122. agenta/client/backend/types/organization_output.py +3 -1
  123. agenta/client/backend/types/organization_request.py +3 -1
  124. agenta/client/backend/types/parent_dto.py +3 -1
  125. agenta/client/backend/types/project_membership_request.py +3 -1
  126. agenta/client/backend/types/project_request.py +3 -1
  127. agenta/client/backend/types/project_scope.py +3 -1
  128. agenta/client/backend/types/projects_response.py +4 -1
  129. agenta/client/backend/types/reference.py +6 -4
  130. agenta/client/backend/types/reference_dto.py +3 -1
  131. agenta/client/backend/types/reference_request_model.py +3 -1
  132. agenta/client/backend/types/result.py +3 -1
  133. agenta/client/backend/types/root_dto.py +3 -1
  134. agenta/client/backend/types/scopes_response_model.py +3 -1
  135. agenta/client/backend/types/secret_dto.py +3 -1
  136. agenta/client/backend/types/secret_response_dto.py +3 -1
  137. agenta/client/backend/types/simple_evaluation_output.py +3 -1
  138. agenta/client/backend/types/span_dto.py +6 -4
  139. agenta/client/backend/types/standard_provider_dto.py +3 -1
  140. agenta/client/backend/types/standard_provider_settings_dto.py +3 -1
  141. agenta/client/backend/types/status_dto.py +3 -1
  142. agenta/client/backend/types/tags_request.py +3 -1
  143. agenta/client/backend/types/testcase_response.py +6 -4
  144. agenta/client/backend/types/testset.py +6 -4
  145. agenta/client/backend/types/{test_set_output_response.py → testset_output_response.py} +4 -2
  146. agenta/client/backend/types/testset_request.py +3 -1
  147. agenta/client/backend/types/testset_response.py +3 -1
  148. agenta/client/backend/types/{test_set_simple_response.py → testset_simple_response.py} +4 -2
  149. agenta/client/backend/types/testsets_response.py +3 -1
  150. agenta/client/backend/types/time_dto.py +3 -1
  151. agenta/client/backend/types/tree_dto.py +3 -1
  152. agenta/client/backend/types/update_app_output.py +3 -1
  153. agenta/client/backend/types/user_request.py +3 -1
  154. agenta/client/backend/types/validation_error.py +3 -1
  155. agenta/client/backend/types/workflow_artifact.py +6 -4
  156. agenta/client/backend/types/workflow_data.py +3 -1
  157. agenta/client/backend/types/workflow_flags.py +3 -1
  158. agenta/client/backend/types/workflow_request.py +3 -1
  159. agenta/client/backend/types/workflow_response.py +3 -1
  160. agenta/client/backend/types/workflow_revision.py +6 -4
  161. agenta/client/backend/types/workflow_revision_request.py +3 -1
  162. agenta/client/backend/types/workflow_revision_response.py +3 -1
  163. agenta/client/backend/types/workflow_revisions_response.py +3 -1
  164. agenta/client/backend/types/workflow_variant.py +6 -4
  165. agenta/client/backend/types/workflow_variant_request.py +3 -1
  166. agenta/client/backend/types/workflow_variant_response.py +3 -1
  167. agenta/client/backend/types/workflow_variants_response.py +3 -1
  168. agenta/client/backend/types/workflows_response.py +3 -1
  169. agenta/client/backend/types/workspace.py +3 -1
  170. agenta/client/backend/types/workspace_member_response.py +3 -1
  171. agenta/client/backend/types/workspace_membership_request.py +3 -1
  172. agenta/client/backend/types/workspace_permission.py +3 -1
  173. agenta/client/backend/types/workspace_request.py +3 -1
  174. agenta/client/backend/types/workspace_response.py +3 -1
  175. agenta/client/backend/workspace/client.py +2 -2
  176. agenta/client/client.py +102 -88
  177. agenta/sdk/__init__.py +52 -3
  178. agenta/sdk/agenta_init.py +43 -16
  179. agenta/sdk/assets.py +22 -15
  180. agenta/sdk/context/serving.py +20 -8
  181. agenta/sdk/context/tracing.py +40 -22
  182. agenta/sdk/contexts/__init__.py +0 -0
  183. agenta/sdk/contexts/routing.py +38 -0
  184. agenta/sdk/contexts/running.py +57 -0
  185. agenta/sdk/contexts/tracing.py +86 -0
  186. agenta/sdk/decorators/__init__.py +1 -0
  187. agenta/sdk/decorators/routing.py +284 -0
  188. agenta/sdk/decorators/running.py +692 -98
  189. agenta/sdk/decorators/serving.py +20 -21
  190. agenta/sdk/decorators/tracing.py +176 -131
  191. agenta/sdk/engines/__init__.py +0 -0
  192. agenta/sdk/engines/running/__init__.py +0 -0
  193. agenta/sdk/engines/running/utils.py +17 -0
  194. agenta/sdk/engines/tracing/__init__.py +1 -0
  195. agenta/sdk/engines/tracing/attributes.py +185 -0
  196. agenta/sdk/engines/tracing/conventions.py +49 -0
  197. agenta/sdk/engines/tracing/exporters.py +130 -0
  198. agenta/sdk/engines/tracing/inline.py +1154 -0
  199. agenta/sdk/engines/tracing/processors.py +190 -0
  200. agenta/sdk/engines/tracing/propagation.py +102 -0
  201. agenta/sdk/engines/tracing/spans.py +136 -0
  202. agenta/sdk/engines/tracing/tracing.py +324 -0
  203. agenta/sdk/evaluations/__init__.py +2 -0
  204. agenta/sdk/evaluations/metrics.py +37 -0
  205. agenta/sdk/evaluations/preview/__init__.py +0 -0
  206. agenta/sdk/evaluations/preview/evaluate.py +765 -0
  207. agenta/sdk/evaluations/preview/utils.py +861 -0
  208. agenta/sdk/evaluations/results.py +66 -0
  209. agenta/sdk/evaluations/runs.py +152 -0
  210. agenta/sdk/evaluations/scenarios.py +48 -0
  211. agenta/sdk/litellm/litellm.py +12 -0
  212. agenta/sdk/litellm/mockllm.py +6 -8
  213. agenta/sdk/litellm/mocks/__init__.py +5 -5
  214. agenta/sdk/managers/applications.py +304 -0
  215. agenta/sdk/managers/config.py +2 -2
  216. agenta/sdk/managers/evaluations.py +0 -0
  217. agenta/sdk/managers/evaluators.py +303 -0
  218. agenta/sdk/managers/secrets.py +161 -24
  219. agenta/sdk/managers/shared.py +3 -1
  220. agenta/sdk/managers/testsets.py +441 -0
  221. agenta/sdk/managers/vault.py +3 -3
  222. agenta/sdk/middleware/auth.py +0 -176
  223. agenta/sdk/middleware/vault.py +203 -8
  224. agenta/sdk/middlewares/__init__.py +0 -0
  225. agenta/sdk/middlewares/routing/__init__.py +0 -0
  226. agenta/sdk/middlewares/routing/auth.py +263 -0
  227. agenta/sdk/middlewares/routing/cors.py +30 -0
  228. agenta/sdk/middlewares/routing/otel.py +29 -0
  229. agenta/sdk/middlewares/running/__init__.py +0 -0
  230. agenta/sdk/middlewares/running/normalizer.py +321 -0
  231. agenta/sdk/middlewares/running/resolver.py +161 -0
  232. agenta/sdk/middlewares/running/vault.py +140 -0
  233. agenta/sdk/models/__init__.py +0 -0
  234. agenta/sdk/models/blobs.py +33 -0
  235. agenta/sdk/models/evaluations.py +119 -0
  236. agenta/sdk/models/git.py +126 -0
  237. agenta/sdk/models/shared.py +167 -0
  238. agenta/sdk/models/testsets.py +163 -0
  239. agenta/sdk/models/tracing.py +202 -0
  240. agenta/sdk/models/workflows.py +753 -0
  241. agenta/sdk/tracing/exporters.py +67 -17
  242. agenta/sdk/tracing/processors.py +97 -0
  243. agenta/sdk/tracing/propagation.py +3 -1
  244. agenta/sdk/tracing/spans.py +4 -0
  245. agenta/sdk/tracing/tracing.py +13 -13
  246. agenta/sdk/types.py +211 -17
  247. agenta/sdk/utils/cache.py +1 -1
  248. agenta/sdk/utils/client.py +38 -0
  249. agenta/sdk/utils/helpers.py +13 -12
  250. agenta/sdk/utils/logging.py +18 -78
  251. agenta/sdk/utils/references.py +23 -0
  252. agenta/sdk/workflows/builtin.py +600 -0
  253. agenta/sdk/workflows/configurations.py +22 -0
  254. agenta/sdk/workflows/errors.py +292 -0
  255. agenta/sdk/workflows/handlers.py +1791 -0
  256. agenta/sdk/workflows/interfaces.py +948 -0
  257. agenta/sdk/workflows/sandbox.py +118 -0
  258. agenta/sdk/workflows/utils.py +303 -6
  259. {agenta-0.57.0.dist-info → agenta-0.65.0.dist-info}/METADATA +44 -47
  260. agenta-0.65.0.dist-info/RECORD +421 -0
  261. agenta/sdk/middleware/adapt.py +0 -253
  262. agenta/sdk/middleware/base.py +0 -40
  263. agenta/sdk/middleware/flags.py +0 -40
  264. agenta/sdk/workflows/types.py +0 -472
  265. agenta-0.57.0.dist-info/RECORD +0 -371
  266. /agenta/sdk/{workflows → engines/running}/registry.py +0 -0
  267. {agenta-0.57.0.dist-info → agenta-0.65.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,292 @@
1
+ from typing import Optional, Any
2
+
3
+ ERRORS_BASE_URL = "https://agenta.ai/docs/errors"
4
+
5
+
6
+ class ErrorStatus(Exception):
7
+ code: int
8
+ type: str
9
+ message: str
10
+ stacktrace: Optional[str] = None
11
+
12
+ def __init__(
13
+ self,
14
+ code: int,
15
+ type: str,
16
+ message: str,
17
+ stacktrace: Optional[str] = None,
18
+ ):
19
+ super().__init__()
20
+ self.code = code
21
+ self.type = type
22
+ self.message = message
23
+ self.stacktrace = stacktrace
24
+
25
+ def __str__(self):
26
+ return f"[EVAL] {self.code} - {self.message} ({self.type})" + (
27
+ f"\nStacktrace: {self.stacktrace}" if self.stacktrace else ""
28
+ )
29
+
30
+ def __repr__(self):
31
+ return f"ErrorStatus(code={self.code}, type='{self.type}', message='{self.message}')"
32
+
33
+
34
+ class InvalidInterfaceURIV0Error(ErrorStatus):
35
+ code: int = 400
36
+ type: str = f"{ERRORS_BASE_URL}#v0:interface:invalid-uri"
37
+
38
+ def __init__(self, got: Any):
39
+ super().__init__(
40
+ code=self.code,
41
+ type=self.type,
42
+ message=f"Invalid uri:\nExpected (see registry)\nGot '{got}'.",
43
+ )
44
+
45
+
46
+ class InvalidConfigurationParametersV0Error(ErrorStatus):
47
+ code: int = 400
48
+ type: str = f"{ERRORS_BASE_URL}#v0:schemas:invalid-parameters"
49
+
50
+ def __init__(self, expected: Any, got: Any):
51
+ super().__init__(
52
+ code=self.code,
53
+ type=self.type,
54
+ message=f"Invalid parameters:\nExpected '{expected}'\nGot ('{type(got).__name__}') '{got}'.",
55
+ )
56
+
57
+
58
+ class MissingConfigurationParameterV0Error(ErrorStatus):
59
+ code: int = 400
60
+ type: str = f"{ERRORS_BASE_URL}#v0:schemas:missing-parameter"
61
+
62
+ def __init__(self, path: str):
63
+ super().__init__(
64
+ code=self.code,
65
+ type=self.type,
66
+ message=f"Missing parameter:\nAt '{path}'",
67
+ )
68
+
69
+
70
+ class InvalidConfigurationParameterV0Error(ErrorStatus):
71
+ code: int = 400
72
+ type: str = f"{ERRORS_BASE_URL}#v0:schemas:invalid-parameter"
73
+
74
+ def __init__(self, path: str, expected: Any, got: Any):
75
+ super().__init__(
76
+ code=self.code,
77
+ type=self.type,
78
+ message=f"Invalid parameter:\nAt '{path}'\nExpected '{expected}'\nGot ('{type(got).__name__}') '{got}'.",
79
+ )
80
+
81
+
82
+ class InvalidInputsV0Error(ErrorStatus):
83
+ code: int = 400
84
+ type: str = f"{ERRORS_BASE_URL}#v0:schemas:invalid-inputs"
85
+
86
+ def __init__(self, expected: Any, got: Any):
87
+ super().__init__(
88
+ code=self.code,
89
+ type=self.type,
90
+ message=f"Invalid inputs:\nExpected '{expected}'\nGot ('{type(got).__name__}') '{got}'.",
91
+ )
92
+
93
+
94
+ class MissingInputV0Error(ErrorStatus):
95
+ code: int = 400
96
+ type: str = f"{ERRORS_BASE_URL}#v0:schemas:missing-input"
97
+
98
+ def __init__(self, path: str):
99
+ super().__init__(
100
+ code=self.code,
101
+ type=self.type,
102
+ message=f"Missing input:\nAt '{path}'",
103
+ )
104
+
105
+
106
+ class InvalidInputV0Error(ErrorStatus):
107
+ code: int = 400
108
+ type: str = f"{ERRORS_BASE_URL}#v0:schemas:invalid-input"
109
+
110
+ def __init__(self, path: str, expected: Any, got: Any):
111
+ super().__init__(
112
+ code=self.code,
113
+ type=self.type,
114
+ message=f"Invalid input:\nAt '{path}'\nExpected '{expected}'\nGot ('{type(got).__name__}') '{got}'.",
115
+ )
116
+
117
+
118
+ class InvalidOutputsV0Error(ErrorStatus):
119
+ code: int = 400
120
+ type: str = f"{ERRORS_BASE_URL}#v0:schemas:invalid-outputs"
121
+
122
+ def __init__(self, expected: Any, got: Any):
123
+ super().__init__(
124
+ code=self.code,
125
+ type=self.type,
126
+ message=f"Invalid outputs:\nExpected '{expected}'\nGot ('{type(got).__name__}') '{got}'.",
127
+ )
128
+
129
+
130
+ class MissingOutputV0Error(ErrorStatus):
131
+ code: int = 400
132
+ type: str = f"{ERRORS_BASE_URL}#v0:schemas:missing-output"
133
+
134
+ def __init__(self, path: str):
135
+ super().__init__(
136
+ code=self.code,
137
+ type=self.type,
138
+ message=f"Missing output:\nAt '{path}'",
139
+ )
140
+
141
+
142
+ class InvalidSecretsV0Error(ErrorStatus):
143
+ code: int = 400
144
+ type: str = f"{ERRORS_BASE_URL}#v0:schemas:invalid-secrets"
145
+
146
+ def __init__(self, expected: Any, got: Any):
147
+ super().__init__(
148
+ code=self.code,
149
+ type=self.type,
150
+ message=f"Invalid secrets:\nExpected '{expected}'\nGot ('{type(got).__name__}') '{got}'.",
151
+ )
152
+
153
+
154
+ class MissingSecretV0Error(ErrorStatus):
155
+ code: int = 400
156
+ type: str = f"{ERRORS_BASE_URL}#v0:schemas:missing-secret"
157
+
158
+ def __init__(self, path: str):
159
+ super().__init__(
160
+ code=self.code,
161
+ type=self.type,
162
+ message=f"Missing secrets:\nAt '{path}'",
163
+ )
164
+
165
+
166
+ class JSONDiffV0Error(ErrorStatus):
167
+ code: int = 500
168
+ type: str = f"{ERRORS_BASE_URL}#v0:workflows:json-diff-error"
169
+
170
+ def __init__(self, message: str, stacktrace: Optional[str] = None):
171
+ super().__init__(
172
+ code=self.code,
173
+ type=self.type,
174
+ message=message,
175
+ stacktrace=stacktrace,
176
+ )
177
+
178
+
179
+ class LevenshteinDistanceV0Error(ErrorStatus):
180
+ code: int = 500
181
+ type: str = f"{ERRORS_BASE_URL}#v0:workflows:levenshtein-distance-error"
182
+
183
+ def __init__(self, message: str, stacktrace: Optional[str] = None):
184
+ super().__init__(
185
+ code=self.code,
186
+ type=self.type,
187
+ message=message,
188
+ stacktrace=stacktrace,
189
+ )
190
+
191
+
192
+ class SyntacticSimilarityV0Error(ErrorStatus):
193
+ code: int = 500
194
+ type: str = f"{ERRORS_BASE_URL}#v0:workflows:syntactic-similarity-error"
195
+
196
+ def __init__(self, message: str, stacktrace: Optional[str] = None):
197
+ super().__init__(
198
+ code=self.code,
199
+ type=self.type,
200
+ message=message,
201
+ stacktrace=stacktrace,
202
+ )
203
+
204
+
205
+ class SemanticSimilarityV0Error(ErrorStatus):
206
+ code: int = 500
207
+ type: str = f"{ERRORS_BASE_URL}#v0:workflows:semantic-similarity-error"
208
+
209
+ def __init__(self, message: str, stacktrace: Optional[str] = None):
210
+ super().__init__(
211
+ code=self.code,
212
+ type=self.type,
213
+ message=message,
214
+ stacktrace=stacktrace,
215
+ )
216
+
217
+
218
+ class WebhookServerV0Error(ErrorStatus):
219
+ code: int = 500
220
+ type: str = f"{ERRORS_BASE_URL}#v0:workflows:custom-hook-server-error"
221
+
222
+ def __init__(self, code: int, message: str, stacktrace: Optional[str] = None):
223
+ super().__init__(
224
+ code=code or self.code,
225
+ type=self.type,
226
+ message=message,
227
+ stacktrace=stacktrace,
228
+ )
229
+
230
+
231
+ class WebhookClientV0Error(ErrorStatus):
232
+ code: int = 500
233
+ type: str = f"{ERRORS_BASE_URL}#v0:workflows:custom-hook-client-error"
234
+
235
+ def __init__(self, message: str, stacktrace: Optional[str] = None):
236
+ super().__init__(
237
+ code=self.code,
238
+ type=self.type,
239
+ message=message,
240
+ stacktrace=stacktrace,
241
+ )
242
+
243
+
244
+ class CustomCodeServerV0Error(ErrorStatus):
245
+ code: int = 500
246
+ type: str = f"{ERRORS_BASE_URL}#v0:workflows:custom-code-server-error"
247
+
248
+ def __init__(self, message: str, stacktrace: Optional[str] = None):
249
+ super().__init__(
250
+ code=self.code,
251
+ type=self.type,
252
+ message=message,
253
+ stacktrace=stacktrace,
254
+ )
255
+
256
+
257
+ class RegexPatternV0Error(ErrorStatus):
258
+ code: int = 400
259
+ type: str = f"{ERRORS_BASE_URL}#v0:workflows:regex-pattern-error"
260
+
261
+ def __init__(self, pattern: str):
262
+ super().__init__(
263
+ code=self.code,
264
+ type=self.type,
265
+ message=f"Invalid regex pattern: '{pattern}'.",
266
+ )
267
+
268
+
269
+ class PromptFormattingV0Error(ErrorStatus):
270
+ code: int = 400
271
+ type: str = f"{ERRORS_BASE_URL}#v0:workflows:prompt-formatting-error"
272
+
273
+ def __init__(self, message: str, stacktrace: Optional[str] = None):
274
+ super().__init__(
275
+ code=self.code,
276
+ type=self.type,
277
+ message=message,
278
+ stacktrace=stacktrace,
279
+ )
280
+
281
+
282
+ class PromptCompletionV0Error(ErrorStatus):
283
+ code: int = 500
284
+ type: str = f"{ERRORS_BASE_URL}#v0:workflows:prompt-completion-error"
285
+
286
+ def __init__(self, message: str, stacktrace: Optional[str] = None):
287
+ super().__init__(
288
+ code=self.code,
289
+ type=self.type,
290
+ message=message,
291
+ stacktrace=stacktrace,
292
+ )