mirascope 2.0.0a4__py3-none-any.whl → 2.0.0a6__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 (215) hide show
  1. mirascope/__init__.py +10 -1
  2. mirascope/_stubs.py +363 -0
  3. mirascope/api/__init__.py +8 -0
  4. mirascope/api/_generated/__init__.py +119 -1
  5. mirascope/api/_generated/annotations/__init__.py +33 -0
  6. mirascope/api/_generated/annotations/client.py +474 -0
  7. mirascope/api/_generated/annotations/raw_client.py +1095 -0
  8. mirascope/api/_generated/annotations/types/__init__.py +31 -0
  9. mirascope/api/_generated/annotations/types/annotations_create_request_label.py +5 -0
  10. mirascope/api/_generated/annotations/types/annotations_create_response.py +35 -0
  11. mirascope/api/_generated/annotations/types/annotations_create_response_label.py +5 -0
  12. mirascope/api/_generated/annotations/types/annotations_get_response.py +35 -0
  13. mirascope/api/_generated/annotations/types/annotations_get_response_label.py +5 -0
  14. mirascope/api/_generated/annotations/types/annotations_list_request_label.py +5 -0
  15. mirascope/api/_generated/annotations/types/annotations_list_response.py +21 -0
  16. mirascope/api/_generated/annotations/types/annotations_list_response_annotations_item.py +35 -0
  17. mirascope/api/_generated/annotations/types/annotations_list_response_annotations_item_label.py +5 -0
  18. mirascope/api/_generated/annotations/types/annotations_update_request_label.py +5 -0
  19. mirascope/api/_generated/annotations/types/annotations_update_response.py +35 -0
  20. mirascope/api/_generated/annotations/types/annotations_update_response_label.py +5 -0
  21. mirascope/api/_generated/api_keys/__init__.py +7 -0
  22. mirascope/api/_generated/api_keys/client.py +429 -0
  23. mirascope/api/_generated/api_keys/raw_client.py +788 -0
  24. mirascope/api/_generated/api_keys/types/__init__.py +9 -0
  25. mirascope/api/_generated/api_keys/types/api_keys_create_response.py +28 -0
  26. mirascope/api/_generated/api_keys/types/api_keys_get_response.py +27 -0
  27. mirascope/api/_generated/api_keys/types/api_keys_list_response_item.py +27 -0
  28. mirascope/api/_generated/client.py +12 -0
  29. mirascope/api/_generated/core/client_wrapper.py +2 -14
  30. mirascope/api/_generated/core/datetime_utils.py +1 -3
  31. mirascope/api/_generated/core/file.py +2 -5
  32. mirascope/api/_generated/core/http_client.py +36 -112
  33. mirascope/api/_generated/core/jsonable_encoder.py +1 -3
  34. mirascope/api/_generated/core/pydantic_utilities.py +19 -74
  35. mirascope/api/_generated/core/query_encoder.py +1 -3
  36. mirascope/api/_generated/core/serialization.py +4 -10
  37. mirascope/api/_generated/docs/client.py +2 -6
  38. mirascope/api/_generated/docs/raw_client.py +4 -20
  39. mirascope/api/_generated/environments/__init__.py +17 -0
  40. mirascope/api/_generated/environments/client.py +500 -0
  41. mirascope/api/_generated/environments/raw_client.py +999 -0
  42. mirascope/api/_generated/environments/types/__init__.py +15 -0
  43. mirascope/api/_generated/environments/types/environments_create_response.py +24 -0
  44. mirascope/api/_generated/environments/types/environments_get_response.py +24 -0
  45. mirascope/api/_generated/environments/types/environments_list_response_item.py +24 -0
  46. mirascope/api/_generated/environments/types/environments_update_response.py +24 -0
  47. mirascope/api/_generated/errors/__init__.py +2 -0
  48. mirascope/api/_generated/errors/bad_request_error.py +1 -5
  49. mirascope/api/_generated/errors/conflict_error.py +1 -5
  50. mirascope/api/_generated/errors/forbidden_error.py +1 -5
  51. mirascope/api/_generated/errors/internal_server_error.py +1 -6
  52. mirascope/api/_generated/errors/not_found_error.py +1 -5
  53. mirascope/api/_generated/errors/unauthorized_error.py +11 -0
  54. mirascope/api/_generated/functions/__init__.py +29 -0
  55. mirascope/api/_generated/functions/client.py +433 -0
  56. mirascope/api/_generated/functions/raw_client.py +1049 -0
  57. mirascope/api/_generated/functions/types/__init__.py +29 -0
  58. mirascope/api/_generated/functions/types/functions_create_request_dependencies_value.py +20 -0
  59. mirascope/api/_generated/functions/types/functions_create_response.py +37 -0
  60. mirascope/api/_generated/functions/types/functions_create_response_dependencies_value.py +20 -0
  61. mirascope/api/_generated/functions/types/functions_find_by_hash_response.py +39 -0
  62. mirascope/api/_generated/functions/types/functions_find_by_hash_response_dependencies_value.py +20 -0
  63. mirascope/api/_generated/functions/types/functions_get_response.py +37 -0
  64. mirascope/api/_generated/functions/types/functions_get_response_dependencies_value.py +20 -0
  65. mirascope/api/_generated/functions/types/functions_list_response.py +21 -0
  66. mirascope/api/_generated/functions/types/functions_list_response_functions_item.py +41 -0
  67. mirascope/api/_generated/functions/types/functions_list_response_functions_item_dependencies_value.py +20 -0
  68. mirascope/api/_generated/health/client.py +2 -6
  69. mirascope/api/_generated/health/raw_client.py +5 -23
  70. mirascope/api/_generated/health/types/health_check_response.py +1 -3
  71. mirascope/api/_generated/organizations/__init__.py +2 -0
  72. mirascope/api/_generated/organizations/client.py +94 -27
  73. mirascope/api/_generated/organizations/raw_client.py +246 -128
  74. mirascope/api/_generated/organizations/types/__init__.py +2 -0
  75. mirascope/api/_generated/organizations/types/organizations_create_response.py +5 -3
  76. mirascope/api/_generated/organizations/types/organizations_create_response_role.py +1 -3
  77. mirascope/api/_generated/organizations/types/organizations_credits_response.py +19 -0
  78. mirascope/api/_generated/organizations/types/organizations_get_response.py +5 -3
  79. mirascope/api/_generated/organizations/types/organizations_get_response_role.py +1 -3
  80. mirascope/api/_generated/organizations/types/organizations_list_response_item.py +5 -3
  81. mirascope/api/_generated/organizations/types/organizations_list_response_item_role.py +1 -3
  82. mirascope/api/_generated/organizations/types/organizations_update_response.py +5 -3
  83. mirascope/api/_generated/organizations/types/organizations_update_response_role.py +1 -3
  84. mirascope/api/_generated/projects/__init__.py +2 -12
  85. mirascope/api/_generated/projects/client.py +38 -68
  86. mirascope/api/_generated/projects/raw_client.py +92 -163
  87. mirascope/api/_generated/projects/types/__init__.py +1 -6
  88. mirascope/api/_generated/projects/types/projects_create_response.py +4 -9
  89. mirascope/api/_generated/projects/types/projects_get_response.py +4 -9
  90. mirascope/api/_generated/projects/types/projects_list_response_item.py +4 -9
  91. mirascope/api/_generated/projects/types/projects_update_response.py +4 -9
  92. mirascope/api/_generated/reference.md +1862 -70
  93. mirascope/api/_generated/traces/__init__.py +22 -0
  94. mirascope/api/_generated/traces/client.py +398 -0
  95. mirascope/api/_generated/traces/raw_client.py +902 -18
  96. mirascope/api/_generated/traces/types/__init__.py +32 -0
  97. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item.py +4 -11
  98. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource.py +2 -6
  99. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item.py +1 -3
  100. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value.py +8 -24
  101. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value_array_value.py +2 -6
  102. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value_kvlist_value.py +3 -9
  103. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value_kvlist_value_values_item.py +2 -6
  104. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item.py +3 -9
  105. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope.py +4 -8
  106. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item.py +2 -6
  107. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value.py +8 -24
  108. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_array_value.py +2 -6
  109. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_kvlist_value.py +3 -9
  110. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_kvlist_value_values_item.py +1 -3
  111. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item.py +6 -18
  112. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item.py +3 -9
  113. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value.py +8 -24
  114. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_array_value.py +2 -6
  115. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_kvlist_value.py +2 -6
  116. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_kvlist_value_values_item.py +1 -3
  117. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_status.py +2 -6
  118. mirascope/api/_generated/traces/types/traces_create_response.py +2 -5
  119. mirascope/api/_generated/traces/types/traces_create_response_partial_success.py +3 -9
  120. mirascope/api/_generated/traces/types/traces_get_analytics_summary_response.py +54 -0
  121. mirascope/api/_generated/traces/types/traces_get_analytics_summary_response_top_functions_item.py +24 -0
  122. mirascope/api/_generated/traces/types/traces_get_analytics_summary_response_top_models_item.py +22 -0
  123. mirascope/api/_generated/traces/types/traces_get_trace_detail_response.py +33 -0
  124. mirascope/api/_generated/traces/types/traces_get_trace_detail_response_spans_item.py +90 -0
  125. mirascope/api/_generated/traces/types/traces_search_request_attribute_filters_item.py +26 -0
  126. mirascope/api/_generated/traces/types/traces_search_request_attribute_filters_item_operator.py +7 -0
  127. mirascope/api/_generated/traces/types/traces_search_request_sort_by.py +7 -0
  128. mirascope/api/_generated/traces/types/traces_search_request_sort_order.py +5 -0
  129. mirascope/api/_generated/traces/types/traces_search_response.py +26 -0
  130. mirascope/api/_generated/traces/types/traces_search_response_spans_item.py +41 -0
  131. mirascope/api/_generated/types/__init__.py +18 -0
  132. mirascope/api/_generated/types/already_exists_error.py +1 -3
  133. mirascope/api/_generated/types/click_house_error.py +22 -0
  134. mirascope/api/_generated/types/database_error.py +1 -3
  135. mirascope/api/_generated/types/http_api_decode_error.py +1 -3
  136. mirascope/api/_generated/types/internal_server_error_body.py +49 -0
  137. mirascope/api/_generated/types/issue.py +1 -3
  138. mirascope/api/_generated/types/issue_tag.py +1 -8
  139. mirascope/api/_generated/types/not_found_error_body.py +1 -3
  140. mirascope/api/_generated/types/number_from_string.py +3 -0
  141. mirascope/api/_generated/types/permission_denied_error.py +1 -3
  142. mirascope/api/_generated/types/permission_denied_error_tag.py +1 -3
  143. mirascope/api/_generated/types/property_key_key.py +1 -3
  144. mirascope/api/_generated/types/stripe_error.py +20 -0
  145. mirascope/api/_generated/types/unauthorized_error_body.py +21 -0
  146. mirascope/api/_generated/types/unauthorized_error_tag.py +5 -0
  147. mirascope/llm/__init__.py +6 -2
  148. mirascope/llm/content/tool_call.py +6 -0
  149. mirascope/llm/exceptions.py +28 -0
  150. mirascope/llm/formatting/__init__.py +2 -2
  151. mirascope/llm/formatting/format.py +120 -8
  152. mirascope/llm/formatting/types.py +1 -56
  153. mirascope/llm/mcp/__init__.py +2 -2
  154. mirascope/llm/mcp/mcp_client.py +130 -0
  155. mirascope/llm/providers/__init__.py +26 -5
  156. mirascope/llm/providers/anthropic/__init__.py +3 -21
  157. mirascope/llm/providers/anthropic/_utils/__init__.py +2 -0
  158. mirascope/llm/providers/anthropic/_utils/beta_decode.py +4 -2
  159. mirascope/llm/providers/anthropic/_utils/beta_encode.py +13 -12
  160. mirascope/llm/providers/anthropic/_utils/decode.py +4 -2
  161. mirascope/llm/providers/anthropic/_utils/encode.py +57 -14
  162. mirascope/llm/providers/anthropic/_utils/errors.py +46 -0
  163. mirascope/llm/providers/anthropic/beta_provider.py +6 -0
  164. mirascope/llm/providers/anthropic/provider.py +5 -0
  165. mirascope/llm/providers/base/__init__.py +5 -2
  166. mirascope/llm/providers/base/_utils.py +2 -7
  167. mirascope/llm/providers/base/base_provider.py +173 -58
  168. mirascope/llm/providers/base/params.py +63 -34
  169. mirascope/llm/providers/google/__init__.py +2 -17
  170. mirascope/llm/providers/google/_utils/__init__.py +2 -0
  171. mirascope/llm/providers/google/_utils/decode.py +17 -8
  172. mirascope/llm/providers/google/_utils/encode.py +105 -16
  173. mirascope/llm/providers/google/_utils/errors.py +49 -0
  174. mirascope/llm/providers/google/model_info.py +1 -0
  175. mirascope/llm/providers/google/provider.py +9 -5
  176. mirascope/llm/providers/mirascope/__init__.py +5 -0
  177. mirascope/llm/providers/mirascope/_utils.py +77 -0
  178. mirascope/llm/providers/mirascope/provider.py +318 -0
  179. mirascope/llm/providers/mlx/__init__.py +2 -17
  180. mirascope/llm/providers/mlx/_utils.py +9 -2
  181. mirascope/llm/providers/mlx/provider.py +8 -0
  182. mirascope/llm/providers/ollama/__init__.py +1 -13
  183. mirascope/llm/providers/openai/__init__.py +10 -1
  184. mirascope/llm/providers/openai/_utils/__init__.py +5 -0
  185. mirascope/llm/providers/openai/_utils/errors.py +46 -0
  186. mirascope/llm/providers/openai/completions/__init__.py +2 -20
  187. mirascope/llm/providers/openai/completions/_utils/decode.py +14 -3
  188. mirascope/llm/providers/openai/completions/_utils/encode.py +15 -12
  189. mirascope/llm/providers/openai/completions/base_provider.py +6 -6
  190. mirascope/llm/providers/openai/provider.py +14 -1
  191. mirascope/llm/providers/openai/responses/__init__.py +1 -17
  192. mirascope/llm/providers/openai/responses/_utils/decode.py +2 -2
  193. mirascope/llm/providers/openai/responses/_utils/encode.py +43 -15
  194. mirascope/llm/providers/openai/responses/provider.py +13 -7
  195. mirascope/llm/providers/provider_id.py +1 -0
  196. mirascope/llm/providers/provider_registry.py +59 -3
  197. mirascope/llm/providers/together/__init__.py +1 -13
  198. mirascope/llm/responses/base_stream_response.py +24 -20
  199. mirascope/llm/tools/decorator.py +8 -4
  200. mirascope/llm/tools/tool_schema.py +33 -6
  201. mirascope/llm/tools/tools.py +84 -16
  202. mirascope/ops/__init__.py +60 -109
  203. mirascope/ops/_internal/closure.py +62 -11
  204. mirascope/ops/_internal/instrumentation/llm/llm.py +1 -2
  205. mirascope/ops/_internal/traced_functions.py +23 -4
  206. mirascope/ops/_internal/versioned_functions.py +54 -43
  207. {mirascope-2.0.0a4.dist-info → mirascope-2.0.0a6.dist-info}/METADATA +7 -7
  208. mirascope-2.0.0a6.dist-info/RECORD +316 -0
  209. mirascope/llm/formatting/_utils.py +0 -78
  210. mirascope/llm/mcp/client.py +0 -118
  211. mirascope/llm/providers/_missing_import_stubs.py +0 -49
  212. mirascope/llm/providers/load_provider.py +0 -54
  213. mirascope-2.0.0a4.dist-info/RECORD +0 -247
  214. {mirascope-2.0.0a4.dist-info → mirascope-2.0.0a6.dist-info}/WHEEL +0 -0
  215. {mirascope-2.0.0a4.dist-info → mirascope-2.0.0a6.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,54 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ import typing_extensions
7
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
8
+ from ...core.serialization import FieldMetadata
9
+ from .traces_get_analytics_summary_response_top_functions_item import (
10
+ TracesGetAnalyticsSummaryResponseTopFunctionsItem,
11
+ )
12
+ from .traces_get_analytics_summary_response_top_models_item import (
13
+ TracesGetAnalyticsSummaryResponseTopModelsItem,
14
+ )
15
+
16
+
17
+ class TracesGetAnalyticsSummaryResponse(UniversalBaseModel):
18
+ total_spans: typing_extensions.Annotated[float, FieldMetadata(alias="totalSpans")]
19
+ avg_duration_ms: typing_extensions.Annotated[
20
+ typing.Optional[float], FieldMetadata(alias="avgDurationMs")
21
+ ] = None
22
+ p50duration_ms: typing_extensions.Annotated[
23
+ typing.Optional[float], FieldMetadata(alias="p50DurationMs")
24
+ ] = None
25
+ p95duration_ms: typing_extensions.Annotated[
26
+ typing.Optional[float], FieldMetadata(alias="p95DurationMs")
27
+ ] = None
28
+ p99duration_ms: typing_extensions.Annotated[
29
+ typing.Optional[float], FieldMetadata(alias="p99DurationMs")
30
+ ] = None
31
+ error_rate: typing_extensions.Annotated[float, FieldMetadata(alias="errorRate")]
32
+ total_tokens: typing_extensions.Annotated[float, FieldMetadata(alias="totalTokens")]
33
+ total_cost_usd: typing_extensions.Annotated[
34
+ float, FieldMetadata(alias="totalCostUsd")
35
+ ]
36
+ top_models: typing_extensions.Annotated[
37
+ typing.List[TracesGetAnalyticsSummaryResponseTopModelsItem],
38
+ FieldMetadata(alias="topModels"),
39
+ ]
40
+ top_functions: typing_extensions.Annotated[
41
+ typing.List[TracesGetAnalyticsSummaryResponseTopFunctionsItem],
42
+ FieldMetadata(alias="topFunctions"),
43
+ ]
44
+
45
+ if IS_PYDANTIC_V2:
46
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
47
+ extra="allow", frozen=True
48
+ ) # type: ignore # Pydantic v2
49
+ else:
50
+
51
+ class Config:
52
+ frozen = True
53
+ smart_union = True
54
+ extra = pydantic.Extra.allow
@@ -0,0 +1,24 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ import typing_extensions
7
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
8
+ from ...core.serialization import FieldMetadata
9
+
10
+
11
+ class TracesGetAnalyticsSummaryResponseTopFunctionsItem(UniversalBaseModel):
12
+ function_name: typing_extensions.Annotated[str, FieldMetadata(alias="functionName")]
13
+ count: float
14
+
15
+ if IS_PYDANTIC_V2:
16
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
17
+ extra="allow", frozen=True
18
+ ) # type: ignore # Pydantic v2
19
+ else:
20
+
21
+ class Config:
22
+ frozen = True
23
+ smart_union = True
24
+ extra = pydantic.Extra.allow
@@ -0,0 +1,22 @@
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 TracesGetAnalyticsSummaryResponseTopModelsItem(UniversalBaseModel):
10
+ model: str
11
+ count: float
12
+
13
+ if IS_PYDANTIC_V2:
14
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
15
+ extra="allow", frozen=True
16
+ ) # 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,33 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ import typing_extensions
7
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
8
+ from ...core.serialization import FieldMetadata
9
+ from .traces_get_trace_detail_response_spans_item import (
10
+ TracesGetTraceDetailResponseSpansItem,
11
+ )
12
+
13
+
14
+ class TracesGetTraceDetailResponse(UniversalBaseModel):
15
+ trace_id: typing_extensions.Annotated[str, FieldMetadata(alias="traceId")]
16
+ spans: typing.List[TracesGetTraceDetailResponseSpansItem]
17
+ root_span_id: typing_extensions.Annotated[
18
+ typing.Optional[str], FieldMetadata(alias="rootSpanId")
19
+ ] = None
20
+ total_duration_ms: typing_extensions.Annotated[
21
+ typing.Optional[float], FieldMetadata(alias="totalDurationMs")
22
+ ] = None
23
+
24
+ if IS_PYDANTIC_V2:
25
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
26
+ extra="allow", frozen=True
27
+ ) # type: ignore # Pydantic v2
28
+ else:
29
+
30
+ class Config:
31
+ frozen = True
32
+ smart_union = True
33
+ extra = pydantic.Extra.allow
@@ -0,0 +1,90 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ import typing_extensions
7
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
8
+ from ...core.serialization import FieldMetadata
9
+
10
+
11
+ class TracesGetTraceDetailResponseSpansItem(UniversalBaseModel):
12
+ id: str
13
+ trace_db_id: typing_extensions.Annotated[str, FieldMetadata(alias="traceDbId")]
14
+ trace_id: typing_extensions.Annotated[str, FieldMetadata(alias="traceId")]
15
+ span_id: typing_extensions.Annotated[str, FieldMetadata(alias="spanId")]
16
+ parent_span_id: typing_extensions.Annotated[
17
+ typing.Optional[str], FieldMetadata(alias="parentSpanId")
18
+ ] = None
19
+ environment_id: typing_extensions.Annotated[
20
+ str, FieldMetadata(alias="environmentId")
21
+ ]
22
+ project_id: typing_extensions.Annotated[str, FieldMetadata(alias="projectId")]
23
+ organization_id: typing_extensions.Annotated[
24
+ str, FieldMetadata(alias="organizationId")
25
+ ]
26
+ start_time: typing_extensions.Annotated[str, FieldMetadata(alias="startTime")]
27
+ end_time: typing_extensions.Annotated[str, FieldMetadata(alias="endTime")]
28
+ duration_ms: typing_extensions.Annotated[
29
+ typing.Optional[float], FieldMetadata(alias="durationMs")
30
+ ] = None
31
+ name: str
32
+ kind: float
33
+ status_code: typing_extensions.Annotated[
34
+ typing.Optional[float], FieldMetadata(alias="statusCode")
35
+ ] = None
36
+ status_message: typing_extensions.Annotated[
37
+ typing.Optional[str], FieldMetadata(alias="statusMessage")
38
+ ] = None
39
+ model: typing.Optional[str] = None
40
+ provider: typing.Optional[str] = None
41
+ input_tokens: typing_extensions.Annotated[
42
+ typing.Optional[float], FieldMetadata(alias="inputTokens")
43
+ ] = None
44
+ output_tokens: typing_extensions.Annotated[
45
+ typing.Optional[float], FieldMetadata(alias="outputTokens")
46
+ ] = None
47
+ total_tokens: typing_extensions.Annotated[
48
+ typing.Optional[float], FieldMetadata(alias="totalTokens")
49
+ ] = None
50
+ cost_usd: typing_extensions.Annotated[
51
+ typing.Optional[float], FieldMetadata(alias="costUsd")
52
+ ] = None
53
+ function_id: typing_extensions.Annotated[
54
+ typing.Optional[str], FieldMetadata(alias="functionId")
55
+ ] = None
56
+ function_name: typing_extensions.Annotated[
57
+ typing.Optional[str], FieldMetadata(alias="functionName")
58
+ ] = None
59
+ function_version: typing_extensions.Annotated[
60
+ typing.Optional[str], FieldMetadata(alias="functionVersion")
61
+ ] = None
62
+ error_type: typing_extensions.Annotated[
63
+ typing.Optional[str], FieldMetadata(alias="errorType")
64
+ ] = None
65
+ error_message: typing_extensions.Annotated[
66
+ typing.Optional[str], FieldMetadata(alias="errorMessage")
67
+ ] = None
68
+ attributes: str
69
+ events: typing.Optional[str] = None
70
+ links: typing.Optional[str] = None
71
+ service_name: typing_extensions.Annotated[
72
+ typing.Optional[str], FieldMetadata(alias="serviceName")
73
+ ] = None
74
+ service_version: typing_extensions.Annotated[
75
+ typing.Optional[str], FieldMetadata(alias="serviceVersion")
76
+ ] = None
77
+ resource_attributes: typing_extensions.Annotated[
78
+ typing.Optional[str], FieldMetadata(alias="resourceAttributes")
79
+ ] = None
80
+
81
+ if IS_PYDANTIC_V2:
82
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
83
+ extra="allow", frozen=True
84
+ ) # type: ignore # Pydantic v2
85
+ else:
86
+
87
+ class Config:
88
+ frozen = True
89
+ smart_union = True
90
+ extra = pydantic.Extra.allow
@@ -0,0 +1,26 @@
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 .traces_search_request_attribute_filters_item_operator import (
8
+ TracesSearchRequestAttributeFiltersItemOperator,
9
+ )
10
+
11
+
12
+ class TracesSearchRequestAttributeFiltersItem(UniversalBaseModel):
13
+ key: str
14
+ operator: TracesSearchRequestAttributeFiltersItemOperator
15
+ value: typing.Optional[str] = None
16
+
17
+ if IS_PYDANTIC_V2:
18
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
19
+ extra="allow", frozen=True
20
+ ) # type: ignore # Pydantic v2
21
+ else:
22
+
23
+ class Config:
24
+ frozen = True
25
+ smart_union = True
26
+ extra = pydantic.Extra.allow
@@ -0,0 +1,7 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ TracesSearchRequestAttributeFiltersItemOperator = typing.Union[
6
+ typing.Literal["eq", "neq", "contains", "exists"], typing.Any
7
+ ]
@@ -0,0 +1,7 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ TracesSearchRequestSortBy = typing.Union[
6
+ typing.Literal["start_time", "duration_ms", "total_tokens"], typing.Any
7
+ ]
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ TracesSearchRequestSortOrder = typing.Union[typing.Literal["asc", "desc"], typing.Any]
@@ -0,0 +1,26 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ import typing_extensions
7
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
8
+ from ...core.serialization import FieldMetadata
9
+ from .traces_search_response_spans_item import TracesSearchResponseSpansItem
10
+
11
+
12
+ class TracesSearchResponse(UniversalBaseModel):
13
+ spans: typing.List[TracesSearchResponseSpansItem]
14
+ total: float
15
+ has_more: typing_extensions.Annotated[bool, FieldMetadata(alias="hasMore")]
16
+
17
+ if IS_PYDANTIC_V2:
18
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
19
+ extra="allow", frozen=True
20
+ ) # type: ignore # Pydantic v2
21
+ else:
22
+
23
+ class Config:
24
+ frozen = True
25
+ smart_union = True
26
+ extra = pydantic.Extra.allow
@@ -0,0 +1,41 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ import typing_extensions
7
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
8
+ from ...core.serialization import FieldMetadata
9
+
10
+
11
+ class TracesSearchResponseSpansItem(UniversalBaseModel):
12
+ id: str
13
+ trace_id: typing_extensions.Annotated[str, FieldMetadata(alias="traceId")]
14
+ span_id: typing_extensions.Annotated[str, FieldMetadata(alias="spanId")]
15
+ name: str
16
+ start_time: typing_extensions.Annotated[str, FieldMetadata(alias="startTime")]
17
+ duration_ms: typing_extensions.Annotated[
18
+ typing.Optional[float], FieldMetadata(alias="durationMs")
19
+ ] = None
20
+ model: typing.Optional[str] = None
21
+ provider: typing.Optional[str] = None
22
+ total_tokens: typing_extensions.Annotated[
23
+ typing.Optional[float], FieldMetadata(alias="totalTokens")
24
+ ] = None
25
+ function_id: typing_extensions.Annotated[
26
+ typing.Optional[str], FieldMetadata(alias="functionId")
27
+ ] = None
28
+ function_name: typing_extensions.Annotated[
29
+ typing.Optional[str], FieldMetadata(alias="functionName")
30
+ ] = None
31
+
32
+ if IS_PYDANTIC_V2:
33
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
34
+ extra="allow", frozen=True
35
+ ) # type: ignore # Pydantic v2
36
+ else:
37
+
38
+ class Config:
39
+ frozen = True
40
+ smart_union = True
41
+ extra = pydantic.Extra.allow
@@ -4,34 +4,52 @@
4
4
 
5
5
  from .already_exists_error import AlreadyExistsError
6
6
  from .already_exists_error_tag import AlreadyExistsErrorTag
7
+ from .click_house_error import ClickHouseError
7
8
  from .database_error import DatabaseError
8
9
  from .database_error_tag import DatabaseErrorTag
9
10
  from .http_api_decode_error import HttpApiDecodeError
10
11
  from .http_api_decode_error_tag import HttpApiDecodeErrorTag
12
+ from .internal_server_error_body import (
13
+ InternalServerErrorBody,
14
+ InternalServerErrorBody_DatabaseError,
15
+ InternalServerErrorBody_StripeError,
16
+ )
11
17
  from .issue import Issue
12
18
  from .issue_tag import IssueTag
13
19
  from .not_found_error_body import NotFoundErrorBody
14
20
  from .not_found_error_tag import NotFoundErrorTag
21
+ from .number_from_string import NumberFromString
15
22
  from .permission_denied_error import PermissionDeniedError
16
23
  from .permission_denied_error_tag import PermissionDeniedErrorTag
17
24
  from .property_key import PropertyKey
18
25
  from .property_key_key import PropertyKeyKey
19
26
  from .property_key_key_tag import PropertyKeyKeyTag
27
+ from .stripe_error import StripeError
28
+ from .unauthorized_error_body import UnauthorizedErrorBody
29
+ from .unauthorized_error_tag import UnauthorizedErrorTag
20
30
 
21
31
  __all__ = [
22
32
  "AlreadyExistsError",
23
33
  "AlreadyExistsErrorTag",
34
+ "ClickHouseError",
24
35
  "DatabaseError",
25
36
  "DatabaseErrorTag",
26
37
  "HttpApiDecodeError",
27
38
  "HttpApiDecodeErrorTag",
39
+ "InternalServerErrorBody",
40
+ "InternalServerErrorBody_DatabaseError",
41
+ "InternalServerErrorBody_StripeError",
28
42
  "Issue",
29
43
  "IssueTag",
30
44
  "NotFoundErrorBody",
31
45
  "NotFoundErrorTag",
46
+ "NumberFromString",
32
47
  "PermissionDeniedError",
33
48
  "PermissionDeniedErrorTag",
34
49
  "PropertyKey",
35
50
  "PropertyKeyKey",
36
51
  "PropertyKeyKeyTag",
52
+ "StripeError",
53
+ "UnauthorizedErrorBody",
54
+ "UnauthorizedErrorTag",
37
55
  ]
@@ -13,9 +13,7 @@ class AlreadyExistsError(UniversalBaseModel):
13
13
  tag: AlreadyExistsErrorTag
14
14
 
15
15
  if IS_PYDANTIC_V2:
16
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
17
- extra="allow", frozen=True
18
- ) # type: ignore # Pydantic v2
16
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
19
17
  else:
20
18
 
21
19
  class Config:
@@ -0,0 +1,22 @@
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 ClickHouseError(UniversalBaseModel):
10
+ message: str
11
+ cause: typing.Optional[typing.Optional[typing.Any]] = None
12
+
13
+ if IS_PYDANTIC_V2:
14
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
15
+ extra="allow", frozen=True
16
+ ) # type: ignore # Pydantic v2
17
+ else:
18
+
19
+ class Config:
20
+ frozen = True
21
+ smart_union = True
22
+ extra = pydantic.Extra.allow
@@ -13,9 +13,7 @@ class DatabaseError(UniversalBaseModel):
13
13
  tag: DatabaseErrorTag
14
14
 
15
15
  if IS_PYDANTIC_V2:
16
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
17
- extra="allow", frozen=True
18
- ) # type: ignore # Pydantic v2
16
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
19
17
  else:
20
18
 
21
19
  class Config:
@@ -18,9 +18,7 @@ class HttpApiDecodeError(UniversalBaseModel):
18
18
  tag: HttpApiDecodeErrorTag
19
19
 
20
20
  if IS_PYDANTIC_V2:
21
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
22
- extra="allow", frozen=True
23
- ) # type: ignore # Pydantic v2
21
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
24
22
  else:
25
23
 
26
24
  class Config:
@@ -0,0 +1,49 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from __future__ import annotations
4
+
5
+ import typing
6
+
7
+ import pydantic
8
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
9
+ from .database_error_tag import DatabaseErrorTag
10
+
11
+
12
+ class InternalServerErrorBody_StripeError(UniversalBaseModel):
13
+ tag: typing.Literal["StripeError"] = "StripeError"
14
+ message: str
15
+ cause: typing.Optional[typing.Optional[typing.Any]] = None
16
+
17
+ if IS_PYDANTIC_V2:
18
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
19
+ extra="allow", frozen=True
20
+ ) # 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
+ class InternalServerErrorBody_DatabaseError(UniversalBaseModel):
30
+ tag: typing.Literal["DatabaseError"] = "DatabaseError"
31
+ message: str
32
+ cause: typing.Optional[typing.Optional[typing.Any]] = None
33
+ tag: DatabaseErrorTag
34
+
35
+ if IS_PYDANTIC_V2:
36
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
37
+ extra="allow", frozen=True
38
+ ) # 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
+ InternalServerErrorBody = typing.Union[
48
+ InternalServerErrorBody_StripeError, InternalServerErrorBody_DatabaseError
49
+ ]
@@ -29,9 +29,7 @@ class Issue(UniversalBaseModel):
29
29
  """
30
30
 
31
31
  if IS_PYDANTIC_V2:
32
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
33
- extra="allow", frozen=True
34
- ) # type: ignore # Pydantic v2
32
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
35
33
  else:
36
34
 
37
35
  class Config:
@@ -4,14 +4,7 @@ import typing
4
4
 
5
5
  IssueTag = typing.Union[
6
6
  typing.Literal[
7
- "Pointer",
8
- "Unexpected",
9
- "Missing",
10
- "Composite",
11
- "Refinement",
12
- "Transformation",
13
- "Type",
14
- "Forbidden",
7
+ "Pointer", "Unexpected", "Missing", "Composite", "Refinement", "Transformation", "Type", "Forbidden"
15
8
  ],
16
9
  typing.Any,
17
10
  ]
@@ -13,9 +13,7 @@ class NotFoundErrorBody(UniversalBaseModel):
13
13
  tag: NotFoundErrorTag
14
14
 
15
15
  if IS_PYDANTIC_V2:
16
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
17
- extra="allow", frozen=True
18
- ) # type: ignore # Pydantic v2
16
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
19
17
  else:
20
18
 
21
19
  class Config:
@@ -0,0 +1,3 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ NumberFromString = str
@@ -13,9 +13,7 @@ class PermissionDeniedError(UniversalBaseModel):
13
13
  tag: PermissionDeniedErrorTag
14
14
 
15
15
  if IS_PYDANTIC_V2:
16
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
17
- extra="allow", frozen=True
18
- ) # type: ignore # Pydantic v2
16
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
19
17
  else:
20
18
 
21
19
  class Config:
@@ -2,6 +2,4 @@
2
2
 
3
3
  import typing
4
4
 
5
- PermissionDeniedErrorTag = typing.Union[
6
- typing.Literal["PermissionDeniedError"], typing.Any
7
- ]
5
+ PermissionDeniedErrorTag = typing.Union[typing.Literal["PermissionDeniedError"], typing.Any]
@@ -16,9 +16,7 @@ class PropertyKeyKey(UniversalBaseModel):
16
16
  key: str
17
17
 
18
18
  if IS_PYDANTIC_V2:
19
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
20
- extra="allow", frozen=True
21
- ) # type: ignore # Pydantic v2
19
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
22
20
  else:
23
21
 
24
22
  class Config:
@@ -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 StripeError(UniversalBaseModel):
10
+ message: str
11
+ cause: typing.Optional[typing.Optional[typing.Any]] = 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 .unauthorized_error_tag import UnauthorizedErrorTag
8
+
9
+
10
+ class UnauthorizedErrorBody(UniversalBaseModel):
11
+ message: str
12
+ tag: UnauthorizedErrorTag
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
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ UnauthorizedErrorTag = typing.Union[typing.Literal["UnauthorizedError"], typing.Any]