mirascope 1.22.4__py3-none-any.whl → 2.1.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 (812) hide show
  1. mirascope/__init__.py +5 -50
  2. mirascope/_stubs.py +384 -0
  3. mirascope/_utils.py +34 -0
  4. mirascope/api/__init__.py +14 -0
  5. mirascope/api/_generated/README.md +207 -0
  6. mirascope/api/_generated/__init__.py +444 -0
  7. mirascope/api/_generated/annotations/__init__.py +33 -0
  8. mirascope/api/_generated/annotations/client.py +506 -0
  9. mirascope/api/_generated/annotations/raw_client.py +1414 -0
  10. mirascope/api/_generated/annotations/types/__init__.py +31 -0
  11. mirascope/api/_generated/annotations/types/annotations_create_request_label.py +5 -0
  12. mirascope/api/_generated/annotations/types/annotations_create_response.py +48 -0
  13. mirascope/api/_generated/annotations/types/annotations_create_response_label.py +5 -0
  14. mirascope/api/_generated/annotations/types/annotations_get_response.py +48 -0
  15. mirascope/api/_generated/annotations/types/annotations_get_response_label.py +5 -0
  16. mirascope/api/_generated/annotations/types/annotations_list_request_label.py +5 -0
  17. mirascope/api/_generated/annotations/types/annotations_list_response.py +21 -0
  18. mirascope/api/_generated/annotations/types/annotations_list_response_annotations_item.py +50 -0
  19. mirascope/api/_generated/annotations/types/annotations_list_response_annotations_item_label.py +5 -0
  20. mirascope/api/_generated/annotations/types/annotations_update_request_label.py +5 -0
  21. mirascope/api/_generated/annotations/types/annotations_update_response.py +48 -0
  22. mirascope/api/_generated/annotations/types/annotations_update_response_label.py +5 -0
  23. mirascope/api/_generated/api_keys/__init__.py +17 -0
  24. mirascope/api/_generated/api_keys/client.py +530 -0
  25. mirascope/api/_generated/api_keys/raw_client.py +1236 -0
  26. mirascope/api/_generated/api_keys/types/__init__.py +15 -0
  27. mirascope/api/_generated/api_keys/types/api_keys_create_response.py +28 -0
  28. mirascope/api/_generated/api_keys/types/api_keys_get_response.py +27 -0
  29. mirascope/api/_generated/api_keys/types/api_keys_list_all_for_org_response_item.py +40 -0
  30. mirascope/api/_generated/api_keys/types/api_keys_list_response_item.py +27 -0
  31. mirascope/api/_generated/client.py +211 -0
  32. mirascope/api/_generated/core/__init__.py +52 -0
  33. mirascope/api/_generated/core/api_error.py +23 -0
  34. mirascope/api/_generated/core/client_wrapper.py +46 -0
  35. mirascope/api/_generated/core/datetime_utils.py +28 -0
  36. mirascope/api/_generated/core/file.py +67 -0
  37. mirascope/api/_generated/core/force_multipart.py +16 -0
  38. mirascope/api/_generated/core/http_client.py +543 -0
  39. mirascope/api/_generated/core/http_response.py +55 -0
  40. mirascope/api/_generated/core/jsonable_encoder.py +100 -0
  41. mirascope/api/_generated/core/pydantic_utilities.py +255 -0
  42. mirascope/api/_generated/core/query_encoder.py +58 -0
  43. mirascope/api/_generated/core/remove_none_from_dict.py +11 -0
  44. mirascope/api/_generated/core/request_options.py +35 -0
  45. mirascope/api/_generated/core/serialization.py +276 -0
  46. mirascope/api/_generated/docs/__init__.py +4 -0
  47. mirascope/api/_generated/docs/client.py +91 -0
  48. mirascope/api/_generated/docs/raw_client.py +178 -0
  49. mirascope/api/_generated/environment.py +9 -0
  50. mirascope/api/_generated/environments/__init__.py +23 -0
  51. mirascope/api/_generated/environments/client.py +649 -0
  52. mirascope/api/_generated/environments/raw_client.py +1567 -0
  53. mirascope/api/_generated/environments/types/__init__.py +25 -0
  54. mirascope/api/_generated/environments/types/environments_create_response.py +24 -0
  55. mirascope/api/_generated/environments/types/environments_get_analytics_response.py +60 -0
  56. mirascope/api/_generated/environments/types/environments_get_analytics_response_top_functions_item.py +24 -0
  57. mirascope/api/_generated/environments/types/environments_get_analytics_response_top_models_item.py +22 -0
  58. mirascope/api/_generated/environments/types/environments_get_response.py +24 -0
  59. mirascope/api/_generated/environments/types/environments_list_response_item.py +24 -0
  60. mirascope/api/_generated/environments/types/environments_update_response.py +24 -0
  61. mirascope/api/_generated/errors/__init__.py +25 -0
  62. mirascope/api/_generated/errors/bad_request_error.py +14 -0
  63. mirascope/api/_generated/errors/conflict_error.py +14 -0
  64. mirascope/api/_generated/errors/forbidden_error.py +11 -0
  65. mirascope/api/_generated/errors/internal_server_error.py +10 -0
  66. mirascope/api/_generated/errors/not_found_error.py +11 -0
  67. mirascope/api/_generated/errors/payment_required_error.py +15 -0
  68. mirascope/api/_generated/errors/service_unavailable_error.py +14 -0
  69. mirascope/api/_generated/errors/too_many_requests_error.py +15 -0
  70. mirascope/api/_generated/errors/unauthorized_error.py +11 -0
  71. mirascope/api/_generated/functions/__init__.py +39 -0
  72. mirascope/api/_generated/functions/client.py +647 -0
  73. mirascope/api/_generated/functions/raw_client.py +1890 -0
  74. mirascope/api/_generated/functions/types/__init__.py +53 -0
  75. mirascope/api/_generated/functions/types/functions_create_request_dependencies_value.py +20 -0
  76. mirascope/api/_generated/functions/types/functions_create_response.py +37 -0
  77. mirascope/api/_generated/functions/types/functions_create_response_dependencies_value.py +20 -0
  78. mirascope/api/_generated/functions/types/functions_find_by_hash_response.py +39 -0
  79. mirascope/api/_generated/functions/types/functions_find_by_hash_response_dependencies_value.py +20 -0
  80. mirascope/api/_generated/functions/types/functions_get_by_env_response.py +53 -0
  81. mirascope/api/_generated/functions/types/functions_get_by_env_response_dependencies_value.py +22 -0
  82. mirascope/api/_generated/functions/types/functions_get_response.py +37 -0
  83. mirascope/api/_generated/functions/types/functions_get_response_dependencies_value.py +20 -0
  84. mirascope/api/_generated/functions/types/functions_list_by_env_response.py +25 -0
  85. mirascope/api/_generated/functions/types/functions_list_by_env_response_functions_item.py +56 -0
  86. mirascope/api/_generated/functions/types/functions_list_by_env_response_functions_item_dependencies_value.py +22 -0
  87. mirascope/api/_generated/functions/types/functions_list_response.py +21 -0
  88. mirascope/api/_generated/functions/types/functions_list_response_functions_item.py +41 -0
  89. mirascope/api/_generated/functions/types/functions_list_response_functions_item_dependencies_value.py +20 -0
  90. mirascope/api/_generated/health/__init__.py +7 -0
  91. mirascope/api/_generated/health/client.py +92 -0
  92. mirascope/api/_generated/health/raw_client.py +175 -0
  93. mirascope/api/_generated/health/types/__init__.py +8 -0
  94. mirascope/api/_generated/health/types/health_check_response.py +22 -0
  95. mirascope/api/_generated/health/types/health_check_response_status.py +5 -0
  96. mirascope/api/_generated/organization_invitations/__init__.py +33 -0
  97. mirascope/api/_generated/organization_invitations/client.py +546 -0
  98. mirascope/api/_generated/organization_invitations/raw_client.py +1519 -0
  99. mirascope/api/_generated/organization_invitations/types/__init__.py +53 -0
  100. mirascope/api/_generated/organization_invitations/types/organization_invitations_accept_response.py +34 -0
  101. mirascope/api/_generated/organization_invitations/types/organization_invitations_accept_response_role.py +7 -0
  102. mirascope/api/_generated/organization_invitations/types/organization_invitations_create_request_role.py +7 -0
  103. mirascope/api/_generated/organization_invitations/types/organization_invitations_create_response.py +48 -0
  104. mirascope/api/_generated/organization_invitations/types/organization_invitations_create_response_role.py +7 -0
  105. mirascope/api/_generated/organization_invitations/types/organization_invitations_create_response_status.py +7 -0
  106. mirascope/api/_generated/organization_invitations/types/organization_invitations_get_response.py +48 -0
  107. mirascope/api/_generated/organization_invitations/types/organization_invitations_get_response_role.py +7 -0
  108. mirascope/api/_generated/organization_invitations/types/organization_invitations_get_response_status.py +7 -0
  109. mirascope/api/_generated/organization_invitations/types/organization_invitations_list_response_item.py +48 -0
  110. mirascope/api/_generated/organization_invitations/types/organization_invitations_list_response_item_role.py +7 -0
  111. mirascope/api/_generated/organization_invitations/types/organization_invitations_list_response_item_status.py +7 -0
  112. mirascope/api/_generated/organization_memberships/__init__.py +19 -0
  113. mirascope/api/_generated/organization_memberships/client.py +302 -0
  114. mirascope/api/_generated/organization_memberships/raw_client.py +736 -0
  115. mirascope/api/_generated/organization_memberships/types/__init__.py +27 -0
  116. mirascope/api/_generated/organization_memberships/types/organization_memberships_list_response_item.py +33 -0
  117. mirascope/api/_generated/organization_memberships/types/organization_memberships_list_response_item_role.py +7 -0
  118. mirascope/api/_generated/organization_memberships/types/organization_memberships_update_request_role.py +7 -0
  119. mirascope/api/_generated/organization_memberships/types/organization_memberships_update_response.py +31 -0
  120. mirascope/api/_generated/organization_memberships/types/organization_memberships_update_response_role.py +7 -0
  121. mirascope/api/_generated/organizations/__init__.py +51 -0
  122. mirascope/api/_generated/organizations/client.py +869 -0
  123. mirascope/api/_generated/organizations/raw_client.py +2593 -0
  124. mirascope/api/_generated/organizations/types/__init__.py +71 -0
  125. mirascope/api/_generated/organizations/types/organizations_create_payment_intent_response.py +24 -0
  126. mirascope/api/_generated/organizations/types/organizations_create_response.py +26 -0
  127. mirascope/api/_generated/organizations/types/organizations_create_response_role.py +5 -0
  128. mirascope/api/_generated/organizations/types/organizations_get_response.py +26 -0
  129. mirascope/api/_generated/organizations/types/organizations_get_response_role.py +5 -0
  130. mirascope/api/_generated/organizations/types/organizations_list_response_item.py +26 -0
  131. mirascope/api/_generated/organizations/types/organizations_list_response_item_role.py +5 -0
  132. mirascope/api/_generated/organizations/types/organizations_preview_subscription_change_request_target_plan.py +7 -0
  133. mirascope/api/_generated/organizations/types/organizations_preview_subscription_change_response.py +47 -0
  134. mirascope/api/_generated/organizations/types/organizations_preview_subscription_change_response_validation_errors_item.py +33 -0
  135. mirascope/api/_generated/organizations/types/organizations_preview_subscription_change_response_validation_errors_item_resource.py +7 -0
  136. mirascope/api/_generated/organizations/types/organizations_router_balance_response.py +24 -0
  137. mirascope/api/_generated/organizations/types/organizations_subscription_response.py +53 -0
  138. mirascope/api/_generated/organizations/types/organizations_subscription_response_current_plan.py +7 -0
  139. mirascope/api/_generated/organizations/types/organizations_subscription_response_payment_method.py +26 -0
  140. mirascope/api/_generated/organizations/types/organizations_subscription_response_scheduled_change.py +34 -0
  141. mirascope/api/_generated/organizations/types/organizations_subscription_response_scheduled_change_target_plan.py +7 -0
  142. mirascope/api/_generated/organizations/types/organizations_update_response.py +26 -0
  143. mirascope/api/_generated/organizations/types/organizations_update_response_role.py +5 -0
  144. mirascope/api/_generated/organizations/types/organizations_update_subscription_request_target_plan.py +7 -0
  145. mirascope/api/_generated/organizations/types/organizations_update_subscription_response.py +35 -0
  146. mirascope/api/_generated/project_memberships/__init__.py +29 -0
  147. mirascope/api/_generated/project_memberships/client.py +528 -0
  148. mirascope/api/_generated/project_memberships/raw_client.py +1278 -0
  149. mirascope/api/_generated/project_memberships/types/__init__.py +33 -0
  150. mirascope/api/_generated/project_memberships/types/project_memberships_create_request_role.py +7 -0
  151. mirascope/api/_generated/project_memberships/types/project_memberships_create_response.py +35 -0
  152. mirascope/api/_generated/project_memberships/types/project_memberships_create_response_role.py +7 -0
  153. mirascope/api/_generated/project_memberships/types/project_memberships_get_response.py +33 -0
  154. mirascope/api/_generated/project_memberships/types/project_memberships_get_response_role.py +7 -0
  155. mirascope/api/_generated/project_memberships/types/project_memberships_list_response_item.py +33 -0
  156. mirascope/api/_generated/project_memberships/types/project_memberships_list_response_item_role.py +7 -0
  157. mirascope/api/_generated/project_memberships/types/project_memberships_update_request_role.py +7 -0
  158. mirascope/api/_generated/project_memberships/types/project_memberships_update_response.py +35 -0
  159. mirascope/api/_generated/project_memberships/types/project_memberships_update_response_role.py +7 -0
  160. mirascope/api/_generated/projects/__init__.py +7 -0
  161. mirascope/api/_generated/projects/client.py +428 -0
  162. mirascope/api/_generated/projects/raw_client.py +1302 -0
  163. mirascope/api/_generated/projects/types/__init__.py +10 -0
  164. mirascope/api/_generated/projects/types/projects_create_response.py +25 -0
  165. mirascope/api/_generated/projects/types/projects_get_response.py +25 -0
  166. mirascope/api/_generated/projects/types/projects_list_response_item.py +25 -0
  167. mirascope/api/_generated/projects/types/projects_update_response.py +25 -0
  168. mirascope/api/_generated/reference.md +4987 -0
  169. mirascope/api/_generated/tags/__init__.py +19 -0
  170. mirascope/api/_generated/tags/client.py +504 -0
  171. mirascope/api/_generated/tags/raw_client.py +1288 -0
  172. mirascope/api/_generated/tags/types/__init__.py +17 -0
  173. mirascope/api/_generated/tags/types/tags_create_response.py +41 -0
  174. mirascope/api/_generated/tags/types/tags_get_response.py +41 -0
  175. mirascope/api/_generated/tags/types/tags_list_response.py +23 -0
  176. mirascope/api/_generated/tags/types/tags_list_response_tags_item.py +41 -0
  177. mirascope/api/_generated/tags/types/tags_update_response.py +41 -0
  178. mirascope/api/_generated/token_cost/__init__.py +7 -0
  179. mirascope/api/_generated/token_cost/client.py +160 -0
  180. mirascope/api/_generated/token_cost/raw_client.py +264 -0
  181. mirascope/api/_generated/token_cost/types/__init__.py +8 -0
  182. mirascope/api/_generated/token_cost/types/token_cost_calculate_request_usage.py +54 -0
  183. mirascope/api/_generated/token_cost/types/token_cost_calculate_response.py +52 -0
  184. mirascope/api/_generated/traces/__init__.py +97 -0
  185. mirascope/api/_generated/traces/client.py +1103 -0
  186. mirascope/api/_generated/traces/raw_client.py +2322 -0
  187. mirascope/api/_generated/traces/types/__init__.py +155 -0
  188. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item.py +29 -0
  189. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource.py +27 -0
  190. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item.py +23 -0
  191. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value.py +38 -0
  192. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value_array_value.py +19 -0
  193. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value_kvlist_value.py +22 -0
  194. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value_kvlist_value_values_item.py +20 -0
  195. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item.py +29 -0
  196. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope.py +31 -0
  197. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item.py +23 -0
  198. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value.py +38 -0
  199. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_array_value.py +19 -0
  200. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_kvlist_value.py +22 -0
  201. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_kvlist_value_values_item.py +22 -0
  202. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item.py +48 -0
  203. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item.py +23 -0
  204. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value.py +38 -0
  205. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_array_value.py +19 -0
  206. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_kvlist_value.py +24 -0
  207. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_kvlist_value_values_item.py +22 -0
  208. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_status.py +20 -0
  209. mirascope/api/_generated/traces/types/traces_create_response.py +24 -0
  210. mirascope/api/_generated/traces/types/traces_create_response_partial_success.py +22 -0
  211. mirascope/api/_generated/traces/types/traces_get_analytics_summary_response.py +60 -0
  212. mirascope/api/_generated/traces/types/traces_get_analytics_summary_response_top_functions_item.py +24 -0
  213. mirascope/api/_generated/traces/types/traces_get_analytics_summary_response_top_models_item.py +22 -0
  214. mirascope/api/_generated/traces/types/traces_get_trace_detail_by_env_response.py +33 -0
  215. mirascope/api/_generated/traces/types/traces_get_trace_detail_by_env_response_spans_item.py +88 -0
  216. mirascope/api/_generated/traces/types/traces_get_trace_detail_response.py +33 -0
  217. mirascope/api/_generated/traces/types/traces_get_trace_detail_response_spans_item.py +88 -0
  218. mirascope/api/_generated/traces/types/traces_list_by_function_hash_response.py +25 -0
  219. mirascope/api/_generated/traces/types/traces_list_by_function_hash_response_traces_item.py +44 -0
  220. mirascope/api/_generated/traces/types/traces_search_by_env_request_attribute_filters_item.py +26 -0
  221. mirascope/api/_generated/traces/types/traces_search_by_env_request_attribute_filters_item_operator.py +7 -0
  222. mirascope/api/_generated/traces/types/traces_search_by_env_request_sort_by.py +7 -0
  223. mirascope/api/_generated/traces/types/traces_search_by_env_request_sort_order.py +7 -0
  224. mirascope/api/_generated/traces/types/traces_search_by_env_response.py +26 -0
  225. mirascope/api/_generated/traces/types/traces_search_by_env_response_spans_item.py +50 -0
  226. mirascope/api/_generated/traces/types/traces_search_request_attribute_filters_item.py +26 -0
  227. mirascope/api/_generated/traces/types/traces_search_request_attribute_filters_item_operator.py +7 -0
  228. mirascope/api/_generated/traces/types/traces_search_request_sort_by.py +7 -0
  229. mirascope/api/_generated/traces/types/traces_search_request_sort_order.py +5 -0
  230. mirascope/api/_generated/traces/types/traces_search_response.py +26 -0
  231. mirascope/api/_generated/traces/types/traces_search_response_spans_item.py +50 -0
  232. mirascope/api/_generated/types/__init__.py +85 -0
  233. mirascope/api/_generated/types/already_exists_error.py +22 -0
  234. mirascope/api/_generated/types/already_exists_error_tag.py +5 -0
  235. mirascope/api/_generated/types/bad_request_error_body.py +50 -0
  236. mirascope/api/_generated/types/click_house_error.py +22 -0
  237. mirascope/api/_generated/types/database_error.py +22 -0
  238. mirascope/api/_generated/types/database_error_tag.py +5 -0
  239. mirascope/api/_generated/types/date.py +3 -0
  240. mirascope/api/_generated/types/http_api_decode_error.py +27 -0
  241. mirascope/api/_generated/types/http_api_decode_error_tag.py +5 -0
  242. mirascope/api/_generated/types/immutable_resource_error.py +22 -0
  243. mirascope/api/_generated/types/internal_server_error_body.py +49 -0
  244. mirascope/api/_generated/types/issue.py +38 -0
  245. mirascope/api/_generated/types/issue_tag.py +10 -0
  246. mirascope/api/_generated/types/not_found_error_body.py +22 -0
  247. mirascope/api/_generated/types/not_found_error_tag.py +5 -0
  248. mirascope/api/_generated/types/number_from_string.py +3 -0
  249. mirascope/api/_generated/types/permission_denied_error.py +22 -0
  250. mirascope/api/_generated/types/permission_denied_error_tag.py +5 -0
  251. mirascope/api/_generated/types/plan_limit_exceeded_error.py +32 -0
  252. mirascope/api/_generated/types/plan_limit_exceeded_error_tag.py +7 -0
  253. mirascope/api/_generated/types/pricing_unavailable_error.py +23 -0
  254. mirascope/api/_generated/types/property_key.py +7 -0
  255. mirascope/api/_generated/types/property_key_key.py +25 -0
  256. mirascope/api/_generated/types/property_key_key_tag.py +5 -0
  257. mirascope/api/_generated/types/rate_limit_error.py +31 -0
  258. mirascope/api/_generated/types/rate_limit_error_tag.py +5 -0
  259. mirascope/api/_generated/types/service_unavailable_error_body.py +24 -0
  260. mirascope/api/_generated/types/service_unavailable_error_tag.py +7 -0
  261. mirascope/api/_generated/types/stripe_error.py +20 -0
  262. mirascope/api/_generated/types/subscription_past_due_error.py +31 -0
  263. mirascope/api/_generated/types/subscription_past_due_error_tag.py +7 -0
  264. mirascope/api/_generated/types/unauthorized_error_body.py +21 -0
  265. mirascope/api/_generated/types/unauthorized_error_tag.py +5 -0
  266. mirascope/api/client.py +255 -0
  267. mirascope/api/settings.py +99 -0
  268. mirascope/llm/__init__.py +309 -13
  269. mirascope/llm/calls/__init__.py +17 -0
  270. mirascope/llm/calls/calls.py +348 -0
  271. mirascope/llm/calls/decorator.py +268 -0
  272. mirascope/llm/content/__init__.py +71 -0
  273. mirascope/llm/content/audio.py +173 -0
  274. mirascope/llm/content/document.py +94 -0
  275. mirascope/llm/content/image.py +206 -0
  276. mirascope/llm/content/text.py +47 -0
  277. mirascope/llm/content/thought.py +58 -0
  278. mirascope/llm/content/tool_call.py +69 -0
  279. mirascope/llm/content/tool_output.py +43 -0
  280. mirascope/llm/context/__init__.py +6 -0
  281. mirascope/llm/context/_utils.py +41 -0
  282. mirascope/llm/context/context.py +24 -0
  283. mirascope/llm/exceptions.py +360 -0
  284. mirascope/llm/formatting/__init__.py +39 -0
  285. mirascope/llm/formatting/format.py +291 -0
  286. mirascope/llm/formatting/from_call_args.py +30 -0
  287. mirascope/llm/formatting/output_parser.py +178 -0
  288. mirascope/llm/formatting/partial.py +131 -0
  289. mirascope/llm/formatting/primitives.py +192 -0
  290. mirascope/llm/formatting/types.py +83 -0
  291. mirascope/llm/mcp/__init__.py +5 -0
  292. mirascope/llm/mcp/mcp_client.py +130 -0
  293. mirascope/llm/messages/__init__.py +35 -0
  294. mirascope/llm/messages/_utils.py +34 -0
  295. mirascope/llm/messages/message.py +190 -0
  296. mirascope/llm/models/__init__.py +21 -0
  297. mirascope/llm/models/models.py +1339 -0
  298. mirascope/llm/models/params.py +72 -0
  299. mirascope/llm/models/thinking_config.py +61 -0
  300. mirascope/llm/prompts/__init__.py +34 -0
  301. mirascope/llm/prompts/_utils.py +31 -0
  302. mirascope/llm/prompts/decorator.py +215 -0
  303. mirascope/llm/prompts/prompts.py +484 -0
  304. mirascope/llm/prompts/protocols.py +65 -0
  305. mirascope/llm/providers/__init__.py +65 -0
  306. mirascope/llm/providers/anthropic/__init__.py +11 -0
  307. mirascope/llm/providers/anthropic/_utils/__init__.py +27 -0
  308. mirascope/llm/providers/anthropic/_utils/beta_decode.py +297 -0
  309. mirascope/llm/providers/anthropic/_utils/beta_encode.py +272 -0
  310. mirascope/llm/providers/anthropic/_utils/decode.py +326 -0
  311. mirascope/llm/providers/anthropic/_utils/encode.py +431 -0
  312. mirascope/llm/providers/anthropic/_utils/errors.py +46 -0
  313. mirascope/llm/providers/anthropic/beta_provider.py +338 -0
  314. mirascope/llm/providers/anthropic/model_id.py +23 -0
  315. mirascope/llm/providers/anthropic/model_info.py +87 -0
  316. mirascope/llm/providers/anthropic/provider.py +440 -0
  317. mirascope/llm/providers/base/__init__.py +14 -0
  318. mirascope/llm/providers/base/_utils.py +248 -0
  319. mirascope/llm/providers/base/base_provider.py +1463 -0
  320. mirascope/llm/providers/base/kwargs.py +12 -0
  321. mirascope/llm/providers/google/__init__.py +6 -0
  322. mirascope/llm/providers/google/_utils/__init__.py +17 -0
  323. mirascope/llm/providers/google/_utils/decode.py +357 -0
  324. mirascope/llm/providers/google/_utils/encode.py +418 -0
  325. mirascope/llm/providers/google/_utils/errors.py +50 -0
  326. mirascope/llm/providers/google/message.py +7 -0
  327. mirascope/llm/providers/google/model_id.py +22 -0
  328. mirascope/llm/providers/google/model_info.py +63 -0
  329. mirascope/llm/providers/google/provider.py +456 -0
  330. mirascope/llm/providers/mirascope/__init__.py +5 -0
  331. mirascope/llm/providers/mirascope/_utils.py +73 -0
  332. mirascope/llm/providers/mirascope/provider.py +313 -0
  333. mirascope/llm/providers/mlx/__init__.py +9 -0
  334. mirascope/llm/providers/mlx/_utils.py +141 -0
  335. mirascope/llm/providers/mlx/encoding/__init__.py +8 -0
  336. mirascope/llm/providers/mlx/encoding/base.py +69 -0
  337. mirascope/llm/providers/mlx/encoding/transformers.py +146 -0
  338. mirascope/llm/providers/mlx/mlx.py +242 -0
  339. mirascope/llm/providers/mlx/model_id.py +17 -0
  340. mirascope/llm/providers/mlx/provider.py +416 -0
  341. mirascope/llm/providers/model_id.py +16 -0
  342. mirascope/llm/providers/ollama/__init__.py +7 -0
  343. mirascope/llm/providers/ollama/provider.py +71 -0
  344. mirascope/llm/providers/openai/__init__.py +15 -0
  345. mirascope/llm/providers/openai/_utils/__init__.py +5 -0
  346. mirascope/llm/providers/openai/_utils/errors.py +46 -0
  347. mirascope/llm/providers/openai/completions/__init__.py +7 -0
  348. mirascope/llm/providers/openai/completions/_utils/__init__.py +18 -0
  349. mirascope/llm/providers/openai/completions/_utils/decode.py +252 -0
  350. mirascope/llm/providers/openai/completions/_utils/encode.py +390 -0
  351. mirascope/llm/providers/openai/completions/_utils/feature_info.py +50 -0
  352. mirascope/llm/providers/openai/completions/base_provider.py +522 -0
  353. mirascope/llm/providers/openai/completions/provider.py +28 -0
  354. mirascope/llm/providers/openai/model_id.py +31 -0
  355. mirascope/llm/providers/openai/model_info.py +303 -0
  356. mirascope/llm/providers/openai/provider.py +405 -0
  357. mirascope/llm/providers/openai/responses/__init__.py +5 -0
  358. mirascope/llm/providers/openai/responses/_utils/__init__.py +15 -0
  359. mirascope/llm/providers/openai/responses/_utils/decode.py +289 -0
  360. mirascope/llm/providers/openai/responses/_utils/encode.py +399 -0
  361. mirascope/llm/providers/openai/responses/provider.py +472 -0
  362. mirascope/llm/providers/openrouter/__init__.py +5 -0
  363. mirascope/llm/providers/openrouter/provider.py +67 -0
  364. mirascope/llm/providers/provider_id.py +26 -0
  365. mirascope/llm/providers/provider_registry.py +305 -0
  366. mirascope/llm/providers/together/__init__.py +7 -0
  367. mirascope/llm/providers/together/provider.py +40 -0
  368. mirascope/llm/responses/__init__.py +66 -0
  369. mirascope/llm/responses/_utils.py +146 -0
  370. mirascope/llm/responses/base_response.py +103 -0
  371. mirascope/llm/responses/base_stream_response.py +824 -0
  372. mirascope/llm/responses/finish_reason.py +28 -0
  373. mirascope/llm/responses/response.py +362 -0
  374. mirascope/llm/responses/root_response.py +248 -0
  375. mirascope/llm/responses/stream_response.py +577 -0
  376. mirascope/llm/responses/streams.py +363 -0
  377. mirascope/llm/responses/usage.py +139 -0
  378. mirascope/llm/tools/__init__.py +71 -0
  379. mirascope/llm/tools/_utils.py +34 -0
  380. mirascope/llm/tools/decorator.py +184 -0
  381. mirascope/llm/tools/protocols.py +96 -0
  382. mirascope/llm/tools/provider_tools.py +18 -0
  383. mirascope/llm/tools/tool_schema.py +321 -0
  384. mirascope/llm/tools/toolkit.py +178 -0
  385. mirascope/llm/tools/tools.py +263 -0
  386. mirascope/llm/tools/types.py +112 -0
  387. mirascope/llm/tools/web_search_tool.py +32 -0
  388. mirascope/llm/types/__init__.py +22 -0
  389. mirascope/llm/types/dataclass.py +9 -0
  390. mirascope/llm/types/jsonable.py +44 -0
  391. mirascope/llm/types/type_vars.py +19 -0
  392. mirascope/ops/__init__.py +129 -0
  393. mirascope/ops/_internal/__init__.py +5 -0
  394. mirascope/ops/_internal/closure.py +1172 -0
  395. mirascope/ops/_internal/configuration.py +177 -0
  396. mirascope/ops/_internal/context.py +76 -0
  397. mirascope/ops/_internal/exporters/__init__.py +26 -0
  398. mirascope/ops/_internal/exporters/exporters.py +362 -0
  399. mirascope/ops/_internal/exporters/processors.py +104 -0
  400. mirascope/ops/_internal/exporters/types.py +165 -0
  401. mirascope/ops/_internal/exporters/utils.py +66 -0
  402. mirascope/ops/_internal/instrumentation/__init__.py +28 -0
  403. mirascope/ops/_internal/instrumentation/llm/__init__.py +8 -0
  404. mirascope/ops/_internal/instrumentation/llm/common.py +500 -0
  405. mirascope/ops/_internal/instrumentation/llm/cost.py +190 -0
  406. mirascope/ops/_internal/instrumentation/llm/encode.py +238 -0
  407. mirascope/ops/_internal/instrumentation/llm/gen_ai_types/__init__.py +38 -0
  408. mirascope/ops/_internal/instrumentation/llm/gen_ai_types/gen_ai_input_messages.py +31 -0
  409. mirascope/ops/_internal/instrumentation/llm/gen_ai_types/gen_ai_output_messages.py +38 -0
  410. mirascope/ops/_internal/instrumentation/llm/gen_ai_types/gen_ai_system_instructions.py +18 -0
  411. mirascope/ops/_internal/instrumentation/llm/gen_ai_types/shared.py +100 -0
  412. mirascope/ops/_internal/instrumentation/llm/llm.py +161 -0
  413. mirascope/ops/_internal/instrumentation/llm/model.py +1777 -0
  414. mirascope/ops/_internal/instrumentation/llm/response.py +521 -0
  415. mirascope/ops/_internal/instrumentation/llm/serialize.py +324 -0
  416. mirascope/ops/_internal/instrumentation/providers/__init__.py +29 -0
  417. mirascope/ops/_internal/instrumentation/providers/anthropic.py +78 -0
  418. mirascope/ops/_internal/instrumentation/providers/base.py +179 -0
  419. mirascope/ops/_internal/instrumentation/providers/google_genai.py +85 -0
  420. mirascope/ops/_internal/instrumentation/providers/openai.py +82 -0
  421. mirascope/ops/_internal/propagation.py +198 -0
  422. mirascope/ops/_internal/protocols.py +133 -0
  423. mirascope/ops/_internal/session.py +139 -0
  424. mirascope/ops/_internal/spans.py +232 -0
  425. mirascope/ops/_internal/traced_calls.py +389 -0
  426. mirascope/ops/_internal/traced_functions.py +528 -0
  427. mirascope/ops/_internal/tracing.py +353 -0
  428. mirascope/ops/_internal/types.py +13 -0
  429. mirascope/ops/_internal/utils.py +131 -0
  430. mirascope/ops/_internal/versioned_calls.py +512 -0
  431. mirascope/ops/_internal/versioned_functions.py +357 -0
  432. mirascope/ops/_internal/versioning.py +303 -0
  433. mirascope/ops/exceptions.py +21 -0
  434. mirascope-2.1.1.dist-info/METADATA +231 -0
  435. mirascope-2.1.1.dist-info/RECORD +437 -0
  436. mirascope-2.1.1.dist-info/WHEEL +4 -0
  437. mirascope-2.1.1.dist-info/licenses/LICENSE +21 -0
  438. mirascope/beta/__init__.py +0 -3
  439. mirascope/beta/openai/__init__.py +0 -17
  440. mirascope/beta/openai/realtime/__init__.py +0 -13
  441. mirascope/beta/openai/realtime/_utils/__init__.py +0 -3
  442. mirascope/beta/openai/realtime/_utils/_audio.py +0 -74
  443. mirascope/beta/openai/realtime/_utils/_protocols.py +0 -50
  444. mirascope/beta/openai/realtime/realtime.py +0 -500
  445. mirascope/beta/openai/realtime/recording.py +0 -98
  446. mirascope/beta/openai/realtime/tool.py +0 -113
  447. mirascope/beta/rag/__init__.py +0 -24
  448. mirascope/beta/rag/base/__init__.py +0 -22
  449. mirascope/beta/rag/base/chunkers/__init__.py +0 -2
  450. mirascope/beta/rag/base/chunkers/base_chunker.py +0 -37
  451. mirascope/beta/rag/base/chunkers/text_chunker.py +0 -33
  452. mirascope/beta/rag/base/config.py +0 -8
  453. mirascope/beta/rag/base/document.py +0 -11
  454. mirascope/beta/rag/base/embedders.py +0 -35
  455. mirascope/beta/rag/base/embedding_params.py +0 -18
  456. mirascope/beta/rag/base/embedding_response.py +0 -30
  457. mirascope/beta/rag/base/query_results.py +0 -7
  458. mirascope/beta/rag/base/vectorstore_params.py +0 -18
  459. mirascope/beta/rag/base/vectorstores.py +0 -37
  460. mirascope/beta/rag/chroma/__init__.py +0 -11
  461. mirascope/beta/rag/chroma/types.py +0 -57
  462. mirascope/beta/rag/chroma/vectorstores.py +0 -97
  463. mirascope/beta/rag/cohere/__init__.py +0 -11
  464. mirascope/beta/rag/cohere/embedders.py +0 -87
  465. mirascope/beta/rag/cohere/embedding_params.py +0 -29
  466. mirascope/beta/rag/cohere/embedding_response.py +0 -29
  467. mirascope/beta/rag/cohere/py.typed +0 -0
  468. mirascope/beta/rag/openai/__init__.py +0 -11
  469. mirascope/beta/rag/openai/embedders.py +0 -144
  470. mirascope/beta/rag/openai/embedding_params.py +0 -18
  471. mirascope/beta/rag/openai/embedding_response.py +0 -14
  472. mirascope/beta/rag/openai/py.typed +0 -0
  473. mirascope/beta/rag/pinecone/__init__.py +0 -19
  474. mirascope/beta/rag/pinecone/types.py +0 -143
  475. mirascope/beta/rag/pinecone/vectorstores.py +0 -148
  476. mirascope/beta/rag/weaviate/__init__.py +0 -6
  477. mirascope/beta/rag/weaviate/types.py +0 -92
  478. mirascope/beta/rag/weaviate/vectorstores.py +0 -103
  479. mirascope/core/__init__.py +0 -107
  480. mirascope/core/anthropic/__init__.py +0 -31
  481. mirascope/core/anthropic/_call.py +0 -67
  482. mirascope/core/anthropic/_call_kwargs.py +0 -13
  483. mirascope/core/anthropic/_utils/__init__.py +0 -16
  484. mirascope/core/anthropic/_utils/_convert_common_call_params.py +0 -25
  485. mirascope/core/anthropic/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -21
  486. mirascope/core/anthropic/_utils/_convert_message_params.py +0 -102
  487. mirascope/core/anthropic/_utils/_get_json_output.py +0 -31
  488. mirascope/core/anthropic/_utils/_handle_stream.py +0 -113
  489. mirascope/core/anthropic/_utils/_message_param_converter.py +0 -142
  490. mirascope/core/anthropic/_utils/_setup_call.py +0 -134
  491. mirascope/core/anthropic/call_params.py +0 -41
  492. mirascope/core/anthropic/call_response.py +0 -206
  493. mirascope/core/anthropic/call_response_chunk.py +0 -132
  494. mirascope/core/anthropic/dynamic_config.py +0 -40
  495. mirascope/core/anthropic/py.typed +0 -0
  496. mirascope/core/anthropic/stream.py +0 -147
  497. mirascope/core/anthropic/tool.py +0 -101
  498. mirascope/core/azure/__init__.py +0 -31
  499. mirascope/core/azure/_call.py +0 -67
  500. mirascope/core/azure/_call_kwargs.py +0 -13
  501. mirascope/core/azure/_utils/__init__.py +0 -14
  502. mirascope/core/azure/_utils/_convert_common_call_params.py +0 -26
  503. mirascope/core/azure/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -21
  504. mirascope/core/azure/_utils/_convert_message_params.py +0 -121
  505. mirascope/core/azure/_utils/_get_credential.py +0 -33
  506. mirascope/core/azure/_utils/_get_json_output.py +0 -27
  507. mirascope/core/azure/_utils/_handle_stream.py +0 -130
  508. mirascope/core/azure/_utils/_message_param_converter.py +0 -117
  509. mirascope/core/azure/_utils/_setup_call.py +0 -183
  510. mirascope/core/azure/call_params.py +0 -59
  511. mirascope/core/azure/call_response.py +0 -215
  512. mirascope/core/azure/call_response_chunk.py +0 -105
  513. mirascope/core/azure/dynamic_config.py +0 -30
  514. mirascope/core/azure/py.typed +0 -0
  515. mirascope/core/azure/stream.py +0 -147
  516. mirascope/core/azure/tool.py +0 -93
  517. mirascope/core/base/__init__.py +0 -84
  518. mirascope/core/base/_call_factory.py +0 -256
  519. mirascope/core/base/_create.py +0 -253
  520. mirascope/core/base/_extract.py +0 -175
  521. mirascope/core/base/_extract_with_tools.py +0 -189
  522. mirascope/core/base/_partial.py +0 -95
  523. mirascope/core/base/_utils/__init__.py +0 -92
  524. mirascope/core/base/_utils/_base_message_param_converter.py +0 -22
  525. mirascope/core/base/_utils/_base_type.py +0 -26
  526. mirascope/core/base/_utils/_convert_base_model_to_base_tool.py +0 -48
  527. mirascope/core/base/_utils/_convert_base_type_to_base_tool.py +0 -24
  528. mirascope/core/base/_utils/_convert_function_to_base_tool.py +0 -139
  529. mirascope/core/base/_utils/_convert_messages_to_message_params.py +0 -171
  530. mirascope/core/base/_utils/_convert_provider_finish_reason_to_finish_reason.py +0 -20
  531. mirascope/core/base/_utils/_default_tool_docstring.py +0 -6
  532. mirascope/core/base/_utils/_extract_tool_return.py +0 -42
  533. mirascope/core/base/_utils/_fn_is_async.py +0 -15
  534. mirascope/core/base/_utils/_format_template.py +0 -32
  535. mirascope/core/base/_utils/_get_audio_type.py +0 -18
  536. mirascope/core/base/_utils/_get_common_usage.py +0 -20
  537. mirascope/core/base/_utils/_get_create_fn_or_async_create_fn.py +0 -137
  538. mirascope/core/base/_utils/_get_document_type.py +0 -7
  539. mirascope/core/base/_utils/_get_dynamic_configuration.py +0 -69
  540. mirascope/core/base/_utils/_get_fields_from_call_args.py +0 -34
  541. mirascope/core/base/_utils/_get_fn_args.py +0 -23
  542. mirascope/core/base/_utils/_get_image_dimensions.py +0 -39
  543. mirascope/core/base/_utils/_get_image_type.py +0 -26
  544. mirascope/core/base/_utils/_get_metadata.py +0 -17
  545. mirascope/core/base/_utils/_get_possible_user_message_param.py +0 -21
  546. mirascope/core/base/_utils/_get_prompt_template.py +0 -28
  547. mirascope/core/base/_utils/_get_template_values.py +0 -51
  548. mirascope/core/base/_utils/_get_template_variables.py +0 -38
  549. mirascope/core/base/_utils/_get_unsupported_tool_config_keys.py +0 -10
  550. mirascope/core/base/_utils/_is_prompt_template.py +0 -24
  551. mirascope/core/base/_utils/_json_mode_content.py +0 -17
  552. mirascope/core/base/_utils/_messages_decorator.py +0 -121
  553. mirascope/core/base/_utils/_parse_content_template.py +0 -321
  554. mirascope/core/base/_utils/_parse_prompt_messages.py +0 -63
  555. mirascope/core/base/_utils/_pil_image_to_bytes.py +0 -13
  556. mirascope/core/base/_utils/_protocols.py +0 -901
  557. mirascope/core/base/_utils/_setup_call.py +0 -79
  558. mirascope/core/base/_utils/_setup_extract_tool.py +0 -30
  559. mirascope/core/base/call_kwargs.py +0 -13
  560. mirascope/core/base/call_params.py +0 -36
  561. mirascope/core/base/call_response.py +0 -340
  562. mirascope/core/base/call_response_chunk.py +0 -130
  563. mirascope/core/base/dynamic_config.py +0 -82
  564. mirascope/core/base/from_call_args.py +0 -30
  565. mirascope/core/base/merge_decorators.py +0 -59
  566. mirascope/core/base/message_param.py +0 -162
  567. mirascope/core/base/messages.py +0 -111
  568. mirascope/core/base/metadata.py +0 -13
  569. mirascope/core/base/prompt.py +0 -497
  570. mirascope/core/base/response_model_config_dict.py +0 -9
  571. mirascope/core/base/stream.py +0 -479
  572. mirascope/core/base/stream_config.py +0 -11
  573. mirascope/core/base/structured_stream.py +0 -296
  574. mirascope/core/base/tool.py +0 -205
  575. mirascope/core/base/toolkit.py +0 -176
  576. mirascope/core/base/types.py +0 -344
  577. mirascope/core/bedrock/__init__.py +0 -34
  578. mirascope/core/bedrock/_call.py +0 -68
  579. mirascope/core/bedrock/_call_kwargs.py +0 -12
  580. mirascope/core/bedrock/_types.py +0 -104
  581. mirascope/core/bedrock/_utils/__init__.py +0 -14
  582. mirascope/core/bedrock/_utils/_convert_common_call_params.py +0 -39
  583. mirascope/core/bedrock/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -23
  584. mirascope/core/bedrock/_utils/_convert_message_params.py +0 -111
  585. mirascope/core/bedrock/_utils/_get_json_output.py +0 -30
  586. mirascope/core/bedrock/_utils/_handle_stream.py +0 -104
  587. mirascope/core/bedrock/_utils/_message_param_converter.py +0 -171
  588. mirascope/core/bedrock/_utils/_setup_call.py +0 -258
  589. mirascope/core/bedrock/call_params.py +0 -38
  590. mirascope/core/bedrock/call_response.py +0 -249
  591. mirascope/core/bedrock/call_response_chunk.py +0 -111
  592. mirascope/core/bedrock/dynamic_config.py +0 -37
  593. mirascope/core/bedrock/py.typed +0 -0
  594. mirascope/core/bedrock/stream.py +0 -154
  595. mirascope/core/bedrock/tool.py +0 -96
  596. mirascope/core/cohere/__init__.py +0 -30
  597. mirascope/core/cohere/_call.py +0 -67
  598. mirascope/core/cohere/_call_kwargs.py +0 -11
  599. mirascope/core/cohere/_types.py +0 -20
  600. mirascope/core/cohere/_utils/__init__.py +0 -14
  601. mirascope/core/cohere/_utils/_convert_common_call_params.py +0 -26
  602. mirascope/core/cohere/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -24
  603. mirascope/core/cohere/_utils/_convert_message_params.py +0 -32
  604. mirascope/core/cohere/_utils/_get_json_output.py +0 -30
  605. mirascope/core/cohere/_utils/_handle_stream.py +0 -35
  606. mirascope/core/cohere/_utils/_message_param_converter.py +0 -54
  607. mirascope/core/cohere/_utils/_setup_call.py +0 -150
  608. mirascope/core/cohere/call_params.py +0 -62
  609. mirascope/core/cohere/call_response.py +0 -205
  610. mirascope/core/cohere/call_response_chunk.py +0 -125
  611. mirascope/core/cohere/dynamic_config.py +0 -32
  612. mirascope/core/cohere/py.typed +0 -0
  613. mirascope/core/cohere/stream.py +0 -113
  614. mirascope/core/cohere/tool.py +0 -93
  615. mirascope/core/costs/__init__.py +0 -5
  616. mirascope/core/costs/_anthropic_calculate_cost.py +0 -219
  617. mirascope/core/costs/_azure_calculate_cost.py +0 -11
  618. mirascope/core/costs/_bedrock_calculate_cost.py +0 -15
  619. mirascope/core/costs/_cohere_calculate_cost.py +0 -44
  620. mirascope/core/costs/_gemini_calculate_cost.py +0 -67
  621. mirascope/core/costs/_google_calculate_cost.py +0 -427
  622. mirascope/core/costs/_groq_calculate_cost.py +0 -156
  623. mirascope/core/costs/_litellm_calculate_cost.py +0 -11
  624. mirascope/core/costs/_mistral_calculate_cost.py +0 -64
  625. mirascope/core/costs/_openai_calculate_cost.py +0 -416
  626. mirascope/core/costs/_vertex_calculate_cost.py +0 -67
  627. mirascope/core/costs/_xai_calculate_cost.py +0 -104
  628. mirascope/core/costs/calculate_cost.py +0 -86
  629. mirascope/core/gemini/__init__.py +0 -40
  630. mirascope/core/gemini/_call.py +0 -67
  631. mirascope/core/gemini/_call_kwargs.py +0 -12
  632. mirascope/core/gemini/_utils/__init__.py +0 -14
  633. mirascope/core/gemini/_utils/_convert_common_call_params.py +0 -39
  634. mirascope/core/gemini/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -23
  635. mirascope/core/gemini/_utils/_convert_message_params.py +0 -156
  636. mirascope/core/gemini/_utils/_get_json_output.py +0 -35
  637. mirascope/core/gemini/_utils/_handle_stream.py +0 -33
  638. mirascope/core/gemini/_utils/_message_param_converter.py +0 -209
  639. mirascope/core/gemini/_utils/_setup_call.py +0 -149
  640. mirascope/core/gemini/call_params.py +0 -52
  641. mirascope/core/gemini/call_response.py +0 -216
  642. mirascope/core/gemini/call_response_chunk.py +0 -100
  643. mirascope/core/gemini/dynamic_config.py +0 -26
  644. mirascope/core/gemini/stream.py +0 -120
  645. mirascope/core/gemini/tool.py +0 -104
  646. mirascope/core/google/__init__.py +0 -29
  647. mirascope/core/google/_call.py +0 -67
  648. mirascope/core/google/_call_kwargs.py +0 -13
  649. mirascope/core/google/_utils/__init__.py +0 -14
  650. mirascope/core/google/_utils/_convert_common_call_params.py +0 -38
  651. mirascope/core/google/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -27
  652. mirascope/core/google/_utils/_convert_message_params.py +0 -206
  653. mirascope/core/google/_utils/_get_json_output.py +0 -37
  654. mirascope/core/google/_utils/_handle_stream.py +0 -35
  655. mirascope/core/google/_utils/_message_param_converter.py +0 -162
  656. mirascope/core/google/_utils/_setup_call.py +0 -201
  657. mirascope/core/google/_utils/_validate_media_type.py +0 -34
  658. mirascope/core/google/call_params.py +0 -22
  659. mirascope/core/google/call_response.py +0 -232
  660. mirascope/core/google/call_response_chunk.py +0 -110
  661. mirascope/core/google/dynamic_config.py +0 -26
  662. mirascope/core/google/stream.py +0 -143
  663. mirascope/core/google/tool.py +0 -146
  664. mirascope/core/groq/__init__.py +0 -30
  665. mirascope/core/groq/_call.py +0 -67
  666. mirascope/core/groq/_call_kwargs.py +0 -13
  667. mirascope/core/groq/_utils/__init__.py +0 -14
  668. mirascope/core/groq/_utils/_convert_common_call_params.py +0 -26
  669. mirascope/core/groq/_utils/_convert_message_params.py +0 -112
  670. mirascope/core/groq/_utils/_get_json_output.py +0 -27
  671. mirascope/core/groq/_utils/_handle_stream.py +0 -123
  672. mirascope/core/groq/_utils/_message_param_converter.py +0 -89
  673. mirascope/core/groq/_utils/_setup_call.py +0 -132
  674. mirascope/core/groq/call_params.py +0 -52
  675. mirascope/core/groq/call_response.py +0 -213
  676. mirascope/core/groq/call_response_chunk.py +0 -104
  677. mirascope/core/groq/dynamic_config.py +0 -29
  678. mirascope/core/groq/py.typed +0 -0
  679. mirascope/core/groq/stream.py +0 -135
  680. mirascope/core/groq/tool.py +0 -80
  681. mirascope/core/litellm/__init__.py +0 -28
  682. mirascope/core/litellm/_call.py +0 -67
  683. mirascope/core/litellm/_utils/__init__.py +0 -5
  684. mirascope/core/litellm/_utils/_setup_call.py +0 -109
  685. mirascope/core/litellm/call_params.py +0 -10
  686. mirascope/core/litellm/call_response.py +0 -24
  687. mirascope/core/litellm/call_response_chunk.py +0 -14
  688. mirascope/core/litellm/dynamic_config.py +0 -8
  689. mirascope/core/litellm/py.typed +0 -0
  690. mirascope/core/litellm/stream.py +0 -86
  691. mirascope/core/litellm/tool.py +0 -13
  692. mirascope/core/mistral/__init__.py +0 -36
  693. mirascope/core/mistral/_call.py +0 -65
  694. mirascope/core/mistral/_call_kwargs.py +0 -19
  695. mirascope/core/mistral/_utils/__init__.py +0 -14
  696. mirascope/core/mistral/_utils/_convert_common_call_params.py +0 -24
  697. mirascope/core/mistral/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -22
  698. mirascope/core/mistral/_utils/_convert_message_params.py +0 -122
  699. mirascope/core/mistral/_utils/_get_json_output.py +0 -34
  700. mirascope/core/mistral/_utils/_handle_stream.py +0 -139
  701. mirascope/core/mistral/_utils/_message_param_converter.py +0 -176
  702. mirascope/core/mistral/_utils/_setup_call.py +0 -154
  703. mirascope/core/mistral/call_params.py +0 -36
  704. mirascope/core/mistral/call_response.py +0 -205
  705. mirascope/core/mistral/call_response_chunk.py +0 -105
  706. mirascope/core/mistral/dynamic_config.py +0 -33
  707. mirascope/core/mistral/py.typed +0 -0
  708. mirascope/core/mistral/stream.py +0 -120
  709. mirascope/core/mistral/tool.py +0 -80
  710. mirascope/core/openai/__init__.py +0 -31
  711. mirascope/core/openai/_call.py +0 -67
  712. mirascope/core/openai/_call_kwargs.py +0 -13
  713. mirascope/core/openai/_utils/__init__.py +0 -14
  714. mirascope/core/openai/_utils/_convert_common_call_params.py +0 -26
  715. mirascope/core/openai/_utils/_convert_message_params.py +0 -146
  716. mirascope/core/openai/_utils/_get_json_output.py +0 -31
  717. mirascope/core/openai/_utils/_handle_stream.py +0 -138
  718. mirascope/core/openai/_utils/_message_param_converter.py +0 -105
  719. mirascope/core/openai/_utils/_setup_call.py +0 -155
  720. mirascope/core/openai/call_params.py +0 -91
  721. mirascope/core/openai/call_response.py +0 -273
  722. mirascope/core/openai/call_response_chunk.py +0 -139
  723. mirascope/core/openai/dynamic_config.py +0 -34
  724. mirascope/core/openai/py.typed +0 -0
  725. mirascope/core/openai/stream.py +0 -185
  726. mirascope/core/openai/tool.py +0 -101
  727. mirascope/core/py.typed +0 -0
  728. mirascope/core/vertex/__init__.py +0 -45
  729. mirascope/core/vertex/_call.py +0 -62
  730. mirascope/core/vertex/_call_kwargs.py +0 -12
  731. mirascope/core/vertex/_utils/__init__.py +0 -14
  732. mirascope/core/vertex/_utils/_convert_common_call_params.py +0 -37
  733. mirascope/core/vertex/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -23
  734. mirascope/core/vertex/_utils/_convert_message_params.py +0 -171
  735. mirascope/core/vertex/_utils/_get_json_output.py +0 -36
  736. mirascope/core/vertex/_utils/_handle_stream.py +0 -33
  737. mirascope/core/vertex/_utils/_message_param_converter.py +0 -133
  738. mirascope/core/vertex/_utils/_setup_call.py +0 -160
  739. mirascope/core/vertex/call_params.py +0 -24
  740. mirascope/core/vertex/call_response.py +0 -206
  741. mirascope/core/vertex/call_response_chunk.py +0 -99
  742. mirascope/core/vertex/dynamic_config.py +0 -28
  743. mirascope/core/vertex/stream.py +0 -119
  744. mirascope/core/vertex/tool.py +0 -101
  745. mirascope/core/xai/__init__.py +0 -28
  746. mirascope/core/xai/_call.py +0 -67
  747. mirascope/core/xai/_utils/__init__.py +0 -5
  748. mirascope/core/xai/_utils/_setup_call.py +0 -113
  749. mirascope/core/xai/call_params.py +0 -10
  750. mirascope/core/xai/call_response.py +0 -16
  751. mirascope/core/xai/call_response_chunk.py +0 -14
  752. mirascope/core/xai/dynamic_config.py +0 -8
  753. mirascope/core/xai/py.typed +0 -0
  754. mirascope/core/xai/stream.py +0 -57
  755. mirascope/core/xai/tool.py +0 -13
  756. mirascope/experimental/graphs/__init__.py +0 -5
  757. mirascope/experimental/graphs/finite_state_machine.py +0 -714
  758. mirascope/integrations/__init__.py +0 -16
  759. mirascope/integrations/_middleware_factory.py +0 -403
  760. mirascope/integrations/langfuse/__init__.py +0 -3
  761. mirascope/integrations/langfuse/_utils.py +0 -114
  762. mirascope/integrations/langfuse/_with_langfuse.py +0 -70
  763. mirascope/integrations/logfire/__init__.py +0 -3
  764. mirascope/integrations/logfire/_utils.py +0 -225
  765. mirascope/integrations/logfire/_with_logfire.py +0 -63
  766. mirascope/integrations/otel/__init__.py +0 -10
  767. mirascope/integrations/otel/_utils.py +0 -270
  768. mirascope/integrations/otel/_with_hyperdx.py +0 -60
  769. mirascope/integrations/otel/_with_otel.py +0 -59
  770. mirascope/integrations/tenacity.py +0 -14
  771. mirascope/llm/_call.py +0 -401
  772. mirascope/llm/_context.py +0 -384
  773. mirascope/llm/_override.py +0 -3639
  774. mirascope/llm/_protocols.py +0 -500
  775. mirascope/llm/_response_metaclass.py +0 -31
  776. mirascope/llm/call_response.py +0 -167
  777. mirascope/llm/call_response_chunk.py +0 -66
  778. mirascope/llm/stream.py +0 -162
  779. mirascope/llm/tool.py +0 -64
  780. mirascope/mcp/__init__.py +0 -7
  781. mirascope/mcp/_utils.py +0 -277
  782. mirascope/mcp/client.py +0 -167
  783. mirascope/mcp/server.py +0 -356
  784. mirascope/mcp/tools.py +0 -110
  785. mirascope/py.typed +0 -0
  786. mirascope/retries/__init__.py +0 -11
  787. mirascope/retries/fallback.py +0 -128
  788. mirascope/retries/tenacity.py +0 -50
  789. mirascope/tools/__init__.py +0 -37
  790. mirascope/tools/base.py +0 -98
  791. mirascope/tools/system/__init__.py +0 -0
  792. mirascope/tools/system/_docker_operation.py +0 -166
  793. mirascope/tools/system/_file_system.py +0 -267
  794. mirascope/tools/web/__init__.py +0 -0
  795. mirascope/tools/web/_duckduckgo.py +0 -111
  796. mirascope/tools/web/_httpx.py +0 -125
  797. mirascope/tools/web/_parse_url_content.py +0 -94
  798. mirascope/tools/web/_requests.py +0 -54
  799. mirascope/v0/__init__.py +0 -43
  800. mirascope/v0/anthropic.py +0 -54
  801. mirascope/v0/base/__init__.py +0 -12
  802. mirascope/v0/base/calls.py +0 -118
  803. mirascope/v0/base/extractors.py +0 -122
  804. mirascope/v0/base/ops_utils.py +0 -207
  805. mirascope/v0/base/prompts.py +0 -48
  806. mirascope/v0/base/types.py +0 -14
  807. mirascope/v0/base/utils.py +0 -21
  808. mirascope/v0/openai.py +0 -54
  809. mirascope-1.22.4.dist-info/METADATA +0 -169
  810. mirascope-1.22.4.dist-info/RECORD +0 -377
  811. mirascope-1.22.4.dist-info/WHEEL +0 -4
  812. mirascope-1.22.4.dist-info/licenses/LICENSE +0 -21
@@ -1,901 +0,0 @@
1
- """Protocols for reusable type hints."""
2
-
3
- from collections.abc import (
4
- AsyncGenerator,
5
- AsyncIterable,
6
- Awaitable,
7
- Callable,
8
- Coroutine,
9
- Generator,
10
- Iterable,
11
- )
12
- from enum import Enum
13
- from typing import (
14
- Any,
15
- Literal,
16
- NoReturn,
17
- ParamSpec,
18
- Protocol,
19
- TypeVar,
20
- overload,
21
- )
22
-
23
- from pydantic import BaseModel
24
-
25
- from ..call_kwargs import BaseCallKwargs
26
- from ..call_response import BaseCallResponse
27
- from ..call_response_chunk import BaseCallResponseChunk
28
- from ..messages import Messages
29
- from ..stream_config import StreamConfig
30
- from ..tool import BaseTool
31
- from ._base_type import BaseType
32
-
33
- _BaseCallResponseT = TypeVar(
34
- "_BaseCallResponseT", covariant=True, bound=BaseCallResponse
35
- )
36
- _BaseCallResponseChunkT = TypeVar(
37
- "_BaseCallResponseChunkT", covariant=True, bound=BaseCallResponseChunk
38
- )
39
- _BaseStreamT = TypeVar("_BaseStreamT", covariant=True)
40
- _ResponseModelT = TypeVar("_ResponseModelT", bound=BaseModel | BaseType | Enum)
41
- _SameSyncAndAsyncClientT = TypeVar("_SameSyncAndAsyncClientT", contravariant=True)
42
- _SyncBaseClientT = TypeVar("_SyncBaseClientT", contravariant=True)
43
- _AsyncBaseClientT = TypeVar("_AsyncBaseClientT", contravariant=True)
44
- _BaseCallParamsT = TypeVar("_BaseCallParamsT", contravariant=True)
45
- _AsyncBaseDynamicConfigT = TypeVar("_AsyncBaseDynamicConfigT", contravariant=True)
46
- _BaseDynamicConfigT = TypeVar("_BaseDynamicConfigT", contravariant=True)
47
- _ResponseT = TypeVar("_ResponseT", covariant=True)
48
- _AsyncResponseT = TypeVar("_AsyncResponseT", covariant=True)
49
- _ResponseChunkT = TypeVar("_ResponseChunkT", covariant=True)
50
- _AsyncResponseChunkT = TypeVar("_AsyncResponseChunkT", covariant=True)
51
- _InvariantResponseChunkT = TypeVar("_InvariantResponseChunkT", contravariant=True)
52
- _BaseToolT = TypeVar("_BaseToolT", bound=BaseTool)
53
- _ParsedOutputT = TypeVar("_ParsedOutputT")
54
- _P = ParamSpec("_P")
55
- _R = TypeVar("_R", contravariant=True)
56
-
57
-
58
- class AsyncLLMFunctionDecorator(Protocol[_AsyncBaseDynamicConfigT, _AsyncResponseT]):
59
- @overload
60
- def __call__(
61
- self,
62
- fn: Callable[
63
- _P,
64
- Awaitable[_AsyncBaseDynamicConfigT]
65
- | Coroutine[Any, Any, _AsyncBaseDynamicConfigT],
66
- ],
67
- ) -> Callable[_P, Awaitable[_AsyncResponseT]]: ...
68
-
69
- @overload
70
- def __call__(
71
- self,
72
- fn: Callable[_P, Awaitable[Messages.Type] | Coroutine[Any, Any, Messages.Type]],
73
- ) -> Callable[_P, Awaitable[_AsyncResponseT]]: ...
74
-
75
- def __call__(
76
- self,
77
- fn: Callable[
78
- _P,
79
- Awaitable[_AsyncBaseDynamicConfigT]
80
- | Coroutine[Any, Any, _AsyncBaseDynamicConfigT],
81
- ]
82
- | Callable[_P, Awaitable[Messages.Type] | Coroutine[Any, Any, Messages.Type]],
83
- ) -> Callable[_P, Awaitable[_AsyncResponseT]]: ... # pragma: no cover
84
-
85
-
86
- class SyncLLMFunctionDecorator(Protocol[_BaseDynamicConfigT, _ResponseT]):
87
- @overload
88
- def __call__(
89
- self, fn: Callable[_P, _BaseDynamicConfigT]
90
- ) -> Callable[_P, _ResponseT]: ...
91
-
92
- @overload
93
- def __call__(self, fn: Callable[_P, Messages.Type]) -> Callable[_P, _ResponseT]: ...
94
-
95
- def __call__(
96
- self, fn: Callable[_P, _BaseDynamicConfigT] | Callable[_P, Messages.Type]
97
- ) -> Callable[_P, _ResponseT]: ... # pragma: no cover
98
-
99
-
100
- class LLMFunctionDecorator(
101
- Protocol[_BaseDynamicConfigT, _AsyncBaseDynamicConfigT, _ResponseT, _AsyncResponseT]
102
- ):
103
- @overload
104
- def __call__(
105
- self, fn: Callable[_P, _BaseDynamicConfigT]
106
- ) -> Callable[_P, _ResponseT]: ...
107
-
108
- @overload
109
- def __call__(self, fn: Callable[_P, Messages.Type]) -> Callable[_P, _ResponseT]: ...
110
-
111
- @overload
112
- def __call__(
113
- self, fn: Callable[_P, Awaitable[_AsyncBaseDynamicConfigT]]
114
- ) -> Callable[_P, Awaitable[_AsyncResponseT]]: ...
115
-
116
- @overload
117
- def __call__(
118
- self, fn: Callable[_P, Awaitable[Messages.Type]]
119
- ) -> Callable[_P, Awaitable[_AsyncResponseT]]: ...
120
-
121
- def __call__(
122
- self,
123
- fn: Callable[_P, _BaseDynamicConfigT]
124
- | Callable[_P, Awaitable[_AsyncBaseDynamicConfigT]]
125
- | Callable[_P, Messages.Type]
126
- | Callable[_P, Awaitable[Messages.Type]],
127
- ) -> Callable[_P, _ResponseT | Awaitable[_AsyncResponseT]]: ... # pragma: no cover
128
-
129
-
130
- class AsyncCreateFn(Protocol[_ResponseT, _ResponseChunkT]):
131
- @overload
132
- def __call__( # pyright: ignore[reportOverlappingOverload]
133
- self,
134
- *,
135
- stream: Literal[False] = False,
136
- **kwargs: Any, # noqa: ANN401
137
- ) -> Awaitable[_ResponseT]: ...
138
-
139
- @overload
140
- def __call__(
141
- self,
142
- *,
143
- stream: Literal[True] | StreamConfig = True,
144
- **kwargs: Any, # noqa: ANN401
145
- ) -> Awaitable[AsyncGenerator[_ResponseChunkT, None]]: ...
146
-
147
- def __call__(
148
- self, *, stream: bool | StreamConfig = False, **kwargs: Any
149
- ) -> Awaitable[
150
- _ResponseT | AsyncGenerator[_ResponseChunkT, None]
151
- ]: ... # pragma: no cover
152
-
153
-
154
- class CreateFn(Protocol[_ResponseT, _ResponseChunkT]):
155
- @overload
156
- def __call__( # pyright: ignore[reportOverlappingOverload]
157
- self,
158
- *,
159
- stream: Literal[False] = False,
160
- **kwargs: Any, # noqa: ANN401
161
- ) -> _ResponseT: ...
162
-
163
- @overload
164
- def __call__(
165
- self,
166
- *,
167
- stream: Literal[True] | StreamConfig = True,
168
- **kwargs: Any, # noqa: ANN401
169
- ) -> Generator[_ResponseChunkT, None, None]: ...
170
-
171
- def __call__(
172
- self,
173
- *,
174
- stream: bool | StreamConfig = False,
175
- **kwargs: Any, # noqa: F821
176
- ) -> _ResponseT | Generator[_ResponseChunkT, None, None]: ...
177
-
178
-
179
- class SetupCall(
180
- Protocol[
181
- _SyncBaseClientT,
182
- _AsyncBaseClientT,
183
- _BaseDynamicConfigT,
184
- _AsyncBaseDynamicConfigT,
185
- _BaseCallParamsT,
186
- _ResponseT,
187
- _ResponseChunkT,
188
- _AsyncResponseT,
189
- _AsyncResponseChunkT,
190
- _BaseToolT,
191
- ]
192
- ):
193
- @overload
194
- def __call__(
195
- self,
196
- *,
197
- model: str,
198
- client: _AsyncBaseClientT | None,
199
- fn: Callable[..., Awaitable[_AsyncBaseDynamicConfigT]],
200
- fn_args: dict[str, Any],
201
- dynamic_config: _AsyncBaseDynamicConfigT,
202
- tools: list[type[BaseTool] | Callable] | None,
203
- json_mode: bool,
204
- call_params: _BaseCallParamsT,
205
- response_model: type[BaseModel] | None,
206
- stream: bool | StreamConfig,
207
- ) -> tuple[
208
- AsyncCreateFn[_AsyncResponseT, _AsyncResponseChunkT],
209
- str | None,
210
- list[Any],
211
- list[type[_BaseToolT]] | None,
212
- BaseCallKwargs,
213
- ]: ...
214
-
215
- @overload
216
- def __call__(
217
- self,
218
- *,
219
- model: str,
220
- client: _SyncBaseClientT | None,
221
- fn: Callable[..., _BaseDynamicConfigT],
222
- fn_args: dict[str, Any],
223
- dynamic_config: _BaseDynamicConfigT,
224
- tools: list[type[BaseTool] | Callable] | None,
225
- json_mode: bool,
226
- call_params: _BaseCallParamsT,
227
- response_model: type[BaseModel] | None,
228
- stream: bool | StreamConfig,
229
- ) -> tuple[
230
- CreateFn[_ResponseT, _ResponseChunkT],
231
- str | None,
232
- list[Any],
233
- list[type[_BaseToolT]] | None,
234
- BaseCallKwargs,
235
- ]: ...
236
-
237
- def __call__(
238
- self,
239
- *,
240
- model: str,
241
- client: _SyncBaseClientT | _AsyncBaseClientT | None,
242
- fn: Callable[..., _BaseDynamicConfigT | Awaitable[_AsyncBaseDynamicConfigT]],
243
- fn_args: dict[str, Any],
244
- dynamic_config: _BaseDynamicConfigT | _AsyncBaseDynamicConfigT,
245
- tools: list[type[BaseTool] | Callable] | None,
246
- json_mode: bool,
247
- call_params: _BaseCallParamsT,
248
- response_model: type[BaseModel] | None,
249
- stream: bool | StreamConfig,
250
- ) -> tuple[
251
- CreateFn[_ResponseT, _ResponseChunkT]
252
- | AsyncCreateFn[_AsyncResponseT, _AsyncResponseChunkT],
253
- str | None,
254
- list[Any],
255
- list[type[_BaseToolT]] | None,
256
- BaseCallKwargs,
257
- ]: ... # pragma: no cover
258
-
259
-
260
- class SameSyncAndAsyncClientSetupCall(
261
- Protocol[
262
- _SameSyncAndAsyncClientT,
263
- _BaseDynamicConfigT,
264
- _AsyncBaseDynamicConfigT,
265
- _BaseCallParamsT,
266
- _ResponseT,
267
- _ResponseChunkT,
268
- _AsyncResponseT,
269
- _AsyncResponseChunkT,
270
- _BaseToolT,
271
- ]
272
- ):
273
- @overload
274
- def __call__(
275
- self,
276
- *,
277
- model: str,
278
- client: _SameSyncAndAsyncClientT | None,
279
- fn: Callable[..., Awaitable[_AsyncBaseDynamicConfigT]],
280
- fn_args: dict[str, Any],
281
- dynamic_config: _AsyncBaseDynamicConfigT,
282
- tools: list[type[BaseTool] | Callable] | None,
283
- json_mode: bool,
284
- call_params: _BaseCallParamsT,
285
- response_model: type[BaseModel] | None,
286
- stream: bool | StreamConfig,
287
- ) -> tuple[
288
- AsyncCreateFn[_AsyncResponseT, _AsyncResponseChunkT],
289
- str | None,
290
- list[Any],
291
- list[type[_BaseToolT]] | None,
292
- BaseCallKwargs,
293
- ]: ...
294
-
295
- @overload
296
- def __call__(
297
- self,
298
- *,
299
- model: str,
300
- client: _SameSyncAndAsyncClientT | None,
301
- fn: Callable[..., _BaseDynamicConfigT],
302
- fn_args: dict[str, Any],
303
- dynamic_config: _BaseDynamicConfigT,
304
- tools: list[type[BaseTool] | Callable] | None,
305
- json_mode: bool,
306
- call_params: _BaseCallParamsT,
307
- response_model: type[BaseModel] | None,
308
- stream: bool | StreamConfig,
309
- ) -> tuple[
310
- CreateFn[_ResponseT, _ResponseChunkT],
311
- str | None,
312
- list[Any],
313
- list[type[_BaseToolT]] | None,
314
- BaseCallKwargs,
315
- ]: ...
316
-
317
- def __call__(
318
- self,
319
- *,
320
- model: str,
321
- client: _SameSyncAndAsyncClientT | None,
322
- fn: Callable[..., _BaseDynamicConfigT | Awaitable[_AsyncBaseDynamicConfigT]],
323
- fn_args: dict[str, Any],
324
- dynamic_config: _BaseDynamicConfigT | _AsyncBaseDynamicConfigT,
325
- tools: list[type[BaseTool] | Callable] | None,
326
- json_mode: bool,
327
- call_params: _BaseCallParamsT,
328
- response_model: type[BaseModel] | None,
329
- stream: bool | StreamConfig,
330
- ) -> tuple[
331
- CreateFn[_ResponseT, _ResponseChunkT]
332
- | AsyncCreateFn[_AsyncResponseT, _AsyncResponseChunkT],
333
- str | None,
334
- list[Any],
335
- list[type[_BaseToolT]] | None,
336
- BaseCallKwargs,
337
- ]: ... # pragma: no cover
338
-
339
-
340
- class HandleStream(
341
- Protocol[_InvariantResponseChunkT, _BaseCallResponseChunkT, _BaseToolT]
342
- ):
343
- def __call__(
344
- self,
345
- stream: Generator[_InvariantResponseChunkT, None, None],
346
- tool_types: list[type[_BaseToolT]] | None,
347
- partial_tools: bool = False,
348
- ) -> Generator[
349
- tuple[_BaseCallResponseChunkT, _BaseToolT | None], None, None
350
- ]: ... # pragma: no cover
351
-
352
-
353
- class HandleStreamAsync(
354
- Protocol[_InvariantResponseChunkT, _BaseCallResponseChunkT, _BaseToolT]
355
- ):
356
- def __call__(
357
- self,
358
- stream: AsyncGenerator[_InvariantResponseChunkT, None],
359
- tool_types: list[type[_BaseToolT]] | None,
360
- partial_tools: bool = False,
361
- ) -> AsyncGenerator[
362
- tuple[_BaseCallResponseChunkT, _BaseToolT | None], None
363
- ]: ... # pragma: no cover
364
-
365
-
366
- class GetJsonOutput(Protocol[_R]):
367
- def __call__(self, response: _R, json_mode: bool) -> str: ... # pragma: no cover
368
-
369
-
370
- class CalculateCost(Protocol):
371
- def __call__(
372
- self,
373
- input_tokens: int | float | None,
374
- cached_tokens: int | float | None,
375
- output_tokens: int | float | None,
376
- model: str,
377
- ) -> float | None: ... # pragma: no cover
378
-
379
-
380
- class CallDecorator(
381
- Protocol[
382
- _BaseCallResponseT,
383
- _BaseCallResponseChunkT,
384
- _BaseDynamicConfigT,
385
- _AsyncBaseDynamicConfigT,
386
- _BaseCallParamsT,
387
- _BaseStreamT,
388
- _SyncBaseClientT,
389
- _AsyncBaseClientT,
390
- _SameSyncAndAsyncClientT,
391
- ],
392
- ):
393
- @overload
394
- def __call__( # pyright: ignore[reportOverlappingOverload]
395
- self,
396
- model: str,
397
- *,
398
- stream: Literal[False] = False,
399
- tools: list[type[BaseTool] | Callable] | None = None,
400
- response_model: None = None,
401
- output_parser: None = None,
402
- json_mode: bool = False,
403
- client: _SameSyncAndAsyncClientT | None = None,
404
- call_params: _BaseCallParamsT | None = None,
405
- ) -> LLMFunctionDecorator[
406
- _BaseDynamicConfigT,
407
- _AsyncBaseDynamicConfigT,
408
- _BaseCallResponseT,
409
- _BaseCallResponseT,
410
- ]: ...
411
-
412
- @overload
413
- def __call__( # pyright: ignore[reportOverlappingOverload]
414
- self,
415
- model: str,
416
- *,
417
- stream: Literal[False] = False,
418
- tools: list[type[BaseTool] | Callable] | None = None,
419
- response_model: None = None,
420
- output_parser: None = None,
421
- json_mode: bool = False,
422
- client: _AsyncBaseClientT = ...,
423
- call_params: _BaseCallParamsT | None = None,
424
- ) -> AsyncLLMFunctionDecorator[_AsyncBaseDynamicConfigT, _BaseCallResponseT]: ...
425
-
426
- @overload
427
- def __call__(
428
- self,
429
- model: str,
430
- *,
431
- stream: Literal[False] = False,
432
- tools: list[type[BaseTool] | Callable] | None = None,
433
- response_model: None = None,
434
- output_parser: None = None,
435
- json_mode: bool = False,
436
- client: _SyncBaseClientT = ...,
437
- call_params: _BaseCallParamsT | None = None,
438
- ) -> SyncLLMFunctionDecorator[_BaseDynamicConfigT, _BaseCallResponseT]: ...
439
-
440
- @overload
441
- def __call__( # pyright: ignore[reportOverlappingOverload]
442
- self,
443
- model: str,
444
- *,
445
- stream: Literal[False] = False,
446
- tools: list[type[BaseTool] | Callable] | None = None,
447
- response_model: None = None,
448
- output_parser: Callable[[_BaseCallResponseT], _ParsedOutputT],
449
- json_mode: bool = False,
450
- client: _SameSyncAndAsyncClientT | None = None,
451
- call_params: _BaseCallParamsT | None = None,
452
- ) -> LLMFunctionDecorator[
453
- _BaseDynamicConfigT, _AsyncBaseDynamicConfigT, _ParsedOutputT, _ParsedOutputT
454
- ]: ...
455
-
456
- @overload
457
- def __call__(
458
- self,
459
- model: str,
460
- *,
461
- stream: Literal[False] = False,
462
- tools: list[type[BaseTool] | Callable] | None = None,
463
- response_model: None = None,
464
- output_parser: Callable[[_BaseCallResponseT], _ParsedOutputT],
465
- json_mode: bool = False,
466
- client: _AsyncBaseClientT = ...,
467
- call_params: _BaseCallParamsT | None = None,
468
- ) -> AsyncLLMFunctionDecorator[_AsyncBaseDynamicConfigT, _ParsedOutputT]: ...
469
-
470
- @overload
471
- def __call__(
472
- self,
473
- model: str,
474
- *,
475
- stream: Literal[False] = False,
476
- tools: list[type[BaseTool] | Callable] | None = None,
477
- response_model: None = None,
478
- output_parser: Callable[[_BaseCallResponseT], _ParsedOutputT],
479
- json_mode: bool = False,
480
- client: _SyncBaseClientT = ...,
481
- call_params: _BaseCallParamsT | None = None,
482
- ) -> SyncLLMFunctionDecorator[_BaseDynamicConfigT, _ParsedOutputT]: ...
483
-
484
- @overload
485
- def __call__(
486
- self,
487
- model: str,
488
- *,
489
- stream: Literal[False] = False,
490
- tools: list[type[BaseTool] | Callable] | None = None,
491
- response_model: None = None,
492
- output_parser: Callable[[_BaseCallResponseChunkT], _ParsedOutputT],
493
- json_mode: bool = False,
494
- client: _SameSyncAndAsyncClientT
495
- | _SyncBaseClientT
496
- | _AsyncBaseClientT
497
- | None = None,
498
- call_params: _BaseCallParamsT | None = None,
499
- ) -> NoReturn: ...
500
-
501
- @overload
502
- def __call__(
503
- self,
504
- model: str,
505
- *,
506
- stream: Literal[True] | StreamConfig = True,
507
- tools: list[type[BaseTool] | Callable] | None = None,
508
- response_model: None = None,
509
- output_parser: None = None,
510
- json_mode: bool = False,
511
- client: _SameSyncAndAsyncClientT | None = None,
512
- call_params: _BaseCallParamsT | None = None,
513
- ) -> LLMFunctionDecorator[
514
- _BaseDynamicConfigT, _AsyncBaseDynamicConfigT, _BaseStreamT, _BaseStreamT
515
- ]: ...
516
-
517
- @overload
518
- def __call__(
519
- self,
520
- model: str,
521
- *,
522
- stream: Literal[True] | StreamConfig = True,
523
- tools: list[type[BaseTool] | Callable] | None = None,
524
- response_model: None = None,
525
- output_parser: None = None,
526
- json_mode: bool = False,
527
- client: _AsyncBaseClientT = ...,
528
- call_params: _BaseCallParamsT | None = None,
529
- ) -> AsyncLLMFunctionDecorator[_AsyncBaseDynamicConfigT, _BaseStreamT]: ...
530
-
531
- @overload
532
- def __call__(
533
- self,
534
- model: str,
535
- *,
536
- stream: Literal[True] | StreamConfig = True,
537
- tools: list[type[BaseTool] | Callable] | None = None,
538
- response_model: None = None,
539
- output_parser: None = None,
540
- json_mode: bool = False,
541
- client: _SyncBaseClientT = ...,
542
- call_params: _BaseCallParamsT | None = None,
543
- ) -> SyncLLMFunctionDecorator[_BaseDynamicConfigT, _BaseStreamT]: ...
544
-
545
- @overload
546
- def __call__(
547
- self,
548
- model: str,
549
- *,
550
- stream: Literal[True] | StreamConfig = True,
551
- tools: list[type[BaseTool] | Callable] | None = None,
552
- response_model: None = None,
553
- output_parser: Callable[[_BaseCallResponseChunkT], _ParsedOutputT],
554
- json_mode: bool = False,
555
- client: _SameSyncAndAsyncClientT
556
- | _SyncBaseClientT
557
- | _AsyncBaseClientT
558
- | None = None,
559
- call_params: _BaseCallParamsT | None = None,
560
- ) -> NoReturn: ...
561
-
562
- @overload
563
- def __call__(
564
- self,
565
- model: str,
566
- *,
567
- stream: Literal[True] | StreamConfig = True,
568
- tools: list[type[BaseTool] | Callable] | None = None,
569
- response_model: None = None,
570
- output_parser: Callable[[_BaseCallResponseT], _ParsedOutputT],
571
- json_mode: bool = False,
572
- client: _SameSyncAndAsyncClientT
573
- | _SyncBaseClientT
574
- | _AsyncBaseClientT
575
- | None = None,
576
- call_params: _BaseCallParamsT | None = None,
577
- ) -> NoReturn: ...
578
-
579
- @overload
580
- def __call__( # pyright: ignore[reportOverlappingOverload]
581
- self,
582
- model: str,
583
- *,
584
- stream: Literal[False] = False,
585
- tools: None = None,
586
- response_model: type[_ResponseModelT],
587
- output_parser: None = None,
588
- json_mode: bool = False,
589
- client: _SameSyncAndAsyncClientT | None = None,
590
- call_params: _BaseCallParamsT | None = None,
591
- ) -> LLMFunctionDecorator[
592
- _BaseDynamicConfigT, _AsyncBaseDynamicConfigT, _ResponseModelT, _ResponseModelT
593
- ]: ...
594
-
595
- @overload
596
- def __call__(
597
- self,
598
- model: str,
599
- *,
600
- stream: Literal[False] = False,
601
- tools: None = None,
602
- response_model: type[_ResponseModelT],
603
- output_parser: None = None,
604
- json_mode: bool = False,
605
- client: _AsyncBaseClientT = ...,
606
- call_params: _BaseCallParamsT | None = None,
607
- ) -> AsyncLLMFunctionDecorator[_AsyncBaseDynamicConfigT, _ResponseModelT]: ...
608
-
609
- @overload
610
- def __call__(
611
- self,
612
- model: str,
613
- *,
614
- stream: Literal[False] = False,
615
- tools: None = None,
616
- response_model: type[_ResponseModelT],
617
- output_parser: None = None,
618
- json_mode: bool = False,
619
- client: _SyncBaseClientT = ...,
620
- call_params: _BaseCallParamsT | None = None,
621
- ) -> SyncLLMFunctionDecorator[_BaseDynamicConfigT, _ResponseModelT]: ...
622
-
623
- @overload
624
- def __call__(
625
- self,
626
- model: str,
627
- *,
628
- stream: Literal[False] = False,
629
- tools: None = None,
630
- response_model: type[_ResponseModelT],
631
- output_parser: Callable[[_ResponseModelT], _ParsedOutputT],
632
- json_mode: bool = False,
633
- client: _SameSyncAndAsyncClientT | None = None,
634
- call_params: _BaseCallParamsT | None = None,
635
- ) -> LLMFunctionDecorator[
636
- _BaseDynamicConfigT, _AsyncBaseDynamicConfigT, _ParsedOutputT, _ParsedOutputT
637
- ]: ...
638
-
639
- @overload
640
- def __call__(
641
- self,
642
- model: str,
643
- *,
644
- stream: Literal[False] = False,
645
- tools: None = None,
646
- response_model: type[_ResponseModelT],
647
- output_parser: Callable[[_ResponseModelT], _ParsedOutputT],
648
- json_mode: bool = False,
649
- client: _AsyncBaseClientT = ...,
650
- call_params: _BaseCallParamsT | None = None,
651
- ) -> AsyncLLMFunctionDecorator[_AsyncBaseDynamicConfigT, _ParsedOutputT]: ...
652
-
653
- @overload
654
- def __call__(
655
- self,
656
- model: str,
657
- *,
658
- stream: Literal[False] = False,
659
- tools: None = None,
660
- response_model: type[_ResponseModelT],
661
- output_parser: Callable[[_ResponseModelT], _ParsedOutputT],
662
- json_mode: bool = False,
663
- client: _SyncBaseClientT = ...,
664
- call_params: _BaseCallParamsT | None = None,
665
- ) -> SyncLLMFunctionDecorator[_BaseDynamicConfigT, _ParsedOutputT]: ...
666
-
667
- @overload
668
- def __call__( # pyright: ignore[reportOverlappingOverload]
669
- self,
670
- model: str,
671
- *,
672
- stream: Literal[False] = False,
673
- tools: list[type[BaseTool] | Callable],
674
- response_model: type[_ResponseModelT],
675
- output_parser: None = None,
676
- json_mode: bool = False,
677
- client: _SameSyncAndAsyncClientT | None = None,
678
- call_params: _BaseCallParamsT | None = None,
679
- ) -> LLMFunctionDecorator[
680
- _BaseDynamicConfigT,
681
- _AsyncBaseDynamicConfigT,
682
- _ResponseModelT | _BaseCallResponseT,
683
- _ResponseModelT | _BaseCallResponseT,
684
- ]: ...
685
-
686
- @overload
687
- def __call__(
688
- self,
689
- model: str,
690
- *,
691
- stream: Literal[False] = False,
692
- tools: list[type[BaseTool] | Callable],
693
- response_model: type[_ResponseModelT],
694
- output_parser: None = None,
695
- json_mode: bool = False,
696
- client: _SyncBaseClientT = ...,
697
- call_params: _BaseCallParamsT | None = None,
698
- ) -> SyncLLMFunctionDecorator[
699
- _BaseDynamicConfigT,
700
- _ResponseModelT | _BaseCallResponseT,
701
- ]: ...
702
-
703
- @overload
704
- def __call__(
705
- self,
706
- model: str,
707
- *,
708
- stream: Literal[False] = False,
709
- tools: list[type[BaseTool] | Callable],
710
- response_model: type[_ResponseModelT],
711
- output_parser: None = None,
712
- json_mode: bool = False,
713
- client: _AsyncBaseClientT = ...,
714
- call_params: _BaseCallParamsT | None = None,
715
- ) -> AsyncLLMFunctionDecorator[
716
- _AsyncBaseDynamicConfigT,
717
- _ResponseModelT | _BaseCallResponseT,
718
- ]: ...
719
-
720
- ####
721
-
722
- @overload
723
- def __call__(
724
- self,
725
- model: str,
726
- *,
727
- stream: Literal[False] = False,
728
- tools: list[type[BaseTool] | Callable],
729
- response_model: type[_ResponseModelT],
730
- output_parser: Callable[[_ResponseModelT], _ParsedOutputT],
731
- json_mode: bool = False,
732
- client: _SameSyncAndAsyncClientT | None = None,
733
- call_params: _BaseCallParamsT | None = None,
734
- ) -> LLMFunctionDecorator[
735
- _BaseDynamicConfigT,
736
- _AsyncBaseDynamicConfigT,
737
- _ParsedOutputT | _BaseCallResponseT,
738
- _ParsedOutputT | _BaseCallResponseT,
739
- ]: ...
740
-
741
- @overload
742
- def __call__(
743
- self,
744
- model: str,
745
- *,
746
- stream: Literal[False] = False,
747
- tools: list[type[BaseTool] | Callable],
748
- response_model: type[_ResponseModelT],
749
- output_parser: Callable[[_ResponseModelT], _ParsedOutputT],
750
- json_mode: bool = False,
751
- client: _SyncBaseClientT = ...,
752
- call_params: _BaseCallParamsT | None = None,
753
- ) -> SyncLLMFunctionDecorator[
754
- _BaseDynamicConfigT,
755
- _ParsedOutputT | _BaseCallResponseT,
756
- ]: ...
757
-
758
- @overload
759
- def __call__(
760
- self,
761
- model: str,
762
- *,
763
- stream: Literal[False] = False,
764
- tools: list[type[BaseTool] | Callable],
765
- response_model: type[_ResponseModelT],
766
- output_parser: Callable[[_ResponseModelT], _ParsedOutputT],
767
- json_mode: bool = False,
768
- client: _AsyncBaseClientT = ...,
769
- call_params: _BaseCallParamsT | None = None,
770
- ) -> AsyncLLMFunctionDecorator[
771
- _AsyncBaseDynamicConfigT,
772
- _ParsedOutputT | _BaseCallResponseT,
773
- ]: ...
774
-
775
- ####
776
-
777
- @overload
778
- def __call__( # pyright: ignore[reportOverlappingOverload]
779
- self,
780
- model: str,
781
- *,
782
- stream: Literal[True] | StreamConfig,
783
- tools: list[type[BaseTool] | Callable] | None = None,
784
- response_model: type[_ResponseModelT],
785
- output_parser: None = None,
786
- json_mode: bool = False,
787
- client: _SameSyncAndAsyncClientT | None = None,
788
- call_params: _BaseCallParamsT | None = None,
789
- ) -> LLMFunctionDecorator[
790
- _BaseDynamicConfigT,
791
- _AsyncBaseDynamicConfigT,
792
- Iterable[_ResponseModelT],
793
- AsyncIterable[_ResponseModelT],
794
- ]: ...
795
-
796
- @overload
797
- def __call__(
798
- self,
799
- model: str,
800
- *,
801
- stream: Literal[True] | StreamConfig,
802
- tools: list[type[BaseTool] | Callable] | None = None,
803
- response_model: type[_ResponseModelT],
804
- output_parser: None = None,
805
- json_mode: bool = False,
806
- client: _AsyncBaseClientT = ...,
807
- call_params: _BaseCallParamsT | None = None,
808
- ) -> AsyncLLMFunctionDecorator[
809
- _AsyncBaseDynamicConfigT, AsyncIterable[_ResponseModelT]
810
- ]: ...
811
-
812
- @overload
813
- def __call__(
814
- self,
815
- model: str,
816
- *,
817
- stream: Literal[True] | StreamConfig,
818
- tools: list[type[BaseTool] | Callable] | None = None,
819
- response_model: type[_ResponseModelT],
820
- output_parser: None = None,
821
- json_mode: bool = False,
822
- client: _SyncBaseClientT = ...,
823
- call_params: _BaseCallParamsT | None = None,
824
- ) -> SyncLLMFunctionDecorator[_BaseDynamicConfigT, Iterable[_ResponseModelT]]: ...
825
-
826
- @overload
827
- def __call__(
828
- self,
829
- model: str,
830
- *,
831
- stream: Literal[True] | StreamConfig,
832
- tools: list[type[BaseTool] | Callable] | None = None,
833
- response_model: type[_ResponseModelT],
834
- output_parser: Callable[[_BaseCallResponseT], _ParsedOutputT]
835
- | Callable[[_BaseCallResponseChunkT], _ParsedOutputT]
836
- | Callable[[_ResponseModelT], _ParsedOutputT]
837
- | None,
838
- json_mode: bool = False,
839
- client: _SameSyncAndAsyncClientT
840
- | _AsyncBaseClientT
841
- | _SyncBaseClientT
842
- | None = None,
843
- call_params: _BaseCallParamsT | None = None,
844
- ) -> NoReturn: ...
845
-
846
- def __call__(
847
- self,
848
- model: str,
849
- *,
850
- stream: bool | StreamConfig = False,
851
- tools: list[type[BaseTool] | Callable] | None = None,
852
- response_model: type[_ResponseModelT] | None = None,
853
- output_parser: Callable[[_BaseCallResponseT], _ParsedOutputT]
854
- | Callable[[_BaseCallResponseChunkT], _ParsedOutputT]
855
- | Callable[[_ResponseModelT], _ParsedOutputT]
856
- | None = None,
857
- json_mode: bool = False,
858
- client: _SameSyncAndAsyncClientT
859
- | _AsyncBaseClientT
860
- | _SyncBaseClientT
861
- | None = None,
862
- call_params: _BaseCallParamsT | None = None,
863
- ) -> (
864
- AsyncLLMFunctionDecorator[
865
- _AsyncBaseDynamicConfigT,
866
- _BaseCallResponseT
867
- | _ParsedOutputT
868
- | _BaseStreamT
869
- | _ResponseModelT
870
- | (_ResponseModelT | _BaseCallResponseT)
871
- | AsyncIterable[_ResponseModelT],
872
- ]
873
- | SyncLLMFunctionDecorator[
874
- _BaseDynamicConfigT,
875
- _BaseCallResponseT
876
- | _ParsedOutputT
877
- | _BaseStreamT
878
- | _ResponseModelT
879
- | (_ResponseModelT | _BaseCallResponseT)
880
- | (_ParsedOutputT | _BaseCallResponseT)
881
- | Iterable[_ResponseModelT],
882
- ]
883
- | LLMFunctionDecorator[
884
- _BaseDynamicConfigT,
885
- _AsyncBaseDynamicConfigT,
886
- _BaseCallResponseT
887
- | _ParsedOutputT
888
- | _BaseStreamT
889
- | _ResponseModelT
890
- | (_ResponseModelT | _BaseCallResponseT)
891
- | (_ParsedOutputT | _BaseCallResponseT)
892
- | Iterable[_ResponseModelT],
893
- _BaseCallResponseT
894
- | _ParsedOutputT
895
- | _BaseStreamT
896
- | _ResponseModelT
897
- | (_ResponseModelT | _BaseCallResponseT)
898
- | (_ParsedOutputT | _BaseCallResponseT)
899
- | AsyncIterable[_ResponseModelT],
900
- ]
901
- ): ...