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,31 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ # isort: skip_file
4
+
5
+ from .annotations_create_request_label import AnnotationsCreateRequestLabel
6
+ from .annotations_create_response import AnnotationsCreateResponse
7
+ from .annotations_create_response_label import AnnotationsCreateResponseLabel
8
+ from .annotations_get_response import AnnotationsGetResponse
9
+ from .annotations_get_response_label import AnnotationsGetResponseLabel
10
+ from .annotations_list_request_label import AnnotationsListRequestLabel
11
+ from .annotations_list_response import AnnotationsListResponse
12
+ from .annotations_list_response_annotations_item import AnnotationsListResponseAnnotationsItem
13
+ from .annotations_list_response_annotations_item_label import AnnotationsListResponseAnnotationsItemLabel
14
+ from .annotations_update_request_label import AnnotationsUpdateRequestLabel
15
+ from .annotations_update_response import AnnotationsUpdateResponse
16
+ from .annotations_update_response_label import AnnotationsUpdateResponseLabel
17
+
18
+ __all__ = [
19
+ "AnnotationsCreateRequestLabel",
20
+ "AnnotationsCreateResponse",
21
+ "AnnotationsCreateResponseLabel",
22
+ "AnnotationsGetResponse",
23
+ "AnnotationsGetResponseLabel",
24
+ "AnnotationsListRequestLabel",
25
+ "AnnotationsListResponse",
26
+ "AnnotationsListResponseAnnotationsItem",
27
+ "AnnotationsListResponseAnnotationsItemLabel",
28
+ "AnnotationsUpdateRequestLabel",
29
+ "AnnotationsUpdateResponse",
30
+ "AnnotationsUpdateResponseLabel",
31
+ ]
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ AnnotationsCreateRequestLabel = typing.Union[typing.Literal["pass", "fail"], typing.Any]
@@ -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 .annotations_create_response_label import AnnotationsCreateResponseLabel
10
+
11
+
12
+ class AnnotationsCreateResponse(UniversalBaseModel):
13
+ id: str
14
+ span_id: typing_extensions.Annotated[str, FieldMetadata(alias="spanId")]
15
+ trace_id: typing_extensions.Annotated[str, FieldMetadata(alias="traceId")]
16
+ otel_span_id: typing_extensions.Annotated[str, FieldMetadata(alias="otelSpanId")]
17
+ otel_trace_id: typing_extensions.Annotated[str, FieldMetadata(alias="otelTraceId")]
18
+ label: typing.Optional[AnnotationsCreateResponseLabel] = None
19
+ reasoning: typing.Optional[str] = None
20
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
21
+ environment_id: typing_extensions.Annotated[str, FieldMetadata(alias="environmentId")]
22
+ project_id: typing_extensions.Annotated[str, FieldMetadata(alias="projectId")]
23
+ organization_id: typing_extensions.Annotated[str, FieldMetadata(alias="organizationId")]
24
+ created_by: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="createdBy")] = None
25
+ created_at: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="createdAt")] = None
26
+ updated_at: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="updatedAt")] = None
27
+
28
+ if IS_PYDANTIC_V2:
29
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # 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,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ AnnotationsCreateResponseLabel = typing.Union[typing.Literal["pass", "fail"], typing.Any]
@@ -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 .annotations_get_response_label import AnnotationsGetResponseLabel
10
+
11
+
12
+ class AnnotationsGetResponse(UniversalBaseModel):
13
+ id: str
14
+ span_id: typing_extensions.Annotated[str, FieldMetadata(alias="spanId")]
15
+ trace_id: typing_extensions.Annotated[str, FieldMetadata(alias="traceId")]
16
+ otel_span_id: typing_extensions.Annotated[str, FieldMetadata(alias="otelSpanId")]
17
+ otel_trace_id: typing_extensions.Annotated[str, FieldMetadata(alias="otelTraceId")]
18
+ label: typing.Optional[AnnotationsGetResponseLabel] = None
19
+ reasoning: typing.Optional[str] = None
20
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
21
+ environment_id: typing_extensions.Annotated[str, FieldMetadata(alias="environmentId")]
22
+ project_id: typing_extensions.Annotated[str, FieldMetadata(alias="projectId")]
23
+ organization_id: typing_extensions.Annotated[str, FieldMetadata(alias="organizationId")]
24
+ created_by: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="createdBy")] = None
25
+ created_at: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="createdAt")] = None
26
+ updated_at: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="updatedAt")] = None
27
+
28
+ if IS_PYDANTIC_V2:
29
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # 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,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ AnnotationsGetResponseLabel = typing.Union[typing.Literal["pass", "fail"], typing.Any]
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ AnnotationsListRequestLabel = typing.Union[typing.Literal["pass", "fail"], typing.Any]
@@ -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 .annotations_list_response_annotations_item import AnnotationsListResponseAnnotationsItem
8
+
9
+
10
+ class AnnotationsListResponse(UniversalBaseModel):
11
+ annotations: typing.List[AnnotationsListResponseAnnotationsItem]
12
+ total: float
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,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 .annotations_list_response_annotations_item_label import AnnotationsListResponseAnnotationsItemLabel
10
+
11
+
12
+ class AnnotationsListResponseAnnotationsItem(UniversalBaseModel):
13
+ id: str
14
+ span_id: typing_extensions.Annotated[str, FieldMetadata(alias="spanId")]
15
+ trace_id: typing_extensions.Annotated[str, FieldMetadata(alias="traceId")]
16
+ otel_span_id: typing_extensions.Annotated[str, FieldMetadata(alias="otelSpanId")]
17
+ otel_trace_id: typing_extensions.Annotated[str, FieldMetadata(alias="otelTraceId")]
18
+ label: typing.Optional[AnnotationsListResponseAnnotationsItemLabel] = None
19
+ reasoning: typing.Optional[str] = None
20
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
21
+ environment_id: typing_extensions.Annotated[str, FieldMetadata(alias="environmentId")]
22
+ project_id: typing_extensions.Annotated[str, FieldMetadata(alias="projectId")]
23
+ organization_id: typing_extensions.Annotated[str, FieldMetadata(alias="organizationId")]
24
+ created_by: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="createdBy")] = None
25
+ created_at: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="createdAt")] = None
26
+ updated_at: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="updatedAt")] = None
27
+
28
+ if IS_PYDANTIC_V2:
29
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # 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,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ AnnotationsListResponseAnnotationsItemLabel = typing.Union[typing.Literal["pass", "fail"], typing.Any]
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ AnnotationsUpdateRequestLabel = typing.Union[typing.Literal["pass", "fail"], typing.Any]
@@ -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 .annotations_update_response_label import AnnotationsUpdateResponseLabel
10
+
11
+
12
+ class AnnotationsUpdateResponse(UniversalBaseModel):
13
+ id: str
14
+ span_id: typing_extensions.Annotated[str, FieldMetadata(alias="spanId")]
15
+ trace_id: typing_extensions.Annotated[str, FieldMetadata(alias="traceId")]
16
+ otel_span_id: typing_extensions.Annotated[str, FieldMetadata(alias="otelSpanId")]
17
+ otel_trace_id: typing_extensions.Annotated[str, FieldMetadata(alias="otelTraceId")]
18
+ label: typing.Optional[AnnotationsUpdateResponseLabel] = None
19
+ reasoning: typing.Optional[str] = None
20
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
21
+ environment_id: typing_extensions.Annotated[str, FieldMetadata(alias="environmentId")]
22
+ project_id: typing_extensions.Annotated[str, FieldMetadata(alias="projectId")]
23
+ organization_id: typing_extensions.Annotated[str, FieldMetadata(alias="organizationId")]
24
+ created_by: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="createdBy")] = None
25
+ created_at: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="createdAt")] = None
26
+ updated_at: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="updatedAt")] = None
27
+
28
+ if IS_PYDANTIC_V2:
29
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # 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,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ AnnotationsUpdateResponseLabel = typing.Union[typing.Literal["pass", "fail"], typing.Any]
@@ -0,0 +1,7 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ # isort: skip_file
4
+
5
+ from .types import ApiKeysCreateResponse, ApiKeysGetResponse, ApiKeysListResponseItem
6
+
7
+ __all__ = ["ApiKeysCreateResponse", "ApiKeysGetResponse", "ApiKeysListResponseItem"]
@@ -0,0 +1,429 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
6
+ from ..core.request_options import RequestOptions
7
+ from .raw_client import AsyncRawApiKeysClient, RawApiKeysClient
8
+ from .types.api_keys_create_response import ApiKeysCreateResponse
9
+ from .types.api_keys_get_response import ApiKeysGetResponse
10
+ from .types.api_keys_list_response_item import ApiKeysListResponseItem
11
+
12
+ # this is used as the default value for optional parameters
13
+ OMIT = typing.cast(typing.Any, ...)
14
+
15
+
16
+ class ApiKeysClient:
17
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
18
+ self._raw_client = RawApiKeysClient(client_wrapper=client_wrapper)
19
+
20
+ @property
21
+ def with_raw_response(self) -> RawApiKeysClient:
22
+ """
23
+ Retrieves a raw implementation of this client that returns raw responses.
24
+
25
+ Returns
26
+ -------
27
+ RawApiKeysClient
28
+ """
29
+ return self._raw_client
30
+
31
+ def api_keys_list(
32
+ self,
33
+ organization_id: str,
34
+ project_id: str,
35
+ environment_id: str,
36
+ *,
37
+ request_options: typing.Optional[RequestOptions] = None,
38
+ ) -> typing.List[ApiKeysListResponseItem]:
39
+ """
40
+ Parameters
41
+ ----------
42
+ organization_id : str
43
+
44
+ project_id : str
45
+
46
+ environment_id : str
47
+
48
+ request_options : typing.Optional[RequestOptions]
49
+ Request-specific configuration.
50
+
51
+ Returns
52
+ -------
53
+ typing.List[ApiKeysListResponseItem]
54
+ Success
55
+
56
+ Examples
57
+ --------
58
+ from mirascope.api._generated import Mirascope
59
+
60
+ client = Mirascope()
61
+ client.api_keys.api_keys_list(
62
+ organization_id="organizationId",
63
+ project_id="projectId",
64
+ environment_id="environmentId",
65
+ )
66
+ """
67
+ _response = self._raw_client.api_keys_list(
68
+ organization_id, project_id, environment_id, request_options=request_options
69
+ )
70
+ return _response.data
71
+
72
+ def api_keys_create(
73
+ self,
74
+ organization_id: str,
75
+ project_id: str,
76
+ environment_id: str,
77
+ *,
78
+ name: str,
79
+ request_options: typing.Optional[RequestOptions] = None,
80
+ ) -> ApiKeysCreateResponse:
81
+ """
82
+ Parameters
83
+ ----------
84
+ organization_id : str
85
+
86
+ project_id : str
87
+
88
+ environment_id : str
89
+
90
+ name : str
91
+ a string at most 100 character(s) long
92
+
93
+ request_options : typing.Optional[RequestOptions]
94
+ Request-specific configuration.
95
+
96
+ Returns
97
+ -------
98
+ ApiKeysCreateResponse
99
+ Success
100
+
101
+ Examples
102
+ --------
103
+ from mirascope.api._generated import Mirascope
104
+
105
+ client = Mirascope()
106
+ client.api_keys.api_keys_create(
107
+ organization_id="organizationId",
108
+ project_id="projectId",
109
+ environment_id="environmentId",
110
+ name="name",
111
+ )
112
+ """
113
+ _response = self._raw_client.api_keys_create(
114
+ organization_id, project_id, environment_id, name=name, request_options=request_options
115
+ )
116
+ return _response.data
117
+
118
+ def api_keys_get(
119
+ self,
120
+ organization_id: str,
121
+ project_id: str,
122
+ environment_id: str,
123
+ api_key_id: str,
124
+ *,
125
+ request_options: typing.Optional[RequestOptions] = None,
126
+ ) -> ApiKeysGetResponse:
127
+ """
128
+ Parameters
129
+ ----------
130
+ organization_id : str
131
+
132
+ project_id : str
133
+
134
+ environment_id : str
135
+
136
+ api_key_id : str
137
+
138
+ request_options : typing.Optional[RequestOptions]
139
+ Request-specific configuration.
140
+
141
+ Returns
142
+ -------
143
+ ApiKeysGetResponse
144
+ Success
145
+
146
+ Examples
147
+ --------
148
+ from mirascope.api._generated import Mirascope
149
+
150
+ client = Mirascope()
151
+ client.api_keys.api_keys_get(
152
+ organization_id="organizationId",
153
+ project_id="projectId",
154
+ environment_id="environmentId",
155
+ api_key_id="apiKeyId",
156
+ )
157
+ """
158
+ _response = self._raw_client.api_keys_get(
159
+ organization_id, project_id, environment_id, api_key_id, request_options=request_options
160
+ )
161
+ return _response.data
162
+
163
+ def api_keys_delete(
164
+ self,
165
+ organization_id: str,
166
+ project_id: str,
167
+ environment_id: str,
168
+ api_key_id: str,
169
+ *,
170
+ request_options: typing.Optional[RequestOptions] = None,
171
+ ) -> None:
172
+ """
173
+ Parameters
174
+ ----------
175
+ organization_id : str
176
+
177
+ project_id : str
178
+
179
+ environment_id : str
180
+
181
+ api_key_id : str
182
+
183
+ request_options : typing.Optional[RequestOptions]
184
+ Request-specific configuration.
185
+
186
+ Returns
187
+ -------
188
+ None
189
+
190
+ Examples
191
+ --------
192
+ from mirascope.api._generated import Mirascope
193
+
194
+ client = Mirascope()
195
+ client.api_keys.api_keys_delete(
196
+ organization_id="organizationId",
197
+ project_id="projectId",
198
+ environment_id="environmentId",
199
+ api_key_id="apiKeyId",
200
+ )
201
+ """
202
+ _response = self._raw_client.api_keys_delete(
203
+ organization_id, project_id, environment_id, api_key_id, request_options=request_options
204
+ )
205
+ return _response.data
206
+
207
+
208
+ class AsyncApiKeysClient:
209
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
210
+ self._raw_client = AsyncRawApiKeysClient(client_wrapper=client_wrapper)
211
+
212
+ @property
213
+ def with_raw_response(self) -> AsyncRawApiKeysClient:
214
+ """
215
+ Retrieves a raw implementation of this client that returns raw responses.
216
+
217
+ Returns
218
+ -------
219
+ AsyncRawApiKeysClient
220
+ """
221
+ return self._raw_client
222
+
223
+ async def api_keys_list(
224
+ self,
225
+ organization_id: str,
226
+ project_id: str,
227
+ environment_id: str,
228
+ *,
229
+ request_options: typing.Optional[RequestOptions] = None,
230
+ ) -> typing.List[ApiKeysListResponseItem]:
231
+ """
232
+ Parameters
233
+ ----------
234
+ organization_id : str
235
+
236
+ project_id : str
237
+
238
+ environment_id : str
239
+
240
+ request_options : typing.Optional[RequestOptions]
241
+ Request-specific configuration.
242
+
243
+ Returns
244
+ -------
245
+ typing.List[ApiKeysListResponseItem]
246
+ Success
247
+
248
+ Examples
249
+ --------
250
+ import asyncio
251
+
252
+ from mirascope.api._generated import AsyncMirascope
253
+
254
+ client = AsyncMirascope()
255
+
256
+
257
+ async def main() -> None:
258
+ await client.api_keys.api_keys_list(
259
+ organization_id="organizationId",
260
+ project_id="projectId",
261
+ environment_id="environmentId",
262
+ )
263
+
264
+
265
+ asyncio.run(main())
266
+ """
267
+ _response = await self._raw_client.api_keys_list(
268
+ organization_id, project_id, environment_id, request_options=request_options
269
+ )
270
+ return _response.data
271
+
272
+ async def api_keys_create(
273
+ self,
274
+ organization_id: str,
275
+ project_id: str,
276
+ environment_id: str,
277
+ *,
278
+ name: str,
279
+ request_options: typing.Optional[RequestOptions] = None,
280
+ ) -> ApiKeysCreateResponse:
281
+ """
282
+ Parameters
283
+ ----------
284
+ organization_id : str
285
+
286
+ project_id : str
287
+
288
+ environment_id : str
289
+
290
+ name : str
291
+ a string at most 100 character(s) long
292
+
293
+ request_options : typing.Optional[RequestOptions]
294
+ Request-specific configuration.
295
+
296
+ Returns
297
+ -------
298
+ ApiKeysCreateResponse
299
+ Success
300
+
301
+ Examples
302
+ --------
303
+ import asyncio
304
+
305
+ from mirascope.api._generated import AsyncMirascope
306
+
307
+ client = AsyncMirascope()
308
+
309
+
310
+ async def main() -> None:
311
+ await client.api_keys.api_keys_create(
312
+ organization_id="organizationId",
313
+ project_id="projectId",
314
+ environment_id="environmentId",
315
+ name="name",
316
+ )
317
+
318
+
319
+ asyncio.run(main())
320
+ """
321
+ _response = await self._raw_client.api_keys_create(
322
+ organization_id, project_id, environment_id, name=name, request_options=request_options
323
+ )
324
+ return _response.data
325
+
326
+ async def api_keys_get(
327
+ self,
328
+ organization_id: str,
329
+ project_id: str,
330
+ environment_id: str,
331
+ api_key_id: str,
332
+ *,
333
+ request_options: typing.Optional[RequestOptions] = None,
334
+ ) -> ApiKeysGetResponse:
335
+ """
336
+ Parameters
337
+ ----------
338
+ organization_id : str
339
+
340
+ project_id : str
341
+
342
+ environment_id : str
343
+
344
+ api_key_id : str
345
+
346
+ request_options : typing.Optional[RequestOptions]
347
+ Request-specific configuration.
348
+
349
+ Returns
350
+ -------
351
+ ApiKeysGetResponse
352
+ Success
353
+
354
+ Examples
355
+ --------
356
+ import asyncio
357
+
358
+ from mirascope.api._generated import AsyncMirascope
359
+
360
+ client = AsyncMirascope()
361
+
362
+
363
+ async def main() -> None:
364
+ await client.api_keys.api_keys_get(
365
+ organization_id="organizationId",
366
+ project_id="projectId",
367
+ environment_id="environmentId",
368
+ api_key_id="apiKeyId",
369
+ )
370
+
371
+
372
+ asyncio.run(main())
373
+ """
374
+ _response = await self._raw_client.api_keys_get(
375
+ organization_id, project_id, environment_id, api_key_id, request_options=request_options
376
+ )
377
+ return _response.data
378
+
379
+ async def api_keys_delete(
380
+ self,
381
+ organization_id: str,
382
+ project_id: str,
383
+ environment_id: str,
384
+ api_key_id: str,
385
+ *,
386
+ request_options: typing.Optional[RequestOptions] = None,
387
+ ) -> None:
388
+ """
389
+ Parameters
390
+ ----------
391
+ organization_id : str
392
+
393
+ project_id : str
394
+
395
+ environment_id : str
396
+
397
+ api_key_id : str
398
+
399
+ request_options : typing.Optional[RequestOptions]
400
+ Request-specific configuration.
401
+
402
+ Returns
403
+ -------
404
+ None
405
+
406
+ Examples
407
+ --------
408
+ import asyncio
409
+
410
+ from mirascope.api._generated import AsyncMirascope
411
+
412
+ client = AsyncMirascope()
413
+
414
+
415
+ async def main() -> None:
416
+ await client.api_keys.api_keys_delete(
417
+ organization_id="organizationId",
418
+ project_id="projectId",
419
+ environment_id="environmentId",
420
+ api_key_id="apiKeyId",
421
+ )
422
+
423
+
424
+ asyncio.run(main())
425
+ """
426
+ _response = await self._raw_client.api_keys_delete(
427
+ organization_id, project_id, environment_id, api_key_id, request_options=request_options
428
+ )
429
+ return _response.data