mirascope 2.0.0a3__tar.gz → 2.0.0a4__tar.gz

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