mirascope 1.25.6__tar.gz → 2.0.0__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 (2414) hide show
  1. mirascope-2.0.0/.coveragerc +44 -0
  2. mirascope-2.0.0/.env.example +17 -0
  3. mirascope-2.0.0/.gitignore +183 -0
  4. mirascope-2.0.0/AGENTS.md +44 -0
  5. mirascope-2.0.0/LICENSE +21 -0
  6. mirascope-2.0.0/PKG-INFO +203 -0
  7. mirascope-2.0.0/README.md +104 -0
  8. mirascope-2.0.0/examples/agents/basic.py +97 -0
  9. mirascope-2.0.0/examples/async/async_streaming.py +17 -0
  10. mirascope-2.0.0/examples/async/async_tools.py +28 -0
  11. mirascope-2.0.0/examples/async/basic.py +16 -0
  12. mirascope-2.0.0/examples/async/basic_model.py +13 -0
  13. mirascope-2.0.0/examples/async/basic_prompt.py +16 -0
  14. mirascope-2.0.0/examples/async/parallel.py +19 -0
  15. mirascope-2.0.0/examples/calls/access_prompt.py +20 -0
  16. mirascope-2.0.0/examples/calls/basic.py +10 -0
  17. mirascope-2.0.0/examples/calls/override.py +12 -0
  18. mirascope-2.0.0/examples/calls/return_types.py +13 -0
  19. mirascope-2.0.0/examples/calls/with_params.py +10 -0
  20. mirascope-2.0.0/examples/chaining/basic_call.py +26 -0
  21. mirascope-2.0.0/examples/chaining/basic_model.py +26 -0
  22. mirascope-2.0.0/examples/chaining/basic_prompt.py +26 -0
  23. mirascope-2.0.0/examples/chaining/conditional_call.py +35 -0
  24. mirascope-2.0.0/examples/chaining/conditional_model.py +39 -0
  25. mirascope-2.0.0/examples/chaining/conditional_prompt.py +34 -0
  26. mirascope-2.0.0/examples/chaining/nested_call.py +34 -0
  27. mirascope-2.0.0/examples/chaining/nested_model.py +32 -0
  28. mirascope-2.0.0/examples/chaining/nested_prompt.py +34 -0
  29. mirascope-2.0.0/examples/chaining/parallel_call.py +39 -0
  30. mirascope-2.0.0/examples/chaining/parallel_model.py +41 -0
  31. mirascope-2.0.0/examples/chaining/parallel_prompt.py +42 -0
  32. mirascope-2.0.0/examples/context/async_context.py +36 -0
  33. mirascope-2.0.0/examples/context/basic_call.py +31 -0
  34. mirascope-2.0.0/examples/context/basic_model.py +31 -0
  35. mirascope-2.0.0/examples/context/basic_prompt.py +32 -0
  36. mirascope-2.0.0/examples/errors/basic.py +17 -0
  37. mirascope-2.0.0/examples/intro/context/decorator.py +40 -0
  38. mirascope-2.0.0/examples/intro/context/model.py +41 -0
  39. mirascope-2.0.0/examples/intro/decorator/async.py +17 -0
  40. mirascope-2.0.0/examples/intro/decorator/async_stream.py +18 -0
  41. mirascope-2.0.0/examples/intro/decorator/stream.py +15 -0
  42. mirascope-2.0.0/examples/intro/decorator/sync.py +14 -0
  43. mirascope-2.0.0/examples/intro/format/decorator.py +22 -0
  44. mirascope-2.0.0/examples/intro/format/model.py +25 -0
  45. mirascope-2.0.0/examples/intro/local_model/decorator.py +21 -0
  46. mirascope-2.0.0/examples/intro/local_model/model.py +17 -0
  47. mirascope-2.0.0/examples/intro/mlx/decorator.py +14 -0
  48. mirascope-2.0.0/examples/intro/mlx/model.py +10 -0
  49. mirascope-2.0.0/examples/intro/model/async.py +17 -0
  50. mirascope-2.0.0/examples/intro/model/async_stream.py +18 -0
  51. mirascope-2.0.0/examples/intro/model/stream.py +15 -0
  52. mirascope-2.0.0/examples/intro/model/sync.py +14 -0
  53. mirascope-2.0.0/examples/intro/override/decorator.py +16 -0
  54. mirascope-2.0.0/examples/intro/override/model.py +17 -0
  55. mirascope-2.0.0/examples/intro/parameters/decorator.py +17 -0
  56. mirascope-2.0.0/examples/intro/parameters/model.py +17 -0
  57. mirascope-2.0.0/examples/intro/register_provider/decorator.py +25 -0
  58. mirascope-2.0.0/examples/intro/register_provider/model.py +21 -0
  59. mirascope-2.0.0/examples/intro/resume/decorator.py +17 -0
  60. mirascope-2.0.0/examples/intro/resume/model.py +17 -0
  61. mirascope-2.0.0/examples/intro/system_messages/decorator.py +18 -0
  62. mirascope-2.0.0/examples/intro/system_messages/model.py +20 -0
  63. mirascope-2.0.0/examples/intro/tool_call/decorator.py +35 -0
  64. mirascope-2.0.0/examples/intro/tool_call/model.py +35 -0
  65. mirascope-2.0.0/examples/local_models/local_mlx.py +14 -0
  66. mirascope-2.0.0/examples/local_models/local_ollama.py +14 -0
  67. mirascope-2.0.0/examples/local_models/local_vllm.py +21 -0
  68. mirascope-2.0.0/examples/mcp/basic_call.py +23 -0
  69. mirascope-2.0.0/examples/mcp/basic_model.py +23 -0
  70. mirascope-2.0.0/examples/mcp/basic_prompt.py +25 -0
  71. mirascope-2.0.0/examples/mcp/combined_tools.py +43 -0
  72. mirascope-2.0.0/examples/mcp_with_thinking.py +35 -0
  73. mirascope-2.0.0/examples/messages/audio_content.py +10 -0
  74. mirascope-2.0.0/examples/messages/basic.py +8 -0
  75. mirascope-2.0.0/examples/messages/image_content.py +13 -0
  76. mirascope-2.0.0/examples/messages/multimodal.py +12 -0
  77. mirascope-2.0.0/examples/messages/roles.py +16 -0
  78. mirascope-2.0.0/examples/messages/text_content.py +7 -0
  79. mirascope-2.0.0/examples/misc/anthropic_redacted_thinking.py +18 -0
  80. mirascope-2.0.0/examples/misc/ask_llm.py +86 -0
  81. mirascope-2.0.0/examples/misc/local_clickhouse_verify.py +253 -0
  82. mirascope-2.0.0/examples/misc/local_versioning_example.py +92 -0
  83. mirascope-2.0.0/examples/misc/openai_responses_reasoning.py +20 -0
  84. mirascope-2.0.0/examples/misc/opentelemetry_call_trace.py +84 -0
  85. mirascope-2.0.0/examples/misc/opentelemetry_genai.py +30 -0
  86. mirascope-2.0.0/examples/misc/search_span.py +253 -0
  87. mirascope-2.0.0/examples/models/basic.py +5 -0
  88. mirascope-2.0.0/examples/models/call_patterns.py +24 -0
  89. mirascope-2.0.0/examples/models/override.py +14 -0
  90. mirascope-2.0.0/examples/models/with_params.py +5 -0
  91. mirascope-2.0.0/examples/ops/basic_trace.py +12 -0
  92. mirascope-2.0.0/examples/ops/configure_basic.py +11 -0
  93. mirascope-2.0.0/examples/ops/configure_cloud.py +9 -0
  94. mirascope-2.0.0/examples/ops/configure_otlp.py +15 -0
  95. mirascope-2.0.0/examples/ops/context_propagation.py +32 -0
  96. mirascope-2.0.0/examples/ops/instrument_llm.py +15 -0
  97. mirascope-2.0.0/examples/ops/session_attributes.py +18 -0
  98. mirascope-2.0.0/examples/ops/session_basic.py +16 -0
  99. mirascope-2.0.0/examples/ops/span_basic.py +18 -0
  100. mirascope-2.0.0/examples/ops/span_events.py +27 -0
  101. mirascope-2.0.0/examples/ops/trace_llm_call.py +12 -0
  102. mirascope-2.0.0/examples/ops/trace_with_metadata.py +11 -0
  103. mirascope-2.0.0/examples/ops/trace_wrapped.py +14 -0
  104. mirascope-2.0.0/examples/ops/version_basic.py +18 -0
  105. mirascope-2.0.0/examples/ops/version_llm_call.py +18 -0
  106. mirascope-2.0.0/examples/ops/version_with_metadata.py +23 -0
  107. mirascope-2.0.0/examples/prompts/basic.py +10 -0
  108. mirascope-2.0.0/examples/prompts/basic_without_prompt.py +10 -0
  109. mirascope-2.0.0/examples/prompts/messages_method.py +12 -0
  110. mirascope-2.0.0/examples/prompts/return_types.py +25 -0
  111. mirascope-2.0.0/examples/prompts/with_params.py +12 -0
  112. mirascope-2.0.0/examples/providers/custom_api_key.py +11 -0
  113. mirascope-2.0.0/examples/providers/openai_compatible.py +22 -0
  114. mirascope-2.0.0/examples/providers/scope_matching.py +15 -0
  115. mirascope-2.0.0/examples/reliability/basic_retry.py +17 -0
  116. mirascope-2.0.0/examples/reliability/fallback_call.py +31 -0
  117. mirascope-2.0.0/examples/reliability/fallback_model.py +30 -0
  118. mirascope-2.0.0/examples/reliability/fallback_prompt.py +30 -0
  119. mirascope-2.0.0/examples/reliability/retry_specific_errors.py +21 -0
  120. mirascope-2.0.0/examples/reliability/stream_retry.py +20 -0
  121. mirascope-2.0.0/examples/reliability/tool_error_recovery.py +40 -0
  122. mirascope-2.0.0/examples/reliability/validation_retry.py +28 -0
  123. mirascope-2.0.0/examples/responses/basic.py +6 -0
  124. mirascope-2.0.0/examples/responses/content_access.py +18 -0
  125. mirascope-2.0.0/examples/responses/finish_reason.py +11 -0
  126. mirascope-2.0.0/examples/responses/metadata.py +12 -0
  127. mirascope-2.0.0/examples/responses/resume.py +13 -0
  128. mirascope-2.0.0/examples/responses/usage.py +9 -0
  129. mirascope-2.0.0/examples/sazed/sazed.py +26 -0
  130. mirascope-2.0.0/examples/sazed/sazed_async.py +29 -0
  131. mirascope-2.0.0/examples/sazed/sazed_async_context.py +37 -0
  132. mirascope-2.0.0/examples/sazed/sazed_async_context_structured.py +49 -0
  133. mirascope-2.0.0/examples/sazed/sazed_async_stream.py +30 -0
  134. mirascope-2.0.0/examples/sazed/sazed_async_stream_context.py +40 -0
  135. mirascope-2.0.0/examples/sazed/sazed_async_stream_context_structured.py +49 -0
  136. mirascope-2.0.0/examples/sazed/sazed_async_stream_structured.py +39 -0
  137. mirascope-2.0.0/examples/sazed/sazed_async_stream_tools.py +50 -0
  138. mirascope-2.0.0/examples/sazed/sazed_async_stream_tools_context.py +62 -0
  139. mirascope-2.0.0/examples/sazed/sazed_async_stream_tools_context_structured.py +71 -0
  140. mirascope-2.0.0/examples/sazed/sazed_async_stream_tools_structured.py +59 -0
  141. mirascope-2.0.0/examples/sazed/sazed_async_structured.py +39 -0
  142. mirascope-2.0.0/examples/sazed/sazed_async_tools.py +39 -0
  143. mirascope-2.0.0/examples/sazed/sazed_async_tools_context.py +49 -0
  144. mirascope-2.0.0/examples/sazed/sazed_async_tools_context_structured.py +61 -0
  145. mirascope-2.0.0/examples/sazed/sazed_async_tools_structured.py +49 -0
  146. mirascope-2.0.0/examples/sazed/sazed_context.py +35 -0
  147. mirascope-2.0.0/examples/sazed/sazed_context_structured.py +45 -0
  148. mirascope-2.0.0/examples/sazed/sazed_stream.py +27 -0
  149. mirascope-2.0.0/examples/sazed/sazed_stream_context.py +36 -0
  150. mirascope-2.0.0/examples/sazed/sazed_stream_context_structured.py +47 -0
  151. mirascope-2.0.0/examples/sazed/sazed_stream_structured.py +36 -0
  152. mirascope-2.0.0/examples/sazed/sazed_stream_tools.py +47 -0
  153. mirascope-2.0.0/examples/sazed/sazed_stream_tools_context.py +58 -0
  154. mirascope-2.0.0/examples/sazed/sazed_stream_tools_context_structured.py +69 -0
  155. mirascope-2.0.0/examples/sazed/sazed_stream_tools_structured.py +56 -0
  156. mirascope-2.0.0/examples/sazed/sazed_structured.py +36 -0
  157. mirascope-2.0.0/examples/sazed/sazed_tools.py +36 -0
  158. mirascope-2.0.0/examples/sazed/sazed_tools_context.py +47 -0
  159. mirascope-2.0.0/examples/sazed/sazed_tools_context_structured.py +57 -0
  160. mirascope-2.0.0/examples/sazed/sazed_tools_structured.py +46 -0
  161. mirascope-2.0.0/examples/streaming/accumulated.py +19 -0
  162. mirascope-2.0.0/examples/streaming/async_basic.py +17 -0
  163. mirascope-2.0.0/examples/streaming/basic_call.py +11 -0
  164. mirascope-2.0.0/examples/streaming/basic_model.py +7 -0
  165. mirascope-2.0.0/examples/streaming/basic_prompt.py +11 -0
  166. mirascope-2.0.0/examples/streaming/chunk_stream.py +16 -0
  167. mirascope-2.0.0/examples/streaming/error_handling.py +19 -0
  168. mirascope-2.0.0/examples/streaming/replay.py +21 -0
  169. mirascope-2.0.0/examples/streaming/streams.py +40 -0
  170. mirascope-2.0.0/examples/streaming/structured_stream.py +26 -0
  171. mirascope-2.0.0/examples/streaming/with_tools.py +28 -0
  172. mirascope-2.0.0/examples/structured_output/advanced_model_features.py +29 -0
  173. mirascope-2.0.0/examples/structured_output/basemodel.py +18 -0
  174. mirascope-2.0.0/examples/structured_output/basic_call.py +11 -0
  175. mirascope-2.0.0/examples/structured_output/basic_model.py +7 -0
  176. mirascope-2.0.0/examples/structured_output/basic_prompt.py +11 -0
  177. mirascope-2.0.0/examples/structured_output/custom_instructions.py +28 -0
  178. mirascope-2.0.0/examples/structured_output/explicit_mode.py +18 -0
  179. mirascope-2.0.0/examples/structured_output/generic_collection.py +21 -0
  180. mirascope-2.0.0/examples/structured_output/output_parser.py +38 -0
  181. mirascope-2.0.0/examples/structured_output/primitives.py +11 -0
  182. mirascope-2.0.0/examples/structured_output/with_tools.py +34 -0
  183. mirascope-2.0.0/examples/thinking/access_thoughts.py +17 -0
  184. mirascope-2.0.0/examples/thinking/basic.py +10 -0
  185. mirascope-2.0.0/examples/thinking/config.py +13 -0
  186. mirascope-2.0.0/examples/thinking/encode_as_text.py +22 -0
  187. mirascope-2.0.0/examples/tools/async_tools.py +28 -0
  188. mirascope-2.0.0/examples/tools/basic.py +29 -0
  189. mirascope-2.0.0/examples/tools/loop.py +32 -0
  190. mirascope-2.0.0/examples/tools/parallel.py +27 -0
  191. mirascope-2.0.0/examples/tools/with_call.py +23 -0
  192. mirascope-2.0.0/examples/tools/with_model.py +19 -0
  193. mirascope-2.0.0/examples/tools/with_prompt.py +24 -0
  194. mirascope-2.0.0/lint-staged.ts +39 -0
  195. mirascope-2.0.0/mirascope/__init__.py +14 -0
  196. mirascope-2.0.0/mirascope/_stubs.py +363 -0
  197. mirascope-2.0.0/mirascope/api/__init__.py +14 -0
  198. mirascope-2.0.0/mirascope/api/_generated/README.md +207 -0
  199. mirascope-2.0.0/mirascope/api/_generated/__init__.py +440 -0
  200. mirascope-2.0.0/mirascope/api/_generated/annotations/__init__.py +33 -0
  201. mirascope-2.0.0/mirascope/api/_generated/annotations/client.py +506 -0
  202. mirascope-2.0.0/mirascope/api/_generated/annotations/raw_client.py +1414 -0
  203. mirascope-2.0.0/mirascope/api/_generated/annotations/types/__init__.py +31 -0
  204. mirascope-2.0.0/mirascope/api/_generated/annotations/types/annotations_create_request_label.py +5 -0
  205. mirascope-2.0.0/mirascope/api/_generated/annotations/types/annotations_create_response.py +48 -0
  206. mirascope-2.0.0/mirascope/api/_generated/annotations/types/annotations_create_response_label.py +5 -0
  207. mirascope-2.0.0/mirascope/api/_generated/annotations/types/annotations_get_response.py +48 -0
  208. mirascope-2.0.0/mirascope/api/_generated/annotations/types/annotations_get_response_label.py +5 -0
  209. mirascope-2.0.0/mirascope/api/_generated/annotations/types/annotations_list_request_label.py +5 -0
  210. mirascope-2.0.0/mirascope/api/_generated/annotations/types/annotations_list_response.py +21 -0
  211. mirascope-2.0.0/mirascope/api/_generated/annotations/types/annotations_list_response_annotations_item.py +50 -0
  212. mirascope-2.0.0/mirascope/api/_generated/annotations/types/annotations_list_response_annotations_item_label.py +5 -0
  213. mirascope-2.0.0/mirascope/api/_generated/annotations/types/annotations_update_request_label.py +5 -0
  214. mirascope-2.0.0/mirascope/api/_generated/annotations/types/annotations_update_response.py +48 -0
  215. mirascope-2.0.0/mirascope/api/_generated/annotations/types/annotations_update_response_label.py +5 -0
  216. mirascope-2.0.0/mirascope/api/_generated/api_keys/__init__.py +17 -0
  217. mirascope-2.0.0/mirascope/api/_generated/api_keys/client.py +530 -0
  218. mirascope-2.0.0/mirascope/api/_generated/api_keys/raw_client.py +1236 -0
  219. mirascope-2.0.0/mirascope/api/_generated/api_keys/types/__init__.py +15 -0
  220. mirascope-2.0.0/mirascope/api/_generated/api_keys/types/api_keys_create_response.py +28 -0
  221. mirascope-2.0.0/mirascope/api/_generated/api_keys/types/api_keys_get_response.py +27 -0
  222. mirascope-2.0.0/mirascope/api/_generated/api_keys/types/api_keys_list_all_for_org_response_item.py +40 -0
  223. mirascope-2.0.0/mirascope/api/_generated/api_keys/types/api_keys_list_response_item.py +27 -0
  224. mirascope-2.0.0/mirascope/api/_generated/client.py +211 -0
  225. mirascope-2.0.0/mirascope/api/_generated/core/__init__.py +52 -0
  226. mirascope-2.0.0/mirascope/api/_generated/core/api_error.py +23 -0
  227. mirascope-2.0.0/mirascope/api/_generated/core/client_wrapper.py +46 -0
  228. mirascope-2.0.0/mirascope/api/_generated/core/datetime_utils.py +28 -0
  229. mirascope-2.0.0/mirascope/api/_generated/core/file.py +67 -0
  230. mirascope-2.0.0/mirascope/api/_generated/core/force_multipart.py +16 -0
  231. mirascope-2.0.0/mirascope/api/_generated/core/http_client.py +543 -0
  232. mirascope-2.0.0/mirascope/api/_generated/core/http_response.py +55 -0
  233. mirascope-2.0.0/mirascope/api/_generated/core/jsonable_encoder.py +100 -0
  234. mirascope-2.0.0/mirascope/api/_generated/core/pydantic_utilities.py +255 -0
  235. mirascope-2.0.0/mirascope/api/_generated/core/query_encoder.py +58 -0
  236. mirascope-2.0.0/mirascope/api/_generated/core/remove_none_from_dict.py +11 -0
  237. mirascope-2.0.0/mirascope/api/_generated/core/request_options.py +35 -0
  238. mirascope-2.0.0/mirascope/api/_generated/core/serialization.py +276 -0
  239. mirascope-2.0.0/mirascope/api/_generated/docs/__init__.py +4 -0
  240. mirascope-2.0.0/mirascope/api/_generated/docs/client.py +91 -0
  241. mirascope-2.0.0/mirascope/api/_generated/docs/raw_client.py +178 -0
  242. mirascope-2.0.0/mirascope/api/_generated/environment.py +9 -0
  243. mirascope-2.0.0/mirascope/api/_generated/environments/__init__.py +23 -0
  244. mirascope-2.0.0/mirascope/api/_generated/environments/client.py +649 -0
  245. mirascope-2.0.0/mirascope/api/_generated/environments/raw_client.py +1567 -0
  246. mirascope-2.0.0/mirascope/api/_generated/environments/types/__init__.py +25 -0
  247. mirascope-2.0.0/mirascope/api/_generated/environments/types/environments_create_response.py +24 -0
  248. mirascope-2.0.0/mirascope/api/_generated/environments/types/environments_get_analytics_response.py +60 -0
  249. mirascope-2.0.0/mirascope/api/_generated/environments/types/environments_get_analytics_response_top_functions_item.py +24 -0
  250. mirascope-2.0.0/mirascope/api/_generated/environments/types/environments_get_analytics_response_top_models_item.py +22 -0
  251. mirascope-2.0.0/mirascope/api/_generated/environments/types/environments_get_response.py +24 -0
  252. mirascope-2.0.0/mirascope/api/_generated/environments/types/environments_list_response_item.py +24 -0
  253. mirascope-2.0.0/mirascope/api/_generated/environments/types/environments_update_response.py +24 -0
  254. mirascope-2.0.0/mirascope/api/_generated/errors/__init__.py +25 -0
  255. mirascope-2.0.0/mirascope/api/_generated/errors/bad_request_error.py +14 -0
  256. mirascope-2.0.0/mirascope/api/_generated/errors/conflict_error.py +14 -0
  257. mirascope-2.0.0/mirascope/api/_generated/errors/forbidden_error.py +11 -0
  258. mirascope-2.0.0/mirascope/api/_generated/errors/internal_server_error.py +10 -0
  259. mirascope-2.0.0/mirascope/api/_generated/errors/not_found_error.py +11 -0
  260. mirascope-2.0.0/mirascope/api/_generated/errors/payment_required_error.py +15 -0
  261. mirascope-2.0.0/mirascope/api/_generated/errors/service_unavailable_error.py +14 -0
  262. mirascope-2.0.0/mirascope/api/_generated/errors/too_many_requests_error.py +15 -0
  263. mirascope-2.0.0/mirascope/api/_generated/errors/unauthorized_error.py +11 -0
  264. mirascope-2.0.0/mirascope/api/_generated/functions/__init__.py +39 -0
  265. mirascope-2.0.0/mirascope/api/_generated/functions/client.py +647 -0
  266. mirascope-2.0.0/mirascope/api/_generated/functions/raw_client.py +1890 -0
  267. mirascope-2.0.0/mirascope/api/_generated/functions/types/__init__.py +53 -0
  268. mirascope-2.0.0/mirascope/api/_generated/functions/types/functions_create_request_dependencies_value.py +20 -0
  269. mirascope-2.0.0/mirascope/api/_generated/functions/types/functions_create_response.py +37 -0
  270. mirascope-2.0.0/mirascope/api/_generated/functions/types/functions_create_response_dependencies_value.py +20 -0
  271. mirascope-2.0.0/mirascope/api/_generated/functions/types/functions_find_by_hash_response.py +39 -0
  272. mirascope-2.0.0/mirascope/api/_generated/functions/types/functions_find_by_hash_response_dependencies_value.py +20 -0
  273. mirascope-2.0.0/mirascope/api/_generated/functions/types/functions_get_by_env_response.py +53 -0
  274. mirascope-2.0.0/mirascope/api/_generated/functions/types/functions_get_by_env_response_dependencies_value.py +22 -0
  275. mirascope-2.0.0/mirascope/api/_generated/functions/types/functions_get_response.py +37 -0
  276. mirascope-2.0.0/mirascope/api/_generated/functions/types/functions_get_response_dependencies_value.py +20 -0
  277. mirascope-2.0.0/mirascope/api/_generated/functions/types/functions_list_by_env_response.py +25 -0
  278. mirascope-2.0.0/mirascope/api/_generated/functions/types/functions_list_by_env_response_functions_item.py +56 -0
  279. mirascope-2.0.0/mirascope/api/_generated/functions/types/functions_list_by_env_response_functions_item_dependencies_value.py +22 -0
  280. mirascope-2.0.0/mirascope/api/_generated/functions/types/functions_list_response.py +21 -0
  281. mirascope-2.0.0/mirascope/api/_generated/functions/types/functions_list_response_functions_item.py +41 -0
  282. mirascope-2.0.0/mirascope/api/_generated/functions/types/functions_list_response_functions_item_dependencies_value.py +20 -0
  283. mirascope-2.0.0/mirascope/api/_generated/health/__init__.py +7 -0
  284. mirascope-2.0.0/mirascope/api/_generated/health/client.py +92 -0
  285. mirascope-2.0.0/mirascope/api/_generated/health/raw_client.py +175 -0
  286. mirascope-2.0.0/mirascope/api/_generated/health/types/__init__.py +8 -0
  287. mirascope-2.0.0/mirascope/api/_generated/health/types/health_check_response.py +22 -0
  288. mirascope-2.0.0/mirascope/api/_generated/health/types/health_check_response_status.py +5 -0
  289. mirascope-2.0.0/mirascope/api/_generated/organization_invitations/__init__.py +33 -0
  290. mirascope-2.0.0/mirascope/api/_generated/organization_invitations/client.py +546 -0
  291. mirascope-2.0.0/mirascope/api/_generated/organization_invitations/raw_client.py +1519 -0
  292. mirascope-2.0.0/mirascope/api/_generated/organization_invitations/types/__init__.py +53 -0
  293. mirascope-2.0.0/mirascope/api/_generated/organization_invitations/types/organization_invitations_accept_response.py +34 -0
  294. mirascope-2.0.0/mirascope/api/_generated/organization_invitations/types/organization_invitations_accept_response_role.py +7 -0
  295. mirascope-2.0.0/mirascope/api/_generated/organization_invitations/types/organization_invitations_create_request_role.py +7 -0
  296. mirascope-2.0.0/mirascope/api/_generated/organization_invitations/types/organization_invitations_create_response.py +48 -0
  297. mirascope-2.0.0/mirascope/api/_generated/organization_invitations/types/organization_invitations_create_response_role.py +7 -0
  298. mirascope-2.0.0/mirascope/api/_generated/organization_invitations/types/organization_invitations_create_response_status.py +7 -0
  299. mirascope-2.0.0/mirascope/api/_generated/organization_invitations/types/organization_invitations_get_response.py +48 -0
  300. mirascope-2.0.0/mirascope/api/_generated/organization_invitations/types/organization_invitations_get_response_role.py +7 -0
  301. mirascope-2.0.0/mirascope/api/_generated/organization_invitations/types/organization_invitations_get_response_status.py +7 -0
  302. mirascope-2.0.0/mirascope/api/_generated/organization_invitations/types/organization_invitations_list_response_item.py +48 -0
  303. mirascope-2.0.0/mirascope/api/_generated/organization_invitations/types/organization_invitations_list_response_item_role.py +7 -0
  304. mirascope-2.0.0/mirascope/api/_generated/organization_invitations/types/organization_invitations_list_response_item_status.py +7 -0
  305. mirascope-2.0.0/mirascope/api/_generated/organization_memberships/__init__.py +19 -0
  306. mirascope-2.0.0/mirascope/api/_generated/organization_memberships/client.py +302 -0
  307. mirascope-2.0.0/mirascope/api/_generated/organization_memberships/raw_client.py +736 -0
  308. mirascope-2.0.0/mirascope/api/_generated/organization_memberships/types/__init__.py +27 -0
  309. mirascope-2.0.0/mirascope/api/_generated/organization_memberships/types/organization_memberships_list_response_item.py +33 -0
  310. mirascope-2.0.0/mirascope/api/_generated/organization_memberships/types/organization_memberships_list_response_item_role.py +7 -0
  311. mirascope-2.0.0/mirascope/api/_generated/organization_memberships/types/organization_memberships_update_request_role.py +7 -0
  312. mirascope-2.0.0/mirascope/api/_generated/organization_memberships/types/organization_memberships_update_response.py +31 -0
  313. mirascope-2.0.0/mirascope/api/_generated/organization_memberships/types/organization_memberships_update_response_role.py +7 -0
  314. mirascope-2.0.0/mirascope/api/_generated/organizations/__init__.py +51 -0
  315. mirascope-2.0.0/mirascope/api/_generated/organizations/client.py +869 -0
  316. mirascope-2.0.0/mirascope/api/_generated/organizations/raw_client.py +2593 -0
  317. mirascope-2.0.0/mirascope/api/_generated/organizations/types/__init__.py +71 -0
  318. mirascope-2.0.0/mirascope/api/_generated/organizations/types/organizations_create_payment_intent_response.py +24 -0
  319. mirascope-2.0.0/mirascope/api/_generated/organizations/types/organizations_create_response.py +26 -0
  320. mirascope-2.0.0/mirascope/api/_generated/organizations/types/organizations_create_response_role.py +5 -0
  321. mirascope-2.0.0/mirascope/api/_generated/organizations/types/organizations_get_response.py +26 -0
  322. mirascope-2.0.0/mirascope/api/_generated/organizations/types/organizations_get_response_role.py +5 -0
  323. mirascope-2.0.0/mirascope/api/_generated/organizations/types/organizations_list_response_item.py +26 -0
  324. mirascope-2.0.0/mirascope/api/_generated/organizations/types/organizations_list_response_item_role.py +5 -0
  325. mirascope-2.0.0/mirascope/api/_generated/organizations/types/organizations_preview_subscription_change_request_target_plan.py +7 -0
  326. mirascope-2.0.0/mirascope/api/_generated/organizations/types/organizations_preview_subscription_change_response.py +47 -0
  327. mirascope-2.0.0/mirascope/api/_generated/organizations/types/organizations_preview_subscription_change_response_validation_errors_item.py +33 -0
  328. mirascope-2.0.0/mirascope/api/_generated/organizations/types/organizations_preview_subscription_change_response_validation_errors_item_resource.py +7 -0
  329. mirascope-2.0.0/mirascope/api/_generated/organizations/types/organizations_router_balance_response.py +24 -0
  330. mirascope-2.0.0/mirascope/api/_generated/organizations/types/organizations_subscription_response.py +53 -0
  331. mirascope-2.0.0/mirascope/api/_generated/organizations/types/organizations_subscription_response_current_plan.py +7 -0
  332. mirascope-2.0.0/mirascope/api/_generated/organizations/types/organizations_subscription_response_payment_method.py +26 -0
  333. mirascope-2.0.0/mirascope/api/_generated/organizations/types/organizations_subscription_response_scheduled_change.py +34 -0
  334. mirascope-2.0.0/mirascope/api/_generated/organizations/types/organizations_subscription_response_scheduled_change_target_plan.py +7 -0
  335. mirascope-2.0.0/mirascope/api/_generated/organizations/types/organizations_update_response.py +26 -0
  336. mirascope-2.0.0/mirascope/api/_generated/organizations/types/organizations_update_response_role.py +5 -0
  337. mirascope-2.0.0/mirascope/api/_generated/organizations/types/organizations_update_subscription_request_target_plan.py +7 -0
  338. mirascope-2.0.0/mirascope/api/_generated/organizations/types/organizations_update_subscription_response.py +35 -0
  339. mirascope-2.0.0/mirascope/api/_generated/project_memberships/__init__.py +25 -0
  340. mirascope-2.0.0/mirascope/api/_generated/project_memberships/client.py +437 -0
  341. mirascope-2.0.0/mirascope/api/_generated/project_memberships/raw_client.py +1039 -0
  342. mirascope-2.0.0/mirascope/api/_generated/project_memberships/types/__init__.py +29 -0
  343. mirascope-2.0.0/mirascope/api/_generated/project_memberships/types/project_memberships_create_request_role.py +7 -0
  344. mirascope-2.0.0/mirascope/api/_generated/project_memberships/types/project_memberships_create_response.py +35 -0
  345. mirascope-2.0.0/mirascope/api/_generated/project_memberships/types/project_memberships_create_response_role.py +7 -0
  346. mirascope-2.0.0/mirascope/api/_generated/project_memberships/types/project_memberships_list_response_item.py +33 -0
  347. mirascope-2.0.0/mirascope/api/_generated/project_memberships/types/project_memberships_list_response_item_role.py +7 -0
  348. mirascope-2.0.0/mirascope/api/_generated/project_memberships/types/project_memberships_update_request_role.py +7 -0
  349. mirascope-2.0.0/mirascope/api/_generated/project_memberships/types/project_memberships_update_response.py +35 -0
  350. mirascope-2.0.0/mirascope/api/_generated/project_memberships/types/project_memberships_update_response_role.py +7 -0
  351. mirascope-2.0.0/mirascope/api/_generated/projects/__init__.py +7 -0
  352. mirascope-2.0.0/mirascope/api/_generated/projects/client.py +428 -0
  353. mirascope-2.0.0/mirascope/api/_generated/projects/raw_client.py +1302 -0
  354. mirascope-2.0.0/mirascope/api/_generated/projects/types/__init__.py +10 -0
  355. mirascope-2.0.0/mirascope/api/_generated/projects/types/projects_create_response.py +25 -0
  356. mirascope-2.0.0/mirascope/api/_generated/projects/types/projects_get_response.py +25 -0
  357. mirascope-2.0.0/mirascope/api/_generated/projects/types/projects_list_response_item.py +25 -0
  358. mirascope-2.0.0/mirascope/api/_generated/projects/types/projects_update_response.py +25 -0
  359. mirascope-2.0.0/mirascope/api/_generated/reference.md +4915 -0
  360. mirascope-2.0.0/mirascope/api/_generated/tags/__init__.py +19 -0
  361. mirascope-2.0.0/mirascope/api/_generated/tags/client.py +504 -0
  362. mirascope-2.0.0/mirascope/api/_generated/tags/raw_client.py +1288 -0
  363. mirascope-2.0.0/mirascope/api/_generated/tags/types/__init__.py +17 -0
  364. mirascope-2.0.0/mirascope/api/_generated/tags/types/tags_create_response.py +41 -0
  365. mirascope-2.0.0/mirascope/api/_generated/tags/types/tags_get_response.py +41 -0
  366. mirascope-2.0.0/mirascope/api/_generated/tags/types/tags_list_response.py +23 -0
  367. mirascope-2.0.0/mirascope/api/_generated/tags/types/tags_list_response_tags_item.py +41 -0
  368. mirascope-2.0.0/mirascope/api/_generated/tags/types/tags_update_response.py +41 -0
  369. mirascope-2.0.0/mirascope/api/_generated/token_cost/__init__.py +7 -0
  370. mirascope-2.0.0/mirascope/api/_generated/token_cost/client.py +160 -0
  371. mirascope-2.0.0/mirascope/api/_generated/token_cost/raw_client.py +264 -0
  372. mirascope-2.0.0/mirascope/api/_generated/token_cost/types/__init__.py +8 -0
  373. mirascope-2.0.0/mirascope/api/_generated/token_cost/types/token_cost_calculate_request_usage.py +54 -0
  374. mirascope-2.0.0/mirascope/api/_generated/token_cost/types/token_cost_calculate_response.py +52 -0
  375. mirascope-2.0.0/mirascope/api/_generated/traces/__init__.py +97 -0
  376. mirascope-2.0.0/mirascope/api/_generated/traces/client.py +1103 -0
  377. mirascope-2.0.0/mirascope/api/_generated/traces/raw_client.py +2322 -0
  378. mirascope-2.0.0/mirascope/api/_generated/traces/types/__init__.py +155 -0
  379. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item.py +29 -0
  380. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource.py +27 -0
  381. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item.py +23 -0
  382. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value.py +38 -0
  383. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value_array_value.py +19 -0
  384. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value_kvlist_value.py +22 -0
  385. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value_kvlist_value_values_item.py +20 -0
  386. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item.py +29 -0
  387. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope.py +31 -0
  388. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item.py +23 -0
  389. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value.py +38 -0
  390. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_array_value.py +19 -0
  391. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_kvlist_value.py +22 -0
  392. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_kvlist_value_values_item.py +22 -0
  393. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item.py +48 -0
  394. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item.py +23 -0
  395. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value.py +38 -0
  396. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_array_value.py +19 -0
  397. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_kvlist_value.py +24 -0
  398. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_kvlist_value_values_item.py +22 -0
  399. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_status.py +20 -0
  400. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_create_response.py +24 -0
  401. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_create_response_partial_success.py +22 -0
  402. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_get_analytics_summary_response.py +60 -0
  403. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_get_analytics_summary_response_top_functions_item.py +24 -0
  404. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_get_analytics_summary_response_top_models_item.py +22 -0
  405. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_get_trace_detail_by_env_response.py +33 -0
  406. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_get_trace_detail_by_env_response_spans_item.py +88 -0
  407. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_get_trace_detail_response.py +33 -0
  408. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_get_trace_detail_response_spans_item.py +88 -0
  409. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_list_by_function_hash_response.py +25 -0
  410. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_list_by_function_hash_response_traces_item.py +44 -0
  411. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_search_by_env_request_attribute_filters_item.py +26 -0
  412. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_search_by_env_request_attribute_filters_item_operator.py +7 -0
  413. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_search_by_env_request_sort_by.py +7 -0
  414. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_search_by_env_request_sort_order.py +7 -0
  415. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_search_by_env_response.py +26 -0
  416. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_search_by_env_response_spans_item.py +50 -0
  417. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_search_request_attribute_filters_item.py +26 -0
  418. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_search_request_attribute_filters_item_operator.py +7 -0
  419. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_search_request_sort_by.py +7 -0
  420. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_search_request_sort_order.py +5 -0
  421. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_search_response.py +26 -0
  422. mirascope-2.0.0/mirascope/api/_generated/traces/types/traces_search_response_spans_item.py +50 -0
  423. mirascope-2.0.0/mirascope/api/_generated/types/__init__.py +85 -0
  424. mirascope-2.0.0/mirascope/api/_generated/types/already_exists_error.py +22 -0
  425. mirascope-2.0.0/mirascope/api/_generated/types/already_exists_error_tag.py +5 -0
  426. mirascope-2.0.0/mirascope/api/_generated/types/bad_request_error_body.py +50 -0
  427. mirascope-2.0.0/mirascope/api/_generated/types/click_house_error.py +22 -0
  428. mirascope-2.0.0/mirascope/api/_generated/types/database_error.py +22 -0
  429. mirascope-2.0.0/mirascope/api/_generated/types/database_error_tag.py +5 -0
  430. mirascope-2.0.0/mirascope/api/_generated/types/date.py +3 -0
  431. mirascope-2.0.0/mirascope/api/_generated/types/http_api_decode_error.py +27 -0
  432. mirascope-2.0.0/mirascope/api/_generated/types/http_api_decode_error_tag.py +5 -0
  433. mirascope-2.0.0/mirascope/api/_generated/types/immutable_resource_error.py +22 -0
  434. mirascope-2.0.0/mirascope/api/_generated/types/internal_server_error_body.py +49 -0
  435. mirascope-2.0.0/mirascope/api/_generated/types/issue.py +38 -0
  436. mirascope-2.0.0/mirascope/api/_generated/types/issue_tag.py +10 -0
  437. mirascope-2.0.0/mirascope/api/_generated/types/not_found_error_body.py +22 -0
  438. mirascope-2.0.0/mirascope/api/_generated/types/not_found_error_tag.py +5 -0
  439. mirascope-2.0.0/mirascope/api/_generated/types/number_from_string.py +3 -0
  440. mirascope-2.0.0/mirascope/api/_generated/types/permission_denied_error.py +22 -0
  441. mirascope-2.0.0/mirascope/api/_generated/types/permission_denied_error_tag.py +5 -0
  442. mirascope-2.0.0/mirascope/api/_generated/types/plan_limit_exceeded_error.py +32 -0
  443. mirascope-2.0.0/mirascope/api/_generated/types/plan_limit_exceeded_error_tag.py +7 -0
  444. mirascope-2.0.0/mirascope/api/_generated/types/pricing_unavailable_error.py +23 -0
  445. mirascope-2.0.0/mirascope/api/_generated/types/property_key.py +7 -0
  446. mirascope-2.0.0/mirascope/api/_generated/types/property_key_key.py +25 -0
  447. mirascope-2.0.0/mirascope/api/_generated/types/property_key_key_tag.py +5 -0
  448. mirascope-2.0.0/mirascope/api/_generated/types/rate_limit_error.py +31 -0
  449. mirascope-2.0.0/mirascope/api/_generated/types/rate_limit_error_tag.py +5 -0
  450. mirascope-2.0.0/mirascope/api/_generated/types/service_unavailable_error_body.py +24 -0
  451. mirascope-2.0.0/mirascope/api/_generated/types/service_unavailable_error_tag.py +7 -0
  452. mirascope-2.0.0/mirascope/api/_generated/types/stripe_error.py +20 -0
  453. mirascope-2.0.0/mirascope/api/_generated/types/subscription_past_due_error.py +31 -0
  454. mirascope-2.0.0/mirascope/api/_generated/types/subscription_past_due_error_tag.py +7 -0
  455. mirascope-2.0.0/mirascope/api/_generated/types/unauthorized_error_body.py +21 -0
  456. mirascope-2.0.0/mirascope/api/_generated/types/unauthorized_error_tag.py +5 -0
  457. mirascope-2.0.0/mirascope/api/client.py +255 -0
  458. mirascope-2.0.0/mirascope/api/settings.py +99 -0
  459. mirascope-2.0.0/mirascope/llm/__init__.py +297 -0
  460. mirascope-2.0.0/mirascope/llm/calls/__init__.py +17 -0
  461. mirascope-2.0.0/mirascope/llm/calls/calls.py +341 -0
  462. mirascope-2.0.0/mirascope/llm/calls/decorator.py +275 -0
  463. mirascope-2.0.0/mirascope/llm/content/__init__.py +71 -0
  464. mirascope-2.0.0/mirascope/llm/content/audio.py +173 -0
  465. mirascope-2.0.0/mirascope/llm/content/document.py +94 -0
  466. mirascope-2.0.0/mirascope/llm/content/image.py +206 -0
  467. mirascope-2.0.0/mirascope/llm/content/text.py +47 -0
  468. mirascope-2.0.0/mirascope/llm/content/thought.py +58 -0
  469. mirascope-2.0.0/mirascope/llm/content/tool_call.py +69 -0
  470. mirascope-2.0.0/mirascope/llm/content/tool_output.py +43 -0
  471. mirascope-2.0.0/mirascope/llm/context/__init__.py +6 -0
  472. mirascope-2.0.0/mirascope/llm/context/_utils.py +41 -0
  473. mirascope-2.0.0/mirascope/llm/context/context.py +24 -0
  474. mirascope-2.0.0/mirascope/llm/exceptions.py +360 -0
  475. mirascope-2.0.0/mirascope/llm/formatting/__init__.py +39 -0
  476. mirascope-2.0.0/mirascope/llm/formatting/format.py +293 -0
  477. mirascope-2.0.0/mirascope/llm/formatting/from_call_args.py +30 -0
  478. mirascope-2.0.0/mirascope/llm/formatting/output_parser.py +178 -0
  479. mirascope-2.0.0/mirascope/llm/formatting/partial.py +131 -0
  480. mirascope-2.0.0/mirascope/llm/formatting/primitives.py +192 -0
  481. mirascope-2.0.0/mirascope/llm/formatting/types.py +66 -0
  482. mirascope-2.0.0/mirascope/llm/mcp/__init__.py +5 -0
  483. mirascope-2.0.0/mirascope/llm/mcp/mcp_client.py +130 -0
  484. mirascope-2.0.0/mirascope/llm/messages/__init__.py +35 -0
  485. mirascope-2.0.0/mirascope/llm/messages/_utils.py +34 -0
  486. mirascope-2.0.0/mirascope/llm/messages/message.py +190 -0
  487. mirascope-2.0.0/mirascope/llm/models/__init__.py +21 -0
  488. mirascope-2.0.0/mirascope/llm/models/models.py +1419 -0
  489. mirascope-2.0.0/mirascope/llm/models/params.py +72 -0
  490. mirascope-2.0.0/mirascope/llm/models/thinking_config.py +61 -0
  491. mirascope-2.0.0/mirascope/llm/prompts/__init__.py +34 -0
  492. mirascope-2.0.0/mirascope/llm/prompts/_utils.py +31 -0
  493. mirascope-2.0.0/mirascope/llm/prompts/decorator.py +226 -0
  494. mirascope-2.0.0/mirascope/llm/prompts/prompts.py +487 -0
  495. mirascope-2.0.0/mirascope/llm/prompts/protocols.py +65 -0
  496. mirascope-2.0.0/mirascope/llm/providers/__init__.py +62 -0
  497. mirascope-2.0.0/mirascope/llm/providers/anthropic/__init__.py +11 -0
  498. mirascope-2.0.0/mirascope/llm/providers/anthropic/_utils/__init__.py +27 -0
  499. mirascope-2.0.0/mirascope/llm/providers/anthropic/_utils/beta_decode.py +282 -0
  500. mirascope-2.0.0/mirascope/llm/providers/anthropic/_utils/beta_encode.py +266 -0
  501. mirascope-2.0.0/mirascope/llm/providers/anthropic/_utils/decode.py +288 -0
  502. mirascope-2.0.0/mirascope/llm/providers/anthropic/_utils/encode.py +418 -0
  503. mirascope-2.0.0/mirascope/llm/providers/anthropic/_utils/errors.py +46 -0
  504. mirascope-2.0.0/mirascope/llm/providers/anthropic/beta_provider.py +374 -0
  505. mirascope-2.0.0/mirascope/llm/providers/anthropic/model_id.py +23 -0
  506. mirascope-2.0.0/mirascope/llm/providers/anthropic/model_info.py +87 -0
  507. mirascope-2.0.0/mirascope/llm/providers/anthropic/provider.py +479 -0
  508. mirascope-2.0.0/mirascope/llm/providers/base/__init__.py +14 -0
  509. mirascope-2.0.0/mirascope/llm/providers/base/_utils.py +253 -0
  510. mirascope-2.0.0/mirascope/llm/providers/base/base_provider.py +1579 -0
  511. mirascope-2.0.0/mirascope/llm/providers/base/kwargs.py +12 -0
  512. mirascope-2.0.0/mirascope/llm/providers/google/__init__.py +6 -0
  513. mirascope-2.0.0/mirascope/llm/providers/google/_utils/__init__.py +17 -0
  514. mirascope-2.0.0/mirascope/llm/providers/google/_utils/decode.py +307 -0
  515. mirascope-2.0.0/mirascope/llm/providers/google/_utils/encode.py +401 -0
  516. mirascope-2.0.0/mirascope/llm/providers/google/_utils/errors.py +50 -0
  517. mirascope-2.0.0/mirascope/llm/providers/google/message.py +7 -0
  518. mirascope-2.0.0/mirascope/llm/providers/google/model_id.py +22 -0
  519. mirascope-2.0.0/mirascope/llm/providers/google/model_info.py +63 -0
  520. mirascope-2.0.0/mirascope/llm/providers/google/provider.py +492 -0
  521. mirascope-2.0.0/mirascope/llm/providers/mirascope/__init__.py +5 -0
  522. mirascope-2.0.0/mirascope/llm/providers/mirascope/_utils.py +73 -0
  523. mirascope-2.0.0/mirascope/llm/providers/mirascope/provider.py +349 -0
  524. mirascope-2.0.0/mirascope/llm/providers/mlx/__init__.py +9 -0
  525. mirascope-2.0.0/mirascope/llm/providers/mlx/_utils.py +141 -0
  526. mirascope-2.0.0/mirascope/llm/providers/mlx/encoding/__init__.py +8 -0
  527. mirascope-2.0.0/mirascope/llm/providers/mlx/encoding/base.py +72 -0
  528. mirascope-2.0.0/mirascope/llm/providers/mlx/encoding/transformers.py +150 -0
  529. mirascope-2.0.0/mirascope/llm/providers/mlx/mlx.py +254 -0
  530. mirascope-2.0.0/mirascope/llm/providers/mlx/model_id.py +17 -0
  531. mirascope-2.0.0/mirascope/llm/providers/mlx/provider.py +452 -0
  532. mirascope-2.0.0/mirascope/llm/providers/model_id.py +16 -0
  533. mirascope-2.0.0/mirascope/llm/providers/ollama/__init__.py +7 -0
  534. mirascope-2.0.0/mirascope/llm/providers/ollama/provider.py +71 -0
  535. mirascope-2.0.0/mirascope/llm/providers/openai/__init__.py +15 -0
  536. mirascope-2.0.0/mirascope/llm/providers/openai/_utils/__init__.py +5 -0
  537. mirascope-2.0.0/mirascope/llm/providers/openai/_utils/errors.py +46 -0
  538. mirascope-2.0.0/mirascope/llm/providers/openai/completions/__init__.py +7 -0
  539. mirascope-2.0.0/mirascope/llm/providers/openai/completions/_utils/__init__.py +15 -0
  540. mirascope-2.0.0/mirascope/llm/providers/openai/completions/_utils/decode.py +252 -0
  541. mirascope-2.0.0/mirascope/llm/providers/openai/completions/_utils/encode.py +376 -0
  542. mirascope-2.0.0/mirascope/llm/providers/openai/completions/base_provider.py +542 -0
  543. mirascope-2.0.0/mirascope/llm/providers/openai/completions/provider.py +22 -0
  544. mirascope-2.0.0/mirascope/llm/providers/openai/model_id.py +31 -0
  545. mirascope-2.0.0/mirascope/llm/providers/openai/model_info.py +303 -0
  546. mirascope-2.0.0/mirascope/llm/providers/openai/provider.py +441 -0
  547. mirascope-2.0.0/mirascope/llm/providers/openai/responses/__init__.py +5 -0
  548. mirascope-2.0.0/mirascope/llm/providers/openai/responses/_utils/__init__.py +15 -0
  549. mirascope-2.0.0/mirascope/llm/providers/openai/responses/_utils/decode.py +260 -0
  550. mirascope-2.0.0/mirascope/llm/providers/openai/responses/_utils/encode.py +384 -0
  551. mirascope-2.0.0/mirascope/llm/providers/openai/responses/provider.py +513 -0
  552. mirascope-2.0.0/mirascope/llm/providers/provider_id.py +24 -0
  553. mirascope-2.0.0/mirascope/llm/providers/provider_registry.py +299 -0
  554. mirascope-2.0.0/mirascope/llm/providers/together/__init__.py +7 -0
  555. mirascope-2.0.0/mirascope/llm/providers/together/provider.py +40 -0
  556. mirascope-2.0.0/mirascope/llm/responses/__init__.py +65 -0
  557. mirascope-2.0.0/mirascope/llm/responses/_utils.py +146 -0
  558. mirascope-2.0.0/mirascope/llm/responses/base_response.py +103 -0
  559. mirascope-2.0.0/mirascope/llm/responses/base_stream_response.py +820 -0
  560. mirascope-2.0.0/mirascope/llm/responses/finish_reason.py +28 -0
  561. mirascope-2.0.0/mirascope/llm/responses/response.py +366 -0
  562. mirascope-2.0.0/mirascope/llm/responses/root_response.py +248 -0
  563. mirascope-2.0.0/mirascope/llm/responses/stream_response.py +581 -0
  564. mirascope-2.0.0/mirascope/llm/responses/streams.py +363 -0
  565. mirascope-2.0.0/mirascope/llm/responses/usage.py +95 -0
  566. mirascope-2.0.0/mirascope/llm/tools/__init__.py +47 -0
  567. mirascope-2.0.0/mirascope/llm/tools/_utils.py +34 -0
  568. mirascope-2.0.0/mirascope/llm/tools/decorator.py +184 -0
  569. mirascope-2.0.0/mirascope/llm/tools/protocols.py +96 -0
  570. mirascope-2.0.0/mirascope/llm/tools/tool_schema.py +314 -0
  571. mirascope-2.0.0/mirascope/llm/tools/toolkit.py +160 -0
  572. mirascope-2.0.0/mirascope/llm/tools/tools.py +263 -0
  573. mirascope-2.0.0/mirascope/llm/types/__init__.py +22 -0
  574. mirascope-2.0.0/mirascope/llm/types/dataclass.py +9 -0
  575. mirascope-2.0.0/mirascope/llm/types/jsonable.py +44 -0
  576. mirascope-2.0.0/mirascope/llm/types/type_vars.py +19 -0
  577. mirascope-2.0.0/mirascope/ops/__init__.py +111 -0
  578. mirascope-2.0.0/mirascope/ops/_internal/__init__.py +5 -0
  579. mirascope-2.0.0/mirascope/ops/_internal/closure.py +1169 -0
  580. mirascope-2.0.0/mirascope/ops/_internal/configuration.py +177 -0
  581. mirascope-2.0.0/mirascope/ops/_internal/context.py +76 -0
  582. mirascope-2.0.0/mirascope/ops/_internal/exporters/__init__.py +26 -0
  583. mirascope-2.0.0/mirascope/ops/_internal/exporters/exporters.py +395 -0
  584. mirascope-2.0.0/mirascope/ops/_internal/exporters/processors.py +104 -0
  585. mirascope-2.0.0/mirascope/ops/_internal/exporters/types.py +165 -0
  586. mirascope-2.0.0/mirascope/ops/_internal/exporters/utils.py +29 -0
  587. mirascope-2.0.0/mirascope/ops/_internal/instrumentation/__init__.py +8 -0
  588. mirascope-2.0.0/mirascope/ops/_internal/instrumentation/llm/__init__.py +8 -0
  589. mirascope-2.0.0/mirascope/ops/_internal/instrumentation/llm/common.py +530 -0
  590. mirascope-2.0.0/mirascope/ops/_internal/instrumentation/llm/cost.py +190 -0
  591. mirascope-2.0.0/mirascope/ops/_internal/instrumentation/llm/encode.py +238 -0
  592. mirascope-2.0.0/mirascope/ops/_internal/instrumentation/llm/gen_ai_types/__init__.py +38 -0
  593. mirascope-2.0.0/mirascope/ops/_internal/instrumentation/llm/gen_ai_types/gen_ai_input_messages.py +31 -0
  594. mirascope-2.0.0/mirascope/ops/_internal/instrumentation/llm/gen_ai_types/gen_ai_output_messages.py +38 -0
  595. mirascope-2.0.0/mirascope/ops/_internal/instrumentation/llm/gen_ai_types/gen_ai_system_instructions.py +18 -0
  596. mirascope-2.0.0/mirascope/ops/_internal/instrumentation/llm/gen_ai_types/shared.py +100 -0
  597. mirascope-2.0.0/mirascope/ops/_internal/instrumentation/llm/llm.py +161 -0
  598. mirascope-2.0.0/mirascope/ops/_internal/instrumentation/llm/model.py +1798 -0
  599. mirascope-2.0.0/mirascope/ops/_internal/instrumentation/llm/response.py +521 -0
  600. mirascope-2.0.0/mirascope/ops/_internal/instrumentation/llm/serialize.py +300 -0
  601. mirascope-2.0.0/mirascope/ops/_internal/propagation.py +198 -0
  602. mirascope-2.0.0/mirascope/ops/_internal/protocols.py +133 -0
  603. mirascope-2.0.0/mirascope/ops/_internal/session.py +139 -0
  604. mirascope-2.0.0/mirascope/ops/_internal/spans.py +232 -0
  605. mirascope-2.0.0/mirascope/ops/_internal/traced_calls.py +375 -0
  606. mirascope-2.0.0/mirascope/ops/_internal/traced_functions.py +523 -0
  607. mirascope-2.0.0/mirascope/ops/_internal/tracing.py +353 -0
  608. mirascope-2.0.0/mirascope/ops/_internal/types.py +13 -0
  609. mirascope-2.0.0/mirascope/ops/_internal/utils.py +123 -0
  610. mirascope-2.0.0/mirascope/ops/_internal/versioned_calls.py +512 -0
  611. mirascope-2.0.0/mirascope/ops/_internal/versioned_functions.py +357 -0
  612. mirascope-2.0.0/mirascope/ops/_internal/versioning.py +303 -0
  613. mirascope-2.0.0/mirascope/ops/exceptions.py +21 -0
  614. mirascope-2.0.0/pyproject.toml +258 -0
  615. mirascope-2.0.0/schemas/gen-ai/gen-ai-input-messages.json +383 -0
  616. mirascope-2.0.0/schemas/gen-ai/gen-ai-output-messages.json +409 -0
  617. mirascope-2.0.0/schemas/gen-ai/gen-ai-system-instructions.json +329 -0
  618. mirascope-2.0.0/scripts/__init__.py +1 -0
  619. mirascope-2.0.0/scripts/example_generator.ts +334 -0
  620. mirascope-2.0.0/scripts/generate_extra_imports.py +240 -0
  621. mirascope-2.0.0/scripts/model_features/__init__.py +38 -0
  622. mirascope-2.0.0/scripts/model_features/codegen_anthropic.py +201 -0
  623. mirascope-2.0.0/scripts/model_features/codegen_google.py +167 -0
  624. mirascope-2.0.0/scripts/model_features/codegen_openai.py +230 -0
  625. mirascope-2.0.0/scripts/model_features/core/__init__.py +22 -0
  626. mirascope-2.0.0/scripts/model_features/core/models.py +131 -0
  627. mirascope-2.0.0/scripts/model_features/core/registry.py +187 -0
  628. mirascope-2.0.0/scripts/model_features/core/runner.py +349 -0
  629. mirascope-2.0.0/scripts/model_features/core/testing.py +72 -0
  630. mirascope-2.0.0/scripts/model_features/data/anthropic.yaml +115 -0
  631. mirascope-2.0.0/scripts/model_features/data/google.yaml +944 -0
  632. mirascope-2.0.0/scripts/model_features/data/openai.yaml +4296 -0
  633. mirascope-2.0.0/scripts/model_features/test_anthropic.py +380 -0
  634. mirascope-2.0.0/scripts/model_features/test_google.py +465 -0
  635. mirascope-2.0.0/scripts/model_features/test_openai.py +566 -0
  636. mirascope-2.0.0/scripts/model_features/update_all.py +143 -0
  637. mirascope-2.0.0/scripts/regenerate_examples.ts +118 -0
  638. mirascope-2.0.0/scripts/validate_extra_imports.sh +30 -0
  639. mirascope-2.0.0/tests/api/test_client.py +199 -0
  640. mirascope-2.0.0/tests/api/test_missing_dependencies.py +81 -0
  641. mirascope-2.0.0/tests/api/test_settings.py +53 -0
  642. mirascope-2.0.0/tests/conftest.py +41 -0
  643. mirascope-2.0.0/tests/e2e/README.md +41 -0
  644. mirascope-2.0.0/tests/e2e/assets/audio/tagline.mp3 +0 -0
  645. mirascope-2.0.0/tests/e2e/assets/images/wikipedia.png +0 -0
  646. mirascope-2.0.0/tests/e2e/conftest.py +219 -0
  647. mirascope-2.0.0/tests/e2e/input/README.md +60 -0
  648. mirascope-2.0.0/tests/e2e/input/cassettes/test_authentication_error/anthropic_beta_claude_sonnet_4_0.yaml +82 -0
  649. mirascope-2.0.0/tests/e2e/input/cassettes/test_authentication_error/anthropic_claude_sonnet_4_0.yaml +78 -0
  650. mirascope-2.0.0/tests/e2e/input/cassettes/test_authentication_error/google_gemini_2_5_flash.yaml +62 -0
  651. mirascope-2.0.0/tests/e2e/input/cassettes/test_authentication_error/openai_gpt_4o_completions.yaml +85 -0
  652. mirascope-2.0.0/tests/e2e/input/cassettes/test_authentication_error/openai_gpt_4o_responses.yaml +87 -0
  653. mirascope-2.0.0/tests/e2e/input/cassettes/test_authentication_error_stream/anthropic_beta_claude_sonnet_4_0.yaml +84 -0
  654. mirascope-2.0.0/tests/e2e/input/cassettes/test_authentication_error_stream/anthropic_claude_sonnet_4_0.yaml +82 -0
  655. mirascope-2.0.0/tests/e2e/input/cassettes/test_authentication_error_stream/google_gemini_2_5_flash.yaml +62 -0
  656. mirascope-2.0.0/tests/e2e/input/cassettes/test_authentication_error_stream/openai_gpt_4o_completions.yaml +81 -0
  657. mirascope-2.0.0/tests/e2e/input/cassettes/test_authentication_error_stream/openai_gpt_4o_responses.yaml +83 -0
  658. mirascope-2.0.0/tests/e2e/input/cassettes/test_caching_multi_turn_conversation/anthropic_beta_claude_sonnet_4_0.yaml +1104 -0
  659. mirascope-2.0.0/tests/e2e/input/cassettes/test_caching_multi_turn_conversation/anthropic_claude_sonnet_4_0.yaml +1076 -0
  660. mirascope-2.0.0/tests/e2e/input/cassettes/test_caching_multi_turn_conversation/google_gemini_2_5_flash.yaml +900 -0
  661. mirascope-2.0.0/tests/e2e/input/cassettes/test_caching_multi_turn_conversation/openai_gpt_4o_completions.yaml +971 -0
  662. mirascope-2.0.0/tests/e2e/input/cassettes/test_caching_multi_turn_conversation/openai_gpt_4o_responses.yaml +958 -0
  663. mirascope-2.0.0/tests/e2e/input/cassettes/test_caching_system_message/anthropic_beta_claude_sonnet_4_0.yaml +659 -0
  664. mirascope-2.0.0/tests/e2e/input/cassettes/test_caching_system_message/anthropic_claude_sonnet_4_0.yaml +652 -0
  665. mirascope-2.0.0/tests/e2e/input/cassettes/test_caching_system_message/google_gemini_2_5_flash.yaml +527 -0
  666. mirascope-2.0.0/tests/e2e/input/cassettes/test_caching_system_message/mlx_community_Qwen3_0_6B_4bit_DWQ_053125.yaml +120 -0
  667. mirascope-2.0.0/tests/e2e/input/cassettes/test_caching_system_message/openai_gpt_4o_completions.yaml +636 -0
  668. mirascope-2.0.0/tests/e2e/input/cassettes/test_caching_system_message/openai_gpt_4o_responses.yaml +632 -0
  669. mirascope-2.0.0/tests/e2e/input/cassettes/test_caching_tool/anthropic_beta_claude_sonnet_4_0.yaml +640 -0
  670. mirascope-2.0.0/tests/e2e/input/cassettes/test_caching_tool/anthropic_claude_sonnet_4_0.yaml +632 -0
  671. mirascope-2.0.0/tests/e2e/input/cassettes/test_caching_tool/google_gemini_2_5_flash.yaml +552 -0
  672. mirascope-2.0.0/tests/e2e/input/cassettes/test_caching_tool/openai_gpt_4o_completions.yaml +1271 -0
  673. mirascope-2.0.0/tests/e2e/input/cassettes/test_caching_tool/openai_gpt_4o_responses.yaml +1741 -0
  674. mirascope-2.0.0/tests/e2e/input/cassettes/test_caching_user_message/anthropic_beta_claude_sonnet_4_0.yaml +676 -0
  675. mirascope-2.0.0/tests/e2e/input/cassettes/test_caching_user_message/anthropic_claude_sonnet_4_0.yaml +662 -0
  676. mirascope-2.0.0/tests/e2e/input/cassettes/test_caching_user_message/google_gemini_2_5_flash.yaml +587 -0
  677. mirascope-2.0.0/tests/e2e/input/cassettes/test_caching_user_message/openai_gpt_4o_completions.yaml +642 -0
  678. mirascope-2.0.0/tests/e2e/input/cassettes/test_caching_user_message/openai_gpt_4o_responses.yaml +634 -0
  679. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_non_openai_models_through_openai/anthropic_claude_sonnet_4_5.yaml +89 -0
  680. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_audio/google_gemini_2_5_flash.yaml +62 -0
  681. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_audio/mlx_community_Qwen3_0_6B_4bit_DWQ_053125.yaml +592 -0
  682. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_audio/openai_gpt_audio.yaml +111 -0
  683. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_empty_string/google_gemini_2_5_flash.yaml +94 -0
  684. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_empty_string/mlx_mlx_community_Qwen3_0_6B_4bit_DWQ_053125.yaml +120 -0
  685. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_empty_string/openai_gpt_4o_completions.yaml +110 -0
  686. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_empty_string/openai_gpt_4o_responses.yaml +110 -0
  687. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_image_content/anthropic_beta_claude_sonnet_4_0.yaml +114 -0
  688. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_image_content/anthropic_claude_sonnet_4_0.yaml +110 -0
  689. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_image_content/google_gemini_2_5_flash.yaml +64 -0
  690. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_image_content/openai_gpt_4o_completions.yaml +118 -0
  691. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_image_content/openai_gpt_4o_responses.yaml +110 -0
  692. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_image_url/anthropic_beta_claude_sonnet_4_0.yaml +114 -0
  693. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_image_url/anthropic_claude_sonnet_4_0.yaml +110 -0
  694. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_image_url/openai_gpt_4o_completions.yaml +112 -0
  695. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_image_url/openai_gpt_4o_responses.yaml +104 -0
  696. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_mcp_tools/anthropic_claude_haiku_4_5.yaml +417 -0
  697. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_params/anthropic_beta_claude_sonnet_4_0.yaml +112 -0
  698. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_params/anthropic_claude_sonnet_4_0.yaml +108 -0
  699. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_params/google_gemini_2_5_flash.yaml +128 -0
  700. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_params/openai_gpt_4o_completions.yaml +112 -0
  701. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_params/openai_gpt_4o_responses.yaml +112 -0
  702. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_parse_error/anthropic_beta_claude_sonnet_4_0.yaml +236 -0
  703. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_parse_error/anthropic_claude_sonnet_4_0.yaml +344 -0
  704. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_parse_error/google_gemini_2_5_flash.yaml +129 -0
  705. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_parse_error/mlx_community_Qwen3_0_6B_4bit_DWQ_053125.yaml +120 -0
  706. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_parse_error/openai_gpt_4o_completions.yaml +222 -0
  707. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_parse_error/openai_gpt_4o_responses.yaml +222 -0
  708. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_strict_tool_and_optional_properties/anthropic_beta_claude_sonnet_4_5.yaml +118 -0
  709. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_strict_tool_and_optional_properties/mlx_community_Qwen3_0_6B_4bit_DWQ_053125.yaml +120 -0
  710. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_strict_tool_and_optional_properties/openai_gpt_4o_completions.yaml +120 -0
  711. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_strict_tool_and_optional_properties/openai_gpt_4o_responses.yaml +122 -0
  712. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_text_encoded_thoughts/anthropic_beta_claude_sonnet_4_0.yaml +142 -0
  713. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_text_encoded_thoughts/anthropic_claude_sonnet_4_0.yaml +139 -0
  714. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_text_encoded_thoughts/google_gemini_2_5_flash.yaml +152 -0
  715. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_text_encoded_thoughts/openai_gpt_4o_completions.yaml +124 -0
  716. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_text_encoded_thoughts/openai_gpt_4o_responses.yaml +123 -0
  717. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_tool_error/anthropic_beta_claude_sonnet_4_0.yaml +347 -0
  718. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_tool_error/anthropic_claude_sonnet_4_0.yaml +337 -0
  719. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_tool_error/google_gemini_2_5_flash.yaml +221 -0
  720. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_tool_error/mlx_community_Qwen3_0_6B_4bit_DWQ_053125.yaml +120 -0
  721. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_tool_error/openai_gpt_4o_completions.yaml +226 -0
  722. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_tool_error/openai_gpt_4o_responses.yaml +117 -0
  723. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_two_empty_string/google_gemini_2_5_flash.yaml +65 -0
  724. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_two_empty_string/openai_gpt_4o_completions.yaml +104 -0
  725. mirascope-2.0.0/tests/e2e/input/cassettes/test_call_with_two_empty_string/openai_gpt_4o_responses.yaml +104 -0
  726. mirascope-2.0.0/tests/e2e/input/cassettes/test_mirascope_provider/anthropic_claude_haiku_4_5.yaml +106 -0
  727. mirascope-2.0.0/tests/e2e/input/cassettes/test_mirascope_provider/google_gemini_2_5_flash.yaml +66 -0
  728. mirascope-2.0.0/tests/e2e/input/cassettes/test_mirascope_provider/openai_gpt_5_mini.yaml +124 -0
  729. mirascope-2.0.0/tests/e2e/input/cassettes/test_mirascope_provider/openai_gpt_5_mini_completions.yaml +116 -0
  730. mirascope-2.0.0/tests/e2e/input/cassettes/test_mirascope_provider/openai_gpt_5_mini_responses.yaml +124 -0
  731. mirascope-2.0.0/tests/e2e/input/cassettes/test_mirascope_provider_streaming/anthropic_claude_haiku_4_5.yaml +168 -0
  732. mirascope-2.0.0/tests/e2e/input/cassettes/test_mirascope_provider_streaming/google_gemini_2_5_flash.yaml +70 -0
  733. mirascope-2.0.0/tests/e2e/input/cassettes/test_mirascope_provider_streaming/openai_gpt_5_mini.yaml +150 -0
  734. mirascope-2.0.0/tests/e2e/input/cassettes/test_mirascope_provider_streaming/openai_gpt_5_mini_completions.yaml +124 -0
  735. mirascope-2.0.0/tests/e2e/input/cassettes/test_mirascope_provider_streaming/openai_gpt_5_mini_responses.yaml +150 -0
  736. mirascope-2.0.0/tests/e2e/input/cassettes/test_model_not_found/anthropic_beta_claude_sonnet_4_0.yaml +174 -0
  737. mirascope-2.0.0/tests/e2e/input/cassettes/test_model_not_found/anthropic_claude_sonnet_4_0.yaml +166 -0
  738. mirascope-2.0.0/tests/e2e/input/cassettes/test_model_not_found/google_gemini_2_5_flash.yaml +120 -0
  739. mirascope-2.0.0/tests/e2e/input/cassettes/test_model_not_found/mlx_community_Qwen3_0_6B_4bit_DWQ_053125.yaml +130 -0
  740. mirascope-2.0.0/tests/e2e/input/cassettes/test_model_not_found/openai_gpt_4o_completions.yaml +174 -0
  741. mirascope-2.0.0/tests/e2e/input/cassettes/test_model_not_found/openai_gpt_4o_responses.yaml +174 -0
  742. mirascope-2.0.0/tests/e2e/input/cassettes/test_model_not_found_stream/anthropic_beta_claude_sonnet_4_0.yaml +178 -0
  743. mirascope-2.0.0/tests/e2e/input/cassettes/test_model_not_found_stream/anthropic_claude_sonnet_4_0.yaml +174 -0
  744. mirascope-2.0.0/tests/e2e/input/cassettes/test_model_not_found_stream/google_gemini_2_5_flash.yaml +114 -0
  745. mirascope-2.0.0/tests/e2e/input/cassettes/test_model_not_found_stream/mlx_community_Qwen3_0_6B_4bit_DWQ_053125.yaml +130 -0
  746. mirascope-2.0.0/tests/e2e/input/cassettes/test_model_not_found_stream/openai_gpt_4o_completions.yaml +166 -0
  747. mirascope-2.0.0/tests/e2e/input/cassettes/test_model_not_found_stream/openai_gpt_4o_responses.yaml +166 -0
  748. mirascope-2.0.0/tests/e2e/input/cassettes/test_ollama_provider/ollama_gemma3_4b.yaml +55 -0
  749. mirascope-2.0.0/tests/e2e/input/cassettes/test_openai_completions_provider/openai_gpt_4o_mini.yaml +110 -0
  750. mirascope-2.0.0/tests/e2e/input/cassettes/test_openai_completions_provider/openai_gpt_4o_mini_completions.yaml +104 -0
  751. mirascope-2.0.0/tests/e2e/input/cassettes/test_openai_responses_provider/openai_gpt_4o_mini.yaml +110 -0
  752. mirascope-2.0.0/tests/e2e/input/cassettes/test_openai_responses_provider/openai_gpt_4o_mini_responses.yaml +104 -0
  753. mirascope-2.0.0/tests/e2e/input/cassettes/test_resume_with_override/anthropic_beta_claude_sonnet_4_0.yaml +173 -0
  754. mirascope-2.0.0/tests/e2e/input/cassettes/test_resume_with_override/anthropic_claude_sonnet_4_0.yaml +169 -0
  755. mirascope-2.0.0/tests/e2e/input/cassettes/test_resume_with_override/google_gemini_2_5_flash.yaml +168 -0
  756. mirascope-2.0.0/tests/e2e/input/cassettes/test_resume_with_override/mlx_community_Qwen3_0_6B_4bit_DWQ_053125.yaml +292 -0
  757. mirascope-2.0.0/tests/e2e/input/cassettes/test_resume_with_override/openai_gpt_4o_completions.yaml +171 -0
  758. mirascope-2.0.0/tests/e2e/input/cassettes/test_resume_with_override/openai_gpt_4o_responses.yaml +170 -0
  759. mirascope-2.0.0/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/anthropic_beta_claude_sonnet_4_0.yaml +185 -0
  760. mirascope-2.0.0/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/anthropic_claude_sonnet_4_0.yaml +365 -0
  761. mirascope-2.0.0/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/google_gemini_2_5_flash.yaml +191 -0
  762. mirascope-2.0.0/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/mlx_community_Qwen3_0_6B_4bit_DWQ_053125.yaml +266 -0
  763. mirascope-2.0.0/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/openai_gpt_4o_completions.yaml +554 -0
  764. mirascope-2.0.0/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/openai_gpt_4o_responses.yaml +571 -0
  765. mirascope-2.0.0/tests/e2e/input/cassettes/test_strict_mode/anthropic_claude_sonnet_4_5.yaml +114 -0
  766. mirascope-2.0.0/tests/e2e/input/cassettes/test_strict_mode/google_gemini_3_pro_preview.yaml +77 -0
  767. mirascope-2.0.0/tests/e2e/input/cassettes/test_strict_mode_streamed/anthropic_claude_sonnet_4_5.yaml +164 -0
  768. mirascope-2.0.0/tests/e2e/input/cassettes/test_strict_mode_streamed/google_gemini_3_pro_preview.yaml +70 -0
  769. mirascope-2.0.0/tests/e2e/input/cassettes/test_strict_mode_with_streamed_thinking/anthropic_claude_sonnet_4_5.yaml +348 -0
  770. mirascope-2.0.0/tests/e2e/input/cassettes/test_strict_mode_with_streamed_thinking/google_gemini_3_pro_preview.yaml +166 -0
  771. mirascope-2.0.0/tests/e2e/input/cassettes/test_strict_mode_with_thinking/anthropic_claude_sonnet_4_5.yaml +131 -0
  772. mirascope-2.0.0/tests/e2e/input/cassettes/test_strict_mode_with_thinking/google_gemini_3_pro_preview.yaml +185 -0
  773. mirascope-2.0.0/tests/e2e/input/cassettes/test_strict_mode_with_tools/anthropic_claude_sonnet_4_5.yaml +229 -0
  774. mirascope-2.0.0/tests/e2e/input/cassettes/test_strict_mode_with_tools/google_gemini_3_pro_preview.yaml +154 -0
  775. mirascope-2.0.0/tests/e2e/input/cassettes/test_strict_mode_with_tools_streamed/anthropic_claude_sonnet_4_5.yaml +322 -0
  776. mirascope-2.0.0/tests/e2e/input/cassettes/test_strict_mode_with_tools_streamed/google_gemini_3_pro_preview.yaml +158 -0
  777. mirascope-2.0.0/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/anthropic_claude_sonnet_4_0.yaml +114 -0
  778. mirascope-2.0.0/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/anthropic_claude_sonnet_4_5.yaml +114 -0
  779. mirascope-2.0.0/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/google_gemini_2_5_flash.yaml +72 -0
  780. mirascope-2.0.0/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/anthropic_beta_claude_sonnet_4_0.yaml +116 -0
  781. mirascope-2.0.0/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/anthropic_claude_sonnet_4_0.yaml +112 -0
  782. mirascope-2.0.0/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/anthropic_claude_sonnet_4_5.yaml +112 -0
  783. mirascope-2.0.0/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/google_gemini_2_5_flash.yaml +68 -0
  784. mirascope-2.0.0/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/openai_gpt_4o_completions.yaml +112 -0
  785. mirascope-2.0.0/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/openai_gpt_4o_responses.yaml +107 -0
  786. mirascope-2.0.0/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/openai_gpt_4o_completions.yaml +112 -0
  787. mirascope-2.0.0/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/openai_gpt_4o_responses.yaml +110 -0
  788. mirascope-2.0.0/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/strict/anthropic_claude_sonnet_4_5.yaml +116 -0
  789. mirascope-2.0.0/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/strict/google_gemini_2_5_flash.yaml +72 -0
  790. mirascope-2.0.0/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/strict/openai_gpt_4o_completions.yaml +115 -0
  791. mirascope-2.0.0/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/strict/openai_gpt_4o_responses.yaml +110 -0
  792. mirascope-2.0.0/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/anthropic_beta_claude_sonnet_4_0.yaml +118 -0
  793. mirascope-2.0.0/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/anthropic_claude_sonnet_4_0.yaml +114 -0
  794. mirascope-2.0.0/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/anthropic_claude_sonnet_4_5.yaml +114 -0
  795. mirascope-2.0.0/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/google_gemini_2_5_flash.yaml +84 -0
  796. mirascope-2.0.0/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/openai_gpt_4o_completions.yaml +115 -0
  797. mirascope-2.0.0/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/openai_gpt_4o_responses.yaml +112 -0
  798. mirascope-2.0.0/tests/e2e/input/cassettes/test_structured_output_with_output_parser/anthropic_claude_haiku_4_5.yaml +110 -0
  799. mirascope-2.0.0/tests/e2e/input/cassettes/test_structured_output_with_primitive_types_int/anthropic_claude_haiku_4_5.yaml +112 -0
  800. mirascope-2.0.0/tests/e2e/input/cassettes/test_structured_output_with_primitive_types_list/anthropic_claude_haiku_4_5.yaml +114 -0
  801. mirascope-2.0.0/tests/e2e/input/cassettes/test_structured_stream_async/anthropic_claude_haiku_4_5.yaml +269 -0
  802. mirascope-2.0.0/tests/e2e/input/cassettes/test_structured_stream_sync/anthropic_claude_haiku_4_5.yaml +277 -0
  803. mirascope-2.0.0/tests/e2e/input/cassettes/test_together_provider/meta_llama_Llama_3_3_70B_Instruct_Turbo.yaml +105 -0
  804. mirascope-2.0.0/tests/e2e/input/conftest.py +115 -0
  805. mirascope-2.0.0/tests/e2e/input/mlx_lm_cassettes/test_caching_multi_turn_conversation_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +9107 -0
  806. mirascope-2.0.0/tests/e2e/input/mlx_lm_cassettes/test_caching_system_message_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +2985 -0
  807. mirascope-2.0.0/tests/e2e/input/mlx_lm_cassettes/test_caching_tool_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  808. mirascope-2.0.0/tests/e2e/input/mlx_lm_cassettes/test_caching_user_message_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +5360 -0
  809. mirascope-2.0.0/tests/e2e/input/mlx_lm_cassettes/test_call_with_audio_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  810. mirascope-2.0.0/tests/e2e/input/mlx_lm_cassettes/test_call_with_empty_array_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  811. mirascope-2.0.0/tests/e2e/input/mlx_lm_cassettes/test_call_with_empty_string_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1767 -0
  812. mirascope-2.0.0/tests/e2e/input/mlx_lm_cassettes/test_call_with_image_content_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  813. mirascope-2.0.0/tests/e2e/input/mlx_lm_cassettes/test_call_with_image_url_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  814. mirascope-2.0.0/tests/e2e/input/mlx_lm_cassettes/test_call_with_params_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +2519 -0
  815. mirascope-2.0.0/tests/e2e/input/mlx_lm_cassettes/test_call_with_parse_error_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  816. mirascope-2.0.0/tests/e2e/input/mlx_lm_cassettes/test_call_with_strict_tool_and_optional_properties_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  817. mirascope-2.0.0/tests/e2e/input/mlx_lm_cassettes/test_call_with_text_encoded_thoughts_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  818. mirascope-2.0.0/tests/e2e/input/mlx_lm_cassettes/test_call_with_tool_error_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  819. mirascope-2.0.0/tests/e2e/input/mlx_lm_cassettes/test_call_with_two_empty_string_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  820. mirascope-2.0.0/tests/e2e/input/mlx_lm_cassettes/test_conversation_caching_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +9870 -0
  821. mirascope-2.0.0/tests/e2e/input/mlx_lm_cassettes/test_model_not_found_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  822. mirascope-2.0.0/tests/e2e/input/mlx_lm_cassettes/test_model_not_found_stream_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  823. mirascope-2.0.0/tests/e2e/input/mlx_lm_cassettes/test_resume_with_override_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +787 -0
  824. mirascope-2.0.0/tests/e2e/input/mlx_lm_cassettes/test_resume_with_override_thinking_and_tools_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  825. mirascope-2.0.0/tests/e2e/input/mlx_lm_cassettes/test_structured_output_with_formatting_instructions_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  826. mirascope-2.0.0/tests/e2e/input/mlx_lm_cassettes/test_structured_output_with_formatting_instructions_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  827. mirascope-2.0.0/tests/e2e/input/mlx_lm_cassettes/test_structured_output_with_formatting_instructions_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  828. mirascope-2.0.0/tests/e2e/input/mlx_lm_cassettes/test_structured_output_with_formatting_instructions_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  829. mirascope-2.0.0/tests/e2e/input/mlx_lm_cassettes/test_system_message_caching_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +5065 -0
  830. mirascope-2.0.0/tests/e2e/input/mlx_lm_cassettes/test_tool_caching_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  831. mirascope-2.0.0/tests/e2e/input/mlx_lm_cassettes/test_user_message_caching_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +7311 -0
  832. mirascope-2.0.0/tests/e2e/input/snapshots/test_caching_multi_turn_conversation/anthropic_beta_claude_sonnet_4_0_snapshots.py +140 -0
  833. mirascope-2.0.0/tests/e2e/input/snapshots/test_caching_multi_turn_conversation/anthropic_claude_sonnet_4_0_snapshots.py +139 -0
  834. mirascope-2.0.0/tests/e2e/input/snapshots/test_caching_multi_turn_conversation/google_gemini_2_5_flash_snapshots.py +91 -0
  835. mirascope-2.0.0/tests/e2e/input/snapshots/test_caching_multi_turn_conversation/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +144 -0
  836. mirascope-2.0.0/tests/e2e/input/snapshots/test_caching_multi_turn_conversation/openai_gpt_4o_completions_snapshots.py +40 -0
  837. mirascope-2.0.0/tests/e2e/input/snapshots/test_caching_multi_turn_conversation/openai_gpt_4o_responses_snapshots.py +42 -0
  838. mirascope-2.0.0/tests/e2e/input/snapshots/test_caching_system_message/anthropic_beta_claude_sonnet_4_0_snapshots.py +62 -0
  839. mirascope-2.0.0/tests/e2e/input/snapshots/test_caching_system_message/anthropic_claude_sonnet_4_0_snapshots.py +62 -0
  840. mirascope-2.0.0/tests/e2e/input/snapshots/test_caching_system_message/google_gemini_2_5_flash_snapshots.py +48 -0
  841. mirascope-2.0.0/tests/e2e/input/snapshots/test_caching_system_message/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +52 -0
  842. mirascope-2.0.0/tests/e2e/input/snapshots/test_caching_system_message/openai_gpt_4o_completions_snapshots.py +26 -0
  843. mirascope-2.0.0/tests/e2e/input/snapshots/test_caching_system_message/openai_gpt_4o_responses_snapshots.py +26 -0
  844. mirascope-2.0.0/tests/e2e/input/snapshots/test_caching_tool/anthropic_beta_claude_sonnet_4_0_snapshots.py +26 -0
  845. mirascope-2.0.0/tests/e2e/input/snapshots/test_caching_tool/anthropic_claude_sonnet_4_0_snapshots.py +26 -0
  846. mirascope-2.0.0/tests/e2e/input/snapshots/test_caching_tool/google_gemini_2_5_flash_snapshots.py +40 -0
  847. mirascope-2.0.0/tests/e2e/input/snapshots/test_caching_tool/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  848. mirascope-2.0.0/tests/e2e/input/snapshots/test_caching_tool/openai_gpt_4o_completions_snapshots.py +26 -0
  849. mirascope-2.0.0/tests/e2e/input/snapshots/test_caching_tool/openai_gpt_4o_responses_snapshots.py +26 -0
  850. mirascope-2.0.0/tests/e2e/input/snapshots/test_caching_user_message/anthropic_beta_claude_sonnet_4_0_snapshots.py +82 -0
  851. mirascope-2.0.0/tests/e2e/input/snapshots/test_caching_user_message/anthropic_claude_sonnet_4_0_snapshots.py +78 -0
  852. mirascope-2.0.0/tests/e2e/input/snapshots/test_caching_user_message/google_gemini_2_5_flash_snapshots.py +100 -0
  853. mirascope-2.0.0/tests/e2e/input/snapshots/test_caching_user_message/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +170 -0
  854. mirascope-2.0.0/tests/e2e/input/snapshots/test_caching_user_message/openai_gpt_4o_completions_snapshots.py +40 -0
  855. mirascope-2.0.0/tests/e2e/input/snapshots/test_caching_user_message/openai_gpt_4o_responses_snapshots.py +36 -0
  856. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_non_openai_models_through_openai/anthropic_claude_sonnet_4_5_snapshots.py +40 -0
  857. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_audio/anthropic_beta_claude_sonnet_4_0_snapshots.py +13 -0
  858. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_audio/anthropic_claude_sonnet_4_0_snapshots.py +13 -0
  859. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_audio/google_gemini_2_5_flash_snapshots.py +78 -0
  860. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_audio/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  861. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_audio/openai_gpt_4o_completions_snapshots.py +13 -0
  862. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_audio/openai_gpt_4o_responses_snapshots.py +13 -0
  863. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_audio/openai_gpt_audio_snapshots.py +57 -0
  864. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_empty_array/anthropic_beta_claude_sonnet_4_0_snapshots.py +10 -0
  865. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_empty_array/anthropic_claude_sonnet_4_0_snapshots.py +10 -0
  866. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_empty_array/google_gemini_2_5_flash_snapshots.py +10 -0
  867. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_empty_array/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  868. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_empty_array/openai_gpt_4o_completions_snapshots.py +10 -0
  869. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_empty_array/openai_gpt_4o_responses_snapshots.py +10 -0
  870. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_empty_string/anthropic_beta_claude_sonnet_4_0_snapshots.py +13 -0
  871. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_empty_string/anthropic_claude_sonnet_4_0_snapshots.py +13 -0
  872. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_empty_string/google_gemini_2_5_flash_snapshots.py +338 -0
  873. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_empty_string/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +62 -0
  874. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_empty_string/openai_gpt_4o_completions_snapshots.py +48 -0
  875. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_empty_string/openai_gpt_4o_responses_snapshots.py +59 -0
  876. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_image_content/anthropic_beta_claude_sonnet_4_0_snapshots.py +65 -0
  877. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_image_content/anthropic_claude_sonnet_4_0_snapshots.py +66 -0
  878. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_image_content/google_gemini_2_5_flash_snapshots.py +82 -0
  879. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_image_content/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  880. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_image_content/openai_gpt_4o_completions_snapshots.py +61 -0
  881. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_image_content/openai_gpt_4o_responses_snapshots.py +72 -0
  882. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_image_url/anthropic_beta_claude_sonnet_4_0_snapshots.py +64 -0
  883. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_image_url/anthropic_claude_sonnet_4_0_snapshots.py +65 -0
  884. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_image_url/google_gemini_2_5_flash_snapshots.py +13 -0
  885. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_image_url/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  886. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_image_url/openai_gpt_4o_completions_snapshots.py +60 -0
  887. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_image_url/openai_gpt_4o_responses_snapshots.py +71 -0
  888. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_mcp_tools/anthropic_claude_haiku_4_5_snapshots.py +352 -0
  889. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_params/anthropic_beta_claude_sonnet_4_0_snapshots.py +58 -0
  890. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_params/anthropic_claude_sonnet_4_0_snapshots.py +64 -0
  891. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_params/google_gemini_2_5_flash_snapshots.py +94 -0
  892. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_params/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +81 -0
  893. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_params/openai_gpt_4o_completions_snapshots.py +59 -0
  894. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_params/openai_gpt_4o_responses_snapshots.py +75 -0
  895. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_parse_error/anthropic_beta_claude_sonnet_4_0_snapshots.py +101 -0
  896. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_parse_error/anthropic_claude_sonnet_4_0_snapshots.py +127 -0
  897. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_parse_error/google_gemini_2_5_flash_snapshots.py +109 -0
  898. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_parse_error/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  899. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_parse_error/openai_gpt_4o_completions_snapshots.py +78 -0
  900. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_parse_error/openai_gpt_4o_responses_snapshots.py +100 -0
  901. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_strict_tool_and_optional_properties/anthropic_beta_claude_sonnet_4_0_snapshots.py +13 -0
  902. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_strict_tool_and_optional_properties/anthropic_beta_claude_sonnet_4_5_snapshots.py +93 -0
  903. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_strict_tool_and_optional_properties/anthropic_claude_sonnet_4_0_snapshots.py +13 -0
  904. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_strict_tool_and_optional_properties/google_gemini_2_5_flash_snapshots.py +13 -0
  905. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_strict_tool_and_optional_properties/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  906. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_strict_tool_and_optional_properties/openai_gpt_4o_completions_snapshots.py +96 -0
  907. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_strict_tool_and_optional_properties/openai_gpt_4o_responses_snapshots.py +92 -0
  908. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/anthropic_beta_claude_sonnet_4_0_snapshots.py +3 -0
  909. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/anthropic_claude_sonnet_4_0_snapshots.py +3 -0
  910. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/google_gemini_2_5_flash_snapshots.py +3 -0
  911. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  912. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/openai_gpt_4o_completions_snapshots.py +3 -0
  913. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/openai_gpt_4o_responses_snapshots.py +10 -0
  914. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_tool_error/anthropic_beta_claude_sonnet_4_0_snapshots.py +182 -0
  915. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_tool_error/anthropic_claude_sonnet_4_0_snapshots.py +193 -0
  916. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_tool_error/google_gemini_2_5_flash_snapshots.py +204 -0
  917. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_tool_error/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  918. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_tool_error/openai_gpt_4o_completions_snapshots.py +128 -0
  919. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_tool_error/openai_gpt_4o_responses_snapshots.py +87 -0
  920. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_two_empty_string/anthropic_beta_claude_sonnet_4_0_snapshots.py +13 -0
  921. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_two_empty_string/anthropic_claude_sonnet_4_0_snapshots.py +13 -0
  922. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_two_empty_string/google_gemini_2_5_flash_snapshots.py +96 -0
  923. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_two_empty_string/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  924. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_two_empty_string/openai_gpt_4o_completions_snapshots.py +44 -0
  925. mirascope-2.0.0/tests/e2e/input/snapshots/test_call_with_two_empty_string/openai_gpt_4o_responses_snapshots.py +59 -0
  926. mirascope-2.0.0/tests/e2e/input/snapshots/test_mirascope_provider/anthropic_claude_haiku_4_5_snapshots.py +49 -0
  927. mirascope-2.0.0/tests/e2e/input/snapshots/test_mirascope_provider/google_gemini_2_5_flash_snapshots.py +84 -0
  928. mirascope-2.0.0/tests/e2e/input/snapshots/test_mirascope_provider/openai_gpt_5_mini_completions_snapshots.py +44 -0
  929. mirascope-2.0.0/tests/e2e/input/snapshots/test_mirascope_provider/openai_gpt_5_mini_responses_snapshots.py +60 -0
  930. mirascope-2.0.0/tests/e2e/input/snapshots/test_mirascope_provider/openai_gpt_5_mini_snapshots.py +60 -0
  931. mirascope-2.0.0/tests/e2e/input/snapshots/test_mirascope_provider_streaming/anthropic_claude_haiku_4_5_snapshots.py +43 -0
  932. mirascope-2.0.0/tests/e2e/input/snapshots/test_mirascope_provider_streaming/google_gemini_2_5_flash_snapshots.py +92 -0
  933. mirascope-2.0.0/tests/e2e/input/snapshots/test_mirascope_provider_streaming/openai_gpt_5_mini_completions_snapshots.py +40 -0
  934. mirascope-2.0.0/tests/e2e/input/snapshots/test_mirascope_provider_streaming/openai_gpt_5_mini_responses_snapshots.py +60 -0
  935. mirascope-2.0.0/tests/e2e/input/snapshots/test_mirascope_provider_streaming/openai_gpt_5_mini_snapshots.py +60 -0
  936. mirascope-2.0.0/tests/e2e/input/snapshots/test_ollama_provider/ollama_gemma3_4b_snapshots.py +40 -0
  937. mirascope-2.0.0/tests/e2e/input/snapshots/test_openai_completions_provider/openai_gpt_4o_mini_completions_snapshots.py +44 -0
  938. mirascope-2.0.0/tests/e2e/input/snapshots/test_openai_completions_provider/openai_gpt_4o_mini_responses_snapshots.py +13 -0
  939. mirascope-2.0.0/tests/e2e/input/snapshots/test_openai_completions_provider/openai_gpt_4o_mini_snapshots.py +44 -0
  940. mirascope-2.0.0/tests/e2e/input/snapshots/test_openai_responses_provider/openai_gpt_4o_mini_completions_snapshots.py +13 -0
  941. mirascope-2.0.0/tests/e2e/input/snapshots/test_openai_responses_provider/openai_gpt_4o_mini_responses_snapshots.py +55 -0
  942. mirascope-2.0.0/tests/e2e/input/snapshots/test_openai_responses_provider/openai_gpt_4o_mini_snapshots.py +55 -0
  943. mirascope-2.0.0/tests/e2e/input/snapshots/test_resume_with_override/anthropic_beta_claude_sonnet_4_0_snapshots.py +79 -0
  944. mirascope-2.0.0/tests/e2e/input/snapshots/test_resume_with_override/anthropic_claude_sonnet_4_0_snapshots.py +80 -0
  945. mirascope-2.0.0/tests/e2e/input/snapshots/test_resume_with_override/google_gemini_2_5_flash_snapshots.py +91 -0
  946. mirascope-2.0.0/tests/e2e/input/snapshots/test_resume_with_override/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +79 -0
  947. mirascope-2.0.0/tests/e2e/input/snapshots/test_resume_with_override/openai_gpt_4o_completions_snapshots.py +75 -0
  948. mirascope-2.0.0/tests/e2e/input/snapshots/test_resume_with_override/openai_gpt_4o_responses_snapshots.py +84 -0
  949. mirascope-2.0.0/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/anthropic_beta_claude_sonnet_4_0_snapshots.py +120 -0
  950. mirascope-2.0.0/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/anthropic_claude_sonnet_4_0_snapshots.py +121 -0
  951. mirascope-2.0.0/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/google_gemini_2_5_flash_snapshots.py +132 -0
  952. mirascope-2.0.0/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  953. mirascope-2.0.0/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/openai_gpt_4o_completions_snapshots.py +116 -0
  954. mirascope-2.0.0/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/openai_gpt_4o_responses_snapshots.py +127 -0
  955. mirascope-2.0.0/tests/e2e/input/snapshots/test_strict_mode/anthropic_claude_sonnet_4_5_snapshots.py +73 -0
  956. mirascope-2.0.0/tests/e2e/input/snapshots/test_strict_mode/google_gemini_3_pro_preview_snapshots.py +96 -0
  957. mirascope-2.0.0/tests/e2e/input/snapshots/test_strict_mode_streamed/anthropic_claude_sonnet_4_5_snapshots.py +68 -0
  958. mirascope-2.0.0/tests/e2e/input/snapshots/test_strict_mode_streamed/google_gemini_3_pro_preview_snapshots.py +104 -0
  959. mirascope-2.0.0/tests/e2e/input/snapshots/test_strict_mode_with_streamed_thinking/anthropic_claude_sonnet_4_5_snapshots.py +87 -0
  960. mirascope-2.0.0/tests/e2e/input/snapshots/test_strict_mode_with_streamed_thinking/google_gemini_3_pro_preview_snapshots.py +88 -0
  961. mirascope-2.0.0/tests/e2e/input/snapshots/test_strict_mode_with_thinking/anthropic_claude_sonnet_4_5_snapshots.py +94 -0
  962. mirascope-2.0.0/tests/e2e/input/snapshots/test_strict_mode_with_thinking/google_gemini_3_pro_preview_snapshots.py +96 -0
  963. mirascope-2.0.0/tests/e2e/input/snapshots/test_strict_mode_with_tools/anthropic_claude_sonnet_4_5_snapshots.py +137 -0
  964. mirascope-2.0.0/tests/e2e/input/snapshots/test_strict_mode_with_tools/google_gemini_3_pro_preview_snapshots.py +173 -0
  965. mirascope-2.0.0/tests/e2e/input/snapshots/test_strict_mode_with_tools_streamed/anthropic_claude_sonnet_4_5_snapshots.py +132 -0
  966. mirascope-2.0.0/tests/e2e/input/snapshots/test_strict_mode_with_tools_streamed/google_gemini_3_pro_preview_snapshots.py +222 -0
  967. mirascope-2.0.0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/anthropic_beta_claude_sonnet_4_0_snapshots.py +13 -0
  968. mirascope-2.0.0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/anthropic_claude_sonnet_4_0_snapshots.py +88 -0
  969. mirascope-2.0.0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/anthropic_claude_sonnet_4_5_snapshots.py +88 -0
  970. mirascope-2.0.0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/google_gemini_2_5_flash_snapshots.py +96 -0
  971. mirascope-2.0.0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/anthropic_beta_claude_sonnet_4_0_snapshots.py +94 -0
  972. mirascope-2.0.0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/anthropic_claude_sonnet_4_0_snapshots.py +95 -0
  973. mirascope-2.0.0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/anthropic_claude_sonnet_4_5_snapshots.py +99 -0
  974. mirascope-2.0.0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/google_gemini_2_5_flash_snapshots.py +108 -0
  975. mirascope-2.0.0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  976. mirascope-2.0.0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/openai_gpt_4o_completions_snapshots.py +90 -0
  977. mirascope-2.0.0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/openai_gpt_4o_responses_snapshots.py +101 -0
  978. mirascope-2.0.0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  979. mirascope-2.0.0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/openai_gpt_4o_completions_snapshots.py +78 -0
  980. mirascope-2.0.0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/openai_gpt_4o_responses_snapshots.py +89 -0
  981. mirascope-2.0.0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/anthropic_beta_claude_sonnet_4_0_snapshots.py +13 -0
  982. mirascope-2.0.0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/anthropic_claude_sonnet_4_0_snapshots.py +13 -0
  983. mirascope-2.0.0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/anthropic_claude_sonnet_4_5_snapshots.py +87 -0
  984. mirascope-2.0.0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/google_gemini_2_5_flash_snapshots.py +108 -0
  985. mirascope-2.0.0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  986. mirascope-2.0.0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/openai_gpt_4o_completions_snapshots.py +78 -0
  987. mirascope-2.0.0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/openai_gpt_4o_responses_snapshots.py +89 -0
  988. mirascope-2.0.0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/anthropic_beta_claude_sonnet_4_0_snapshots.py +88 -0
  989. mirascope-2.0.0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/anthropic_claude_sonnet_4_0_snapshots.py +88 -0
  990. mirascope-2.0.0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/anthropic_claude_sonnet_4_5_snapshots.py +88 -0
  991. mirascope-2.0.0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/google_gemini_2_5_flash_snapshots.py +106 -0
  992. mirascope-2.0.0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  993. mirascope-2.0.0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/openai_gpt_4o_completions_snapshots.py +87 -0
  994. mirascope-2.0.0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/openai_gpt_4o_responses_snapshots.py +83 -0
  995. mirascope-2.0.0/tests/e2e/input/snapshots/test_structured_output_with_output_parser/anthropic_claude_haiku_4_5_snapshots.py +79 -0
  996. mirascope-2.0.0/tests/e2e/input/snapshots/test_structured_output_with_primitive_types_int/anthropic_claude_haiku_4_5_snapshots.py +72 -0
  997. mirascope-2.0.0/tests/e2e/input/snapshots/test_structured_output_with_primitive_types_list/anthropic_claude_haiku_4_5_snapshots.py +99 -0
  998. mirascope-2.0.0/tests/e2e/input/snapshots/test_structured_stream_async/anthropic_claude_haiku_4_5_snapshots.py +229 -0
  999. mirascope-2.0.0/tests/e2e/input/snapshots/test_structured_stream_sync/anthropic_claude_haiku_4_5_snapshots.py +268 -0
  1000. mirascope-2.0.0/tests/e2e/input/snapshots/test_together_provider/meta_llama_Llama_3_3_70B_Instruct_Turbo_snapshots.py +56 -0
  1001. mirascope-2.0.0/tests/e2e/input/test_authentication_error.py +58 -0
  1002. mirascope-2.0.0/tests/e2e/input/test_caching.py +288 -0
  1003. mirascope-2.0.0/tests/e2e/input/test_call_with_audio.py +39 -0
  1004. mirascope-2.0.0/tests/e2e/input/test_call_with_image.py +59 -0
  1005. mirascope-2.0.0/tests/e2e/input/test_call_with_mcp_tools.py +61 -0
  1006. mirascope-2.0.0/tests/e2e/input/test_call_with_params.py +55 -0
  1007. mirascope-2.0.0/tests/e2e/input/test_call_with_parse_error.py +51 -0
  1008. mirascope-2.0.0/tests/e2e/input/test_call_with_strict_tool_and_optional_properties.py +50 -0
  1009. mirascope-2.0.0/tests/e2e/input/test_call_with_text_encoded_thoughts.py +91 -0
  1010. mirascope-2.0.0/tests/e2e/input/test_call_with_tool_error.py +48 -0
  1011. mirascope-2.0.0/tests/e2e/input/test_empty_call.py +64 -0
  1012. mirascope-2.0.0/tests/e2e/input/test_mirascope_provider.py +88 -0
  1013. mirascope-2.0.0/tests/e2e/input/test_model_not_found.py +49 -0
  1014. mirascope-2.0.0/tests/e2e/input/test_openai_compatibility_providers.py +85 -0
  1015. mirascope-2.0.0/tests/e2e/input/test_provider_overriding.py +80 -0
  1016. mirascope-2.0.0/tests/e2e/input/test_resume_with_override.py +41 -0
  1017. mirascope-2.0.0/tests/e2e/input/test_resume_with_override_thinking_and_tools.py +56 -0
  1018. mirascope-2.0.0/tests/e2e/input/test_strict_structured_output_compatibility.py +254 -0
  1019. mirascope-2.0.0/tests/e2e/input/test_structured_output_parser.py +58 -0
  1020. mirascope-2.0.0/tests/e2e/input/test_structured_output_primitive_types.py +59 -0
  1021. mirascope-2.0.0/tests/e2e/input/test_structured_output_streaming.py +73 -0
  1022. mirascope-2.0.0/tests/e2e/input/test_structured_output_with_formatting_instructions.py +58 -0
  1023. mirascope-2.0.0/tests/e2e/mlx_lm_cassette.py +331 -0
  1024. mirascope-2.0.0/tests/e2e/output/README.md +86 -0
  1025. mirascope-2.0.0/tests/e2e/output/cassettes/test_call/anthropic_beta_claude_sonnet_4_0/async.yaml +112 -0
  1026. mirascope-2.0.0/tests/e2e/output/cassettes/test_call/anthropic_beta_claude_sonnet_4_0/async_stream.yaml +151 -0
  1027. mirascope-2.0.0/tests/e2e/output/cassettes/test_call/anthropic_beta_claude_sonnet_4_0/stream.yaml +167 -0
  1028. mirascope-2.0.0/tests/e2e/output/cassettes/test_call/anthropic_beta_claude_sonnet_4_0/sync.yaml +112 -0
  1029. mirascope-2.0.0/tests/e2e/output/cassettes/test_call/anthropic_claude_sonnet_4_0/async.yaml +108 -0
  1030. mirascope-2.0.0/tests/e2e/output/cassettes/test_call/anthropic_claude_sonnet_4_0/async_stream.yaml +164 -0
  1031. mirascope-2.0.0/tests/e2e/output/cassettes/test_call/anthropic_claude_sonnet_4_0/stream.yaml +150 -0
  1032. mirascope-2.0.0/tests/e2e/output/cassettes/test_call/anthropic_claude_sonnet_4_0/sync.yaml +108 -0
  1033. mirascope-2.0.0/tests/e2e/output/cassettes/test_call/google_gemini_2_5_flash/async.yaml +61 -0
  1034. mirascope-2.0.0/tests/e2e/output/cassettes/test_call/google_gemini_2_5_flash/async_stream.yaml +59 -0
  1035. mirascope-2.0.0/tests/e2e/output/cassettes/test_call/google_gemini_2_5_flash/stream.yaml +65 -0
  1036. mirascope-2.0.0/tests/e2e/output/cassettes/test_call/google_gemini_2_5_flash/sync.yaml +61 -0
  1037. mirascope-2.0.0/tests/e2e/output/cassettes/test_call/openai_gpt_4o_completions/async.yaml +107 -0
  1038. mirascope-2.0.0/tests/e2e/output/cassettes/test_call/openai_gpt_4o_completions/async_stream.yaml +161 -0
  1039. mirascope-2.0.0/tests/e2e/output/cassettes/test_call/openai_gpt_4o_completions/stream.yaml +146 -0
  1040. mirascope-2.0.0/tests/e2e/output/cassettes/test_call/openai_gpt_4o_completions/sync.yaml +107 -0
  1041. mirascope-2.0.0/tests/e2e/output/cassettes/test_call/openai_gpt_4o_responses/async.yaml +109 -0
  1042. mirascope-2.0.0/tests/e2e/output/cassettes/test_call/openai_gpt_4o_responses/async_stream.yaml +176 -0
  1043. mirascope-2.0.0/tests/e2e/output/cassettes/test_call/openai_gpt_4o_responses/stream.yaml +176 -0
  1044. mirascope-2.0.0/tests/e2e/output/cassettes/test_call/openai_gpt_4o_responses/sync.yaml +103 -0
  1045. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_thinking/anthropic_beta_claude_sonnet_4_0/async.yaml +362 -0
  1046. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_thinking/anthropic_beta_claude_sonnet_4_0/async_stream.yaml +686 -0
  1047. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_thinking/anthropic_beta_claude_sonnet_4_0/stream.yaml +664 -0
  1048. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_thinking/anthropic_beta_claude_sonnet_4_0/sync.yaml +343 -0
  1049. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_thinking/anthropic_claude_sonnet_4_0/async.yaml +329 -0
  1050. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_thinking/anthropic_claude_sonnet_4_0/async_stream.yaml +750 -0
  1051. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_thinking/anthropic_claude_sonnet_4_0/stream.yaml +635 -0
  1052. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_thinking/anthropic_claude_sonnet_4_0/sync.yaml +327 -0
  1053. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_thinking/google_gemini_2_5_flash/async.yaml +188 -0
  1054. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_thinking/google_gemini_2_5_flash/async_stream.yaml +376 -0
  1055. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_thinking/google_gemini_2_5_flash/stream.yaml +177 -0
  1056. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_thinking/google_gemini_2_5_flash/sync.yaml +168 -0
  1057. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_thinking/openai_gpt_5_responses/async.yaml +274 -0
  1058. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_thinking/openai_gpt_5_responses/async_stream.yaml +1424 -0
  1059. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_thinking/openai_gpt_5_responses/stream.yaml +921 -0
  1060. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_thinking/openai_gpt_5_responses/sync.yaml +276 -0
  1061. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_thinking_no_include_thoughts/anthropic_beta_claude_sonnet_4_0/async.yaml +171 -0
  1062. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_thinking_no_include_thoughts/anthropic_beta_claude_sonnet_4_0/async_stream.yaml +317 -0
  1063. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_thinking_no_include_thoughts/anthropic_beta_claude_sonnet_4_0/stream.yaml +286 -0
  1064. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_thinking_no_include_thoughts/anthropic_beta_claude_sonnet_4_0/sync.yaml +184 -0
  1065. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_thinking_no_include_thoughts/anthropic_claude_sonnet_4_0/async.yaml +179 -0
  1066. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_thinking_no_include_thoughts/anthropic_claude_sonnet_4_0/async_stream.yaml +341 -0
  1067. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_thinking_no_include_thoughts/anthropic_claude_sonnet_4_0/stream.yaml +310 -0
  1068. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_thinking_no_include_thoughts/anthropic_claude_sonnet_4_0/sync.yaml +167 -0
  1069. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_thinking_no_include_thoughts/google_gemini_2_5_flash/async.yaml +65 -0
  1070. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_thinking_no_include_thoughts/google_gemini_2_5_flash/async_stream.yaml +63 -0
  1071. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_thinking_no_include_thoughts/google_gemini_2_5_flash/stream.yaml +63 -0
  1072. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_thinking_no_include_thoughts/google_gemini_2_5_flash/sync.yaml +77 -0
  1073. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_thinking_no_include_thoughts/openai_gpt_5_responses/async.yaml +113 -0
  1074. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_thinking_no_include_thoughts/openai_gpt_5_responses/async_stream.yaml +142 -0
  1075. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_thinking_no_include_thoughts/openai_gpt_5_responses/stream.yaml +142 -0
  1076. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_thinking_no_include_thoughts/openai_gpt_5_responses/sync.yaml +113 -0
  1077. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_tools/anthropic_beta_claude_sonnet_4_0/async.yaml +233 -0
  1078. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_tools/anthropic_beta_claude_sonnet_4_0/async_stream.yaml +426 -0
  1079. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_tools/anthropic_beta_claude_sonnet_4_0/stream.yaml +423 -0
  1080. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_tools/anthropic_beta_claude_sonnet_4_0/sync.yaml +233 -0
  1081. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_tools/anthropic_claude_sonnet_4_0/async.yaml +224 -0
  1082. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_tools/anthropic_claude_sonnet_4_0/async_stream.yaml +423 -0
  1083. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_tools/anthropic_claude_sonnet_4_0/stream.yaml +456 -0
  1084. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_tools/anthropic_claude_sonnet_4_0/sync.yaml +225 -0
  1085. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_tools/google_gemini_2_5_flash/async.yaml +145 -0
  1086. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_tools/google_gemini_2_5_flash/async_stream.yaml +147 -0
  1087. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_tools/google_gemini_2_5_flash/stream.yaml +146 -0
  1088. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_tools/google_gemini_2_5_flash/sync.yaml +145 -0
  1089. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_tools/openai_gpt_4o_completions/async.yaml +675 -0
  1090. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_tools/openai_gpt_4o_completions/async_stream.yaml +1115 -0
  1091. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_tools/openai_gpt_4o_completions/stream.yaml +1103 -0
  1092. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_tools/openai_gpt_4o_completions/sync.yaml +675 -0
  1093. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_tools/openai_gpt_4o_responses/async.yaml +677 -0
  1094. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_tools/openai_gpt_4o_responses/async_stream.yaml +1390 -0
  1095. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_tools/openai_gpt_4o_responses/stream.yaml +1462 -0
  1096. mirascope-2.0.0/tests/e2e/output/cassettes/test_call_with_tools/openai_gpt_4o_responses/sync.yaml +678 -0
  1097. mirascope-2.0.0/tests/e2e/output/cassettes/test_max_tokens/anthropic_beta_claude_sonnet_4_0/async.yaml +113 -0
  1098. mirascope-2.0.0/tests/e2e/output/cassettes/test_max_tokens/anthropic_beta_claude_sonnet_4_0/async_stream.yaml +202 -0
  1099. mirascope-2.0.0/tests/e2e/output/cassettes/test_max_tokens/anthropic_beta_claude_sonnet_4_0/stream.yaml +191 -0
  1100. mirascope-2.0.0/tests/e2e/output/cassettes/test_max_tokens/anthropic_beta_claude_sonnet_4_0/sync.yaml +113 -0
  1101. mirascope-2.0.0/tests/e2e/output/cassettes/test_max_tokens/anthropic_claude_sonnet_4_0/async.yaml +109 -0
  1102. mirascope-2.0.0/tests/e2e/output/cassettes/test_max_tokens/anthropic_claude_sonnet_4_0/async_stream.yaml +195 -0
  1103. mirascope-2.0.0/tests/e2e/output/cassettes/test_max_tokens/anthropic_claude_sonnet_4_0/stream.yaml +178 -0
  1104. mirascope-2.0.0/tests/e2e/output/cassettes/test_max_tokens/anthropic_claude_sonnet_4_0/sync.yaml +109 -0
  1105. mirascope-2.0.0/tests/e2e/output/cassettes/test_max_tokens/google_gemini_2_5_flash/async.yaml +61 -0
  1106. mirascope-2.0.0/tests/e2e/output/cassettes/test_max_tokens/google_gemini_2_5_flash/async_stream.yaml +60 -0
  1107. mirascope-2.0.0/tests/e2e/output/cassettes/test_max_tokens/google_gemini_2_5_flash/stream.yaml +60 -0
  1108. mirascope-2.0.0/tests/e2e/output/cassettes/test_max_tokens/google_gemini_2_5_flash/sync.yaml +61 -0
  1109. mirascope-2.0.0/tests/e2e/output/cassettes/test_max_tokens/openai_gpt_4o_completions/async.yaml +109 -0
  1110. mirascope-2.0.0/tests/e2e/output/cassettes/test_max_tokens/openai_gpt_4o_completions/async_stream.yaml +274 -0
  1111. mirascope-2.0.0/tests/e2e/output/cassettes/test_max_tokens/openai_gpt_4o_completions/stream.yaml +273 -0
  1112. mirascope-2.0.0/tests/e2e/output/cassettes/test_max_tokens/openai_gpt_4o_completions/sync.yaml +109 -0
  1113. mirascope-2.0.0/tests/e2e/output/cassettes/test_max_tokens/openai_gpt_4o_responses/async.yaml +105 -0
  1114. mirascope-2.0.0/tests/e2e/output/cassettes/test_max_tokens/openai_gpt_4o_responses/async_stream.yaml +393 -0
  1115. mirascope-2.0.0/tests/e2e/output/cassettes/test_max_tokens/openai_gpt_4o_responses/stream.yaml +394 -0
  1116. mirascope-2.0.0/tests/e2e/output/cassettes/test_max_tokens/openai_gpt_4o_responses/sync.yaml +105 -0
  1117. mirascope-2.0.0/tests/e2e/output/cassettes/test_refusal/anthropic_claude_sonnet_4_0/async.yaml +121 -0
  1118. mirascope-2.0.0/tests/e2e/output/cassettes/test_refusal/anthropic_claude_sonnet_4_0/async_stream.yaml +696 -0
  1119. mirascope-2.0.0/tests/e2e/output/cassettes/test_refusal/anthropic_claude_sonnet_4_0/stream.yaml +751 -0
  1120. mirascope-2.0.0/tests/e2e/output/cassettes/test_refusal/anthropic_claude_sonnet_4_0/sync.yaml +118 -0
  1121. mirascope-2.0.0/tests/e2e/output/cassettes/test_refusal/google_gemini_2_5_flash/async.yaml +69 -0
  1122. mirascope-2.0.0/tests/e2e/output/cassettes/test_refusal/google_gemini_2_5_flash/async_stream.yaml +72 -0
  1123. mirascope-2.0.0/tests/e2e/output/cassettes/test_refusal/google_gemini_2_5_flash/stream.yaml +70 -0
  1124. mirascope-2.0.0/tests/e2e/output/cassettes/test_refusal/google_gemini_2_5_flash/sync.yaml +69 -0
  1125. mirascope-2.0.0/tests/e2e/output/cassettes/test_refusal/openai_gpt_4o_completions/async.yaml +108 -0
  1126. mirascope-2.0.0/tests/e2e/output/cassettes/test_refusal/openai_gpt_4o_completions/async_stream.yaml +116 -0
  1127. mirascope-2.0.0/tests/e2e/output/cassettes/test_refusal/openai_gpt_4o_completions/stream.yaml +152 -0
  1128. mirascope-2.0.0/tests/e2e/output/cassettes/test_refusal/openai_gpt_4o_completions/sync.yaml +108 -0
  1129. mirascope-2.0.0/tests/e2e/output/cassettes/test_refusal/openai_gpt_4o_responses/async.yaml +106 -0
  1130. mirascope-2.0.0/tests/e2e/output/cassettes/test_refusal/openai_gpt_4o_responses/async_stream.yaml +173 -0
  1131. mirascope-2.0.0/tests/e2e/output/cassettes/test_refusal/openai_gpt_4o_responses/stream.yaml +173 -0
  1132. mirascope-2.0.0/tests/e2e/output/cassettes/test_refusal/openai_gpt_4o_responses/sync.yaml +106 -0
  1133. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_0/async.yaml +117 -0
  1134. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_0/async_stream.yaml +232 -0
  1135. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_0/stream.yaml +232 -0
  1136. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_0/sync.yaml +117 -0
  1137. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_5/async.yaml +117 -0
  1138. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_5/async_stream.yaml +220 -0
  1139. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_5/stream.yaml +241 -0
  1140. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_5/sync.yaml +117 -0
  1141. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/async.yaml +73 -0
  1142. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/async_stream.yaml +71 -0
  1143. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/stream.yaml +71 -0
  1144. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/sync.yaml +73 -0
  1145. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/json/anthropic_beta_claude_sonnet_4_0/async.yaml +127 -0
  1146. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/json/anthropic_beta_claude_sonnet_4_0/async_stream.yaml +209 -0
  1147. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/json/anthropic_beta_claude_sonnet_4_0/stream.yaml +204 -0
  1148. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/json/anthropic_beta_claude_sonnet_4_0/sync.yaml +126 -0
  1149. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_0/async.yaml +122 -0
  1150. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_0/async_stream.yaml +204 -0
  1151. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_0/stream.yaml +213 -0
  1152. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_0/sync.yaml +123 -0
  1153. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_5/async.yaml +123 -0
  1154. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_5/async_stream.yaml +207 -0
  1155. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_5/stream.yaml +207 -0
  1156. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_5/sync.yaml +123 -0
  1157. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/async.yaml +78 -0
  1158. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/async_stream.yaml +82 -0
  1159. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/stream.yaml +82 -0
  1160. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/sync.yaml +78 -0
  1161. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/json/openai_gpt_4o_completions/async.yaml +124 -0
  1162. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/json/openai_gpt_4o_completions/async_stream.yaml +276 -0
  1163. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/json/openai_gpt_4o_completions/stream.yaml +276 -0
  1164. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/json/openai_gpt_4o_completions/sync.yaml +121 -0
  1165. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/json/openai_gpt_4o_responses/async.yaml +118 -0
  1166. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/json/openai_gpt_4o_responses/async_stream.yaml +388 -0
  1167. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/json/openai_gpt_4o_responses/stream.yaml +388 -0
  1168. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/json/openai_gpt_4o_responses/sync.yaml +118 -0
  1169. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/openai_gpt_4o_completions/async.yaml +114 -0
  1170. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/openai_gpt_4o_completions/async_stream.yaml +203 -0
  1171. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/openai_gpt_4o_completions/stream.yaml +203 -0
  1172. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/openai_gpt_4o_completions/sync.yaml +114 -0
  1173. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/openai_gpt_4o_responses/async.yaml +116 -0
  1174. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/openai_gpt_4o_responses/async_stream.yaml +292 -0
  1175. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/openai_gpt_4o_responses/stream.yaml +292 -0
  1176. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/openai_gpt_4o_responses/sync.yaml +116 -0
  1177. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/strict/anthropic_claude_sonnet_4_5/async.yaml +117 -0
  1178. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/strict/anthropic_claude_sonnet_4_5/async_stream.yaml +186 -0
  1179. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/strict/anthropic_claude_sonnet_4_5/stream.yaml +185 -0
  1180. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/strict/anthropic_claude_sonnet_4_5/sync.yaml +117 -0
  1181. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/async.yaml +73 -0
  1182. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/async_stream.yaml +71 -0
  1183. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/stream.yaml +71 -0
  1184. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/sync.yaml +73 -0
  1185. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/strict/openai_gpt_4o_completions/async.yaml +117 -0
  1186. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/strict/openai_gpt_4o_completions/async_stream.yaml +203 -0
  1187. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/strict/openai_gpt_4o_completions/stream.yaml +203 -0
  1188. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/strict/openai_gpt_4o_completions/sync.yaml +117 -0
  1189. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/strict/openai_gpt_4o_responses/async.yaml +116 -0
  1190. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/strict/openai_gpt_4o_responses/async_stream.yaml +292 -0
  1191. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/strict/openai_gpt_4o_responses/stream.yaml +292 -0
  1192. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/strict/openai_gpt_4o_responses/sync.yaml +116 -0
  1193. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_beta_claude_sonnet_4_0/async.yaml +121 -0
  1194. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_beta_claude_sonnet_4_0/async_stream.yaml +239 -0
  1195. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_beta_claude_sonnet_4_0/stream.yaml +238 -0
  1196. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_beta_claude_sonnet_4_0/sync.yaml +121 -0
  1197. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_0/async.yaml +117 -0
  1198. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_0/async_stream.yaml +244 -0
  1199. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_0/stream.yaml +241 -0
  1200. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_0/sync.yaml +117 -0
  1201. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_5/async.yaml +117 -0
  1202. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_5/async_stream.yaml +248 -0
  1203. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_5/stream.yaml +232 -0
  1204. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_5/sync.yaml +117 -0
  1205. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/async.yaml +104 -0
  1206. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/async_stream.yaml +78 -0
  1207. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/stream.yaml +78 -0
  1208. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/sync.yaml +95 -0
  1209. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/tool/openai_gpt_4o_completions/async.yaml +114 -0
  1210. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/tool/openai_gpt_4o_completions/async_stream.yaml +204 -0
  1211. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/tool/openai_gpt_4o_completions/stream.yaml +204 -0
  1212. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/tool/openai_gpt_4o_completions/sync.yaml +117 -0
  1213. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/tool/openai_gpt_4o_responses/async.yaml +118 -0
  1214. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/tool/openai_gpt_4o_responses/async_stream.yaml +282 -0
  1215. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/tool/openai_gpt_4o_responses/stream.yaml +282 -0
  1216. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output/tool/openai_gpt_4o_responses/sync.yaml +118 -0
  1217. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_0/async.yaml +231 -0
  1218. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_0/async_stream.yaml +407 -0
  1219. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_0/stream.yaml +428 -0
  1220. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_0/sync.yaml +231 -0
  1221. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_5/async.yaml +231 -0
  1222. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_5/async_stream.yaml +386 -0
  1223. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_5/stream.yaml +419 -0
  1224. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_5/sync.yaml +231 -0
  1225. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/async.yaml +200 -0
  1226. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/async_stream.yaml +156 -0
  1227. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/stream.yaml +156 -0
  1228. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/sync.yaml +192 -0
  1229. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_beta_claude_sonnet_4_0/async.yaml +246 -0
  1230. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_beta_claude_sonnet_4_0/async_stream.yaml +406 -0
  1231. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_beta_claude_sonnet_4_0/stream.yaml +391 -0
  1232. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_beta_claude_sonnet_4_0/sync.yaml +246 -0
  1233. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_0/async.yaml +238 -0
  1234. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_0/async_stream.yaml +413 -0
  1235. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_0/stream.yaml +608 -0
  1236. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_0/sync.yaml +238 -0
  1237. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_5/async.yaml +248 -0
  1238. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_5/async_stream.yaml +832 -0
  1239. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_5/stream.yaml +821 -0
  1240. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_5/sync.yaml +248 -0
  1241. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_gpt_4o_completions/async.yaml +717 -0
  1242. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_gpt_4o_completions/async_stream.yaml +1232 -0
  1243. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_gpt_4o_completions/stream.yaml +1232 -0
  1244. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_gpt_4o_completions/sync.yaml +717 -0
  1245. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_gpt_4o_responses/async.yaml +723 -0
  1246. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_gpt_4o_responses/async_stream.yaml +1596 -0
  1247. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_gpt_4o_responses/stream.yaml +1596 -0
  1248. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_gpt_4o_responses/sync.yaml +723 -0
  1249. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_gpt_4o_completions/async.yaml +675 -0
  1250. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_gpt_4o_completions/async_stream.yaml +1037 -0
  1251. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_gpt_4o_completions/stream.yaml +1037 -0
  1252. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_gpt_4o_completions/sync.yaml +675 -0
  1253. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_gpt_4o_responses/async.yaml +693 -0
  1254. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_gpt_4o_responses/async_stream.yaml +1428 -0
  1255. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_gpt_4o_responses/stream.yaml +1517 -0
  1256. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_gpt_4o_responses/sync.yaml +693 -0
  1257. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/anthropic_claude_sonnet_4_5/async.yaml +232 -0
  1258. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/anthropic_claude_sonnet_4_5/async_stream.yaml +349 -0
  1259. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/anthropic_claude_sonnet_4_5/stream.yaml +349 -0
  1260. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/anthropic_claude_sonnet_4_5/sync.yaml +232 -0
  1261. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_gpt_4o_completions/async.yaml +679 -0
  1262. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_gpt_4o_completions/async_stream.yaml +1125 -0
  1263. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_gpt_4o_completions/stream.yaml +1125 -0
  1264. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_gpt_4o_completions/sync.yaml +679 -0
  1265. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_gpt_4o_responses/async.yaml +693 -0
  1266. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_gpt_4o_responses/async_stream.yaml +1517 -0
  1267. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_gpt_4o_responses/stream.yaml +1521 -0
  1268. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_gpt_4o_responses/sync.yaml +694 -0
  1269. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_beta_claude_sonnet_4_0/async.yaml +239 -0
  1270. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_beta_claude_sonnet_4_0/async_stream.yaml +427 -0
  1271. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_beta_claude_sonnet_4_0/stream.yaml +432 -0
  1272. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_beta_claude_sonnet_4_0/sync.yaml +239 -0
  1273. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_0/async.yaml +231 -0
  1274. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_0/async_stream.yaml +406 -0
  1275. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_0/stream.yaml +398 -0
  1276. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_0/sync.yaml +231 -0
  1277. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_5/async.yaml +231 -0
  1278. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_5/async_stream.yaml +402 -0
  1279. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_5/stream.yaml +404 -0
  1280. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_5/sync.yaml +231 -0
  1281. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/async.yaml +187 -0
  1282. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/async_stream.yaml +156 -0
  1283. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/stream.yaml +156 -0
  1284. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/sync.yaml +186 -0
  1285. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_gpt_4o_completions/async.yaml +699 -0
  1286. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_gpt_4o_completions/async_stream.yaml +1055 -0
  1287. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_gpt_4o_completions/stream.yaml +1055 -0
  1288. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_gpt_4o_completions/sync.yaml +699 -0
  1289. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_gpt_4o_responses/async.yaml +718 -0
  1290. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_gpt_4o_responses/async_stream.yaml +1356 -0
  1291. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_gpt_4o_responses/stream.yaml +1356 -0
  1292. mirascope-2.0.0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_gpt_4o_responses/sync.yaml +717 -0
  1293. mirascope-2.0.0/tests/e2e/output/conftest.py +200 -0
  1294. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_call_async_context_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +3579 -0
  1295. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_call_async_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +3579 -0
  1296. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_call_async_stream_context_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +3579 -0
  1297. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_call_async_stream_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +3579 -0
  1298. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_call_stream_context_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +3579 -0
  1299. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_call_stream_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +3579 -0
  1300. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_call_sync_context_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +3579 -0
  1301. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_call_sync_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +3579 -0
  1302. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_call_with_tools_async_context_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1303. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_call_with_tools_async_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1304. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_call_with_tools_async_stream_context_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1305. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_call_with_tools_async_stream_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1306. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_call_with_tools_stream_context_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1307. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_call_with_tools_stream_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1308. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_call_with_tools_sync_context_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1309. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_call_with_tools_sync_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1310. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_max_tokens_async_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +254 -0
  1311. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_max_tokens_async_stream_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +254 -0
  1312. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_max_tokens_stream_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +254 -0
  1313. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_max_tokens_sync_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +254 -0
  1314. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_prompt_async_context_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +3579 -0
  1315. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_prompt_async_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +3579 -0
  1316. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_prompt_async_stream_context_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +3579 -0
  1317. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_prompt_async_stream_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +3579 -0
  1318. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_prompt_stream_context_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +3579 -0
  1319. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_prompt_stream_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +3579 -0
  1320. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_prompt_sync_context_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +3579 -0
  1321. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_prompt_sync_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +3579 -0
  1322. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_refusal_async_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1323. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_refusal_async_stream_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1324. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_refusal_stream_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1325. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_refusal_sync_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1326. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1327. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_context_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1328. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_context_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1329. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_context_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1330. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_context_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1331. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1332. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_stream_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1333. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_stream_context_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1334. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_stream_context_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1335. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_stream_context_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1336. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_stream_context_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1337. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_stream_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1338. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_stream_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1339. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_stream_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1340. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1341. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1342. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_stream_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1343. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_stream_context_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1344. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_stream_context_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1345. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_stream_context_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1346. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_stream_context_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1347. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_stream_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1348. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_stream_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1349. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_stream_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1350. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_sync_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1351. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_sync_context_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1352. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_sync_context_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1353. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_sync_context_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1354. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_sync_context_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1355. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_sync_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1356. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_sync_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1357. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_sync_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1358. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_async_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1359. mirascope-2.0.0/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
  1360. mirascope-2.0.0/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
  1361. mirascope-2.0.0/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
  1362. mirascope-2.0.0/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
  1363. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_async_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1364. mirascope-2.0.0/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
  1365. mirascope-2.0.0/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
  1366. mirascope-2.0.0/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
  1367. mirascope-2.0.0/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
  1368. mirascope-2.0.0/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
  1369. mirascope-2.0.0/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
  1370. mirascope-2.0.0/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
  1371. mirascope-2.0.0/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
  1372. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_async_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1373. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_async_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1374. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_stream_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1375. mirascope-2.0.0/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
  1376. mirascope-2.0.0/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
  1377. mirascope-2.0.0/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
  1378. mirascope-2.0.0/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
  1379. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_stream_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1380. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_stream_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1381. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_stream_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1382. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_sync_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1383. mirascope-2.0.0/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
  1384. mirascope-2.0.0/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
  1385. mirascope-2.0.0/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
  1386. mirascope-2.0.0/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
  1387. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_sync_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1388. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_sync_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1389. mirascope-2.0.0/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_sync_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +1 -0
  1390. mirascope-2.0.0/tests/e2e/output/snapshots/test_call/anthropic_beta_claude_sonnet_4_0_snapshots.py +148 -0
  1391. mirascope-2.0.0/tests/e2e/output/snapshots/test_call/anthropic_claude_sonnet_4_0_snapshots.py +160 -0
  1392. mirascope-2.0.0/tests/e2e/output/snapshots/test_call/google_gemini_2_5_flash_snapshots.py +301 -0
  1393. mirascope-2.0.0/tests/e2e/output/snapshots/test_call/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +244 -0
  1394. mirascope-2.0.0/tests/e2e/output/snapshots/test_call/openai_gpt_4o_completions_snapshots.py +144 -0
  1395. mirascope-2.0.0/tests/e2e/output/snapshots/test_call/openai_gpt_4o_responses_snapshots.py +196 -0
  1396. mirascope-2.0.0/tests/e2e/output/snapshots/test_call_with_thinking/anthropic_beta_claude_sonnet_4_0_snapshots.py +801 -0
  1397. mirascope-2.0.0/tests/e2e/output/snapshots/test_call_with_thinking/anthropic_claude_sonnet_4_0_snapshots.py +788 -0
  1398. mirascope-2.0.0/tests/e2e/output/snapshots/test_call_with_thinking/google_gemini_2_5_flash_snapshots.py +1204 -0
  1399. mirascope-2.0.0/tests/e2e/output/snapshots/test_call_with_thinking/openai_gpt_5_responses_snapshots.py +731 -0
  1400. mirascope-2.0.0/tests/e2e/output/snapshots/test_call_with_thinking_no_include_thoughts/anthropic_beta_claude_sonnet_4_0_snapshots.py +423 -0
  1401. mirascope-2.0.0/tests/e2e/output/snapshots/test_call_with_thinking_no_include_thoughts/anthropic_claude_sonnet_4_0_snapshots.py +437 -0
  1402. mirascope-2.0.0/tests/e2e/output/snapshots/test_call_with_thinking_no_include_thoughts/google_gemini_2_5_flash_snapshots.py +330 -0
  1403. mirascope-2.0.0/tests/e2e/output/snapshots/test_call_with_thinking_no_include_thoughts/openai_gpt_5_responses_snapshots.py +240 -0
  1404. mirascope-2.0.0/tests/e2e/output/snapshots/test_call_with_tools/anthropic_beta_claude_sonnet_4_0_snapshots.py +559 -0
  1405. mirascope-2.0.0/tests/e2e/output/snapshots/test_call_with_tools/anthropic_claude_sonnet_4_0_snapshots.py +567 -0
  1406. mirascope-2.0.0/tests/e2e/output/snapshots/test_call_with_tools/google_gemini_2_5_flash_snapshots.py +703 -0
  1407. mirascope-2.0.0/tests/e2e/output/snapshots/test_call_with_tools/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +34 -0
  1408. mirascope-2.0.0/tests/e2e/output/snapshots/test_call_with_tools/openai_gpt_4o_completions_snapshots.py +473 -0
  1409. mirascope-2.0.0/tests/e2e/output/snapshots/test_call_with_tools/openai_gpt_4o_responses_snapshots.py +559 -0
  1410. mirascope-2.0.0/tests/e2e/output/snapshots/test_max_tokens/anthropic_beta_claude_sonnet_4_0_snapshots.py +281 -0
  1411. mirascope-2.0.0/tests/e2e/output/snapshots/test_max_tokens/anthropic_claude_sonnet_4_0_snapshots.py +283 -0
  1412. mirascope-2.0.0/tests/e2e/output/snapshots/test_max_tokens/google_gemini_2_5_flash_snapshots.py +237 -0
  1413. mirascope-2.0.0/tests/e2e/output/snapshots/test_max_tokens/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +165 -0
  1414. mirascope-2.0.0/tests/e2e/output/snapshots/test_max_tokens/openai_gpt_4o_completions_snapshots.py +234 -0
  1415. mirascope-2.0.0/tests/e2e/output/snapshots/test_max_tokens/openai_gpt_4o_responses_snapshots.py +242 -0
  1416. mirascope-2.0.0/tests/e2e/output/snapshots/test_refusal/anthropic_beta_claude_sonnet_4_0_snapshots.py +46 -0
  1417. mirascope-2.0.0/tests/e2e/output/snapshots/test_refusal/anthropic_claude_sonnet_4_0_snapshots.py +336 -0
  1418. mirascope-2.0.0/tests/e2e/output/snapshots/test_refusal/google_gemini_2_5_flash_snapshots.py +340 -0
  1419. mirascope-2.0.0/tests/e2e/output/snapshots/test_refusal/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +34 -0
  1420. mirascope-2.0.0/tests/e2e/output/snapshots/test_refusal/openai_gpt_4o_completions_snapshots.py +231 -0
  1421. mirascope-2.0.0/tests/e2e/output/snapshots/test_refusal/openai_gpt_4o_responses_snapshots.py +269 -0
  1422. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output/anthropic_beta_claude_sonnet_4_0_snapshots.py +46 -0
  1423. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output/anthropic_claude_sonnet_4_0_snapshots.py +393 -0
  1424. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output/anthropic_claude_sonnet_4_5_snapshots.py +393 -0
  1425. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output/google_gemini_2_5_flash_snapshots.py +426 -0
  1426. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output/json/anthropic_beta_claude_sonnet_4_0_snapshots.py +809 -0
  1427. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output/json/anthropic_claude_sonnet_4_0_snapshots.py +815 -0
  1428. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output/json/anthropic_claude_sonnet_4_5_snapshots.py +823 -0
  1429. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output/json/google_gemini_2_5_flash_snapshots.py +881 -0
  1430. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output/json/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +34 -0
  1431. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output/json/openai_gpt_4o_completions_snapshots.py +763 -0
  1432. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output/json/openai_gpt_4o_responses_snapshots.py +833 -0
  1433. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +34 -0
  1434. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output/openai_gpt_4o_completions_snapshots.py +316 -0
  1435. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output/openai_gpt_4o_responses_snapshots.py +368 -0
  1436. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output/strict/anthropic_beta_claude_sonnet_4_0_snapshots.py +46 -0
  1437. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output/strict/anthropic_claude_sonnet_4_0_snapshots.py +46 -0
  1438. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output/strict/anthropic_claude_sonnet_4_5_snapshots.py +352 -0
  1439. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output/strict/google_gemini_2_5_flash_snapshots.py +444 -0
  1440. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output/strict/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +34 -0
  1441. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output/strict/openai_gpt_4o_completions_snapshots.py +316 -0
  1442. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output/strict/openai_gpt_4o_responses_snapshots.py +368 -0
  1443. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output/tool/anthropic_beta_claude_sonnet_4_0_snapshots.py +393 -0
  1444. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output/tool/anthropic_claude_sonnet_4_0_snapshots.py +393 -0
  1445. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output/tool/anthropic_claude_sonnet_4_5_snapshots.py +393 -0
  1446. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output/tool/google_gemini_2_5_flash_snapshots.py +455 -0
  1447. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output/tool/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +34 -0
  1448. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output/tool/openai_gpt_4o_completions_snapshots.py +351 -0
  1449. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output/tool/openai_gpt_4o_responses_snapshots.py +361 -0
  1450. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output_with_tools/anthropic_beta_claude_sonnet_4_0_snapshots.py +46 -0
  1451. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output_with_tools/anthropic_claude_sonnet_4_0_snapshots.py +547 -0
  1452. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output_with_tools/anthropic_claude_sonnet_4_5_snapshots.py +547 -0
  1453. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output_with_tools/google_gemini_2_5_flash_snapshots.py +661 -0
  1454. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output_with_tools/json/anthropic_beta_claude_sonnet_4_0_snapshots.py +843 -0
  1455. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_0_snapshots.py +855 -0
  1456. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_5_snapshots.py +969 -0
  1457. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output_with_tools/json/google_gemini_2_5_flash_snapshots.py +46 -0
  1458. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output_with_tools/json/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +34 -0
  1459. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output_with_tools/json/openai_gpt_4o_completions_snapshots.py +763 -0
  1460. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output_with_tools/json/openai_gpt_4o_responses_snapshots.py +839 -0
  1461. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output_with_tools/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +34 -0
  1462. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output_with_tools/openai_gpt_4o_completions_snapshots.py +460 -0
  1463. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output_with_tools/openai_gpt_4o_responses_snapshots.py +535 -0
  1464. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/anthropic_beta_claude_sonnet_4_0_snapshots.py +46 -0
  1465. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/anthropic_claude_sonnet_4_0_snapshots.py +46 -0
  1466. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/anthropic_claude_sonnet_4_5_snapshots.py +510 -0
  1467. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/google_gemini_2_5_flash_snapshots.py +46 -0
  1468. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +34 -0
  1469. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/openai_gpt_4o_completions_snapshots.py +460 -0
  1470. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/openai_gpt_4o_responses_snapshots.py +556 -0
  1471. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/anthropic_beta_claude_sonnet_4_0_snapshots.py +547 -0
  1472. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_0_snapshots.py +547 -0
  1473. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_5_snapshots.py +547 -0
  1474. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/google_gemini_2_5_flash_snapshots.py +661 -0
  1475. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +34 -0
  1476. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/openai_gpt_4o_completions_snapshots.py +499 -0
  1477. mirascope-2.0.0/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/openai_gpt_4o_responses_snapshots.py +519 -0
  1478. mirascope-2.0.0/tests/e2e/output/test_call.py +171 -0
  1479. mirascope-2.0.0/tests/e2e/output/test_call_with_thinking.py +207 -0
  1480. mirascope-2.0.0/tests/e2e/output/test_call_with_tools.py +379 -0
  1481. mirascope-2.0.0/tests/e2e/output/test_max_tokens.py +76 -0
  1482. mirascope-2.0.0/tests/e2e/output/test_prompt.py +171 -0
  1483. mirascope-2.0.0/tests/e2e/output/test_refusal.py +98 -0
  1484. mirascope-2.0.0/tests/e2e/output/test_structured_output.py +310 -0
  1485. mirascope-2.0.0/tests/e2e/output/test_structured_output_with_tools.py +418 -0
  1486. mirascope-2.0.0/tests/fixtures/__init__.py +1 -0
  1487. mirascope-2.0.0/tests/llm/calls/test_call_decorator.py +53 -0
  1488. mirascope-2.0.0/tests/llm/content/test_audio_content.py +273 -0
  1489. mirascope-2.0.0/tests/llm/content/test_image_content.py +298 -0
  1490. mirascope-2.0.0/tests/llm/context/test_context.py +10 -0
  1491. mirascope-2.0.0/tests/llm/context/test_context_utils.py +110 -0
  1492. mirascope-2.0.0/tests/llm/formatting/test_format.py +279 -0
  1493. mirascope-2.0.0/tests/llm/formatting/test_output_parser.py +103 -0
  1494. mirascope-2.0.0/tests/llm/formatting/test_partial.py +196 -0
  1495. mirascope-2.0.0/tests/llm/formatting/test_primitive_types.py +287 -0
  1496. mirascope-2.0.0/tests/llm/mcp/__init__.py +1 -0
  1497. mirascope-2.0.0/tests/llm/mcp/example_mcp_client.py +184 -0
  1498. mirascope-2.0.0/tests/llm/mcp/test_mcp_client.py +285 -0
  1499. mirascope-2.0.0/tests/llm/messages/test_messages.py +167 -0
  1500. mirascope-2.0.0/tests/llm/models/test_model.py +120 -0
  1501. mirascope-2.0.0/tests/llm/prompts/test_prompt_decorator.py +57 -0
  1502. mirascope-2.0.0/tests/llm/providers/anthropic/__init__.py +1 -0
  1503. mirascope-2.0.0/tests/llm/providers/anthropic/test_anthropic_beta_provider.py +151 -0
  1504. mirascope-2.0.0/tests/llm/providers/anthropic/test_anthropic_provider.py +217 -0
  1505. mirascope-2.0.0/tests/llm/providers/base/test_base_provider.py +224 -0
  1506. mirascope-2.0.0/tests/llm/providers/base/test_params.py +55 -0
  1507. mirascope-2.0.0/tests/llm/providers/base/test_utils.py +275 -0
  1508. mirascope-2.0.0/tests/llm/providers/google/test_google_provider.py +278 -0
  1509. mirascope-2.0.0/tests/llm/providers/mlx/conftest.py +14 -0
  1510. mirascope-2.0.0/tests/llm/providers/mlx/encoding/test_transformers.py +24 -0
  1511. mirascope-2.0.0/tests/llm/providers/mlx/test_client.py +11 -0
  1512. mirascope-2.0.0/tests/llm/providers/mlx/test_mlx.py +86 -0
  1513. mirascope-2.0.0/tests/llm/providers/mlx/test_utils.py +69 -0
  1514. mirascope-2.0.0/tests/llm/providers/openai/test_completions_encoding.py +115 -0
  1515. mirascope-2.0.0/tests/llm/providers/openai/test_completions_provider.py +130 -0
  1516. mirascope-2.0.0/tests/llm/providers/openai/test_openai_provider.py +59 -0
  1517. mirascope-2.0.0/tests/llm/providers/openai/test_responses_encoding.py +66 -0
  1518. mirascope-2.0.0/tests/llm/providers/openai/test_responses_provider.py +130 -0
  1519. mirascope-2.0.0/tests/llm/providers/test_mirascope_provider.py +411 -0
  1520. mirascope-2.0.0/tests/llm/providers/test_missing_dependencies.py +424 -0
  1521. mirascope-2.0.0/tests/llm/providers/test_ollama_provider.py +77 -0
  1522. mirascope-2.0.0/tests/llm/providers/test_openai_compatible_provider.py +108 -0
  1523. mirascope-2.0.0/tests/llm/providers/test_provider_registry.py +269 -0
  1524. mirascope-2.0.0/tests/llm/providers/test_providers.py +53 -0
  1525. mirascope-2.0.0/tests/llm/providers/test_together_provider.py +49 -0
  1526. mirascope-2.0.0/tests/llm/responses/test_response.py +1335 -0
  1527. mirascope-2.0.0/tests/llm/responses/test_stream_response.py +2148 -0
  1528. mirascope-2.0.0/tests/llm/responses/test_structured_stream.py +465 -0
  1529. mirascope-2.0.0/tests/llm/responses/test_utils.py +234 -0
  1530. mirascope-2.0.0/tests/llm/test_error_wrapping.py +83 -0
  1531. mirascope-2.0.0/tests/llm/tools/test_decorator.py +620 -0
  1532. mirascope-2.0.0/tests/llm/tools/test_tool_schema.py +422 -0
  1533. mirascope-2.0.0/tests/llm/tools/test_toolkit.py +240 -0
  1534. mirascope-2.0.0/tests/ops/_internal/__init__.py +1 -0
  1535. mirascope-2.0.0/tests/ops/_internal/cassettes/test_async_version_registers_new_function.yaml +158 -0
  1536. mirascope-2.0.0/tests/ops/_internal/cassettes/test_async_version_uses_existing_function.yaml +40 -0
  1537. mirascope-2.0.0/tests/ops/_internal/cassettes/test_traced_async_call.yaml +113 -0
  1538. mirascope-2.0.0/tests/ops/_internal/cassettes/test_traced_async_call_call_method.yaml +114 -0
  1539. mirascope-2.0.0/tests/ops/_internal/cassettes/test_traced_async_call_stream_method.yaml +595 -0
  1540. mirascope-2.0.0/tests/ops/_internal/cassettes/test_traced_async_call_wrapped_method.yaml +113 -0
  1541. mirascope-2.0.0/tests/ops/_internal/cassettes/test_traced_async_context_call.yaml +114 -0
  1542. mirascope-2.0.0/tests/ops/_internal/cassettes/test_traced_async_context_call_call_method.yaml +109 -0
  1543. mirascope-2.0.0/tests/ops/_internal/cassettes/test_traced_async_context_call_stream_method.yaml +273 -0
  1544. mirascope-2.0.0/tests/ops/_internal/cassettes/test_traced_async_context_call_with_tags.yaml +114 -0
  1545. mirascope-2.0.0/tests/ops/_internal/cassettes/test_traced_async_context_call_wrapped_call_method.yaml +114 -0
  1546. mirascope-2.0.0/tests/ops/_internal/cassettes/test_traced_async_context_call_wrapped_returns_trace.yaml +108 -0
  1547. mirascope-2.0.0/tests/ops/_internal/cassettes/test_traced_call_call_method.yaml +111 -0
  1548. mirascope-2.0.0/tests/ops/_internal/cassettes/test_traced_call_stream_method.yaml +242 -0
  1549. mirascope-2.0.0/tests/ops/_internal/cassettes/test_traced_call_sync.yaml +114 -0
  1550. mirascope-2.0.0/tests/ops/_internal/cassettes/test_traced_call_with_tags.yaml +108 -0
  1551. mirascope-2.0.0/tests/ops/_internal/cassettes/test_traced_call_wrapped_call_method.yaml +107 -0
  1552. mirascope-2.0.0/tests/ops/_internal/cassettes/test_traced_call_wrapped_method.yaml +108 -0
  1553. mirascope-2.0.0/tests/ops/_internal/cassettes/test_traced_call_wrapped_stream.yaml +712 -0
  1554. mirascope-2.0.0/tests/ops/_internal/cassettes/test_traced_context_call.yaml +114 -0
  1555. mirascope-2.0.0/tests/ops/_internal/cassettes/test_traced_context_call_call_method.yaml +108 -0
  1556. mirascope-2.0.0/tests/ops/_internal/cassettes/test_traced_context_call_stream_method.yaml +614 -0
  1557. mirascope-2.0.0/tests/ops/_internal/cassettes/test_traced_context_call_with_metadata.yaml +114 -0
  1558. mirascope-2.0.0/tests/ops/_internal/cassettes/test_traced_context_call_with_tags.yaml +114 -0
  1559. mirascope-2.0.0/tests/ops/_internal/cassettes/test_traced_context_call_wrapped_call_method.yaml +115 -0
  1560. mirascope-2.0.0/tests/ops/_internal/cassettes/test_traced_context_call_wrapped_returns_trace.yaml +108 -0
  1561. mirascope-2.0.0/tests/ops/_internal/cassettes/test_version_registers_new_function.yaml +116 -0
  1562. mirascope-2.0.0/tests/ops/_internal/cassettes/test_version_uses_existing_function.yaml +158 -0
  1563. mirascope-2.0.0/tests/ops/_internal/cassettes/test_versioned_async_call.yaml +361 -0
  1564. mirascope-2.0.0/tests/ops/_internal/cassettes/test_versioned_async_call_call_method.yaml +397 -0
  1565. mirascope-2.0.0/tests/ops/_internal/cassettes/test_versioned_async_call_stream_method.yaml +1619 -0
  1566. mirascope-2.0.0/tests/ops/_internal/cassettes/test_versioned_async_call_wrapped_method.yaml +398 -0
  1567. mirascope-2.0.0/tests/ops/_internal/cassettes/test_versioned_async_call_wrapped_stream_method.yaml +1842 -0
  1568. mirascope-2.0.0/tests/ops/_internal/cassettes/test_versioned_async_context_call.yaml +363 -0
  1569. mirascope-2.0.0/tests/ops/_internal/cassettes/test_versioned_async_context_call_call_method.yaml +401 -0
  1570. mirascope-2.0.0/tests/ops/_internal/cassettes/test_versioned_async_context_call_stream_method.yaml +2065 -0
  1571. mirascope-2.0.0/tests/ops/_internal/cassettes/test_versioned_async_context_call_wrapped_method.yaml +400 -0
  1572. mirascope-2.0.0/tests/ops/_internal/cassettes/test_versioned_async_context_call_wrapped_stream_method.yaml +1745 -0
  1573. mirascope-2.0.0/tests/ops/_internal/cassettes/test_versioned_call_call_method.yaml +397 -0
  1574. mirascope-2.0.0/tests/ops/_internal/cassettes/test_versioned_call_stream_method.yaml +1609 -0
  1575. mirascope-2.0.0/tests/ops/_internal/cassettes/test_versioned_call_sync.yaml +362 -0
  1576. mirascope-2.0.0/tests/ops/_internal/cassettes/test_versioned_call_with_tags.yaml +397 -0
  1577. mirascope-2.0.0/tests/ops/_internal/cassettes/test_versioned_call_wrapped_method.yaml +398 -0
  1578. mirascope-2.0.0/tests/ops/_internal/cassettes/test_versioned_call_wrapped_stream.yaml +1841 -0
  1579. mirascope-2.0.0/tests/ops/_internal/cassettes/test_versioned_context_call.yaml +362 -0
  1580. mirascope-2.0.0/tests/ops/_internal/cassettes/test_versioned_context_call_call_method.yaml +401 -0
  1581. mirascope-2.0.0/tests/ops/_internal/cassettes/test_versioned_context_call_stream_method.yaml +2164 -0
  1582. mirascope-2.0.0/tests/ops/_internal/cassettes/test_versioned_context_call_wrapped_method.yaml +402 -0
  1583. mirascope-2.0.0/tests/ops/_internal/cassettes/test_versioned_context_call_wrapped_stream_method.yaml +1415 -0
  1584. mirascope-2.0.0/tests/ops/_internal/closure_test_functions/__init__.py +119 -0
  1585. mirascope-2.0.0/tests/ops/_internal/closure_test_functions/fakepkg/__init__.py +4 -0
  1586. mirascope-2.0.0/tests/ops/_internal/closure_test_functions/main.py +519 -0
  1587. mirascope-2.0.0/tests/ops/_internal/closure_test_functions/other.py +111 -0
  1588. mirascope-2.0.0/tests/ops/_internal/exporters/__init__.py +1 -0
  1589. mirascope-2.0.0/tests/ops/_internal/exporters/conftest.py +102 -0
  1590. mirascope-2.0.0/tests/ops/_internal/exporters/test_exporters.py +631 -0
  1591. mirascope-2.0.0/tests/ops/_internal/exporters/test_processors.py +210 -0
  1592. mirascope-2.0.0/tests/ops/_internal/exporters/utils.py +133 -0
  1593. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_async_context_response_resume_exports_mirascope_span.yaml +220 -0
  1594. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_async_context_stream_response_resume_exports_mirascope_span.yaml +260 -0
  1595. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_async_response_resume_exports_mirascope_span.yaml +688 -0
  1596. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_async_stream_response_resume_exports_mirascope_span.yaml +259 -0
  1597. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_context_response_resume_exports_mirascope_span.yaml +220 -0
  1598. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_context_stream_response_resume_exports_mirascope_span.yaml +255 -0
  1599. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_async_exports_genai_span.yaml +111 -0
  1600. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_async_records_untracked_params_event.yaml +105 -0
  1601. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_exports_genai_span.yaml +110 -0
  1602. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_records_response_id.yaml +110 -0
  1603. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_records_untracked_params_event.yaml +105 -0
  1604. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_with_audio_content.yaml +66 -0
  1605. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_with_base64_image.yaml +110 -0
  1606. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_with_image.yaml +107 -0
  1607. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_with_json_format.yaml +107 -0
  1608. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_with_message_name.yaml +109 -0
  1609. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_with_none_parameters.yaml +104 -0
  1610. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_with_parameters.yaml +103 -0
  1611. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_with_reasoning_model.yaml +127 -0
  1612. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_with_stop_string.yaml +110 -0
  1613. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_with_strict_tool.yaml +114 -0
  1614. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_with_tool_outputs.yaml +438 -0
  1615. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_with_tools.yaml +307 -0
  1616. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_with_tracer_set_to_none.yaml +106 -0
  1617. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_without_instrumentation.yaml +108 -0
  1618. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_context_call_async_exports_genai_span.yaml +109 -0
  1619. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_context_call_exports_genai_span.yaml +111 -0
  1620. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_context_resume_async_exports_genai_span.yaml +220 -0
  1621. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_context_resume_exports_genai_span.yaml +220 -0
  1622. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_context_resume_stream_async_exports_genai_span.yaml +260 -0
  1623. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_context_resume_stream_exports_genai_span.yaml +255 -0
  1624. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_context_stream_async_exports_genai_span.yaml +148 -0
  1625. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_context_stream_exports_genai_span.yaml +148 -0
  1626. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_resume_async_exports_genai_span.yaml +220 -0
  1627. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_resume_exports_genai_span.yaml +221 -0
  1628. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_resume_stream_async_exports_genai_span.yaml +255 -0
  1629. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_resume_stream_exports_genai_span.yaml +260 -0
  1630. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_stream_async_exports_genai_span.yaml +178 -0
  1631. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_stream_async_with_tracer_set_to_none.yaml +178 -0
  1632. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_stream_async_without_instrumentation.yaml +178 -0
  1633. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_stream_exports_genai_span.yaml +180 -0
  1634. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_stream_records_response_id.yaml +176 -0
  1635. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_stream_records_untracked_params_event.yaml +176 -0
  1636. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_stream_with_json_format.yaml +282 -0
  1637. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_stream_with_none_parameters.yaml +171 -0
  1638. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_stream_with_tools.yaml +390 -0
  1639. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_stream_with_tracer_set_to_none.yaml +176 -0
  1640. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_model_stream_without_instrumentation.yaml +176 -0
  1641. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_response_resume_exports_mirascope_span.yaml +221 -0
  1642. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_stream_response_resume_exports_mirascope_span.yaml +255 -0
  1643. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/cassettes/test_tracer_context_with_model_call.yaml +110 -0
  1644. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/test_common.py +232 -0
  1645. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/test_cost_calculation.py +457 -0
  1646. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/test_instrumentation.py +102 -0
  1647. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/test_model_call.py +839 -0
  1648. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/test_model_call_async.py +137 -0
  1649. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/test_model_context_call.py +66 -0
  1650. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/test_model_context_call_async.py +67 -0
  1651. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/test_model_context_stream.py +146 -0
  1652. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/test_model_context_stream_async.py +224 -0
  1653. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/test_model_resume.py +779 -0
  1654. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/test_model_stream.py +441 -0
  1655. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/test_model_stream_async.py +190 -0
  1656. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/test_response.py +353 -0
  1657. mirascope-2.0.0/tests/ops/_internal/instrumentation/llm/test_serialize.py +598 -0
  1658. mirascope-2.0.0/tests/ops/_internal/test_closure.py +1552 -0
  1659. mirascope-2.0.0/tests/ops/_internal/test_configuration.py +192 -0
  1660. mirascope-2.0.0/tests/ops/_internal/test_context.py +321 -0
  1661. mirascope-2.0.0/tests/ops/_internal/test_missing_dependencies.py +81 -0
  1662. mirascope-2.0.0/tests/ops/_internal/test_propagation.py +634 -0
  1663. mirascope-2.0.0/tests/ops/_internal/test_session.py +200 -0
  1664. mirascope-2.0.0/tests/ops/_internal/test_span.py +555 -0
  1665. mirascope-2.0.0/tests/ops/_internal/test_tracing.py +1792 -0
  1666. mirascope-2.0.0/tests/ops/_internal/test_versioning.py +1859 -0
  1667. mirascope-2.0.0/tests/ops/conftest.py +161 -0
  1668. mirascope-2.0.0/tests/ops/utils.py +99 -0
  1669. mirascope-2.0.0/tests/test_imports.py +8 -0
  1670. mirascope-2.0.0/tests/utils.py +197 -0
  1671. mirascope-2.0.0/typechecking/call.py +138 -0
  1672. mirascope-2.0.0/typechecking/context.py +7 -0
  1673. mirascope-2.0.0/typechecking/format.py +7 -0
  1674. mirascope-2.0.0/typechecking/streams.py +46 -0
  1675. mirascope-2.0.0/typechecking/tool.py +71 -0
  1676. mirascope-2.0.0/typechecking/utils.py +87 -0
  1677. mirascope-2.0.0/typings/mlx/__init__.pyi +3 -0
  1678. mirascope-2.0.0/typings/mlx/core.pyi +12 -0
  1679. mirascope-2.0.0/typings/mlx/nn.pyi +6 -0
  1680. mirascope-2.0.0/uv.lock +3490 -0
  1681. mirascope-1.25.6/.claude/settings.local.json +0 -10
  1682. mirascope-1.25.6/.github/CODEOWNERS +0 -8
  1683. mirascope-1.25.6/.github/ISSUE_TEMPLATE/bug-report.yml +0 -21
  1684. mirascope-1.25.6/.github/ISSUE_TEMPLATE/config.yml +0 -5
  1685. mirascope-1.25.6/.github/ISSUE_TEMPLATE/feature-request.yml +0 -13
  1686. mirascope-1.25.6/.github/ISSUE_TEMPLATE/question.yml +0 -12
  1687. mirascope-1.25.6/.github/workflows/lint.yml +0 -51
  1688. mirascope-1.25.6/.github/workflows/release.yml +0 -31
  1689. mirascope-1.25.6/.github/workflows/tests.yml +0 -62
  1690. mirascope-1.25.6/.gitignore +0 -177
  1691. mirascope-1.25.6/.pre-commit-config.yaml +0 -27
  1692. mirascope-1.25.6/.vscode/extensions.json +0 -16
  1693. mirascope-1.25.6/.vscode/launch.json +0 -28
  1694. mirascope-1.25.6/.vscode/settings.json +0 -27
  1695. mirascope-1.25.6/LICENSE +0 -21
  1696. mirascope-1.25.6/PKG-INFO +0 -169
  1697. mirascope-1.25.6/README.md +0 -66
  1698. mirascope-1.25.6/api_ref/core/anthropic/call.md +0 -3
  1699. mirascope-1.25.6/api_ref/core/anthropic/call_params.md +0 -3
  1700. mirascope-1.25.6/api_ref/core/anthropic/call_response.md +0 -3
  1701. mirascope-1.25.6/api_ref/core/anthropic/call_response_chunk.md +0 -3
  1702. mirascope-1.25.6/api_ref/core/anthropic/dynamic_config.md +0 -3
  1703. mirascope-1.25.6/api_ref/core/anthropic/stream.md +0 -3
  1704. mirascope-1.25.6/api_ref/core/anthropic/tool.md +0 -3
  1705. mirascope-1.25.6/api_ref/core/azure/call.md +0 -3
  1706. mirascope-1.25.6/api_ref/core/azure/call_params.md +0 -3
  1707. mirascope-1.25.6/api_ref/core/azure/call_response.md +0 -3
  1708. mirascope-1.25.6/api_ref/core/azure/call_response_chunk.md +0 -3
  1709. mirascope-1.25.6/api_ref/core/azure/dynamic_config.md +0 -3
  1710. mirascope-1.25.6/api_ref/core/azure/stream.md +0 -3
  1711. mirascope-1.25.6/api_ref/core/azure/tool.md +0 -3
  1712. mirascope-1.25.6/api_ref/core/base/call_factory.md +0 -5
  1713. mirascope-1.25.6/api_ref/core/base/call_params.md +0 -9
  1714. mirascope-1.25.6/api_ref/core/base/call_response.md +0 -3
  1715. mirascope-1.25.6/api_ref/core/base/call_response_chunk.md +0 -3
  1716. mirascope-1.25.6/api_ref/core/base/dynamic_config.md +0 -3
  1717. mirascope-1.25.6/api_ref/core/base/merge_decorators.md +0 -3
  1718. mirascope-1.25.6/api_ref/core/base/message_param.md +0 -17
  1719. mirascope-1.25.6/api_ref/core/base/metadata.md +0 -3
  1720. mirascope-1.25.6/api_ref/core/base/prompt.md +0 -3
  1721. mirascope-1.25.6/api_ref/core/base/stream.md +0 -3
  1722. mirascope-1.25.6/api_ref/core/base/structured_stream.md +0 -3
  1723. mirascope-1.25.6/api_ref/core/base/tool.md +0 -3
  1724. mirascope-1.25.6/api_ref/core/base/toolkit.md +0 -3
  1725. mirascope-1.25.6/api_ref/core/base/types.md +0 -3
  1726. mirascope-1.25.6/api_ref/core/bedrock/call.md +0 -3
  1727. mirascope-1.25.6/api_ref/core/bedrock/call_params.md +0 -3
  1728. mirascope-1.25.6/api_ref/core/bedrock/call_response.md +0 -3
  1729. mirascope-1.25.6/api_ref/core/bedrock/call_response_chunk.md +0 -3
  1730. mirascope-1.25.6/api_ref/core/bedrock/dynamic_config.md +0 -3
  1731. mirascope-1.25.6/api_ref/core/bedrock/stream.md +0 -3
  1732. mirascope-1.25.6/api_ref/core/bedrock/tool.md +0 -3
  1733. mirascope-1.25.6/api_ref/core/cohere/call.md +0 -3
  1734. mirascope-1.25.6/api_ref/core/cohere/call_params.md +0 -3
  1735. mirascope-1.25.6/api_ref/core/cohere/call_response.md +0 -3
  1736. mirascope-1.25.6/api_ref/core/cohere/call_response_chunk.md +0 -3
  1737. mirascope-1.25.6/api_ref/core/cohere/dynamic_config.md +0 -3
  1738. mirascope-1.25.6/api_ref/core/cohere/stream.md +0 -3
  1739. mirascope-1.25.6/api_ref/core/cohere/tool.md +0 -3
  1740. mirascope-1.25.6/api_ref/core/costs/calculate_cost.md +0 -3
  1741. mirascope-1.25.6/api_ref/core/google/call.md +0 -3
  1742. mirascope-1.25.6/api_ref/core/google/call_params.md +0 -3
  1743. mirascope-1.25.6/api_ref/core/google/call_response.md +0 -3
  1744. mirascope-1.25.6/api_ref/core/google/call_response_chunk.md +0 -3
  1745. mirascope-1.25.6/api_ref/core/google/dynamic_config.md +0 -3
  1746. mirascope-1.25.6/api_ref/core/google/stream.md +0 -3
  1747. mirascope-1.25.6/api_ref/core/google/tool.md +0 -3
  1748. mirascope-1.25.6/api_ref/core/groq/call.md +0 -3
  1749. mirascope-1.25.6/api_ref/core/groq/call_params.md +0 -3
  1750. mirascope-1.25.6/api_ref/core/groq/call_response.md +0 -3
  1751. mirascope-1.25.6/api_ref/core/groq/call_response_chunk.md +0 -3
  1752. mirascope-1.25.6/api_ref/core/groq/dynamic_config.md +0 -3
  1753. mirascope-1.25.6/api_ref/core/groq/stream.md +0 -3
  1754. mirascope-1.25.6/api_ref/core/groq/tool.md +0 -3
  1755. mirascope-1.25.6/api_ref/core/litellm/call.md +0 -3
  1756. mirascope-1.25.6/api_ref/core/litellm/call_params.md +0 -3
  1757. mirascope-1.25.6/api_ref/core/litellm/call_response.md +0 -3
  1758. mirascope-1.25.6/api_ref/core/litellm/call_response_chunk.md +0 -3
  1759. mirascope-1.25.6/api_ref/core/litellm/dynamic_config.md +0 -3
  1760. mirascope-1.25.6/api_ref/core/litellm/stream.md +0 -3
  1761. mirascope-1.25.6/api_ref/core/litellm/tool.md +0 -3
  1762. mirascope-1.25.6/api_ref/core/mistral/call.md +0 -3
  1763. mirascope-1.25.6/api_ref/core/mistral/call_params.md +0 -3
  1764. mirascope-1.25.6/api_ref/core/mistral/call_response.md +0 -3
  1765. mirascope-1.25.6/api_ref/core/mistral/call_response_chunk.md +0 -3
  1766. mirascope-1.25.6/api_ref/core/mistral/dynamic_config.md +0 -3
  1767. mirascope-1.25.6/api_ref/core/mistral/stream.md +0 -3
  1768. mirascope-1.25.6/api_ref/core/mistral/tool.md +0 -3
  1769. mirascope-1.25.6/api_ref/core/openai/call.md +0 -3
  1770. mirascope-1.25.6/api_ref/core/openai/call_params.md +0 -3
  1771. mirascope-1.25.6/api_ref/core/openai/call_response.md +0 -3
  1772. mirascope-1.25.6/api_ref/core/openai/call_response_chunk.md +0 -3
  1773. mirascope-1.25.6/api_ref/core/openai/dynamic_config.md +0 -3
  1774. mirascope-1.25.6/api_ref/core/openai/stream.md +0 -3
  1775. mirascope-1.25.6/api_ref/core/openai/tool.md +0 -3
  1776. mirascope-1.25.6/api_ref/core/xai/call.md +0 -3
  1777. mirascope-1.25.6/api_ref/core/xai/call_params.md +0 -3
  1778. mirascope-1.25.6/api_ref/core/xai/call_response.md +0 -3
  1779. mirascope-1.25.6/api_ref/core/xai/call_response_chunk.md +0 -3
  1780. mirascope-1.25.6/api_ref/core/xai/dynamic_config.md +0 -3
  1781. mirascope-1.25.6/api_ref/core/xai/stream.md +0 -3
  1782. mirascope-1.25.6/api_ref/core/xai/tool.md +0 -3
  1783. mirascope-1.25.6/api_ref/llm/call.md +0 -3
  1784. mirascope-1.25.6/api_ref/llm/call_response.md +0 -3
  1785. mirascope-1.25.6/api_ref/llm/call_response_chunk.md +0 -3
  1786. mirascope-1.25.6/api_ref/llm/context.md +0 -3
  1787. mirascope-1.25.6/api_ref/llm/override.md +0 -3
  1788. mirascope-1.25.6/api_ref/llm/stream.md +0 -3
  1789. mirascope-1.25.6/api_ref/llm/tool.md +0 -3
  1790. mirascope-1.25.6/api_ref/mcp/client.md +0 -3
  1791. mirascope-1.25.6/api_ref/retries/fallback.md +0 -3
  1792. mirascope-1.25.6/api_ref/retries/tenacity.md +0 -3
  1793. mirascope-1.25.6/api_ref/tools/system/docker_operation.md +0 -3
  1794. mirascope-1.25.6/api_ref/tools/system/file_system.md +0 -3
  1795. mirascope-1.25.6/api_ref/tools/web/duckduckgo.md +0 -3
  1796. mirascope-1.25.6/api_ref/tools/web/httpx.md +0 -3
  1797. mirascope-1.25.6/api_ref/tools/web/parse_url_content.md +0 -3
  1798. mirascope-1.25.6/api_ref/tools/web/requests.md +0 -3
  1799. mirascope-1.25.6/mirascope/__init__.py +0 -61
  1800. mirascope-1.25.6/mirascope/beta/__init__.py +0 -3
  1801. mirascope-1.25.6/mirascope/beta/openai/__init__.py +0 -17
  1802. mirascope-1.25.6/mirascope/beta/openai/realtime/__init__.py +0 -13
  1803. mirascope-1.25.6/mirascope/beta/openai/realtime/_utils/__init__.py +0 -3
  1804. mirascope-1.25.6/mirascope/beta/openai/realtime/_utils/_audio.py +0 -74
  1805. mirascope-1.25.6/mirascope/beta/openai/realtime/_utils/_protocols.py +0 -50
  1806. mirascope-1.25.6/mirascope/beta/openai/realtime/realtime.py +0 -500
  1807. mirascope-1.25.6/mirascope/beta/openai/realtime/recording.py +0 -98
  1808. mirascope-1.25.6/mirascope/beta/openai/realtime/tool.py +0 -113
  1809. mirascope-1.25.6/mirascope/beta/rag/__init__.py +0 -24
  1810. mirascope-1.25.6/mirascope/beta/rag/base/__init__.py +0 -22
  1811. mirascope-1.25.6/mirascope/beta/rag/base/chunkers/__init__.py +0 -2
  1812. mirascope-1.25.6/mirascope/beta/rag/base/chunkers/base_chunker.py +0 -37
  1813. mirascope-1.25.6/mirascope/beta/rag/base/chunkers/text_chunker.py +0 -33
  1814. mirascope-1.25.6/mirascope/beta/rag/base/config.py +0 -8
  1815. mirascope-1.25.6/mirascope/beta/rag/base/document.py +0 -11
  1816. mirascope-1.25.6/mirascope/beta/rag/base/embedders.py +0 -35
  1817. mirascope-1.25.6/mirascope/beta/rag/base/embedding_params.py +0 -18
  1818. mirascope-1.25.6/mirascope/beta/rag/base/embedding_response.py +0 -30
  1819. mirascope-1.25.6/mirascope/beta/rag/base/query_results.py +0 -7
  1820. mirascope-1.25.6/mirascope/beta/rag/base/vectorstore_params.py +0 -18
  1821. mirascope-1.25.6/mirascope/beta/rag/base/vectorstores.py +0 -37
  1822. mirascope-1.25.6/mirascope/beta/rag/chroma/__init__.py +0 -11
  1823. mirascope-1.25.6/mirascope/beta/rag/chroma/types.py +0 -62
  1824. mirascope-1.25.6/mirascope/beta/rag/chroma/vectorstores.py +0 -121
  1825. mirascope-1.25.6/mirascope/beta/rag/cohere/__init__.py +0 -11
  1826. mirascope-1.25.6/mirascope/beta/rag/cohere/embedders.py +0 -87
  1827. mirascope-1.25.6/mirascope/beta/rag/cohere/embedding_params.py +0 -29
  1828. mirascope-1.25.6/mirascope/beta/rag/cohere/embedding_response.py +0 -29
  1829. mirascope-1.25.6/mirascope/beta/rag/cohere/py.typed +0 -0
  1830. mirascope-1.25.6/mirascope/beta/rag/openai/__init__.py +0 -11
  1831. mirascope-1.25.6/mirascope/beta/rag/openai/embedders.py +0 -144
  1832. mirascope-1.25.6/mirascope/beta/rag/openai/embedding_params.py +0 -18
  1833. mirascope-1.25.6/mirascope/beta/rag/openai/embedding_response.py +0 -14
  1834. mirascope-1.25.6/mirascope/beta/rag/openai/py.typed +0 -0
  1835. mirascope-1.25.6/mirascope/beta/rag/pinecone/__init__.py +0 -19
  1836. mirascope-1.25.6/mirascope/beta/rag/pinecone/types.py +0 -143
  1837. mirascope-1.25.6/mirascope/beta/rag/pinecone/vectorstores.py +0 -148
  1838. mirascope-1.25.6/mirascope/beta/rag/weaviate/__init__.py +0 -6
  1839. mirascope-1.25.6/mirascope/beta/rag/weaviate/types.py +0 -92
  1840. mirascope-1.25.6/mirascope/beta/rag/weaviate/vectorstores.py +0 -103
  1841. mirascope-1.25.6/mirascope/core/__init__.py +0 -109
  1842. mirascope-1.25.6/mirascope/core/anthropic/__init__.py +0 -31
  1843. mirascope-1.25.6/mirascope/core/anthropic/_call.py +0 -67
  1844. mirascope-1.25.6/mirascope/core/anthropic/_call_kwargs.py +0 -13
  1845. mirascope-1.25.6/mirascope/core/anthropic/_thinking.py +0 -70
  1846. mirascope-1.25.6/mirascope/core/anthropic/_utils/__init__.py +0 -16
  1847. mirascope-1.25.6/mirascope/core/anthropic/_utils/_convert_common_call_params.py +0 -25
  1848. mirascope-1.25.6/mirascope/core/anthropic/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -21
  1849. mirascope-1.25.6/mirascope/core/anthropic/_utils/_convert_message_params.py +0 -102
  1850. mirascope-1.25.6/mirascope/core/anthropic/_utils/_get_json_output.py +0 -31
  1851. mirascope-1.25.6/mirascope/core/anthropic/_utils/_handle_stream.py +0 -113
  1852. mirascope-1.25.6/mirascope/core/anthropic/_utils/_message_param_converter.py +0 -142
  1853. mirascope-1.25.6/mirascope/core/anthropic/_utils/_setup_call.py +0 -146
  1854. mirascope-1.25.6/mirascope/core/anthropic/call_params.py +0 -44
  1855. mirascope-1.25.6/mirascope/core/anthropic/call_response.py +0 -226
  1856. mirascope-1.25.6/mirascope/core/anthropic/call_response_chunk.py +0 -152
  1857. mirascope-1.25.6/mirascope/core/anthropic/dynamic_config.py +0 -40
  1858. mirascope-1.25.6/mirascope/core/anthropic/py.typed +0 -0
  1859. mirascope-1.25.6/mirascope/core/anthropic/stream.py +0 -204
  1860. mirascope-1.25.6/mirascope/core/anthropic/tool.py +0 -101
  1861. mirascope-1.25.6/mirascope/core/azure/__init__.py +0 -31
  1862. mirascope-1.25.6/mirascope/core/azure/_call.py +0 -67
  1863. mirascope-1.25.6/mirascope/core/azure/_call_kwargs.py +0 -13
  1864. mirascope-1.25.6/mirascope/core/azure/_utils/__init__.py +0 -14
  1865. mirascope-1.25.6/mirascope/core/azure/_utils/_convert_common_call_params.py +0 -26
  1866. mirascope-1.25.6/mirascope/core/azure/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -21
  1867. mirascope-1.25.6/mirascope/core/azure/_utils/_convert_message_params.py +0 -121
  1868. mirascope-1.25.6/mirascope/core/azure/_utils/_get_credential.py +0 -33
  1869. mirascope-1.25.6/mirascope/core/azure/_utils/_get_json_output.py +0 -27
  1870. mirascope-1.25.6/mirascope/core/azure/_utils/_handle_stream.py +0 -130
  1871. mirascope-1.25.6/mirascope/core/azure/_utils/_message_param_converter.py +0 -117
  1872. mirascope-1.25.6/mirascope/core/azure/_utils/_setup_call.py +0 -183
  1873. mirascope-1.25.6/mirascope/core/azure/call_params.py +0 -59
  1874. mirascope-1.25.6/mirascope/core/azure/call_response.py +0 -215
  1875. mirascope-1.25.6/mirascope/core/azure/call_response_chunk.py +0 -105
  1876. mirascope-1.25.6/mirascope/core/azure/dynamic_config.py +0 -30
  1877. mirascope-1.25.6/mirascope/core/azure/py.typed +0 -0
  1878. mirascope-1.25.6/mirascope/core/azure/stream.py +0 -147
  1879. mirascope-1.25.6/mirascope/core/azure/tool.py +0 -93
  1880. mirascope-1.25.6/mirascope/core/base/__init__.py +0 -86
  1881. mirascope-1.25.6/mirascope/core/base/_call_factory.py +0 -256
  1882. mirascope-1.25.6/mirascope/core/base/_create.py +0 -253
  1883. mirascope-1.25.6/mirascope/core/base/_extract.py +0 -175
  1884. mirascope-1.25.6/mirascope/core/base/_extract_with_tools.py +0 -189
  1885. mirascope-1.25.6/mirascope/core/base/_partial.py +0 -95
  1886. mirascope-1.25.6/mirascope/core/base/_utils/__init__.py +0 -92
  1887. mirascope-1.25.6/mirascope/core/base/_utils/_base_message_param_converter.py +0 -22
  1888. mirascope-1.25.6/mirascope/core/base/_utils/_base_type.py +0 -26
  1889. mirascope-1.25.6/mirascope/core/base/_utils/_convert_base_model_to_base_tool.py +0 -48
  1890. mirascope-1.25.6/mirascope/core/base/_utils/_convert_base_type_to_base_tool.py +0 -24
  1891. mirascope-1.25.6/mirascope/core/base/_utils/_convert_function_to_base_tool.py +0 -139
  1892. mirascope-1.25.6/mirascope/core/base/_utils/_convert_messages_to_message_params.py +0 -178
  1893. mirascope-1.25.6/mirascope/core/base/_utils/_convert_provider_finish_reason_to_finish_reason.py +0 -20
  1894. mirascope-1.25.6/mirascope/core/base/_utils/_default_tool_docstring.py +0 -6
  1895. mirascope-1.25.6/mirascope/core/base/_utils/_extract_tool_return.py +0 -42
  1896. mirascope-1.25.6/mirascope/core/base/_utils/_fn_is_async.py +0 -24
  1897. mirascope-1.25.6/mirascope/core/base/_utils/_format_template.py +0 -32
  1898. mirascope-1.25.6/mirascope/core/base/_utils/_get_audio_type.py +0 -18
  1899. mirascope-1.25.6/mirascope/core/base/_utils/_get_common_usage.py +0 -20
  1900. mirascope-1.25.6/mirascope/core/base/_utils/_get_create_fn_or_async_create_fn.py +0 -137
  1901. mirascope-1.25.6/mirascope/core/base/_utils/_get_document_type.py +0 -7
  1902. mirascope-1.25.6/mirascope/core/base/_utils/_get_dynamic_configuration.py +0 -69
  1903. mirascope-1.25.6/mirascope/core/base/_utils/_get_fields_from_call_args.py +0 -34
  1904. mirascope-1.25.6/mirascope/core/base/_utils/_get_fn_args.py +0 -23
  1905. mirascope-1.25.6/mirascope/core/base/_utils/_get_image_dimensions.py +0 -39
  1906. mirascope-1.25.6/mirascope/core/base/_utils/_get_image_type.py +0 -26
  1907. mirascope-1.25.6/mirascope/core/base/_utils/_get_metadata.py +0 -17
  1908. mirascope-1.25.6/mirascope/core/base/_utils/_get_possible_user_message_param.py +0 -21
  1909. mirascope-1.25.6/mirascope/core/base/_utils/_get_prompt_template.py +0 -28
  1910. mirascope-1.25.6/mirascope/core/base/_utils/_get_template_values.py +0 -51
  1911. mirascope-1.25.6/mirascope/core/base/_utils/_get_template_variables.py +0 -38
  1912. mirascope-1.25.6/mirascope/core/base/_utils/_get_unsupported_tool_config_keys.py +0 -10
  1913. mirascope-1.25.6/mirascope/core/base/_utils/_is_prompt_template.py +0 -24
  1914. mirascope-1.25.6/mirascope/core/base/_utils/_json_mode_content.py +0 -17
  1915. mirascope-1.25.6/mirascope/core/base/_utils/_messages_decorator.py +0 -121
  1916. mirascope-1.25.6/mirascope/core/base/_utils/_parse_content_template.py +0 -323
  1917. mirascope-1.25.6/mirascope/core/base/_utils/_parse_prompt_messages.py +0 -63
  1918. mirascope-1.25.6/mirascope/core/base/_utils/_pil_image_to_bytes.py +0 -13
  1919. mirascope-1.25.6/mirascope/core/base/_utils/_protocols.py +0 -901
  1920. mirascope-1.25.6/mirascope/core/base/_utils/_setup_call.py +0 -79
  1921. mirascope-1.25.6/mirascope/core/base/_utils/_setup_extract_tool.py +0 -30
  1922. mirascope-1.25.6/mirascope/core/base/call_kwargs.py +0 -13
  1923. mirascope-1.25.6/mirascope/core/base/call_params.py +0 -36
  1924. mirascope-1.25.6/mirascope/core/base/call_response.py +0 -338
  1925. mirascope-1.25.6/mirascope/core/base/call_response_chunk.py +0 -130
  1926. mirascope-1.25.6/mirascope/core/base/dynamic_config.py +0 -82
  1927. mirascope-1.25.6/mirascope/core/base/from_call_args.py +0 -30
  1928. mirascope-1.25.6/mirascope/core/base/merge_decorators.py +0 -59
  1929. mirascope-1.25.6/mirascope/core/base/message_param.py +0 -175
  1930. mirascope-1.25.6/mirascope/core/base/messages.py +0 -116
  1931. mirascope-1.25.6/mirascope/core/base/metadata.py +0 -13
  1932. mirascope-1.25.6/mirascope/core/base/prompt.py +0 -497
  1933. mirascope-1.25.6/mirascope/core/base/response_model_config_dict.py +0 -9
  1934. mirascope-1.25.6/mirascope/core/base/stream.py +0 -479
  1935. mirascope-1.25.6/mirascope/core/base/stream_config.py +0 -11
  1936. mirascope-1.25.6/mirascope/core/base/structured_stream.py +0 -296
  1937. mirascope-1.25.6/mirascope/core/base/tool.py +0 -214
  1938. mirascope-1.25.6/mirascope/core/base/toolkit.py +0 -176
  1939. mirascope-1.25.6/mirascope/core/base/types.py +0 -344
  1940. mirascope-1.25.6/mirascope/core/bedrock/__init__.py +0 -34
  1941. mirascope-1.25.6/mirascope/core/bedrock/_call.py +0 -68
  1942. mirascope-1.25.6/mirascope/core/bedrock/_call_kwargs.py +0 -12
  1943. mirascope-1.25.6/mirascope/core/bedrock/_types.py +0 -104
  1944. mirascope-1.25.6/mirascope/core/bedrock/_utils/__init__.py +0 -14
  1945. mirascope-1.25.6/mirascope/core/bedrock/_utils/_convert_common_call_params.py +0 -39
  1946. mirascope-1.25.6/mirascope/core/bedrock/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -23
  1947. mirascope-1.25.6/mirascope/core/bedrock/_utils/_convert_message_params.py +0 -111
  1948. mirascope-1.25.6/mirascope/core/bedrock/_utils/_get_json_output.py +0 -30
  1949. mirascope-1.25.6/mirascope/core/bedrock/_utils/_handle_stream.py +0 -104
  1950. mirascope-1.25.6/mirascope/core/bedrock/_utils/_message_param_converter.py +0 -172
  1951. mirascope-1.25.6/mirascope/core/bedrock/_utils/_setup_call.py +0 -258
  1952. mirascope-1.25.6/mirascope/core/bedrock/call_params.py +0 -38
  1953. mirascope-1.25.6/mirascope/core/bedrock/call_response.py +0 -248
  1954. mirascope-1.25.6/mirascope/core/bedrock/call_response_chunk.py +0 -111
  1955. mirascope-1.25.6/mirascope/core/bedrock/dynamic_config.py +0 -37
  1956. mirascope-1.25.6/mirascope/core/bedrock/py.typed +0 -0
  1957. mirascope-1.25.6/mirascope/core/bedrock/stream.py +0 -154
  1958. mirascope-1.25.6/mirascope/core/bedrock/tool.py +0 -100
  1959. mirascope-1.25.6/mirascope/core/cohere/__init__.py +0 -30
  1960. mirascope-1.25.6/mirascope/core/cohere/_call.py +0 -67
  1961. mirascope-1.25.6/mirascope/core/cohere/_call_kwargs.py +0 -11
  1962. mirascope-1.25.6/mirascope/core/cohere/_types.py +0 -20
  1963. mirascope-1.25.6/mirascope/core/cohere/_utils/__init__.py +0 -14
  1964. mirascope-1.25.6/mirascope/core/cohere/_utils/_convert_common_call_params.py +0 -26
  1965. mirascope-1.25.6/mirascope/core/cohere/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -24
  1966. mirascope-1.25.6/mirascope/core/cohere/_utils/_convert_message_params.py +0 -32
  1967. mirascope-1.25.6/mirascope/core/cohere/_utils/_get_json_output.py +0 -30
  1968. mirascope-1.25.6/mirascope/core/cohere/_utils/_handle_stream.py +0 -35
  1969. mirascope-1.25.6/mirascope/core/cohere/_utils/_message_param_converter.py +0 -54
  1970. mirascope-1.25.6/mirascope/core/cohere/_utils/_setup_call.py +0 -150
  1971. mirascope-1.25.6/mirascope/core/cohere/call_params.py +0 -62
  1972. mirascope-1.25.6/mirascope/core/cohere/call_response.py +0 -205
  1973. mirascope-1.25.6/mirascope/core/cohere/call_response_chunk.py +0 -125
  1974. mirascope-1.25.6/mirascope/core/cohere/dynamic_config.py +0 -32
  1975. mirascope-1.25.6/mirascope/core/cohere/py.typed +0 -0
  1976. mirascope-1.25.6/mirascope/core/cohere/stream.py +0 -113
  1977. mirascope-1.25.6/mirascope/core/cohere/tool.py +0 -93
  1978. mirascope-1.25.6/mirascope/core/costs/__init__.py +0 -5
  1979. mirascope-1.25.6/mirascope/core/costs/_anthropic_calculate_cost.py +0 -219
  1980. mirascope-1.25.6/mirascope/core/costs/_azure_calculate_cost.py +0 -11
  1981. mirascope-1.25.6/mirascope/core/costs/_bedrock_calculate_cost.py +0 -15
  1982. mirascope-1.25.6/mirascope/core/costs/_cohere_calculate_cost.py +0 -44
  1983. mirascope-1.25.6/mirascope/core/costs/_gemini_calculate_cost.py +0 -67
  1984. mirascope-1.25.6/mirascope/core/costs/_google_calculate_cost.py +0 -427
  1985. mirascope-1.25.6/mirascope/core/costs/_groq_calculate_cost.py +0 -156
  1986. mirascope-1.25.6/mirascope/core/costs/_litellm_calculate_cost.py +0 -11
  1987. mirascope-1.25.6/mirascope/core/costs/_mistral_calculate_cost.py +0 -64
  1988. mirascope-1.25.6/mirascope/core/costs/_openai_calculate_cost.py +0 -416
  1989. mirascope-1.25.6/mirascope/core/costs/_vertex_calculate_cost.py +0 -67
  1990. mirascope-1.25.6/mirascope/core/costs/_xai_calculate_cost.py +0 -104
  1991. mirascope-1.25.6/mirascope/core/costs/calculate_cost.py +0 -86
  1992. mirascope-1.25.6/mirascope/core/gemini/__init__.py +0 -40
  1993. mirascope-1.25.6/mirascope/core/gemini/_call.py +0 -67
  1994. mirascope-1.25.6/mirascope/core/gemini/_call_kwargs.py +0 -12
  1995. mirascope-1.25.6/mirascope/core/gemini/_utils/__init__.py +0 -14
  1996. mirascope-1.25.6/mirascope/core/gemini/_utils/_convert_common_call_params.py +0 -39
  1997. mirascope-1.25.6/mirascope/core/gemini/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -23
  1998. mirascope-1.25.6/mirascope/core/gemini/_utils/_convert_message_params.py +0 -156
  1999. mirascope-1.25.6/mirascope/core/gemini/_utils/_get_json_output.py +0 -35
  2000. mirascope-1.25.6/mirascope/core/gemini/_utils/_handle_stream.py +0 -33
  2001. mirascope-1.25.6/mirascope/core/gemini/_utils/_message_param_converter.py +0 -209
  2002. mirascope-1.25.6/mirascope/core/gemini/_utils/_setup_call.py +0 -149
  2003. mirascope-1.25.6/mirascope/core/gemini/call_params.py +0 -52
  2004. mirascope-1.25.6/mirascope/core/gemini/call_response.py +0 -216
  2005. mirascope-1.25.6/mirascope/core/gemini/call_response_chunk.py +0 -100
  2006. mirascope-1.25.6/mirascope/core/gemini/dynamic_config.py +0 -26
  2007. mirascope-1.25.6/mirascope/core/gemini/stream.py +0 -120
  2008. mirascope-1.25.6/mirascope/core/gemini/tool.py +0 -104
  2009. mirascope-1.25.6/mirascope/core/google/__init__.py +0 -29
  2010. mirascope-1.25.6/mirascope/core/google/_call.py +0 -67
  2011. mirascope-1.25.6/mirascope/core/google/_call_kwargs.py +0 -13
  2012. mirascope-1.25.6/mirascope/core/google/_utils/__init__.py +0 -14
  2013. mirascope-1.25.6/mirascope/core/google/_utils/_convert_common_call_params.py +0 -38
  2014. mirascope-1.25.6/mirascope/core/google/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -27
  2015. mirascope-1.25.6/mirascope/core/google/_utils/_convert_message_params.py +0 -297
  2016. mirascope-1.25.6/mirascope/core/google/_utils/_get_json_output.py +0 -37
  2017. mirascope-1.25.6/mirascope/core/google/_utils/_handle_stream.py +0 -58
  2018. mirascope-1.25.6/mirascope/core/google/_utils/_message_param_converter.py +0 -200
  2019. mirascope-1.25.6/mirascope/core/google/_utils/_setup_call.py +0 -201
  2020. mirascope-1.25.6/mirascope/core/google/_utils/_validate_media_type.py +0 -58
  2021. mirascope-1.25.6/mirascope/core/google/call_params.py +0 -22
  2022. mirascope-1.25.6/mirascope/core/google/call_response.py +0 -255
  2023. mirascope-1.25.6/mirascope/core/google/call_response_chunk.py +0 -135
  2024. mirascope-1.25.6/mirascope/core/google/dynamic_config.py +0 -26
  2025. mirascope-1.25.6/mirascope/core/google/stream.py +0 -199
  2026. mirascope-1.25.6/mirascope/core/google/tool.py +0 -146
  2027. mirascope-1.25.6/mirascope/core/groq/__init__.py +0 -30
  2028. mirascope-1.25.6/mirascope/core/groq/_call.py +0 -67
  2029. mirascope-1.25.6/mirascope/core/groq/_call_kwargs.py +0 -13
  2030. mirascope-1.25.6/mirascope/core/groq/_utils/__init__.py +0 -14
  2031. mirascope-1.25.6/mirascope/core/groq/_utils/_convert_common_call_params.py +0 -26
  2032. mirascope-1.25.6/mirascope/core/groq/_utils/_convert_message_params.py +0 -112
  2033. mirascope-1.25.6/mirascope/core/groq/_utils/_get_json_output.py +0 -27
  2034. mirascope-1.25.6/mirascope/core/groq/_utils/_handle_stream.py +0 -123
  2035. mirascope-1.25.6/mirascope/core/groq/_utils/_message_param_converter.py +0 -89
  2036. mirascope-1.25.6/mirascope/core/groq/_utils/_setup_call.py +0 -132
  2037. mirascope-1.25.6/mirascope/core/groq/call_params.py +0 -52
  2038. mirascope-1.25.6/mirascope/core/groq/call_response.py +0 -213
  2039. mirascope-1.25.6/mirascope/core/groq/call_response_chunk.py +0 -104
  2040. mirascope-1.25.6/mirascope/core/groq/dynamic_config.py +0 -29
  2041. mirascope-1.25.6/mirascope/core/groq/py.typed +0 -0
  2042. mirascope-1.25.6/mirascope/core/groq/stream.py +0 -135
  2043. mirascope-1.25.6/mirascope/core/groq/tool.py +0 -80
  2044. mirascope-1.25.6/mirascope/core/litellm/__init__.py +0 -28
  2045. mirascope-1.25.6/mirascope/core/litellm/_call.py +0 -67
  2046. mirascope-1.25.6/mirascope/core/litellm/_utils/__init__.py +0 -5
  2047. mirascope-1.25.6/mirascope/core/litellm/_utils/_setup_call.py +0 -109
  2048. mirascope-1.25.6/mirascope/core/litellm/call_params.py +0 -10
  2049. mirascope-1.25.6/mirascope/core/litellm/call_response.py +0 -24
  2050. mirascope-1.25.6/mirascope/core/litellm/call_response_chunk.py +0 -14
  2051. mirascope-1.25.6/mirascope/core/litellm/dynamic_config.py +0 -8
  2052. mirascope-1.25.6/mirascope/core/litellm/py.typed +0 -0
  2053. mirascope-1.25.6/mirascope/core/litellm/stream.py +0 -86
  2054. mirascope-1.25.6/mirascope/core/litellm/tool.py +0 -13
  2055. mirascope-1.25.6/mirascope/core/mistral/__init__.py +0 -36
  2056. mirascope-1.25.6/mirascope/core/mistral/_call.py +0 -65
  2057. mirascope-1.25.6/mirascope/core/mistral/_call_kwargs.py +0 -19
  2058. mirascope-1.25.6/mirascope/core/mistral/_utils/__init__.py +0 -14
  2059. mirascope-1.25.6/mirascope/core/mistral/_utils/_convert_common_call_params.py +0 -24
  2060. mirascope-1.25.6/mirascope/core/mistral/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -22
  2061. mirascope-1.25.6/mirascope/core/mistral/_utils/_convert_message_params.py +0 -122
  2062. mirascope-1.25.6/mirascope/core/mistral/_utils/_get_json_output.py +0 -34
  2063. mirascope-1.25.6/mirascope/core/mistral/_utils/_handle_stream.py +0 -139
  2064. mirascope-1.25.6/mirascope/core/mistral/_utils/_message_param_converter.py +0 -176
  2065. mirascope-1.25.6/mirascope/core/mistral/_utils/_setup_call.py +0 -164
  2066. mirascope-1.25.6/mirascope/core/mistral/call_params.py +0 -36
  2067. mirascope-1.25.6/mirascope/core/mistral/call_response.py +0 -205
  2068. mirascope-1.25.6/mirascope/core/mistral/call_response_chunk.py +0 -105
  2069. mirascope-1.25.6/mirascope/core/mistral/dynamic_config.py +0 -33
  2070. mirascope-1.25.6/mirascope/core/mistral/py.typed +0 -0
  2071. mirascope-1.25.6/mirascope/core/mistral/stream.py +0 -120
  2072. mirascope-1.25.6/mirascope/core/mistral/tool.py +0 -81
  2073. mirascope-1.25.6/mirascope/core/openai/__init__.py +0 -31
  2074. mirascope-1.25.6/mirascope/core/openai/_call.py +0 -67
  2075. mirascope-1.25.6/mirascope/core/openai/_call_kwargs.py +0 -13
  2076. mirascope-1.25.6/mirascope/core/openai/_utils/__init__.py +0 -14
  2077. mirascope-1.25.6/mirascope/core/openai/_utils/_convert_common_call_params.py +0 -26
  2078. mirascope-1.25.6/mirascope/core/openai/_utils/_convert_message_params.py +0 -148
  2079. mirascope-1.25.6/mirascope/core/openai/_utils/_get_json_output.py +0 -31
  2080. mirascope-1.25.6/mirascope/core/openai/_utils/_handle_stream.py +0 -138
  2081. mirascope-1.25.6/mirascope/core/openai/_utils/_message_param_converter.py +0 -105
  2082. mirascope-1.25.6/mirascope/core/openai/_utils/_setup_call.py +0 -155
  2083. mirascope-1.25.6/mirascope/core/openai/call_params.py +0 -92
  2084. mirascope-1.25.6/mirascope/core/openai/call_response.py +0 -273
  2085. mirascope-1.25.6/mirascope/core/openai/call_response_chunk.py +0 -139
  2086. mirascope-1.25.6/mirascope/core/openai/dynamic_config.py +0 -34
  2087. mirascope-1.25.6/mirascope/core/openai/py.typed +0 -0
  2088. mirascope-1.25.6/mirascope/core/openai/stream.py +0 -185
  2089. mirascope-1.25.6/mirascope/core/openai/tool.py +0 -101
  2090. mirascope-1.25.6/mirascope/core/py.typed +0 -0
  2091. mirascope-1.25.6/mirascope/core/vertex/__init__.py +0 -45
  2092. mirascope-1.25.6/mirascope/core/vertex/_call.py +0 -62
  2093. mirascope-1.25.6/mirascope/core/vertex/_call_kwargs.py +0 -12
  2094. mirascope-1.25.6/mirascope/core/vertex/_utils/__init__.py +0 -14
  2095. mirascope-1.25.6/mirascope/core/vertex/_utils/_convert_common_call_params.py +0 -37
  2096. mirascope-1.25.6/mirascope/core/vertex/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -23
  2097. mirascope-1.25.6/mirascope/core/vertex/_utils/_convert_message_params.py +0 -171
  2098. mirascope-1.25.6/mirascope/core/vertex/_utils/_get_json_output.py +0 -36
  2099. mirascope-1.25.6/mirascope/core/vertex/_utils/_handle_stream.py +0 -33
  2100. mirascope-1.25.6/mirascope/core/vertex/_utils/_message_param_converter.py +0 -133
  2101. mirascope-1.25.6/mirascope/core/vertex/_utils/_setup_call.py +0 -160
  2102. mirascope-1.25.6/mirascope/core/vertex/call_params.py +0 -24
  2103. mirascope-1.25.6/mirascope/core/vertex/call_response.py +0 -206
  2104. mirascope-1.25.6/mirascope/core/vertex/call_response_chunk.py +0 -99
  2105. mirascope-1.25.6/mirascope/core/vertex/dynamic_config.py +0 -28
  2106. mirascope-1.25.6/mirascope/core/vertex/stream.py +0 -119
  2107. mirascope-1.25.6/mirascope/core/vertex/tool.py +0 -101
  2108. mirascope-1.25.6/mirascope/core/xai/__init__.py +0 -28
  2109. mirascope-1.25.6/mirascope/core/xai/_call.py +0 -67
  2110. mirascope-1.25.6/mirascope/core/xai/_utils/__init__.py +0 -5
  2111. mirascope-1.25.6/mirascope/core/xai/_utils/_setup_call.py +0 -113
  2112. mirascope-1.25.6/mirascope/core/xai/call_params.py +0 -10
  2113. mirascope-1.25.6/mirascope/core/xai/call_response.py +0 -16
  2114. mirascope-1.25.6/mirascope/core/xai/call_response_chunk.py +0 -14
  2115. mirascope-1.25.6/mirascope/core/xai/dynamic_config.py +0 -8
  2116. mirascope-1.25.6/mirascope/core/xai/py.typed +0 -0
  2117. mirascope-1.25.6/mirascope/core/xai/stream.py +0 -57
  2118. mirascope-1.25.6/mirascope/core/xai/tool.py +0 -13
  2119. mirascope-1.25.6/mirascope/experimental/graphs/__init__.py +0 -5
  2120. mirascope-1.25.6/mirascope/experimental/graphs/finite_state_machine.py +0 -714
  2121. mirascope-1.25.6/mirascope/integrations/__init__.py +0 -16
  2122. mirascope-1.25.6/mirascope/integrations/_middleware_factory.py +0 -403
  2123. mirascope-1.25.6/mirascope/integrations/langfuse/__init__.py +0 -3
  2124. mirascope-1.25.6/mirascope/integrations/langfuse/_utils.py +0 -114
  2125. mirascope-1.25.6/mirascope/integrations/langfuse/_with_langfuse.py +0 -70
  2126. mirascope-1.25.6/mirascope/integrations/logfire/__init__.py +0 -3
  2127. mirascope-1.25.6/mirascope/integrations/logfire/_utils.py +0 -225
  2128. mirascope-1.25.6/mirascope/integrations/logfire/_with_logfire.py +0 -63
  2129. mirascope-1.25.6/mirascope/integrations/otel/__init__.py +0 -10
  2130. mirascope-1.25.6/mirascope/integrations/otel/_utils.py +0 -270
  2131. mirascope-1.25.6/mirascope/integrations/otel/_with_hyperdx.py +0 -60
  2132. mirascope-1.25.6/mirascope/integrations/otel/_with_otel.py +0 -59
  2133. mirascope-1.25.6/mirascope/integrations/tenacity.py +0 -14
  2134. mirascope-1.25.6/mirascope/llm/__init__.py +0 -22
  2135. mirascope-1.25.6/mirascope/llm/_call.py +0 -401
  2136. mirascope-1.25.6/mirascope/llm/_context.py +0 -384
  2137. mirascope-1.25.6/mirascope/llm/_override.py +0 -3639
  2138. mirascope-1.25.6/mirascope/llm/_protocols.py +0 -500
  2139. mirascope-1.25.6/mirascope/llm/_response_metaclass.py +0 -31
  2140. mirascope-1.25.6/mirascope/llm/call_response.py +0 -158
  2141. mirascope-1.25.6/mirascope/llm/call_response_chunk.py +0 -66
  2142. mirascope-1.25.6/mirascope/llm/stream.py +0 -162
  2143. mirascope-1.25.6/mirascope/llm/tool.py +0 -64
  2144. mirascope-1.25.6/mirascope/mcp/__init__.py +0 -7
  2145. mirascope-1.25.6/mirascope/mcp/_utils.py +0 -288
  2146. mirascope-1.25.6/mirascope/mcp/client.py +0 -167
  2147. mirascope-1.25.6/mirascope/mcp/server.py +0 -356
  2148. mirascope-1.25.6/mirascope/mcp/tools.py +0 -110
  2149. mirascope-1.25.6/mirascope/py.typed +0 -0
  2150. mirascope-1.25.6/mirascope/retries/__init__.py +0 -11
  2151. mirascope-1.25.6/mirascope/retries/fallback.py +0 -131
  2152. mirascope-1.25.6/mirascope/retries/tenacity.py +0 -50
  2153. mirascope-1.25.6/mirascope/tools/__init__.py +0 -37
  2154. mirascope-1.25.6/mirascope/tools/base.py +0 -98
  2155. mirascope-1.25.6/mirascope/tools/system/_docker_operation.py +0 -166
  2156. mirascope-1.25.6/mirascope/tools/system/_file_system.py +0 -267
  2157. mirascope-1.25.6/mirascope/tools/web/_duckduckgo.py +0 -111
  2158. mirascope-1.25.6/mirascope/tools/web/_httpx.py +0 -125
  2159. mirascope-1.25.6/mirascope/tools/web/_parse_url_content.py +0 -94
  2160. mirascope-1.25.6/mirascope/tools/web/_requests.py +0 -54
  2161. mirascope-1.25.6/mirascope/v0/__init__.py +0 -43
  2162. mirascope-1.25.6/mirascope/v0/anthropic.py +0 -54
  2163. mirascope-1.25.6/mirascope/v0/base/__init__.py +0 -12
  2164. mirascope-1.25.6/mirascope/v0/base/calls.py +0 -118
  2165. mirascope-1.25.6/mirascope/v0/base/extractors.py +0 -122
  2166. mirascope-1.25.6/mirascope/v0/base/ops_utils.py +0 -207
  2167. mirascope-1.25.6/mirascope/v0/base/prompts.py +0 -48
  2168. mirascope-1.25.6/mirascope/v0/base/types.py +0 -14
  2169. mirascope-1.25.6/mirascope/v0/base/utils.py +0 -21
  2170. mirascope-1.25.6/mirascope/v0/openai.py +0 -54
  2171. mirascope-1.25.6/pyproject.toml +0 -229
  2172. mirascope-1.25.6/tests/__init__.py +0 -1
  2173. mirascope-1.25.6/tests/conftest.py +0 -1
  2174. mirascope-1.25.6/tests/core/anthropic/_utils/test_convert_common_call_params.py +0 -41
  2175. mirascope-1.25.6/tests/core/anthropic/_utils/test_convert_message_params.py +0 -164
  2176. mirascope-1.25.6/tests/core/anthropic/_utils/test_get_json_output.py +0 -111
  2177. mirascope-1.25.6/tests/core/anthropic/_utils/test_handle_stream.py +0 -280
  2178. mirascope-1.25.6/tests/core/anthropic/_utils/test_message_param_converter.py +0 -405
  2179. mirascope-1.25.6/tests/core/anthropic/_utils/test_setup_call.py +0 -223
  2180. mirascope-1.25.6/tests/core/anthropic/test_call.py +0 -35
  2181. mirascope-1.25.6/tests/core/anthropic/test_call_response.py +0 -314
  2182. mirascope-1.25.6/tests/core/anthropic/test_call_response_chunk.py +0 -95
  2183. mirascope-1.25.6/tests/core/anthropic/test_stream.py +0 -443
  2184. mirascope-1.25.6/tests/core/anthropic/test_tool.py +0 -53
  2185. mirascope-1.25.6/tests/core/azure/__init__.py +0 -4
  2186. mirascope-1.25.6/tests/core/azure/_utils/test_convert_common_call_params.py +0 -46
  2187. mirascope-1.25.6/tests/core/azure/_utils/test_convert_message_params.py +0 -161
  2188. mirascope-1.25.6/tests/core/azure/_utils/test_get_credential.py +0 -67
  2189. mirascope-1.25.6/tests/core/azure/_utils/test_get_json_output.py +0 -110
  2190. mirascope-1.25.6/tests/core/azure/_utils/test_handle_stream.py +0 -210
  2191. mirascope-1.25.6/tests/core/azure/_utils/test_message_param_converter.py +0 -214
  2192. mirascope-1.25.6/tests/core/azure/_utils/test_setup_call.py +0 -206
  2193. mirascope-1.25.6/tests/core/azure/test_call.py +0 -34
  2194. mirascope-1.25.6/tests/core/azure/test_call_response.py +0 -138
  2195. mirascope-1.25.6/tests/core/azure/test_call_response_chunk.py +0 -76
  2196. mirascope-1.25.6/tests/core/azure/test_stream.py +0 -334
  2197. mirascope-1.25.6/tests/core/azure/test_tool.py +0 -88
  2198. mirascope-1.25.6/tests/core/base/_utils/test_base_type.py +0 -23
  2199. mirascope-1.25.6/tests/core/base/_utils/test_convert_base_model_to_base_tool.py +0 -28
  2200. mirascope-1.25.6/tests/core/base/_utils/test_convert_base_type_to_base_tool.py +0 -21
  2201. mirascope-1.25.6/tests/core/base/_utils/test_convert_function_to_base_tool.py +0 -162
  2202. mirascope-1.25.6/tests/core/base/_utils/test_convert_messages_to_message_params.py +0 -254
  2203. mirascope-1.25.6/tests/core/base/_utils/test_extract_tool_return.py +0 -102
  2204. mirascope-1.25.6/tests/core/base/_utils/test_format_template.py +0 -70
  2205. mirascope-1.25.6/tests/core/base/_utils/test_get_audio_type.py +0 -29
  2206. mirascope-1.25.6/tests/core/base/_utils/test_get_create_fn_or_async_create_fn.py +0 -216
  2207. mirascope-1.25.6/tests/core/base/_utils/test_get_document_type.py +0 -14
  2208. mirascope-1.25.6/tests/core/base/_utils/test_get_dynamic_configuration.py +0 -139
  2209. mirascope-1.25.6/tests/core/base/_utils/test_get_fields_from_call_args.py +0 -117
  2210. mirascope-1.25.6/tests/core/base/_utils/test_get_fn_args.py +0 -47
  2211. mirascope-1.25.6/tests/core/base/_utils/test_get_image_dimensions.py +0 -122
  2212. mirascope-1.25.6/tests/core/base/_utils/test_get_image_type.py +0 -29
  2213. mirascope-1.25.6/tests/core/base/_utils/test_get_metadata.py +0 -29
  2214. mirascope-1.25.6/tests/core/base/_utils/test_get_possible_user_message_param.py +0 -54
  2215. mirascope-1.25.6/tests/core/base/_utils/test_get_prompt_template.py +0 -50
  2216. mirascope-1.25.6/tests/core/base/_utils/test_get_template_values.py +0 -64
  2217. mirascope-1.25.6/tests/core/base/_utils/test_get_template_variables.py +0 -13
  2218. mirascope-1.25.6/tests/core/base/_utils/test_get_unsupported_tool_config_keys.py +0 -24
  2219. mirascope-1.25.6/tests/core/base/_utils/test_json_mode_content.py +0 -33
  2220. mirascope-1.25.6/tests/core/base/_utils/test_message_decorator.py +0 -167
  2221. mirascope-1.25.6/tests/core/base/_utils/test_parse_content_template.py +0 -450
  2222. mirascope-1.25.6/tests/core/base/_utils/test_parse_prompt_messages.py +0 -115
  2223. mirascope-1.25.6/tests/core/base/_utils/test_pil_image_to_bytes.py +0 -34
  2224. mirascope-1.25.6/tests/core/base/_utils/test_setup_call.py +0 -309
  2225. mirascope-1.25.6/tests/core/base/_utils/test_setup_extract_tool.py +0 -23
  2226. mirascope-1.25.6/tests/core/base/conftest.py +0 -23
  2227. mirascope-1.25.6/tests/core/base/test_call_factory.py +0 -186
  2228. mirascope-1.25.6/tests/core/base/test_call_response.py +0 -212
  2229. mirascope-1.25.6/tests/core/base/test_call_response_chunk.py +0 -16
  2230. mirascope-1.25.6/tests/core/base/test_create.py +0 -326
  2231. mirascope-1.25.6/tests/core/base/test_extract.py +0 -324
  2232. mirascope-1.25.6/tests/core/base/test_extract_with_tools.py +0 -185
  2233. mirascope-1.25.6/tests/core/base/test_merge_decorators.py +0 -207
  2234. mirascope-1.25.6/tests/core/base/test_partial.py +0 -94
  2235. mirascope-1.25.6/tests/core/base/test_prompt.py +0 -278
  2236. mirascope-1.25.6/tests/core/base/test_stream.py +0 -238
  2237. mirascope-1.25.6/tests/core/base/test_structured_stream.py +0 -210
  2238. mirascope-1.25.6/tests/core/base/test_tool.py +0 -203
  2239. mirascope-1.25.6/tests/core/base/test_toolkit.py +0 -216
  2240. mirascope-1.25.6/tests/core/bedrock/_utils/test_convert_common_call_params.py +0 -64
  2241. mirascope-1.25.6/tests/core/bedrock/_utils/test_convert_message_params.py +0 -164
  2242. mirascope-1.25.6/tests/core/bedrock/_utils/test_get_json_output.py +0 -112
  2243. mirascope-1.25.6/tests/core/bedrock/_utils/test_handle_stream.py +0 -384
  2244. mirascope-1.25.6/tests/core/bedrock/_utils/test_message_param_converter.py +0 -270
  2245. mirascope-1.25.6/tests/core/bedrock/_utils/test_setup_call.py +0 -572
  2246. mirascope-1.25.6/tests/core/bedrock/conftest.py +0 -10
  2247. mirascope-1.25.6/tests/core/bedrock/test_call.py +0 -35
  2248. mirascope-1.25.6/tests/core/bedrock/test_call_response.py +0 -363
  2249. mirascope-1.25.6/tests/core/bedrock/test_call_response_chunk.py +0 -70
  2250. mirascope-1.25.6/tests/core/bedrock/test_stream.py +0 -236
  2251. mirascope-1.25.6/tests/core/bedrock/test_tool.py +0 -99
  2252. mirascope-1.25.6/tests/core/cohere/_utils/test_convert_common_call_params.py +0 -46
  2253. mirascope-1.25.6/tests/core/cohere/_utils/test_convert_message_params.py +0 -67
  2254. mirascope-1.25.6/tests/core/cohere/_utils/test_get_json_output.py +0 -102
  2255. mirascope-1.25.6/tests/core/cohere/_utils/test_handle_stream.py +0 -69
  2256. mirascope-1.25.6/tests/core/cohere/_utils/test_message_param_converter.py +0 -98
  2257. mirascope-1.25.6/tests/core/cohere/_utils/test_setup_call.py +0 -170
  2258. mirascope-1.25.6/tests/core/cohere/test_call.py +0 -34
  2259. mirascope-1.25.6/tests/core/cohere/test_call_response.py +0 -161
  2260. mirascope-1.25.6/tests/core/cohere/test_call_response_chunk.py +0 -51
  2261. mirascope-1.25.6/tests/core/cohere/test_stream.py +0 -174
  2262. mirascope-1.25.6/tests/core/cohere/test_tool.py +0 -44
  2263. mirascope-1.25.6/tests/core/costs/test_anthropic_calculate_cost.py +0 -20
  2264. mirascope-1.25.6/tests/core/costs/test_azure_calculate_cost.py +0 -19
  2265. mirascope-1.25.6/tests/core/costs/test_bedrock_calculate_cost.py +0 -20
  2266. mirascope-1.25.6/tests/core/costs/test_calculation_cost.py +0 -59
  2267. mirascope-1.25.6/tests/core/costs/test_cohere_calculate_cost.py +0 -19
  2268. mirascope-1.25.6/tests/core/costs/test_gemini_calculate_cost.py +0 -19
  2269. mirascope-1.25.6/tests/core/costs/test_google_calculate_cost.py +0 -503
  2270. mirascope-1.25.6/tests/core/costs/test_groq_calculate_cost.py +0 -149
  2271. mirascope-1.25.6/tests/core/costs/test_mistral_calculate_cost.py +0 -19
  2272. mirascope-1.25.6/tests/core/costs/test_openai_calculate_cost.py +0 -251
  2273. mirascope-1.25.6/tests/core/costs/test_vertex_calculate_cost.py +0 -85
  2274. mirascope-1.25.6/tests/core/costs/test_xai_calculate_cost.py +0 -17
  2275. mirascope-1.25.6/tests/core/gemini/__init__.py +0 -0
  2276. mirascope-1.25.6/tests/core/gemini/_utils/__init__.py +0 -0
  2277. mirascope-1.25.6/tests/core/gemini/_utils/test_convert_common_call_params.py +0 -64
  2278. mirascope-1.25.6/tests/core/gemini/_utils/test_convert_message_params.py +0 -330
  2279. mirascope-1.25.6/tests/core/gemini/_utils/test_get_json_output.py +0 -90
  2280. mirascope-1.25.6/tests/core/gemini/_utils/test_handle_stream.py +0 -81
  2281. mirascope-1.25.6/tests/core/gemini/_utils/test_message_param_converter.py +0 -316
  2282. mirascope-1.25.6/tests/core/gemini/_utils/test_setup_call.py +0 -225
  2283. mirascope-1.25.6/tests/core/gemini/test_call.py +0 -34
  2284. mirascope-1.25.6/tests/core/gemini/test_call_response.py +0 -143
  2285. mirascope-1.25.6/tests/core/gemini/test_call_response_chunk.py +0 -41
  2286. mirascope-1.25.6/tests/core/gemini/test_stream.py +0 -152
  2287. mirascope-1.25.6/tests/core/gemini/test_tool.py +0 -87
  2288. mirascope-1.25.6/tests/core/google/__init__.py +0 -0
  2289. mirascope-1.25.6/tests/core/google/_utils/__init__.py +0 -0
  2290. mirascope-1.25.6/tests/core/google/_utils/test_convert_common_call_params.py +0 -63
  2291. mirascope-1.25.6/tests/core/google/_utils/test_convert_message_params.py +0 -1141
  2292. mirascope-1.25.6/tests/core/google/_utils/test_get_json_output.py +0 -88
  2293. mirascope-1.25.6/tests/core/google/_utils/test_handle_stream.py +0 -179
  2294. mirascope-1.25.6/tests/core/google/_utils/test_message_param_converter.py +0 -316
  2295. mirascope-1.25.6/tests/core/google/_utils/test_setup_call.py +0 -386
  2296. mirascope-1.25.6/tests/core/google/test_call.py +0 -34
  2297. mirascope-1.25.6/tests/core/google/test_call_response.py +0 -380
  2298. mirascope-1.25.6/tests/core/google/test_call_response_chunk.py +0 -107
  2299. mirascope-1.25.6/tests/core/google/test_stream.py +0 -272
  2300. mirascope-1.25.6/tests/core/google/test_tool.py +0 -122
  2301. mirascope-1.25.6/tests/core/groq/__init__.py +0 -3
  2302. mirascope-1.25.6/tests/core/groq/_utils/__init__.py +0 -0
  2303. mirascope-1.25.6/tests/core/groq/_utils/test_convert_common_call_params.py +0 -43
  2304. mirascope-1.25.6/tests/core/groq/_utils/test_convert_message_params.py +0 -146
  2305. mirascope-1.25.6/tests/core/groq/_utils/test_get_json_output.py +0 -113
  2306. mirascope-1.25.6/tests/core/groq/_utils/test_handle_stream.py +0 -191
  2307. mirascope-1.25.6/tests/core/groq/_utils/test_message_param_converter.py +0 -164
  2308. mirascope-1.25.6/tests/core/groq/_utils/test_setup_call.py +0 -180
  2309. mirascope-1.25.6/tests/core/groq/test_call.py +0 -34
  2310. mirascope-1.25.6/tests/core/groq/test_call_response.py +0 -192
  2311. mirascope-1.25.6/tests/core/groq/test_call_response_chunk.py +0 -75
  2312. mirascope-1.25.6/tests/core/groq/test_stream.py +0 -307
  2313. mirascope-1.25.6/tests/core/groq/test_tool.py +0 -56
  2314. mirascope-1.25.6/tests/core/litellm/__init__.py +0 -0
  2315. mirascope-1.25.6/tests/core/litellm/_utils/__init__.py +0 -0
  2316. mirascope-1.25.6/tests/core/litellm/_utils/test_setup_call.py +0 -52
  2317. mirascope-1.25.6/tests/core/litellm/test_call.py +0 -35
  2318. mirascope-1.25.6/tests/core/litellm/test_call_response.py +0 -31
  2319. mirascope-1.25.6/tests/core/litellm/test_stream.py +0 -56
  2320. mirascope-1.25.6/tests/core/mistral/__init__.py +0 -3
  2321. mirascope-1.25.6/tests/core/mistral/_utils/__init__.py +0 -0
  2322. mirascope-1.25.6/tests/core/mistral/_utils/test_convert_common_call_params.py +0 -29
  2323. mirascope-1.25.6/tests/core/mistral/_utils/test_convert_message_params.py +0 -187
  2324. mirascope-1.25.6/tests/core/mistral/_utils/test_get_json_output.py +0 -108
  2325. mirascope-1.25.6/tests/core/mistral/_utils/test_handle_stream.py +0 -289
  2326. mirascope-1.25.6/tests/core/mistral/_utils/test_message_param_converter.py +0 -325
  2327. mirascope-1.25.6/tests/core/mistral/_utils/test_setup_call.py +0 -252
  2328. mirascope-1.25.6/tests/core/mistral/test_call.py +0 -34
  2329. mirascope-1.25.6/tests/core/mistral/test_call_response.py +0 -135
  2330. mirascope-1.25.6/tests/core/mistral/test_call_response_chunk.py +0 -70
  2331. mirascope-1.25.6/tests/core/mistral/test_stream.py +0 -258
  2332. mirascope-1.25.6/tests/core/mistral/test_tool.py +0 -70
  2333. mirascope-1.25.6/tests/core/openai/__init__.py +0 -3
  2334. mirascope-1.25.6/tests/core/openai/_utils/__init__.py +0 -0
  2335. mirascope-1.25.6/tests/core/openai/_utils/test_convert_common_call_params.py +0 -33
  2336. mirascope-1.25.6/tests/core/openai/_utils/test_convert_message_params.py +0 -213
  2337. mirascope-1.25.6/tests/core/openai/_utils/test_get_json_output.py +0 -116
  2338. mirascope-1.25.6/tests/core/openai/_utils/test_handle_stream.py +0 -359
  2339. mirascope-1.25.6/tests/core/openai/_utils/test_message_param_converter.py +0 -179
  2340. mirascope-1.25.6/tests/core/openai/_utils/test_setup_call.py +0 -248
  2341. mirascope-1.25.6/tests/core/openai/test_call.py +0 -34
  2342. mirascope-1.25.6/tests/core/openai/test_call_response.py +0 -352
  2343. mirascope-1.25.6/tests/core/openai/test_call_response_chunk.py +0 -147
  2344. mirascope-1.25.6/tests/core/openai/test_stream.py +0 -386
  2345. mirascope-1.25.6/tests/core/openai/test_tool.py +0 -86
  2346. mirascope-1.25.6/tests/core/vertex/__init__.py +0 -0
  2347. mirascope-1.25.6/tests/core/vertex/_utils/__init__.py +0 -0
  2348. mirascope-1.25.6/tests/core/vertex/_utils/test_convert_common_call_params.py +0 -64
  2349. mirascope-1.25.6/tests/core/vertex/_utils/test_convert_message_params.py +0 -317
  2350. mirascope-1.25.6/tests/core/vertex/_utils/test_get_json_output.py +0 -91
  2351. mirascope-1.25.6/tests/core/vertex/_utils/test_handle_stream.py +0 -83
  2352. mirascope-1.25.6/tests/core/vertex/_utils/test_message_param_converter.py +0 -212
  2353. mirascope-1.25.6/tests/core/vertex/_utils/test_setup_call.py +0 -257
  2354. mirascope-1.25.6/tests/core/vertex/test_call.py +0 -34
  2355. mirascope-1.25.6/tests/core/vertex/test_call_response.py +0 -148
  2356. mirascope-1.25.6/tests/core/vertex/test_call_response_chunk.py +0 -43
  2357. mirascope-1.25.6/tests/core/vertex/test_stream.py +0 -164
  2358. mirascope-1.25.6/tests/core/vertex/test_tool.py +0 -85
  2359. mirascope-1.25.6/tests/core/xai/__init__.py +0 -0
  2360. mirascope-1.25.6/tests/core/xai/_utils/__init__.py +0 -0
  2361. mirascope-1.25.6/tests/core/xai/_utils/test_setup_call.py +0 -48
  2362. mirascope-1.25.6/tests/core/xai/test_call.py +0 -35
  2363. mirascope-1.25.6/tests/core/xai/test_call_response.py +0 -45
  2364. mirascope-1.25.6/tests/core/xai/test_stream.py +0 -54
  2365. mirascope-1.25.6/tests/integrations/__init__.py +0 -0
  2366. mirascope-1.25.6/tests/integrations/langfuse/__init__.py +0 -0
  2367. mirascope-1.25.6/tests/integrations/langfuse/test_utils.py +0 -275
  2368. mirascope-1.25.6/tests/integrations/langfuse/test_with_langfuse.py +0 -48
  2369. mirascope-1.25.6/tests/integrations/logfire/__init__.py +0 -0
  2370. mirascope-1.25.6/tests/integrations/logfire/test_utils.py +0 -439
  2371. mirascope-1.25.6/tests/integrations/logfire/test_with_logfire.py +0 -27
  2372. mirascope-1.25.6/tests/integrations/otel/__init__.py +0 -0
  2373. mirascope-1.25.6/tests/integrations/otel/test_utils.py +0 -529
  2374. mirascope-1.25.6/tests/integrations/otel/test_with_hyperdx.py +0 -56
  2375. mirascope-1.25.6/tests/integrations/otel/test_with_otel.py +0 -25
  2376. mirascope-1.25.6/tests/integrations/test_middleware_factory.py +0 -1350
  2377. mirascope-1.25.6/tests/llm/__init__.py +0 -0
  2378. mirascope-1.25.6/tests/llm/test_call.py +0 -585
  2379. mirascope-1.25.6/tests/llm/test_call_response.py +0 -258
  2380. mirascope-1.25.6/tests/llm/test_call_response_chunk.py +0 -71
  2381. mirascope-1.25.6/tests/llm/test_context.py +0 -387
  2382. mirascope-1.25.6/tests/llm/test_override.py +0 -179
  2383. mirascope-1.25.6/tests/llm/test_response_metaclass.py +0 -14
  2384. mirascope-1.25.6/tests/llm/test_stream.py +0 -261
  2385. mirascope-1.25.6/tests/llm/test_tool.py +0 -20
  2386. mirascope-1.25.6/tests/mcp/__init__.py +0 -0
  2387. mirascope-1.25.6/tests/mcp/test_client.py +0 -475
  2388. mirascope-1.25.6/tests/mcp/test_server.py +0 -1079
  2389. mirascope-1.25.6/tests/retries/__init__.py +0 -4
  2390. mirascope-1.25.6/tests/retries/test_fallback.py +0 -286
  2391. mirascope-1.25.6/tests/retries/test_tenacity.py +0 -25
  2392. mirascope-1.25.6/tests/tools/__init__.py +0 -0
  2393. mirascope-1.25.6/tests/tools/test_base.py +0 -55
  2394. mirascope-1.25.6/tests/tools/test_docker_operation_toolkit.py +0 -261
  2395. mirascope-1.25.6/tests/tools/test_filesystem_toolkit.py +0 -305
  2396. mirascope-1.25.6/tests/tools/web/__init__.py +0 -0
  2397. mirascope-1.25.6/tests/tools/web/test_duckduckgo.py +0 -367
  2398. mirascope-1.25.6/tests/tools/web/test_httpx.py +0 -241
  2399. mirascope-1.25.6/tests/tools/web/test_parse_url_content.py +0 -206
  2400. mirascope-1.25.6/tests/tools/web/test_requests.py +0 -63
  2401. mirascope-1.25.6/uv.lock +0 -6936
  2402. {mirascope-1.25.6/mirascope/tools/system → mirascope-2.0.0/tests/e2e}/__init__.py +0 -0
  2403. {mirascope-1.25.6/mirascope/tools/web → mirascope-2.0.0/tests/llm}/__init__.py +0 -0
  2404. {mirascope-1.25.6/tests/core → mirascope-2.0.0/tests/llm/formatting}/__init__.py +0 -0
  2405. {mirascope-1.25.6/tests/core/anthropic → mirascope-2.0.0/tests/llm/prompts}/__init__.py +0 -0
  2406. {mirascope-1.25.6/tests/core/anthropic/_utils → mirascope-2.0.0/tests/llm/providers}/__init__.py +0 -0
  2407. {mirascope-1.25.6/tests/core/azure/_utils → mirascope-2.0.0/tests/llm/providers/base}/__init__.py +0 -0
  2408. {mirascope-1.25.6/tests/core/base → mirascope-2.0.0/tests/llm/providers/google}/__init__.py +0 -0
  2409. {mirascope-1.25.6/tests/core/base/_utils → mirascope-2.0.0/tests/llm/providers/mlx}/__init__.py +0 -0
  2410. {mirascope-1.25.6/tests/core/bedrock → mirascope-2.0.0/tests/llm/responses}/__init__.py +0 -0
  2411. {mirascope-1.25.6/tests/core/bedrock/_utils → mirascope-2.0.0/tests/llm/tools}/__init__.py +0 -0
  2412. {mirascope-1.25.6/tests/core/cohere → mirascope-2.0.0/tests/ops}/__init__.py +0 -0
  2413. {mirascope-1.25.6/tests/core/cohere/_utils → mirascope-2.0.0/tests/ops/_internal/instrumentation}/__init__.py +0 -0
  2414. {mirascope-1.25.6/tests/core/costs → mirascope-2.0.0/tests/ops/_internal/instrumentation/llm}/__init__.py +0 -0
@@ -0,0 +1,44 @@
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
+ # NOTE: MLX modules are excluded because the `mlx` package is macOS-only (Apple Silicon).
7
+ # CI runs on Linux where `mlx` is not available, so these modules cannot be tested there.
8
+ # TODO: Add a macOS CI job to run MLX tests and restore coverage for these modules.
9
+ mirascope/llm/providers/mlx/*
10
+
11
+ # Exclude Fern generated code
12
+ mirascope/api/_generated/*
13
+
14
+ # Exclude other top-level modules for now
15
+ mirascope/graphs/*
16
+
17
+ # Exclude examples, tests, and scripts from coverage
18
+ examples/*
19
+ tests/*
20
+ scripts/*
21
+
22
+ [report]
23
+ # Show lines that weren't covered
24
+ show_missing = True
25
+
26
+ # Fail if coverage is below 100% for tracked files
27
+ fail_under = 100
28
+
29
+ # Exclude patterns from coverage analysis
30
+ exclude_also =
31
+ pragma: no cover
32
+ def __repr__
33
+ if self.debug:
34
+ if settings.DEBUG
35
+ raise AssertionError
36
+ raise NotImplementedError
37
+ if __name__ == .__main__.:
38
+ class .*\bProtocol\):
39
+ @(abc\.)?abstractmethod
40
+ if TYPE_CHECKING:
41
+ @overload
42
+
43
+ [html]
44
+ directory = htmlcov
@@ -0,0 +1,17 @@
1
+ # Example environment file for Mirascope v2
2
+ # Copy this file to .env and fill in your API keys
3
+
4
+ # Anthropic API Key
5
+ # Get your API key from: https://console.anthropic.com/
6
+ ANTHROPIC_API_KEY=your_anthropic_api_key_here
7
+
8
+ # OpenAI API Key (if using OpenAI models)
9
+ # Get your API key from: https://platform.openai.com/api-keys
10
+ OPENAI_API_KEY=your_openai_api_key_here
11
+
12
+ # Google Generative AI API Key (if using Gemini models)
13
+ # Get your API key from: https://makersuite.google.com/app/apikey
14
+ GOOGLE_API_KEY=your_google_api_key_here
15
+
16
+ # Mirascope API Key (if using Mirascope Router)
17
+ MIRASCOPE_API_KEY=your_mirascope_api_key_here
@@ -0,0 +1,183 @@
1
+ # pyenv
2
+ .python-version
3
+ .python-versions
4
+
5
+ # Byte-compiled / optimized / DLL files
6
+ __pycache__/
7
+ *.py[cod]
8
+ *$py.class
9
+
10
+ # Mac
11
+ .DS_Store
12
+
13
+ # C extensions
14
+ *.so
15
+
16
+ # Distribution / packaging
17
+ .Python
18
+ build/
19
+ develop-eggs/
20
+ dist/
21
+ downloads/
22
+ eggs/
23
+ .eggs/
24
+ lib/
25
+ lib64/
26
+ parts/
27
+ sdist/
28
+ var/
29
+ wheels/
30
+ share/python-wheels/
31
+ *.egg-info/
32
+ .installed.cfg
33
+ *.egg
34
+ MANIFEST
35
+
36
+ # PyInstaller
37
+ # Usually these files are written by a python script from a template
38
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
39
+ *.manifest
40
+ *.spec
41
+
42
+ # Installer logs
43
+ pip-log.txt
44
+ pip-delete-this-directory.txt
45
+
46
+ # Unit test / coverage reports
47
+ htmlcov/
48
+ .tox/
49
+ .nox/
50
+ .coverage
51
+ .coverage.*
52
+ .cache
53
+ nosetests.xml
54
+ coverage.xml
55
+ *.cover
56
+ *.py,cover
57
+ .hypothesis/
58
+ .pytest_cache/
59
+ cover/
60
+
61
+ # Translations
62
+ *.mo
63
+ *.pot
64
+
65
+ # Django stuff:
66
+ *.log
67
+ local_settings.py
68
+ db.sqlite3
69
+ db.sqlite3-journal
70
+
71
+ # Flask stuff:
72
+ instance/
73
+ .webassets-cache
74
+
75
+ # Scrapy stuff:
76
+ .scrapy
77
+
78
+ # Sphinx documentation
79
+ docs/_build/
80
+
81
+ # PyBuilder
82
+ .pybuilder/
83
+ target/
84
+
85
+ # Jupyter Notebook
86
+ .ipynb_checkpoints
87
+
88
+ # IPython
89
+ profile_default/
90
+ ipython_config.py
91
+
92
+ # pyenv
93
+ # For a library or package, you might want to ignore these files since the code is
94
+ # intended to run in multiple environments; otherwise, check them in:
95
+ # .python-version
96
+
97
+ # pipenv
98
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
99
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
100
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
101
+ # install all needed dependencies.
102
+ #Pipfile.lock
103
+
104
+ # poetry
105
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
106
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
107
+ # commonly ignored for libraries.
108
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
109
+ #poetry.lock
110
+
111
+ # pdm
112
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
113
+ #pdm.lock
114
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
115
+ # in version control.
116
+ # https://pdm.fming.dev/#use-with-ide
117
+ .pdm.toml
118
+
119
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
120
+ __pypackages__/
121
+
122
+ # Celery stuff
123
+ celerybeat-schedule
124
+ celerybeat.pid
125
+
126
+ # SageMath parsed files
127
+ *.sage.py
128
+
129
+ # Environments
130
+ .env
131
+ .env.local
132
+ .env.staging
133
+ .env.production
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
180
+
181
+ # Generated responsive images
182
+ cloud/public/assets/**/*-medium.webp
183
+ cloud/public/assets/**/*-small.webp
@@ -0,0 +1,44 @@
1
+ ## General Info
2
+
3
+ **ALWAYS use `uv` instead of `python` or `pip` commands:**
4
+
5
+ If working on `mirascope/llm`, consider reading the intro docs here: `docs/content/index.mdx` to get context.
6
+
7
+ ## Common Issues:
8
+
9
+ - In test code, always use one `from mirascope import llm` import at the top level, and then use that to reference api concepts (like `llm.call`). If something is missing, then we should add it to the llm exports rather than directly importing it.
10
+ - Always handle imports at the top of the file (not inside a function or a test), unless we specifically need lazy importing to avoid circular deps. If so, add a comment to that effect.
11
+
12
+ ### Common Commands
13
+
14
+ #### Testing
15
+
16
+ ```bash
17
+ cd python && uv run pytest tests/
18
+ ```
19
+
20
+ We use a mixture of unit and e2e testing. The e2e tests use vcr.py to simulate real LLM provider interaction. See `python/tests/e2e/README.md`.
21
+
22
+ #### Type Checking
23
+
24
+ ```bash
25
+ cd python && uv run pyright .
26
+ ```
27
+
28
+ #### Linting
29
+
30
+ ```bash
31
+ cd python && uv run ruff check .
32
+ ```
33
+
34
+ #### Formatting
35
+
36
+ ```bash
37
+ cd python && uv run ruff format .
38
+ ```
39
+
40
+ #### Coverage
41
+
42
+ ```bash
43
+ cd python && uv run pytest --cov --cov-config=.coveragerc --cov-report=term-missing
44
+ ```
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Mirascope, Inc.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,203 @@
1
+ Metadata-Version: 2.4
2
+ Name: mirascope
3
+ Version: 2.0.0
4
+ Summary: Every frontier LLM. One unified interface.
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) 2026 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,anthropic,artificial intelligence,context engineering,developer tools,gemini,llm,llm tools,openai,prompt engineering
35
+ Classifier: Development Status :: 5 - Production/Stable
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: jiter>=0.7.0
52
+ Requires-Dist: pydantic>=2.0.0
53
+ Requires-Dist: typing-extensions>=4.10.0
54
+ Provides-Extra: all
55
+ Requires-Dist: anthropic<1.0,>=0.76.0; extra == 'all'
56
+ Requires-Dist: google-genai<2,>=1.58.0; extra == 'all'
57
+ Requires-Dist: libcst>=1.8.6; extra == 'all'
58
+ Requires-Dist: mcp<2,>=1.25.0; extra == 'all'
59
+ Requires-Dist: mlx-lm<1,>=0.28.4; extra == 'all'
60
+ Requires-Dist: openai<3,>=2.15.0; extra == 'all'
61
+ Requires-Dist: opentelemetry-api<2,>=1.38.0; extra == 'all'
62
+ Requires-Dist: opentelemetry-exporter-otlp<2,>=1.38.0; extra == 'all'
63
+ Requires-Dist: opentelemetry-instrumentation<1,>=0.59b0; extra == 'all'
64
+ Requires-Dist: opentelemetry-propagator-b3<2,>=1.38.0; extra == 'all'
65
+ Requires-Dist: opentelemetry-propagator-b3>=1.38.0; extra == 'all'
66
+ Requires-Dist: opentelemetry-propagator-jaeger>=1.38.0; extra == 'all'
67
+ Requires-Dist: opentelemetry-sdk<2,>=1.38.0; extra == 'all'
68
+ Requires-Dist: orjson>=3.11.4; extra == 'all'
69
+ Requires-Dist: packaging>=25.0; extra == 'all'
70
+ Requires-Dist: pillow<11,>=10.4.0; extra == 'all'
71
+ Requires-Dist: proto-plus>=1.24.0; extra == 'all'
72
+ Requires-Dist: pydantic-settings>=2.12.0; extra == 'all'
73
+ Provides-Extra: anthropic
74
+ Requires-Dist: anthropic<1.0,>=0.76.0; extra == 'anthropic'
75
+ Provides-Extra: api
76
+ Requires-Dist: pydantic-settings>=2.12.0; extra == 'api'
77
+ Provides-Extra: google
78
+ Requires-Dist: google-genai<2,>=1.58.0; extra == 'google'
79
+ Requires-Dist: pillow<11,>=10.4.0; extra == 'google'
80
+ Requires-Dist: proto-plus>=1.24.0; extra == 'google'
81
+ Provides-Extra: mcp
82
+ Requires-Dist: mcp<2,>=1.25.0; extra == 'mcp'
83
+ Provides-Extra: mlx
84
+ Requires-Dist: mlx-lm<1,>=0.28.4; extra == 'mlx'
85
+ Provides-Extra: openai
86
+ Requires-Dist: openai<3,>=2.15.0; extra == 'openai'
87
+ Provides-Extra: ops
88
+ Requires-Dist: libcst>=1.8.6; extra == 'ops'
89
+ Requires-Dist: opentelemetry-api<2,>=1.38.0; extra == 'ops'
90
+ Requires-Dist: opentelemetry-exporter-otlp<2,>=1.38.0; extra == 'ops'
91
+ Requires-Dist: opentelemetry-instrumentation<1,>=0.59b0; extra == 'ops'
92
+ Requires-Dist: opentelemetry-propagator-b3<2,>=1.38.0; extra == 'ops'
93
+ Requires-Dist: opentelemetry-propagator-b3>=1.38.0; extra == 'ops'
94
+ Requires-Dist: opentelemetry-propagator-jaeger>=1.38.0; extra == 'ops'
95
+ Requires-Dist: opentelemetry-sdk<2,>=1.38.0; extra == 'ops'
96
+ Requires-Dist: orjson>=3.11.4; extra == 'ops'
97
+ Requires-Dist: packaging>=25.0; extra == 'ops'
98
+ Description-Content-Type: text/markdown
99
+
100
+ ## Mirascope v2 Python
101
+
102
+ This directory contains the Python implementation of Mirascope.
103
+
104
+ ## Development Setup
105
+
106
+ 1. **Environment Variables**: Copy `.env.example` to `.env` and fill in your API keys:
107
+ ```bash
108
+ cp .env.example .env
109
+ # Edit .env with your API keys
110
+ ```
111
+
112
+ 2. **Install Dependencies**:
113
+
114
+ ```bash
115
+ uv sync --all-extras --dev
116
+ ```
117
+
118
+ 3. **Run Tests**:
119
+ ```bash
120
+ uv run pytest
121
+ ```
122
+
123
+ ## `ops.span` and Session Tracing
124
+
125
+ `mirascope.ops` provides tracing helpers to trace any Python function, not just
126
+ `llm.Model` calls.
127
+
128
+ 1. Install the OTEL extra and set up a tracer provider exactly as shown above.
129
+ `ops.span` automatically reuses the active provider, so spans from manual
130
+ instrumentation and GenAI instrumentation end up in the same trace tree.
131
+ 2. Use `ops.session` to group related spans and attach metadata:
132
+ ```python
133
+ from mirascope import ops
134
+
135
+ with ops.session(id="req-42", attributes={"team": "core"}):
136
+ with ops.span("load-data") as span:
137
+ span.set(stage="ingest")
138
+ # expensive work here
139
+ ```
140
+ 3. The span exposes `span_id`/`trace_id`, logging helpers, and graceful no-op
141
+ behavior when OTEL is not configured. When OTEL is active, session metadata is
142
+ attached to every span, and additional tools like `ops.trace`/`ops.version`
143
+ (planned) can build on the same context.
144
+
145
+ ## `ops.trace` Decorator
146
+
147
+ `@ops.trace` adds span instrumentation to any Python callable (including
148
+ `llm.Model` helpers) so you can capture argument/return metadata alongside the
149
+ GenAI spans emitted by `llm.instrument_opentelemetry`.
150
+
151
+ ```python
152
+ from mirascope import ops
153
+
154
+ @ops.trace(tags=["ingest"])
155
+ def normalize(record: dict[str, str]) -> dict[str, str]:
156
+ return {k: v.strip() for k, v in record.items()}
157
+
158
+ result = normalize({"foo": " bar "})
159
+ wrapped = normalize.wrapped({"foo": " bar "})
160
+ print(wrapped.span_id, wrapped.trace_id)
161
+ ```
162
+
163
+ - The decorator automatically handles sync/async functions and reuses `ops.span`
164
+ serialization logic for arguments/results.
165
+ - Combine with `ops.session` to tag spans with contextual metadata, and with
166
+ `ops.instrument_opentelemetry` to obtain both model-level GenAI spans
167
+ and method-level spans like `recommend_book.__call__`.
168
+ - For now we focus on Mirascope-layer entry points (e.g., decorated functions or
169
+ `llm.Model` wrappers) and do not auto-instrument underlying provider SDK calls.
170
+
171
+ ## Testing
172
+
173
+ ### VCR Cassettes
174
+
175
+ 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.
176
+
177
+ - **Cassettes Location**: Test cassettes are stored in `tests/llm/clients/*/cassettes/`
178
+ - **Recording Mode**: Tests use `"once"` mode - records new interactions if no cassette exists, replays existing cassettes otherwise
179
+ - **CI/CD**: In CI environments, tests use existing cassettes and never make real API calls
180
+
181
+ ### Inline Snapshots
182
+
183
+ The project uses [inline-snapshot](https://15r10nk.github.io/inline-snapshot/) to capture expected test outputs directly in the test code.
184
+
185
+ - **Update Snapshots**: Run `uv run pytest --inline-snapshot=fix` to update all snapshots with actual values
186
+ - **Review Changes**: Run `uv run pytest --inline-snapshot=review` to preview what would change
187
+ - **Formatted Output**: Snapshots are automatically formatted with `ruff` for consistency
188
+
189
+ Example:
190
+ ```python
191
+ def test_api_response():
192
+ response = client.call(messages=[user("Hello")])
193
+ assert response.content == snapshot([Text(text="Hi there!")])
194
+ ```
195
+
196
+ ### Recording New Test Interactions
197
+
198
+ To record new test interactions:
199
+
200
+ 1. Ensure your API keys are set in `.env`
201
+ 2. Delete the relevant cassette file (if updating an existing test)
202
+ 3. Run the specific test: `uv run pytest tests/path/to/test.py::test_name`
203
+ 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