mirascope 2.0.0a5__py3-none-any.whl → 2.0.1__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 (349) 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 +285 -2
  5. mirascope/api/_generated/annotations/__init__.py +33 -0
  6. mirascope/api/_generated/annotations/client.py +506 -0
  7. mirascope/api/_generated/annotations/raw_client.py +1414 -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 +48 -0
  11. mirascope/api/_generated/annotations/types/annotations_create_response_label.py +5 -0
  12. mirascope/api/_generated/annotations/types/annotations_get_response.py +48 -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 +50 -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 +48 -0
  20. mirascope/api/_generated/annotations/types/annotations_update_response_label.py +5 -0
  21. mirascope/api/_generated/api_keys/__init__.py +12 -2
  22. mirascope/api/_generated/api_keys/client.py +77 -0
  23. mirascope/api/_generated/api_keys/raw_client.py +422 -39
  24. mirascope/api/_generated/api_keys/types/__init__.py +7 -1
  25. mirascope/api/_generated/api_keys/types/api_keys_create_response.py +4 -12
  26. mirascope/api/_generated/api_keys/types/api_keys_get_response.py +4 -12
  27. mirascope/api/_generated/api_keys/types/api_keys_list_all_for_org_response_item.py +40 -0
  28. mirascope/api/_generated/api_keys/types/api_keys_list_response_item.py +4 -12
  29. mirascope/api/_generated/client.py +42 -0
  30. mirascope/api/_generated/core/client_wrapper.py +2 -14
  31. mirascope/api/_generated/core/datetime_utils.py +1 -3
  32. mirascope/api/_generated/core/file.py +2 -5
  33. mirascope/api/_generated/core/http_client.py +36 -112
  34. mirascope/api/_generated/core/jsonable_encoder.py +1 -3
  35. mirascope/api/_generated/core/pydantic_utilities.py +19 -74
  36. mirascope/api/_generated/core/query_encoder.py +1 -3
  37. mirascope/api/_generated/core/serialization.py +4 -10
  38. mirascope/api/_generated/docs/client.py +2 -6
  39. mirascope/api/_generated/docs/raw_client.py +51 -5
  40. mirascope/api/_generated/environment.py +3 -3
  41. mirascope/api/_generated/environments/__init__.py +6 -0
  42. mirascope/api/_generated/environments/client.py +117 -0
  43. mirascope/api/_generated/environments/raw_client.py +530 -51
  44. mirascope/api/_generated/environments/types/__init__.py +10 -0
  45. mirascope/api/_generated/environments/types/environments_create_response.py +1 -3
  46. mirascope/api/_generated/environments/types/environments_get_analytics_response.py +60 -0
  47. mirascope/api/_generated/environments/types/environments_get_analytics_response_top_functions_item.py +24 -0
  48. mirascope/api/_generated/environments/types/environments_get_analytics_response_top_models_item.py +22 -0
  49. mirascope/api/_generated/environments/types/environments_get_response.py +1 -3
  50. mirascope/api/_generated/environments/types/environments_list_response_item.py +1 -3
  51. mirascope/api/_generated/environments/types/environments_update_response.py +1 -3
  52. mirascope/api/_generated/errors/__init__.py +8 -0
  53. mirascope/api/_generated/errors/bad_request_error.py +1 -2
  54. mirascope/api/_generated/errors/conflict_error.py +1 -2
  55. mirascope/api/_generated/errors/forbidden_error.py +1 -5
  56. mirascope/api/_generated/errors/internal_server_error.py +1 -6
  57. mirascope/api/_generated/errors/not_found_error.py +1 -5
  58. mirascope/api/_generated/errors/payment_required_error.py +15 -0
  59. mirascope/api/_generated/errors/service_unavailable_error.py +14 -0
  60. mirascope/api/_generated/errors/too_many_requests_error.py +15 -0
  61. mirascope/api/_generated/errors/unauthorized_error.py +11 -0
  62. mirascope/api/_generated/functions/__init__.py +39 -0
  63. mirascope/api/_generated/functions/client.py +647 -0
  64. mirascope/api/_generated/functions/raw_client.py +1890 -0
  65. mirascope/api/_generated/functions/types/__init__.py +53 -0
  66. mirascope/api/_generated/functions/types/functions_create_request_dependencies_value.py +20 -0
  67. mirascope/api/_generated/functions/types/functions_create_response.py +37 -0
  68. mirascope/api/_generated/functions/types/functions_create_response_dependencies_value.py +20 -0
  69. mirascope/api/_generated/functions/types/functions_find_by_hash_response.py +39 -0
  70. mirascope/api/_generated/functions/types/functions_find_by_hash_response_dependencies_value.py +20 -0
  71. mirascope/api/_generated/functions/types/functions_get_by_env_response.py +53 -0
  72. mirascope/api/_generated/functions/types/functions_get_by_env_response_dependencies_value.py +22 -0
  73. mirascope/api/_generated/functions/types/functions_get_response.py +37 -0
  74. mirascope/api/_generated/functions/types/functions_get_response_dependencies_value.py +20 -0
  75. mirascope/api/_generated/functions/types/functions_list_by_env_response.py +25 -0
  76. mirascope/api/_generated/functions/types/functions_list_by_env_response_functions_item.py +56 -0
  77. mirascope/api/_generated/functions/types/functions_list_by_env_response_functions_item_dependencies_value.py +22 -0
  78. mirascope/api/_generated/functions/types/functions_list_response.py +21 -0
  79. mirascope/api/_generated/functions/types/functions_list_response_functions_item.py +41 -0
  80. mirascope/api/_generated/functions/types/functions_list_response_functions_item_dependencies_value.py +20 -0
  81. mirascope/api/_generated/health/client.py +2 -6
  82. mirascope/api/_generated/health/raw_client.py +51 -5
  83. mirascope/api/_generated/health/types/health_check_response.py +1 -3
  84. mirascope/api/_generated/organization_invitations/__init__.py +33 -0
  85. mirascope/api/_generated/organization_invitations/client.py +546 -0
  86. mirascope/api/_generated/organization_invitations/raw_client.py +1519 -0
  87. mirascope/api/_generated/organization_invitations/types/__init__.py +53 -0
  88. mirascope/api/_generated/organization_invitations/types/organization_invitations_accept_response.py +34 -0
  89. mirascope/api/_generated/organization_invitations/types/organization_invitations_accept_response_role.py +7 -0
  90. mirascope/api/_generated/organization_invitations/types/organization_invitations_create_request_role.py +7 -0
  91. mirascope/api/_generated/organization_invitations/types/organization_invitations_create_response.py +48 -0
  92. mirascope/api/_generated/organization_invitations/types/organization_invitations_create_response_role.py +7 -0
  93. mirascope/api/_generated/organization_invitations/types/organization_invitations_create_response_status.py +7 -0
  94. mirascope/api/_generated/organization_invitations/types/organization_invitations_get_response.py +48 -0
  95. mirascope/api/_generated/organization_invitations/types/organization_invitations_get_response_role.py +7 -0
  96. mirascope/api/_generated/organization_invitations/types/organization_invitations_get_response_status.py +7 -0
  97. mirascope/api/_generated/organization_invitations/types/organization_invitations_list_response_item.py +48 -0
  98. mirascope/api/_generated/organization_invitations/types/organization_invitations_list_response_item_role.py +7 -0
  99. mirascope/api/_generated/organization_invitations/types/organization_invitations_list_response_item_status.py +7 -0
  100. mirascope/api/_generated/organization_memberships/__init__.py +19 -0
  101. mirascope/api/_generated/organization_memberships/client.py +302 -0
  102. mirascope/api/_generated/organization_memberships/raw_client.py +736 -0
  103. mirascope/api/_generated/organization_memberships/types/__init__.py +27 -0
  104. mirascope/api/_generated/organization_memberships/types/organization_memberships_list_response_item.py +33 -0
  105. mirascope/api/_generated/organization_memberships/types/organization_memberships_list_response_item_role.py +7 -0
  106. mirascope/api/_generated/organization_memberships/types/organization_memberships_update_request_role.py +7 -0
  107. mirascope/api/_generated/organization_memberships/types/organization_memberships_update_response.py +31 -0
  108. mirascope/api/_generated/organization_memberships/types/organization_memberships_update_response_role.py +7 -0
  109. mirascope/api/_generated/organizations/__init__.py +26 -0
  110. mirascope/api/_generated/organizations/client.py +465 -0
  111. mirascope/api/_generated/organizations/raw_client.py +1799 -108
  112. mirascope/api/_generated/organizations/types/__init__.py +48 -0
  113. mirascope/api/_generated/organizations/types/organizations_create_payment_intent_response.py +24 -0
  114. mirascope/api/_generated/organizations/types/organizations_create_response.py +4 -3
  115. mirascope/api/_generated/organizations/types/organizations_create_response_role.py +1 -3
  116. mirascope/api/_generated/organizations/types/organizations_get_response.py +4 -3
  117. mirascope/api/_generated/organizations/types/organizations_get_response_role.py +1 -3
  118. mirascope/api/_generated/organizations/types/organizations_list_response_item.py +4 -3
  119. mirascope/api/_generated/organizations/types/organizations_list_response_item_role.py +1 -3
  120. mirascope/api/_generated/organizations/types/organizations_preview_subscription_change_request_target_plan.py +7 -0
  121. mirascope/api/_generated/organizations/types/organizations_preview_subscription_change_response.py +47 -0
  122. mirascope/api/_generated/organizations/types/organizations_preview_subscription_change_response_validation_errors_item.py +33 -0
  123. mirascope/api/_generated/organizations/types/organizations_preview_subscription_change_response_validation_errors_item_resource.py +7 -0
  124. mirascope/api/_generated/organizations/types/organizations_router_balance_response.py +24 -0
  125. mirascope/api/_generated/organizations/types/organizations_subscription_response.py +53 -0
  126. mirascope/api/_generated/organizations/types/organizations_subscription_response_current_plan.py +7 -0
  127. mirascope/api/_generated/organizations/types/organizations_subscription_response_payment_method.py +26 -0
  128. mirascope/api/_generated/organizations/types/organizations_subscription_response_scheduled_change.py +34 -0
  129. mirascope/api/_generated/organizations/types/organizations_subscription_response_scheduled_change_target_plan.py +7 -0
  130. mirascope/api/_generated/organizations/types/organizations_update_response.py +4 -3
  131. mirascope/api/_generated/organizations/types/organizations_update_response_role.py +1 -3
  132. mirascope/api/_generated/organizations/types/organizations_update_subscription_request_target_plan.py +7 -0
  133. mirascope/api/_generated/organizations/types/organizations_update_subscription_response.py +35 -0
  134. mirascope/api/_generated/project_memberships/__init__.py +25 -0
  135. mirascope/api/_generated/project_memberships/client.py +437 -0
  136. mirascope/api/_generated/project_memberships/raw_client.py +1039 -0
  137. mirascope/api/_generated/project_memberships/types/__init__.py +29 -0
  138. mirascope/api/_generated/project_memberships/types/project_memberships_create_request_role.py +7 -0
  139. mirascope/api/_generated/project_memberships/types/project_memberships_create_response.py +35 -0
  140. mirascope/api/_generated/project_memberships/types/project_memberships_create_response_role.py +7 -0
  141. mirascope/api/_generated/project_memberships/types/project_memberships_list_response_item.py +33 -0
  142. mirascope/api/_generated/project_memberships/types/project_memberships_list_response_item_role.py +7 -0
  143. mirascope/api/_generated/project_memberships/types/project_memberships_update_request_role.py +7 -0
  144. mirascope/api/_generated/project_memberships/types/project_memberships_update_response.py +35 -0
  145. mirascope/api/_generated/project_memberships/types/project_memberships_update_response_role.py +7 -0
  146. mirascope/api/_generated/projects/__init__.py +2 -12
  147. mirascope/api/_generated/projects/client.py +17 -71
  148. mirascope/api/_generated/projects/raw_client.py +295 -51
  149. mirascope/api/_generated/projects/types/__init__.py +1 -6
  150. mirascope/api/_generated/projects/types/projects_create_response.py +3 -9
  151. mirascope/api/_generated/projects/types/projects_get_response.py +3 -9
  152. mirascope/api/_generated/projects/types/projects_list_response_item.py +3 -9
  153. mirascope/api/_generated/projects/types/projects_update_response.py +3 -9
  154. mirascope/api/_generated/reference.md +3619 -182
  155. mirascope/api/_generated/tags/__init__.py +19 -0
  156. mirascope/api/_generated/tags/client.py +504 -0
  157. mirascope/api/_generated/tags/raw_client.py +1288 -0
  158. mirascope/api/_generated/tags/types/__init__.py +17 -0
  159. mirascope/api/_generated/tags/types/tags_create_response.py +41 -0
  160. mirascope/api/_generated/tags/types/tags_get_response.py +41 -0
  161. mirascope/api/_generated/tags/types/tags_list_response.py +23 -0
  162. mirascope/api/_generated/tags/types/tags_list_response_tags_item.py +41 -0
  163. mirascope/api/_generated/tags/types/tags_update_response.py +41 -0
  164. mirascope/api/_generated/token_cost/__init__.py +7 -0
  165. mirascope/api/_generated/token_cost/client.py +160 -0
  166. mirascope/api/_generated/token_cost/raw_client.py +264 -0
  167. mirascope/api/_generated/token_cost/types/__init__.py +8 -0
  168. mirascope/api/_generated/token_cost/types/token_cost_calculate_request_usage.py +54 -0
  169. mirascope/api/_generated/token_cost/types/token_cost_calculate_response.py +52 -0
  170. mirascope/api/_generated/traces/__init__.py +42 -0
  171. mirascope/api/_generated/traces/client.py +941 -0
  172. mirascope/api/_generated/traces/raw_client.py +2177 -23
  173. mirascope/api/_generated/traces/types/__init__.py +60 -0
  174. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item.py +4 -11
  175. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource.py +2 -6
  176. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item.py +1 -3
  177. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value.py +8 -24
  178. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value_array_value.py +2 -6
  179. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value_kvlist_value.py +3 -9
  180. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value_kvlist_value_values_item.py +2 -6
  181. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item.py +3 -9
  182. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope.py +4 -8
  183. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item.py +2 -6
  184. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value.py +8 -24
  185. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_array_value.py +2 -6
  186. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_kvlist_value.py +3 -9
  187. 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
  188. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item.py +6 -18
  189. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item.py +3 -9
  190. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value.py +8 -24
  191. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_array_value.py +2 -6
  192. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_kvlist_value.py +2 -6
  193. 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
  194. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_status.py +2 -6
  195. mirascope/api/_generated/traces/types/traces_create_response.py +2 -5
  196. mirascope/api/_generated/traces/types/traces_create_response_partial_success.py +3 -9
  197. mirascope/api/_generated/traces/types/traces_get_analytics_summary_response.py +60 -0
  198. mirascope/api/_generated/traces/types/traces_get_analytics_summary_response_top_functions_item.py +24 -0
  199. mirascope/api/_generated/traces/types/traces_get_analytics_summary_response_top_models_item.py +22 -0
  200. mirascope/api/_generated/traces/types/traces_get_trace_detail_by_env_response.py +33 -0
  201. mirascope/api/_generated/traces/types/traces_get_trace_detail_by_env_response_spans_item.py +88 -0
  202. mirascope/api/_generated/traces/types/traces_get_trace_detail_response.py +33 -0
  203. mirascope/api/_generated/traces/types/traces_get_trace_detail_response_spans_item.py +88 -0
  204. mirascope/api/_generated/traces/types/traces_list_by_function_hash_response.py +25 -0
  205. mirascope/api/_generated/traces/types/traces_list_by_function_hash_response_traces_item.py +44 -0
  206. mirascope/api/_generated/traces/types/traces_search_by_env_request_attribute_filters_item.py +26 -0
  207. mirascope/api/_generated/traces/types/traces_search_by_env_request_attribute_filters_item_operator.py +7 -0
  208. mirascope/api/_generated/traces/types/traces_search_by_env_request_sort_by.py +7 -0
  209. mirascope/api/_generated/traces/types/traces_search_by_env_request_sort_order.py +7 -0
  210. mirascope/api/_generated/traces/types/traces_search_by_env_response.py +26 -0
  211. mirascope/api/_generated/traces/types/traces_search_by_env_response_spans_item.py +50 -0
  212. mirascope/api/_generated/traces/types/traces_search_request_attribute_filters_item.py +26 -0
  213. mirascope/api/_generated/traces/types/traces_search_request_attribute_filters_item_operator.py +7 -0
  214. mirascope/api/_generated/traces/types/traces_search_request_sort_by.py +7 -0
  215. mirascope/api/_generated/traces/types/traces_search_request_sort_order.py +5 -0
  216. mirascope/api/_generated/traces/types/traces_search_response.py +26 -0
  217. mirascope/api/_generated/traces/types/traces_search_response_spans_item.py +50 -0
  218. mirascope/api/_generated/types/__init__.py +48 -0
  219. mirascope/api/_generated/types/already_exists_error.py +1 -3
  220. mirascope/api/_generated/types/bad_request_error_body.py +50 -0
  221. mirascope/api/_generated/types/click_house_error.py +22 -0
  222. mirascope/api/_generated/types/database_error.py +1 -3
  223. mirascope/api/_generated/types/date.py +3 -0
  224. mirascope/api/_generated/types/http_api_decode_error.py +1 -3
  225. mirascope/api/_generated/types/immutable_resource_error.py +22 -0
  226. mirascope/api/_generated/types/internal_server_error_body.py +49 -0
  227. mirascope/api/_generated/types/issue.py +1 -3
  228. mirascope/api/_generated/types/issue_tag.py +1 -8
  229. mirascope/api/_generated/types/not_found_error_body.py +1 -3
  230. mirascope/api/_generated/types/number_from_string.py +3 -0
  231. mirascope/api/_generated/types/permission_denied_error.py +1 -3
  232. mirascope/api/_generated/types/permission_denied_error_tag.py +1 -3
  233. mirascope/api/_generated/types/plan_limit_exceeded_error.py +32 -0
  234. mirascope/api/_generated/types/plan_limit_exceeded_error_tag.py +7 -0
  235. mirascope/api/_generated/types/pricing_unavailable_error.py +23 -0
  236. mirascope/api/_generated/types/property_key_key.py +1 -3
  237. mirascope/api/_generated/types/rate_limit_error.py +31 -0
  238. mirascope/api/_generated/types/rate_limit_error_tag.py +5 -0
  239. mirascope/api/_generated/types/service_unavailable_error_body.py +24 -0
  240. mirascope/api/_generated/types/service_unavailable_error_tag.py +7 -0
  241. mirascope/api/_generated/types/stripe_error.py +20 -0
  242. mirascope/api/_generated/types/subscription_past_due_error.py +31 -0
  243. mirascope/api/_generated/types/subscription_past_due_error_tag.py +7 -0
  244. mirascope/api/_generated/types/unauthorized_error_body.py +21 -0
  245. mirascope/api/_generated/types/unauthorized_error_tag.py +5 -0
  246. mirascope/api/settings.py +19 -1
  247. mirascope/llm/__init__.py +55 -8
  248. mirascope/llm/calls/__init__.py +2 -1
  249. mirascope/llm/calls/calls.py +3 -1
  250. mirascope/llm/calls/decorator.py +21 -7
  251. mirascope/llm/content/tool_call.py +6 -0
  252. mirascope/llm/content/tool_output.py +22 -5
  253. mirascope/llm/exceptions.py +284 -71
  254. mirascope/llm/formatting/__init__.py +19 -2
  255. mirascope/llm/formatting/format.py +219 -30
  256. mirascope/llm/formatting/output_parser.py +178 -0
  257. mirascope/llm/formatting/partial.py +80 -7
  258. mirascope/llm/formatting/primitives.py +192 -0
  259. mirascope/llm/formatting/types.py +21 -64
  260. mirascope/llm/mcp/__init__.py +2 -2
  261. mirascope/llm/mcp/mcp_client.py +130 -0
  262. mirascope/llm/messages/__init__.py +3 -0
  263. mirascope/llm/messages/_utils.py +34 -0
  264. mirascope/llm/models/__init__.py +5 -0
  265. mirascope/llm/models/models.py +137 -69
  266. mirascope/llm/{providers/base → models}/params.py +16 -37
  267. mirascope/llm/models/thinking_config.py +61 -0
  268. mirascope/llm/prompts/_utils.py +0 -32
  269. mirascope/llm/prompts/decorator.py +16 -5
  270. mirascope/llm/prompts/prompts.py +131 -68
  271. mirascope/llm/providers/__init__.py +18 -2
  272. mirascope/llm/providers/anthropic/__init__.py +3 -21
  273. mirascope/llm/providers/anthropic/_utils/__init__.py +2 -0
  274. mirascope/llm/providers/anthropic/_utils/beta_decode.py +22 -11
  275. mirascope/llm/providers/anthropic/_utils/beta_encode.py +75 -25
  276. mirascope/llm/providers/anthropic/_utils/decode.py +22 -11
  277. mirascope/llm/providers/anthropic/_utils/encode.py +82 -20
  278. mirascope/llm/providers/anthropic/_utils/errors.py +2 -2
  279. mirascope/llm/providers/anthropic/beta_provider.py +64 -18
  280. mirascope/llm/providers/anthropic/provider.py +91 -33
  281. mirascope/llm/providers/base/__init__.py +0 -2
  282. mirascope/llm/providers/base/_utils.py +55 -11
  283. mirascope/llm/providers/base/base_provider.py +116 -37
  284. mirascope/llm/providers/google/__init__.py +2 -17
  285. mirascope/llm/providers/google/_utils/__init__.py +2 -0
  286. mirascope/llm/providers/google/_utils/decode.py +37 -15
  287. mirascope/llm/providers/google/_utils/encode.py +127 -19
  288. mirascope/llm/providers/google/_utils/errors.py +3 -2
  289. mirascope/llm/providers/google/model_info.py +1 -0
  290. mirascope/llm/providers/google/provider.py +68 -19
  291. mirascope/llm/providers/mirascope/__init__.py +5 -0
  292. mirascope/llm/providers/mirascope/_utils.py +73 -0
  293. mirascope/llm/providers/mirascope/provider.py +349 -0
  294. mirascope/llm/providers/mlx/__init__.py +2 -17
  295. mirascope/llm/providers/mlx/_utils.py +8 -3
  296. mirascope/llm/providers/mlx/encoding/base.py +5 -2
  297. mirascope/llm/providers/mlx/encoding/transformers.py +5 -2
  298. mirascope/llm/providers/mlx/mlx.py +23 -6
  299. mirascope/llm/providers/mlx/provider.py +42 -13
  300. mirascope/llm/providers/ollama/__init__.py +1 -13
  301. mirascope/llm/providers/openai/_utils/errors.py +2 -2
  302. mirascope/llm/providers/openai/completions/__init__.py +2 -20
  303. mirascope/llm/providers/openai/completions/_utils/decode.py +14 -3
  304. mirascope/llm/providers/openai/completions/_utils/encode.py +35 -28
  305. mirascope/llm/providers/openai/completions/base_provider.py +40 -11
  306. mirascope/llm/providers/openai/provider.py +40 -10
  307. mirascope/llm/providers/openai/responses/__init__.py +1 -17
  308. mirascope/llm/providers/openai/responses/_utils/__init__.py +2 -0
  309. mirascope/llm/providers/openai/responses/_utils/decode.py +21 -8
  310. mirascope/llm/providers/openai/responses/_utils/encode.py +59 -19
  311. mirascope/llm/providers/openai/responses/provider.py +56 -18
  312. mirascope/llm/providers/provider_id.py +1 -0
  313. mirascope/llm/providers/provider_registry.py +96 -19
  314. mirascope/llm/providers/together/__init__.py +1 -13
  315. mirascope/llm/responses/__init__.py +6 -1
  316. mirascope/llm/responses/_utils.py +102 -12
  317. mirascope/llm/responses/base_response.py +5 -2
  318. mirascope/llm/responses/base_stream_response.py +139 -45
  319. mirascope/llm/responses/response.py +2 -1
  320. mirascope/llm/responses/root_response.py +89 -17
  321. mirascope/llm/responses/stream_response.py +6 -9
  322. mirascope/llm/tools/decorator.py +17 -8
  323. mirascope/llm/tools/tool_schema.py +43 -10
  324. mirascope/llm/tools/toolkit.py +35 -27
  325. mirascope/llm/tools/tools.py +123 -30
  326. mirascope/ops/__init__.py +64 -109
  327. mirascope/ops/_internal/configuration.py +82 -31
  328. mirascope/ops/_internal/exporters/exporters.py +64 -11
  329. mirascope/ops/_internal/instrumentation/llm/common.py +530 -0
  330. mirascope/ops/_internal/instrumentation/llm/cost.py +190 -0
  331. mirascope/ops/_internal/instrumentation/llm/encode.py +1 -1
  332. mirascope/ops/_internal/instrumentation/llm/llm.py +116 -1243
  333. mirascope/ops/_internal/instrumentation/llm/model.py +1798 -0
  334. mirascope/ops/_internal/instrumentation/llm/response.py +521 -0
  335. mirascope/ops/_internal/instrumentation/llm/serialize.py +300 -0
  336. mirascope/ops/_internal/protocols.py +83 -1
  337. mirascope/ops/_internal/traced_calls.py +4 -0
  338. mirascope/ops/_internal/traced_functions.py +141 -12
  339. mirascope/ops/_internal/tracing.py +78 -1
  340. mirascope/ops/_internal/utils.py +52 -4
  341. mirascope/ops/_internal/versioned_functions.py +54 -43
  342. {mirascope-2.0.0a5.dist-info → mirascope-2.0.1.dist-info}/METADATA +14 -13
  343. mirascope-2.0.1.dist-info/RECORD +423 -0
  344. {mirascope-2.0.0a5.dist-info → mirascope-2.0.1.dist-info}/licenses/LICENSE +1 -1
  345. mirascope/llm/formatting/_utils.py +0 -78
  346. mirascope/llm/mcp/client.py +0 -118
  347. mirascope/llm/providers/_missing_import_stubs.py +0 -49
  348. mirascope-2.0.0a5.dist-info/RECORD +0 -265
  349. {mirascope-2.0.0a5.dist-info → mirascope-2.0.1.dist-info}/WHEEL +0 -0
@@ -4,11 +4,36 @@ import typing
4
4
 
5
5
  from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
6
6
  from ..core.request_options import RequestOptions
7
+ from ..types.number_from_string import NumberFromString
7
8
  from .raw_client import AsyncRawTracesClient, RawTracesClient
8
9
  from .types.traces_create_request_resource_spans_item import (
9
10
  TracesCreateRequestResourceSpansItem,
10
11
  )
11
12
  from .types.traces_create_response import TracesCreateResponse
13
+ from .types.traces_get_analytics_summary_response import (
14
+ TracesGetAnalyticsSummaryResponse,
15
+ )
16
+ from .types.traces_get_trace_detail_by_env_response import (
17
+ TracesGetTraceDetailByEnvResponse,
18
+ )
19
+ from .types.traces_get_trace_detail_response import TracesGetTraceDetailResponse
20
+ from .types.traces_list_by_function_hash_response import (
21
+ TracesListByFunctionHashResponse,
22
+ )
23
+ from .types.traces_search_by_env_request_attribute_filters_item import (
24
+ TracesSearchByEnvRequestAttributeFiltersItem,
25
+ )
26
+ from .types.traces_search_by_env_request_sort_by import TracesSearchByEnvRequestSortBy
27
+ from .types.traces_search_by_env_request_sort_order import (
28
+ TracesSearchByEnvRequestSortOrder,
29
+ )
30
+ from .types.traces_search_by_env_response import TracesSearchByEnvResponse
31
+ from .types.traces_search_request_attribute_filters_item import (
32
+ TracesSearchRequestAttributeFiltersItem,
33
+ )
34
+ from .types.traces_search_request_sort_by import TracesSearchRequestSortBy
35
+ from .types.traces_search_request_sort_order import TracesSearchRequestSortOrder
36
+ from .types.traces_search_response import TracesSearchResponse
12
37
 
13
38
  # this is used as the default value for optional parameters
14
39
  OMIT = typing.cast(typing.Any, ...)
@@ -83,6 +108,440 @@ class TracesClient:
83
108
  )
84
109
  return _response.data
85
110
 
111
+ def search(
112
+ self,
113
+ *,
114
+ start_time: str,
115
+ end_time: str,
116
+ query: typing.Optional[str] = OMIT,
117
+ input_messages_query: typing.Optional[str] = OMIT,
118
+ output_messages_query: typing.Optional[str] = OMIT,
119
+ fuzzy_search: typing.Optional[bool] = OMIT,
120
+ trace_id: typing.Optional[str] = OMIT,
121
+ span_id: typing.Optional[str] = OMIT,
122
+ model: typing.Optional[typing.Sequence[str]] = OMIT,
123
+ provider: typing.Optional[typing.Sequence[str]] = OMIT,
124
+ function_id: typing.Optional[str] = OMIT,
125
+ function_name: typing.Optional[str] = OMIT,
126
+ span_name_prefix: typing.Optional[str] = OMIT,
127
+ has_error: typing.Optional[bool] = OMIT,
128
+ min_tokens: typing.Optional[float] = OMIT,
129
+ max_tokens: typing.Optional[float] = OMIT,
130
+ min_duration: typing.Optional[float] = OMIT,
131
+ max_duration: typing.Optional[float] = OMIT,
132
+ attribute_filters: typing.Optional[
133
+ typing.Sequence[TracesSearchRequestAttributeFiltersItem]
134
+ ] = OMIT,
135
+ limit: typing.Optional[float] = OMIT,
136
+ offset: typing.Optional[float] = OMIT,
137
+ sort_by: typing.Optional[TracesSearchRequestSortBy] = OMIT,
138
+ sort_order: typing.Optional[TracesSearchRequestSortOrder] = OMIT,
139
+ root_spans_only: typing.Optional[bool] = OMIT,
140
+ request_options: typing.Optional[RequestOptions] = None,
141
+ ) -> TracesSearchResponse:
142
+ """
143
+ Parameters
144
+ ----------
145
+ start_time : str
146
+
147
+ end_time : str
148
+
149
+ query : typing.Optional[str]
150
+
151
+ input_messages_query : typing.Optional[str]
152
+
153
+ output_messages_query : typing.Optional[str]
154
+
155
+ fuzzy_search : typing.Optional[bool]
156
+
157
+ trace_id : typing.Optional[str]
158
+
159
+ span_id : typing.Optional[str]
160
+
161
+ model : typing.Optional[typing.Sequence[str]]
162
+
163
+ provider : typing.Optional[typing.Sequence[str]]
164
+
165
+ function_id : typing.Optional[str]
166
+
167
+ function_name : typing.Optional[str]
168
+
169
+ span_name_prefix : typing.Optional[str]
170
+
171
+ has_error : typing.Optional[bool]
172
+
173
+ min_tokens : typing.Optional[float]
174
+
175
+ max_tokens : typing.Optional[float]
176
+
177
+ min_duration : typing.Optional[float]
178
+
179
+ max_duration : typing.Optional[float]
180
+
181
+ attribute_filters : typing.Optional[typing.Sequence[TracesSearchRequestAttributeFiltersItem]]
182
+
183
+ limit : typing.Optional[float]
184
+
185
+ offset : typing.Optional[float]
186
+
187
+ sort_by : typing.Optional[TracesSearchRequestSortBy]
188
+
189
+ sort_order : typing.Optional[TracesSearchRequestSortOrder]
190
+
191
+ root_spans_only : typing.Optional[bool]
192
+
193
+ request_options : typing.Optional[RequestOptions]
194
+ Request-specific configuration.
195
+
196
+ Returns
197
+ -------
198
+ TracesSearchResponse
199
+ Success
200
+
201
+ Examples
202
+ --------
203
+ from mirascope.api._generated import Mirascope
204
+
205
+ client = Mirascope()
206
+ client.traces.search(
207
+ start_time="startTime",
208
+ end_time="endTime",
209
+ )
210
+ """
211
+ _response = self._raw_client.search(
212
+ start_time=start_time,
213
+ end_time=end_time,
214
+ query=query,
215
+ input_messages_query=input_messages_query,
216
+ output_messages_query=output_messages_query,
217
+ fuzzy_search=fuzzy_search,
218
+ trace_id=trace_id,
219
+ span_id=span_id,
220
+ model=model,
221
+ provider=provider,
222
+ function_id=function_id,
223
+ function_name=function_name,
224
+ span_name_prefix=span_name_prefix,
225
+ has_error=has_error,
226
+ min_tokens=min_tokens,
227
+ max_tokens=max_tokens,
228
+ min_duration=min_duration,
229
+ max_duration=max_duration,
230
+ attribute_filters=attribute_filters,
231
+ limit=limit,
232
+ offset=offset,
233
+ sort_by=sort_by,
234
+ sort_order=sort_order,
235
+ root_spans_only=root_spans_only,
236
+ request_options=request_options,
237
+ )
238
+ return _response.data
239
+
240
+ def gettracedetail(
241
+ self, trace_id: str, *, request_options: typing.Optional[RequestOptions] = None
242
+ ) -> TracesGetTraceDetailResponse:
243
+ """
244
+ Parameters
245
+ ----------
246
+ trace_id : str
247
+
248
+ request_options : typing.Optional[RequestOptions]
249
+ Request-specific configuration.
250
+
251
+ Returns
252
+ -------
253
+ TracesGetTraceDetailResponse
254
+ Success
255
+
256
+ Examples
257
+ --------
258
+ from mirascope.api._generated import Mirascope
259
+
260
+ client = Mirascope()
261
+ client.traces.gettracedetail(
262
+ trace_id="traceId",
263
+ )
264
+ """
265
+ _response = self._raw_client.gettracedetail(
266
+ trace_id, request_options=request_options
267
+ )
268
+ return _response.data
269
+
270
+ def getanalyticssummary(
271
+ self,
272
+ *,
273
+ start_time: str,
274
+ end_time: str,
275
+ function_id: typing.Optional[str] = None,
276
+ request_options: typing.Optional[RequestOptions] = None,
277
+ ) -> TracesGetAnalyticsSummaryResponse:
278
+ """
279
+ Parameters
280
+ ----------
281
+ start_time : str
282
+
283
+ end_time : str
284
+
285
+ function_id : typing.Optional[str]
286
+
287
+ request_options : typing.Optional[RequestOptions]
288
+ Request-specific configuration.
289
+
290
+ Returns
291
+ -------
292
+ TracesGetAnalyticsSummaryResponse
293
+ Success
294
+
295
+ Examples
296
+ --------
297
+ from mirascope.api._generated import Mirascope
298
+
299
+ client = Mirascope()
300
+ client.traces.getanalyticssummary(
301
+ start_time="startTime",
302
+ end_time="endTime",
303
+ )
304
+ """
305
+ _response = self._raw_client.getanalyticssummary(
306
+ start_time=start_time,
307
+ end_time=end_time,
308
+ function_id=function_id,
309
+ request_options=request_options,
310
+ )
311
+ return _response.data
312
+
313
+ def listbyfunctionhash(
314
+ self,
315
+ hash: str,
316
+ *,
317
+ limit: typing.Optional[NumberFromString] = None,
318
+ offset: typing.Optional[NumberFromString] = None,
319
+ request_options: typing.Optional[RequestOptions] = None,
320
+ ) -> TracesListByFunctionHashResponse:
321
+ """
322
+ Parameters
323
+ ----------
324
+ hash : str
325
+
326
+ limit : typing.Optional[NumberFromString]
327
+
328
+ offset : typing.Optional[NumberFromString]
329
+
330
+ request_options : typing.Optional[RequestOptions]
331
+ Request-specific configuration.
332
+
333
+ Returns
334
+ -------
335
+ TracesListByFunctionHashResponse
336
+ Success
337
+
338
+ Examples
339
+ --------
340
+ from mirascope.api._generated import Mirascope
341
+
342
+ client = Mirascope()
343
+ client.traces.listbyfunctionhash(
344
+ hash="hash",
345
+ )
346
+ """
347
+ _response = self._raw_client.listbyfunctionhash(
348
+ hash, limit=limit, offset=offset, request_options=request_options
349
+ )
350
+ return _response.data
351
+
352
+ def searchbyenv(
353
+ self,
354
+ organization_id: str,
355
+ project_id: str,
356
+ environment_id: str,
357
+ *,
358
+ start_time: str,
359
+ end_time: str,
360
+ query: typing.Optional[str] = OMIT,
361
+ input_messages_query: typing.Optional[str] = OMIT,
362
+ output_messages_query: typing.Optional[str] = OMIT,
363
+ fuzzy_search: typing.Optional[bool] = OMIT,
364
+ trace_id: typing.Optional[str] = OMIT,
365
+ span_id: typing.Optional[str] = OMIT,
366
+ model: typing.Optional[typing.Sequence[str]] = OMIT,
367
+ provider: typing.Optional[typing.Sequence[str]] = OMIT,
368
+ function_id: typing.Optional[str] = OMIT,
369
+ function_name: typing.Optional[str] = OMIT,
370
+ span_name_prefix: typing.Optional[str] = OMIT,
371
+ has_error: typing.Optional[bool] = OMIT,
372
+ min_tokens: typing.Optional[float] = OMIT,
373
+ max_tokens: typing.Optional[float] = OMIT,
374
+ min_duration: typing.Optional[float] = OMIT,
375
+ max_duration: typing.Optional[float] = OMIT,
376
+ attribute_filters: typing.Optional[
377
+ typing.Sequence[TracesSearchByEnvRequestAttributeFiltersItem]
378
+ ] = OMIT,
379
+ limit: typing.Optional[float] = OMIT,
380
+ offset: typing.Optional[float] = OMIT,
381
+ sort_by: typing.Optional[TracesSearchByEnvRequestSortBy] = OMIT,
382
+ sort_order: typing.Optional[TracesSearchByEnvRequestSortOrder] = OMIT,
383
+ root_spans_only: typing.Optional[bool] = OMIT,
384
+ request_options: typing.Optional[RequestOptions] = None,
385
+ ) -> TracesSearchByEnvResponse:
386
+ """
387
+ Parameters
388
+ ----------
389
+ organization_id : str
390
+
391
+ project_id : str
392
+
393
+ environment_id : str
394
+
395
+ start_time : str
396
+
397
+ end_time : str
398
+
399
+ query : typing.Optional[str]
400
+
401
+ input_messages_query : typing.Optional[str]
402
+
403
+ output_messages_query : typing.Optional[str]
404
+
405
+ fuzzy_search : typing.Optional[bool]
406
+
407
+ trace_id : typing.Optional[str]
408
+
409
+ span_id : typing.Optional[str]
410
+
411
+ model : typing.Optional[typing.Sequence[str]]
412
+
413
+ provider : typing.Optional[typing.Sequence[str]]
414
+
415
+ function_id : typing.Optional[str]
416
+
417
+ function_name : typing.Optional[str]
418
+
419
+ span_name_prefix : typing.Optional[str]
420
+
421
+ has_error : typing.Optional[bool]
422
+
423
+ min_tokens : typing.Optional[float]
424
+
425
+ max_tokens : typing.Optional[float]
426
+
427
+ min_duration : typing.Optional[float]
428
+
429
+ max_duration : typing.Optional[float]
430
+
431
+ attribute_filters : typing.Optional[typing.Sequence[TracesSearchByEnvRequestAttributeFiltersItem]]
432
+
433
+ limit : typing.Optional[float]
434
+
435
+ offset : typing.Optional[float]
436
+
437
+ sort_by : typing.Optional[TracesSearchByEnvRequestSortBy]
438
+
439
+ sort_order : typing.Optional[TracesSearchByEnvRequestSortOrder]
440
+
441
+ root_spans_only : typing.Optional[bool]
442
+
443
+ request_options : typing.Optional[RequestOptions]
444
+ Request-specific configuration.
445
+
446
+ Returns
447
+ -------
448
+ TracesSearchByEnvResponse
449
+ Success
450
+
451
+ Examples
452
+ --------
453
+ from mirascope.api._generated import Mirascope
454
+
455
+ client = Mirascope()
456
+ client.traces.searchbyenv(
457
+ organization_id="organizationId",
458
+ project_id="projectId",
459
+ environment_id="environmentId",
460
+ start_time="startTime",
461
+ end_time="endTime",
462
+ )
463
+ """
464
+ _response = self._raw_client.searchbyenv(
465
+ organization_id,
466
+ project_id,
467
+ environment_id,
468
+ start_time=start_time,
469
+ end_time=end_time,
470
+ query=query,
471
+ input_messages_query=input_messages_query,
472
+ output_messages_query=output_messages_query,
473
+ fuzzy_search=fuzzy_search,
474
+ trace_id=trace_id,
475
+ span_id=span_id,
476
+ model=model,
477
+ provider=provider,
478
+ function_id=function_id,
479
+ function_name=function_name,
480
+ span_name_prefix=span_name_prefix,
481
+ has_error=has_error,
482
+ min_tokens=min_tokens,
483
+ max_tokens=max_tokens,
484
+ min_duration=min_duration,
485
+ max_duration=max_duration,
486
+ attribute_filters=attribute_filters,
487
+ limit=limit,
488
+ offset=offset,
489
+ sort_by=sort_by,
490
+ sort_order=sort_order,
491
+ root_spans_only=root_spans_only,
492
+ request_options=request_options,
493
+ )
494
+ return _response.data
495
+
496
+ def gettracedetailbyenv(
497
+ self,
498
+ organization_id: str,
499
+ project_id: str,
500
+ environment_id: str,
501
+ trace_id: str,
502
+ *,
503
+ request_options: typing.Optional[RequestOptions] = None,
504
+ ) -> TracesGetTraceDetailByEnvResponse:
505
+ """
506
+ Parameters
507
+ ----------
508
+ organization_id : str
509
+
510
+ project_id : str
511
+
512
+ environment_id : str
513
+
514
+ trace_id : str
515
+
516
+ request_options : typing.Optional[RequestOptions]
517
+ Request-specific configuration.
518
+
519
+ Returns
520
+ -------
521
+ TracesGetTraceDetailByEnvResponse
522
+ Success
523
+
524
+ Examples
525
+ --------
526
+ from mirascope.api._generated import Mirascope
527
+
528
+ client = Mirascope()
529
+ client.traces.gettracedetailbyenv(
530
+ organization_id="organizationId",
531
+ project_id="projectId",
532
+ environment_id="environmentId",
533
+ trace_id="traceId",
534
+ )
535
+ """
536
+ _response = self._raw_client.gettracedetailbyenv(
537
+ organization_id,
538
+ project_id,
539
+ environment_id,
540
+ trace_id,
541
+ request_options=request_options,
542
+ )
543
+ return _response.data
544
+
86
545
 
87
546
  class AsyncTracesClient:
88
547
  def __init__(self, *, client_wrapper: AsyncClientWrapper):
@@ -160,3 +619,485 @@ class AsyncTracesClient:
160
619
  resource_spans=resource_spans, request_options=request_options
161
620
  )
162
621
  return _response.data
622
+
623
+ async def search(
624
+ self,
625
+ *,
626
+ start_time: str,
627
+ end_time: str,
628
+ query: typing.Optional[str] = OMIT,
629
+ input_messages_query: typing.Optional[str] = OMIT,
630
+ output_messages_query: typing.Optional[str] = OMIT,
631
+ fuzzy_search: typing.Optional[bool] = OMIT,
632
+ trace_id: typing.Optional[str] = OMIT,
633
+ span_id: typing.Optional[str] = OMIT,
634
+ model: typing.Optional[typing.Sequence[str]] = OMIT,
635
+ provider: typing.Optional[typing.Sequence[str]] = OMIT,
636
+ function_id: typing.Optional[str] = OMIT,
637
+ function_name: typing.Optional[str] = OMIT,
638
+ span_name_prefix: typing.Optional[str] = OMIT,
639
+ has_error: typing.Optional[bool] = OMIT,
640
+ min_tokens: typing.Optional[float] = OMIT,
641
+ max_tokens: typing.Optional[float] = OMIT,
642
+ min_duration: typing.Optional[float] = OMIT,
643
+ max_duration: typing.Optional[float] = OMIT,
644
+ attribute_filters: typing.Optional[
645
+ typing.Sequence[TracesSearchRequestAttributeFiltersItem]
646
+ ] = OMIT,
647
+ limit: typing.Optional[float] = OMIT,
648
+ offset: typing.Optional[float] = OMIT,
649
+ sort_by: typing.Optional[TracesSearchRequestSortBy] = OMIT,
650
+ sort_order: typing.Optional[TracesSearchRequestSortOrder] = OMIT,
651
+ root_spans_only: typing.Optional[bool] = OMIT,
652
+ request_options: typing.Optional[RequestOptions] = None,
653
+ ) -> TracesSearchResponse:
654
+ """
655
+ Parameters
656
+ ----------
657
+ start_time : str
658
+
659
+ end_time : str
660
+
661
+ query : typing.Optional[str]
662
+
663
+ input_messages_query : typing.Optional[str]
664
+
665
+ output_messages_query : typing.Optional[str]
666
+
667
+ fuzzy_search : typing.Optional[bool]
668
+
669
+ trace_id : typing.Optional[str]
670
+
671
+ span_id : typing.Optional[str]
672
+
673
+ model : typing.Optional[typing.Sequence[str]]
674
+
675
+ provider : typing.Optional[typing.Sequence[str]]
676
+
677
+ function_id : typing.Optional[str]
678
+
679
+ function_name : typing.Optional[str]
680
+
681
+ span_name_prefix : typing.Optional[str]
682
+
683
+ has_error : typing.Optional[bool]
684
+
685
+ min_tokens : typing.Optional[float]
686
+
687
+ max_tokens : typing.Optional[float]
688
+
689
+ min_duration : typing.Optional[float]
690
+
691
+ max_duration : typing.Optional[float]
692
+
693
+ attribute_filters : typing.Optional[typing.Sequence[TracesSearchRequestAttributeFiltersItem]]
694
+
695
+ limit : typing.Optional[float]
696
+
697
+ offset : typing.Optional[float]
698
+
699
+ sort_by : typing.Optional[TracesSearchRequestSortBy]
700
+
701
+ sort_order : typing.Optional[TracesSearchRequestSortOrder]
702
+
703
+ root_spans_only : typing.Optional[bool]
704
+
705
+ request_options : typing.Optional[RequestOptions]
706
+ Request-specific configuration.
707
+
708
+ Returns
709
+ -------
710
+ TracesSearchResponse
711
+ Success
712
+
713
+ Examples
714
+ --------
715
+ import asyncio
716
+
717
+ from mirascope.api._generated import AsyncMirascope
718
+
719
+ client = AsyncMirascope()
720
+
721
+
722
+ async def main() -> None:
723
+ await client.traces.search(
724
+ start_time="startTime",
725
+ end_time="endTime",
726
+ )
727
+
728
+
729
+ asyncio.run(main())
730
+ """
731
+ _response = await self._raw_client.search(
732
+ start_time=start_time,
733
+ end_time=end_time,
734
+ query=query,
735
+ input_messages_query=input_messages_query,
736
+ output_messages_query=output_messages_query,
737
+ fuzzy_search=fuzzy_search,
738
+ trace_id=trace_id,
739
+ span_id=span_id,
740
+ model=model,
741
+ provider=provider,
742
+ function_id=function_id,
743
+ function_name=function_name,
744
+ span_name_prefix=span_name_prefix,
745
+ has_error=has_error,
746
+ min_tokens=min_tokens,
747
+ max_tokens=max_tokens,
748
+ min_duration=min_duration,
749
+ max_duration=max_duration,
750
+ attribute_filters=attribute_filters,
751
+ limit=limit,
752
+ offset=offset,
753
+ sort_by=sort_by,
754
+ sort_order=sort_order,
755
+ root_spans_only=root_spans_only,
756
+ request_options=request_options,
757
+ )
758
+ return _response.data
759
+
760
+ async def gettracedetail(
761
+ self, trace_id: str, *, request_options: typing.Optional[RequestOptions] = None
762
+ ) -> TracesGetTraceDetailResponse:
763
+ """
764
+ Parameters
765
+ ----------
766
+ trace_id : str
767
+
768
+ request_options : typing.Optional[RequestOptions]
769
+ Request-specific configuration.
770
+
771
+ Returns
772
+ -------
773
+ TracesGetTraceDetailResponse
774
+ Success
775
+
776
+ Examples
777
+ --------
778
+ import asyncio
779
+
780
+ from mirascope.api._generated import AsyncMirascope
781
+
782
+ client = AsyncMirascope()
783
+
784
+
785
+ async def main() -> None:
786
+ await client.traces.gettracedetail(
787
+ trace_id="traceId",
788
+ )
789
+
790
+
791
+ asyncio.run(main())
792
+ """
793
+ _response = await self._raw_client.gettracedetail(
794
+ trace_id, request_options=request_options
795
+ )
796
+ return _response.data
797
+
798
+ async def getanalyticssummary(
799
+ self,
800
+ *,
801
+ start_time: str,
802
+ end_time: str,
803
+ function_id: typing.Optional[str] = None,
804
+ request_options: typing.Optional[RequestOptions] = None,
805
+ ) -> TracesGetAnalyticsSummaryResponse:
806
+ """
807
+ Parameters
808
+ ----------
809
+ start_time : str
810
+
811
+ end_time : str
812
+
813
+ function_id : typing.Optional[str]
814
+
815
+ request_options : typing.Optional[RequestOptions]
816
+ Request-specific configuration.
817
+
818
+ Returns
819
+ -------
820
+ TracesGetAnalyticsSummaryResponse
821
+ Success
822
+
823
+ Examples
824
+ --------
825
+ import asyncio
826
+
827
+ from mirascope.api._generated import AsyncMirascope
828
+
829
+ client = AsyncMirascope()
830
+
831
+
832
+ async def main() -> None:
833
+ await client.traces.getanalyticssummary(
834
+ start_time="startTime",
835
+ end_time="endTime",
836
+ )
837
+
838
+
839
+ asyncio.run(main())
840
+ """
841
+ _response = await self._raw_client.getanalyticssummary(
842
+ start_time=start_time,
843
+ end_time=end_time,
844
+ function_id=function_id,
845
+ request_options=request_options,
846
+ )
847
+ return _response.data
848
+
849
+ async def listbyfunctionhash(
850
+ self,
851
+ hash: str,
852
+ *,
853
+ limit: typing.Optional[NumberFromString] = None,
854
+ offset: typing.Optional[NumberFromString] = None,
855
+ request_options: typing.Optional[RequestOptions] = None,
856
+ ) -> TracesListByFunctionHashResponse:
857
+ """
858
+ Parameters
859
+ ----------
860
+ hash : str
861
+
862
+ limit : typing.Optional[NumberFromString]
863
+
864
+ offset : typing.Optional[NumberFromString]
865
+
866
+ request_options : typing.Optional[RequestOptions]
867
+ Request-specific configuration.
868
+
869
+ Returns
870
+ -------
871
+ TracesListByFunctionHashResponse
872
+ Success
873
+
874
+ Examples
875
+ --------
876
+ import asyncio
877
+
878
+ from mirascope.api._generated import AsyncMirascope
879
+
880
+ client = AsyncMirascope()
881
+
882
+
883
+ async def main() -> None:
884
+ await client.traces.listbyfunctionhash(
885
+ hash="hash",
886
+ )
887
+
888
+
889
+ asyncio.run(main())
890
+ """
891
+ _response = await self._raw_client.listbyfunctionhash(
892
+ hash, limit=limit, offset=offset, request_options=request_options
893
+ )
894
+ return _response.data
895
+
896
+ async def searchbyenv(
897
+ self,
898
+ organization_id: str,
899
+ project_id: str,
900
+ environment_id: str,
901
+ *,
902
+ start_time: str,
903
+ end_time: str,
904
+ query: typing.Optional[str] = OMIT,
905
+ input_messages_query: typing.Optional[str] = OMIT,
906
+ output_messages_query: typing.Optional[str] = OMIT,
907
+ fuzzy_search: typing.Optional[bool] = OMIT,
908
+ trace_id: typing.Optional[str] = OMIT,
909
+ span_id: typing.Optional[str] = OMIT,
910
+ model: typing.Optional[typing.Sequence[str]] = OMIT,
911
+ provider: typing.Optional[typing.Sequence[str]] = OMIT,
912
+ function_id: typing.Optional[str] = OMIT,
913
+ function_name: typing.Optional[str] = OMIT,
914
+ span_name_prefix: typing.Optional[str] = OMIT,
915
+ has_error: typing.Optional[bool] = OMIT,
916
+ min_tokens: typing.Optional[float] = OMIT,
917
+ max_tokens: typing.Optional[float] = OMIT,
918
+ min_duration: typing.Optional[float] = OMIT,
919
+ max_duration: typing.Optional[float] = OMIT,
920
+ attribute_filters: typing.Optional[
921
+ typing.Sequence[TracesSearchByEnvRequestAttributeFiltersItem]
922
+ ] = OMIT,
923
+ limit: typing.Optional[float] = OMIT,
924
+ offset: typing.Optional[float] = OMIT,
925
+ sort_by: typing.Optional[TracesSearchByEnvRequestSortBy] = OMIT,
926
+ sort_order: typing.Optional[TracesSearchByEnvRequestSortOrder] = OMIT,
927
+ root_spans_only: typing.Optional[bool] = OMIT,
928
+ request_options: typing.Optional[RequestOptions] = None,
929
+ ) -> TracesSearchByEnvResponse:
930
+ """
931
+ Parameters
932
+ ----------
933
+ organization_id : str
934
+
935
+ project_id : str
936
+
937
+ environment_id : str
938
+
939
+ start_time : str
940
+
941
+ end_time : str
942
+
943
+ query : typing.Optional[str]
944
+
945
+ input_messages_query : typing.Optional[str]
946
+
947
+ output_messages_query : typing.Optional[str]
948
+
949
+ fuzzy_search : typing.Optional[bool]
950
+
951
+ trace_id : typing.Optional[str]
952
+
953
+ span_id : typing.Optional[str]
954
+
955
+ model : typing.Optional[typing.Sequence[str]]
956
+
957
+ provider : typing.Optional[typing.Sequence[str]]
958
+
959
+ function_id : typing.Optional[str]
960
+
961
+ function_name : typing.Optional[str]
962
+
963
+ span_name_prefix : typing.Optional[str]
964
+
965
+ has_error : typing.Optional[bool]
966
+
967
+ min_tokens : typing.Optional[float]
968
+
969
+ max_tokens : typing.Optional[float]
970
+
971
+ min_duration : typing.Optional[float]
972
+
973
+ max_duration : typing.Optional[float]
974
+
975
+ attribute_filters : typing.Optional[typing.Sequence[TracesSearchByEnvRequestAttributeFiltersItem]]
976
+
977
+ limit : typing.Optional[float]
978
+
979
+ offset : typing.Optional[float]
980
+
981
+ sort_by : typing.Optional[TracesSearchByEnvRequestSortBy]
982
+
983
+ sort_order : typing.Optional[TracesSearchByEnvRequestSortOrder]
984
+
985
+ root_spans_only : typing.Optional[bool]
986
+
987
+ request_options : typing.Optional[RequestOptions]
988
+ Request-specific configuration.
989
+
990
+ Returns
991
+ -------
992
+ TracesSearchByEnvResponse
993
+ Success
994
+
995
+ Examples
996
+ --------
997
+ import asyncio
998
+
999
+ from mirascope.api._generated import AsyncMirascope
1000
+
1001
+ client = AsyncMirascope()
1002
+
1003
+
1004
+ async def main() -> None:
1005
+ await client.traces.searchbyenv(
1006
+ organization_id="organizationId",
1007
+ project_id="projectId",
1008
+ environment_id="environmentId",
1009
+ start_time="startTime",
1010
+ end_time="endTime",
1011
+ )
1012
+
1013
+
1014
+ asyncio.run(main())
1015
+ """
1016
+ _response = await self._raw_client.searchbyenv(
1017
+ organization_id,
1018
+ project_id,
1019
+ environment_id,
1020
+ start_time=start_time,
1021
+ end_time=end_time,
1022
+ query=query,
1023
+ input_messages_query=input_messages_query,
1024
+ output_messages_query=output_messages_query,
1025
+ fuzzy_search=fuzzy_search,
1026
+ trace_id=trace_id,
1027
+ span_id=span_id,
1028
+ model=model,
1029
+ provider=provider,
1030
+ function_id=function_id,
1031
+ function_name=function_name,
1032
+ span_name_prefix=span_name_prefix,
1033
+ has_error=has_error,
1034
+ min_tokens=min_tokens,
1035
+ max_tokens=max_tokens,
1036
+ min_duration=min_duration,
1037
+ max_duration=max_duration,
1038
+ attribute_filters=attribute_filters,
1039
+ limit=limit,
1040
+ offset=offset,
1041
+ sort_by=sort_by,
1042
+ sort_order=sort_order,
1043
+ root_spans_only=root_spans_only,
1044
+ request_options=request_options,
1045
+ )
1046
+ return _response.data
1047
+
1048
+ async def gettracedetailbyenv(
1049
+ self,
1050
+ organization_id: str,
1051
+ project_id: str,
1052
+ environment_id: str,
1053
+ trace_id: str,
1054
+ *,
1055
+ request_options: typing.Optional[RequestOptions] = None,
1056
+ ) -> TracesGetTraceDetailByEnvResponse:
1057
+ """
1058
+ Parameters
1059
+ ----------
1060
+ organization_id : str
1061
+
1062
+ project_id : str
1063
+
1064
+ environment_id : str
1065
+
1066
+ trace_id : str
1067
+
1068
+ request_options : typing.Optional[RequestOptions]
1069
+ Request-specific configuration.
1070
+
1071
+ Returns
1072
+ -------
1073
+ TracesGetTraceDetailByEnvResponse
1074
+ Success
1075
+
1076
+ Examples
1077
+ --------
1078
+ import asyncio
1079
+
1080
+ from mirascope.api._generated import AsyncMirascope
1081
+
1082
+ client = AsyncMirascope()
1083
+
1084
+
1085
+ async def main() -> None:
1086
+ await client.traces.gettracedetailbyenv(
1087
+ organization_id="organizationId",
1088
+ project_id="projectId",
1089
+ environment_id="environmentId",
1090
+ trace_id="traceId",
1091
+ )
1092
+
1093
+
1094
+ asyncio.run(main())
1095
+ """
1096
+ _response = await self._raw_client.gettracedetailbyenv(
1097
+ organization_id,
1098
+ project_id,
1099
+ environment_id,
1100
+ trace_id,
1101
+ request_options=request_options,
1102
+ )
1103
+ return _response.data