mirascope 2.0.0a2__tar.gz → 2.0.0a4__tar.gz

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 (1572) hide show
  1. mirascope-2.0.0a4/.coveragerc +49 -0
  2. mirascope-2.0.0a4/.gitignore +179 -0
  3. mirascope-2.0.0a4/PKG-INFO +202 -0
  4. mirascope-2.0.0a4/README.md +104 -0
  5. mirascope-2.0.0a4/examples/intro/context/decorator.py +40 -0
  6. mirascope-2.0.0a4/examples/intro/context/model.py +41 -0
  7. mirascope-2.0.0a4/examples/intro/decorator/async.py +17 -0
  8. mirascope-2.0.0a4/examples/intro/decorator/async_stream.py +18 -0
  9. mirascope-2.0.0a4/examples/intro/decorator/stream.py +15 -0
  10. mirascope-2.0.0a4/examples/intro/decorator/sync.py +14 -0
  11. mirascope-2.0.0a4/examples/intro/format/decorator.py +22 -0
  12. mirascope-2.0.0a4/examples/intro/format/model.py +26 -0
  13. mirascope-2.0.0a4/examples/intro/local_model/decorator.py +21 -0
  14. mirascope-2.0.0a4/examples/intro/local_model/model.py +18 -0
  15. mirascope-2.0.0a4/examples/intro/mlx/decorator.py +14 -0
  16. mirascope-2.0.0a4/examples/intro/mlx/model.py +11 -0
  17. mirascope-2.0.0a4/examples/intro/model/async.py +18 -0
  18. mirascope-2.0.0a4/examples/intro/model/async_stream.py +19 -0
  19. mirascope-2.0.0a4/examples/intro/model/stream.py +16 -0
  20. mirascope-2.0.0a4/examples/intro/model/sync.py +15 -0
  21. mirascope-2.0.0a4/examples/intro/override/decorator.py +16 -0
  22. mirascope-2.0.0a4/examples/intro/override/model.py +18 -0
  23. mirascope-2.0.0a4/examples/intro/parameters/decorator.py +17 -0
  24. mirascope-2.0.0a4/examples/intro/parameters/model.py +18 -0
  25. mirascope-2.0.0a4/examples/intro/register_provider/decorator.py +25 -0
  26. mirascope-2.0.0a4/examples/intro/register_provider/model.py +22 -0
  27. mirascope-2.0.0a4/examples/intro/resume/decorator.py +17 -0
  28. mirascope-2.0.0a4/examples/intro/resume/model.py +18 -0
  29. mirascope-2.0.0a4/examples/intro/system_messages/decorator.py +18 -0
  30. mirascope-2.0.0a4/examples/intro/system_messages/model.py +20 -0
  31. mirascope-2.0.0a4/examples/intro/tool_call/decorator.py +35 -0
  32. mirascope-2.0.0a4/examples/intro/tool_call/model.py +36 -0
  33. mirascope-2.0.0a4/examples/misc/anthropic_redacted_thinking.py +18 -0
  34. mirascope-2.0.0a4/examples/misc/openai_responses_reasoning.py +20 -0
  35. mirascope-2.0.0a4/examples/misc/opentelemetry_call_trace.py +84 -0
  36. mirascope-2.0.0a4/examples/misc/opentelemetry_genai.py +30 -0
  37. mirascope-2.0.0a4/examples/sazed/sazed.py +26 -0
  38. mirascope-2.0.0a4/examples/sazed/sazed_async.py +29 -0
  39. mirascope-2.0.0a4/examples/sazed/sazed_async_context.py +37 -0
  40. mirascope-2.0.0a4/examples/sazed/sazed_async_context_structured.py +49 -0
  41. mirascope-2.0.0a4/examples/sazed/sazed_async_stream.py +30 -0
  42. mirascope-2.0.0a4/examples/sazed/sazed_async_stream_context.py +40 -0
  43. mirascope-2.0.0a4/examples/sazed/sazed_async_stream_context_structured.py +49 -0
  44. mirascope-2.0.0a4/examples/sazed/sazed_async_stream_structured.py +39 -0
  45. mirascope-2.0.0a4/examples/sazed/sazed_async_stream_tools.py +50 -0
  46. mirascope-2.0.0a4/examples/sazed/sazed_async_stream_tools_context.py +62 -0
  47. mirascope-2.0.0a4/examples/sazed/sazed_async_stream_tools_context_structured.py +71 -0
  48. mirascope-2.0.0a4/examples/sazed/sazed_async_stream_tools_structured.py +59 -0
  49. mirascope-2.0.0a4/examples/sazed/sazed_async_structured.py +39 -0
  50. mirascope-2.0.0a4/examples/sazed/sazed_async_tools.py +39 -0
  51. mirascope-2.0.0a4/examples/sazed/sazed_async_tools_context.py +49 -0
  52. mirascope-2.0.0a4/examples/sazed/sazed_async_tools_context_structured.py +61 -0
  53. mirascope-2.0.0a4/examples/sazed/sazed_async_tools_structured.py +49 -0
  54. mirascope-2.0.0a4/examples/sazed/sazed_context.py +35 -0
  55. mirascope-2.0.0a4/examples/sazed/sazed_context_structured.py +45 -0
  56. mirascope-2.0.0a4/examples/sazed/sazed_stream.py +27 -0
  57. mirascope-2.0.0a4/examples/sazed/sazed_stream_context.py +36 -0
  58. mirascope-2.0.0a4/examples/sazed/sazed_stream_context_structured.py +47 -0
  59. mirascope-2.0.0a4/examples/sazed/sazed_stream_structured.py +36 -0
  60. mirascope-2.0.0a4/examples/sazed/sazed_stream_tools.py +47 -0
  61. mirascope-2.0.0a4/examples/sazed/sazed_stream_tools_context.py +58 -0
  62. mirascope-2.0.0a4/examples/sazed/sazed_stream_tools_context_structured.py +69 -0
  63. mirascope-2.0.0a4/examples/sazed/sazed_stream_tools_structured.py +56 -0
  64. mirascope-2.0.0a4/examples/sazed/sazed_structured.py +36 -0
  65. mirascope-2.0.0a4/examples/sazed/sazed_tools.py +36 -0
  66. mirascope-2.0.0a4/examples/sazed/sazed_tools_context.py +47 -0
  67. mirascope-2.0.0a4/examples/sazed/sazed_tools_context_structured.py +57 -0
  68. mirascope-2.0.0a4/examples/sazed/sazed_tools_structured.py +46 -0
  69. mirascope-2.0.0a4/mirascope/__init__.py +5 -0
  70. mirascope-2.0.0a4/mirascope/api/__init__.py +6 -0
  71. mirascope-2.0.0a4/mirascope/api/_generated/README.md +207 -0
  72. mirascope-2.0.0a4/mirascope/api/_generated/__init__.py +141 -0
  73. mirascope-2.0.0a4/mirascope/api/_generated/client.py +163 -0
  74. mirascope-2.0.0a4/mirascope/api/_generated/core/__init__.py +52 -0
  75. mirascope-2.0.0a4/mirascope/api/_generated/core/api_error.py +23 -0
  76. mirascope-2.0.0a4/mirascope/api/_generated/core/client_wrapper.py +58 -0
  77. mirascope-2.0.0a4/mirascope/api/_generated/core/datetime_utils.py +30 -0
  78. mirascope-2.0.0a4/mirascope/api/_generated/core/file.py +70 -0
  79. mirascope-2.0.0a4/mirascope/api/_generated/core/force_multipart.py +16 -0
  80. mirascope-2.0.0a4/mirascope/api/_generated/core/http_client.py +619 -0
  81. mirascope-2.0.0a4/mirascope/api/_generated/core/http_response.py +55 -0
  82. mirascope-2.0.0a4/mirascope/api/_generated/core/jsonable_encoder.py +102 -0
  83. mirascope-2.0.0a4/mirascope/api/_generated/core/pydantic_utilities.py +310 -0
  84. mirascope-2.0.0a4/mirascope/api/_generated/core/query_encoder.py +60 -0
  85. mirascope-2.0.0a4/mirascope/api/_generated/core/remove_none_from_dict.py +11 -0
  86. mirascope-2.0.0a4/mirascope/api/_generated/core/request_options.py +35 -0
  87. mirascope-2.0.0a4/mirascope/api/_generated/core/serialization.py +282 -0
  88. mirascope-2.0.0a4/mirascope/api/_generated/docs/__init__.py +4 -0
  89. mirascope-2.0.0a4/mirascope/api/_generated/docs/client.py +95 -0
  90. mirascope-2.0.0a4/mirascope/api/_generated/docs/raw_client.py +132 -0
  91. mirascope-2.0.0a4/mirascope/api/_generated/environment.py +9 -0
  92. mirascope-2.0.0a4/mirascope/api/_generated/errors/__init__.py +17 -0
  93. mirascope-2.0.0a4/mirascope/api/_generated/errors/bad_request_error.py +15 -0
  94. mirascope-2.0.0a4/mirascope/api/_generated/errors/conflict_error.py +15 -0
  95. mirascope-2.0.0a4/mirascope/api/_generated/errors/forbidden_error.py +15 -0
  96. mirascope-2.0.0a4/mirascope/api/_generated/errors/internal_server_error.py +15 -0
  97. mirascope-2.0.0a4/mirascope/api/_generated/errors/not_found_error.py +15 -0
  98. mirascope-2.0.0a4/mirascope/api/_generated/health/__init__.py +7 -0
  99. mirascope-2.0.0a4/mirascope/api/_generated/health/client.py +96 -0
  100. mirascope-2.0.0a4/mirascope/api/_generated/health/raw_client.py +129 -0
  101. mirascope-2.0.0a4/mirascope/api/_generated/health/types/__init__.py +8 -0
  102. mirascope-2.0.0a4/mirascope/api/_generated/health/types/health_check_response.py +24 -0
  103. mirascope-2.0.0a4/mirascope/api/_generated/health/types/health_check_response_status.py +5 -0
  104. mirascope-2.0.0a4/mirascope/api/_generated/organizations/__init__.py +25 -0
  105. mirascope-2.0.0a4/mirascope/api/_generated/organizations/client.py +380 -0
  106. mirascope-2.0.0a4/mirascope/api/_generated/organizations/raw_client.py +876 -0
  107. mirascope-2.0.0a4/mirascope/api/_generated/organizations/types/__init__.py +23 -0
  108. mirascope-2.0.0a4/mirascope/api/_generated/organizations/types/organizations_create_response.py +24 -0
  109. mirascope-2.0.0a4/mirascope/api/_generated/organizations/types/organizations_create_response_role.py +7 -0
  110. mirascope-2.0.0a4/mirascope/api/_generated/organizations/types/organizations_get_response.py +24 -0
  111. mirascope-2.0.0a4/mirascope/api/_generated/organizations/types/organizations_get_response_role.py +7 -0
  112. mirascope-2.0.0a4/mirascope/api/_generated/organizations/types/organizations_list_response_item.py +24 -0
  113. mirascope-2.0.0a4/mirascope/api/_generated/organizations/types/organizations_list_response_item_role.py +7 -0
  114. mirascope-2.0.0a4/mirascope/api/_generated/organizations/types/organizations_update_response.py +24 -0
  115. mirascope-2.0.0a4/mirascope/api/_generated/organizations/types/organizations_update_response_role.py +7 -0
  116. mirascope-2.0.0a4/mirascope/api/_generated/projects/__init__.py +17 -0
  117. mirascope-2.0.0a4/mirascope/api/_generated/projects/client.py +458 -0
  118. mirascope-2.0.0a4/mirascope/api/_generated/projects/raw_client.py +1016 -0
  119. mirascope-2.0.0a4/mirascope/api/_generated/projects/types/__init__.py +15 -0
  120. mirascope-2.0.0a4/mirascope/api/_generated/projects/types/projects_create_response.py +30 -0
  121. mirascope-2.0.0a4/mirascope/api/_generated/projects/types/projects_get_response.py +30 -0
  122. mirascope-2.0.0a4/mirascope/api/_generated/projects/types/projects_list_response_item.py +30 -0
  123. mirascope-2.0.0a4/mirascope/api/_generated/projects/types/projects_update_response.py +30 -0
  124. mirascope-2.0.0a4/mirascope/api/_generated/reference.md +753 -0
  125. mirascope-2.0.0a4/mirascope/api/_generated/traces/__init__.py +55 -0
  126. mirascope-2.0.0a4/mirascope/api/_generated/traces/client.py +162 -0
  127. mirascope-2.0.0a4/mirascope/api/_generated/traces/raw_client.py +168 -0
  128. mirascope-2.0.0a4/mirascope/api/_generated/traces/types/__init__.py +95 -0
  129. mirascope-2.0.0a4/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item.py +36 -0
  130. mirascope-2.0.0a4/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource.py +31 -0
  131. mirascope-2.0.0a4/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item.py +25 -0
  132. mirascope-2.0.0a4/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value.py +54 -0
  133. mirascope-2.0.0a4/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value_array_value.py +23 -0
  134. mirascope-2.0.0a4/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value_kvlist_value.py +28 -0
  135. mirascope-2.0.0a4/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value_kvlist_value_values_item.py +24 -0
  136. mirascope-2.0.0a4/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item.py +35 -0
  137. mirascope-2.0.0a4/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope.py +35 -0
  138. mirascope-2.0.0a4/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item.py +27 -0
  139. mirascope-2.0.0a4/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value.py +54 -0
  140. mirascope-2.0.0a4/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_array_value.py +23 -0
  141. mirascope-2.0.0a4/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_kvlist_value.py +28 -0
  142. mirascope-2.0.0a4/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_kvlist_value_values_item.py +24 -0
  143. mirascope-2.0.0a4/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item.py +60 -0
  144. mirascope-2.0.0a4/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item.py +29 -0
  145. mirascope-2.0.0a4/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value.py +54 -0
  146. mirascope-2.0.0a4/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_array_value.py +23 -0
  147. mirascope-2.0.0a4/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_kvlist_value.py +28 -0
  148. mirascope-2.0.0a4/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_kvlist_value_values_item.py +24 -0
  149. mirascope-2.0.0a4/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_status.py +24 -0
  150. mirascope-2.0.0a4/mirascope/api/_generated/traces/types/traces_create_response.py +27 -0
  151. mirascope-2.0.0a4/mirascope/api/_generated/traces/types/traces_create_response_partial_success.py +28 -0
  152. mirascope-2.0.0a4/mirascope/api/_generated/types/__init__.py +37 -0
  153. mirascope-2.0.0a4/mirascope/api/_generated/types/already_exists_error.py +24 -0
  154. mirascope-2.0.0a4/mirascope/api/_generated/types/already_exists_error_tag.py +5 -0
  155. mirascope-2.0.0a4/mirascope/api/_generated/types/database_error.py +24 -0
  156. mirascope-2.0.0a4/mirascope/api/_generated/types/database_error_tag.py +5 -0
  157. mirascope-2.0.0a4/mirascope/api/_generated/types/http_api_decode_error.py +29 -0
  158. mirascope-2.0.0a4/mirascope/api/_generated/types/http_api_decode_error_tag.py +5 -0
  159. mirascope-2.0.0a4/mirascope/api/_generated/types/issue.py +40 -0
  160. mirascope-2.0.0a4/mirascope/api/_generated/types/issue_tag.py +17 -0
  161. mirascope-2.0.0a4/mirascope/api/_generated/types/not_found_error_body.py +24 -0
  162. mirascope-2.0.0a4/mirascope/api/_generated/types/not_found_error_tag.py +5 -0
  163. mirascope-2.0.0a4/mirascope/api/_generated/types/permission_denied_error.py +24 -0
  164. mirascope-2.0.0a4/mirascope/api/_generated/types/permission_denied_error_tag.py +7 -0
  165. mirascope-2.0.0a4/mirascope/api/_generated/types/property_key.py +7 -0
  166. mirascope-2.0.0a4/mirascope/api/_generated/types/property_key_key.py +27 -0
  167. mirascope-2.0.0a4/mirascope/api/_generated/types/property_key_key_tag.py +5 -0
  168. mirascope-2.0.0a4/mirascope/api/client.py +255 -0
  169. mirascope-2.0.0a4/mirascope/api/settings.py +81 -0
  170. mirascope-2.0.0a4/mirascope/llm/__init__.py +250 -0
  171. mirascope-2.0.0a4/mirascope/llm/calls/calls.py +339 -0
  172. mirascope-2.0.0a4/mirascope/llm/calls/decorator.py +261 -0
  173. mirascope-2.0.0a4/mirascope/llm/content/__init__.py +71 -0
  174. mirascope-2.0.0a4/mirascope/llm/context/_utils.py +41 -0
  175. mirascope-2.0.0a4/mirascope/llm/exceptions.py +119 -0
  176. mirascope-2.0.0a4/mirascope/llm/formatting/_utils.py +78 -0
  177. mirascope-2.0.0a4/mirascope/llm/formatting/format.py +104 -0
  178. mirascope-2.0.0a4/mirascope/llm/formatting/from_call_args.py +30 -0
  179. mirascope-2.0.0a4/mirascope/llm/messages/message.py +190 -0
  180. mirascope-2.0.0a4/mirascope/llm/models/__init__.py +16 -0
  181. mirascope-2.0.0a4/mirascope/llm/models/models.py +1351 -0
  182. mirascope-2.0.0a4/mirascope/llm/prompts/__init__.py +34 -0
  183. mirascope-2.0.0a4/mirascope/llm/prompts/_utils.py +63 -0
  184. mirascope-2.0.0a4/mirascope/llm/prompts/decorator.py +215 -0
  185. mirascope-2.0.0a4/mirascope/llm/prompts/prompts.py +424 -0
  186. mirascope-2.0.0a4/mirascope/llm/prompts/protocols.py +65 -0
  187. mirascope-2.0.0a4/mirascope/llm/providers/__init__.py +44 -0
  188. mirascope-2.0.0a4/mirascope/llm/providers/_missing_import_stubs.py +49 -0
  189. mirascope-2.0.0a4/mirascope/llm/providers/anthropic/__init__.py +29 -0
  190. mirascope-2.0.0a4/mirascope/llm/providers/anthropic/_utils/__init__.py +23 -0
  191. mirascope-2.0.0a4/mirascope/llm/providers/anthropic/_utils/beta_decode.py +271 -0
  192. mirascope-2.0.0a4/mirascope/llm/providers/anthropic/_utils/beta_encode.py +216 -0
  193. mirascope-2.0.0a4/mirascope/llm/providers/anthropic/_utils/decode.py +277 -0
  194. mirascope-2.0.0a4/mirascope/llm/providers/anthropic/_utils/encode.py +356 -0
  195. mirascope-2.0.0a4/mirascope/llm/providers/anthropic/beta_provider.py +322 -0
  196. mirascope-2.0.0a4/mirascope/llm/providers/anthropic/model_id.py +23 -0
  197. mirascope-2.0.0a4/mirascope/llm/providers/anthropic/model_info.py +87 -0
  198. mirascope-2.0.0a4/mirascope/llm/providers/anthropic/provider.py +416 -0
  199. mirascope-2.0.0a4/mirascope/llm/providers/base/__init__.py +15 -0
  200. mirascope-2.0.0a4/mirascope/llm/providers/base/_utils.py +209 -0
  201. mirascope-2.0.0a4/mirascope/llm/providers/base/base_provider.py +1385 -0
  202. mirascope-2.0.0a4/mirascope/llm/providers/google/__init__.py +21 -0
  203. mirascope-2.0.0a4/mirascope/llm/providers/google/_utils/decode.py +285 -0
  204. mirascope-2.0.0a4/mirascope/llm/providers/google/_utils/encode.py +293 -0
  205. mirascope-2.0.0a4/mirascope/llm/providers/google/model_id.py +22 -0
  206. mirascope-2.0.0a4/mirascope/llm/providers/google/model_info.py +62 -0
  207. mirascope-2.0.0a4/mirascope/llm/providers/google/provider.py +442 -0
  208. mirascope-2.0.0a4/mirascope/llm/providers/load_provider.py +54 -0
  209. mirascope-2.0.0a4/mirascope/llm/providers/mlx/__init__.py +24 -0
  210. mirascope-2.0.0a4/mirascope/llm/providers/mlx/_utils.py +129 -0
  211. mirascope-2.0.0a4/mirascope/llm/providers/mlx/encoding/__init__.py +8 -0
  212. mirascope-2.0.0a4/mirascope/llm/providers/mlx/encoding/base.py +69 -0
  213. mirascope-2.0.0a4/mirascope/llm/providers/mlx/encoding/transformers.py +147 -0
  214. mirascope-2.0.0a4/mirascope/llm/providers/mlx/mlx.py +237 -0
  215. mirascope-2.0.0a4/mirascope/llm/providers/mlx/model_id.py +17 -0
  216. mirascope-2.0.0a4/mirascope/llm/providers/mlx/provider.py +415 -0
  217. mirascope-2.0.0a4/mirascope/llm/providers/model_id.py +16 -0
  218. mirascope-2.0.0a4/mirascope/llm/providers/ollama/__init__.py +19 -0
  219. mirascope-2.0.0a4/mirascope/llm/providers/ollama/provider.py +71 -0
  220. mirascope-2.0.0a4/mirascope/llm/providers/openai/__init__.py +6 -0
  221. mirascope-2.0.0a4/mirascope/llm/providers/openai/completions/__init__.py +25 -0
  222. mirascope-2.0.0a4/mirascope/llm/providers/openai/completions/_utils/__init__.py +15 -0
  223. mirascope-2.0.0a4/mirascope/llm/providers/openai/completions/_utils/decode.py +241 -0
  224. mirascope-2.0.0a4/mirascope/llm/providers/openai/completions/_utils/encode.py +369 -0
  225. mirascope-2.0.0a4/mirascope/llm/providers/openai/completions/base_provider.py +513 -0
  226. mirascope-2.0.0a4/mirascope/llm/providers/openai/completions/provider.py +22 -0
  227. mirascope-2.0.0a4/mirascope/llm/providers/openai/model_id.py +31 -0
  228. mirascope-2.0.0a4/mirascope/llm/providers/openai/model_info.py +303 -0
  229. mirascope-2.0.0a4/mirascope/llm/providers/openai/provider.py +398 -0
  230. mirascope-2.0.0a4/mirascope/llm/providers/openai/responses/__init__.py +21 -0
  231. mirascope-2.0.0a4/mirascope/llm/providers/openai/responses/_utils/decode.py +247 -0
  232. mirascope-2.0.0a4/mirascope/llm/providers/openai/responses/_utils/encode.py +344 -0
  233. mirascope-2.0.0a4/mirascope/llm/providers/openai/responses/provider.py +469 -0
  234. mirascope-2.0.0a4/mirascope/llm/providers/provider_id.py +23 -0
  235. mirascope-2.0.0a4/mirascope/llm/providers/provider_registry.py +169 -0
  236. mirascope-2.0.0a4/mirascope/llm/providers/together/__init__.py +19 -0
  237. mirascope-2.0.0a4/mirascope/llm/providers/together/provider.py +40 -0
  238. mirascope-2.0.0a4/mirascope/llm/responses/__init__.py +60 -0
  239. mirascope-2.0.0a4/mirascope/llm/responses/base_response.py +100 -0
  240. mirascope-2.0.0a4/mirascope/llm/responses/base_stream_response.py +726 -0
  241. mirascope-2.0.0a4/mirascope/llm/responses/finish_reason.py +28 -0
  242. mirascope-2.0.0a4/mirascope/llm/responses/response.py +365 -0
  243. mirascope-2.0.0a4/mirascope/llm/responses/root_response.py +176 -0
  244. mirascope-2.0.0a4/mirascope/llm/responses/stream_response.py +584 -0
  245. mirascope-2.0.0a4/mirascope/llm/responses/usage.py +95 -0
  246. mirascope-2.0.0a4/mirascope/llm/tools/__init__.py +47 -0
  247. mirascope-2.0.0a4/mirascope/llm/tools/_utils.py +34 -0
  248. mirascope-2.0.0a4/mirascope/llm/tools/protocols.py +96 -0
  249. mirascope-2.0.0a4/mirascope/llm/tools/tool_schema.py +281 -0
  250. mirascope-2.0.0a4/mirascope/llm/tools/tools.py +170 -0
  251. mirascope-2.0.0a4/mirascope/ops/__init__.py +156 -0
  252. mirascope-2.0.0a4/mirascope/ops/_internal/__init__.py +5 -0
  253. mirascope-2.0.0a4/mirascope/ops/_internal/closure.py +1118 -0
  254. mirascope-2.0.0a4/mirascope/ops/_internal/configuration.py +126 -0
  255. mirascope-2.0.0a4/mirascope/ops/_internal/context.py +76 -0
  256. mirascope-2.0.0a4/mirascope/ops/_internal/exporters/__init__.py +26 -0
  257. mirascope-2.0.0a4/mirascope/ops/_internal/exporters/exporters.py +342 -0
  258. mirascope-2.0.0a4/mirascope/ops/_internal/exporters/processors.py +104 -0
  259. mirascope-2.0.0a4/mirascope/ops/_internal/exporters/types.py +165 -0
  260. mirascope-2.0.0a4/mirascope/ops/_internal/exporters/utils.py +29 -0
  261. mirascope-2.0.0a4/mirascope/ops/_internal/instrumentation/__init__.py +8 -0
  262. mirascope-2.0.0a4/mirascope/ops/_internal/instrumentation/llm/__init__.py +8 -0
  263. mirascope-2.0.0a4/mirascope/ops/_internal/instrumentation/llm/encode.py +238 -0
  264. mirascope-2.0.0a4/mirascope/ops/_internal/instrumentation/llm/gen_ai_types/__init__.py +38 -0
  265. mirascope-2.0.0a4/mirascope/ops/_internal/instrumentation/llm/gen_ai_types/gen_ai_input_messages.py +31 -0
  266. mirascope-2.0.0a4/mirascope/ops/_internal/instrumentation/llm/gen_ai_types/gen_ai_output_messages.py +38 -0
  267. mirascope-2.0.0a4/mirascope/ops/_internal/instrumentation/llm/gen_ai_types/gen_ai_system_instructions.py +18 -0
  268. mirascope-2.0.0a4/mirascope/ops/_internal/instrumentation/llm/gen_ai_types/shared.py +100 -0
  269. mirascope-2.0.0a4/mirascope/ops/_internal/instrumentation/llm/llm.py +1288 -0
  270. mirascope-2.0.0a4/mirascope/ops/_internal/propagation.py +198 -0
  271. mirascope-2.0.0a4/mirascope/ops/_internal/protocols.py +51 -0
  272. mirascope-2.0.0a4/mirascope/ops/_internal/session.py +139 -0
  273. mirascope-2.0.0a4/mirascope/ops/_internal/spans.py +232 -0
  274. mirascope-2.0.0a4/mirascope/ops/_internal/traced_calls.py +371 -0
  275. mirascope-2.0.0a4/mirascope/ops/_internal/traced_functions.py +394 -0
  276. mirascope-2.0.0a4/mirascope/ops/_internal/tracing.py +276 -0
  277. mirascope-2.0.0a4/mirascope/ops/_internal/types.py +13 -0
  278. mirascope-2.0.0a4/mirascope/ops/_internal/utils.py +75 -0
  279. mirascope-2.0.0a4/mirascope/ops/_internal/versioned_calls.py +512 -0
  280. mirascope-2.0.0a4/mirascope/ops/_internal/versioned_functions.py +346 -0
  281. mirascope-2.0.0a4/mirascope/ops/_internal/versioning.py +303 -0
  282. mirascope-2.0.0a4/mirascope/ops/exceptions.py +21 -0
  283. mirascope-2.0.0a4/pyproject.toml +250 -0
  284. mirascope-2.0.0a4/schemas/gen-ai/gen-ai-input-messages.json +383 -0
  285. mirascope-2.0.0a4/schemas/gen-ai/gen-ai-output-messages.json +409 -0
  286. mirascope-2.0.0a4/schemas/gen-ai/gen-ai-system-instructions.json +329 -0
  287. mirascope-2.0.0a4/scripts/__init__.py +1 -0
  288. mirascope-2.0.0a4/scripts/example_generator.ts +334 -0
  289. mirascope-2.0.0a4/scripts/model_features/__init__.py +38 -0
  290. mirascope-2.0.0a4/scripts/model_features/codegen_anthropic.py +201 -0
  291. mirascope-2.0.0a4/scripts/model_features/codegen_google.py +167 -0
  292. mirascope-2.0.0a4/scripts/model_features/codegen_openai.py +230 -0
  293. mirascope-2.0.0a4/scripts/model_features/core/__init__.py +22 -0
  294. mirascope-2.0.0a4/scripts/model_features/core/models.py +131 -0
  295. mirascope-2.0.0a4/scripts/model_features/core/registry.py +187 -0
  296. mirascope-2.0.0a4/scripts/model_features/core/runner.py +349 -0
  297. mirascope-2.0.0a4/scripts/model_features/core/testing.py +72 -0
  298. mirascope-2.0.0a4/scripts/model_features/data/anthropic.yaml +115 -0
  299. mirascope-2.0.0a4/scripts/model_features/data/google.yaml +929 -0
  300. mirascope-2.0.0a4/scripts/model_features/data/openai.yaml +4296 -0
  301. mirascope-2.0.0a4/scripts/model_features/test_anthropic.py +380 -0
  302. mirascope-2.0.0a4/scripts/model_features/test_google.py +465 -0
  303. mirascope-2.0.0a4/scripts/model_features/test_openai.py +566 -0
  304. mirascope-2.0.0a4/tests/api/test_client.py +187 -0
  305. mirascope-2.0.0a4/tests/api/test_settings.py +53 -0
  306. mirascope-2.0.0a4/tests/conftest.py +23 -0
  307. mirascope-2.0.0a4/tests/e2e/conftest.py +227 -0
  308. mirascope-2.0.0a4/tests/e2e/input/README.md +60 -0
  309. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_caching_multi_turn_conversation/anthropic_beta_claude_sonnet_4_0.yaml +1104 -0
  310. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_caching_multi_turn_conversation/anthropic_claude_sonnet_4_0.yaml +1076 -0
  311. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_caching_multi_turn_conversation/google_gemini_2_5_flash.yaml +900 -0
  312. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_caching_multi_turn_conversation/openai_gpt_4o_completions.yaml +971 -0
  313. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_caching_multi_turn_conversation/openai_gpt_4o_responses.yaml +958 -0
  314. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_caching_system_message/anthropic_beta_claude_sonnet_4_0.yaml +659 -0
  315. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_caching_system_message/anthropic_claude_sonnet_4_0.yaml +652 -0
  316. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_caching_system_message/google_gemini_2_5_flash.yaml +527 -0
  317. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_caching_system_message/mlx_community_Qwen3_0_6B_4bit_DWQ_053125.yaml +120 -0
  318. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_caching_system_message/openai_gpt_4o_completions.yaml +636 -0
  319. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_caching_system_message/openai_gpt_4o_responses.yaml +632 -0
  320. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_caching_tool/anthropic_beta_claude_sonnet_4_0.yaml +640 -0
  321. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_caching_tool/anthropic_claude_sonnet_4_0.yaml +632 -0
  322. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_caching_tool/google_gemini_2_5_flash.yaml +552 -0
  323. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_caching_tool/openai_gpt_4o_completions.yaml +634 -0
  324. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_caching_tool/openai_gpt_4o_responses.yaml +865 -0
  325. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_caching_user_message/anthropic_beta_claude_sonnet_4_0.yaml +676 -0
  326. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_caching_user_message/anthropic_claude_sonnet_4_0.yaml +662 -0
  327. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_caching_user_message/google_gemini_2_5_flash.yaml +587 -0
  328. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_caching_user_message/openai_gpt_4o_completions.yaml +642 -0
  329. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_caching_user_message/openai_gpt_4o_responses.yaml +634 -0
  330. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_call_non_openai_models_through_openai/anthropic_claude_sonnet_4_5.yaml +89 -0
  331. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_call_with_audio/mlx_community_Qwen3_0_6B_4bit_DWQ_053125.yaml +592 -0
  332. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_call_with_empty_string/google_gemini_2_5_flash.yaml +94 -0
  333. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_call_with_empty_string/mlx_mlx_community_Qwen3_0_6B_4bit_DWQ_053125.yaml +120 -0
  334. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_call_with_empty_string/openai_gpt_4o_completions.yaml +110 -0
  335. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_call_with_empty_string/openai_gpt_4o_responses.yaml +110 -0
  336. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_call_with_image_content/anthropic_beta_claude_sonnet_4_0.yaml +114 -0
  337. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_call_with_image_content/anthropic_claude_sonnet_4_0.yaml +110 -0
  338. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_call_with_image_url/anthropic_beta_claude_sonnet_4_0.yaml +114 -0
  339. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_call_with_image_url/anthropic_claude_sonnet_4_0.yaml +110 -0
  340. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_call_with_params/anthropic_beta_claude_sonnet_4_0.yaml +112 -0
  341. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_call_with_params/anthropic_claude_sonnet_4_0.yaml +108 -0
  342. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_call_with_text_encoded_thoughts/anthropic_beta_claude_sonnet_4_0.yaml +123 -0
  343. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_call_with_text_encoded_thoughts/anthropic_claude_sonnet_4_0.yaml +119 -0
  344. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_call_with_two_empty_string/google_gemini_2_5_flash.yaml +65 -0
  345. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_call_with_two_empty_string/openai_gpt_4o_completions.yaml +104 -0
  346. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_call_with_two_empty_string/openai_gpt_4o_responses.yaml +104 -0
  347. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_ollama_provider/ollama_gemma3_4b.yaml +55 -0
  348. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_openai_completions_provider/openai_gpt_4o_mini.yaml +110 -0
  349. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_openai_completions_provider/openai_gpt_4o_mini_completions.yaml +104 -0
  350. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_openai_responses_provider/openai_gpt_4o_mini.yaml +110 -0
  351. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_openai_responses_provider/openai_gpt_4o_mini_responses.yaml +104 -0
  352. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_resume_with_override/anthropic_beta_claude_sonnet_4_0.yaml +173 -0
  353. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_resume_with_override/anthropic_claude_sonnet_4_0.yaml +169 -0
  354. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_resume_with_override/mlx_community_Qwen3_0_6B_4bit_DWQ_053125.yaml +292 -0
  355. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/anthropic_beta_claude_sonnet_4_0.yaml +187 -0
  356. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/anthropic_claude_sonnet_4_0.yaml +183 -0
  357. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/google_gemini_2_5_flash.yaml +189 -0
  358. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/mlx_community_Qwen3_0_6B_4bit_DWQ_053125.yaml +375 -0
  359. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_strict_mode/anthropic_claude_sonnet_4_5.yaml +114 -0
  360. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_strict_mode/google_gemini_3_pro_preview.yaml +77 -0
  361. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_strict_mode_streamed/anthropic_claude_sonnet_4_5.yaml +164 -0
  362. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_strict_mode_streamed/google_gemini_3_pro_preview.yaml +70 -0
  363. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_strict_mode_with_streamed_thinking/anthropic_claude_sonnet_4_5.yaml +398 -0
  364. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_strict_mode_with_streamed_thinking/google_gemini_3_pro_preview.yaml +88 -0
  365. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_strict_mode_with_thinking/anthropic_claude_sonnet_4_5.yaml +130 -0
  366. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_strict_mode_with_thinking/google_gemini_3_pro_preview.yaml +96 -0
  367. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_strict_mode_with_tools/anthropic_claude_sonnet_4_5.yaml +230 -0
  368. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_strict_mode_with_tools/google_gemini_3_pro_preview.yaml +154 -0
  369. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_strict_mode_with_tools_streamed/anthropic_claude_sonnet_4_5.yaml +333 -0
  370. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_strict_mode_with_tools_streamed/google_gemini_3_pro_preview.yaml +158 -0
  371. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/anthropic_claude_sonnet_4_0.yaml +114 -0
  372. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/anthropic_claude_sonnet_4_5.yaml +114 -0
  373. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/anthropic_beta_claude_sonnet_4_0.yaml +116 -0
  374. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/anthropic_claude_sonnet_4_0.yaml +112 -0
  375. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/anthropic_claude_sonnet_4_5.yaml +112 -0
  376. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/strict/anthropic_claude_sonnet_4_5.yaml +116 -0
  377. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/anthropic_beta_claude_sonnet_4_0.yaml +118 -0
  378. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/anthropic_claude_sonnet_4_0.yaml +114 -0
  379. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/anthropic_claude_sonnet_4_5.yaml +114 -0
  380. mirascope-2.0.0a4/tests/e2e/input/cassettes/test_together_provider/meta_llama_Llama_3_3_70B_Instruct_Turbo.yaml +105 -0
  381. mirascope-2.0.0a4/tests/e2e/input/conftest.py +115 -0
  382. mirascope-2.0.0a4/tests/e2e/input/mlx_lm_cassettes/test_caching_multi_turn_conversation_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +9107 -0
  383. mirascope-2.0.0a4/tests/e2e/input/mlx_lm_cassettes/test_caching_system_message_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +2985 -0
  384. mirascope-2.0.0a4/tests/e2e/input/mlx_lm_cassettes/test_caching_tool_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  385. mirascope-2.0.0a4/tests/e2e/input/mlx_lm_cassettes/test_caching_user_message_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +5360 -0
  386. mirascope-2.0.0a4/tests/e2e/input/mlx_lm_cassettes/test_call_with_audio_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  387. mirascope-2.0.0a4/tests/e2e/input/mlx_lm_cassettes/test_call_with_empty_array_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  388. mirascope-2.0.0a4/tests/e2e/input/mlx_lm_cassettes/test_call_with_empty_string_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1767 -0
  389. mirascope-2.0.0a4/tests/e2e/input/mlx_lm_cassettes/test_call_with_image_content_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  390. mirascope-2.0.0a4/tests/e2e/input/mlx_lm_cassettes/test_call_with_image_url_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  391. mirascope-2.0.0a4/tests/e2e/input/mlx_lm_cassettes/test_call_with_params_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +2519 -0
  392. mirascope-2.0.0a4/tests/e2e/input/mlx_lm_cassettes/test_call_with_text_encoded_thoughts_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  393. mirascope-2.0.0a4/tests/e2e/input/mlx_lm_cassettes/test_call_with_two_empty_string_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  394. mirascope-2.0.0a4/tests/e2e/input/mlx_lm_cassettes/test_conversation_caching_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +9870 -0
  395. mirascope-2.0.0a4/tests/e2e/input/mlx_lm_cassettes/test_resume_with_override_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +787 -0
  396. mirascope-2.0.0a4/tests/e2e/input/mlx_lm_cassettes/test_resume_with_override_thinking_and_tools_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  397. mirascope-2.0.0a4/tests/e2e/input/mlx_lm_cassettes/test_structured_output_with_formatting_instructions_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  398. mirascope-2.0.0a4/tests/e2e/input/mlx_lm_cassettes/test_structured_output_with_formatting_instructions_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  399. mirascope-2.0.0a4/tests/e2e/input/mlx_lm_cassettes/test_structured_output_with_formatting_instructions_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  400. mirascope-2.0.0a4/tests/e2e/input/mlx_lm_cassettes/test_structured_output_with_formatting_instructions_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  401. mirascope-2.0.0a4/tests/e2e/input/mlx_lm_cassettes/test_system_message_caching_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +5065 -0
  402. mirascope-2.0.0a4/tests/e2e/input/mlx_lm_cassettes/test_tool_caching_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  403. mirascope-2.0.0a4/tests/e2e/input/mlx_lm_cassettes/test_user_message_caching_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +7311 -0
  404. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_caching_multi_turn_conversation/anthropic_beta_claude_sonnet_4_0_snapshots.py +140 -0
  405. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_caching_multi_turn_conversation/anthropic_claude_sonnet_4_0_snapshots.py +139 -0
  406. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_caching_multi_turn_conversation/google_gemini_2_5_flash_snapshots.py +91 -0
  407. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_caching_multi_turn_conversation/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +144 -0
  408. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_caching_multi_turn_conversation/openai_gpt_4o_completions_snapshots.py +40 -0
  409. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_caching_multi_turn_conversation/openai_gpt_4o_responses_snapshots.py +42 -0
  410. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_caching_system_message/anthropic_beta_claude_sonnet_4_0_snapshots.py +62 -0
  411. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_caching_system_message/anthropic_claude_sonnet_4_0_snapshots.py +62 -0
  412. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_caching_system_message/google_gemini_2_5_flash_snapshots.py +48 -0
  413. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_caching_system_message/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +52 -0
  414. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_caching_system_message/openai_gpt_4o_completions_snapshots.py +26 -0
  415. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_caching_system_message/openai_gpt_4o_responses_snapshots.py +26 -0
  416. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_caching_tool/anthropic_beta_claude_sonnet_4_0_snapshots.py +26 -0
  417. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_caching_tool/anthropic_claude_sonnet_4_0_snapshots.py +26 -0
  418. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_caching_tool/google_gemini_2_5_flash_snapshots.py +40 -0
  419. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_caching_tool/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  420. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_caching_tool/openai_gpt_4o_completions_snapshots.py +40 -0
  421. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_caching_tool/openai_gpt_4o_responses_snapshots.py +26 -0
  422. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_caching_user_message/anthropic_beta_claude_sonnet_4_0_snapshots.py +82 -0
  423. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_caching_user_message/anthropic_claude_sonnet_4_0_snapshots.py +78 -0
  424. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_caching_user_message/google_gemini_2_5_flash_snapshots.py +100 -0
  425. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_caching_user_message/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +170 -0
  426. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_caching_user_message/openai_gpt_4o_completions_snapshots.py +40 -0
  427. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_caching_user_message/openai_gpt_4o_responses_snapshots.py +36 -0
  428. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_non_openai_models_through_openai/anthropic_claude_sonnet_4_5_snapshots.py +40 -0
  429. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_audio/anthropic_beta_claude_sonnet_4_0_snapshots.py +13 -0
  430. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_audio/anthropic_claude_sonnet_4_0_snapshots.py +13 -0
  431. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_audio/google_gemini_2_5_flash_snapshots.py +77 -0
  432. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_audio/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  433. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_audio/openai_gpt_4o_completions_snapshots.py +13 -0
  434. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_audio/openai_gpt_4o_responses_snapshots.py +13 -0
  435. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_audio/openai_gpt_audio_snapshots.py +57 -0
  436. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_empty_array/anthropic_beta_claude_sonnet_4_0_snapshots.py +10 -0
  437. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_empty_array/anthropic_claude_sonnet_4_0_snapshots.py +10 -0
  438. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_empty_array/google_gemini_2_5_flash_snapshots.py +10 -0
  439. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_empty_array/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  440. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_empty_array/openai_gpt_4o_completions_snapshots.py +10 -0
  441. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_empty_array/openai_gpt_4o_responses_snapshots.py +10 -0
  442. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_empty_string/anthropic_beta_claude_sonnet_4_0_snapshots.py +13 -0
  443. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_empty_string/anthropic_claude_sonnet_4_0_snapshots.py +13 -0
  444. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_empty_string/google_gemini_2_5_flash_snapshots.py +337 -0
  445. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_empty_string/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +62 -0
  446. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_empty_string/openai_gpt_4o_completions_snapshots.py +48 -0
  447. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_empty_string/openai_gpt_4o_responses_snapshots.py +59 -0
  448. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_image_content/anthropic_beta_claude_sonnet_4_0_snapshots.py +65 -0
  449. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_image_content/anthropic_claude_sonnet_4_0_snapshots.py +66 -0
  450. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_image_content/google_gemini_2_5_flash_snapshots.py +81 -0
  451. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_image_content/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  452. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_image_content/openai_gpt_4o_completions_snapshots.py +61 -0
  453. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_image_content/openai_gpt_4o_responses_snapshots.py +72 -0
  454. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_image_url/anthropic_beta_claude_sonnet_4_0_snapshots.py +64 -0
  455. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_image_url/anthropic_claude_sonnet_4_0_snapshots.py +65 -0
  456. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_image_url/google_gemini_2_5_flash_snapshots.py +13 -0
  457. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_image_url/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  458. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_image_url/openai_gpt_4o_completions_snapshots.py +60 -0
  459. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_image_url/openai_gpt_4o_responses_snapshots.py +71 -0
  460. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_params/anthropic_beta_claude_sonnet_4_0_snapshots.py +55 -0
  461. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_params/anthropic_claude_sonnet_4_0_snapshots.py +61 -0
  462. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_params/google_gemini_2_5_flash_snapshots.py +88 -0
  463. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_params/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +79 -0
  464. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_params/openai_gpt_4o_completions_snapshots.py +59 -0
  465. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_params/openai_gpt_4o_responses_snapshots.py +72 -0
  466. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  467. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/openai_gpt_4o_responses_snapshots.py +3 -0
  468. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_two_empty_string/anthropic_beta_claude_sonnet_4_0_snapshots.py +13 -0
  469. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_two_empty_string/anthropic_claude_sonnet_4_0_snapshots.py +13 -0
  470. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_two_empty_string/google_gemini_2_5_flash_snapshots.py +95 -0
  471. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_two_empty_string/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  472. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_two_empty_string/openai_gpt_4o_completions_snapshots.py +44 -0
  473. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_two_empty_string/openai_gpt_4o_responses_snapshots.py +59 -0
  474. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_ollama_provider/ollama_gemma3_4b_snapshots.py +40 -0
  475. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_openai_completions_provider/openai_gpt_4o_mini_completions_snapshots.py +44 -0
  476. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_openai_completions_provider/openai_gpt_4o_mini_responses_snapshots.py +13 -0
  477. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_openai_completions_provider/openai_gpt_4o_mini_snapshots.py +44 -0
  478. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_openai_responses_provider/openai_gpt_4o_mini_completions_snapshots.py +13 -0
  479. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_openai_responses_provider/openai_gpt_4o_mini_responses_snapshots.py +55 -0
  480. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_openai_responses_provider/openai_gpt_4o_mini_snapshots.py +55 -0
  481. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_resume_with_override/anthropic_beta_claude_sonnet_4_0_snapshots.py +78 -0
  482. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_resume_with_override/anthropic_claude_sonnet_4_0_snapshots.py +79 -0
  483. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_resume_with_override/google_gemini_2_5_flash_snapshots.py +90 -0
  484. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_resume_with_override/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +78 -0
  485. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_resume_with_override/openai_gpt_4o_completions_snapshots.py +74 -0
  486. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_resume_with_override/openai_gpt_4o_responses_snapshots.py +83 -0
  487. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/anthropic_beta_claude_sonnet_4_0_snapshots.py +141 -0
  488. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/anthropic_claude_sonnet_4_0_snapshots.py +142 -0
  489. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/google_gemini_2_5_flash_snapshots.py +135 -0
  490. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  491. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/openai_gpt_4o_completions_snapshots.py +137 -0
  492. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/openai_gpt_4o_responses_snapshots.py +148 -0
  493. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_strict_mode/anthropic_claude_sonnet_4_5_snapshots.py +73 -0
  494. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_strict_mode/google_gemini_3_pro_preview_snapshots.py +95 -0
  495. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_strict_mode_streamed/anthropic_claude_sonnet_4_5_snapshots.py +68 -0
  496. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_strict_mode_streamed/google_gemini_3_pro_preview_snapshots.py +102 -0
  497. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_strict_mode_with_streamed_thinking/anthropic_claude_sonnet_4_5_snapshots.py +105 -0
  498. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_strict_mode_with_streamed_thinking/google_gemini_3_pro_preview_snapshots.py +153 -0
  499. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_strict_mode_with_thinking/anthropic_claude_sonnet_4_5_snapshots.py +114 -0
  500. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_strict_mode_with_thinking/google_gemini_3_pro_preview_snapshots.py +143 -0
  501. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_strict_mode_with_tools/anthropic_claude_sonnet_4_5_snapshots.py +137 -0
  502. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_strict_mode_with_tools/google_gemini_3_pro_preview_snapshots.py +169 -0
  503. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_strict_mode_with_tools_streamed/anthropic_claude_sonnet_4_5_snapshots.py +132 -0
  504. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_strict_mode_with_tools_streamed/google_gemini_3_pro_preview_snapshots.py +214 -0
  505. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/anthropic_beta_claude_sonnet_4_0_snapshots.py +14 -0
  506. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/anthropic_claude_sonnet_4_0_snapshots.py +88 -0
  507. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/anthropic_claude_sonnet_4_5_snapshots.py +88 -0
  508. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/google_gemini_2_5_flash_snapshots.py +95 -0
  509. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/anthropic_beta_claude_sonnet_4_0_snapshots.py +94 -0
  510. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/anthropic_claude_sonnet_4_0_snapshots.py +95 -0
  511. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/anthropic_claude_sonnet_4_5_snapshots.py +99 -0
  512. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/google_gemini_2_5_flash_snapshots.py +107 -0
  513. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  514. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/openai_gpt_4o_completions_snapshots.py +90 -0
  515. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/openai_gpt_4o_responses_snapshots.py +101 -0
  516. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  517. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/openai_gpt_4o_completions_snapshots.py +78 -0
  518. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/openai_gpt_4o_responses_snapshots.py +89 -0
  519. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/anthropic_beta_claude_sonnet_4_0_snapshots.py +14 -0
  520. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/anthropic_claude_sonnet_4_0_snapshots.py +14 -0
  521. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/anthropic_claude_sonnet_4_5_snapshots.py +87 -0
  522. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/google_gemini_2_5_flash_snapshots.py +95 -0
  523. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  524. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/openai_gpt_4o_completions_snapshots.py +78 -0
  525. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/openai_gpt_4o_responses_snapshots.py +89 -0
  526. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/anthropic_beta_claude_sonnet_4_0_snapshots.py +88 -0
  527. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/anthropic_claude_sonnet_4_0_snapshots.py +88 -0
  528. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/anthropic_claude_sonnet_4_5_snapshots.py +88 -0
  529. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/google_gemini_2_5_flash_snapshots.py +103 -0
  530. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  531. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/openai_gpt_4o_completions_snapshots.py +87 -0
  532. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/openai_gpt_4o_responses_snapshots.py +83 -0
  533. mirascope-2.0.0a4/tests/e2e/input/snapshots/test_together_provider/meta_llama_Llama_3_3_70B_Instruct_Turbo_snapshots.py +52 -0
  534. mirascope-2.0.0a4/tests/e2e/input/test_caching.py +288 -0
  535. mirascope-2.0.0a4/tests/e2e/input/test_call_with_audio.py +39 -0
  536. mirascope-2.0.0a4/tests/e2e/input/test_call_with_image.py +59 -0
  537. mirascope-2.0.0a4/tests/e2e/input/test_call_with_params.py +52 -0
  538. mirascope-2.0.0a4/tests/e2e/input/test_call_with_text_encoded_thoughts.py +88 -0
  539. mirascope-2.0.0a4/tests/e2e/input/test_empty_call.py +64 -0
  540. mirascope-2.0.0a4/tests/e2e/input/test_openai_compatibility_providers.py +85 -0
  541. mirascope-2.0.0a4/tests/e2e/input/test_provider_overriding.py +80 -0
  542. mirascope-2.0.0a4/tests/e2e/input/test_resume_with_override.py +41 -0
  543. mirascope-2.0.0a4/tests/e2e/input/test_resume_with_override_thinking_and_tools.py +56 -0
  544. mirascope-2.0.0a4/tests/e2e/input/test_strict_structured_output_compatibility.py +254 -0
  545. mirascope-2.0.0a4/tests/e2e/input/test_structured_output_with_formatting_instructions.py +58 -0
  546. mirascope-2.0.0a4/tests/e2e/mlx_lm_cassette.py +331 -0
  547. mirascope-2.0.0a4/tests/e2e/output/README.md +86 -0
  548. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call/anthropic_beta_claude_sonnet_4_0/async.yaml +112 -0
  549. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call/anthropic_beta_claude_sonnet_4_0/async_stream.yaml +167 -0
  550. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call/anthropic_beta_claude_sonnet_4_0/stream.yaml +167 -0
  551. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call/anthropic_beta_claude_sonnet_4_0/sync.yaml +112 -0
  552. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call/anthropic_claude_sonnet_4_0/async.yaml +108 -0
  553. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call/anthropic_claude_sonnet_4_0/async_stream.yaml +164 -0
  554. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call/anthropic_claude_sonnet_4_0/stream.yaml +150 -0
  555. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call/anthropic_claude_sonnet_4_0/sync.yaml +108 -0
  556. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call/openai_gpt_4o_completions/async_stream.yaml +161 -0
  557. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call/openai_gpt_4o_completions/stream.yaml +146 -0
  558. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call_with_thinking_true/anthropic_beta_claude_sonnet_4_0/async.yaml +349 -0
  559. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call_with_thinking_true/anthropic_beta_claude_sonnet_4_0/async_stream.yaml +616 -0
  560. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call_with_thinking_true/anthropic_beta_claude_sonnet_4_0/stream.yaml +526 -0
  561. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call_with_thinking_true/anthropic_beta_claude_sonnet_4_0/sync.yaml +292 -0
  562. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call_with_thinking_true/anthropic_claude_sonnet_4_0/async.yaml +310 -0
  563. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call_with_thinking_true/anthropic_claude_sonnet_4_0/async_stream.yaml +523 -0
  564. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call_with_thinking_true/anthropic_claude_sonnet_4_0/stream.yaml +539 -0
  565. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call_with_thinking_true/anthropic_claude_sonnet_4_0/sync.yaml +336 -0
  566. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call_with_tools/anthropic_beta_claude_sonnet_4_0/async.yaml +233 -0
  567. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call_with_tools/anthropic_beta_claude_sonnet_4_0/async_stream.yaml +442 -0
  568. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call_with_tools/anthropic_beta_claude_sonnet_4_0/stream.yaml +448 -0
  569. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call_with_tools/anthropic_beta_claude_sonnet_4_0/sync.yaml +233 -0
  570. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call_with_tools/anthropic_claude_sonnet_4_0/async.yaml +224 -0
  571. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call_with_tools/anthropic_claude_sonnet_4_0/async_stream.yaml +423 -0
  572. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call_with_tools/anthropic_claude_sonnet_4_0/stream.yaml +456 -0
  573. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call_with_tools/anthropic_claude_sonnet_4_0/sync.yaml +225 -0
  574. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call_with_tools/openai_gpt_4o_completions/async_stream.yaml +366 -0
  575. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call_with_tools/openai_gpt_4o_completions/stream.yaml +350 -0
  576. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_max_tokens/anthropic_beta_claude_sonnet_4_0/async.yaml +113 -0
  577. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_max_tokens/anthropic_beta_claude_sonnet_4_0/async_stream.yaml +185 -0
  578. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_max_tokens/anthropic_beta_claude_sonnet_4_0/stream.yaml +191 -0
  579. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_max_tokens/anthropic_beta_claude_sonnet_4_0/sync.yaml +113 -0
  580. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_max_tokens/anthropic_claude_sonnet_4_0/async.yaml +109 -0
  581. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_max_tokens/anthropic_claude_sonnet_4_0/async_stream.yaml +195 -0
  582. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_max_tokens/anthropic_claude_sonnet_4_0/stream.yaml +178 -0
  583. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_max_tokens/anthropic_claude_sonnet_4_0/sync.yaml +109 -0
  584. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_max_tokens/openai_gpt_4o_completions/async_stream.yaml +274 -0
  585. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_max_tokens/openai_gpt_4o_completions/stream.yaml +273 -0
  586. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_refusal/anthropic_claude_sonnet_4_0/async.yaml +121 -0
  587. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_refusal/anthropic_claude_sonnet_4_0/async_stream.yaml +696 -0
  588. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_refusal/anthropic_claude_sonnet_4_0/stream.yaml +751 -0
  589. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_refusal/anthropic_claude_sonnet_4_0/sync.yaml +118 -0
  590. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_refusal/openai_gpt_4o_completions/async_stream.yaml +116 -0
  591. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_refusal/openai_gpt_4o_completions/stream.yaml +152 -0
  592. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_0/async.yaml +117 -0
  593. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_0/async_stream.yaml +232 -0
  594. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_0/stream.yaml +232 -0
  595. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_0/sync.yaml +117 -0
  596. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_5/async.yaml +117 -0
  597. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_5/async_stream.yaml +220 -0
  598. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_5/stream.yaml +241 -0
  599. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_5/sync.yaml +117 -0
  600. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/json/anthropic_beta_claude_sonnet_4_0/async.yaml +127 -0
  601. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/json/anthropic_beta_claude_sonnet_4_0/async_stream.yaml +204 -0
  602. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/json/anthropic_beta_claude_sonnet_4_0/stream.yaml +204 -0
  603. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/json/anthropic_beta_claude_sonnet_4_0/sync.yaml +126 -0
  604. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_0/async.yaml +122 -0
  605. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_0/async_stream.yaml +204 -0
  606. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_0/stream.yaml +213 -0
  607. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_0/sync.yaml +123 -0
  608. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_5/async.yaml +123 -0
  609. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_5/async_stream.yaml +207 -0
  610. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_5/stream.yaml +207 -0
  611. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_5/sync.yaml +123 -0
  612. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/json/openai_gpt_4o_completions/async.yaml +124 -0
  613. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/json/openai_gpt_4o_completions/async_stream.yaml +276 -0
  614. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/json/openai_gpt_4o_completions/stream.yaml +276 -0
  615. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/openai_gpt_4o_completions/async_stream.yaml +203 -0
  616. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/openai_gpt_4o_completions/stream.yaml +203 -0
  617. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/strict/anthropic_claude_sonnet_4_5/async.yaml +117 -0
  618. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/strict/anthropic_claude_sonnet_4_5/async_stream.yaml +187 -0
  619. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/strict/anthropic_claude_sonnet_4_5/stream.yaml +185 -0
  620. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/strict/anthropic_claude_sonnet_4_5/sync.yaml +117 -0
  621. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/strict/openai_gpt_4o_completions/async_stream.yaml +203 -0
  622. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/strict/openai_gpt_4o_completions/stream.yaml +203 -0
  623. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_beta_claude_sonnet_4_0/async.yaml +121 -0
  624. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_beta_claude_sonnet_4_0/async_stream.yaml +217 -0
  625. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_beta_claude_sonnet_4_0/stream.yaml +244 -0
  626. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_beta_claude_sonnet_4_0/sync.yaml +121 -0
  627. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_0/async.yaml +117 -0
  628. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_0/async_stream.yaml +244 -0
  629. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_0/stream.yaml +241 -0
  630. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_0/sync.yaml +117 -0
  631. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_5/async.yaml +117 -0
  632. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_5/async_stream.yaml +248 -0
  633. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_5/stream.yaml +232 -0
  634. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_5/sync.yaml +117 -0
  635. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/tool/openai_gpt_4o_completions/async.yaml +114 -0
  636. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/tool/openai_gpt_4o_completions/async_stream.yaml +204 -0
  637. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/tool/openai_gpt_4o_completions/stream.yaml +204 -0
  638. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_0/async.yaml +231 -0
  639. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_0/async_stream.yaml +407 -0
  640. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_0/stream.yaml +428 -0
  641. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_0/sync.yaml +231 -0
  642. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_5/async.yaml +231 -0
  643. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_5/async_stream.yaml +386 -0
  644. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_5/stream.yaml +419 -0
  645. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_5/sync.yaml +231 -0
  646. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_beta_claude_sonnet_4_0/async.yaml +246 -0
  647. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_beta_claude_sonnet_4_0/async_stream.yaml +402 -0
  648. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_beta_claude_sonnet_4_0/stream.yaml +397 -0
  649. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_beta_claude_sonnet_4_0/sync.yaml +246 -0
  650. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_0/async.yaml +238 -0
  651. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_0/async_stream.yaml +413 -0
  652. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_0/stream.yaml +608 -0
  653. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_0/sync.yaml +238 -0
  654. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_5/async.yaml +248 -0
  655. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_5/async_stream.yaml +832 -0
  656. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_5/stream.yaml +821 -0
  657. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_5/sync.yaml +248 -0
  658. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_gpt_4o_completions/async_stream.yaml +404 -0
  659. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_gpt_4o_completions/stream.yaml +404 -0
  660. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_gpt_4o_completions/async_stream.yaml +339 -0
  661. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_gpt_4o_completions/stream.yaml +339 -0
  662. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/anthropic_claude_sonnet_4_5/async.yaml +232 -0
  663. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/anthropic_claude_sonnet_4_5/async_stream.yaml +335 -0
  664. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/anthropic_claude_sonnet_4_5/stream.yaml +345 -0
  665. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/anthropic_claude_sonnet_4_5/sync.yaml +232 -0
  666. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_gpt_4o_completions/async_stream.yaml +427 -0
  667. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_gpt_4o_completions/stream.yaml +427 -0
  668. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_beta_claude_sonnet_4_0/async.yaml +239 -0
  669. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_beta_claude_sonnet_4_0/async_stream.yaml +401 -0
  670. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_beta_claude_sonnet_4_0/stream.yaml +412 -0
  671. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_beta_claude_sonnet_4_0/sync.yaml +239 -0
  672. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_0/async.yaml +231 -0
  673. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_0/async_stream.yaml +406 -0
  674. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_0/stream.yaml +398 -0
  675. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_0/sync.yaml +231 -0
  676. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_5/async.yaml +231 -0
  677. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_5/async_stream.yaml +402 -0
  678. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_5/stream.yaml +404 -0
  679. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_5/sync.yaml +231 -0
  680. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_gpt_4o_completions/async_stream.yaml +345 -0
  681. mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_gpt_4o_completions/stream.yaml +345 -0
  682. mirascope-2.0.0a4/tests/e2e/output/conftest.py +161 -0
  683. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_call_async_context_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +3579 -0
  684. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_call_async_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +3579 -0
  685. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_call_async_stream_context_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +3579 -0
  686. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_call_async_stream_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +3579 -0
  687. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_call_stream_context_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +3579 -0
  688. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_call_stream_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +3579 -0
  689. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_call_sync_context_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +3579 -0
  690. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_call_sync_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +3579 -0
  691. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_call_with_tools_async_context_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  692. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_call_with_tools_async_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  693. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_call_with_tools_async_stream_context_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  694. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_call_with_tools_async_stream_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  695. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_call_with_tools_stream_context_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  696. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_call_with_tools_stream_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  697. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_call_with_tools_sync_context_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  698. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_call_with_tools_sync_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  699. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_max_tokens_async_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +254 -0
  700. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_max_tokens_async_stream_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +254 -0
  701. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_max_tokens_stream_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +254 -0
  702. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_max_tokens_sync_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +254 -0
  703. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_prompt_async_context_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +3579 -0
  704. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_prompt_async_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +3579 -0
  705. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_prompt_async_stream_context_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +3579 -0
  706. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_prompt_async_stream_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +3579 -0
  707. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_prompt_stream_context_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +3579 -0
  708. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_prompt_stream_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +3579 -0
  709. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_prompt_sync_context_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +3579 -0
  710. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_prompt_sync_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +3579 -0
  711. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_refusal_async_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  712. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_refusal_async_stream_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  713. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_refusal_stream_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  714. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_refusal_sync_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  715. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  716. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_context_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  717. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_context_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  718. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_context_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  719. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_context_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  720. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  721. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_stream_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  722. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_stream_context_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  723. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_stream_context_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  724. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_stream_context_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  725. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_stream_context_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  726. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_stream_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  727. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_stream_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  728. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_stream_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  729. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  730. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  731. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_stream_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  732. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_stream_context_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  733. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_stream_context_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  734. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_stream_context_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  735. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_stream_context_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  736. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_stream_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  737. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_stream_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  738. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_stream_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  739. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_sync_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  740. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_sync_context_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  741. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_sync_context_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  742. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_sync_context_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  743. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_sync_context_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  744. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_sync_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  745. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_sync_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  746. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_sync_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  747. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_async_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  748. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_async_context_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  749. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_async_context_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  750. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_async_context_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  751. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_async_context_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  752. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_async_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  753. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_async_stream_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  754. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_async_stream_context_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  755. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_async_stream_context_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  756. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_async_stream_context_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  757. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_async_stream_context_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  758. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_async_stream_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  759. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_async_stream_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  760. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_async_stream_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  761. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_async_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  762. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_async_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  763. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_stream_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  764. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_stream_context_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  765. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_stream_context_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  766. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_stream_context_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  767. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_stream_context_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  768. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_stream_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  769. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_stream_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  770. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_stream_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  771. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_sync_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  772. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_sync_context_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  773. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_sync_context_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  774. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_sync_context_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  775. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_sync_context_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  776. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_sync_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  777. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_sync_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  778. mirascope-2.0.0a4/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_sync_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  779. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_call/anthropic_beta_claude_sonnet_4_0_snapshots.py +148 -0
  780. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_call/anthropic_claude_sonnet_4_0_snapshots.py +160 -0
  781. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_call/google_gemini_2_5_flash_snapshots.py +296 -0
  782. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_call/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +244 -0
  783. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_call/openai_gpt_4o_completions_snapshots.py +144 -0
  784. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_call/openai_gpt_4o_responses_snapshots.py +196 -0
  785. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_call_with_thinking_true/anthropic_beta_claude_sonnet_4_0_snapshots.py +819 -0
  786. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_call_with_thinking_true/anthropic_claude_sonnet_4_0_snapshots.py +740 -0
  787. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_call_with_thinking_true/google_gemini_2_5_flash_snapshots.py +841 -0
  788. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_call_with_thinking_true/openai_gpt_5_responses_snapshots.py +731 -0
  789. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_call_with_tools/anthropic_beta_claude_sonnet_4_0_snapshots.py +559 -0
  790. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_call_with_tools/anthropic_claude_sonnet_4_0_snapshots.py +567 -0
  791. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_call_with_tools/google_gemini_2_5_flash_snapshots.py +671 -0
  792. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_call_with_tools/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +34 -0
  793. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_call_with_tools/openai_gpt_4o_completions_snapshots.py +472 -0
  794. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_call_with_tools/openai_gpt_4o_responses_snapshots.py +563 -0
  795. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_max_tokens/anthropic_beta_claude_sonnet_4_0_snapshots.py +283 -0
  796. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_max_tokens/anthropic_claude_sonnet_4_0_snapshots.py +283 -0
  797. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_max_tokens/google_gemini_2_5_flash_snapshots.py +233 -0
  798. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_max_tokens/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +165 -0
  799. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_max_tokens/openai_gpt_4o_completions_snapshots.py +234 -0
  800. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_max_tokens/openai_gpt_4o_responses_snapshots.py +242 -0
  801. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_refusal/anthropic_beta_claude_sonnet_4_0_snapshots.py +50 -0
  802. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_refusal/anthropic_claude_sonnet_4_0_snapshots.py +336 -0
  803. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_refusal/google_gemini_2_5_flash_snapshots.py +334 -0
  804. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_refusal/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +34 -0
  805. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_refusal/openai_gpt_4o_completions_snapshots.py +231 -0
  806. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_refusal/openai_gpt_4o_responses_snapshots.py +269 -0
  807. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output/anthropic_beta_claude_sonnet_4_0_snapshots.py +50 -0
  808. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output/anthropic_claude_sonnet_4_0_snapshots.py +393 -0
  809. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output/anthropic_claude_sonnet_4_5_snapshots.py +393 -0
  810. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output/google_gemini_2_5_flash_snapshots.py +422 -0
  811. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output/json/anthropic_beta_claude_sonnet_4_0_snapshots.py +805 -0
  812. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output/json/anthropic_claude_sonnet_4_0_snapshots.py +815 -0
  813. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output/json/anthropic_claude_sonnet_4_5_snapshots.py +823 -0
  814. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output/json/google_gemini_2_5_flash_snapshots.py +875 -0
  815. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output/json/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +34 -0
  816. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output/json/openai_gpt_4o_completions_snapshots.py +763 -0
  817. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output/json/openai_gpt_4o_responses_snapshots.py +833 -0
  818. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +34 -0
  819. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output/openai_gpt_4o_completions_snapshots.py +316 -0
  820. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output/openai_gpt_4o_responses_snapshots.py +368 -0
  821. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output/strict/anthropic_beta_claude_sonnet_4_0_snapshots.py +50 -0
  822. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output/strict/anthropic_claude_sonnet_4_0_snapshots.py +50 -0
  823. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output/strict/anthropic_claude_sonnet_4_5_snapshots.py +352 -0
  824. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output/strict/google_gemini_2_5_flash_snapshots.py +440 -0
  825. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output/strict/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +34 -0
  826. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output/strict/openai_gpt_4o_completions_snapshots.py +316 -0
  827. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output/strict/openai_gpt_4o_responses_snapshots.py +368 -0
  828. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output/tool/anthropic_beta_claude_sonnet_4_0_snapshots.py +393 -0
  829. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output/tool/anthropic_claude_sonnet_4_0_snapshots.py +393 -0
  830. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output/tool/anthropic_claude_sonnet_4_5_snapshots.py +393 -0
  831. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output/tool/google_gemini_2_5_flash_snapshots.py +443 -0
  832. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output/tool/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +34 -0
  833. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output/tool/openai_gpt_4o_completions_snapshots.py +351 -0
  834. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output/tool/openai_gpt_4o_responses_snapshots.py +361 -0
  835. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output_with_tools/anthropic_beta_claude_sonnet_4_0_snapshots.py +50 -0
  836. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output_with_tools/anthropic_claude_sonnet_4_0_snapshots.py +547 -0
  837. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output_with_tools/anthropic_claude_sonnet_4_5_snapshots.py +547 -0
  838. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output_with_tools/google_gemini_2_5_flash_snapshots.py +637 -0
  839. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output_with_tools/json/anthropic_beta_claude_sonnet_4_0_snapshots.py +843 -0
  840. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_0_snapshots.py +855 -0
  841. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_5_snapshots.py +969 -0
  842. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output_with_tools/json/google_gemini_2_5_flash_snapshots.py +46 -0
  843. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output_with_tools/json/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +34 -0
  844. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output_with_tools/json/openai_gpt_4o_completions_snapshots.py +749 -0
  845. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output_with_tools/json/openai_gpt_4o_responses_snapshots.py +839 -0
  846. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output_with_tools/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +34 -0
  847. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output_with_tools/openai_gpt_4o_completions_snapshots.py +460 -0
  848. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output_with_tools/openai_gpt_4o_responses_snapshots.py +522 -0
  849. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/anthropic_beta_claude_sonnet_4_0_snapshots.py +50 -0
  850. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/anthropic_claude_sonnet_4_0_snapshots.py +50 -0
  851. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/anthropic_claude_sonnet_4_5_snapshots.py +510 -0
  852. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/google_gemini_2_5_flash_snapshots.py +46 -0
  853. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +34 -0
  854. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/openai_gpt_4o_completions_snapshots.py +466 -0
  855. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/openai_gpt_4o_responses_snapshots.py +556 -0
  856. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/anthropic_beta_claude_sonnet_4_0_snapshots.py +547 -0
  857. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_0_snapshots.py +547 -0
  858. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_5_snapshots.py +547 -0
  859. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/google_gemini_2_5_flash_snapshots.py +637 -0
  860. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +34 -0
  861. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/openai_gpt_4o_completions_snapshots.py +499 -0
  862. mirascope-2.0.0a4/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/openai_gpt_4o_responses_snapshots.py +519 -0
  863. mirascope-2.0.0a4/tests/e2e/output/test_call.py +171 -0
  864. mirascope-2.0.0a4/tests/e2e/output/test_call_with_thinking_true.py +109 -0
  865. mirascope-2.0.0a4/tests/e2e/output/test_call_with_tools.py +379 -0
  866. mirascope-2.0.0a4/tests/e2e/output/test_max_tokens.py +76 -0
  867. mirascope-2.0.0a4/tests/e2e/output/test_prompt.py +179 -0
  868. mirascope-2.0.0a4/tests/e2e/output/test_refusal.py +98 -0
  869. mirascope-2.0.0a4/tests/e2e/output/test_structured_output.py +310 -0
  870. mirascope-2.0.0a4/tests/e2e/output/test_structured_output_with_tools.py +418 -0
  871. mirascope-2.0.0a4/tests/llm/calls/test_call_decorator.py +53 -0
  872. mirascope-2.0.0a4/tests/llm/content/test_audio_content.py +273 -0
  873. mirascope-2.0.0a4/tests/llm/content/test_image_content.py +298 -0
  874. mirascope-2.0.0a4/tests/llm/context/test_context_utils.py +110 -0
  875. mirascope-2.0.0a4/tests/llm/messages/test_messages.py +167 -0
  876. mirascope-2.0.0a4/tests/llm/models/test_model.py +131 -0
  877. mirascope-2.0.0a4/tests/llm/prompts/test_prompt_decorator.py +57 -0
  878. mirascope-2.0.0a4/tests/llm/providers/base/test_params.py +55 -0
  879. mirascope-2.0.0a4/tests/llm/providers/base/test_utils.py +160 -0
  880. mirascope-2.0.0a4/tests/llm/providers/google/test_google_provider.py +23 -0
  881. mirascope-2.0.0a4/tests/llm/providers/mlx/conftest.py +14 -0
  882. mirascope-2.0.0a4/tests/llm/providers/mlx/encoding/test_transformers.py +24 -0
  883. mirascope-2.0.0a4/tests/llm/providers/mlx/test_client.py +11 -0
  884. mirascope-2.0.0a4/tests/llm/providers/mlx/test_mlx.py +86 -0
  885. mirascope-2.0.0a4/tests/llm/providers/mlx/test_utils.py +70 -0
  886. mirascope-2.0.0a4/tests/llm/providers/openai/test_completions_encoding.py +115 -0
  887. mirascope-2.0.0a4/tests/llm/providers/openai/test_openai_provider.py +59 -0
  888. mirascope-2.0.0a4/tests/llm/providers/openai/test_responses_encoding.py +66 -0
  889. mirascope-2.0.0a4/tests/llm/providers/test_ollama_provider.py +77 -0
  890. mirascope-2.0.0a4/tests/llm/providers/test_openai_compatible_provider.py +108 -0
  891. mirascope-2.0.0a4/tests/llm/providers/test_provider_registry.py +149 -0
  892. mirascope-2.0.0a4/tests/llm/providers/test_providers.py +53 -0
  893. mirascope-2.0.0a4/tests/llm/providers/test_together_provider.py +49 -0
  894. mirascope-2.0.0a4/tests/llm/responses/test_response.py +816 -0
  895. mirascope-2.0.0a4/tests/llm/responses/test_stream_response.py +1921 -0
  896. mirascope-2.0.0a4/tests/llm/responses/test_utils.py +195 -0
  897. mirascope-2.0.0a4/tests/llm/tools/test_decorator.py +415 -0
  898. mirascope-2.0.0a4/tests/llm/tools/test_tool_schema.py +418 -0
  899. mirascope-2.0.0a4/tests/llm/tools/test_toolkit.py +192 -0
  900. mirascope-2.0.0a4/tests/ops/_internal/__init__.py +1 -0
  901. mirascope-2.0.0a4/tests/ops/_internal/closure_test_functions/__init__.py +101 -0
  902. mirascope-2.0.0a4/tests/ops/_internal/closure_test_functions/fakepkg/__init__.py +4 -0
  903. mirascope-2.0.0a4/tests/ops/_internal/closure_test_functions/main.py +470 -0
  904. mirascope-2.0.0a4/tests/ops/_internal/closure_test_functions/other.py +111 -0
  905. mirascope-2.0.0a4/tests/ops/_internal/exporters/__init__.py +1 -0
  906. mirascope-2.0.0a4/tests/ops/_internal/exporters/conftest.py +98 -0
  907. mirascope-2.0.0a4/tests/ops/_internal/exporters/test_exporters.py +484 -0
  908. mirascope-2.0.0a4/tests/ops/_internal/exporters/test_processors.py +210 -0
  909. mirascope-2.0.0a4/tests/ops/_internal/exporters/utils.py +133 -0
  910. mirascope-2.0.0a4/tests/ops/_internal/test_closure.py +1382 -0
  911. mirascope-2.0.0a4/tests/ops/cassettes/test_model_call_async_exports_genai_span.yaml +111 -0
  912. mirascope-2.0.0a4/tests/ops/cassettes/test_model_call_async_records_untracked_params_event.yaml +105 -0
  913. mirascope-2.0.0a4/tests/ops/cassettes/test_model_call_exports_genai_span.yaml +110 -0
  914. mirascope-2.0.0a4/tests/ops/cassettes/test_model_call_records_response_id.yaml +110 -0
  915. mirascope-2.0.0a4/tests/ops/cassettes/test_model_call_records_untracked_params_event.yaml +105 -0
  916. mirascope-2.0.0a4/tests/ops/cassettes/test_model_call_with_audio_content.yaml +66 -0
  917. mirascope-2.0.0a4/tests/ops/cassettes/test_model_call_with_base64_image.yaml +110 -0
  918. mirascope-2.0.0a4/tests/ops/cassettes/test_model_call_with_format_tool_mode.yaml +79 -0
  919. mirascope-2.0.0a4/tests/ops/cassettes/test_model_call_with_image.yaml +107 -0
  920. mirascope-2.0.0a4/tests/ops/cassettes/test_model_call_with_json_format.yaml +107 -0
  921. mirascope-2.0.0a4/tests/ops/cassettes/test_model_call_with_max_tokens_limit.yaml +87 -0
  922. mirascope-2.0.0a4/tests/ops/cassettes/test_model_call_with_message_name.yaml +109 -0
  923. mirascope-2.0.0a4/tests/ops/cassettes/test_model_call_with_none_parameters.yaml +104 -0
  924. mirascope-2.0.0a4/tests/ops/cassettes/test_model_call_with_parameters.yaml +103 -0
  925. mirascope-2.0.0a4/tests/ops/cassettes/test_model_call_with_reasoning_model.yaml +125 -0
  926. mirascope-2.0.0a4/tests/ops/cassettes/test_model_call_with_stop_string.yaml +110 -0
  927. mirascope-2.0.0a4/tests/ops/cassettes/test_model_call_with_tool_outputs.yaml +219 -0
  928. mirascope-2.0.0a4/tests/ops/cassettes/test_model_call_with_tools.yaml +108 -0
  929. mirascope-2.0.0a4/tests/ops/cassettes/test_model_call_with_tracer_set_to_none.yaml +106 -0
  930. mirascope-2.0.0a4/tests/ops/cassettes/test_model_call_without_instrumentation.yaml +108 -0
  931. mirascope-2.0.0a4/tests/ops/cassettes/test_model_context_call_async_exports_genai_span.yaml +109 -0
  932. mirascope-2.0.0a4/tests/ops/cassettes/test_model_context_call_exports_genai_span.yaml +111 -0
  933. mirascope-2.0.0a4/tests/ops/cassettes/test_model_context_stream_async_exports_genai_span.yaml +148 -0
  934. mirascope-2.0.0a4/tests/ops/cassettes/test_model_context_stream_exports_genai_span.yaml +148 -0
  935. mirascope-2.0.0a4/tests/ops/cassettes/test_model_stream_exports_genai_span.yaml +180 -0
  936. mirascope-2.0.0a4/tests/ops/cassettes/test_model_stream_records_response_id.yaml +176 -0
  937. mirascope-2.0.0a4/tests/ops/cassettes/test_model_stream_records_untracked_params_event.yaml +176 -0
  938. mirascope-2.0.0a4/tests/ops/cassettes/test_model_stream_with_json_format.yaml +282 -0
  939. mirascope-2.0.0a4/tests/ops/cassettes/test_model_stream_with_none_parameters.yaml +171 -0
  940. mirascope-2.0.0a4/tests/ops/cassettes/test_model_stream_with_tools.yaml +193 -0
  941. mirascope-2.0.0a4/tests/ops/cassettes/test_model_stream_with_tracer_set_to_none.yaml +176 -0
  942. mirascope-2.0.0a4/tests/ops/cassettes/test_model_stream_without_instrumentation.yaml +176 -0
  943. mirascope-2.0.0a4/tests/ops/cassettes/test_traced_async_call.yaml +113 -0
  944. mirascope-2.0.0a4/tests/ops/cassettes/test_traced_async_call_call_method.yaml +114 -0
  945. mirascope-2.0.0a4/tests/ops/cassettes/test_traced_async_call_stream_method.yaml +595 -0
  946. mirascope-2.0.0a4/tests/ops/cassettes/test_traced_async_call_wrapped_method.yaml +113 -0
  947. mirascope-2.0.0a4/tests/ops/cassettes/test_traced_async_context_call.yaml +114 -0
  948. mirascope-2.0.0a4/tests/ops/cassettes/test_traced_async_context_call_call_method.yaml +109 -0
  949. mirascope-2.0.0a4/tests/ops/cassettes/test_traced_async_context_call_stream_method.yaml +273 -0
  950. mirascope-2.0.0a4/tests/ops/cassettes/test_traced_async_context_call_with_tags.yaml +114 -0
  951. mirascope-2.0.0a4/tests/ops/cassettes/test_traced_async_context_call_wrapped_call_method.yaml +114 -0
  952. mirascope-2.0.0a4/tests/ops/cassettes/test_traced_async_context_call_wrapped_returns_trace.yaml +108 -0
  953. mirascope-2.0.0a4/tests/ops/cassettes/test_traced_call_call_method.yaml +111 -0
  954. mirascope-2.0.0a4/tests/ops/cassettes/test_traced_call_stream_method.yaml +242 -0
  955. mirascope-2.0.0a4/tests/ops/cassettes/test_traced_call_sync.yaml +114 -0
  956. mirascope-2.0.0a4/tests/ops/cassettes/test_traced_call_with_tags.yaml +108 -0
  957. mirascope-2.0.0a4/tests/ops/cassettes/test_traced_call_wrapped_call_method.yaml +107 -0
  958. mirascope-2.0.0a4/tests/ops/cassettes/test_traced_call_wrapped_method.yaml +108 -0
  959. mirascope-2.0.0a4/tests/ops/cassettes/test_traced_call_wrapped_stream.yaml +712 -0
  960. mirascope-2.0.0a4/tests/ops/cassettes/test_traced_context_call.yaml +114 -0
  961. mirascope-2.0.0a4/tests/ops/cassettes/test_traced_context_call_call_method.yaml +108 -0
  962. mirascope-2.0.0a4/tests/ops/cassettes/test_traced_context_call_stream_method.yaml +614 -0
  963. mirascope-2.0.0a4/tests/ops/cassettes/test_traced_context_call_with_metadata.yaml +114 -0
  964. mirascope-2.0.0a4/tests/ops/cassettes/test_traced_context_call_with_tags.yaml +114 -0
  965. mirascope-2.0.0a4/tests/ops/cassettes/test_traced_context_call_wrapped_call_method.yaml +115 -0
  966. mirascope-2.0.0a4/tests/ops/cassettes/test_traced_context_call_wrapped_returns_trace.yaml +108 -0
  967. mirascope-2.0.0a4/tests/ops/cassettes/test_tracer_context_with_model_call.yaml +110 -0
  968. mirascope-2.0.0a4/tests/ops/cassettes/test_versioned_async_call.yaml +115 -0
  969. mirascope-2.0.0a4/tests/ops/cassettes/test_versioned_async_call_call_method.yaml +107 -0
  970. mirascope-2.0.0a4/tests/ops/cassettes/test_versioned_async_call_stream_method.yaml +619 -0
  971. mirascope-2.0.0a4/tests/ops/cassettes/test_versioned_async_call_wrapped_method.yaml +108 -0
  972. mirascope-2.0.0a4/tests/ops/cassettes/test_versioned_async_call_wrapped_stream_method.yaml +663 -0
  973. mirascope-2.0.0a4/tests/ops/cassettes/test_versioned_async_context_call.yaml +108 -0
  974. mirascope-2.0.0a4/tests/ops/cassettes/test_versioned_async_context_call_call_method.yaml +108 -0
  975. mirascope-2.0.0a4/tests/ops/cassettes/test_versioned_async_context_call_stream_method.yaml +613 -0
  976. mirascope-2.0.0a4/tests/ops/cassettes/test_versioned_async_context_call_wrapped_method.yaml +108 -0
  977. mirascope-2.0.0a4/tests/ops/cassettes/test_versioned_async_context_call_wrapped_stream_method.yaml +637 -0
  978. mirascope-2.0.0a4/tests/ops/cassettes/test_versioned_call_call_method.yaml +108 -0
  979. mirascope-2.0.0a4/tests/ops/cassettes/test_versioned_call_stream_method.yaml +306 -0
  980. mirascope-2.0.0a4/tests/ops/cassettes/test_versioned_call_sync.yaml +114 -0
  981. mirascope-2.0.0a4/tests/ops/cassettes/test_versioned_call_with_tags.yaml +108 -0
  982. mirascope-2.0.0a4/tests/ops/cassettes/test_versioned_call_wrapped_method.yaml +108 -0
  983. mirascope-2.0.0a4/tests/ops/cassettes/test_versioned_call_wrapped_stream.yaml +818 -0
  984. mirascope-2.0.0a4/tests/ops/cassettes/test_versioned_context_call.yaml +109 -0
  985. mirascope-2.0.0a4/tests/ops/cassettes/test_versioned_context_call_call_method.yaml +108 -0
  986. mirascope-2.0.0a4/tests/ops/cassettes/test_versioned_context_call_stream_method.yaml +710 -0
  987. mirascope-2.0.0a4/tests/ops/cassettes/test_versioned_context_call_wrapped_method.yaml +108 -0
  988. mirascope-2.0.0a4/tests/ops/cassettes/test_versioned_context_call_wrapped_stream_method.yaml +376 -0
  989. mirascope-2.0.0a4/tests/ops/conftest.py +130 -0
  990. mirascope-2.0.0a4/tests/ops/test_configuration.py +14 -0
  991. mirascope-2.0.0a4/tests/ops/test_context.py +321 -0
  992. mirascope-2.0.0a4/tests/ops/test_model_call.py +841 -0
  993. mirascope-2.0.0a4/tests/ops/test_model_call_async.py +133 -0
  994. mirascope-2.0.0a4/tests/ops/test_model_context_call.py +62 -0
  995. mirascope-2.0.0a4/tests/ops/test_model_context_call_async.py +63 -0
  996. mirascope-2.0.0a4/tests/ops/test_model_context_stream.py +142 -0
  997. mirascope-2.0.0a4/tests/ops/test_model_context_stream_async.py +218 -0
  998. mirascope-2.0.0a4/tests/ops/test_model_stream.py +432 -0
  999. mirascope-2.0.0a4/tests/ops/test_propagation.py +635 -0
  1000. mirascope-2.0.0a4/tests/ops/test_session.py +200 -0
  1001. mirascope-2.0.0a4/tests/ops/test_span.py +555 -0
  1002. mirascope-2.0.0a4/tests/ops/test_tracing.py +1293 -0
  1003. mirascope-2.0.0a4/tests/ops/test_versioning.py +1413 -0
  1004. mirascope-2.0.0a4/tests/ops/utils.py +99 -0
  1005. mirascope-2.0.0a4/tests/utils.py +197 -0
  1006. mirascope-2.0.0a4/typechecking/call.py +138 -0
  1007. mirascope-2.0.0a4/typechecking/utils.py +87 -0
  1008. mirascope-2.0.0a4/typings/mlx/__init__.pyi +3 -0
  1009. mirascope-2.0.0a4/typings/mlx/core.pyi +12 -0
  1010. mirascope-2.0.0a4/typings/mlx/nn.pyi +6 -0
  1011. mirascope-2.0.0a4/uv.lock +3025 -0
  1012. mirascope-2.0.0a2/.coveragerc +0 -39
  1013. mirascope-2.0.0a2/.gitignore +0 -182
  1014. mirascope-2.0.0a2/PKG-INFO +0 -127
  1015. mirascope-2.0.0a2/README.md +0 -56
  1016. mirascope-2.0.0a2/examples/intro/context/decorator.py +0 -40
  1017. mirascope-2.0.0a2/examples/intro/context/model.py +0 -41
  1018. mirascope-2.0.0a2/examples/intro/decorator/async.py +0 -17
  1019. mirascope-2.0.0a2/examples/intro/decorator/async_stream.py +0 -18
  1020. mirascope-2.0.0a2/examples/intro/decorator/stream.py +0 -15
  1021. mirascope-2.0.0a2/examples/intro/decorator/sync.py +0 -14
  1022. mirascope-2.0.0a2/examples/intro/format/decorator.py +0 -22
  1023. mirascope-2.0.0a2/examples/intro/format/model.py +0 -26
  1024. mirascope-2.0.0a2/examples/intro/model/async.py +0 -18
  1025. mirascope-2.0.0a2/examples/intro/model/async_stream.py +0 -19
  1026. mirascope-2.0.0a2/examples/intro/model/stream.py +0 -16
  1027. mirascope-2.0.0a2/examples/intro/model/sync.py +0 -15
  1028. mirascope-2.0.0a2/examples/intro/override/decorator.py +0 -16
  1029. mirascope-2.0.0a2/examples/intro/override/model.py +0 -18
  1030. mirascope-2.0.0a2/examples/intro/parameters/decorator.py +0 -18
  1031. mirascope-2.0.0a2/examples/intro/parameters/model.py +0 -19
  1032. mirascope-2.0.0a2/examples/intro/resume/decorator.py +0 -17
  1033. mirascope-2.0.0a2/examples/intro/resume/model.py +0 -18
  1034. mirascope-2.0.0a2/examples/intro/system_messages/decorator.py +0 -18
  1035. mirascope-2.0.0a2/examples/intro/system_messages/model.py +0 -20
  1036. mirascope-2.0.0a2/examples/intro/tool_call/decorator.py +0 -36
  1037. mirascope-2.0.0a2/examples/intro/tool_call/model.py +0 -36
  1038. mirascope-2.0.0a2/examples/misc/anthropic_redacted_thinking.py +0 -18
  1039. mirascope-2.0.0a2/examples/misc/openai_responses_reasoning.py +0 -20
  1040. mirascope-2.0.0a2/examples/sazed/sazed.py +0 -27
  1041. mirascope-2.0.0a2/examples/sazed/sazed_async.py +0 -30
  1042. mirascope-2.0.0a2/examples/sazed/sazed_async_context.py +0 -38
  1043. mirascope-2.0.0a2/examples/sazed/sazed_async_context_structured.py +0 -50
  1044. mirascope-2.0.0a2/examples/sazed/sazed_async_stream.py +0 -31
  1045. mirascope-2.0.0a2/examples/sazed/sazed_async_stream_context.py +0 -41
  1046. mirascope-2.0.0a2/examples/sazed/sazed_async_stream_context_structured.py +0 -50
  1047. mirascope-2.0.0a2/examples/sazed/sazed_async_stream_structured.py +0 -40
  1048. mirascope-2.0.0a2/examples/sazed/sazed_async_stream_tools.py +0 -51
  1049. mirascope-2.0.0a2/examples/sazed/sazed_async_stream_tools_context.py +0 -63
  1050. mirascope-2.0.0a2/examples/sazed/sazed_async_stream_tools_context_structured.py +0 -72
  1051. mirascope-2.0.0a2/examples/sazed/sazed_async_stream_tools_structured.py +0 -60
  1052. mirascope-2.0.0a2/examples/sazed/sazed_async_structured.py +0 -40
  1053. mirascope-2.0.0a2/examples/sazed/sazed_async_tools.py +0 -40
  1054. mirascope-2.0.0a2/examples/sazed/sazed_async_tools_context.py +0 -50
  1055. mirascope-2.0.0a2/examples/sazed/sazed_async_tools_context_structured.py +0 -62
  1056. mirascope-2.0.0a2/examples/sazed/sazed_async_tools_structured.py +0 -50
  1057. mirascope-2.0.0a2/examples/sazed/sazed_context.py +0 -36
  1058. mirascope-2.0.0a2/examples/sazed/sazed_context_structured.py +0 -46
  1059. mirascope-2.0.0a2/examples/sazed/sazed_stream.py +0 -28
  1060. mirascope-2.0.0a2/examples/sazed/sazed_stream_context.py +0 -37
  1061. mirascope-2.0.0a2/examples/sazed/sazed_stream_context_structured.py +0 -48
  1062. mirascope-2.0.0a2/examples/sazed/sazed_stream_structured.py +0 -37
  1063. mirascope-2.0.0a2/examples/sazed/sazed_stream_tools.py +0 -48
  1064. mirascope-2.0.0a2/examples/sazed/sazed_stream_tools_context.py +0 -59
  1065. mirascope-2.0.0a2/examples/sazed/sazed_stream_tools_context_structured.py +0 -70
  1066. mirascope-2.0.0a2/examples/sazed/sazed_stream_tools_structured.py +0 -57
  1067. mirascope-2.0.0a2/examples/sazed/sazed_structured.py +0 -37
  1068. mirascope-2.0.0a2/examples/sazed/sazed_tools.py +0 -37
  1069. mirascope-2.0.0a2/examples/sazed/sazed_tools_context.py +0 -48
  1070. mirascope-2.0.0a2/examples/sazed/sazed_tools_context_structured.py +0 -58
  1071. mirascope-2.0.0a2/examples/sazed/sazed_tools_structured.py +0 -47
  1072. mirascope-2.0.0a2/mirascope/__init__.py +0 -5
  1073. mirascope-2.0.0a2/mirascope/graphs/__init__.py +0 -22
  1074. mirascope-2.0.0a2/mirascope/graphs/finite_state_machine.py +0 -625
  1075. mirascope-2.0.0a2/mirascope/llm/__init__.py +0 -216
  1076. mirascope-2.0.0a2/mirascope/llm/agents/__init__.py +0 -15
  1077. mirascope-2.0.0a2/mirascope/llm/agents/agent.py +0 -97
  1078. mirascope-2.0.0a2/mirascope/llm/agents/agent_template.py +0 -45
  1079. mirascope-2.0.0a2/mirascope/llm/agents/decorator.py +0 -176
  1080. mirascope-2.0.0a2/mirascope/llm/calls/base_call.py +0 -33
  1081. mirascope-2.0.0a2/mirascope/llm/calls/calls.py +0 -315
  1082. mirascope-2.0.0a2/mirascope/llm/calls/decorator.py +0 -255
  1083. mirascope-2.0.0a2/mirascope/llm/clients/__init__.py +0 -34
  1084. mirascope-2.0.0a2/mirascope/llm/clients/_missing_import_stubs.py +0 -47
  1085. mirascope-2.0.0a2/mirascope/llm/clients/anthropic/__init__.py +0 -25
  1086. mirascope-2.0.0a2/mirascope/llm/clients/anthropic/_utils/decode.py +0 -244
  1087. mirascope-2.0.0a2/mirascope/llm/clients/anthropic/_utils/encode.py +0 -243
  1088. mirascope-2.0.0a2/mirascope/llm/clients/anthropic/clients.py +0 -819
  1089. mirascope-2.0.0a2/mirascope/llm/clients/anthropic/model_ids.py +0 -8
  1090. mirascope-2.0.0a2/mirascope/llm/clients/base/__init__.py +0 -15
  1091. mirascope-2.0.0a2/mirascope/llm/clients/base/_utils.py +0 -192
  1092. mirascope-2.0.0a2/mirascope/llm/clients/base/client.py +0 -1256
  1093. mirascope-2.0.0a2/mirascope/llm/clients/google/__init__.py +0 -20
  1094. mirascope-2.0.0a2/mirascope/llm/clients/google/_utils/decode.py +0 -231
  1095. mirascope-2.0.0a2/mirascope/llm/clients/google/_utils/encode.py +0 -279
  1096. mirascope-2.0.0a2/mirascope/llm/clients/google/clients.py +0 -853
  1097. mirascope-2.0.0a2/mirascope/llm/clients/google/model_ids.py +0 -15
  1098. mirascope-2.0.0a2/mirascope/llm/clients/openai/__init__.py +0 -25
  1099. mirascope-2.0.0a2/mirascope/llm/clients/openai/completions/__init__.py +0 -28
  1100. mirascope-2.0.0a2/mirascope/llm/clients/openai/completions/_utils/__init__.py +0 -13
  1101. mirascope-2.0.0a2/mirascope/llm/clients/openai/completions/_utils/decode.py +0 -187
  1102. mirascope-2.0.0a2/mirascope/llm/clients/openai/completions/_utils/encode.py +0 -358
  1103. mirascope-2.0.0a2/mirascope/llm/clients/openai/completions/_utils/model_features.py +0 -81
  1104. mirascope-2.0.0a2/mirascope/llm/clients/openai/completions/clients.py +0 -833
  1105. mirascope-2.0.0a2/mirascope/llm/clients/openai/completions/model_ids.py +0 -8
  1106. mirascope-2.0.0a2/mirascope/llm/clients/openai/responses/__init__.py +0 -26
  1107. mirascope-2.0.0a2/mirascope/llm/clients/openai/responses/_utils/__init__.py +0 -13
  1108. mirascope-2.0.0a2/mirascope/llm/clients/openai/responses/_utils/decode.py +0 -194
  1109. mirascope-2.0.0a2/mirascope/llm/clients/openai/responses/_utils/encode.py +0 -333
  1110. mirascope-2.0.0a2/mirascope/llm/clients/openai/responses/_utils/model_features.py +0 -87
  1111. mirascope-2.0.0a2/mirascope/llm/clients/openai/responses/clients.py +0 -832
  1112. mirascope-2.0.0a2/mirascope/llm/clients/openai/responses/model_ids.py +0 -8
  1113. mirascope-2.0.0a2/mirascope/llm/clients/openai/shared/__init__.py +0 -7
  1114. mirascope-2.0.0a2/mirascope/llm/clients/openai/shared/_utils.py +0 -55
  1115. mirascope-2.0.0a2/mirascope/llm/clients/providers.py +0 -175
  1116. mirascope-2.0.0a2/mirascope/llm/content/__init__.py +0 -70
  1117. mirascope-2.0.0a2/mirascope/llm/context/_utils.py +0 -28
  1118. mirascope-2.0.0a2/mirascope/llm/exceptions.py +0 -105
  1119. mirascope-2.0.0a2/mirascope/llm/formatting/_utils.py +0 -74
  1120. mirascope-2.0.0a2/mirascope/llm/formatting/format.py +0 -104
  1121. mirascope-2.0.0a2/mirascope/llm/formatting/from_call_args.py +0 -30
  1122. mirascope-2.0.0a2/mirascope/llm/messages/message.py +0 -182
  1123. mirascope-2.0.0a2/mirascope/llm/models/__init__.py +0 -16
  1124. mirascope-2.0.0a2/mirascope/llm/models/models.py +0 -1243
  1125. mirascope-2.0.0a2/mirascope/llm/prompts/__init__.py +0 -33
  1126. mirascope-2.0.0a2/mirascope/llm/prompts/_utils.py +0 -60
  1127. mirascope-2.0.0a2/mirascope/llm/prompts/decorator.py +0 -286
  1128. mirascope-2.0.0a2/mirascope/llm/prompts/protocols.py +0 -99
  1129. mirascope-2.0.0a2/mirascope/llm/responses/__init__.py +0 -57
  1130. mirascope-2.0.0a2/mirascope/llm/responses/base_response.py +0 -91
  1131. mirascope-2.0.0a2/mirascope/llm/responses/base_stream_response.py +0 -697
  1132. mirascope-2.0.0a2/mirascope/llm/responses/finish_reason.py +0 -27
  1133. mirascope-2.0.0a2/mirascope/llm/responses/response.py +0 -345
  1134. mirascope-2.0.0a2/mirascope/llm/responses/root_response.py +0 -177
  1135. mirascope-2.0.0a2/mirascope/llm/responses/stream_response.py +0 -572
  1136. mirascope-2.0.0a2/mirascope/llm/tools/__init__.py +0 -40
  1137. mirascope-2.0.0a2/mirascope/llm/tools/_utils.py +0 -25
  1138. mirascope-2.0.0a2/mirascope/llm/tools/protocols.py +0 -96
  1139. mirascope-2.0.0a2/mirascope/llm/tools/tool_schema.py +0 -246
  1140. mirascope-2.0.0a2/mirascope/llm/tools/tools.py +0 -169
  1141. mirascope-2.0.0a2/pyproject.toml +0 -165
  1142. mirascope-2.0.0a2/scripts/example_generator.ts +0 -334
  1143. mirascope-2.0.0a2/scripts/update_openai_completions_model_features.py +0 -233
  1144. mirascope-2.0.0a2/scripts/update_openai_responses_model_features.py +0 -224
  1145. mirascope-2.0.0a2/tests/conftest.py +0 -22
  1146. mirascope-2.0.0a2/tests/e2e/conftest.py +0 -166
  1147. mirascope-2.0.0a2/tests/e2e/input/README.md +0 -60
  1148. mirascope-2.0.0a2/tests/e2e/input/cassettes/test_call_with_image_content/anthropic_claude_sonnet_4_0.yaml +0 -110
  1149. mirascope-2.0.0a2/tests/e2e/input/cassettes/test_call_with_image_url/anthropic_claude_sonnet_4_0.yaml +0 -110
  1150. mirascope-2.0.0a2/tests/e2e/input/cassettes/test_call_with_params/anthropic_claude_sonnet_4_0.yaml +0 -108
  1151. mirascope-2.0.0a2/tests/e2e/input/cassettes/test_call_with_text_encoded_thoughts/anthropic_claude_sonnet_4_0.yaml +0 -119
  1152. mirascope-2.0.0a2/tests/e2e/input/cassettes/test_resume_with_override/anthropic_claude_sonnet_4_0.yaml +0 -169
  1153. mirascope-2.0.0a2/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/anthropic_claude_sonnet_4_0.yaml +0 -185
  1154. mirascope-2.0.0a2/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/google_gemini_2_5_flash.yaml +0 -188
  1155. mirascope-2.0.0a2/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/anthropic_claude_sonnet_4_0.yaml +0 -114
  1156. mirascope-2.0.0a2/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/anthropic_claude_sonnet_4_0.yaml +0 -112
  1157. mirascope-2.0.0a2/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/anthropic_claude_sonnet_4_0.yaml +0 -114
  1158. mirascope-2.0.0a2/tests/e2e/input/conftest.py +0 -116
  1159. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_call_with_audio/anthropic_claude_sonnet_4_0_snapshots.py +0 -13
  1160. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_call_with_audio/google_gemini_2_5_flash_snapshots.py +0 -58
  1161. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_call_with_audio/openai_completions_gpt_4o_snapshots.py +0 -13
  1162. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_call_with_audio/openai_completions_gpt_audio_snapshots.py +0 -46
  1163. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_call_with_audio/openai_responses_gpt_4o_snapshots.py +0 -13
  1164. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_call_with_image_content/anthropic_claude_sonnet_4_0_snapshots.py +0 -55
  1165. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_call_with_image_content/google_gemini_2_5_flash_snapshots.py +0 -62
  1166. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_call_with_image_content/openai_completions_gpt_4o_snapshots.py +0 -50
  1167. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_call_with_image_content/openai_responses_gpt_4o_snapshots.py +0 -61
  1168. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_call_with_image_url/anthropic_claude_sonnet_4_0_snapshots.py +0 -54
  1169. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_call_with_image_url/google_gemini_2_5_flash_snapshots.py +0 -13
  1170. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_call_with_image_url/openai_completions_gpt_4o_snapshots.py +0 -49
  1171. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_call_with_image_url/openai_responses_gpt_4o_snapshots.py +0 -60
  1172. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_call_with_params/anthropic_claude_sonnet_4_0_snapshots.py +0 -50
  1173. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_call_with_params/google_gemini_2_5_flash_snapshots.py +0 -72
  1174. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_call_with_params/openai_completions_gpt_4o_snapshots.py +0 -48
  1175. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_call_with_params/openai_responses_gpt_4o_snapshots.py +0 -61
  1176. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_resume_with_override/anthropic_claude_sonnet_4_0_snapshots.py +0 -67
  1177. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_resume_with_override/google_gemini_2_5_flash_snapshots.py +0 -73
  1178. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_resume_with_override/openai_completions_gpt_4o_snapshots.py +0 -62
  1179. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_resume_with_override/openai_responses_gpt_4o_snapshots.py +0 -71
  1180. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_resume_with_override_context/anthropic_claude_sonnet_4_0_snapshots.py +0 -67
  1181. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_resume_with_override_context/google_gemini_2_5_flash_snapshots.py +0 -77
  1182. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_resume_with_override_context/openai_completions_gpt_4o_snapshots.py +0 -53
  1183. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_resume_with_override_context/openai_responses_gpt_4o_snapshots.py +0 -62
  1184. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/anthropic_claude_sonnet_4_0_snapshots.py +0 -138
  1185. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/google_gemini_2_5_flash_snapshots.py +0 -112
  1186. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/openai_completions_gpt_4o_snapshots.py +0 -125
  1187. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/openai_responses_gpt_4o_snapshots.py +0 -136
  1188. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/anthropic_claude_sonnet_4_0_snapshots.py +0 -77
  1189. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/google_gemini_2_5_flash_snapshots.py +0 -79
  1190. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/anthropic_claude_sonnet_4_0_snapshots.py +0 -84
  1191. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/google_gemini_2_5_flash_snapshots.py +0 -91
  1192. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/openai_completions_gpt_4o_snapshots.py +0 -79
  1193. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/openai_responses_gpt_4o_snapshots.py +0 -90
  1194. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/openai_completions_gpt_4o_snapshots.py +0 -67
  1195. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/openai_responses_gpt_4o_snapshots.py +0 -78
  1196. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/anthropic_claude_sonnet_4_0_snapshots.py +0 -14
  1197. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/google_gemini_2_5_flash_snapshots.py +0 -79
  1198. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/openai_completions_gpt_4o_snapshots.py +0 -67
  1199. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/openai_responses_gpt_4o_snapshots.py +0 -78
  1200. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/anthropic_claude_sonnet_4_0_snapshots.py +0 -77
  1201. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/google_gemini_2_5_flash_snapshots.py +0 -87
  1202. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/openai_completions_gpt_4o_snapshots.py +0 -76
  1203. mirascope-2.0.0a2/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/openai_responses_gpt_4o_snapshots.py +0 -72
  1204. mirascope-2.0.0a2/tests/e2e/input/test_call_with_audio.py +0 -43
  1205. mirascope-2.0.0a2/tests/e2e/input/test_call_with_image.py +0 -61
  1206. mirascope-2.0.0a2/tests/e2e/input/test_call_with_params.py +0 -53
  1207. mirascope-2.0.0a2/tests/e2e/input/test_call_with_text_encoded_thoughts.py +0 -92
  1208. mirascope-2.0.0a2/tests/e2e/input/test_resume_with_override.py +0 -53
  1209. mirascope-2.0.0a2/tests/e2e/input/test_resume_with_override_thinking_and_tools.py +0 -63
  1210. mirascope-2.0.0a2/tests/e2e/input/test_structured_output_with_formatting_instructions.py +0 -59
  1211. mirascope-2.0.0a2/tests/e2e/output/README.md +0 -86
  1212. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_call/anthropic_claude_sonnet_4_0/async.yaml +0 -108
  1213. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_call/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -163
  1214. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_call/anthropic_claude_sonnet_4_0/stream.yaml +0 -162
  1215. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_call/anthropic_claude_sonnet_4_0/sync.yaml +0 -108
  1216. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_call/openai_completions_gpt_4o/async_stream.yaml +0 -155
  1217. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_call/openai_completions_gpt_4o/stream.yaml +0 -140
  1218. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_call_with_thinking_true/anthropic_claude_sonnet_4_0/async.yaml +0 -302
  1219. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_call_with_thinking_true/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -476
  1220. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_call_with_thinking_true/anthropic_claude_sonnet_4_0/stream.yaml +0 -554
  1221. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_call_with_thinking_true/anthropic_claude_sonnet_4_0/sync.yaml +0 -387
  1222. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_call_with_tools/anthropic_claude_sonnet_4_0/async.yaml +0 -224
  1223. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_call_with_tools/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -399
  1224. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_call_with_tools/anthropic_claude_sonnet_4_0/stream.yaml +0 -399
  1225. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_call_with_tools/anthropic_claude_sonnet_4_0/sync.yaml +0 -225
  1226. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_call_with_tools/openai_completions_gpt_4o/async_stream.yaml +0 -379
  1227. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_call_with_tools/openai_completions_gpt_4o/stream.yaml +0 -378
  1228. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_max_tokens/anthropic_claude_sonnet_4_0/async.yaml +0 -109
  1229. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_max_tokens/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -177
  1230. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_max_tokens/anthropic_claude_sonnet_4_0/stream.yaml +0 -176
  1231. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_max_tokens/anthropic_claude_sonnet_4_0/sync.yaml +0 -109
  1232. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_max_tokens/openai_completions_gpt_4o/async_stream.yaml +0 -274
  1233. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_max_tokens/openai_completions_gpt_4o/stream.yaml +0 -278
  1234. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_refusal/anthropic_claude_sonnet_4_0/async.yaml +0 -122
  1235. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_refusal/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -1036
  1236. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_refusal/anthropic_claude_sonnet_4_0/stream.yaml +0 -1024
  1237. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_refusal/anthropic_claude_sonnet_4_0/sync.yaml +0 -121
  1238. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_refusal/openai_completions_gpt_4o/async_stream.yaml +0 -152
  1239. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_refusal/openai_completions_gpt_4o/stream.yaml +0 -144
  1240. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_0/async.yaml +0 -117
  1241. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -266
  1242. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_0/stream.yaml +0 -259
  1243. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_0/sync.yaml +0 -117
  1244. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_0/async.yaml +0 -123
  1245. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -194
  1246. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_0/stream.yaml +0 -206
  1247. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_0/sync.yaml +0 -123
  1248. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/json/openai_completions_gpt_4o/async.yaml +0 -121
  1249. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/json/openai_completions_gpt_4o/async_stream.yaml +0 -276
  1250. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/json/openai_completions_gpt_4o/stream.yaml +0 -276
  1251. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/openai_completions_gpt_4o/async_stream.yaml +0 -203
  1252. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/openai_completions_gpt_4o/stream.yaml +0 -203
  1253. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/strict/openai_completions_gpt_4o/async_stream.yaml +0 -203
  1254. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/strict/openai_completions_gpt_4o/stream.yaml +0 -203
  1255. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_0/async.yaml +0 -117
  1256. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -271
  1257. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_0/stream.yaml +0 -285
  1258. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_0/sync.yaml +0 -117
  1259. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/tool/openai_completions_gpt_4o/async.yaml +0 -117
  1260. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/tool/openai_completions_gpt_4o/async_stream.yaml +0 -204
  1261. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/tool/openai_completions_gpt_4o/stream.yaml +0 -204
  1262. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_0/async.yaml +0 -230
  1263. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -389
  1264. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_0/stream.yaml +0 -398
  1265. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_0/sync.yaml +0 -230
  1266. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_0/async.yaml +0 -239
  1267. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -378
  1268. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_0/stream.yaml +0 -387
  1269. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_0/sync.yaml +0 -239
  1270. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_completions_gpt_4o/async_stream.yaml +0 -353
  1271. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_completions_gpt_4o/stream.yaml +0 -404
  1272. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_completions_gpt_4o/async_stream.yaml +0 -339
  1273. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_completions_gpt_4o/stream.yaml +0 -339
  1274. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_completions_gpt_4o/async_stream.yaml +0 -339
  1275. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_completions_gpt_4o/stream.yaml +0 -339
  1276. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_0/async.yaml +0 -230
  1277. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -424
  1278. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_0/stream.yaml +0 -431
  1279. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_0/sync.yaml +0 -230
  1280. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_completions_gpt_4o/async_stream.yaml +0 -345
  1281. mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_completions_gpt_4o/stream.yaml +0 -345
  1282. mirascope-2.0.0a2/tests/e2e/output/conftest.py +0 -157
  1283. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_call/anthropic_claude_sonnet_4_0_snapshots.py +0 -116
  1284. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_call/google_gemini_2_5_flash_snapshots.py +0 -242
  1285. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_call/openai_completions_gpt_4o_snapshots.py +0 -100
  1286. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_call/openai_responses_gpt_4o_snapshots.py +0 -152
  1287. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_call_with_thinking_true/anthropic_claude_sonnet_4_0_snapshots.py +0 -704
  1288. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_call_with_thinking_true/google_gemini_2_5_flash_snapshots.py +0 -783
  1289. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_call_with_thinking_true/openai_responses_gpt_5_snapshots.py +0 -683
  1290. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_call_with_tools/anthropic_claude_sonnet_4_0_snapshots.py +0 -515
  1291. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_call_with_tools/google_gemini_2_5_flash_snapshots.py +0 -613
  1292. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_call_with_tools/openai_completions_gpt_4o_snapshots.py +0 -423
  1293. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_call_with_tools/openai_responses_gpt_4o_snapshots.py +0 -515
  1294. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_max_tokens/anthropic_claude_sonnet_4_0_snapshots.py +0 -239
  1295. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_max_tokens/google_gemini_2_5_flash_snapshots.py +0 -179
  1296. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_max_tokens/openai_completions_gpt_4o_snapshots.py +0 -189
  1297. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_max_tokens/openai_responses_gpt_4o_snapshots.py +0 -214
  1298. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_refusal/anthropic_claude_sonnet_4_0_snapshots.py +0 -322
  1299. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_refusal/google_gemini_2_5_flash_snapshots.py +0 -280
  1300. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_refusal/openai_completions_gpt_4o_snapshots.py +0 -187
  1301. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_refusal/openai_responses_gpt_4o_snapshots.py +0 -225
  1302. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_structured_output/anthropic_claude_sonnet_4_0_snapshots.py +0 -349
  1303. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_structured_output/google_gemini_2_5_flash_snapshots.py +0 -368
  1304. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_structured_output/json/anthropic_claude_sonnet_4_0_snapshots.py +0 -771
  1305. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_structured_output/json/google_gemini_2_5_flash_snapshots.py +0 -821
  1306. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_structured_output/json/openai_completions_gpt_4o_snapshots.py +0 -719
  1307. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_structured_output/json/openai_responses_gpt_4o_snapshots.py +0 -789
  1308. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_structured_output/openai_completions_gpt_4o_snapshots.py +0 -272
  1309. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_structured_output/openai_responses_gpt_4o_snapshots.py +0 -324
  1310. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_structured_output/strict/anthropic_claude_sonnet_4_0_snapshots.py +0 -50
  1311. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_structured_output/strict/google_gemini_2_5_flash_snapshots.py +0 -386
  1312. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_structured_output/strict/openai_completions_gpt_4o_snapshots.py +0 -272
  1313. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_structured_output/strict/openai_responses_gpt_4o_snapshots.py +0 -324
  1314. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_structured_output/tool/anthropic_claude_sonnet_4_0_snapshots.py +0 -349
  1315. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_structured_output/tool/google_gemini_2_5_flash_snapshots.py +0 -389
  1316. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_structured_output/tool/openai_completions_gpt_4o_snapshots.py +0 -307
  1317. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_structured_output/tool/openai_responses_gpt_4o_snapshots.py +0 -317
  1318. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_structured_output_with_tools/anthropic_claude_sonnet_4_0_snapshots.py +0 -499
  1319. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_structured_output_with_tools/google_gemini_2_5_flash_snapshots.py +0 -579
  1320. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_0_snapshots.py +0 -803
  1321. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_structured_output_with_tools/json/google_gemini_2_5_flash_snapshots.py +0 -46
  1322. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_structured_output_with_tools/json/openai_completions_gpt_4o_snapshots.py +0 -694
  1323. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_structured_output_with_tools/json/openai_responses_gpt_4o_snapshots.py +0 -791
  1324. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_structured_output_with_tools/openai_completions_gpt_4o_snapshots.py +0 -412
  1325. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_structured_output_with_tools/openai_responses_gpt_4o_snapshots.py +0 -474
  1326. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/anthropic_claude_sonnet_4_0_snapshots.py +0 -50
  1327. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/google_gemini_2_5_flash_snapshots.py +0 -46
  1328. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/openai_completions_gpt_4o_snapshots.py +0 -412
  1329. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/openai_responses_gpt_4o_snapshots.py +0 -508
  1330. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_0_snapshots.py +0 -499
  1331. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/google_gemini_2_5_flash_snapshots.py +0 -579
  1332. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/openai_completions_gpt_4o_snapshots.py +0 -451
  1333. mirascope-2.0.0a2/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/openai_responses_gpt_4o_snapshots.py +0 -471
  1334. mirascope-2.0.0a2/tests/e2e/output/test_call.py +0 -188
  1335. mirascope-2.0.0a2/tests/e2e/output/test_call_with_thinking_true.py +0 -112
  1336. mirascope-2.0.0a2/tests/e2e/output/test_call_with_tools.py +0 -393
  1337. mirascope-2.0.0a2/tests/e2e/output/test_max_tokens.py +0 -94
  1338. mirascope-2.0.0a2/tests/e2e/output/test_refusal.py +0 -118
  1339. mirascope-2.0.0a2/tests/e2e/output/test_structured_output.py +0 -326
  1340. mirascope-2.0.0a2/tests/e2e/output/test_structured_output_with_tools.py +0 -434
  1341. mirascope-2.0.0a2/tests/llm/calls/cassettes/TestCall.test_call_decorator_e2e_model_override.yaml +0 -274
  1342. mirascope-2.0.0a2/tests/llm/calls/cassettes/TestContextCall.test_context_call_decorator_e2e_model_override.yaml +0 -273
  1343. mirascope-2.0.0a2/tests/llm/calls/test_decorator.py +0 -395
  1344. mirascope-2.0.0a2/tests/llm/clients/anthropic/test_client.py +0 -51
  1345. mirascope-2.0.0a2/tests/llm/clients/base/test_params.py +0 -55
  1346. mirascope-2.0.0a2/tests/llm/clients/base/test_utils.py +0 -150
  1347. mirascope-2.0.0a2/tests/llm/clients/google/test_client.py +0 -71
  1348. mirascope-2.0.0a2/tests/llm/clients/openai/test_completions_client.py +0 -160
  1349. mirascope-2.0.0a2/tests/llm/clients/openai/test_responses_client.py +0 -108
  1350. mirascope-2.0.0a2/tests/llm/clients/test_providers.py +0 -53
  1351. mirascope-2.0.0a2/tests/llm/content/test_audio_content.py +0 -265
  1352. mirascope-2.0.0a2/tests/llm/content/test_image_content.py +0 -290
  1353. mirascope-2.0.0a2/tests/llm/messages/test_messages.py +0 -163
  1354. mirascope-2.0.0a2/tests/llm/models/test_model.py +0 -46
  1355. mirascope-2.0.0a2/tests/llm/prompts/test_decorator.py +0 -285
  1356. mirascope-2.0.0a2/tests/llm/responses/test_response.py +0 -765
  1357. mirascope-2.0.0a2/tests/llm/responses/test_stream_response.py +0 -1805
  1358. mirascope-2.0.0a2/tests/llm/responses/test_utils.py +0 -176
  1359. mirascope-2.0.0a2/tests/llm/tools/test_decorator.py +0 -415
  1360. mirascope-2.0.0a2/tests/llm/tools/test_tool_schema.py +0 -416
  1361. mirascope-2.0.0a2/tests/llm/tools/test_toolkit.py +0 -190
  1362. mirascope-2.0.0a2/tests/utils.py +0 -181
  1363. mirascope-2.0.0a2/typechecking/agent.py +0 -85
  1364. mirascope-2.0.0a2/typechecking/call.py +0 -172
  1365. mirascope-2.0.0a2/typechecking/utils.py +0 -87
  1366. mirascope-2.0.0a2/uv.lock +0 -2032
  1367. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/.env.example +0 -0
  1368. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/LICENSE +0 -0
  1369. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/lint-staged.ts +0 -0
  1370. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/mirascope/llm/calls/__init__.py +0 -0
  1371. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/mirascope/llm/content/audio.py +0 -0
  1372. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/mirascope/llm/content/document.py +0 -0
  1373. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/mirascope/llm/content/image.py +0 -0
  1374. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/mirascope/llm/content/text.py +0 -0
  1375. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/mirascope/llm/content/thought.py +0 -0
  1376. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/mirascope/llm/content/tool_call.py +0 -0
  1377. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/mirascope/llm/content/tool_output.py +0 -0
  1378. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/mirascope/llm/context/__init__.py +0 -0
  1379. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/mirascope/llm/context/context.py +0 -0
  1380. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/mirascope/llm/formatting/__init__.py +0 -0
  1381. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/mirascope/llm/formatting/partial.py +0 -0
  1382. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/mirascope/llm/formatting/types.py +0 -0
  1383. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/mirascope/llm/mcp/__init__.py +0 -0
  1384. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/mirascope/llm/mcp/client.py +0 -0
  1385. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/mirascope/llm/messages/__init__.py +0 -0
  1386. {mirascope-2.0.0a2/mirascope/llm/clients → mirascope-2.0.0a4/mirascope/llm/providers}/base/kwargs.py +0 -0
  1387. {mirascope-2.0.0a2/mirascope/llm/clients → mirascope-2.0.0a4/mirascope/llm/providers}/base/params.py +0 -0
  1388. {mirascope-2.0.0a2/mirascope/llm/clients/anthropic → mirascope-2.0.0a4/mirascope/llm/providers/google}/_utils/__init__.py +0 -0
  1389. {mirascope-2.0.0a2/mirascope/llm/clients → mirascope-2.0.0a4/mirascope/llm/providers}/google/message.py +0 -0
  1390. {mirascope-2.0.0a2/mirascope/llm/clients/google → mirascope-2.0.0a4/mirascope/llm/providers/openai/responses}/_utils/__init__.py +0 -0
  1391. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/mirascope/llm/responses/_utils.py +0 -0
  1392. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/mirascope/llm/responses/streams.py +0 -0
  1393. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/mirascope/llm/tools/decorator.py +0 -0
  1394. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/mirascope/llm/tools/toolkit.py +0 -0
  1395. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/mirascope/llm/types/__init__.py +0 -0
  1396. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/mirascope/llm/types/dataclass.py +0 -0
  1397. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/mirascope/llm/types/jsonable.py +0 -0
  1398. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/mirascope/llm/types/type_vars.py +0 -0
  1399. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/scripts/regenerate_examples.ts +0 -0
  1400. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/README.md +0 -0
  1401. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/__init__.py +0 -0
  1402. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/assets/audio/tagline.mp3 +0 -0
  1403. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/assets/images/wikipedia.png +0 -0
  1404. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/input/cassettes/test_call_with_audio/google_gemini_2_5_flash.yaml +0 -0
  1405. /mirascope-2.0.0a2/tests/e2e/input/cassettes/test_call_with_audio/openai_completions_gpt_audio.yaml → /mirascope-2.0.0a4/tests/e2e/input/cassettes/test_call_with_audio/openai_gpt_audio.yaml +0 -0
  1406. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/input/cassettes/test_call_with_image_content/google_gemini_2_5_flash.yaml +0 -0
  1407. /mirascope-2.0.0a2/tests/e2e/input/cassettes/test_call_with_image_content/openai_completions_gpt_4o.yaml → /mirascope-2.0.0a4/tests/e2e/input/cassettes/test_call_with_image_content/openai_gpt_4o_completions.yaml +0 -0
  1408. /mirascope-2.0.0a2/tests/e2e/input/cassettes/test_call_with_image_content/openai_responses_gpt_4o.yaml → /mirascope-2.0.0a4/tests/e2e/input/cassettes/test_call_with_image_content/openai_gpt_4o_responses.yaml +0 -0
  1409. /mirascope-2.0.0a2/tests/e2e/input/cassettes/test_call_with_image_url/openai_completions_gpt_4o.yaml → /mirascope-2.0.0a4/tests/e2e/input/cassettes/test_call_with_image_url/openai_gpt_4o_completions.yaml +0 -0
  1410. /mirascope-2.0.0a2/tests/e2e/input/cassettes/test_call_with_image_url/openai_responses_gpt_4o.yaml → /mirascope-2.0.0a4/tests/e2e/input/cassettes/test_call_with_image_url/openai_gpt_4o_responses.yaml +0 -0
  1411. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/input/cassettes/test_call_with_params/google_gemini_2_5_flash.yaml +0 -0
  1412. /mirascope-2.0.0a2/tests/e2e/input/cassettes/test_call_with_params/openai_completions_gpt_4o.yaml → /mirascope-2.0.0a4/tests/e2e/input/cassettes/test_call_with_params/openai_gpt_4o_completions.yaml +0 -0
  1413. /mirascope-2.0.0a2/tests/e2e/input/cassettes/test_call_with_params/openai_responses_gpt_4o.yaml → /mirascope-2.0.0a4/tests/e2e/input/cassettes/test_call_with_params/openai_gpt_4o_responses.yaml +0 -0
  1414. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/input/cassettes/test_call_with_text_encoded_thoughts/google_gemini_2_5_flash.yaml +0 -0
  1415. /mirascope-2.0.0a2/tests/e2e/input/cassettes/test_call_with_text_encoded_thoughts/openai_completions_gpt_4o.yaml → /mirascope-2.0.0a4/tests/e2e/input/cassettes/test_call_with_text_encoded_thoughts/openai_gpt_4o_completions.yaml +0 -0
  1416. /mirascope-2.0.0a2/tests/e2e/input/cassettes/test_call_with_text_encoded_thoughts/openai_responses_gpt_4o.yaml → /mirascope-2.0.0a4/tests/e2e/input/cassettes/test_call_with_text_encoded_thoughts/openai_gpt_4o_responses.yaml +0 -0
  1417. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/input/cassettes/test_resume_with_override/google_gemini_2_5_flash.yaml +0 -0
  1418. /mirascope-2.0.0a2/tests/e2e/input/cassettes/test_resume_with_override/openai_completions_gpt_4o.yaml → /mirascope-2.0.0a4/tests/e2e/input/cassettes/test_resume_with_override/openai_gpt_4o_completions.yaml +0 -0
  1419. /mirascope-2.0.0a2/tests/e2e/input/cassettes/test_resume_with_override/openai_responses_gpt_4o.yaml → /mirascope-2.0.0a4/tests/e2e/input/cassettes/test_resume_with_override/openai_gpt_4o_responses.yaml +0 -0
  1420. /mirascope-2.0.0a2/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/openai_completions_gpt_4o.yaml → /mirascope-2.0.0a4/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/openai_gpt_4o_completions.yaml +0 -0
  1421. /mirascope-2.0.0a2/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/openai_responses_gpt_4o.yaml → /mirascope-2.0.0a4/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/openai_gpt_4o_responses.yaml +0 -0
  1422. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/google_gemini_2_5_flash.yaml +0 -0
  1423. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/google_gemini_2_5_flash.yaml +0 -0
  1424. /mirascope-2.0.0a2/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/openai_completions_gpt_4o.yaml → /mirascope-2.0.0a4/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/openai_gpt_4o_completions.yaml +0 -0
  1425. /mirascope-2.0.0a2/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/openai_responses_gpt_4o.yaml → /mirascope-2.0.0a4/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/openai_gpt_4o_responses.yaml +0 -0
  1426. /mirascope-2.0.0a2/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/openai_completions_gpt_4o.yaml → /mirascope-2.0.0a4/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/openai_gpt_4o_completions.yaml +0 -0
  1427. /mirascope-2.0.0a2/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/openai_responses_gpt_4o.yaml → /mirascope-2.0.0a4/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/openai_gpt_4o_responses.yaml +0 -0
  1428. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/strict/google_gemini_2_5_flash.yaml +0 -0
  1429. /mirascope-2.0.0a2/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/strict/openai_completions_gpt_4o.yaml → /mirascope-2.0.0a4/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/strict/openai_gpt_4o_completions.yaml +0 -0
  1430. /mirascope-2.0.0a2/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/strict/openai_responses_gpt_4o.yaml → /mirascope-2.0.0a4/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/strict/openai_gpt_4o_responses.yaml +0 -0
  1431. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/google_gemini_2_5_flash.yaml +0 -0
  1432. /mirascope-2.0.0a2/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/openai_completions_gpt_4o.yaml → /mirascope-2.0.0a4/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/openai_gpt_4o_completions.yaml +0 -0
  1433. /mirascope-2.0.0a2/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/openai_responses_gpt_4o.yaml → /mirascope-2.0.0a4/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/openai_gpt_4o_responses.yaml +0 -0
  1434. /mirascope-2.0.0a2/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/anthropic_claude_sonnet_4_0_snapshots.py → /mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/anthropic_beta_claude_sonnet_4_0_snapshots.py +0 -0
  1435. /mirascope-2.0.0a2/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/google_gemini_2_5_flash_snapshots.py → /mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
  1436. /mirascope-2.0.0a2/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/openai_responses_gpt_4o_snapshots.py → /mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/google_gemini_2_5_flash_snapshots.py +0 -0
  1437. /mirascope-2.0.0a2/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/openai_completions_gpt_4o_snapshots.py → /mirascope-2.0.0a4/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/openai_gpt_4o_completions_snapshots.py +0 -0
  1438. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_call/google_gemini_2_5_flash/async.yaml +0 -0
  1439. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_call/google_gemini_2_5_flash/async_stream.yaml +0 -0
  1440. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_call/google_gemini_2_5_flash/stream.yaml +0 -0
  1441. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_call/google_gemini_2_5_flash/sync.yaml +0 -0
  1442. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_call/openai_completions_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call/openai_gpt_4o_completions}/async.yaml +0 -0
  1443. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_call/openai_completions_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call/openai_gpt_4o_completions}/sync.yaml +0 -0
  1444. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_call/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call/openai_gpt_4o_responses}/async.yaml +0 -0
  1445. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_call/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call/openai_gpt_4o_responses}/async_stream.yaml +0 -0
  1446. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_call/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call/openai_gpt_4o_responses}/stream.yaml +0 -0
  1447. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_call/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call/openai_gpt_4o_responses}/sync.yaml +0 -0
  1448. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_call_with_thinking_true/google_gemini_2_5_flash/async.yaml +0 -0
  1449. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_call_with_thinking_true/google_gemini_2_5_flash/async_stream.yaml +0 -0
  1450. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_call_with_thinking_true/google_gemini_2_5_flash/stream.yaml +0 -0
  1451. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_call_with_thinking_true/google_gemini_2_5_flash/sync.yaml +0 -0
  1452. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_call_with_thinking_true/openai_responses_gpt_5 → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call_with_thinking_true/openai_gpt_5_responses}/async.yaml +0 -0
  1453. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_call_with_thinking_true/openai_responses_gpt_5 → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call_with_thinking_true/openai_gpt_5_responses}/async_stream.yaml +0 -0
  1454. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_call_with_thinking_true/openai_responses_gpt_5 → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call_with_thinking_true/openai_gpt_5_responses}/stream.yaml +0 -0
  1455. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_call_with_thinking_true/openai_responses_gpt_5 → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call_with_thinking_true/openai_gpt_5_responses}/sync.yaml +0 -0
  1456. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_call_with_tools/google_gemini_2_5_flash/async.yaml +0 -0
  1457. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_call_with_tools/google_gemini_2_5_flash/async_stream.yaml +0 -0
  1458. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_call_with_tools/google_gemini_2_5_flash/stream.yaml +0 -0
  1459. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_call_with_tools/google_gemini_2_5_flash/sync.yaml +0 -0
  1460. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_call_with_tools/openai_completions_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call_with_tools/openai_gpt_4o_completions}/async.yaml +0 -0
  1461. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_call_with_tools/openai_completions_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call_with_tools/openai_gpt_4o_completions}/sync.yaml +0 -0
  1462. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_call_with_tools/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call_with_tools/openai_gpt_4o_responses}/async.yaml +0 -0
  1463. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_call_with_tools/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call_with_tools/openai_gpt_4o_responses}/async_stream.yaml +0 -0
  1464. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_call_with_tools/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call_with_tools/openai_gpt_4o_responses}/stream.yaml +0 -0
  1465. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_call_with_tools/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_call_with_tools/openai_gpt_4o_responses}/sync.yaml +0 -0
  1466. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_max_tokens/google_gemini_2_5_flash/async.yaml +0 -0
  1467. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_max_tokens/google_gemini_2_5_flash/async_stream.yaml +0 -0
  1468. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_max_tokens/google_gemini_2_5_flash/stream.yaml +0 -0
  1469. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_max_tokens/google_gemini_2_5_flash/sync.yaml +0 -0
  1470. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_max_tokens/openai_completions_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_max_tokens/openai_gpt_4o_completions}/async.yaml +0 -0
  1471. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_max_tokens/openai_completions_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_max_tokens/openai_gpt_4o_completions}/sync.yaml +0 -0
  1472. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_max_tokens/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_max_tokens/openai_gpt_4o_responses}/async.yaml +0 -0
  1473. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_max_tokens/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_max_tokens/openai_gpt_4o_responses}/async_stream.yaml +0 -0
  1474. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_max_tokens/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_max_tokens/openai_gpt_4o_responses}/stream.yaml +0 -0
  1475. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_max_tokens/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_max_tokens/openai_gpt_4o_responses}/sync.yaml +0 -0
  1476. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_refusal/google_gemini_2_5_flash/async.yaml +0 -0
  1477. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_refusal/google_gemini_2_5_flash/async_stream.yaml +0 -0
  1478. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_refusal/google_gemini_2_5_flash/stream.yaml +0 -0
  1479. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_refusal/google_gemini_2_5_flash/sync.yaml +0 -0
  1480. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_refusal/openai_completions_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_refusal/openai_gpt_4o_completions}/async.yaml +0 -0
  1481. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_refusal/openai_completions_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_refusal/openai_gpt_4o_completions}/sync.yaml +0 -0
  1482. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_refusal/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_refusal/openai_gpt_4o_responses}/async.yaml +0 -0
  1483. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_refusal/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_refusal/openai_gpt_4o_responses}/async_stream.yaml +0 -0
  1484. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_refusal/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_refusal/openai_gpt_4o_responses}/stream.yaml +0 -0
  1485. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_refusal/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_refusal/openai_gpt_4o_responses}/sync.yaml +0 -0
  1486. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/async.yaml +0 -0
  1487. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/async_stream.yaml +0 -0
  1488. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/stream.yaml +0 -0
  1489. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/sync.yaml +0 -0
  1490. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/async.yaml +0 -0
  1491. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/async_stream.yaml +0 -0
  1492. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/stream.yaml +0 -0
  1493. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/sync.yaml +0 -0
  1494. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/json/openai_completions_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/json/openai_gpt_4o_completions}/sync.yaml +0 -0
  1495. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/json/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/json/openai_gpt_4o_responses}/async.yaml +0 -0
  1496. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/json/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/json/openai_gpt_4o_responses}/async_stream.yaml +0 -0
  1497. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/json/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/json/openai_gpt_4o_responses}/stream.yaml +0 -0
  1498. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/json/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/json/openai_gpt_4o_responses}/sync.yaml +0 -0
  1499. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/openai_completions_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/openai_gpt_4o_completions}/async.yaml +0 -0
  1500. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/openai_completions_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/openai_gpt_4o_completions}/sync.yaml +0 -0
  1501. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/openai_gpt_4o_responses}/async.yaml +0 -0
  1502. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/openai_gpt_4o_responses}/async_stream.yaml +0 -0
  1503. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/openai_gpt_4o_responses}/stream.yaml +0 -0
  1504. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/openai_gpt_4o_responses}/sync.yaml +0 -0
  1505. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/async.yaml +0 -0
  1506. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/async_stream.yaml +0 -0
  1507. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/stream.yaml +0 -0
  1508. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/sync.yaml +0 -0
  1509. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/strict/openai_completions_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/strict/openai_gpt_4o_completions}/async.yaml +0 -0
  1510. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/strict/openai_completions_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/strict/openai_gpt_4o_completions}/sync.yaml +0 -0
  1511. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/strict/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/strict/openai_gpt_4o_responses}/async.yaml +0 -0
  1512. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/strict/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/strict/openai_gpt_4o_responses}/async_stream.yaml +0 -0
  1513. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/strict/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/strict/openai_gpt_4o_responses}/stream.yaml +0 -0
  1514. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/strict/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/strict/openai_gpt_4o_responses}/sync.yaml +0 -0
  1515. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/async.yaml +0 -0
  1516. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/async_stream.yaml +0 -0
  1517. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/stream.yaml +0 -0
  1518. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/sync.yaml +0 -0
  1519. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/tool/openai_completions_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/tool/openai_gpt_4o_completions}/sync.yaml +0 -0
  1520. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/tool/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/tool/openai_gpt_4o_responses}/async.yaml +0 -0
  1521. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/tool/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/tool/openai_gpt_4o_responses}/async_stream.yaml +0 -0
  1522. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/tool/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/tool/openai_gpt_4o_responses}/stream.yaml +0 -0
  1523. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output/tool/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output/tool/openai_gpt_4o_responses}/sync.yaml +0 -0
  1524. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/async.yaml +0 -0
  1525. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/async_stream.yaml +0 -0
  1526. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/stream.yaml +0 -0
  1527. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/sync.yaml +0 -0
  1528. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_completions_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_gpt_4o_completions}/async.yaml +0 -0
  1529. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_completions_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_gpt_4o_completions}/sync.yaml +0 -0
  1530. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_gpt_4o_responses}/async.yaml +0 -0
  1531. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_gpt_4o_responses}/async_stream.yaml +0 -0
  1532. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_gpt_4o_responses}/stream.yaml +0 -0
  1533. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_gpt_4o_responses}/sync.yaml +0 -0
  1534. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_completions_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_gpt_4o_completions}/async.yaml +0 -0
  1535. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_completions_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_gpt_4o_completions}/sync.yaml +0 -0
  1536. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_gpt_4o_responses}/async.yaml +0 -0
  1537. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_gpt_4o_responses}/async_stream.yaml +0 -0
  1538. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_gpt_4o_responses}/stream.yaml +0 -0
  1539. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_gpt_4o_responses}/sync.yaml +0 -0
  1540. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_completions_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_gpt_4o_completions}/async.yaml +0 -0
  1541. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_completions_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_gpt_4o_completions}/sync.yaml +0 -0
  1542. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_gpt_4o_responses}/async.yaml +0 -0
  1543. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_gpt_4o_responses}/async_stream.yaml +0 -0
  1544. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_gpt_4o_responses}/stream.yaml +0 -0
  1545. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_gpt_4o_responses}/sync.yaml +0 -0
  1546. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/async.yaml +0 -0
  1547. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/async_stream.yaml +0 -0
  1548. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/stream.yaml +0 -0
  1549. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/sync.yaml +0 -0
  1550. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_completions_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_gpt_4o_completions}/async.yaml +0 -0
  1551. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_completions_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_gpt_4o_completions}/sync.yaml +0 -0
  1552. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_gpt_4o_responses}/async.yaml +0 -0
  1553. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_gpt_4o_responses}/async_stream.yaml +0 -0
  1554. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_gpt_4o_responses}/stream.yaml +0 -0
  1555. {mirascope-2.0.0a2/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_responses_gpt_4o → mirascope-2.0.0a4/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_gpt_4o_responses}/sync.yaml +0 -0
  1556. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/llm/__init__.py +0 -0
  1557. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/llm/context/test_context.py +0 -0
  1558. {mirascope-2.0.0a2/tests/llm/clients → mirascope-2.0.0a4/tests/llm/formatting}/__init__.py +0 -0
  1559. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/llm/formatting/test_format.py +0 -0
  1560. {mirascope-2.0.0a2/tests/llm/clients/anthropic → mirascope-2.0.0a4/tests/llm/prompts}/__init__.py +0 -0
  1561. {mirascope-2.0.0a2/tests/llm/clients/base → mirascope-2.0.0a4/tests/llm/providers}/__init__.py +0 -0
  1562. {mirascope-2.0.0a2/tests/llm/clients/google → mirascope-2.0.0a4/tests/llm/providers/base}/__init__.py +0 -0
  1563. {mirascope-2.0.0a2/tests/llm/clients/openai → mirascope-2.0.0a4/tests/llm/providers/google}/__init__.py +0 -0
  1564. {mirascope-2.0.0a2/tests/llm/formatting → mirascope-2.0.0a4/tests/llm/providers/mlx}/__init__.py +0 -0
  1565. {mirascope-2.0.0a2/tests/llm/prompts → mirascope-2.0.0a4/tests/llm/responses}/__init__.py +0 -0
  1566. {mirascope-2.0.0a2/tests/llm/responses → mirascope-2.0.0a4/tests/llm/tools}/__init__.py +0 -0
  1567. {mirascope-2.0.0a2/tests/llm/tools → mirascope-2.0.0a4/tests/ops}/__init__.py +0 -0
  1568. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/tests/test_imports.py +0 -0
  1569. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/typechecking/context.py +0 -0
  1570. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/typechecking/format.py +0 -0
  1571. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/typechecking/streams.py +0 -0
  1572. {mirascope-2.0.0a2 → mirascope-2.0.0a4}/typechecking/tool.py +0 -0
@@ -0,0 +1,49 @@
1
+ [run]
2
+ # Exclude modules from coverage tracking until they have full test coverage
3
+ # Remove items from this list as we add comprehensive tests for each module
4
+ # Goal: When this exclude list is empty, we have 100% coverage across the entire codebase
5
+ omit =
6
+ # LLM modules to exclude (remove as we add full test coverage)
7
+ mirascope/llm/mcp/__init__.py
8
+ mirascope/llm/mcp/client.py
9
+ mirascope/llm/formatting/partial.py
10
+
11
+ # NOTE: MLX modules are excluded because the `mlx` package is macOS-only (Apple Silicon).
12
+ # CI runs on Linux where `mlx` is not available, so these modules cannot be tested there.
13
+ # TODO: Add a macOS CI job to run MLX tests and restore coverage for these modules.
14
+ mirascope/llm/providers/mlx/*
15
+
16
+ # Exclude Fern generated code
17
+ mirascope/api/_generated/*
18
+
19
+ # Exclude other top-level modules for now
20
+ mirascope/graphs/*
21
+
22
+ # Exclude examples, tests, and scripts from coverage
23
+ examples/*
24
+ tests/*
25
+ scripts/*
26
+
27
+ [report]
28
+ # Show lines that weren't covered
29
+ show_missing = True
30
+
31
+ # Fail if coverage is below 100% for tracked files
32
+ fail_under = 100
33
+
34
+ # Exclude patterns from coverage analysis
35
+ exclude_also =
36
+ pragma: no cover
37
+ def __repr__
38
+ if self.debug:
39
+ if settings.DEBUG
40
+ raise AssertionError
41
+ raise NotImplementedError
42
+ if __name__ == .__main__.:
43
+ class .*\bProtocol\):
44
+ @(abc\.)?abstractmethod
45
+ if TYPE_CHECKING:
46
+ @overload
47
+
48
+ [html]
49
+ directory = htmlcov
@@ -0,0 +1,179 @@
1
+ # pyenv
2
+ .python-version
3
+ .python-versions
4
+
5
+ # Claude
6
+ CLAUDE.md
7
+
8
+ # Byte-compiled / optimized / DLL files
9
+ __pycache__/
10
+ *.py[cod]
11
+ *$py.class
12
+
13
+ # Mac
14
+ .DS_Store
15
+
16
+ # C extensions
17
+ *.so
18
+
19
+ # Distribution / packaging
20
+ .Python
21
+ build/
22
+ develop-eggs/
23
+ dist/
24
+ downloads/
25
+ eggs/
26
+ .eggs/
27
+ lib/
28
+ lib64/
29
+ parts/
30
+ sdist/
31
+ var/
32
+ wheels/
33
+ share/python-wheels/
34
+ *.egg-info/
35
+ .installed.cfg
36
+ *.egg
37
+ MANIFEST
38
+
39
+ # PyInstaller
40
+ # Usually these files are written by a python script from a template
41
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
42
+ *.manifest
43
+ *.spec
44
+
45
+ # Installer logs
46
+ pip-log.txt
47
+ pip-delete-this-directory.txt
48
+
49
+ # Unit test / coverage reports
50
+ htmlcov/
51
+ .tox/
52
+ .nox/
53
+ .coverage
54
+ .coverage.*
55
+ .cache
56
+ nosetests.xml
57
+ coverage.xml
58
+ *.cover
59
+ *.py,cover
60
+ .hypothesis/
61
+ .pytest_cache/
62
+ cover/
63
+
64
+ # Translations
65
+ *.mo
66
+ *.pot
67
+
68
+ # Django stuff:
69
+ *.log
70
+ local_settings.py
71
+ db.sqlite3
72
+ db.sqlite3-journal
73
+
74
+ # Flask stuff:
75
+ instance/
76
+ .webassets-cache
77
+
78
+ # Scrapy stuff:
79
+ .scrapy
80
+
81
+ # Sphinx documentation
82
+ docs/_build/
83
+
84
+ # PyBuilder
85
+ .pybuilder/
86
+ target/
87
+
88
+ # Jupyter Notebook
89
+ .ipynb_checkpoints
90
+
91
+ # IPython
92
+ profile_default/
93
+ ipython_config.py
94
+
95
+ # pyenv
96
+ # For a library or package, you might want to ignore these files since the code is
97
+ # intended to run in multiple environments; otherwise, check them in:
98
+ # .python-version
99
+
100
+ # pipenv
101
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
102
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
103
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
104
+ # install all needed dependencies.
105
+ #Pipfile.lock
106
+
107
+ # poetry
108
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
109
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
110
+ # commonly ignored for libraries.
111
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
112
+ #poetry.lock
113
+
114
+ # pdm
115
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
116
+ #pdm.lock
117
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
118
+ # in version control.
119
+ # https://pdm.fming.dev/#use-with-ide
120
+ .pdm.toml
121
+
122
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
123
+ __pypackages__/
124
+
125
+ # Celery stuff
126
+ celerybeat-schedule
127
+ celerybeat.pid
128
+
129
+ # SageMath parsed files
130
+ *.sage.py
131
+
132
+ # Environments
133
+ .env
134
+ .venv
135
+ env/
136
+ venv/
137
+ ENV/
138
+ env.bak/
139
+ venv.bak/
140
+
141
+ # Spyder project settings
142
+ .spyderproject
143
+ .spyproject
144
+
145
+ # Rope project settings
146
+ .ropeproject
147
+
148
+ # mkdocs documentation
149
+ /site
150
+ docs/**/*.html.md
151
+ docs/llms.txt
152
+ build/snippets/
153
+ mkdocs.dev.yml
154
+
155
+ # mypy
156
+ .mypy_cache/
157
+ .dmypy.json
158
+ dmypy.json
159
+
160
+ # Pyre type checker
161
+ .pyre/
162
+
163
+ # pytype static type analyzer
164
+ .pytype/
165
+
166
+ # Cython debug symbols
167
+ cython_debug/
168
+
169
+ # PyCharm
170
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
171
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
172
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
173
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
174
+ #.idea/
175
+
176
+ #sqlite
177
+ database.db
178
+
179
+ node_modules
@@ -0,0 +1,202 @@
1
+ Metadata-Version: 2.4
2
+ Name: mirascope
3
+ Version: 2.0.0a4
4
+ Summary: LLM abstractions that aren't obstructions
5
+ Project-URL: Homepage, https://mirascope.com
6
+ Project-URL: Documentation, https://mirascope.com/docs/mirascope/v2
7
+ Project-URL: Repository, https://github.com/Mirascope/mirascope/tree/v2
8
+ Project-URL: Issues, https://github.com/Mirascope/mirascope/issues
9
+ Project-URL: Changelog, https://github.com/Mirascope/mirascope/releases
10
+ Author-email: William Bakst <william@mirascope.com>, Dandelion Mané <dandelion@mirascope.com>
11
+ Maintainer-email: William Bakst <william@mirascope.com>, Dandelion Mané <dandelion@mirascope.com>
12
+ License: MIT License
13
+
14
+ Copyright (c) 2023 Mirascope, Inc.
15
+
16
+ Permission is hereby granted, free of charge, to any person obtaining a copy
17
+ of this software and associated documentation files (the "Software"), to deal
18
+ in the Software without restriction, including without limitation the rights
19
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
20
+ copies of the Software, and to permit persons to whom the Software is
21
+ furnished to do so, subject to the following conditions:
22
+
23
+ The above copyright notice and this permission notice shall be included in all
24
+ copies or substantial portions of the Software.
25
+
26
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
27
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
28
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
29
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
30
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
31
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
32
+ SOFTWARE.
33
+ License-File: LICENSE
34
+ Keywords: agents,artificial intelligence,developer tools,llm,llm tools,prompt engineering
35
+ Classifier: Development Status :: 3 - Alpha
36
+ Classifier: Intended Audience :: Developers
37
+ Classifier: License :: OSI Approved :: MIT License
38
+ Classifier: Programming Language :: Python :: 3
39
+ Classifier: Programming Language :: Python :: 3.10
40
+ Classifier: Programming Language :: Python :: 3.11
41
+ Classifier: Programming Language :: Python :: 3.12
42
+ Classifier: Programming Language :: Python :: 3.13
43
+ Classifier: Programming Language :: Python :: 3.14
44
+ Classifier: Topic :: File Formats :: JSON
45
+ Classifier: Topic :: File Formats :: JSON :: JSON Schema
46
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
47
+ Classifier: Topic :: Software Development :: Libraries
48
+ Requires-Python: >=3.10
49
+ Requires-Dist: docstring-parser>=0.17.0
50
+ Requires-Dist: httpx>=0.27.0
51
+ Requires-Dist: pydantic>=2.0.0
52
+ Requires-Dist: typing-extensions>=4.10.0
53
+ Provides-Extra: all
54
+ Requires-Dist: anthropic<1.0,>=0.75.0; extra == 'all'
55
+ Requires-Dist: google-genai<2,>=1.48.0; extra == 'all'
56
+ Requires-Dist: libcst>=1.8.6; extra == 'all'
57
+ Requires-Dist: mcp<2,>=1.0.0; extra == 'all'
58
+ Requires-Dist: mlx-lm<1,>=0.28.4; extra == 'all'
59
+ Requires-Dist: openai<3,>=2.7.1; extra == 'all'
60
+ Requires-Dist: opentelemetry-api<2,>=1.38.0; extra == 'all'
61
+ Requires-Dist: opentelemetry-exporter-otlp<2,>=1.38.0; extra == 'all'
62
+ Requires-Dist: opentelemetry-instrumentation<1,>=0.59b0; extra == 'all'
63
+ Requires-Dist: opentelemetry-propagator-b3<2,>=1.38.0; extra == 'all'
64
+ Requires-Dist: opentelemetry-propagator-b3>=1.38.0; extra == 'all'
65
+ Requires-Dist: opentelemetry-propagator-jaeger>=1.38.0; extra == 'all'
66
+ Requires-Dist: opentelemetry-sdk<2,>=1.38.0; extra == 'all'
67
+ Requires-Dist: orjson>=3.11.4; extra == 'all'
68
+ Requires-Dist: packaging>=25.0; extra == 'all'
69
+ Requires-Dist: pillow<11,>=10.4.0; extra == 'all'
70
+ Requires-Dist: proto-plus>=1.24.0; extra == 'all'
71
+ Requires-Dist: pydantic-settings>=2.12.0; extra == 'all'
72
+ Provides-Extra: anthropic
73
+ Requires-Dist: anthropic<1.0,>=0.75.0; extra == 'anthropic'
74
+ Provides-Extra: api
75
+ Requires-Dist: pydantic-settings>=2.12.0; extra == 'api'
76
+ Provides-Extra: google
77
+ Requires-Dist: google-genai<2,>=1.48.0; extra == 'google'
78
+ Requires-Dist: pillow<11,>=10.4.0; extra == 'google'
79
+ Requires-Dist: proto-plus>=1.24.0; extra == 'google'
80
+ Provides-Extra: mcp
81
+ Requires-Dist: mcp<2,>=1.0.0; extra == 'mcp'
82
+ Provides-Extra: mlx
83
+ Requires-Dist: mlx-lm<1,>=0.28.4; extra == 'mlx'
84
+ Provides-Extra: openai
85
+ Requires-Dist: openai<3,>=2.7.1; extra == 'openai'
86
+ Provides-Extra: ops
87
+ Requires-Dist: libcst>=1.8.6; extra == 'ops'
88
+ Requires-Dist: opentelemetry-api<2,>=1.38.0; extra == 'ops'
89
+ Requires-Dist: opentelemetry-exporter-otlp<2,>=1.38.0; extra == 'ops'
90
+ Requires-Dist: opentelemetry-instrumentation<1,>=0.59b0; extra == 'ops'
91
+ Requires-Dist: opentelemetry-propagator-b3<2,>=1.38.0; extra == 'ops'
92
+ Requires-Dist: opentelemetry-propagator-b3>=1.38.0; extra == 'ops'
93
+ Requires-Dist: opentelemetry-propagator-jaeger>=1.38.0; extra == 'ops'
94
+ Requires-Dist: opentelemetry-sdk<2,>=1.38.0; extra == 'ops'
95
+ Requires-Dist: orjson>=3.11.4; extra == 'ops'
96
+ Requires-Dist: packaging>=25.0; extra == 'ops'
97
+ Description-Content-Type: text/markdown
98
+
99
+ ## Mirascope v2 Python
100
+
101
+ This directory contains the Python implementation of Mirascope.
102
+
103
+ ## Development Setup
104
+
105
+ 1. **Environment Variables**: Copy `.env.example` to `.env` and fill in your API keys:
106
+ ```bash
107
+ cp .env.example .env
108
+ # Edit .env with your API keys
109
+ ```
110
+
111
+ 2. **Install Dependencies**:
112
+
113
+ ```bash
114
+ uv sync --all-extras --dev
115
+ ```
116
+
117
+ 3. **Run Tests**:
118
+ ```bash
119
+ uv run pytest
120
+ ```
121
+
122
+ ## `ops.span` and Session Tracing
123
+
124
+ `mirascope.ops` provides tracing helpers to trace any Python function, not just
125
+ `llm.Model` calls.
126
+
127
+ 1. Install the OTEL extra and set up a tracer provider exactly as shown above.
128
+ `ops.span` automatically reuses the active provider, so spans from manual
129
+ instrumentation and GenAI instrumentation end up in the same trace tree.
130
+ 2. Use `ops.session` to group related spans and attach metadata:
131
+ ```python
132
+ from mirascope import ops
133
+
134
+ with ops.session(id="req-42", attributes={"team": "core"}):
135
+ with ops.span("load-data") as span:
136
+ span.set(stage="ingest")
137
+ # expensive work here
138
+ ```
139
+ 3. The span exposes `span_id`/`trace_id`, logging helpers, and graceful no-op
140
+ behavior when OTEL is not configured. When OTEL is active, session metadata is
141
+ attached to every span, and additional tools like `ops.trace`/`ops.version`
142
+ (planned) can build on the same context.
143
+
144
+ ## `ops.trace` Decorator
145
+
146
+ `@ops.trace` adds span instrumentation to any Python callable (including
147
+ `llm.Model` helpers) so you can capture argument/return metadata alongside the
148
+ GenAI spans emitted by `llm.instrument_opentelemetry`.
149
+
150
+ ```python
151
+ from mirascope import ops
152
+
153
+ @ops.trace(tags=["ingest"])
154
+ def normalize(record: dict[str, str]) -> dict[str, str]:
155
+ return {k: v.strip() for k, v in record.items()}
156
+
157
+ result = normalize({"foo": " bar "})
158
+ wrapped = normalize.wrapped({"foo": " bar "})
159
+ print(wrapped.span_id, wrapped.trace_id)
160
+ ```
161
+
162
+ - The decorator automatically handles sync/async functions and reuses `ops.span`
163
+ serialization logic for arguments/results.
164
+ - Combine with `ops.session` to tag spans with contextual metadata, and with
165
+ `ops.instrument_opentelemetry` to obtain both model-level GenAI spans
166
+ and method-level spans like `recommend_book.__call__`.
167
+ - For now we focus on Mirascope-layer entry points (e.g., decorated functions or
168
+ `llm.Model` wrappers) and do not auto-instrument underlying provider SDK calls.
169
+
170
+ ## Testing
171
+
172
+ ### VCR Cassettes
173
+
174
+ The project uses [VCR.py](https://vcrpy.readthedocs.io/) to record and replay HTTP interactions with LLM APIs. This allows tests to run quickly and consistently without making actual API calls.
175
+
176
+ - **Cassettes Location**: Test cassettes are stored in `tests/llm/clients/*/cassettes/`
177
+ - **Recording Mode**: Tests use `"once"` mode - records new interactions if no cassette exists, replays existing cassettes otherwise
178
+ - **CI/CD**: In CI environments, tests use existing cassettes and never make real API calls
179
+
180
+ ### Inline Snapshots
181
+
182
+ The project uses [inline-snapshot](https://15r10nk.github.io/inline-snapshot/) to capture expected test outputs directly in the test code.
183
+
184
+ - **Update Snapshots**: Run `uv run pytest --inline-snapshot=fix` to update all snapshots with actual values
185
+ - **Review Changes**: Run `uv run pytest --inline-snapshot=review` to preview what would change
186
+ - **Formatted Output**: Snapshots are automatically formatted with `ruff` for consistency
187
+
188
+ Example:
189
+ ```python
190
+ def test_api_response():
191
+ response = client.call(messages=[user("Hello")])
192
+ assert response.content == snapshot([Text(text="Hi there!")])
193
+ ```
194
+
195
+ ### Recording New Test Interactions
196
+
197
+ To record new test interactions:
198
+
199
+ 1. Ensure your API keys are set in `.env`
200
+ 2. Delete the relevant cassette file (if updating an existing test)
201
+ 3. Run the specific test: `uv run pytest tests/path/to/test.py::test_name`
202
+ 4. The cassette will be automatically created/updated
@@ -0,0 +1,104 @@
1
+ ## Mirascope v2 Python
2
+
3
+ This directory contains the Python implementation of Mirascope.
4
+
5
+ ## Development Setup
6
+
7
+ 1. **Environment Variables**: Copy `.env.example` to `.env` and fill in your API keys:
8
+ ```bash
9
+ cp .env.example .env
10
+ # Edit .env with your API keys
11
+ ```
12
+
13
+ 2. **Install Dependencies**:
14
+
15
+ ```bash
16
+ uv sync --all-extras --dev
17
+ ```
18
+
19
+ 3. **Run Tests**:
20
+ ```bash
21
+ uv run pytest
22
+ ```
23
+
24
+ ## `ops.span` and Session Tracing
25
+
26
+ `mirascope.ops` provides tracing helpers to trace any Python function, not just
27
+ `llm.Model` calls.
28
+
29
+ 1. Install the OTEL extra and set up a tracer provider exactly as shown above.
30
+ `ops.span` automatically reuses the active provider, so spans from manual
31
+ instrumentation and GenAI instrumentation end up in the same trace tree.
32
+ 2. Use `ops.session` to group related spans and attach metadata:
33
+ ```python
34
+ from mirascope import ops
35
+
36
+ with ops.session(id="req-42", attributes={"team": "core"}):
37
+ with ops.span("load-data") as span:
38
+ span.set(stage="ingest")
39
+ # expensive work here
40
+ ```
41
+ 3. The span exposes `span_id`/`trace_id`, logging helpers, and graceful no-op
42
+ behavior when OTEL is not configured. When OTEL is active, session metadata is
43
+ attached to every span, and additional tools like `ops.trace`/`ops.version`
44
+ (planned) can build on the same context.
45
+
46
+ ## `ops.trace` Decorator
47
+
48
+ `@ops.trace` adds span instrumentation to any Python callable (including
49
+ `llm.Model` helpers) so you can capture argument/return metadata alongside the
50
+ GenAI spans emitted by `llm.instrument_opentelemetry`.
51
+
52
+ ```python
53
+ from mirascope import ops
54
+
55
+ @ops.trace(tags=["ingest"])
56
+ def normalize(record: dict[str, str]) -> dict[str, str]:
57
+ return {k: v.strip() for k, v in record.items()}
58
+
59
+ result = normalize({"foo": " bar "})
60
+ wrapped = normalize.wrapped({"foo": " bar "})
61
+ print(wrapped.span_id, wrapped.trace_id)
62
+ ```
63
+
64
+ - The decorator automatically handles sync/async functions and reuses `ops.span`
65
+ serialization logic for arguments/results.
66
+ - Combine with `ops.session` to tag spans with contextual metadata, and with
67
+ `ops.instrument_opentelemetry` to obtain both model-level GenAI spans
68
+ and method-level spans like `recommend_book.__call__`.
69
+ - For now we focus on Mirascope-layer entry points (e.g., decorated functions or
70
+ `llm.Model` wrappers) and do not auto-instrument underlying provider SDK calls.
71
+
72
+ ## Testing
73
+
74
+ ### VCR Cassettes
75
+
76
+ The project uses [VCR.py](https://vcrpy.readthedocs.io/) to record and replay HTTP interactions with LLM APIs. This allows tests to run quickly and consistently without making actual API calls.
77
+
78
+ - **Cassettes Location**: Test cassettes are stored in `tests/llm/clients/*/cassettes/`
79
+ - **Recording Mode**: Tests use `"once"` mode - records new interactions if no cassette exists, replays existing cassettes otherwise
80
+ - **CI/CD**: In CI environments, tests use existing cassettes and never make real API calls
81
+
82
+ ### Inline Snapshots
83
+
84
+ The project uses [inline-snapshot](https://15r10nk.github.io/inline-snapshot/) to capture expected test outputs directly in the test code.
85
+
86
+ - **Update Snapshots**: Run `uv run pytest --inline-snapshot=fix` to update all snapshots with actual values
87
+ - **Review Changes**: Run `uv run pytest --inline-snapshot=review` to preview what would change
88
+ - **Formatted Output**: Snapshots are automatically formatted with `ruff` for consistency
89
+
90
+ Example:
91
+ ```python
92
+ def test_api_response():
93
+ response = client.call(messages=[user("Hello")])
94
+ assert response.content == snapshot([Text(text="Hi there!")])
95
+ ```
96
+
97
+ ### Recording New Test Interactions
98
+
99
+ To record new test interactions:
100
+
101
+ 1. Ensure your API keys are set in `.env`
102
+ 2. Delete the relevant cassette file (if updating an existing test)
103
+ 3. Run the specific test: `uv run pytest tests/path/to/test.py::test_name`
104
+ 4. The cassette will be automatically created/updated
@@ -0,0 +1,40 @@
1
+ from mirascope import llm
2
+
3
+
4
+ class Library:
5
+ available_books: list[str]
6
+ detailed_book_info: dict[str, str]
7
+
8
+
9
+ @llm.tool()
10
+ # [!code highlight:2]
11
+ def get_book_info(ctx: llm.Context[Library], book: str) -> str:
12
+ return ctx.deps.detailed_book_info.get(book, "Book not found")
13
+
14
+
15
+ @llm.call("openai/gpt-5", tools=[get_book_info])
16
+ # [!code highlight:2]
17
+ def librarian(ctx: llm.Context[Library], query: str):
18
+ book_list = "\n".join(ctx.deps.available_books)
19
+ return [
20
+ llm.messages.system(
21
+ f"You are a librarian, with access to these books: ${book_list}"
22
+ ),
23
+ llm.messages.user(query),
24
+ ]
25
+
26
+
27
+ def main():
28
+ library = Library()
29
+ query = "Please recommend a mind-bending book from the library."
30
+ ctx = llm.Context(deps=library) # [!code highlight]
31
+ response: llm.ContextResponse[Library] = librarian(ctx, query) # [!code highlight]
32
+
33
+ while response.tool_calls:
34
+ tool_outputs = response.execute_tools(ctx) # [!code highlight]
35
+ response = response.resume(ctx, tool_outputs) # [!code highlight]
36
+
37
+ print(response.pretty())
38
+
39
+
40
+ main()
@@ -0,0 +1,41 @@
1
+ from mirascope import llm
2
+
3
+
4
+ class Library:
5
+ available_books: list[str]
6
+ detailed_book_info: dict[str, str]
7
+
8
+
9
+ @llm.tool()
10
+ # [!code highlight:2]
11
+ def get_book_info(ctx: llm.Context[Library], book: str) -> str:
12
+ return ctx.deps.detailed_book_info.get(book, "Book not found")
13
+
14
+
15
+ # [!code highlight:2]
16
+ def librarian(ctx: llm.Context[Library], query: str):
17
+ model = llm.use_model("openai/gpt-5")
18
+ book_list = "\n".join(ctx.deps.available_books)
19
+ messages = [
20
+ llm.messages.system(
21
+ f"You are a librarian, with access to these books: ${book_list}"
22
+ ),
23
+ llm.messages.user(query),
24
+ ]
25
+ # [!code highlight:2]
26
+ return model.context_call(ctx=ctx, messages=messages, tools=[get_book_info])
27
+
28
+
29
+ def main():
30
+ query = "Please recommend a mind-bending book from the library."
31
+ ctx = llm.Context(deps=Library()) # [!code highlight]
32
+ response: llm.ContextResponse[Library] = librarian(ctx, query) # [!code highlight]
33
+
34
+ while response.tool_calls:
35
+ tool_outputs = response.execute_tools(ctx) # [!code highlight]
36
+ response = response.resume(ctx, tool_outputs) # [!code highlight]
37
+
38
+ print(response.pretty())
39
+
40
+
41
+ main()
@@ -0,0 +1,17 @@
1
+ import asyncio
2
+
3
+ from mirascope import llm
4
+
5
+
6
+ @llm.call("openai/gpt-5")
7
+ async def recommend_book(genre: str):
8
+ return f"Please recommend a book in {genre}."
9
+
10
+
11
+ async def main():
12
+ response: llm.AsyncResponse = await recommend_book("fantasy")
13
+ print(response.pretty())
14
+
15
+
16
+ if __name__ == "__main__":
17
+ asyncio.run(main())
@@ -0,0 +1,18 @@
1
+ import asyncio
2
+
3
+ from mirascope import llm
4
+
5
+
6
+ @llm.call("openai/gpt-5")
7
+ async def recommend_book(genre: str):
8
+ return f"Please recommend a book in {genre}."
9
+
10
+
11
+ async def main():
12
+ response: llm.AsyncStreamResponse = await recommend_book.stream("fantasy")
13
+ async for chunk in response.pretty_stream():
14
+ print(chunk, flush=True, end="")
15
+
16
+
17
+ if __name__ == "__main__":
18
+ asyncio.run(main())
@@ -0,0 +1,15 @@
1
+ from mirascope import llm
2
+
3
+
4
+ @llm.call("openai/gpt-5")
5
+ def recommend_book(genre: str):
6
+ return f"Please recommend a book in {genre}."
7
+
8
+
9
+ def main():
10
+ response: llm.StreamResponse = recommend_book.stream("fantasy")
11
+ for chunk in response.pretty_stream():
12
+ print(chunk, flush=True, end="")
13
+
14
+
15
+ main()
@@ -0,0 +1,14 @@
1
+ from mirascope import llm
2
+
3
+
4
+ @llm.call("openai/gpt-5")
5
+ def recommend_book(genre: str):
6
+ return f"Please recommend a book in {genre}."
7
+
8
+
9
+ def main():
10
+ response: llm.Response = recommend_book("fantasy")
11
+ print(response.pretty())
12
+
13
+
14
+ main()