mirascope 2.0.0a1__py3-none-any.whl → 2.0.0a3__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 (205) hide show
  1. mirascope/__init__.py +2 -2
  2. mirascope/api/__init__.py +6 -0
  3. mirascope/api/_generated/README.md +207 -0
  4. mirascope/api/_generated/__init__.py +85 -0
  5. mirascope/api/_generated/client.py +155 -0
  6. mirascope/api/_generated/core/__init__.py +52 -0
  7. mirascope/api/_generated/core/api_error.py +23 -0
  8. mirascope/api/_generated/core/client_wrapper.py +58 -0
  9. mirascope/api/_generated/core/datetime_utils.py +30 -0
  10. mirascope/api/_generated/core/file.py +70 -0
  11. mirascope/api/_generated/core/force_multipart.py +16 -0
  12. mirascope/api/_generated/core/http_client.py +619 -0
  13. mirascope/api/_generated/core/http_response.py +55 -0
  14. mirascope/api/_generated/core/jsonable_encoder.py +102 -0
  15. mirascope/api/_generated/core/pydantic_utilities.py +310 -0
  16. mirascope/api/_generated/core/query_encoder.py +60 -0
  17. mirascope/api/_generated/core/remove_none_from_dict.py +11 -0
  18. mirascope/api/_generated/core/request_options.py +35 -0
  19. mirascope/api/_generated/core/serialization.py +282 -0
  20. mirascope/api/_generated/docs/__init__.py +4 -0
  21. mirascope/api/_generated/docs/client.py +95 -0
  22. mirascope/api/_generated/docs/raw_client.py +132 -0
  23. mirascope/api/_generated/environment.py +9 -0
  24. mirascope/api/_generated/errors/__init__.py +7 -0
  25. mirascope/api/_generated/errors/bad_request_error.py +15 -0
  26. mirascope/api/_generated/health/__init__.py +7 -0
  27. mirascope/api/_generated/health/client.py +96 -0
  28. mirascope/api/_generated/health/raw_client.py +129 -0
  29. mirascope/api/_generated/health/types/__init__.py +8 -0
  30. mirascope/api/_generated/health/types/health_check_response.py +24 -0
  31. mirascope/api/_generated/health/types/health_check_response_status.py +5 -0
  32. mirascope/api/_generated/reference.md +167 -0
  33. mirascope/api/_generated/traces/__init__.py +55 -0
  34. mirascope/api/_generated/traces/client.py +162 -0
  35. mirascope/api/_generated/traces/raw_client.py +168 -0
  36. mirascope/api/_generated/traces/types/__init__.py +95 -0
  37. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item.py +36 -0
  38. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource.py +31 -0
  39. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item.py +25 -0
  40. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value.py +54 -0
  41. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value_array_value.py +23 -0
  42. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value_kvlist_value.py +28 -0
  43. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value_kvlist_value_values_item.py +24 -0
  44. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item.py +35 -0
  45. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope.py +35 -0
  46. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item.py +27 -0
  47. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value.py +54 -0
  48. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_array_value.py +23 -0
  49. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_kvlist_value.py +28 -0
  50. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_kvlist_value_values_item.py +24 -0
  51. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item.py +60 -0
  52. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item.py +29 -0
  53. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value.py +54 -0
  54. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_array_value.py +23 -0
  55. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_kvlist_value.py +28 -0
  56. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_kvlist_value_values_item.py +24 -0
  57. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_status.py +24 -0
  58. mirascope/api/_generated/traces/types/traces_create_response.py +27 -0
  59. mirascope/api/_generated/traces/types/traces_create_response_partial_success.py +28 -0
  60. mirascope/api/_generated/types/__init__.py +21 -0
  61. mirascope/api/_generated/types/http_api_decode_error.py +31 -0
  62. mirascope/api/_generated/types/http_api_decode_error_tag.py +5 -0
  63. mirascope/api/_generated/types/issue.py +44 -0
  64. mirascope/api/_generated/types/issue_tag.py +17 -0
  65. mirascope/api/_generated/types/property_key.py +7 -0
  66. mirascope/api/_generated/types/property_key_tag.py +29 -0
  67. mirascope/api/_generated/types/property_key_tag_tag.py +5 -0
  68. mirascope/api/client.py +255 -0
  69. mirascope/api/settings.py +81 -0
  70. mirascope/llm/__init__.py +41 -11
  71. mirascope/llm/calls/calls.py +81 -57
  72. mirascope/llm/calls/decorator.py +121 -115
  73. mirascope/llm/content/__init__.py +3 -2
  74. mirascope/llm/context/_utils.py +19 -6
  75. mirascope/llm/exceptions.py +30 -16
  76. mirascope/llm/formatting/_utils.py +9 -5
  77. mirascope/llm/formatting/format.py +2 -2
  78. mirascope/llm/formatting/from_call_args.py +2 -2
  79. mirascope/llm/messages/message.py +13 -5
  80. mirascope/llm/models/__init__.py +2 -2
  81. mirascope/llm/models/models.py +189 -81
  82. mirascope/llm/prompts/__init__.py +13 -12
  83. mirascope/llm/prompts/_utils.py +27 -24
  84. mirascope/llm/prompts/decorator.py +133 -204
  85. mirascope/llm/prompts/prompts.py +424 -0
  86. mirascope/llm/prompts/protocols.py +25 -59
  87. mirascope/llm/providers/__init__.py +38 -0
  88. mirascope/llm/{clients → providers}/_missing_import_stubs.py +8 -6
  89. mirascope/llm/providers/anthropic/__init__.py +24 -0
  90. mirascope/llm/{clients → providers}/anthropic/_utils/decode.py +5 -4
  91. mirascope/llm/{clients → providers}/anthropic/_utils/encode.py +31 -10
  92. mirascope/llm/providers/anthropic/model_id.py +40 -0
  93. mirascope/llm/{clients/anthropic/clients.py → providers/anthropic/provider.py} +33 -418
  94. mirascope/llm/{clients → providers}/base/__init__.py +3 -3
  95. mirascope/llm/{clients → providers}/base/_utils.py +10 -7
  96. mirascope/llm/{clients/base/client.py → providers/base/base_provider.py} +255 -126
  97. mirascope/llm/providers/google/__init__.py +21 -0
  98. mirascope/llm/{clients → providers}/google/_utils/decode.py +6 -4
  99. mirascope/llm/{clients → providers}/google/_utils/encode.py +30 -24
  100. mirascope/llm/providers/google/model_id.py +28 -0
  101. mirascope/llm/providers/google/provider.py +438 -0
  102. mirascope/llm/providers/load_provider.py +48 -0
  103. mirascope/llm/providers/mlx/__init__.py +24 -0
  104. mirascope/llm/providers/mlx/_utils.py +107 -0
  105. mirascope/llm/providers/mlx/encoding/__init__.py +8 -0
  106. mirascope/llm/providers/mlx/encoding/base.py +69 -0
  107. mirascope/llm/providers/mlx/encoding/transformers.py +131 -0
  108. mirascope/llm/providers/mlx/mlx.py +237 -0
  109. mirascope/llm/providers/mlx/model_id.py +17 -0
  110. mirascope/llm/providers/mlx/provider.py +411 -0
  111. mirascope/llm/providers/model_id.py +16 -0
  112. mirascope/llm/providers/openai/__init__.py +6 -0
  113. mirascope/llm/providers/openai/completions/__init__.py +20 -0
  114. mirascope/llm/{clients/openai/responses → providers/openai/completions}/_utils/__init__.py +2 -0
  115. mirascope/llm/{clients → providers}/openai/completions/_utils/decode.py +5 -3
  116. mirascope/llm/{clients → providers}/openai/completions/_utils/encode.py +33 -23
  117. mirascope/llm/providers/openai/completions/provider.py +456 -0
  118. mirascope/llm/providers/openai/model_id.py +31 -0
  119. mirascope/llm/providers/openai/model_info.py +246 -0
  120. mirascope/llm/providers/openai/provider.py +386 -0
  121. mirascope/llm/providers/openai/responses/__init__.py +21 -0
  122. mirascope/llm/{clients → providers}/openai/responses/_utils/decode.py +5 -3
  123. mirascope/llm/{clients → providers}/openai/responses/_utils/encode.py +28 -17
  124. mirascope/llm/providers/openai/responses/provider.py +470 -0
  125. mirascope/llm/{clients → providers}/openai/shared/_utils.py +7 -3
  126. mirascope/llm/providers/provider_id.py +13 -0
  127. mirascope/llm/providers/provider_registry.py +167 -0
  128. mirascope/llm/responses/base_response.py +10 -5
  129. mirascope/llm/responses/base_stream_response.py +10 -5
  130. mirascope/llm/responses/response.py +24 -13
  131. mirascope/llm/responses/root_response.py +7 -12
  132. mirascope/llm/responses/stream_response.py +35 -23
  133. mirascope/llm/tools/__init__.py +9 -2
  134. mirascope/llm/tools/_utils.py +12 -3
  135. mirascope/llm/tools/decorator.py +10 -10
  136. mirascope/llm/tools/protocols.py +4 -4
  137. mirascope/llm/tools/tool_schema.py +44 -9
  138. mirascope/llm/tools/tools.py +12 -11
  139. mirascope/ops/__init__.py +156 -0
  140. mirascope/ops/_internal/__init__.py +5 -0
  141. mirascope/ops/_internal/closure.py +1118 -0
  142. mirascope/ops/_internal/configuration.py +126 -0
  143. mirascope/ops/_internal/context.py +76 -0
  144. mirascope/ops/_internal/exporters/__init__.py +26 -0
  145. mirascope/ops/_internal/exporters/exporters.py +342 -0
  146. mirascope/ops/_internal/exporters/processors.py +104 -0
  147. mirascope/ops/_internal/exporters/types.py +165 -0
  148. mirascope/ops/_internal/exporters/utils.py +29 -0
  149. mirascope/ops/_internal/instrumentation/__init__.py +8 -0
  150. mirascope/ops/_internal/instrumentation/llm/__init__.py +8 -0
  151. mirascope/ops/_internal/instrumentation/llm/encode.py +238 -0
  152. mirascope/ops/_internal/instrumentation/llm/gen_ai_types/__init__.py +38 -0
  153. mirascope/ops/_internal/instrumentation/llm/gen_ai_types/gen_ai_input_messages.py +31 -0
  154. mirascope/ops/_internal/instrumentation/llm/gen_ai_types/gen_ai_output_messages.py +38 -0
  155. mirascope/ops/_internal/instrumentation/llm/gen_ai_types/gen_ai_system_instructions.py +18 -0
  156. mirascope/ops/_internal/instrumentation/llm/gen_ai_types/shared.py +100 -0
  157. mirascope/ops/_internal/instrumentation/llm/llm.py +1288 -0
  158. mirascope/ops/_internal/propagation.py +198 -0
  159. mirascope/ops/_internal/protocols.py +51 -0
  160. mirascope/ops/_internal/session.py +139 -0
  161. mirascope/ops/_internal/spans.py +232 -0
  162. mirascope/ops/_internal/traced_calls.py +371 -0
  163. mirascope/ops/_internal/traced_functions.py +394 -0
  164. mirascope/ops/_internal/tracing.py +276 -0
  165. mirascope/ops/_internal/types.py +13 -0
  166. mirascope/ops/_internal/utils.py +75 -0
  167. mirascope/ops/_internal/versioned_calls.py +512 -0
  168. mirascope/ops/_internal/versioned_functions.py +346 -0
  169. mirascope/ops/_internal/versioning.py +303 -0
  170. mirascope/ops/exceptions.py +21 -0
  171. {mirascope-2.0.0a1.dist-info → mirascope-2.0.0a3.dist-info}/METADATA +77 -1
  172. mirascope-2.0.0a3.dist-info/RECORD +206 -0
  173. {mirascope-2.0.0a1.dist-info → mirascope-2.0.0a3.dist-info}/WHEEL +1 -1
  174. mirascope/graphs/__init__.py +0 -22
  175. mirascope/graphs/finite_state_machine.py +0 -625
  176. mirascope/llm/agents/__init__.py +0 -15
  177. mirascope/llm/agents/agent.py +0 -97
  178. mirascope/llm/agents/agent_template.py +0 -45
  179. mirascope/llm/agents/decorator.py +0 -176
  180. mirascope/llm/calls/base_call.py +0 -33
  181. mirascope/llm/clients/__init__.py +0 -34
  182. mirascope/llm/clients/anthropic/__init__.py +0 -25
  183. mirascope/llm/clients/anthropic/model_ids.py +0 -8
  184. mirascope/llm/clients/google/__init__.py +0 -20
  185. mirascope/llm/clients/google/clients.py +0 -853
  186. mirascope/llm/clients/google/model_ids.py +0 -15
  187. mirascope/llm/clients/openai/__init__.py +0 -25
  188. mirascope/llm/clients/openai/completions/__init__.py +0 -28
  189. mirascope/llm/clients/openai/completions/_utils/model_features.py +0 -81
  190. mirascope/llm/clients/openai/completions/clients.py +0 -833
  191. mirascope/llm/clients/openai/completions/model_ids.py +0 -8
  192. mirascope/llm/clients/openai/responses/__init__.py +0 -26
  193. mirascope/llm/clients/openai/responses/_utils/model_features.py +0 -87
  194. mirascope/llm/clients/openai/responses/clients.py +0 -832
  195. mirascope/llm/clients/openai/responses/model_ids.py +0 -8
  196. mirascope/llm/clients/providers.py +0 -175
  197. mirascope-2.0.0a1.dist-info/RECORD +0 -102
  198. /mirascope/llm/{clients → providers}/anthropic/_utils/__init__.py +0 -0
  199. /mirascope/llm/{clients → providers}/base/kwargs.py +0 -0
  200. /mirascope/llm/{clients → providers}/base/params.py +0 -0
  201. /mirascope/llm/{clients → providers}/google/_utils/__init__.py +0 -0
  202. /mirascope/llm/{clients → providers}/google/message.py +0 -0
  203. /mirascope/llm/{clients/openai/completions → providers/openai/responses}/_utils/__init__.py +0 -0
  204. /mirascope/llm/{clients → providers}/openai/shared/__init__.py +0 -0
  205. {mirascope-2.0.0a1.dist-info → mirascope-2.0.0a3.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,168 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+ from json.decoder import JSONDecodeError
5
+
6
+ from ..core.api_error import ApiError
7
+ from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
8
+ from ..core.http_response import AsyncHttpResponse, HttpResponse
9
+ from ..core.pydantic_utilities import parse_obj_as
10
+ from ..core.request_options import RequestOptions
11
+ from ..core.serialization import convert_and_respect_annotation_metadata
12
+ from ..errors.bad_request_error import BadRequestError
13
+ from ..types.http_api_decode_error import HttpApiDecodeError
14
+ from .types.traces_create_request_resource_spans_item import (
15
+ TracesCreateRequestResourceSpansItem,
16
+ )
17
+ from .types.traces_create_response import TracesCreateResponse
18
+
19
+ # this is used as the default value for optional parameters
20
+ OMIT = typing.cast(typing.Any, ...)
21
+
22
+
23
+ class RawTracesClient:
24
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
25
+ self._client_wrapper = client_wrapper
26
+
27
+ def create(
28
+ self,
29
+ *,
30
+ resource_spans: typing.Sequence[TracesCreateRequestResourceSpansItem],
31
+ request_options: typing.Optional[RequestOptions] = None,
32
+ ) -> HttpResponse[TracesCreateResponse]:
33
+ """
34
+ Parameters
35
+ ----------
36
+ resource_spans : typing.Sequence[TracesCreateRequestResourceSpansItem]
37
+
38
+ request_options : typing.Optional[RequestOptions]
39
+ Request-specific configuration.
40
+
41
+ Returns
42
+ -------
43
+ HttpResponse[TracesCreateResponse]
44
+ Success
45
+ """
46
+ _response = self._client_wrapper.httpx_client.request(
47
+ "traces",
48
+ method="POST",
49
+ json={
50
+ "resourceSpans": convert_and_respect_annotation_metadata(
51
+ object_=resource_spans,
52
+ annotation=typing.Sequence[TracesCreateRequestResourceSpansItem],
53
+ direction="write",
54
+ ),
55
+ },
56
+ headers={
57
+ "content-type": "application/json",
58
+ },
59
+ request_options=request_options,
60
+ omit=OMIT,
61
+ )
62
+ try:
63
+ if 200 <= _response.status_code < 300:
64
+ _data = typing.cast(
65
+ TracesCreateResponse,
66
+ parse_obj_as(
67
+ type_=TracesCreateResponse, # type: ignore
68
+ object_=_response.json(),
69
+ ),
70
+ )
71
+ return HttpResponse(response=_response, data=_data)
72
+ if _response.status_code == 400:
73
+ raise BadRequestError(
74
+ headers=dict(_response.headers),
75
+ body=typing.cast(
76
+ HttpApiDecodeError,
77
+ parse_obj_as(
78
+ type_=HttpApiDecodeError, # type: ignore
79
+ object_=_response.json(),
80
+ ),
81
+ ),
82
+ )
83
+ _response_json = _response.json()
84
+ except JSONDecodeError:
85
+ raise ApiError(
86
+ status_code=_response.status_code,
87
+ headers=dict(_response.headers),
88
+ body=_response.text,
89
+ )
90
+ raise ApiError(
91
+ status_code=_response.status_code,
92
+ headers=dict(_response.headers),
93
+ body=_response_json,
94
+ )
95
+
96
+
97
+ class AsyncRawTracesClient:
98
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
99
+ self._client_wrapper = client_wrapper
100
+
101
+ async def create(
102
+ self,
103
+ *,
104
+ resource_spans: typing.Sequence[TracesCreateRequestResourceSpansItem],
105
+ request_options: typing.Optional[RequestOptions] = None,
106
+ ) -> AsyncHttpResponse[TracesCreateResponse]:
107
+ """
108
+ Parameters
109
+ ----------
110
+ resource_spans : typing.Sequence[TracesCreateRequestResourceSpansItem]
111
+
112
+ request_options : typing.Optional[RequestOptions]
113
+ Request-specific configuration.
114
+
115
+ Returns
116
+ -------
117
+ AsyncHttpResponse[TracesCreateResponse]
118
+ Success
119
+ """
120
+ _response = await self._client_wrapper.httpx_client.request(
121
+ "traces",
122
+ method="POST",
123
+ json={
124
+ "resourceSpans": convert_and_respect_annotation_metadata(
125
+ object_=resource_spans,
126
+ annotation=typing.Sequence[TracesCreateRequestResourceSpansItem],
127
+ direction="write",
128
+ ),
129
+ },
130
+ headers={
131
+ "content-type": "application/json",
132
+ },
133
+ request_options=request_options,
134
+ omit=OMIT,
135
+ )
136
+ try:
137
+ if 200 <= _response.status_code < 300:
138
+ _data = typing.cast(
139
+ TracesCreateResponse,
140
+ parse_obj_as(
141
+ type_=TracesCreateResponse, # type: ignore
142
+ object_=_response.json(),
143
+ ),
144
+ )
145
+ return AsyncHttpResponse(response=_response, data=_data)
146
+ if _response.status_code == 400:
147
+ raise BadRequestError(
148
+ headers=dict(_response.headers),
149
+ body=typing.cast(
150
+ HttpApiDecodeError,
151
+ parse_obj_as(
152
+ type_=HttpApiDecodeError, # type: ignore
153
+ object_=_response.json(),
154
+ ),
155
+ ),
156
+ )
157
+ _response_json = _response.json()
158
+ except JSONDecodeError:
159
+ raise ApiError(
160
+ status_code=_response.status_code,
161
+ headers=dict(_response.headers),
162
+ body=_response.text,
163
+ )
164
+ raise ApiError(
165
+ status_code=_response.status_code,
166
+ headers=dict(_response.headers),
167
+ body=_response_json,
168
+ )
@@ -0,0 +1,95 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ # isort: skip_file
4
+
5
+ from .traces_create_request_resource_spans_item import (
6
+ TracesCreateRequestResourceSpansItem,
7
+ )
8
+ from .traces_create_request_resource_spans_item_resource import (
9
+ TracesCreateRequestResourceSpansItemResource,
10
+ )
11
+ from .traces_create_request_resource_spans_item_resource_attributes_item import (
12
+ TracesCreateRequestResourceSpansItemResourceAttributesItem,
13
+ )
14
+ from .traces_create_request_resource_spans_item_resource_attributes_item_value import (
15
+ TracesCreateRequestResourceSpansItemResourceAttributesItemValue,
16
+ )
17
+ from .traces_create_request_resource_spans_item_resource_attributes_item_value_array_value import (
18
+ TracesCreateRequestResourceSpansItemResourceAttributesItemValueArrayValue,
19
+ )
20
+ from .traces_create_request_resource_spans_item_resource_attributes_item_value_kvlist_value import (
21
+ TracesCreateRequestResourceSpansItemResourceAttributesItemValueKvlistValue,
22
+ )
23
+ from .traces_create_request_resource_spans_item_resource_attributes_item_value_kvlist_value_values_item import (
24
+ TracesCreateRequestResourceSpansItemResourceAttributesItemValueKvlistValueValuesItem,
25
+ )
26
+ from .traces_create_request_resource_spans_item_scope_spans_item import (
27
+ TracesCreateRequestResourceSpansItemScopeSpansItem,
28
+ )
29
+ from .traces_create_request_resource_spans_item_scope_spans_item_scope import (
30
+ TracesCreateRequestResourceSpansItemScopeSpansItemScope,
31
+ )
32
+ from .traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item import (
33
+ TracesCreateRequestResourceSpansItemScopeSpansItemScopeAttributesItem,
34
+ )
35
+ from .traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value import (
36
+ TracesCreateRequestResourceSpansItemScopeSpansItemScopeAttributesItemValue,
37
+ )
38
+ from .traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_array_value import (
39
+ TracesCreateRequestResourceSpansItemScopeSpansItemScopeAttributesItemValueArrayValue,
40
+ )
41
+ from .traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_kvlist_value import (
42
+ TracesCreateRequestResourceSpansItemScopeSpansItemScopeAttributesItemValueKvlistValue,
43
+ )
44
+ from .traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_kvlist_value_values_item import (
45
+ TracesCreateRequestResourceSpansItemScopeSpansItemScopeAttributesItemValueKvlistValueValuesItem,
46
+ )
47
+ from .traces_create_request_resource_spans_item_scope_spans_item_spans_item import (
48
+ TracesCreateRequestResourceSpansItemScopeSpansItemSpansItem,
49
+ )
50
+ from .traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item import (
51
+ TracesCreateRequestResourceSpansItemScopeSpansItemSpansItemAttributesItem,
52
+ )
53
+ from .traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value import (
54
+ TracesCreateRequestResourceSpansItemScopeSpansItemSpansItemAttributesItemValue,
55
+ )
56
+ from .traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_array_value import (
57
+ TracesCreateRequestResourceSpansItemScopeSpansItemSpansItemAttributesItemValueArrayValue,
58
+ )
59
+ from .traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_kvlist_value import (
60
+ TracesCreateRequestResourceSpansItemScopeSpansItemSpansItemAttributesItemValueKvlistValue,
61
+ )
62
+ from .traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_kvlist_value_values_item import (
63
+ TracesCreateRequestResourceSpansItemScopeSpansItemSpansItemAttributesItemValueKvlistValueValuesItem,
64
+ )
65
+ from .traces_create_request_resource_spans_item_scope_spans_item_spans_item_status import (
66
+ TracesCreateRequestResourceSpansItemScopeSpansItemSpansItemStatus,
67
+ )
68
+ from .traces_create_response import TracesCreateResponse
69
+ from .traces_create_response_partial_success import TracesCreateResponsePartialSuccess
70
+
71
+ __all__ = [
72
+ "TracesCreateRequestResourceSpansItem",
73
+ "TracesCreateRequestResourceSpansItemResource",
74
+ "TracesCreateRequestResourceSpansItemResourceAttributesItem",
75
+ "TracesCreateRequestResourceSpansItemResourceAttributesItemValue",
76
+ "TracesCreateRequestResourceSpansItemResourceAttributesItemValueArrayValue",
77
+ "TracesCreateRequestResourceSpansItemResourceAttributesItemValueKvlistValue",
78
+ "TracesCreateRequestResourceSpansItemResourceAttributesItemValueKvlistValueValuesItem",
79
+ "TracesCreateRequestResourceSpansItemScopeSpansItem",
80
+ "TracesCreateRequestResourceSpansItemScopeSpansItemScope",
81
+ "TracesCreateRequestResourceSpansItemScopeSpansItemScopeAttributesItem",
82
+ "TracesCreateRequestResourceSpansItemScopeSpansItemScopeAttributesItemValue",
83
+ "TracesCreateRequestResourceSpansItemScopeSpansItemScopeAttributesItemValueArrayValue",
84
+ "TracesCreateRequestResourceSpansItemScopeSpansItemScopeAttributesItemValueKvlistValue",
85
+ "TracesCreateRequestResourceSpansItemScopeSpansItemScopeAttributesItemValueKvlistValueValuesItem",
86
+ "TracesCreateRequestResourceSpansItemScopeSpansItemSpansItem",
87
+ "TracesCreateRequestResourceSpansItemScopeSpansItemSpansItemAttributesItem",
88
+ "TracesCreateRequestResourceSpansItemScopeSpansItemSpansItemAttributesItemValue",
89
+ "TracesCreateRequestResourceSpansItemScopeSpansItemSpansItemAttributesItemValueArrayValue",
90
+ "TracesCreateRequestResourceSpansItemScopeSpansItemSpansItemAttributesItemValueKvlistValue",
91
+ "TracesCreateRequestResourceSpansItemScopeSpansItemSpansItemAttributesItemValueKvlistValueValuesItem",
92
+ "TracesCreateRequestResourceSpansItemScopeSpansItemSpansItemStatus",
93
+ "TracesCreateResponse",
94
+ "TracesCreateResponsePartialSuccess",
95
+ ]
@@ -0,0 +1,36 @@
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_create_request_resource_spans_item_resource import (
10
+ TracesCreateRequestResourceSpansItemResource,
11
+ )
12
+ from .traces_create_request_resource_spans_item_scope_spans_item import (
13
+ TracesCreateRequestResourceSpansItemScopeSpansItem,
14
+ )
15
+
16
+
17
+ class TracesCreateRequestResourceSpansItem(UniversalBaseModel):
18
+ resource: typing.Optional[TracesCreateRequestResourceSpansItemResource] = None
19
+ scope_spans: typing_extensions.Annotated[
20
+ typing.List[TracesCreateRequestResourceSpansItemScopeSpansItem],
21
+ FieldMetadata(alias="scopeSpans"),
22
+ ]
23
+ schema_url: typing_extensions.Annotated[
24
+ typing.Optional[str], FieldMetadata(alias="schemaUrl")
25
+ ] = None
26
+
27
+ if IS_PYDANTIC_V2:
28
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
29
+ extra="allow", frozen=True
30
+ ) # type: ignore # Pydantic v2
31
+ else:
32
+
33
+ class Config:
34
+ frozen = True
35
+ smart_union = True
36
+ extra = pydantic.Extra.allow
@@ -0,0 +1,31 @@
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_create_request_resource_spans_item_resource_attributes_item import (
10
+ TracesCreateRequestResourceSpansItemResourceAttributesItem,
11
+ )
12
+
13
+
14
+ class TracesCreateRequestResourceSpansItemResource(UniversalBaseModel):
15
+ attributes: typing.Optional[
16
+ typing.List[TracesCreateRequestResourceSpansItemResourceAttributesItem]
17
+ ] = None
18
+ dropped_attributes_count: typing_extensions.Annotated[
19
+ typing.Optional[float], FieldMetadata(alias="droppedAttributesCount")
20
+ ] = None
21
+
22
+ if IS_PYDANTIC_V2:
23
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
24
+ extra="allow", frozen=True
25
+ ) # type: ignore # Pydantic v2
26
+ else:
27
+
28
+ class Config:
29
+ frozen = True
30
+ smart_union = True
31
+ extra = pydantic.Extra.allow
@@ -0,0 +1,25 @@
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_create_request_resource_spans_item_resource_attributes_item_value import (
8
+ TracesCreateRequestResourceSpansItemResourceAttributesItemValue,
9
+ )
10
+
11
+
12
+ class TracesCreateRequestResourceSpansItemResourceAttributesItem(UniversalBaseModel):
13
+ key: str
14
+ value: TracesCreateRequestResourceSpansItemResourceAttributesItemValue
15
+
16
+ if IS_PYDANTIC_V2:
17
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
18
+ extra="allow", frozen=True
19
+ ) # type: ignore # Pydantic v2
20
+ else:
21
+
22
+ class Config:
23
+ frozen = True
24
+ smart_union = True
25
+ extra = pydantic.Extra.allow
@@ -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_create_request_resource_spans_item_resource_attributes_item_value_array_value import (
10
+ TracesCreateRequestResourceSpansItemResourceAttributesItemValueArrayValue,
11
+ )
12
+ from .traces_create_request_resource_spans_item_resource_attributes_item_value_kvlist_value import (
13
+ TracesCreateRequestResourceSpansItemResourceAttributesItemValueKvlistValue,
14
+ )
15
+
16
+
17
+ class TracesCreateRequestResourceSpansItemResourceAttributesItemValue(
18
+ UniversalBaseModel
19
+ ):
20
+ string_value: typing_extensions.Annotated[
21
+ typing.Optional[str], FieldMetadata(alias="stringValue")
22
+ ] = None
23
+ int_value: typing_extensions.Annotated[
24
+ typing.Optional[str], FieldMetadata(alias="intValue")
25
+ ] = None
26
+ double_value: typing_extensions.Annotated[
27
+ typing.Optional[float], FieldMetadata(alias="doubleValue")
28
+ ] = None
29
+ bool_value: typing_extensions.Annotated[
30
+ typing.Optional[bool], FieldMetadata(alias="boolValue")
31
+ ] = None
32
+ array_value: typing_extensions.Annotated[
33
+ typing.Optional[
34
+ TracesCreateRequestResourceSpansItemResourceAttributesItemValueArrayValue
35
+ ],
36
+ FieldMetadata(alias="arrayValue"),
37
+ ] = None
38
+ kvlist_value: typing_extensions.Annotated[
39
+ typing.Optional[
40
+ TracesCreateRequestResourceSpansItemResourceAttributesItemValueKvlistValue
41
+ ],
42
+ FieldMetadata(alias="kvlistValue"),
43
+ ] = None
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,23 @@
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 TracesCreateRequestResourceSpansItemResourceAttributesItemValueArrayValue(
10
+ UniversalBaseModel
11
+ ):
12
+ values: typing.List[typing.Optional[typing.Any]]
13
+
14
+ if IS_PYDANTIC_V2:
15
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
16
+ extra="allow", frozen=True
17
+ ) # type: ignore # Pydantic v2
18
+ else:
19
+
20
+ class Config:
21
+ frozen = True
22
+ smart_union = True
23
+ extra = pydantic.Extra.allow
@@ -0,0 +1,28 @@
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_create_request_resource_spans_item_resource_attributes_item_value_kvlist_value_values_item import (
8
+ TracesCreateRequestResourceSpansItemResourceAttributesItemValueKvlistValueValuesItem,
9
+ )
10
+
11
+
12
+ class TracesCreateRequestResourceSpansItemResourceAttributesItemValueKvlistValue(
13
+ UniversalBaseModel
14
+ ):
15
+ values: typing.List[
16
+ TracesCreateRequestResourceSpansItemResourceAttributesItemValueKvlistValueValuesItem
17
+ ]
18
+
19
+ if IS_PYDANTIC_V2:
20
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
21
+ extra="allow", frozen=True
22
+ ) # type: ignore # Pydantic v2
23
+ else:
24
+
25
+ class Config:
26
+ frozen = True
27
+ smart_union = True
28
+ 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
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+
8
+
9
+ class TracesCreateRequestResourceSpansItemResourceAttributesItemValueKvlistValueValuesItem(
10
+ UniversalBaseModel
11
+ ):
12
+ key: str
13
+ value: typing.Optional[typing.Any] = None
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,35 @@
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_create_request_resource_spans_item_scope_spans_item_scope import (
10
+ TracesCreateRequestResourceSpansItemScopeSpansItemScope,
11
+ )
12
+ from .traces_create_request_resource_spans_item_scope_spans_item_spans_item import (
13
+ TracesCreateRequestResourceSpansItemScopeSpansItemSpansItem,
14
+ )
15
+
16
+
17
+ class TracesCreateRequestResourceSpansItemScopeSpansItem(UniversalBaseModel):
18
+ scope: typing.Optional[TracesCreateRequestResourceSpansItemScopeSpansItemScope] = (
19
+ None
20
+ )
21
+ spans: typing.List[TracesCreateRequestResourceSpansItemScopeSpansItemSpansItem]
22
+ schema_url: typing_extensions.Annotated[
23
+ typing.Optional[str], FieldMetadata(alias="schemaUrl")
24
+ ] = None
25
+
26
+ if IS_PYDANTIC_V2:
27
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
28
+ extra="allow", frozen=True
29
+ ) # type: ignore # Pydantic v2
30
+ else:
31
+
32
+ class Config:
33
+ frozen = True
34
+ smart_union = True
35
+ extra = pydantic.Extra.allow
@@ -0,0 +1,35 @@
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_create_request_resource_spans_item_scope_spans_item_scope_attributes_item import (
10
+ TracesCreateRequestResourceSpansItemScopeSpansItemScopeAttributesItem,
11
+ )
12
+
13
+
14
+ class TracesCreateRequestResourceSpansItemScopeSpansItemScope(UniversalBaseModel):
15
+ name: str
16
+ version: typing.Optional[str] = None
17
+ attributes: typing.Optional[
18
+ typing.List[
19
+ TracesCreateRequestResourceSpansItemScopeSpansItemScopeAttributesItem
20
+ ]
21
+ ] = None
22
+ dropped_attributes_count: typing_extensions.Annotated[
23
+ typing.Optional[float], FieldMetadata(alias="droppedAttributesCount")
24
+ ] = None
25
+
26
+ if IS_PYDANTIC_V2:
27
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
28
+ extra="allow", frozen=True
29
+ ) # type: ignore # Pydantic v2
30
+ else:
31
+
32
+ class Config:
33
+ frozen = True
34
+ smart_union = True
35
+ extra = pydantic.Extra.allow
@@ -0,0 +1,27 @@
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_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value import (
8
+ TracesCreateRequestResourceSpansItemScopeSpansItemScopeAttributesItemValue,
9
+ )
10
+
11
+
12
+ class TracesCreateRequestResourceSpansItemScopeSpansItemScopeAttributesItem(
13
+ UniversalBaseModel
14
+ ):
15
+ key: str
16
+ value: TracesCreateRequestResourceSpansItemScopeSpansItemScopeAttributesItemValue
17
+
18
+ if IS_PYDANTIC_V2:
19
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
20
+ extra="allow", frozen=True
21
+ ) # type: ignore # Pydantic v2
22
+ else:
23
+
24
+ class Config:
25
+ frozen = True
26
+ smart_union = True
27
+ extra = pydantic.Extra.allow
@@ -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_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_array_value import (
10
+ TracesCreateRequestResourceSpansItemScopeSpansItemScopeAttributesItemValueArrayValue,
11
+ )
12
+ from .traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_kvlist_value import (
13
+ TracesCreateRequestResourceSpansItemScopeSpansItemScopeAttributesItemValueKvlistValue,
14
+ )
15
+
16
+
17
+ class TracesCreateRequestResourceSpansItemScopeSpansItemScopeAttributesItemValue(
18
+ UniversalBaseModel
19
+ ):
20
+ string_value: typing_extensions.Annotated[
21
+ typing.Optional[str], FieldMetadata(alias="stringValue")
22
+ ] = None
23
+ int_value: typing_extensions.Annotated[
24
+ typing.Optional[str], FieldMetadata(alias="intValue")
25
+ ] = None
26
+ double_value: typing_extensions.Annotated[
27
+ typing.Optional[float], FieldMetadata(alias="doubleValue")
28
+ ] = None
29
+ bool_value: typing_extensions.Annotated[
30
+ typing.Optional[bool], FieldMetadata(alias="boolValue")
31
+ ] = None
32
+ array_value: typing_extensions.Annotated[
33
+ typing.Optional[
34
+ TracesCreateRequestResourceSpansItemScopeSpansItemScopeAttributesItemValueArrayValue
35
+ ],
36
+ FieldMetadata(alias="arrayValue"),
37
+ ] = None
38
+ kvlist_value: typing_extensions.Annotated[
39
+ typing.Optional[
40
+ TracesCreateRequestResourceSpansItemScopeSpansItemScopeAttributesItemValueKvlistValue
41
+ ],
42
+ FieldMetadata(alias="kvlistValue"),
43
+ ] = None
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,23 @@
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 TracesCreateRequestResourceSpansItemScopeSpansItemScopeAttributesItemValueArrayValue(
10
+ UniversalBaseModel
11
+ ):
12
+ values: typing.List[typing.Optional[typing.Any]]
13
+
14
+ if IS_PYDANTIC_V2:
15
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
16
+ extra="allow", frozen=True
17
+ ) # type: ignore # Pydantic v2
18
+ else:
19
+
20
+ class Config:
21
+ frozen = True
22
+ smart_union = True
23
+ extra = pydantic.Extra.allow