mirascope 2.0.1__tar.gz → 2.0.2__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 (1698) hide show
  1. {mirascope-2.0.1 → mirascope-2.0.2}/PKG-INFO +1 -1
  2. mirascope-2.0.2/examples/intro/welcome.py +46 -0
  3. mirascope-2.0.2/mirascope/_utils.py +34 -0
  4. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organization_invitations/client.py +2 -2
  5. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organization_invitations/raw_client.py +2 -2
  6. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/reference.md +1 -1
  7. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/calls/calls.py +28 -21
  8. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/prompts/prompts.py +30 -25
  9. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/tools/tool_schema.py +7 -2
  10. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/ops/_internal/closure.py +4 -1
  11. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/ops/_internal/exporters/exporters.py +13 -46
  12. mirascope-2.0.2/mirascope/ops/_internal/exporters/utils.py +66 -0
  13. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/ops/_internal/traced_calls.py +14 -0
  14. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/ops/_internal/traced_functions.py +7 -2
  15. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/ops/_internal/utils.py +12 -4
  16. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/ops/_internal/versioned_functions.py +1 -1
  17. {mirascope-2.0.1 → mirascope-2.0.2}/pyproject.toml +1 -1
  18. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_tool_error/anthropic_beta_claude_sonnet_4_0.yaml +55 -55
  19. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_tool_error/anthropic_claude_sonnet_4_0.yaml +55 -57
  20. mirascope-2.0.2/tests/e2e/input/cassettes/test_call_with_tool_error/google_gemini_2_5_flash.yaml +151 -0
  21. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_tool_error/mlx_community_Qwen3_0_6B_4bit_DWQ_053125.yaml +12 -10
  22. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_tool_error/openai_gpt_4o_completions.yaml +40 -40
  23. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_tool_error/openai_gpt_4o_responses.yaml +27 -27
  24. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_tool_error/anthropic_beta_claude_sonnet_4_0_snapshots.py +29 -29
  25. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_tool_error/anthropic_claude_sonnet_4_0_snapshots.py +29 -37
  26. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_tool_error/google_gemini_2_5_flash_snapshots.py +22 -70
  27. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_tool_error/openai_gpt_4o_completions_snapshots.py +19 -19
  28. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_tool_error/openai_gpt_4o_responses_snapshots.py +8 -8
  29. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/test_call_with_tool_error.py +6 -7
  30. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/exporters/test_exporters.py +163 -11
  31. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/test_closure.py +2 -2
  32. mirascope-2.0.2/tests/ops/_internal/test_metadata_preservation.py +246 -0
  33. {mirascope-2.0.1 → mirascope-2.0.2}/uv.lock +1 -1
  34. mirascope-2.0.1/mirascope/ops/_internal/exporters/utils.py +0 -29
  35. mirascope-2.0.1/tests/e2e/input/cassettes/test_call_with_tool_error/google_gemini_2_5_flash.yaml +0 -221
  36. {mirascope-2.0.1 → mirascope-2.0.2}/.coveragerc +0 -0
  37. {mirascope-2.0.1 → mirascope-2.0.2}/.env.example +0 -0
  38. {mirascope-2.0.1 → mirascope-2.0.2}/.gitignore +0 -0
  39. {mirascope-2.0.1 → mirascope-2.0.2}/AGENTS.md +0 -0
  40. {mirascope-2.0.1 → mirascope-2.0.2}/LICENSE +0 -0
  41. {mirascope-2.0.1 → mirascope-2.0.2}/README.md +0 -0
  42. {mirascope-2.0.1 → mirascope-2.0.2}/examples/agents/basic.py +0 -0
  43. {mirascope-2.0.1 → mirascope-2.0.2}/examples/async/async_streaming.py +0 -0
  44. {mirascope-2.0.1 → mirascope-2.0.2}/examples/async/async_tools.py +0 -0
  45. {mirascope-2.0.1 → mirascope-2.0.2}/examples/async/basic.py +0 -0
  46. {mirascope-2.0.1 → mirascope-2.0.2}/examples/async/basic_model.py +0 -0
  47. {mirascope-2.0.1 → mirascope-2.0.2}/examples/async/basic_prompt.py +0 -0
  48. {mirascope-2.0.1 → mirascope-2.0.2}/examples/async/parallel.py +0 -0
  49. {mirascope-2.0.1 → mirascope-2.0.2}/examples/calls/access_prompt.py +0 -0
  50. {mirascope-2.0.1 → mirascope-2.0.2}/examples/calls/basic.py +0 -0
  51. {mirascope-2.0.1 → mirascope-2.0.2}/examples/calls/override.py +0 -0
  52. {mirascope-2.0.1 → mirascope-2.0.2}/examples/calls/return_types.py +0 -0
  53. {mirascope-2.0.1 → mirascope-2.0.2}/examples/calls/with_params.py +0 -0
  54. {mirascope-2.0.1 → mirascope-2.0.2}/examples/chaining/basic_call.py +0 -0
  55. {mirascope-2.0.1 → mirascope-2.0.2}/examples/chaining/basic_model.py +0 -0
  56. {mirascope-2.0.1 → mirascope-2.0.2}/examples/chaining/basic_prompt.py +0 -0
  57. {mirascope-2.0.1 → mirascope-2.0.2}/examples/chaining/conditional_call.py +0 -0
  58. {mirascope-2.0.1 → mirascope-2.0.2}/examples/chaining/conditional_model.py +0 -0
  59. {mirascope-2.0.1 → mirascope-2.0.2}/examples/chaining/conditional_prompt.py +0 -0
  60. {mirascope-2.0.1 → mirascope-2.0.2}/examples/chaining/nested_call.py +0 -0
  61. {mirascope-2.0.1 → mirascope-2.0.2}/examples/chaining/nested_model.py +0 -0
  62. {mirascope-2.0.1 → mirascope-2.0.2}/examples/chaining/nested_prompt.py +0 -0
  63. {mirascope-2.0.1 → mirascope-2.0.2}/examples/chaining/parallel_call.py +0 -0
  64. {mirascope-2.0.1 → mirascope-2.0.2}/examples/chaining/parallel_model.py +0 -0
  65. {mirascope-2.0.1 → mirascope-2.0.2}/examples/chaining/parallel_prompt.py +0 -0
  66. {mirascope-2.0.1 → mirascope-2.0.2}/examples/context/async_context.py +0 -0
  67. {mirascope-2.0.1 → mirascope-2.0.2}/examples/context/basic_call.py +0 -0
  68. {mirascope-2.0.1 → mirascope-2.0.2}/examples/context/basic_model.py +0 -0
  69. {mirascope-2.0.1 → mirascope-2.0.2}/examples/context/basic_prompt.py +0 -0
  70. {mirascope-2.0.1 → mirascope-2.0.2}/examples/errors/basic.py +0 -0
  71. {mirascope-2.0.1 → mirascope-2.0.2}/examples/intro/context/decorator.py +0 -0
  72. {mirascope-2.0.1 → mirascope-2.0.2}/examples/intro/context/model.py +0 -0
  73. {mirascope-2.0.1 → mirascope-2.0.2}/examples/intro/decorator/async.py +0 -0
  74. {mirascope-2.0.1 → mirascope-2.0.2}/examples/intro/decorator/async_stream.py +0 -0
  75. {mirascope-2.0.1 → mirascope-2.0.2}/examples/intro/decorator/stream.py +0 -0
  76. {mirascope-2.0.1 → mirascope-2.0.2}/examples/intro/decorator/sync.py +0 -0
  77. {mirascope-2.0.1 → mirascope-2.0.2}/examples/intro/format/decorator.py +0 -0
  78. {mirascope-2.0.1 → mirascope-2.0.2}/examples/intro/format/model.py +0 -0
  79. {mirascope-2.0.1 → mirascope-2.0.2}/examples/intro/local_model/decorator.py +0 -0
  80. {mirascope-2.0.1 → mirascope-2.0.2}/examples/intro/local_model/model.py +0 -0
  81. {mirascope-2.0.1 → mirascope-2.0.2}/examples/intro/mlx/decorator.py +0 -0
  82. {mirascope-2.0.1 → mirascope-2.0.2}/examples/intro/mlx/model.py +0 -0
  83. {mirascope-2.0.1 → mirascope-2.0.2}/examples/intro/model/async.py +0 -0
  84. {mirascope-2.0.1 → mirascope-2.0.2}/examples/intro/model/async_stream.py +0 -0
  85. {mirascope-2.0.1 → mirascope-2.0.2}/examples/intro/model/stream.py +0 -0
  86. {mirascope-2.0.1 → mirascope-2.0.2}/examples/intro/model/sync.py +0 -0
  87. {mirascope-2.0.1 → mirascope-2.0.2}/examples/intro/override/decorator.py +0 -0
  88. {mirascope-2.0.1 → mirascope-2.0.2}/examples/intro/override/model.py +0 -0
  89. {mirascope-2.0.1 → mirascope-2.0.2}/examples/intro/parameters/decorator.py +0 -0
  90. {mirascope-2.0.1 → mirascope-2.0.2}/examples/intro/parameters/model.py +0 -0
  91. {mirascope-2.0.1 → mirascope-2.0.2}/examples/intro/register_provider/decorator.py +0 -0
  92. {mirascope-2.0.1 → mirascope-2.0.2}/examples/intro/register_provider/model.py +0 -0
  93. {mirascope-2.0.1 → mirascope-2.0.2}/examples/intro/resume/decorator.py +0 -0
  94. {mirascope-2.0.1 → mirascope-2.0.2}/examples/intro/resume/model.py +0 -0
  95. {mirascope-2.0.1 → mirascope-2.0.2}/examples/intro/system_messages/decorator.py +0 -0
  96. {mirascope-2.0.1 → mirascope-2.0.2}/examples/intro/system_messages/model.py +0 -0
  97. {mirascope-2.0.1 → mirascope-2.0.2}/examples/intro/tool_call/decorator.py +0 -0
  98. {mirascope-2.0.1 → mirascope-2.0.2}/examples/intro/tool_call/model.py +0 -0
  99. {mirascope-2.0.1 → mirascope-2.0.2}/examples/local_models/local_mlx.py +0 -0
  100. {mirascope-2.0.1 → mirascope-2.0.2}/examples/local_models/local_ollama.py +0 -0
  101. {mirascope-2.0.1 → mirascope-2.0.2}/examples/local_models/local_vllm.py +0 -0
  102. {mirascope-2.0.1 → mirascope-2.0.2}/examples/mcp/basic_call.py +0 -0
  103. {mirascope-2.0.1 → mirascope-2.0.2}/examples/mcp/basic_model.py +0 -0
  104. {mirascope-2.0.1 → mirascope-2.0.2}/examples/mcp/basic_prompt.py +0 -0
  105. {mirascope-2.0.1 → mirascope-2.0.2}/examples/mcp/combined_tools.py +0 -0
  106. {mirascope-2.0.1 → mirascope-2.0.2}/examples/mcp_with_thinking.py +0 -0
  107. {mirascope-2.0.1 → mirascope-2.0.2}/examples/messages/audio_content.py +0 -0
  108. {mirascope-2.0.1 → mirascope-2.0.2}/examples/messages/basic.py +0 -0
  109. {mirascope-2.0.1 → mirascope-2.0.2}/examples/messages/image_content.py +0 -0
  110. {mirascope-2.0.1 → mirascope-2.0.2}/examples/messages/multimodal.py +0 -0
  111. {mirascope-2.0.1 → mirascope-2.0.2}/examples/messages/roles.py +0 -0
  112. {mirascope-2.0.1 → mirascope-2.0.2}/examples/messages/text_content.py +0 -0
  113. {mirascope-2.0.1 → mirascope-2.0.2}/examples/misc/anthropic_redacted_thinking.py +0 -0
  114. {mirascope-2.0.1 → mirascope-2.0.2}/examples/misc/ask_llm.py +0 -0
  115. {mirascope-2.0.1 → mirascope-2.0.2}/examples/misc/local_clickhouse_verify.py +0 -0
  116. {mirascope-2.0.1 → mirascope-2.0.2}/examples/misc/local_versioning_example.py +0 -0
  117. {mirascope-2.0.1 → mirascope-2.0.2}/examples/misc/openai_responses_reasoning.py +0 -0
  118. {mirascope-2.0.1 → mirascope-2.0.2}/examples/misc/opentelemetry_call_trace.py +0 -0
  119. {mirascope-2.0.1 → mirascope-2.0.2}/examples/misc/opentelemetry_genai.py +0 -0
  120. {mirascope-2.0.1 → mirascope-2.0.2}/examples/misc/search_span.py +0 -0
  121. {mirascope-2.0.1 → mirascope-2.0.2}/examples/models/basic.py +0 -0
  122. {mirascope-2.0.1 → mirascope-2.0.2}/examples/models/call_patterns.py +0 -0
  123. {mirascope-2.0.1 → mirascope-2.0.2}/examples/models/override.py +0 -0
  124. {mirascope-2.0.1 → mirascope-2.0.2}/examples/models/with_params.py +0 -0
  125. {mirascope-2.0.1 → mirascope-2.0.2}/examples/ops/basic_trace.py +0 -0
  126. {mirascope-2.0.1 → mirascope-2.0.2}/examples/ops/configure_basic.py +0 -0
  127. {mirascope-2.0.1 → mirascope-2.0.2}/examples/ops/configure_cloud.py +0 -0
  128. {mirascope-2.0.1 → mirascope-2.0.2}/examples/ops/configure_otlp.py +0 -0
  129. {mirascope-2.0.1 → mirascope-2.0.2}/examples/ops/context_propagation.py +0 -0
  130. {mirascope-2.0.1 → mirascope-2.0.2}/examples/ops/instrument_llm.py +0 -0
  131. {mirascope-2.0.1 → mirascope-2.0.2}/examples/ops/session_attributes.py +0 -0
  132. {mirascope-2.0.1 → mirascope-2.0.2}/examples/ops/session_basic.py +0 -0
  133. {mirascope-2.0.1 → mirascope-2.0.2}/examples/ops/span_basic.py +0 -0
  134. {mirascope-2.0.1 → mirascope-2.0.2}/examples/ops/span_events.py +0 -0
  135. {mirascope-2.0.1 → mirascope-2.0.2}/examples/ops/trace_llm_call.py +0 -0
  136. {mirascope-2.0.1 → mirascope-2.0.2}/examples/ops/trace_with_metadata.py +0 -0
  137. {mirascope-2.0.1 → mirascope-2.0.2}/examples/ops/trace_wrapped.py +0 -0
  138. {mirascope-2.0.1 → mirascope-2.0.2}/examples/ops/version_basic.py +0 -0
  139. {mirascope-2.0.1 → mirascope-2.0.2}/examples/ops/version_llm_call.py +0 -0
  140. {mirascope-2.0.1 → mirascope-2.0.2}/examples/ops/version_with_metadata.py +0 -0
  141. {mirascope-2.0.1 → mirascope-2.0.2}/examples/prompts/basic.py +0 -0
  142. {mirascope-2.0.1 → mirascope-2.0.2}/examples/prompts/basic_without_prompt.py +0 -0
  143. {mirascope-2.0.1 → mirascope-2.0.2}/examples/prompts/messages_method.py +0 -0
  144. {mirascope-2.0.1 → mirascope-2.0.2}/examples/prompts/return_types.py +0 -0
  145. {mirascope-2.0.1 → mirascope-2.0.2}/examples/prompts/with_params.py +0 -0
  146. {mirascope-2.0.1 → mirascope-2.0.2}/examples/providers/custom_api_key.py +0 -0
  147. {mirascope-2.0.1 → mirascope-2.0.2}/examples/providers/openai_compatible.py +0 -0
  148. {mirascope-2.0.1 → mirascope-2.0.2}/examples/providers/scope_matching.py +0 -0
  149. {mirascope-2.0.1 → mirascope-2.0.2}/examples/reliability/basic_retry.py +0 -0
  150. {mirascope-2.0.1 → mirascope-2.0.2}/examples/reliability/fallback_call.py +0 -0
  151. {mirascope-2.0.1 → mirascope-2.0.2}/examples/reliability/fallback_model.py +0 -0
  152. {mirascope-2.0.1 → mirascope-2.0.2}/examples/reliability/fallback_prompt.py +0 -0
  153. {mirascope-2.0.1 → mirascope-2.0.2}/examples/reliability/retry_specific_errors.py +0 -0
  154. {mirascope-2.0.1 → mirascope-2.0.2}/examples/reliability/stream_retry.py +0 -0
  155. {mirascope-2.0.1 → mirascope-2.0.2}/examples/reliability/tool_error_recovery.py +0 -0
  156. {mirascope-2.0.1 → mirascope-2.0.2}/examples/reliability/validation_retry.py +0 -0
  157. {mirascope-2.0.1 → mirascope-2.0.2}/examples/responses/basic.py +0 -0
  158. {mirascope-2.0.1 → mirascope-2.0.2}/examples/responses/content_access.py +0 -0
  159. {mirascope-2.0.1 → mirascope-2.0.2}/examples/responses/finish_reason.py +0 -0
  160. {mirascope-2.0.1 → mirascope-2.0.2}/examples/responses/metadata.py +0 -0
  161. {mirascope-2.0.1 → mirascope-2.0.2}/examples/responses/resume.py +0 -0
  162. {mirascope-2.0.1 → mirascope-2.0.2}/examples/responses/usage.py +0 -0
  163. {mirascope-2.0.1 → mirascope-2.0.2}/examples/sazed/sazed.py +0 -0
  164. {mirascope-2.0.1 → mirascope-2.0.2}/examples/sazed/sazed_async.py +0 -0
  165. {mirascope-2.0.1 → mirascope-2.0.2}/examples/sazed/sazed_async_context.py +0 -0
  166. {mirascope-2.0.1 → mirascope-2.0.2}/examples/sazed/sazed_async_context_structured.py +0 -0
  167. {mirascope-2.0.1 → mirascope-2.0.2}/examples/sazed/sazed_async_stream.py +0 -0
  168. {mirascope-2.0.1 → mirascope-2.0.2}/examples/sazed/sazed_async_stream_context.py +0 -0
  169. {mirascope-2.0.1 → mirascope-2.0.2}/examples/sazed/sazed_async_stream_context_structured.py +0 -0
  170. {mirascope-2.0.1 → mirascope-2.0.2}/examples/sazed/sazed_async_stream_structured.py +0 -0
  171. {mirascope-2.0.1 → mirascope-2.0.2}/examples/sazed/sazed_async_stream_tools.py +0 -0
  172. {mirascope-2.0.1 → mirascope-2.0.2}/examples/sazed/sazed_async_stream_tools_context.py +0 -0
  173. {mirascope-2.0.1 → mirascope-2.0.2}/examples/sazed/sazed_async_stream_tools_context_structured.py +0 -0
  174. {mirascope-2.0.1 → mirascope-2.0.2}/examples/sazed/sazed_async_stream_tools_structured.py +0 -0
  175. {mirascope-2.0.1 → mirascope-2.0.2}/examples/sazed/sazed_async_structured.py +0 -0
  176. {mirascope-2.0.1 → mirascope-2.0.2}/examples/sazed/sazed_async_tools.py +0 -0
  177. {mirascope-2.0.1 → mirascope-2.0.2}/examples/sazed/sazed_async_tools_context.py +0 -0
  178. {mirascope-2.0.1 → mirascope-2.0.2}/examples/sazed/sazed_async_tools_context_structured.py +0 -0
  179. {mirascope-2.0.1 → mirascope-2.0.2}/examples/sazed/sazed_async_tools_structured.py +0 -0
  180. {mirascope-2.0.1 → mirascope-2.0.2}/examples/sazed/sazed_context.py +0 -0
  181. {mirascope-2.0.1 → mirascope-2.0.2}/examples/sazed/sazed_context_structured.py +0 -0
  182. {mirascope-2.0.1 → mirascope-2.0.2}/examples/sazed/sazed_stream.py +0 -0
  183. {mirascope-2.0.1 → mirascope-2.0.2}/examples/sazed/sazed_stream_context.py +0 -0
  184. {mirascope-2.0.1 → mirascope-2.0.2}/examples/sazed/sazed_stream_context_structured.py +0 -0
  185. {mirascope-2.0.1 → mirascope-2.0.2}/examples/sazed/sazed_stream_structured.py +0 -0
  186. {mirascope-2.0.1 → mirascope-2.0.2}/examples/sazed/sazed_stream_tools.py +0 -0
  187. {mirascope-2.0.1 → mirascope-2.0.2}/examples/sazed/sazed_stream_tools_context.py +0 -0
  188. {mirascope-2.0.1 → mirascope-2.0.2}/examples/sazed/sazed_stream_tools_context_structured.py +0 -0
  189. {mirascope-2.0.1 → mirascope-2.0.2}/examples/sazed/sazed_stream_tools_structured.py +0 -0
  190. {mirascope-2.0.1 → mirascope-2.0.2}/examples/sazed/sazed_structured.py +0 -0
  191. {mirascope-2.0.1 → mirascope-2.0.2}/examples/sazed/sazed_tools.py +0 -0
  192. {mirascope-2.0.1 → mirascope-2.0.2}/examples/sazed/sazed_tools_context.py +0 -0
  193. {mirascope-2.0.1 → mirascope-2.0.2}/examples/sazed/sazed_tools_context_structured.py +0 -0
  194. {mirascope-2.0.1 → mirascope-2.0.2}/examples/sazed/sazed_tools_structured.py +0 -0
  195. {mirascope-2.0.1 → mirascope-2.0.2}/examples/streaming/accumulated.py +0 -0
  196. {mirascope-2.0.1 → mirascope-2.0.2}/examples/streaming/async_basic.py +0 -0
  197. {mirascope-2.0.1 → mirascope-2.0.2}/examples/streaming/basic_call.py +0 -0
  198. {mirascope-2.0.1 → mirascope-2.0.2}/examples/streaming/basic_model.py +0 -0
  199. {mirascope-2.0.1 → mirascope-2.0.2}/examples/streaming/basic_prompt.py +0 -0
  200. {mirascope-2.0.1 → mirascope-2.0.2}/examples/streaming/chunk_stream.py +0 -0
  201. {mirascope-2.0.1 → mirascope-2.0.2}/examples/streaming/error_handling.py +0 -0
  202. {mirascope-2.0.1 → mirascope-2.0.2}/examples/streaming/replay.py +0 -0
  203. {mirascope-2.0.1 → mirascope-2.0.2}/examples/streaming/streams.py +0 -0
  204. {mirascope-2.0.1 → mirascope-2.0.2}/examples/streaming/structured_stream.py +0 -0
  205. {mirascope-2.0.1 → mirascope-2.0.2}/examples/streaming/with_tools.py +0 -0
  206. {mirascope-2.0.1 → mirascope-2.0.2}/examples/structured_output/advanced_model_features.py +0 -0
  207. {mirascope-2.0.1 → mirascope-2.0.2}/examples/structured_output/basemodel.py +0 -0
  208. {mirascope-2.0.1 → mirascope-2.0.2}/examples/structured_output/basic_call.py +0 -0
  209. {mirascope-2.0.1 → mirascope-2.0.2}/examples/structured_output/basic_model.py +0 -0
  210. {mirascope-2.0.1 → mirascope-2.0.2}/examples/structured_output/basic_prompt.py +0 -0
  211. {mirascope-2.0.1 → mirascope-2.0.2}/examples/structured_output/custom_instructions.py +0 -0
  212. {mirascope-2.0.1 → mirascope-2.0.2}/examples/structured_output/explicit_mode.py +0 -0
  213. {mirascope-2.0.1 → mirascope-2.0.2}/examples/structured_output/generic_collection.py +0 -0
  214. {mirascope-2.0.1 → mirascope-2.0.2}/examples/structured_output/output_parser.py +0 -0
  215. {mirascope-2.0.1 → mirascope-2.0.2}/examples/structured_output/primitives.py +0 -0
  216. {mirascope-2.0.1 → mirascope-2.0.2}/examples/structured_output/with_tools.py +0 -0
  217. {mirascope-2.0.1 → mirascope-2.0.2}/examples/thinking/access_thoughts.py +0 -0
  218. {mirascope-2.0.1 → mirascope-2.0.2}/examples/thinking/basic.py +0 -0
  219. {mirascope-2.0.1 → mirascope-2.0.2}/examples/thinking/config.py +0 -0
  220. {mirascope-2.0.1 → mirascope-2.0.2}/examples/thinking/encode_as_text.py +0 -0
  221. {mirascope-2.0.1 → mirascope-2.0.2}/examples/tools/async_tools.py +0 -0
  222. {mirascope-2.0.1 → mirascope-2.0.2}/examples/tools/basic.py +0 -0
  223. {mirascope-2.0.1 → mirascope-2.0.2}/examples/tools/loop.py +0 -0
  224. {mirascope-2.0.1 → mirascope-2.0.2}/examples/tools/parallel.py +0 -0
  225. {mirascope-2.0.1 → mirascope-2.0.2}/examples/tools/with_call.py +0 -0
  226. {mirascope-2.0.1 → mirascope-2.0.2}/examples/tools/with_model.py +0 -0
  227. {mirascope-2.0.1 → mirascope-2.0.2}/examples/tools/with_prompt.py +0 -0
  228. {mirascope-2.0.1 → mirascope-2.0.2}/lint-staged.ts +0 -0
  229. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/__init__.py +0 -0
  230. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/_stubs.py +0 -0
  231. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/__init__.py +0 -0
  232. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/README.md +0 -0
  233. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/__init__.py +0 -0
  234. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/annotations/__init__.py +0 -0
  235. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/annotations/client.py +0 -0
  236. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/annotations/raw_client.py +0 -0
  237. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/annotations/types/__init__.py +0 -0
  238. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/annotations/types/annotations_create_request_label.py +0 -0
  239. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/annotations/types/annotations_create_response.py +0 -0
  240. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/annotations/types/annotations_create_response_label.py +0 -0
  241. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/annotations/types/annotations_get_response.py +0 -0
  242. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/annotations/types/annotations_get_response_label.py +0 -0
  243. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/annotations/types/annotations_list_request_label.py +0 -0
  244. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/annotations/types/annotations_list_response.py +0 -0
  245. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/annotations/types/annotations_list_response_annotations_item.py +0 -0
  246. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/annotations/types/annotations_list_response_annotations_item_label.py +0 -0
  247. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/annotations/types/annotations_update_request_label.py +0 -0
  248. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/annotations/types/annotations_update_response.py +0 -0
  249. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/annotations/types/annotations_update_response_label.py +0 -0
  250. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/api_keys/__init__.py +0 -0
  251. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/api_keys/client.py +0 -0
  252. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/api_keys/raw_client.py +0 -0
  253. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/api_keys/types/__init__.py +0 -0
  254. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/api_keys/types/api_keys_create_response.py +0 -0
  255. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/api_keys/types/api_keys_get_response.py +0 -0
  256. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/api_keys/types/api_keys_list_all_for_org_response_item.py +0 -0
  257. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/api_keys/types/api_keys_list_response_item.py +0 -0
  258. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/client.py +0 -0
  259. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/core/__init__.py +0 -0
  260. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/core/api_error.py +0 -0
  261. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/core/client_wrapper.py +0 -0
  262. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/core/datetime_utils.py +0 -0
  263. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/core/file.py +0 -0
  264. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/core/force_multipart.py +0 -0
  265. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/core/http_client.py +0 -0
  266. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/core/http_response.py +0 -0
  267. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/core/jsonable_encoder.py +0 -0
  268. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/core/pydantic_utilities.py +0 -0
  269. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/core/query_encoder.py +0 -0
  270. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/core/remove_none_from_dict.py +0 -0
  271. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/core/request_options.py +0 -0
  272. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/core/serialization.py +0 -0
  273. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/docs/__init__.py +0 -0
  274. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/docs/client.py +0 -0
  275. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/docs/raw_client.py +0 -0
  276. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/environment.py +0 -0
  277. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/environments/__init__.py +0 -0
  278. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/environments/client.py +0 -0
  279. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/environments/raw_client.py +0 -0
  280. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/environments/types/__init__.py +0 -0
  281. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/environments/types/environments_create_response.py +0 -0
  282. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/environments/types/environments_get_analytics_response.py +0 -0
  283. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/environments/types/environments_get_analytics_response_top_functions_item.py +0 -0
  284. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/environments/types/environments_get_analytics_response_top_models_item.py +0 -0
  285. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/environments/types/environments_get_response.py +0 -0
  286. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/environments/types/environments_list_response_item.py +0 -0
  287. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/environments/types/environments_update_response.py +0 -0
  288. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/errors/__init__.py +0 -0
  289. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/errors/bad_request_error.py +0 -0
  290. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/errors/conflict_error.py +0 -0
  291. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/errors/forbidden_error.py +0 -0
  292. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/errors/internal_server_error.py +0 -0
  293. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/errors/not_found_error.py +0 -0
  294. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/errors/payment_required_error.py +0 -0
  295. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/errors/service_unavailable_error.py +0 -0
  296. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/errors/too_many_requests_error.py +0 -0
  297. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/errors/unauthorized_error.py +0 -0
  298. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/functions/__init__.py +0 -0
  299. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/functions/client.py +0 -0
  300. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/functions/raw_client.py +0 -0
  301. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/functions/types/__init__.py +0 -0
  302. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/functions/types/functions_create_request_dependencies_value.py +0 -0
  303. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/functions/types/functions_create_response.py +0 -0
  304. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/functions/types/functions_create_response_dependencies_value.py +0 -0
  305. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/functions/types/functions_find_by_hash_response.py +0 -0
  306. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/functions/types/functions_find_by_hash_response_dependencies_value.py +0 -0
  307. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/functions/types/functions_get_by_env_response.py +0 -0
  308. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/functions/types/functions_get_by_env_response_dependencies_value.py +0 -0
  309. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/functions/types/functions_get_response.py +0 -0
  310. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/functions/types/functions_get_response_dependencies_value.py +0 -0
  311. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/functions/types/functions_list_by_env_response.py +0 -0
  312. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/functions/types/functions_list_by_env_response_functions_item.py +0 -0
  313. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/functions/types/functions_list_by_env_response_functions_item_dependencies_value.py +0 -0
  314. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/functions/types/functions_list_response.py +0 -0
  315. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/functions/types/functions_list_response_functions_item.py +0 -0
  316. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/functions/types/functions_list_response_functions_item_dependencies_value.py +0 -0
  317. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/health/__init__.py +0 -0
  318. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/health/client.py +0 -0
  319. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/health/raw_client.py +0 -0
  320. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/health/types/__init__.py +0 -0
  321. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/health/types/health_check_response.py +0 -0
  322. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/health/types/health_check_response_status.py +0 -0
  323. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organization_invitations/__init__.py +0 -0
  324. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organization_invitations/types/__init__.py +0 -0
  325. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organization_invitations/types/organization_invitations_accept_response.py +0 -0
  326. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organization_invitations/types/organization_invitations_accept_response_role.py +0 -0
  327. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organization_invitations/types/organization_invitations_create_request_role.py +0 -0
  328. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organization_invitations/types/organization_invitations_create_response.py +0 -0
  329. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organization_invitations/types/organization_invitations_create_response_role.py +0 -0
  330. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organization_invitations/types/organization_invitations_create_response_status.py +0 -0
  331. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organization_invitations/types/organization_invitations_get_response.py +0 -0
  332. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organization_invitations/types/organization_invitations_get_response_role.py +0 -0
  333. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organization_invitations/types/organization_invitations_get_response_status.py +0 -0
  334. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organization_invitations/types/organization_invitations_list_response_item.py +0 -0
  335. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organization_invitations/types/organization_invitations_list_response_item_role.py +0 -0
  336. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organization_invitations/types/organization_invitations_list_response_item_status.py +0 -0
  337. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organization_memberships/__init__.py +0 -0
  338. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organization_memberships/client.py +0 -0
  339. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organization_memberships/raw_client.py +0 -0
  340. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organization_memberships/types/__init__.py +0 -0
  341. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organization_memberships/types/organization_memberships_list_response_item.py +0 -0
  342. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organization_memberships/types/organization_memberships_list_response_item_role.py +0 -0
  343. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organization_memberships/types/organization_memberships_update_request_role.py +0 -0
  344. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organization_memberships/types/organization_memberships_update_response.py +0 -0
  345. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organization_memberships/types/organization_memberships_update_response_role.py +0 -0
  346. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organizations/__init__.py +0 -0
  347. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organizations/client.py +0 -0
  348. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organizations/raw_client.py +0 -0
  349. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organizations/types/__init__.py +0 -0
  350. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organizations/types/organizations_create_payment_intent_response.py +0 -0
  351. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organizations/types/organizations_create_response.py +0 -0
  352. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organizations/types/organizations_create_response_role.py +0 -0
  353. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organizations/types/organizations_get_response.py +0 -0
  354. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organizations/types/organizations_get_response_role.py +0 -0
  355. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organizations/types/organizations_list_response_item.py +0 -0
  356. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organizations/types/organizations_list_response_item_role.py +0 -0
  357. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organizations/types/organizations_preview_subscription_change_request_target_plan.py +0 -0
  358. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organizations/types/organizations_preview_subscription_change_response.py +0 -0
  359. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organizations/types/organizations_preview_subscription_change_response_validation_errors_item.py +0 -0
  360. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organizations/types/organizations_preview_subscription_change_response_validation_errors_item_resource.py +0 -0
  361. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organizations/types/organizations_router_balance_response.py +0 -0
  362. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organizations/types/organizations_subscription_response.py +0 -0
  363. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organizations/types/organizations_subscription_response_current_plan.py +0 -0
  364. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organizations/types/organizations_subscription_response_payment_method.py +0 -0
  365. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organizations/types/organizations_subscription_response_scheduled_change.py +0 -0
  366. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organizations/types/organizations_subscription_response_scheduled_change_target_plan.py +0 -0
  367. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organizations/types/organizations_update_response.py +0 -0
  368. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organizations/types/organizations_update_response_role.py +0 -0
  369. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organizations/types/organizations_update_subscription_request_target_plan.py +0 -0
  370. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/organizations/types/organizations_update_subscription_response.py +0 -0
  371. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/project_memberships/__init__.py +0 -0
  372. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/project_memberships/client.py +0 -0
  373. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/project_memberships/raw_client.py +0 -0
  374. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/project_memberships/types/__init__.py +0 -0
  375. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/project_memberships/types/project_memberships_create_request_role.py +0 -0
  376. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/project_memberships/types/project_memberships_create_response.py +0 -0
  377. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/project_memberships/types/project_memberships_create_response_role.py +0 -0
  378. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/project_memberships/types/project_memberships_list_response_item.py +0 -0
  379. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/project_memberships/types/project_memberships_list_response_item_role.py +0 -0
  380. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/project_memberships/types/project_memberships_update_request_role.py +0 -0
  381. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/project_memberships/types/project_memberships_update_response.py +0 -0
  382. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/project_memberships/types/project_memberships_update_response_role.py +0 -0
  383. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/projects/__init__.py +0 -0
  384. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/projects/client.py +0 -0
  385. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/projects/raw_client.py +0 -0
  386. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/projects/types/__init__.py +0 -0
  387. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/projects/types/projects_create_response.py +0 -0
  388. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/projects/types/projects_get_response.py +0 -0
  389. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/projects/types/projects_list_response_item.py +0 -0
  390. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/projects/types/projects_update_response.py +0 -0
  391. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/tags/__init__.py +0 -0
  392. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/tags/client.py +0 -0
  393. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/tags/raw_client.py +0 -0
  394. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/tags/types/__init__.py +0 -0
  395. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/tags/types/tags_create_response.py +0 -0
  396. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/tags/types/tags_get_response.py +0 -0
  397. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/tags/types/tags_list_response.py +0 -0
  398. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/tags/types/tags_list_response_tags_item.py +0 -0
  399. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/tags/types/tags_update_response.py +0 -0
  400. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/token_cost/__init__.py +0 -0
  401. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/token_cost/client.py +0 -0
  402. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/token_cost/raw_client.py +0 -0
  403. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/token_cost/types/__init__.py +0 -0
  404. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/token_cost/types/token_cost_calculate_request_usage.py +0 -0
  405. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/token_cost/types/token_cost_calculate_response.py +0 -0
  406. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/__init__.py +0 -0
  407. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/client.py +0 -0
  408. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/raw_client.py +0 -0
  409. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/__init__.py +0 -0
  410. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item.py +0 -0
  411. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource.py +0 -0
  412. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item.py +0 -0
  413. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value.py +0 -0
  414. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value_array_value.py +0 -0
  415. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value_kvlist_value.py +0 -0
  416. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value_kvlist_value_values_item.py +0 -0
  417. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item.py +0 -0
  418. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope.py +0 -0
  419. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item.py +0 -0
  420. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value.py +0 -0
  421. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_array_value.py +0 -0
  422. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_kvlist_value.py +0 -0
  423. {mirascope-2.0.1 → mirascope-2.0.2}/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
  424. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item.py +0 -0
  425. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item.py +0 -0
  426. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value.py +0 -0
  427. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_array_value.py +0 -0
  428. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_kvlist_value.py +0 -0
  429. {mirascope-2.0.1 → mirascope-2.0.2}/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
  430. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_status.py +0 -0
  431. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_create_response.py +0 -0
  432. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_create_response_partial_success.py +0 -0
  433. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_get_analytics_summary_response.py +0 -0
  434. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_get_analytics_summary_response_top_functions_item.py +0 -0
  435. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_get_analytics_summary_response_top_models_item.py +0 -0
  436. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_get_trace_detail_by_env_response.py +0 -0
  437. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_get_trace_detail_by_env_response_spans_item.py +0 -0
  438. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_get_trace_detail_response.py +0 -0
  439. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_get_trace_detail_response_spans_item.py +0 -0
  440. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_list_by_function_hash_response.py +0 -0
  441. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_list_by_function_hash_response_traces_item.py +0 -0
  442. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_search_by_env_request_attribute_filters_item.py +0 -0
  443. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_search_by_env_request_attribute_filters_item_operator.py +0 -0
  444. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_search_by_env_request_sort_by.py +0 -0
  445. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_search_by_env_request_sort_order.py +0 -0
  446. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_search_by_env_response.py +0 -0
  447. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_search_by_env_response_spans_item.py +0 -0
  448. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_search_request_attribute_filters_item.py +0 -0
  449. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_search_request_attribute_filters_item_operator.py +0 -0
  450. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_search_request_sort_by.py +0 -0
  451. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_search_request_sort_order.py +0 -0
  452. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_search_response.py +0 -0
  453. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/traces/types/traces_search_response_spans_item.py +0 -0
  454. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/types/__init__.py +0 -0
  455. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/types/already_exists_error.py +0 -0
  456. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/types/already_exists_error_tag.py +0 -0
  457. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/types/bad_request_error_body.py +0 -0
  458. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/types/click_house_error.py +0 -0
  459. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/types/database_error.py +0 -0
  460. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/types/database_error_tag.py +0 -0
  461. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/types/date.py +0 -0
  462. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/types/http_api_decode_error.py +0 -0
  463. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/types/http_api_decode_error_tag.py +0 -0
  464. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/types/immutable_resource_error.py +0 -0
  465. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/types/internal_server_error_body.py +0 -0
  466. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/types/issue.py +0 -0
  467. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/types/issue_tag.py +0 -0
  468. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/types/not_found_error_body.py +0 -0
  469. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/types/not_found_error_tag.py +0 -0
  470. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/types/number_from_string.py +0 -0
  471. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/types/permission_denied_error.py +0 -0
  472. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/types/permission_denied_error_tag.py +0 -0
  473. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/types/plan_limit_exceeded_error.py +0 -0
  474. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/types/plan_limit_exceeded_error_tag.py +0 -0
  475. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/types/pricing_unavailable_error.py +0 -0
  476. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/types/property_key.py +0 -0
  477. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/types/property_key_key.py +0 -0
  478. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/types/property_key_key_tag.py +0 -0
  479. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/types/rate_limit_error.py +0 -0
  480. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/types/rate_limit_error_tag.py +0 -0
  481. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/types/service_unavailable_error_body.py +0 -0
  482. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/types/service_unavailable_error_tag.py +0 -0
  483. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/types/stripe_error.py +0 -0
  484. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/types/subscription_past_due_error.py +0 -0
  485. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/types/subscription_past_due_error_tag.py +0 -0
  486. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/types/unauthorized_error_body.py +0 -0
  487. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/_generated/types/unauthorized_error_tag.py +0 -0
  488. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/client.py +0 -0
  489. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/api/settings.py +0 -0
  490. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/__init__.py +0 -0
  491. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/calls/__init__.py +0 -0
  492. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/calls/decorator.py +0 -0
  493. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/content/__init__.py +0 -0
  494. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/content/audio.py +0 -0
  495. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/content/document.py +0 -0
  496. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/content/image.py +0 -0
  497. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/content/text.py +0 -0
  498. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/content/thought.py +0 -0
  499. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/content/tool_call.py +0 -0
  500. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/content/tool_output.py +0 -0
  501. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/context/__init__.py +0 -0
  502. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/context/_utils.py +0 -0
  503. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/context/context.py +0 -0
  504. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/exceptions.py +0 -0
  505. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/formatting/__init__.py +0 -0
  506. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/formatting/format.py +0 -0
  507. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/formatting/from_call_args.py +0 -0
  508. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/formatting/output_parser.py +0 -0
  509. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/formatting/partial.py +0 -0
  510. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/formatting/primitives.py +0 -0
  511. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/formatting/types.py +0 -0
  512. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/mcp/__init__.py +0 -0
  513. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/mcp/mcp_client.py +0 -0
  514. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/messages/__init__.py +0 -0
  515. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/messages/_utils.py +0 -0
  516. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/messages/message.py +0 -0
  517. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/models/__init__.py +0 -0
  518. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/models/models.py +0 -0
  519. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/models/params.py +0 -0
  520. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/models/thinking_config.py +0 -0
  521. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/prompts/__init__.py +0 -0
  522. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/prompts/_utils.py +0 -0
  523. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/prompts/decorator.py +0 -0
  524. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/prompts/protocols.py +0 -0
  525. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/__init__.py +0 -0
  526. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/anthropic/__init__.py +0 -0
  527. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/anthropic/_utils/__init__.py +0 -0
  528. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/anthropic/_utils/beta_decode.py +0 -0
  529. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/anthropic/_utils/beta_encode.py +0 -0
  530. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/anthropic/_utils/decode.py +0 -0
  531. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/anthropic/_utils/encode.py +0 -0
  532. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/anthropic/_utils/errors.py +0 -0
  533. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/anthropic/beta_provider.py +0 -0
  534. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/anthropic/model_id.py +0 -0
  535. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/anthropic/model_info.py +0 -0
  536. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/anthropic/provider.py +0 -0
  537. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/base/__init__.py +0 -0
  538. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/base/_utils.py +0 -0
  539. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/base/base_provider.py +0 -0
  540. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/base/kwargs.py +0 -0
  541. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/google/__init__.py +0 -0
  542. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/google/_utils/__init__.py +0 -0
  543. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/google/_utils/decode.py +0 -0
  544. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/google/_utils/encode.py +0 -0
  545. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/google/_utils/errors.py +0 -0
  546. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/google/message.py +0 -0
  547. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/google/model_id.py +0 -0
  548. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/google/model_info.py +0 -0
  549. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/google/provider.py +0 -0
  550. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/mirascope/__init__.py +0 -0
  551. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/mirascope/_utils.py +0 -0
  552. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/mirascope/provider.py +0 -0
  553. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/mlx/__init__.py +0 -0
  554. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/mlx/_utils.py +0 -0
  555. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/mlx/encoding/__init__.py +0 -0
  556. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/mlx/encoding/base.py +0 -0
  557. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/mlx/encoding/transformers.py +0 -0
  558. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/mlx/mlx.py +0 -0
  559. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/mlx/model_id.py +0 -0
  560. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/mlx/provider.py +0 -0
  561. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/model_id.py +0 -0
  562. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/ollama/__init__.py +0 -0
  563. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/ollama/provider.py +0 -0
  564. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/openai/__init__.py +0 -0
  565. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/openai/_utils/__init__.py +0 -0
  566. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/openai/_utils/errors.py +0 -0
  567. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/openai/completions/__init__.py +0 -0
  568. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/openai/completions/_utils/__init__.py +0 -0
  569. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/openai/completions/_utils/decode.py +0 -0
  570. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/openai/completions/_utils/encode.py +0 -0
  571. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/openai/completions/base_provider.py +0 -0
  572. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/openai/completions/provider.py +0 -0
  573. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/openai/model_id.py +0 -0
  574. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/openai/model_info.py +0 -0
  575. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/openai/provider.py +0 -0
  576. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/openai/responses/__init__.py +0 -0
  577. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/openai/responses/_utils/__init__.py +0 -0
  578. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/openai/responses/_utils/decode.py +0 -0
  579. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/openai/responses/_utils/encode.py +0 -0
  580. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/openai/responses/provider.py +0 -0
  581. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/provider_id.py +0 -0
  582. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/provider_registry.py +0 -0
  583. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/together/__init__.py +0 -0
  584. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/providers/together/provider.py +0 -0
  585. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/responses/__init__.py +0 -0
  586. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/responses/_utils.py +0 -0
  587. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/responses/base_response.py +0 -0
  588. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/responses/base_stream_response.py +0 -0
  589. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/responses/finish_reason.py +0 -0
  590. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/responses/response.py +0 -0
  591. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/responses/root_response.py +0 -0
  592. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/responses/stream_response.py +0 -0
  593. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/responses/streams.py +0 -0
  594. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/responses/usage.py +0 -0
  595. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/tools/__init__.py +0 -0
  596. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/tools/_utils.py +0 -0
  597. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/tools/decorator.py +0 -0
  598. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/tools/protocols.py +0 -0
  599. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/tools/toolkit.py +0 -0
  600. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/tools/tools.py +0 -0
  601. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/types/__init__.py +0 -0
  602. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/types/dataclass.py +0 -0
  603. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/types/jsonable.py +0 -0
  604. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/llm/types/type_vars.py +0 -0
  605. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/ops/__init__.py +0 -0
  606. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/ops/_internal/__init__.py +0 -0
  607. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/ops/_internal/configuration.py +0 -0
  608. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/ops/_internal/context.py +0 -0
  609. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/ops/_internal/exporters/__init__.py +0 -0
  610. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/ops/_internal/exporters/processors.py +0 -0
  611. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/ops/_internal/exporters/types.py +0 -0
  612. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/ops/_internal/instrumentation/__init__.py +0 -0
  613. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/ops/_internal/instrumentation/llm/__init__.py +0 -0
  614. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/ops/_internal/instrumentation/llm/common.py +0 -0
  615. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/ops/_internal/instrumentation/llm/cost.py +0 -0
  616. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/ops/_internal/instrumentation/llm/encode.py +0 -0
  617. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/ops/_internal/instrumentation/llm/gen_ai_types/__init__.py +0 -0
  618. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/ops/_internal/instrumentation/llm/gen_ai_types/gen_ai_input_messages.py +0 -0
  619. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/ops/_internal/instrumentation/llm/gen_ai_types/gen_ai_output_messages.py +0 -0
  620. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/ops/_internal/instrumentation/llm/gen_ai_types/gen_ai_system_instructions.py +0 -0
  621. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/ops/_internal/instrumentation/llm/gen_ai_types/shared.py +0 -0
  622. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/ops/_internal/instrumentation/llm/llm.py +0 -0
  623. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/ops/_internal/instrumentation/llm/model.py +0 -0
  624. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/ops/_internal/instrumentation/llm/response.py +0 -0
  625. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/ops/_internal/instrumentation/llm/serialize.py +0 -0
  626. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/ops/_internal/propagation.py +0 -0
  627. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/ops/_internal/protocols.py +0 -0
  628. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/ops/_internal/session.py +0 -0
  629. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/ops/_internal/spans.py +0 -0
  630. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/ops/_internal/tracing.py +0 -0
  631. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/ops/_internal/types.py +0 -0
  632. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/ops/_internal/versioned_calls.py +0 -0
  633. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/ops/_internal/versioning.py +0 -0
  634. {mirascope-2.0.1 → mirascope-2.0.2}/mirascope/ops/exceptions.py +0 -0
  635. {mirascope-2.0.1 → mirascope-2.0.2}/schemas/gen-ai/gen-ai-input-messages.json +0 -0
  636. {mirascope-2.0.1 → mirascope-2.0.2}/schemas/gen-ai/gen-ai-output-messages.json +0 -0
  637. {mirascope-2.0.1 → mirascope-2.0.2}/schemas/gen-ai/gen-ai-system-instructions.json +0 -0
  638. {mirascope-2.0.1 → mirascope-2.0.2}/scripts/__init__.py +0 -0
  639. {mirascope-2.0.1 → mirascope-2.0.2}/scripts/example_generator.ts +0 -0
  640. {mirascope-2.0.1 → mirascope-2.0.2}/scripts/generate_extra_imports.py +0 -0
  641. {mirascope-2.0.1 → mirascope-2.0.2}/scripts/model_features/__init__.py +0 -0
  642. {mirascope-2.0.1 → mirascope-2.0.2}/scripts/model_features/codegen_anthropic.py +0 -0
  643. {mirascope-2.0.1 → mirascope-2.0.2}/scripts/model_features/codegen_google.py +0 -0
  644. {mirascope-2.0.1 → mirascope-2.0.2}/scripts/model_features/codegen_openai.py +0 -0
  645. {mirascope-2.0.1 → mirascope-2.0.2}/scripts/model_features/core/__init__.py +0 -0
  646. {mirascope-2.0.1 → mirascope-2.0.2}/scripts/model_features/core/models.py +0 -0
  647. {mirascope-2.0.1 → mirascope-2.0.2}/scripts/model_features/core/registry.py +0 -0
  648. {mirascope-2.0.1 → mirascope-2.0.2}/scripts/model_features/core/runner.py +0 -0
  649. {mirascope-2.0.1 → mirascope-2.0.2}/scripts/model_features/core/testing.py +0 -0
  650. {mirascope-2.0.1 → mirascope-2.0.2}/scripts/model_features/data/anthropic.yaml +0 -0
  651. {mirascope-2.0.1 → mirascope-2.0.2}/scripts/model_features/data/google.yaml +0 -0
  652. {mirascope-2.0.1 → mirascope-2.0.2}/scripts/model_features/data/openai.yaml +0 -0
  653. {mirascope-2.0.1 → mirascope-2.0.2}/scripts/model_features/test_anthropic.py +0 -0
  654. {mirascope-2.0.1 → mirascope-2.0.2}/scripts/model_features/test_google.py +0 -0
  655. {mirascope-2.0.1 → mirascope-2.0.2}/scripts/model_features/test_openai.py +0 -0
  656. {mirascope-2.0.1 → mirascope-2.0.2}/scripts/model_features/update_all.py +0 -0
  657. {mirascope-2.0.1 → mirascope-2.0.2}/scripts/regenerate_examples.ts +0 -0
  658. {mirascope-2.0.1 → mirascope-2.0.2}/scripts/validate_extra_imports.sh +0 -0
  659. {mirascope-2.0.1 → mirascope-2.0.2}/tests/api/test_client.py +0 -0
  660. {mirascope-2.0.1 → mirascope-2.0.2}/tests/api/test_missing_dependencies.py +0 -0
  661. {mirascope-2.0.1 → mirascope-2.0.2}/tests/api/test_settings.py +0 -0
  662. {mirascope-2.0.1 → mirascope-2.0.2}/tests/conftest.py +0 -0
  663. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/README.md +0 -0
  664. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/__init__.py +0 -0
  665. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/assets/audio/tagline.mp3 +0 -0
  666. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/assets/images/wikipedia.png +0 -0
  667. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/conftest.py +0 -0
  668. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/README.md +0 -0
  669. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_authentication_error/anthropic_beta_claude_sonnet_4_0.yaml +0 -0
  670. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_authentication_error/anthropic_claude_sonnet_4_0.yaml +0 -0
  671. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_authentication_error/google_gemini_2_5_flash.yaml +0 -0
  672. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_authentication_error/openai_gpt_4o_completions.yaml +0 -0
  673. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_authentication_error/openai_gpt_4o_responses.yaml +0 -0
  674. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_authentication_error_stream/anthropic_beta_claude_sonnet_4_0.yaml +0 -0
  675. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_authentication_error_stream/anthropic_claude_sonnet_4_0.yaml +0 -0
  676. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_authentication_error_stream/google_gemini_2_5_flash.yaml +0 -0
  677. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_authentication_error_stream/openai_gpt_4o_completions.yaml +0 -0
  678. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_authentication_error_stream/openai_gpt_4o_responses.yaml +0 -0
  679. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_caching_multi_turn_conversation/anthropic_beta_claude_sonnet_4_0.yaml +0 -0
  680. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_caching_multi_turn_conversation/anthropic_claude_sonnet_4_0.yaml +0 -0
  681. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_caching_multi_turn_conversation/google_gemini_2_5_flash.yaml +0 -0
  682. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_caching_multi_turn_conversation/openai_gpt_4o_completions.yaml +0 -0
  683. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_caching_multi_turn_conversation/openai_gpt_4o_responses.yaml +0 -0
  684. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_caching_system_message/anthropic_beta_claude_sonnet_4_0.yaml +0 -0
  685. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_caching_system_message/anthropic_claude_sonnet_4_0.yaml +0 -0
  686. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_caching_system_message/google_gemini_2_5_flash.yaml +0 -0
  687. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_caching_system_message/mlx_community_Qwen3_0_6B_4bit_DWQ_053125.yaml +0 -0
  688. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_caching_system_message/openai_gpt_4o_completions.yaml +0 -0
  689. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_caching_system_message/openai_gpt_4o_responses.yaml +0 -0
  690. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_caching_tool/anthropic_beta_claude_sonnet_4_0.yaml +0 -0
  691. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_caching_tool/anthropic_claude_sonnet_4_0.yaml +0 -0
  692. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_caching_tool/google_gemini_2_5_flash.yaml +0 -0
  693. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_caching_tool/openai_gpt_4o_completions.yaml +0 -0
  694. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_caching_tool/openai_gpt_4o_responses.yaml +0 -0
  695. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_caching_user_message/anthropic_beta_claude_sonnet_4_0.yaml +0 -0
  696. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_caching_user_message/anthropic_claude_sonnet_4_0.yaml +0 -0
  697. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_caching_user_message/google_gemini_2_5_flash.yaml +0 -0
  698. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_caching_user_message/openai_gpt_4o_completions.yaml +0 -0
  699. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_caching_user_message/openai_gpt_4o_responses.yaml +0 -0
  700. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_non_openai_models_through_openai/anthropic_claude_sonnet_4_5.yaml +0 -0
  701. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_audio/google_gemini_2_5_flash.yaml +0 -0
  702. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_audio/mlx_community_Qwen3_0_6B_4bit_DWQ_053125.yaml +0 -0
  703. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_audio/openai_gpt_audio.yaml +0 -0
  704. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_empty_string/google_gemini_2_5_flash.yaml +0 -0
  705. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_empty_string/mlx_mlx_community_Qwen3_0_6B_4bit_DWQ_053125.yaml +0 -0
  706. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_empty_string/openai_gpt_4o_completions.yaml +0 -0
  707. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_empty_string/openai_gpt_4o_responses.yaml +0 -0
  708. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_image_content/anthropic_beta_claude_sonnet_4_0.yaml +0 -0
  709. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_image_content/anthropic_claude_sonnet_4_0.yaml +0 -0
  710. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_image_content/google_gemini_2_5_flash.yaml +0 -0
  711. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_image_content/openai_gpt_4o_completions.yaml +0 -0
  712. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_image_content/openai_gpt_4o_responses.yaml +0 -0
  713. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_image_url/anthropic_beta_claude_sonnet_4_0.yaml +0 -0
  714. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_image_url/anthropic_claude_sonnet_4_0.yaml +0 -0
  715. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_image_url/openai_gpt_4o_completions.yaml +0 -0
  716. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_image_url/openai_gpt_4o_responses.yaml +0 -0
  717. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_mcp_tools/anthropic_claude_haiku_4_5.yaml +0 -0
  718. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_params/anthropic_beta_claude_sonnet_4_0.yaml +0 -0
  719. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_params/anthropic_claude_sonnet_4_0.yaml +0 -0
  720. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_params/google_gemini_2_5_flash.yaml +0 -0
  721. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_params/openai_gpt_4o_completions.yaml +0 -0
  722. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_params/openai_gpt_4o_responses.yaml +0 -0
  723. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_parse_error/anthropic_beta_claude_sonnet_4_0.yaml +0 -0
  724. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_parse_error/anthropic_claude_sonnet_4_0.yaml +0 -0
  725. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_parse_error/google_gemini_2_5_flash.yaml +0 -0
  726. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_parse_error/mlx_community_Qwen3_0_6B_4bit_DWQ_053125.yaml +0 -0
  727. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_parse_error/openai_gpt_4o_completions.yaml +0 -0
  728. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_parse_error/openai_gpt_4o_responses.yaml +0 -0
  729. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_strict_tool_and_optional_properties/anthropic_beta_claude_sonnet_4_5.yaml +0 -0
  730. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_strict_tool_and_optional_properties/mlx_community_Qwen3_0_6B_4bit_DWQ_053125.yaml +0 -0
  731. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_strict_tool_and_optional_properties/openai_gpt_4o_completions.yaml +0 -0
  732. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_strict_tool_and_optional_properties/openai_gpt_4o_responses.yaml +0 -0
  733. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_text_encoded_thoughts/anthropic_beta_claude_sonnet_4_0.yaml +0 -0
  734. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_text_encoded_thoughts/anthropic_claude_sonnet_4_0.yaml +0 -0
  735. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_text_encoded_thoughts/google_gemini_2_5_flash.yaml +0 -0
  736. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_text_encoded_thoughts/openai_gpt_4o_completions.yaml +0 -0
  737. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_text_encoded_thoughts/openai_gpt_4o_responses.yaml +0 -0
  738. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_two_empty_string/google_gemini_2_5_flash.yaml +0 -0
  739. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_two_empty_string/openai_gpt_4o_completions.yaml +0 -0
  740. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_call_with_two_empty_string/openai_gpt_4o_responses.yaml +0 -0
  741. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_mirascope_provider/anthropic_claude_haiku_4_5.yaml +0 -0
  742. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_mirascope_provider/google_gemini_2_5_flash.yaml +0 -0
  743. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_mirascope_provider/openai_gpt_5_mini.yaml +0 -0
  744. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_mirascope_provider/openai_gpt_5_mini_completions.yaml +0 -0
  745. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_mirascope_provider/openai_gpt_5_mini_responses.yaml +0 -0
  746. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_mirascope_provider_streaming/anthropic_claude_haiku_4_5.yaml +0 -0
  747. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_mirascope_provider_streaming/google_gemini_2_5_flash.yaml +0 -0
  748. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_mirascope_provider_streaming/openai_gpt_5_mini.yaml +0 -0
  749. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_mirascope_provider_streaming/openai_gpt_5_mini_completions.yaml +0 -0
  750. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_mirascope_provider_streaming/openai_gpt_5_mini_responses.yaml +0 -0
  751. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_model_not_found/anthropic_beta_claude_sonnet_4_0.yaml +0 -0
  752. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_model_not_found/anthropic_claude_sonnet_4_0.yaml +0 -0
  753. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_model_not_found/google_gemini_2_5_flash.yaml +0 -0
  754. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_model_not_found/mlx_community_Qwen3_0_6B_4bit_DWQ_053125.yaml +0 -0
  755. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_model_not_found/openai_gpt_4o_completions.yaml +0 -0
  756. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_model_not_found/openai_gpt_4o_responses.yaml +0 -0
  757. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_model_not_found_stream/anthropic_beta_claude_sonnet_4_0.yaml +0 -0
  758. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_model_not_found_stream/anthropic_claude_sonnet_4_0.yaml +0 -0
  759. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_model_not_found_stream/google_gemini_2_5_flash.yaml +0 -0
  760. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_model_not_found_stream/mlx_community_Qwen3_0_6B_4bit_DWQ_053125.yaml +0 -0
  761. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_model_not_found_stream/openai_gpt_4o_completions.yaml +0 -0
  762. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_model_not_found_stream/openai_gpt_4o_responses.yaml +0 -0
  763. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_ollama_provider/ollama_gemma3_4b.yaml +0 -0
  764. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_openai_completions_provider/openai_gpt_4o_mini.yaml +0 -0
  765. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_openai_completions_provider/openai_gpt_4o_mini_completions.yaml +0 -0
  766. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_openai_responses_provider/openai_gpt_4o_mini.yaml +0 -0
  767. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_openai_responses_provider/openai_gpt_4o_mini_responses.yaml +0 -0
  768. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_resume_with_override/anthropic_beta_claude_sonnet_4_0.yaml +0 -0
  769. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_resume_with_override/anthropic_claude_sonnet_4_0.yaml +0 -0
  770. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_resume_with_override/google_gemini_2_5_flash.yaml +0 -0
  771. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_resume_with_override/mlx_community_Qwen3_0_6B_4bit_DWQ_053125.yaml +0 -0
  772. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_resume_with_override/openai_gpt_4o_completions.yaml +0 -0
  773. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_resume_with_override/openai_gpt_4o_responses.yaml +0 -0
  774. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/anthropic_beta_claude_sonnet_4_0.yaml +0 -0
  775. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/anthropic_claude_sonnet_4_0.yaml +0 -0
  776. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/google_gemini_2_5_flash.yaml +0 -0
  777. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/mlx_community_Qwen3_0_6B_4bit_DWQ_053125.yaml +0 -0
  778. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/openai_gpt_4o_completions.yaml +0 -0
  779. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/openai_gpt_4o_responses.yaml +0 -0
  780. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_strict_mode/anthropic_claude_sonnet_4_5.yaml +0 -0
  781. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_strict_mode/google_gemini_3_pro_preview.yaml +0 -0
  782. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_strict_mode_streamed/anthropic_claude_sonnet_4_5.yaml +0 -0
  783. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_strict_mode_streamed/google_gemini_3_pro_preview.yaml +0 -0
  784. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_strict_mode_with_streamed_thinking/anthropic_claude_sonnet_4_5.yaml +0 -0
  785. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_strict_mode_with_streamed_thinking/google_gemini_3_pro_preview.yaml +0 -0
  786. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_strict_mode_with_thinking/anthropic_claude_sonnet_4_5.yaml +0 -0
  787. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_strict_mode_with_thinking/google_gemini_3_pro_preview.yaml +0 -0
  788. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_strict_mode_with_tools/anthropic_claude_sonnet_4_5.yaml +0 -0
  789. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_strict_mode_with_tools/google_gemini_3_pro_preview.yaml +0 -0
  790. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_strict_mode_with_tools_streamed/anthropic_claude_sonnet_4_5.yaml +0 -0
  791. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_strict_mode_with_tools_streamed/google_gemini_3_pro_preview.yaml +0 -0
  792. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/anthropic_claude_sonnet_4_0.yaml +0 -0
  793. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/anthropic_claude_sonnet_4_5.yaml +0 -0
  794. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/google_gemini_2_5_flash.yaml +0 -0
  795. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/anthropic_beta_claude_sonnet_4_0.yaml +0 -0
  796. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/anthropic_claude_sonnet_4_0.yaml +0 -0
  797. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/anthropic_claude_sonnet_4_5.yaml +0 -0
  798. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/google_gemini_2_5_flash.yaml +0 -0
  799. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/openai_gpt_4o_completions.yaml +0 -0
  800. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/openai_gpt_4o_responses.yaml +0 -0
  801. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/openai_gpt_4o_completions.yaml +0 -0
  802. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/openai_gpt_4o_responses.yaml +0 -0
  803. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/strict/anthropic_claude_sonnet_4_5.yaml +0 -0
  804. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/strict/google_gemini_2_5_flash.yaml +0 -0
  805. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/strict/openai_gpt_4o_completions.yaml +0 -0
  806. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/strict/openai_gpt_4o_responses.yaml +0 -0
  807. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/anthropic_beta_claude_sonnet_4_0.yaml +0 -0
  808. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/anthropic_claude_sonnet_4_0.yaml +0 -0
  809. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/anthropic_claude_sonnet_4_5.yaml +0 -0
  810. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/google_gemini_2_5_flash.yaml +0 -0
  811. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/openai_gpt_4o_completions.yaml +0 -0
  812. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/openai_gpt_4o_responses.yaml +0 -0
  813. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_structured_output_with_output_parser/anthropic_claude_haiku_4_5.yaml +0 -0
  814. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_structured_output_with_primitive_types_int/anthropic_claude_haiku_4_5.yaml +0 -0
  815. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_structured_output_with_primitive_types_list/anthropic_claude_haiku_4_5.yaml +0 -0
  816. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_structured_stream_async/anthropic_claude_haiku_4_5.yaml +0 -0
  817. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_structured_stream_sync/anthropic_claude_haiku_4_5.yaml +0 -0
  818. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/cassettes/test_together_provider/meta_llama_Llama_3_3_70B_Instruct_Turbo.yaml +0 -0
  819. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/conftest.py +0 -0
  820. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/mlx_lm_cassettes/test_caching_multi_turn_conversation_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  821. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/mlx_lm_cassettes/test_caching_system_message_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  822. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/mlx_lm_cassettes/test_caching_tool_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  823. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/mlx_lm_cassettes/test_caching_user_message_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  824. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/mlx_lm_cassettes/test_call_with_audio_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  825. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/mlx_lm_cassettes/test_call_with_empty_array_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  826. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/mlx_lm_cassettes/test_call_with_empty_string_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  827. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/mlx_lm_cassettes/test_call_with_image_content_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  828. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/mlx_lm_cassettes/test_call_with_image_url_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  829. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/mlx_lm_cassettes/test_call_with_params_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  830. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/mlx_lm_cassettes/test_call_with_parse_error_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  831. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/mlx_lm_cassettes/test_call_with_strict_tool_and_optional_properties_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  832. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/mlx_lm_cassettes/test_call_with_text_encoded_thoughts_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  833. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/mlx_lm_cassettes/test_call_with_tool_error_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  834. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/mlx_lm_cassettes/test_call_with_two_empty_string_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  835. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/mlx_lm_cassettes/test_conversation_caching_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  836. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/mlx_lm_cassettes/test_model_not_found_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  837. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/mlx_lm_cassettes/test_model_not_found_stream_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  838. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/mlx_lm_cassettes/test_resume_with_override_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  839. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/mlx_lm_cassettes/test_resume_with_override_thinking_and_tools_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  840. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/mlx_lm_cassettes/test_structured_output_with_formatting_instructions_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  841. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/mlx_lm_cassettes/test_structured_output_with_formatting_instructions_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  842. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/mlx_lm_cassettes/test_structured_output_with_formatting_instructions_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  843. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/mlx_lm_cassettes/test_structured_output_with_formatting_instructions_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  844. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/mlx_lm_cassettes/test_system_message_caching_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  845. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/mlx_lm_cassettes/test_tool_caching_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  846. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/mlx_lm_cassettes/test_user_message_caching_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  847. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_caching_multi_turn_conversation/anthropic_beta_claude_sonnet_4_0_snapshots.py +0 -0
  848. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_caching_multi_turn_conversation/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
  849. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_caching_multi_turn_conversation/google_gemini_2_5_flash_snapshots.py +0 -0
  850. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_caching_multi_turn_conversation/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +0 -0
  851. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_caching_multi_turn_conversation/openai_gpt_4o_completions_snapshots.py +0 -0
  852. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_caching_multi_turn_conversation/openai_gpt_4o_responses_snapshots.py +0 -0
  853. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_caching_system_message/anthropic_beta_claude_sonnet_4_0_snapshots.py +0 -0
  854. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_caching_system_message/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
  855. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_caching_system_message/google_gemini_2_5_flash_snapshots.py +0 -0
  856. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_caching_system_message/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +0 -0
  857. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_caching_system_message/openai_gpt_4o_completions_snapshots.py +0 -0
  858. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_caching_system_message/openai_gpt_4o_responses_snapshots.py +0 -0
  859. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_caching_tool/anthropic_beta_claude_sonnet_4_0_snapshots.py +0 -0
  860. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_caching_tool/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
  861. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_caching_tool/google_gemini_2_5_flash_snapshots.py +0 -0
  862. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_caching_tool/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +0 -0
  863. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_caching_tool/openai_gpt_4o_completions_snapshots.py +0 -0
  864. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_caching_tool/openai_gpt_4o_responses_snapshots.py +0 -0
  865. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_caching_user_message/anthropic_beta_claude_sonnet_4_0_snapshots.py +0 -0
  866. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_caching_user_message/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
  867. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_caching_user_message/google_gemini_2_5_flash_snapshots.py +0 -0
  868. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_caching_user_message/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +0 -0
  869. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_caching_user_message/openai_gpt_4o_completions_snapshots.py +0 -0
  870. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_caching_user_message/openai_gpt_4o_responses_snapshots.py +0 -0
  871. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_non_openai_models_through_openai/anthropic_claude_sonnet_4_5_snapshots.py +0 -0
  872. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_audio/anthropic_beta_claude_sonnet_4_0_snapshots.py +0 -0
  873. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_audio/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
  874. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_audio/google_gemini_2_5_flash_snapshots.py +0 -0
  875. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_audio/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +0 -0
  876. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_audio/openai_gpt_4o_completions_snapshots.py +0 -0
  877. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_audio/openai_gpt_4o_responses_snapshots.py +0 -0
  878. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_audio/openai_gpt_audio_snapshots.py +0 -0
  879. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_empty_array/anthropic_beta_claude_sonnet_4_0_snapshots.py +0 -0
  880. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_empty_array/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
  881. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_empty_array/google_gemini_2_5_flash_snapshots.py +0 -0
  882. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_empty_array/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +0 -0
  883. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_empty_array/openai_gpt_4o_completions_snapshots.py +0 -0
  884. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_empty_array/openai_gpt_4o_responses_snapshots.py +0 -0
  885. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_empty_string/anthropic_beta_claude_sonnet_4_0_snapshots.py +0 -0
  886. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_empty_string/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
  887. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_empty_string/google_gemini_2_5_flash_snapshots.py +0 -0
  888. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_empty_string/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +0 -0
  889. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_empty_string/openai_gpt_4o_completions_snapshots.py +0 -0
  890. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_empty_string/openai_gpt_4o_responses_snapshots.py +0 -0
  891. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_image_content/anthropic_beta_claude_sonnet_4_0_snapshots.py +0 -0
  892. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_image_content/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
  893. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_image_content/google_gemini_2_5_flash_snapshots.py +0 -0
  894. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_image_content/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +0 -0
  895. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_image_content/openai_gpt_4o_completions_snapshots.py +0 -0
  896. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_image_content/openai_gpt_4o_responses_snapshots.py +0 -0
  897. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_image_url/anthropic_beta_claude_sonnet_4_0_snapshots.py +0 -0
  898. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_image_url/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
  899. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_image_url/google_gemini_2_5_flash_snapshots.py +0 -0
  900. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_image_url/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +0 -0
  901. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_image_url/openai_gpt_4o_completions_snapshots.py +0 -0
  902. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_image_url/openai_gpt_4o_responses_snapshots.py +0 -0
  903. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_mcp_tools/anthropic_claude_haiku_4_5_snapshots.py +0 -0
  904. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_params/anthropic_beta_claude_sonnet_4_0_snapshots.py +0 -0
  905. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_params/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
  906. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_params/google_gemini_2_5_flash_snapshots.py +0 -0
  907. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_params/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +0 -0
  908. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_params/openai_gpt_4o_completions_snapshots.py +0 -0
  909. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_params/openai_gpt_4o_responses_snapshots.py +0 -0
  910. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_parse_error/anthropic_beta_claude_sonnet_4_0_snapshots.py +0 -0
  911. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_parse_error/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
  912. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_parse_error/google_gemini_2_5_flash_snapshots.py +0 -0
  913. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_parse_error/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +0 -0
  914. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_parse_error/openai_gpt_4o_completions_snapshots.py +0 -0
  915. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_parse_error/openai_gpt_4o_responses_snapshots.py +0 -0
  916. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_strict_tool_and_optional_properties/anthropic_beta_claude_sonnet_4_0_snapshots.py +0 -0
  917. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_strict_tool_and_optional_properties/anthropic_beta_claude_sonnet_4_5_snapshots.py +0 -0
  918. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_strict_tool_and_optional_properties/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
  919. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_strict_tool_and_optional_properties/google_gemini_2_5_flash_snapshots.py +0 -0
  920. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_strict_tool_and_optional_properties/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +0 -0
  921. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_strict_tool_and_optional_properties/openai_gpt_4o_completions_snapshots.py +0 -0
  922. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_strict_tool_and_optional_properties/openai_gpt_4o_responses_snapshots.py +0 -0
  923. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/anthropic_beta_claude_sonnet_4_0_snapshots.py +0 -0
  924. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
  925. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/google_gemini_2_5_flash_snapshots.py +0 -0
  926. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +0 -0
  927. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/openai_gpt_4o_completions_snapshots.py +0 -0
  928. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/openai_gpt_4o_responses_snapshots.py +0 -0
  929. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_tool_error/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +0 -0
  930. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_two_empty_string/anthropic_beta_claude_sonnet_4_0_snapshots.py +0 -0
  931. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_two_empty_string/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
  932. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_two_empty_string/google_gemini_2_5_flash_snapshots.py +0 -0
  933. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_two_empty_string/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +0 -0
  934. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_two_empty_string/openai_gpt_4o_completions_snapshots.py +0 -0
  935. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_call_with_two_empty_string/openai_gpt_4o_responses_snapshots.py +0 -0
  936. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_mirascope_provider/anthropic_claude_haiku_4_5_snapshots.py +0 -0
  937. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_mirascope_provider/google_gemini_2_5_flash_snapshots.py +0 -0
  938. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_mirascope_provider/openai_gpt_5_mini_completions_snapshots.py +0 -0
  939. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_mirascope_provider/openai_gpt_5_mini_responses_snapshots.py +0 -0
  940. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_mirascope_provider/openai_gpt_5_mini_snapshots.py +0 -0
  941. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_mirascope_provider_streaming/anthropic_claude_haiku_4_5_snapshots.py +0 -0
  942. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_mirascope_provider_streaming/google_gemini_2_5_flash_snapshots.py +0 -0
  943. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_mirascope_provider_streaming/openai_gpt_5_mini_completions_snapshots.py +0 -0
  944. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_mirascope_provider_streaming/openai_gpt_5_mini_responses_snapshots.py +0 -0
  945. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_mirascope_provider_streaming/openai_gpt_5_mini_snapshots.py +0 -0
  946. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_ollama_provider/ollama_gemma3_4b_snapshots.py +0 -0
  947. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_openai_completions_provider/openai_gpt_4o_mini_completions_snapshots.py +0 -0
  948. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_openai_completions_provider/openai_gpt_4o_mini_responses_snapshots.py +0 -0
  949. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_openai_completions_provider/openai_gpt_4o_mini_snapshots.py +0 -0
  950. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_openai_responses_provider/openai_gpt_4o_mini_completions_snapshots.py +0 -0
  951. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_openai_responses_provider/openai_gpt_4o_mini_responses_snapshots.py +0 -0
  952. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_openai_responses_provider/openai_gpt_4o_mini_snapshots.py +0 -0
  953. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_resume_with_override/anthropic_beta_claude_sonnet_4_0_snapshots.py +0 -0
  954. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_resume_with_override/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
  955. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_resume_with_override/google_gemini_2_5_flash_snapshots.py +0 -0
  956. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_resume_with_override/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +0 -0
  957. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_resume_with_override/openai_gpt_4o_completions_snapshots.py +0 -0
  958. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_resume_with_override/openai_gpt_4o_responses_snapshots.py +0 -0
  959. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/anthropic_beta_claude_sonnet_4_0_snapshots.py +0 -0
  960. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
  961. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/google_gemini_2_5_flash_snapshots.py +0 -0
  962. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +0 -0
  963. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/openai_gpt_4o_completions_snapshots.py +0 -0
  964. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/openai_gpt_4o_responses_snapshots.py +0 -0
  965. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_strict_mode/anthropic_claude_sonnet_4_5_snapshots.py +0 -0
  966. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_strict_mode/google_gemini_3_pro_preview_snapshots.py +0 -0
  967. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_strict_mode_streamed/anthropic_claude_sonnet_4_5_snapshots.py +0 -0
  968. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_strict_mode_streamed/google_gemini_3_pro_preview_snapshots.py +0 -0
  969. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_strict_mode_with_streamed_thinking/anthropic_claude_sonnet_4_5_snapshots.py +0 -0
  970. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_strict_mode_with_streamed_thinking/google_gemini_3_pro_preview_snapshots.py +0 -0
  971. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_strict_mode_with_thinking/anthropic_claude_sonnet_4_5_snapshots.py +0 -0
  972. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_strict_mode_with_thinking/google_gemini_3_pro_preview_snapshots.py +0 -0
  973. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_strict_mode_with_tools/anthropic_claude_sonnet_4_5_snapshots.py +0 -0
  974. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_strict_mode_with_tools/google_gemini_3_pro_preview_snapshots.py +0 -0
  975. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_strict_mode_with_tools_streamed/anthropic_claude_sonnet_4_5_snapshots.py +0 -0
  976. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_strict_mode_with_tools_streamed/google_gemini_3_pro_preview_snapshots.py +0 -0
  977. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/anthropic_beta_claude_sonnet_4_0_snapshots.py +0 -0
  978. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
  979. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/anthropic_claude_sonnet_4_5_snapshots.py +0 -0
  980. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/google_gemini_2_5_flash_snapshots.py +0 -0
  981. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/anthropic_beta_claude_sonnet_4_0_snapshots.py +0 -0
  982. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
  983. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/anthropic_claude_sonnet_4_5_snapshots.py +0 -0
  984. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/google_gemini_2_5_flash_snapshots.py +0 -0
  985. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +0 -0
  986. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/openai_gpt_4o_completions_snapshots.py +0 -0
  987. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/openai_gpt_4o_responses_snapshots.py +0 -0
  988. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +0 -0
  989. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/openai_gpt_4o_completions_snapshots.py +0 -0
  990. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/openai_gpt_4o_responses_snapshots.py +0 -0
  991. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/anthropic_beta_claude_sonnet_4_0_snapshots.py +0 -0
  992. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
  993. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/anthropic_claude_sonnet_4_5_snapshots.py +0 -0
  994. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/google_gemini_2_5_flash_snapshots.py +0 -0
  995. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +0 -0
  996. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/openai_gpt_4o_completions_snapshots.py +0 -0
  997. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/openai_gpt_4o_responses_snapshots.py +0 -0
  998. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/anthropic_beta_claude_sonnet_4_0_snapshots.py +0 -0
  999. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
  1000. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/anthropic_claude_sonnet_4_5_snapshots.py +0 -0
  1001. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/google_gemini_2_5_flash_snapshots.py +0 -0
  1002. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +0 -0
  1003. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/openai_gpt_4o_completions_snapshots.py +0 -0
  1004. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/openai_gpt_4o_responses_snapshots.py +0 -0
  1005. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_structured_output_with_output_parser/anthropic_claude_haiku_4_5_snapshots.py +0 -0
  1006. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_structured_output_with_primitive_types_int/anthropic_claude_haiku_4_5_snapshots.py +0 -0
  1007. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_structured_output_with_primitive_types_list/anthropic_claude_haiku_4_5_snapshots.py +0 -0
  1008. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_structured_stream_async/anthropic_claude_haiku_4_5_snapshots.py +0 -0
  1009. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_structured_stream_sync/anthropic_claude_haiku_4_5_snapshots.py +0 -0
  1010. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/snapshots/test_together_provider/meta_llama_Llama_3_3_70B_Instruct_Turbo_snapshots.py +0 -0
  1011. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/test_authentication_error.py +0 -0
  1012. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/test_caching.py +0 -0
  1013. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/test_call_with_audio.py +0 -0
  1014. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/test_call_with_image.py +0 -0
  1015. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/test_call_with_mcp_tools.py +0 -0
  1016. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/test_call_with_params.py +0 -0
  1017. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/test_call_with_parse_error.py +0 -0
  1018. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/test_call_with_strict_tool_and_optional_properties.py +0 -0
  1019. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/test_call_with_text_encoded_thoughts.py +0 -0
  1020. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/test_empty_call.py +0 -0
  1021. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/test_mirascope_provider.py +0 -0
  1022. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/test_model_not_found.py +0 -0
  1023. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/test_openai_compatibility_providers.py +0 -0
  1024. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/test_provider_overriding.py +0 -0
  1025. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/test_resume_with_override.py +0 -0
  1026. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/test_resume_with_override_thinking_and_tools.py +0 -0
  1027. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/test_strict_structured_output_compatibility.py +0 -0
  1028. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/test_structured_output_parser.py +0 -0
  1029. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/test_structured_output_primitive_types.py +0 -0
  1030. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/test_structured_output_streaming.py +0 -0
  1031. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/input/test_structured_output_with_formatting_instructions.py +0 -0
  1032. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/mlx_lm_cassette.py +0 -0
  1033. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/README.md +0 -0
  1034. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call/anthropic_beta_claude_sonnet_4_0/async.yaml +0 -0
  1035. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call/anthropic_beta_claude_sonnet_4_0/async_stream.yaml +0 -0
  1036. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call/anthropic_beta_claude_sonnet_4_0/stream.yaml +0 -0
  1037. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call/anthropic_beta_claude_sonnet_4_0/sync.yaml +0 -0
  1038. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call/anthropic_claude_sonnet_4_0/async.yaml +0 -0
  1039. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -0
  1040. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call/anthropic_claude_sonnet_4_0/stream.yaml +0 -0
  1041. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call/anthropic_claude_sonnet_4_0/sync.yaml +0 -0
  1042. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call/google_gemini_2_5_flash/async.yaml +0 -0
  1043. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call/google_gemini_2_5_flash/async_stream.yaml +0 -0
  1044. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call/google_gemini_2_5_flash/stream.yaml +0 -0
  1045. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call/google_gemini_2_5_flash/sync.yaml +0 -0
  1046. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call/openai_gpt_4o_completions/async.yaml +0 -0
  1047. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call/openai_gpt_4o_completions/async_stream.yaml +0 -0
  1048. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call/openai_gpt_4o_completions/stream.yaml +0 -0
  1049. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call/openai_gpt_4o_completions/sync.yaml +0 -0
  1050. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call/openai_gpt_4o_responses/async.yaml +0 -0
  1051. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call/openai_gpt_4o_responses/async_stream.yaml +0 -0
  1052. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call/openai_gpt_4o_responses/stream.yaml +0 -0
  1053. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call/openai_gpt_4o_responses/sync.yaml +0 -0
  1054. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_thinking/anthropic_beta_claude_sonnet_4_0/async.yaml +0 -0
  1055. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_thinking/anthropic_beta_claude_sonnet_4_0/async_stream.yaml +0 -0
  1056. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_thinking/anthropic_beta_claude_sonnet_4_0/stream.yaml +0 -0
  1057. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_thinking/anthropic_beta_claude_sonnet_4_0/sync.yaml +0 -0
  1058. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_thinking/anthropic_claude_sonnet_4_0/async.yaml +0 -0
  1059. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_thinking/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -0
  1060. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_thinking/anthropic_claude_sonnet_4_0/stream.yaml +0 -0
  1061. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_thinking/anthropic_claude_sonnet_4_0/sync.yaml +0 -0
  1062. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_thinking/google_gemini_2_5_flash/async.yaml +0 -0
  1063. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_thinking/google_gemini_2_5_flash/async_stream.yaml +0 -0
  1064. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_thinking/google_gemini_2_5_flash/stream.yaml +0 -0
  1065. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_thinking/google_gemini_2_5_flash/sync.yaml +0 -0
  1066. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_thinking/openai_gpt_5_responses/async.yaml +0 -0
  1067. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_thinking/openai_gpt_5_responses/async_stream.yaml +0 -0
  1068. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_thinking/openai_gpt_5_responses/stream.yaml +0 -0
  1069. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_thinking/openai_gpt_5_responses/sync.yaml +0 -0
  1070. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_thinking_no_include_thoughts/anthropic_beta_claude_sonnet_4_0/async.yaml +0 -0
  1071. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_thinking_no_include_thoughts/anthropic_beta_claude_sonnet_4_0/async_stream.yaml +0 -0
  1072. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_thinking_no_include_thoughts/anthropic_beta_claude_sonnet_4_0/stream.yaml +0 -0
  1073. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_thinking_no_include_thoughts/anthropic_beta_claude_sonnet_4_0/sync.yaml +0 -0
  1074. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_thinking_no_include_thoughts/anthropic_claude_sonnet_4_0/async.yaml +0 -0
  1075. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_thinking_no_include_thoughts/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -0
  1076. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_thinking_no_include_thoughts/anthropic_claude_sonnet_4_0/stream.yaml +0 -0
  1077. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_thinking_no_include_thoughts/anthropic_claude_sonnet_4_0/sync.yaml +0 -0
  1078. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_thinking_no_include_thoughts/google_gemini_2_5_flash/async.yaml +0 -0
  1079. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_thinking_no_include_thoughts/google_gemini_2_5_flash/async_stream.yaml +0 -0
  1080. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_thinking_no_include_thoughts/google_gemini_2_5_flash/stream.yaml +0 -0
  1081. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_thinking_no_include_thoughts/google_gemini_2_5_flash/sync.yaml +0 -0
  1082. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_thinking_no_include_thoughts/openai_gpt_5_responses/async.yaml +0 -0
  1083. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_thinking_no_include_thoughts/openai_gpt_5_responses/async_stream.yaml +0 -0
  1084. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_thinking_no_include_thoughts/openai_gpt_5_responses/stream.yaml +0 -0
  1085. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_thinking_no_include_thoughts/openai_gpt_5_responses/sync.yaml +0 -0
  1086. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_tools/anthropic_beta_claude_sonnet_4_0/async.yaml +0 -0
  1087. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_tools/anthropic_beta_claude_sonnet_4_0/async_stream.yaml +0 -0
  1088. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_tools/anthropic_beta_claude_sonnet_4_0/stream.yaml +0 -0
  1089. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_tools/anthropic_beta_claude_sonnet_4_0/sync.yaml +0 -0
  1090. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_tools/anthropic_claude_sonnet_4_0/async.yaml +0 -0
  1091. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_tools/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -0
  1092. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_tools/anthropic_claude_sonnet_4_0/stream.yaml +0 -0
  1093. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_tools/anthropic_claude_sonnet_4_0/sync.yaml +0 -0
  1094. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_tools/google_gemini_2_5_flash/async.yaml +0 -0
  1095. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_tools/google_gemini_2_5_flash/async_stream.yaml +0 -0
  1096. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_tools/google_gemini_2_5_flash/stream.yaml +0 -0
  1097. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_tools/google_gemini_2_5_flash/sync.yaml +0 -0
  1098. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_tools/openai_gpt_4o_completions/async.yaml +0 -0
  1099. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_tools/openai_gpt_4o_completions/async_stream.yaml +0 -0
  1100. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_tools/openai_gpt_4o_completions/stream.yaml +0 -0
  1101. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_tools/openai_gpt_4o_completions/sync.yaml +0 -0
  1102. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_tools/openai_gpt_4o_responses/async.yaml +0 -0
  1103. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_tools/openai_gpt_4o_responses/async_stream.yaml +0 -0
  1104. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_tools/openai_gpt_4o_responses/stream.yaml +0 -0
  1105. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_call_with_tools/openai_gpt_4o_responses/sync.yaml +0 -0
  1106. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_max_tokens/anthropic_beta_claude_sonnet_4_0/async.yaml +0 -0
  1107. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_max_tokens/anthropic_beta_claude_sonnet_4_0/async_stream.yaml +0 -0
  1108. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_max_tokens/anthropic_beta_claude_sonnet_4_0/stream.yaml +0 -0
  1109. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_max_tokens/anthropic_beta_claude_sonnet_4_0/sync.yaml +0 -0
  1110. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_max_tokens/anthropic_claude_sonnet_4_0/async.yaml +0 -0
  1111. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_max_tokens/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -0
  1112. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_max_tokens/anthropic_claude_sonnet_4_0/stream.yaml +0 -0
  1113. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_max_tokens/anthropic_claude_sonnet_4_0/sync.yaml +0 -0
  1114. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_max_tokens/google_gemini_2_5_flash/async.yaml +0 -0
  1115. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_max_tokens/google_gemini_2_5_flash/async_stream.yaml +0 -0
  1116. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_max_tokens/google_gemini_2_5_flash/stream.yaml +0 -0
  1117. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_max_tokens/google_gemini_2_5_flash/sync.yaml +0 -0
  1118. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_max_tokens/openai_gpt_4o_completions/async.yaml +0 -0
  1119. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_max_tokens/openai_gpt_4o_completions/async_stream.yaml +0 -0
  1120. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_max_tokens/openai_gpt_4o_completions/stream.yaml +0 -0
  1121. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_max_tokens/openai_gpt_4o_completions/sync.yaml +0 -0
  1122. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_max_tokens/openai_gpt_4o_responses/async.yaml +0 -0
  1123. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_max_tokens/openai_gpt_4o_responses/async_stream.yaml +0 -0
  1124. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_max_tokens/openai_gpt_4o_responses/stream.yaml +0 -0
  1125. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_max_tokens/openai_gpt_4o_responses/sync.yaml +0 -0
  1126. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_refusal/anthropic_claude_sonnet_4_0/async.yaml +0 -0
  1127. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_refusal/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -0
  1128. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_refusal/anthropic_claude_sonnet_4_0/stream.yaml +0 -0
  1129. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_refusal/anthropic_claude_sonnet_4_0/sync.yaml +0 -0
  1130. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_refusal/google_gemini_2_5_flash/async.yaml +0 -0
  1131. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_refusal/google_gemini_2_5_flash/async_stream.yaml +0 -0
  1132. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_refusal/google_gemini_2_5_flash/stream.yaml +0 -0
  1133. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_refusal/google_gemini_2_5_flash/sync.yaml +0 -0
  1134. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_refusal/openai_gpt_4o_completions/async.yaml +0 -0
  1135. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_refusal/openai_gpt_4o_completions/async_stream.yaml +0 -0
  1136. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_refusal/openai_gpt_4o_completions/stream.yaml +0 -0
  1137. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_refusal/openai_gpt_4o_completions/sync.yaml +0 -0
  1138. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_refusal/openai_gpt_4o_responses/async.yaml +0 -0
  1139. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_refusal/openai_gpt_4o_responses/async_stream.yaml +0 -0
  1140. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_refusal/openai_gpt_4o_responses/stream.yaml +0 -0
  1141. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_refusal/openai_gpt_4o_responses/sync.yaml +0 -0
  1142. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_0/async.yaml +0 -0
  1143. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -0
  1144. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_0/stream.yaml +0 -0
  1145. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_0/sync.yaml +0 -0
  1146. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_5/async.yaml +0 -0
  1147. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_5/async_stream.yaml +0 -0
  1148. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_5/stream.yaml +0 -0
  1149. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_5/sync.yaml +0 -0
  1150. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/async.yaml +0 -0
  1151. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/async_stream.yaml +0 -0
  1152. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/stream.yaml +0 -0
  1153. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/sync.yaml +0 -0
  1154. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/json/anthropic_beta_claude_sonnet_4_0/async.yaml +0 -0
  1155. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/json/anthropic_beta_claude_sonnet_4_0/async_stream.yaml +0 -0
  1156. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/json/anthropic_beta_claude_sonnet_4_0/stream.yaml +0 -0
  1157. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/json/anthropic_beta_claude_sonnet_4_0/sync.yaml +0 -0
  1158. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_0/async.yaml +0 -0
  1159. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -0
  1160. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_0/stream.yaml +0 -0
  1161. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_0/sync.yaml +0 -0
  1162. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_5/async.yaml +0 -0
  1163. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_5/async_stream.yaml +0 -0
  1164. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_5/stream.yaml +0 -0
  1165. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_5/sync.yaml +0 -0
  1166. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/async.yaml +0 -0
  1167. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/async_stream.yaml +0 -0
  1168. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/stream.yaml +0 -0
  1169. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/sync.yaml +0 -0
  1170. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/json/openai_gpt_4o_completions/async.yaml +0 -0
  1171. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/json/openai_gpt_4o_completions/async_stream.yaml +0 -0
  1172. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/json/openai_gpt_4o_completions/stream.yaml +0 -0
  1173. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/json/openai_gpt_4o_completions/sync.yaml +0 -0
  1174. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/json/openai_gpt_4o_responses/async.yaml +0 -0
  1175. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/json/openai_gpt_4o_responses/async_stream.yaml +0 -0
  1176. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/json/openai_gpt_4o_responses/stream.yaml +0 -0
  1177. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/json/openai_gpt_4o_responses/sync.yaml +0 -0
  1178. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/openai_gpt_4o_completions/async.yaml +0 -0
  1179. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/openai_gpt_4o_completions/async_stream.yaml +0 -0
  1180. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/openai_gpt_4o_completions/stream.yaml +0 -0
  1181. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/openai_gpt_4o_completions/sync.yaml +0 -0
  1182. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/openai_gpt_4o_responses/async.yaml +0 -0
  1183. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/openai_gpt_4o_responses/async_stream.yaml +0 -0
  1184. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/openai_gpt_4o_responses/stream.yaml +0 -0
  1185. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/openai_gpt_4o_responses/sync.yaml +0 -0
  1186. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/strict/anthropic_claude_sonnet_4_5/async.yaml +0 -0
  1187. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/strict/anthropic_claude_sonnet_4_5/async_stream.yaml +0 -0
  1188. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/strict/anthropic_claude_sonnet_4_5/stream.yaml +0 -0
  1189. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/strict/anthropic_claude_sonnet_4_5/sync.yaml +0 -0
  1190. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/async.yaml +0 -0
  1191. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/async_stream.yaml +0 -0
  1192. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/stream.yaml +0 -0
  1193. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/sync.yaml +0 -0
  1194. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/strict/openai_gpt_4o_completions/async.yaml +0 -0
  1195. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/strict/openai_gpt_4o_completions/async_stream.yaml +0 -0
  1196. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/strict/openai_gpt_4o_completions/stream.yaml +0 -0
  1197. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/strict/openai_gpt_4o_completions/sync.yaml +0 -0
  1198. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/strict/openai_gpt_4o_responses/async.yaml +0 -0
  1199. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/strict/openai_gpt_4o_responses/async_stream.yaml +0 -0
  1200. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/strict/openai_gpt_4o_responses/stream.yaml +0 -0
  1201. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/strict/openai_gpt_4o_responses/sync.yaml +0 -0
  1202. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_beta_claude_sonnet_4_0/async.yaml +0 -0
  1203. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_beta_claude_sonnet_4_0/async_stream.yaml +0 -0
  1204. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_beta_claude_sonnet_4_0/stream.yaml +0 -0
  1205. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_beta_claude_sonnet_4_0/sync.yaml +0 -0
  1206. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_0/async.yaml +0 -0
  1207. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -0
  1208. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_0/stream.yaml +0 -0
  1209. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_0/sync.yaml +0 -0
  1210. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_5/async.yaml +0 -0
  1211. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_5/async_stream.yaml +0 -0
  1212. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_5/stream.yaml +0 -0
  1213. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_5/sync.yaml +0 -0
  1214. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/async.yaml +0 -0
  1215. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/async_stream.yaml +0 -0
  1216. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/stream.yaml +0 -0
  1217. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/sync.yaml +0 -0
  1218. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/tool/openai_gpt_4o_completions/async.yaml +0 -0
  1219. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/tool/openai_gpt_4o_completions/async_stream.yaml +0 -0
  1220. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/tool/openai_gpt_4o_completions/stream.yaml +0 -0
  1221. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/tool/openai_gpt_4o_completions/sync.yaml +0 -0
  1222. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/tool/openai_gpt_4o_responses/async.yaml +0 -0
  1223. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/tool/openai_gpt_4o_responses/async_stream.yaml +0 -0
  1224. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/tool/openai_gpt_4o_responses/stream.yaml +0 -0
  1225. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output/tool/openai_gpt_4o_responses/sync.yaml +0 -0
  1226. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_0/async.yaml +0 -0
  1227. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -0
  1228. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_0/stream.yaml +0 -0
  1229. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_0/sync.yaml +0 -0
  1230. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_5/async.yaml +0 -0
  1231. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_5/async_stream.yaml +0 -0
  1232. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_5/stream.yaml +0 -0
  1233. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_5/sync.yaml +0 -0
  1234. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/async.yaml +0 -0
  1235. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/async_stream.yaml +0 -0
  1236. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/stream.yaml +0 -0
  1237. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/sync.yaml +0 -0
  1238. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_beta_claude_sonnet_4_0/async.yaml +0 -0
  1239. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_beta_claude_sonnet_4_0/async_stream.yaml +0 -0
  1240. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_beta_claude_sonnet_4_0/stream.yaml +0 -0
  1241. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_beta_claude_sonnet_4_0/sync.yaml +0 -0
  1242. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_0/async.yaml +0 -0
  1243. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -0
  1244. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_0/stream.yaml +0 -0
  1245. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_0/sync.yaml +0 -0
  1246. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_5/async.yaml +0 -0
  1247. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_5/async_stream.yaml +0 -0
  1248. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_5/stream.yaml +0 -0
  1249. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_5/sync.yaml +0 -0
  1250. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_gpt_4o_completions/async.yaml +0 -0
  1251. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_gpt_4o_completions/async_stream.yaml +0 -0
  1252. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_gpt_4o_completions/stream.yaml +0 -0
  1253. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_gpt_4o_completions/sync.yaml +0 -0
  1254. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_gpt_4o_responses/async.yaml +0 -0
  1255. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_gpt_4o_responses/async_stream.yaml +0 -0
  1256. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_gpt_4o_responses/stream.yaml +0 -0
  1257. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_gpt_4o_responses/sync.yaml +0 -0
  1258. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_gpt_4o_completions/async.yaml +0 -0
  1259. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_gpt_4o_completions/async_stream.yaml +0 -0
  1260. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_gpt_4o_completions/stream.yaml +0 -0
  1261. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_gpt_4o_completions/sync.yaml +0 -0
  1262. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_gpt_4o_responses/async.yaml +0 -0
  1263. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_gpt_4o_responses/async_stream.yaml +0 -0
  1264. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_gpt_4o_responses/stream.yaml +0 -0
  1265. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_gpt_4o_responses/sync.yaml +0 -0
  1266. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/anthropic_claude_sonnet_4_5/async.yaml +0 -0
  1267. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/anthropic_claude_sonnet_4_5/async_stream.yaml +0 -0
  1268. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/anthropic_claude_sonnet_4_5/stream.yaml +0 -0
  1269. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/anthropic_claude_sonnet_4_5/sync.yaml +0 -0
  1270. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_gpt_4o_completions/async.yaml +0 -0
  1271. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_gpt_4o_completions/async_stream.yaml +0 -0
  1272. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_gpt_4o_completions/stream.yaml +0 -0
  1273. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_gpt_4o_completions/sync.yaml +0 -0
  1274. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_gpt_4o_responses/async.yaml +0 -0
  1275. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_gpt_4o_responses/async_stream.yaml +0 -0
  1276. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_gpt_4o_responses/stream.yaml +0 -0
  1277. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_gpt_4o_responses/sync.yaml +0 -0
  1278. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_beta_claude_sonnet_4_0/async.yaml +0 -0
  1279. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_beta_claude_sonnet_4_0/async_stream.yaml +0 -0
  1280. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_beta_claude_sonnet_4_0/stream.yaml +0 -0
  1281. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_beta_claude_sonnet_4_0/sync.yaml +0 -0
  1282. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_0/async.yaml +0 -0
  1283. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -0
  1284. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_0/stream.yaml +0 -0
  1285. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_0/sync.yaml +0 -0
  1286. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_5/async.yaml +0 -0
  1287. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_5/async_stream.yaml +0 -0
  1288. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_5/stream.yaml +0 -0
  1289. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_5/sync.yaml +0 -0
  1290. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/async.yaml +0 -0
  1291. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/async_stream.yaml +0 -0
  1292. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/stream.yaml +0 -0
  1293. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/sync.yaml +0 -0
  1294. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_gpt_4o_completions/async.yaml +0 -0
  1295. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_gpt_4o_completions/async_stream.yaml +0 -0
  1296. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_gpt_4o_completions/stream.yaml +0 -0
  1297. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_gpt_4o_completions/sync.yaml +0 -0
  1298. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_gpt_4o_responses/async.yaml +0 -0
  1299. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_gpt_4o_responses/async_stream.yaml +0 -0
  1300. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_gpt_4o_responses/stream.yaml +0 -0
  1301. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_gpt_4o_responses/sync.yaml +0 -0
  1302. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/conftest.py +0 -0
  1303. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_call_async_context_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1304. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_call_async_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1305. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_call_async_stream_context_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1306. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_call_async_stream_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1307. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_call_stream_context_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1308. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_call_stream_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1309. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_call_sync_context_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1310. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_call_sync_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1311. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_call_with_tools_async_context_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1312. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_call_with_tools_async_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1313. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_call_with_tools_async_stream_context_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1314. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_call_with_tools_async_stream_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1315. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_call_with_tools_stream_context_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1316. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_call_with_tools_stream_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1317. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_call_with_tools_sync_context_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1318. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_call_with_tools_sync_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1319. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_max_tokens_async_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1320. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_max_tokens_async_stream_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1321. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_max_tokens_stream_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1322. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_max_tokens_sync_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1323. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_prompt_async_context_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1324. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_prompt_async_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1325. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_prompt_async_stream_context_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1326. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_prompt_async_stream_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1327. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_prompt_stream_context_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1328. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_prompt_stream_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1329. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_prompt_sync_context_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1330. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_prompt_sync_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1331. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_refusal_async_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1332. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_refusal_async_stream_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1333. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_refusal_stream_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1334. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_refusal_sync_mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1335. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1336. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_context_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1337. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_context_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1338. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_context_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1339. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_context_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1340. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1341. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_stream_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1342. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_stream_context_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1343. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_stream_context_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1344. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_stream_context_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1345. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_stream_context_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1346. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_stream_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1347. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_stream_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1348. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_stream_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1349. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1350. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_async_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1351. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_stream_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1352. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_stream_context_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1353. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_stream_context_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1354. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_stream_context_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1355. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_stream_context_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1356. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_stream_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1357. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_stream_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1358. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_stream_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1359. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_sync_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1360. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_sync_context_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1361. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_sync_context_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1362. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_sync_context_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1363. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_sync_context_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1364. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_sync_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1365. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_sync_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1366. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_sync_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1367. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_async_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1368. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_async_context_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1369. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_async_context_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1370. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_async_context_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1371. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_async_context_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1372. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_async_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1373. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_async_stream_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1374. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_async_stream_context_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1375. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_async_stream_context_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1376. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_async_stream_context_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1377. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_async_stream_context_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1378. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_async_stream_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1379. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_async_stream_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1380. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_async_stream_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1381. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_async_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1382. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_async_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1383. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_stream_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1384. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_stream_context_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1385. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_stream_context_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1386. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_stream_context_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1387. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_stream_context_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1388. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_stream_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1389. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_stream_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1390. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_stream_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1391. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_sync_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1392. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_sync_context_None-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1393. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_sync_context_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1394. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_sync_context_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1395. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_sync_context_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1396. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_sync_json-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1397. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_sync_strict-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1398. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/mlx_lm_cassettes/test_structured_output_with_tools_sync_tool-mlx-community_Qwen3-0.6B-4bit-DWQ-053125_.yaml +0 -0
  1399. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_call/anthropic_beta_claude_sonnet_4_0_snapshots.py +0 -0
  1400. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_call/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
  1401. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_call/google_gemini_2_5_flash_snapshots.py +0 -0
  1402. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_call/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +0 -0
  1403. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_call/openai_gpt_4o_completions_snapshots.py +0 -0
  1404. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_call/openai_gpt_4o_responses_snapshots.py +0 -0
  1405. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_call_with_thinking/anthropic_beta_claude_sonnet_4_0_snapshots.py +0 -0
  1406. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_call_with_thinking/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
  1407. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_call_with_thinking/google_gemini_2_5_flash_snapshots.py +0 -0
  1408. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_call_with_thinking/openai_gpt_5_responses_snapshots.py +0 -0
  1409. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_call_with_thinking_no_include_thoughts/anthropic_beta_claude_sonnet_4_0_snapshots.py +0 -0
  1410. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_call_with_thinking_no_include_thoughts/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
  1411. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_call_with_thinking_no_include_thoughts/google_gemini_2_5_flash_snapshots.py +0 -0
  1412. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_call_with_thinking_no_include_thoughts/openai_gpt_5_responses_snapshots.py +0 -0
  1413. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_call_with_tools/anthropic_beta_claude_sonnet_4_0_snapshots.py +0 -0
  1414. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_call_with_tools/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
  1415. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_call_with_tools/google_gemini_2_5_flash_snapshots.py +0 -0
  1416. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_call_with_tools/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +0 -0
  1417. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_call_with_tools/openai_gpt_4o_completions_snapshots.py +0 -0
  1418. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_call_with_tools/openai_gpt_4o_responses_snapshots.py +0 -0
  1419. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_max_tokens/anthropic_beta_claude_sonnet_4_0_snapshots.py +0 -0
  1420. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_max_tokens/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
  1421. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_max_tokens/google_gemini_2_5_flash_snapshots.py +0 -0
  1422. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_max_tokens/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +0 -0
  1423. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_max_tokens/openai_gpt_4o_completions_snapshots.py +0 -0
  1424. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_max_tokens/openai_gpt_4o_responses_snapshots.py +0 -0
  1425. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_refusal/anthropic_beta_claude_sonnet_4_0_snapshots.py +0 -0
  1426. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_refusal/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
  1427. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_refusal/google_gemini_2_5_flash_snapshots.py +0 -0
  1428. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_refusal/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +0 -0
  1429. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_refusal/openai_gpt_4o_completions_snapshots.py +0 -0
  1430. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_refusal/openai_gpt_4o_responses_snapshots.py +0 -0
  1431. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output/anthropic_beta_claude_sonnet_4_0_snapshots.py +0 -0
  1432. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
  1433. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output/anthropic_claude_sonnet_4_5_snapshots.py +0 -0
  1434. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output/google_gemini_2_5_flash_snapshots.py +0 -0
  1435. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output/json/anthropic_beta_claude_sonnet_4_0_snapshots.py +0 -0
  1436. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output/json/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
  1437. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output/json/anthropic_claude_sonnet_4_5_snapshots.py +0 -0
  1438. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output/json/google_gemini_2_5_flash_snapshots.py +0 -0
  1439. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output/json/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +0 -0
  1440. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output/json/openai_gpt_4o_completions_snapshots.py +0 -0
  1441. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output/json/openai_gpt_4o_responses_snapshots.py +0 -0
  1442. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +0 -0
  1443. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output/openai_gpt_4o_completions_snapshots.py +0 -0
  1444. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output/openai_gpt_4o_responses_snapshots.py +0 -0
  1445. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output/strict/anthropic_beta_claude_sonnet_4_0_snapshots.py +0 -0
  1446. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output/strict/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
  1447. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output/strict/anthropic_claude_sonnet_4_5_snapshots.py +0 -0
  1448. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output/strict/google_gemini_2_5_flash_snapshots.py +0 -0
  1449. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output/strict/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +0 -0
  1450. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output/strict/openai_gpt_4o_completions_snapshots.py +0 -0
  1451. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output/strict/openai_gpt_4o_responses_snapshots.py +0 -0
  1452. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output/tool/anthropic_beta_claude_sonnet_4_0_snapshots.py +0 -0
  1453. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output/tool/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
  1454. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output/tool/anthropic_claude_sonnet_4_5_snapshots.py +0 -0
  1455. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output/tool/google_gemini_2_5_flash_snapshots.py +0 -0
  1456. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output/tool/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +0 -0
  1457. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output/tool/openai_gpt_4o_completions_snapshots.py +0 -0
  1458. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output/tool/openai_gpt_4o_responses_snapshots.py +0 -0
  1459. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output_with_tools/anthropic_beta_claude_sonnet_4_0_snapshots.py +0 -0
  1460. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output_with_tools/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
  1461. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output_with_tools/anthropic_claude_sonnet_4_5_snapshots.py +0 -0
  1462. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output_with_tools/google_gemini_2_5_flash_snapshots.py +0 -0
  1463. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output_with_tools/json/anthropic_beta_claude_sonnet_4_0_snapshots.py +0 -0
  1464. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
  1465. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_5_snapshots.py +0 -0
  1466. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output_with_tools/json/google_gemini_2_5_flash_snapshots.py +0 -0
  1467. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output_with_tools/json/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +0 -0
  1468. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output_with_tools/json/openai_gpt_4o_completions_snapshots.py +0 -0
  1469. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output_with_tools/json/openai_gpt_4o_responses_snapshots.py +0 -0
  1470. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output_with_tools/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +0 -0
  1471. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output_with_tools/openai_gpt_4o_completions_snapshots.py +0 -0
  1472. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output_with_tools/openai_gpt_4o_responses_snapshots.py +0 -0
  1473. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/anthropic_beta_claude_sonnet_4_0_snapshots.py +0 -0
  1474. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
  1475. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/anthropic_claude_sonnet_4_5_snapshots.py +0 -0
  1476. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/google_gemini_2_5_flash_snapshots.py +0 -0
  1477. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +0 -0
  1478. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/openai_gpt_4o_completions_snapshots.py +0 -0
  1479. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/openai_gpt_4o_responses_snapshots.py +0 -0
  1480. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/anthropic_beta_claude_sonnet_4_0_snapshots.py +0 -0
  1481. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
  1482. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_5_snapshots.py +0 -0
  1483. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/google_gemini_2_5_flash_snapshots.py +0 -0
  1484. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +0 -0
  1485. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/openai_gpt_4o_completions_snapshots.py +0 -0
  1486. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/openai_gpt_4o_responses_snapshots.py +0 -0
  1487. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/test_call.py +0 -0
  1488. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/test_call_with_thinking.py +0 -0
  1489. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/test_call_with_tools.py +0 -0
  1490. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/test_max_tokens.py +0 -0
  1491. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/test_prompt.py +0 -0
  1492. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/test_refusal.py +0 -0
  1493. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/test_structured_output.py +0 -0
  1494. {mirascope-2.0.1 → mirascope-2.0.2}/tests/e2e/output/test_structured_output_with_tools.py +0 -0
  1495. {mirascope-2.0.1 → mirascope-2.0.2}/tests/fixtures/__init__.py +0 -0
  1496. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/__init__.py +0 -0
  1497. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/calls/test_call_decorator.py +0 -0
  1498. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/content/test_audio_content.py +0 -0
  1499. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/content/test_image_content.py +0 -0
  1500. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/context/test_context.py +0 -0
  1501. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/context/test_context_utils.py +0 -0
  1502. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/formatting/__init__.py +0 -0
  1503. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/formatting/test_format.py +0 -0
  1504. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/formatting/test_output_parser.py +0 -0
  1505. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/formatting/test_partial.py +0 -0
  1506. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/formatting/test_primitive_types.py +0 -0
  1507. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/mcp/__init__.py +0 -0
  1508. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/mcp/example_mcp_client.py +0 -0
  1509. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/mcp/test_mcp_client.py +0 -0
  1510. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/messages/test_messages.py +0 -0
  1511. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/models/test_model.py +0 -0
  1512. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/prompts/__init__.py +0 -0
  1513. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/prompts/test_prompt_decorator.py +0 -0
  1514. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/providers/__init__.py +0 -0
  1515. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/providers/anthropic/__init__.py +0 -0
  1516. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/providers/anthropic/test_anthropic_beta_provider.py +0 -0
  1517. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/providers/anthropic/test_anthropic_provider.py +0 -0
  1518. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/providers/base/__init__.py +0 -0
  1519. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/providers/base/test_base_provider.py +0 -0
  1520. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/providers/base/test_params.py +0 -0
  1521. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/providers/base/test_utils.py +0 -0
  1522. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/providers/google/__init__.py +0 -0
  1523. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/providers/google/test_google_provider.py +0 -0
  1524. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/providers/mlx/__init__.py +0 -0
  1525. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/providers/mlx/conftest.py +0 -0
  1526. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/providers/mlx/encoding/test_transformers.py +0 -0
  1527. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/providers/mlx/test_client.py +0 -0
  1528. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/providers/mlx/test_mlx.py +0 -0
  1529. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/providers/mlx/test_utils.py +0 -0
  1530. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/providers/openai/test_completions_encoding.py +0 -0
  1531. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/providers/openai/test_completions_provider.py +0 -0
  1532. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/providers/openai/test_openai_provider.py +0 -0
  1533. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/providers/openai/test_responses_encoding.py +0 -0
  1534. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/providers/openai/test_responses_provider.py +0 -0
  1535. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/providers/test_mirascope_provider.py +0 -0
  1536. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/providers/test_missing_dependencies.py +0 -0
  1537. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/providers/test_ollama_provider.py +0 -0
  1538. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/providers/test_openai_compatible_provider.py +0 -0
  1539. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/providers/test_provider_registry.py +0 -0
  1540. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/providers/test_providers.py +0 -0
  1541. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/providers/test_together_provider.py +0 -0
  1542. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/responses/__init__.py +0 -0
  1543. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/responses/test_response.py +0 -0
  1544. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/responses/test_stream_response.py +0 -0
  1545. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/responses/test_structured_stream.py +0 -0
  1546. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/responses/test_utils.py +0 -0
  1547. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/test_error_wrapping.py +0 -0
  1548. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/tools/__init__.py +0 -0
  1549. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/tools/test_decorator.py +0 -0
  1550. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/tools/test_tool_schema.py +0 -0
  1551. {mirascope-2.0.1 → mirascope-2.0.2}/tests/llm/tools/test_toolkit.py +0 -0
  1552. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/__init__.py +0 -0
  1553. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/__init__.py +0 -0
  1554. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_async_version_registers_new_function.yaml +0 -0
  1555. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_async_version_uses_existing_function.yaml +0 -0
  1556. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_traced_async_call.yaml +0 -0
  1557. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_traced_async_call_call_method.yaml +0 -0
  1558. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_traced_async_call_stream_method.yaml +0 -0
  1559. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_traced_async_call_wrapped_method.yaml +0 -0
  1560. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_traced_async_context_call.yaml +0 -0
  1561. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_traced_async_context_call_call_method.yaml +0 -0
  1562. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_traced_async_context_call_stream_method.yaml +0 -0
  1563. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_traced_async_context_call_with_tags.yaml +0 -0
  1564. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_traced_async_context_call_wrapped_call_method.yaml +0 -0
  1565. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_traced_async_context_call_wrapped_returns_trace.yaml +0 -0
  1566. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_traced_call_call_method.yaml +0 -0
  1567. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_traced_call_stream_method.yaml +0 -0
  1568. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_traced_call_sync.yaml +0 -0
  1569. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_traced_call_with_tags.yaml +0 -0
  1570. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_traced_call_wrapped_call_method.yaml +0 -0
  1571. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_traced_call_wrapped_method.yaml +0 -0
  1572. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_traced_call_wrapped_stream.yaml +0 -0
  1573. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_traced_context_call.yaml +0 -0
  1574. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_traced_context_call_call_method.yaml +0 -0
  1575. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_traced_context_call_stream_method.yaml +0 -0
  1576. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_traced_context_call_with_metadata.yaml +0 -0
  1577. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_traced_context_call_with_tags.yaml +0 -0
  1578. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_traced_context_call_wrapped_call_method.yaml +0 -0
  1579. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_traced_context_call_wrapped_returns_trace.yaml +0 -0
  1580. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_version_registers_new_function.yaml +0 -0
  1581. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_version_uses_existing_function.yaml +0 -0
  1582. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_versioned_async_call.yaml +0 -0
  1583. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_versioned_async_call_call_method.yaml +0 -0
  1584. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_versioned_async_call_stream_method.yaml +0 -0
  1585. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_versioned_async_call_wrapped_method.yaml +0 -0
  1586. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_versioned_async_call_wrapped_stream_method.yaml +0 -0
  1587. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_versioned_async_context_call.yaml +0 -0
  1588. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_versioned_async_context_call_call_method.yaml +0 -0
  1589. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_versioned_async_context_call_stream_method.yaml +0 -0
  1590. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_versioned_async_context_call_wrapped_method.yaml +0 -0
  1591. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_versioned_async_context_call_wrapped_stream_method.yaml +0 -0
  1592. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_versioned_call_call_method.yaml +0 -0
  1593. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_versioned_call_stream_method.yaml +0 -0
  1594. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_versioned_call_sync.yaml +0 -0
  1595. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_versioned_call_with_tags.yaml +0 -0
  1596. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_versioned_call_wrapped_method.yaml +0 -0
  1597. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_versioned_call_wrapped_stream.yaml +0 -0
  1598. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_versioned_context_call.yaml +0 -0
  1599. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_versioned_context_call_call_method.yaml +0 -0
  1600. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_versioned_context_call_stream_method.yaml +0 -0
  1601. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_versioned_context_call_wrapped_method.yaml +0 -0
  1602. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/cassettes/test_versioned_context_call_wrapped_stream_method.yaml +0 -0
  1603. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/closure_test_functions/__init__.py +0 -0
  1604. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/closure_test_functions/fakepkg/__init__.py +0 -0
  1605. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/closure_test_functions/main.py +0 -0
  1606. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/closure_test_functions/other.py +0 -0
  1607. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/exporters/__init__.py +0 -0
  1608. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/exporters/conftest.py +0 -0
  1609. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/exporters/test_processors.py +0 -0
  1610. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/exporters/utils.py +0 -0
  1611. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/__init__.py +0 -0
  1612. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/__init__.py +0 -0
  1613. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_async_context_response_resume_exports_mirascope_span.yaml +0 -0
  1614. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_async_context_stream_response_resume_exports_mirascope_span.yaml +0 -0
  1615. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_async_response_resume_exports_mirascope_span.yaml +0 -0
  1616. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_async_stream_response_resume_exports_mirascope_span.yaml +0 -0
  1617. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_context_response_resume_exports_mirascope_span.yaml +0 -0
  1618. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_context_stream_response_resume_exports_mirascope_span.yaml +0 -0
  1619. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_async_exports_genai_span.yaml +0 -0
  1620. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_async_records_untracked_params_event.yaml +0 -0
  1621. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_exports_genai_span.yaml +0 -0
  1622. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_records_response_id.yaml +0 -0
  1623. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_records_untracked_params_event.yaml +0 -0
  1624. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_with_audio_content.yaml +0 -0
  1625. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_with_base64_image.yaml +0 -0
  1626. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_with_image.yaml +0 -0
  1627. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_with_json_format.yaml +0 -0
  1628. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_with_message_name.yaml +0 -0
  1629. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_with_none_parameters.yaml +0 -0
  1630. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_with_parameters.yaml +0 -0
  1631. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_with_reasoning_model.yaml +0 -0
  1632. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_with_stop_string.yaml +0 -0
  1633. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_with_strict_tool.yaml +0 -0
  1634. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_with_tool_outputs.yaml +0 -0
  1635. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_with_tools.yaml +0 -0
  1636. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_with_tracer_set_to_none.yaml +0 -0
  1637. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_call_without_instrumentation.yaml +0 -0
  1638. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_context_call_async_exports_genai_span.yaml +0 -0
  1639. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_context_call_exports_genai_span.yaml +0 -0
  1640. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_context_resume_async_exports_genai_span.yaml +0 -0
  1641. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_context_resume_exports_genai_span.yaml +0 -0
  1642. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_context_resume_stream_async_exports_genai_span.yaml +0 -0
  1643. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_context_resume_stream_exports_genai_span.yaml +0 -0
  1644. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_context_stream_async_exports_genai_span.yaml +0 -0
  1645. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_context_stream_exports_genai_span.yaml +0 -0
  1646. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_resume_async_exports_genai_span.yaml +0 -0
  1647. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_resume_exports_genai_span.yaml +0 -0
  1648. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_resume_stream_async_exports_genai_span.yaml +0 -0
  1649. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_resume_stream_exports_genai_span.yaml +0 -0
  1650. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_stream_async_exports_genai_span.yaml +0 -0
  1651. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_stream_async_with_tracer_set_to_none.yaml +0 -0
  1652. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_stream_async_without_instrumentation.yaml +0 -0
  1653. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_stream_exports_genai_span.yaml +0 -0
  1654. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_stream_records_response_id.yaml +0 -0
  1655. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_stream_records_untracked_params_event.yaml +0 -0
  1656. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_stream_with_json_format.yaml +0 -0
  1657. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_stream_with_none_parameters.yaml +0 -0
  1658. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_stream_with_tools.yaml +0 -0
  1659. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_stream_with_tracer_set_to_none.yaml +0 -0
  1660. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_model_stream_without_instrumentation.yaml +0 -0
  1661. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_response_resume_exports_mirascope_span.yaml +0 -0
  1662. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_stream_response_resume_exports_mirascope_span.yaml +0 -0
  1663. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/cassettes/test_tracer_context_with_model_call.yaml +0 -0
  1664. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/test_common.py +0 -0
  1665. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/test_cost_calculation.py +0 -0
  1666. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/test_instrumentation.py +0 -0
  1667. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/test_model_call.py +0 -0
  1668. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/test_model_call_async.py +0 -0
  1669. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/test_model_context_call.py +0 -0
  1670. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/test_model_context_call_async.py +0 -0
  1671. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/test_model_context_stream.py +0 -0
  1672. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/test_model_context_stream_async.py +0 -0
  1673. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/test_model_resume.py +0 -0
  1674. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/test_model_stream.py +0 -0
  1675. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/test_model_stream_async.py +0 -0
  1676. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/test_response.py +0 -0
  1677. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/instrumentation/llm/test_serialize.py +0 -0
  1678. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/test_configuration.py +0 -0
  1679. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/test_context.py +0 -0
  1680. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/test_missing_dependencies.py +0 -0
  1681. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/test_propagation.py +0 -0
  1682. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/test_session.py +0 -0
  1683. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/test_span.py +0 -0
  1684. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/test_tracing.py +0 -0
  1685. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/_internal/test_versioning.py +0 -0
  1686. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/conftest.py +0 -0
  1687. {mirascope-2.0.1 → mirascope-2.0.2}/tests/ops/utils.py +0 -0
  1688. {mirascope-2.0.1 → mirascope-2.0.2}/tests/test_imports.py +0 -0
  1689. {mirascope-2.0.1 → mirascope-2.0.2}/tests/utils.py +0 -0
  1690. {mirascope-2.0.1 → mirascope-2.0.2}/typechecking/call.py +0 -0
  1691. {mirascope-2.0.1 → mirascope-2.0.2}/typechecking/context.py +0 -0
  1692. {mirascope-2.0.1 → mirascope-2.0.2}/typechecking/format.py +0 -0
  1693. {mirascope-2.0.1 → mirascope-2.0.2}/typechecking/streams.py +0 -0
  1694. {mirascope-2.0.1 → mirascope-2.0.2}/typechecking/tool.py +0 -0
  1695. {mirascope-2.0.1 → mirascope-2.0.2}/typechecking/utils.py +0 -0
  1696. {mirascope-2.0.1 → mirascope-2.0.2}/typings/mlx/__init__.pyi +0 -0
  1697. {mirascope-2.0.1 → mirascope-2.0.2}/typings/mlx/core.pyi +0 -0
  1698. {mirascope-2.0.1 → mirascope-2.0.2}/typings/mlx/nn.pyi +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mirascope
3
- Version: 2.0.1
3
+ Version: 2.0.2
4
4
  Summary: Every frontier LLM. One unified interface.
5
5
  Project-URL: Homepage, https://mirascope.com
6
6
  Project-URL: Documentation, https://mirascope.com/docs/mirascope/v2
@@ -0,0 +1,46 @@
1
+ from typing import Literal
2
+
3
+ from mirascope import llm, ops
4
+
5
+ # Connect to Mirascope Cloud for tracing and analytics
6
+ ops.configure()
7
+ ops.instrument_llm()
8
+
9
+
10
+ @llm.tool
11
+ @ops.trace
12
+ def calculate(
13
+ operation: Literal["add", "subtract", "multiply", "divide"],
14
+ a: float,
15
+ b: float,
16
+ ) -> str:
17
+ """Perform a mathematical operation on two numbers."""
18
+ match operation:
19
+ case "add":
20
+ return str(a + b)
21
+ case "subtract":
22
+ return str(a - b)
23
+ case "multiply":
24
+ return str(a * b)
25
+ case "divide":
26
+ return str(a / b) if b != 0 else "Cannot divide by zero"
27
+
28
+
29
+ @ops.version # Automatically versions `math_agent` and traces it's execution
30
+ @llm.call("openai/gpt-4o-mini", tools=[calculate])
31
+ def math_agent(query: str) -> str:
32
+ return f"Help the user with: {query}"
33
+
34
+
35
+ @ops.trace
36
+ def run_math_agent(query: str) -> str:
37
+ response = math_agent(query)
38
+
39
+ while response.tool_calls:
40
+ tool_outputs = response.execute_tools()
41
+ response = response.resume(tool_outputs)
42
+
43
+ return response.text()
44
+
45
+
46
+ print(run_math_agent("What's 42 * 17?"))
@@ -0,0 +1,34 @@
1
+ """Shared internal utilities for mirascope."""
2
+
3
+ from typing import Any
4
+
5
+ # Attributes to copy from wrapped functions (matches functools.WRAPPER_ASSIGNMENTS)
6
+ WRAPPER_ASSIGNMENTS = (
7
+ "__module__",
8
+ "__name__",
9
+ "__qualname__",
10
+ "__annotations__",
11
+ "__doc__",
12
+ )
13
+
14
+
15
+ def copy_function_metadata(target: Any, source: Any) -> None: # noqa: ANN401
16
+ """Copy standard function metadata from source to target.
17
+
18
+ Copies __module__, __name__, __qualname__, __annotations__, __doc__
19
+ from source to target, and sets __wrapped__ to source.
20
+
21
+ This enables decorator stacking by preserving the original function's
22
+ metadata on wrapper objects.
23
+
24
+ Args:
25
+ target: The wrapper object to copy metadata to
26
+ source: The original function to copy metadata from
27
+ """
28
+ for attr in WRAPPER_ASSIGNMENTS:
29
+ try:
30
+ value = getattr(source, attr)
31
+ object.__setattr__(target, attr, value)
32
+ except AttributeError:
33
+ pass
34
+ object.__setattr__(target, "__wrapped__", source)
@@ -92,7 +92,7 @@ class OrganizationInvitationsClient:
92
92
  organization_id : str
93
93
 
94
94
  recipient_email : str
95
- a string matching the pattern ^[^\s@]+@[^\s@]+\.[^\s@]+$
95
+ a string matching the pattern ^[^ \t\n\r\f\v@]+@[^ \t\n\r\f\v@]+[.][^ \t\n\r\f\v@]+$
96
96
 
97
97
  role : OrganizationInvitationsCreateRequestRole
98
98
 
@@ -335,7 +335,7 @@ class AsyncOrganizationInvitationsClient:
335
335
  organization_id : str
336
336
 
337
337
  recipient_email : str
338
- a string matching the pattern ^[^\s@]+@[^\s@]+\.[^\s@]+$
338
+ a string matching the pattern ^[^ \t\n\r\f\v@]+@[^ \t\n\r\f\v@]+[.][^ \t\n\r\f\v@]+$
339
339
 
340
340
  role : OrganizationInvitationsCreateRequestRole
341
341
 
@@ -172,7 +172,7 @@ class RawOrganizationInvitationsClient:
172
172
  organization_id : str
173
173
 
174
174
  recipient_email : str
175
- a string matching the pattern ^[^\s@]+@[^\s@]+\.[^\s@]+$
175
+ a string matching the pattern ^[^ \t\n\r\f\v@]+@[^ \t\n\r\f\v@]+[.][^ \t\n\r\f\v@]+$
176
176
 
177
177
  role : OrganizationInvitationsCreateRequestRole
178
178
 
@@ -911,7 +911,7 @@ class AsyncRawOrganizationInvitationsClient:
911
911
  organization_id : str
912
912
 
913
913
  recipient_email : str
914
- a string matching the pattern ^[^\s@]+@[^\s@]+\.[^\s@]+$
914
+ a string matching the pattern ^[^ \t\n\r\f\v@]+@[^ \t\n\r\f\v@]+[.][^ \t\n\r\f\v@]+$
915
915
 
916
916
  role : OrganizationInvitationsCreateRequestRole
917
917
 
@@ -1682,7 +1682,7 @@ client.organization_invitations.create(
1682
1682
  <dl>
1683
1683
  <dd>
1684
1684
 
1685
- **recipient_email:** `str` — a string matching the pattern ^[^\s@]+@[^\s@]+\.[^\s@]+$
1685
+ **recipient_email:** `str` — a string matching the pattern ^[^ \t\n\r\f\v@]+@[^ \t\n\r\f\v@]+[.][^ \t\n\r\f\v@]+$
1686
1686
 
1687
1687
  </dd>
1688
1688
  </dl>
@@ -1,8 +1,10 @@
1
1
  """The Call module for generating responses using LLMs."""
2
2
 
3
- from dataclasses import dataclass
4
- from typing import Generic, TypeVar, overload
3
+ from collections.abc import Callable
4
+ from dataclasses import dataclass, field
5
+ from typing import Any, Generic, TypeVar, overload
5
6
 
7
+ from ..._utils import copy_function_metadata
6
8
  from ..context import Context, DepsT
7
9
  from ..formatting import FormattableT
8
10
  from ..models import Model, use_model
@@ -12,6 +14,7 @@ from ..prompts import (
12
14
  ContextPrompt,
13
15
  Prompt,
14
16
  )
17
+ from ..prompts.prompts import BasePrompt
15
18
  from ..responses import (
16
19
  AsyncContextResponse,
17
20
  AsyncContextStreamResponse,
@@ -24,24 +27,35 @@ from ..responses import (
24
27
  )
25
28
  from ..types import P
26
29
 
27
- CallT = TypeVar("CallT", bound="BaseCall")
30
+ PromptT = TypeVar("PromptT", bound=BasePrompt[Callable[..., Any]])
31
+ CallT = TypeVar("CallT", bound="BaseCall[Any]")
28
32
 
29
33
 
30
- @dataclass
31
- class BaseCall:
34
+ @dataclass(kw_only=True)
35
+ class BaseCall(Generic[PromptT]):
32
36
  """Base class for all Call types with shared model functionality."""
33
37
 
34
38
  default_model: Model
35
39
  """The default model that will be used if no model is set in context."""
36
40
 
41
+ prompt: PromptT
42
+ """The underlying Prompt instance that generates messages with tools and format."""
43
+
44
+ __name__: str = field(init=False, repr=False, default="")
45
+ """The name of the underlying function (preserved for decorator stacking)."""
46
+
37
47
  @property
38
48
  def model(self) -> Model:
39
49
  """The model used for generating responses. May be overwritten via `with llm.model(...)`."""
40
50
  return use_model(self.default_model)
41
51
 
52
+ def __post_init__(self) -> None:
53
+ """Preserve standard function attributes for decorator stacking."""
54
+ copy_function_metadata(self, self.prompt.fn)
55
+
42
56
 
43
57
  @dataclass
44
- class Call(BaseCall, Generic[P, FormattableT]):
58
+ class Call(BaseCall[Prompt[P, FormattableT]], Generic[P, FormattableT]):
45
59
  """A call that directly generates LLM responses without requiring a model argument.
46
60
 
47
61
  Created by decorating a `MessageTemplate` with `llm.call`. The decorated function
@@ -53,9 +67,6 @@ class Call(BaseCall, Generic[P, FormattableT]):
53
67
  The model can be overridden at runtime using `with llm.model(...)` context manager.
54
68
  """
55
69
 
56
- prompt: Prompt[P, FormattableT]
57
- """The underlying Prompt instance that generates messages with tools and format."""
58
-
59
70
  @overload
60
71
  def __call__(
61
72
  self: "Call[P, None]", *args: P.args, **kwargs: P.kwargs
@@ -104,7 +115,7 @@ class Call(BaseCall, Generic[P, FormattableT]):
104
115
 
105
116
 
106
117
  @dataclass
107
- class AsyncCall(BaseCall, Generic[P, FormattableT]):
118
+ class AsyncCall(BaseCall[AsyncPrompt[P, FormattableT]], Generic[P, FormattableT]):
108
119
  """An async call that directly generates LLM responses without requiring a model argument.
109
120
 
110
121
  Created by decorating an async `MessageTemplate` with `llm.call`. The decorated async
@@ -116,9 +127,6 @@ class AsyncCall(BaseCall, Generic[P, FormattableT]):
116
127
  The model can be overridden at runtime using `with llm.model(...)` context manager.
117
128
  """
118
129
 
119
- prompt: AsyncPrompt[P, FormattableT]
120
- """The underlying AsyncPrompt instance that generates messages with tools and format."""
121
-
122
130
  @overload
123
131
  async def __call__(
124
132
  self: "AsyncCall[P, None]", *args: P.args, **kwargs: P.kwargs
@@ -169,7 +177,9 @@ class AsyncCall(BaseCall, Generic[P, FormattableT]):
169
177
 
170
178
 
171
179
  @dataclass
172
- class ContextCall(BaseCall, Generic[P, DepsT, FormattableT]):
180
+ class ContextCall(
181
+ BaseCall[ContextPrompt[P, DepsT, FormattableT]], Generic[P, DepsT, FormattableT]
182
+ ):
173
183
  """A context-aware call that directly generates LLM responses without requiring a model argument.
174
184
 
175
185
  Created by decorating a `ContextMessageTemplate` with `llm.call`. The decorated function
@@ -182,9 +192,6 @@ class ContextCall(BaseCall, Generic[P, DepsT, FormattableT]):
182
192
  The model can be overridden at runtime using `with llm.model(...)` context manager.
183
193
  """
184
194
 
185
- prompt: ContextPrompt[P, DepsT, FormattableT]
186
- """The underlying ContextPrompt instance that generates messages with tools and format."""
187
-
188
195
  @overload
189
196
  def __call__(
190
197
  self: "ContextCall[P, DepsT, None]",
@@ -255,7 +262,10 @@ class ContextCall(BaseCall, Generic[P, DepsT, FormattableT]):
255
262
 
256
263
 
257
264
  @dataclass
258
- class AsyncContextCall(BaseCall, Generic[P, DepsT, FormattableT]):
265
+ class AsyncContextCall(
266
+ BaseCall[AsyncContextPrompt[P, DepsT, FormattableT]],
267
+ Generic[P, DepsT, FormattableT],
268
+ ):
259
269
  """An async context-aware call that directly generates LLM responses without requiring a model argument.
260
270
 
261
271
  Created by decorating an async `ContextMessageTemplate` with `llm.call`. The decorated async
@@ -268,9 +278,6 @@ class AsyncContextCall(BaseCall, Generic[P, DepsT, FormattableT]):
268
278
  The model can be overridden at runtime using `with llm.model(...)` context manager.
269
279
  """
270
280
 
271
- prompt: AsyncContextPrompt[P, DepsT, FormattableT]
272
- """The underlying AsyncContextPrompt instance that generates messages with tools and format."""
273
-
274
281
  @overload
275
282
  async def __call__(
276
283
  self: "AsyncContextCall[P, DepsT, None]",
@@ -1,9 +1,10 @@
1
1
  """Concrete Prompt classes for generating messages with tools and formatting."""
2
2
 
3
- from collections.abc import Sequence
4
- from dataclasses import dataclass
5
- from typing import Generic, overload
3
+ from collections.abc import Callable, Sequence
4
+ from dataclasses import dataclass, field
5
+ from typing import Any, Generic, TypeVar, overload
6
6
 
7
+ from ..._utils import copy_function_metadata
7
8
  from ..context import Context, DepsT
8
9
  from ..formatting import Format, FormattableT, OutputParser
9
10
  from ..messages import Message, promote_to_messages
@@ -19,12 +20,7 @@ from ..responses import (
19
20
  Response,
20
21
  StreamResponse,
21
22
  )
22
- from ..tools import (
23
- AsyncContextToolkit,
24
- AsyncToolkit,
25
- ContextToolkit,
26
- Toolkit,
27
- )
23
+ from ..tools import AsyncContextToolkit, AsyncToolkit, ContextToolkit, Toolkit
28
24
  from ..types import P
29
25
  from .protocols import (
30
26
  AsyncContextMessageTemplate,
@@ -33,9 +29,26 @@ from .protocols import (
33
29
  MessageTemplate,
34
30
  )
35
31
 
32
+ FunctionT = TypeVar("FunctionT", bound=Callable[..., Any])
33
+
34
+
35
+ @dataclass(kw_only=True)
36
+ class BasePrompt(Generic[FunctionT]):
37
+ """Base class for all Prompt types with shared metadata functionality."""
38
+
39
+ fn: FunctionT
40
+ """The underlying prompt function that generates message content."""
41
+
42
+ __name__: str = field(init=False, repr=False, default="")
43
+ """The name of the underlying function (preserved for decorator stacking)."""
44
+
45
+ def __post_init__(self) -> None:
46
+ """Preserve standard function attributes for decorator stacking."""
47
+ copy_function_metadata(self, self.fn)
48
+
36
49
 
37
50
  @dataclass
38
- class Prompt(Generic[P, FormattableT]):
51
+ class Prompt(BasePrompt[MessageTemplate[P]], Generic[P, FormattableT]):
39
52
  """A prompt that can be called with a model to generate a response.
40
53
 
41
54
  Created by decorating a `MessageTemplate` with `llm.prompt`. The decorated
@@ -45,9 +58,6 @@ class Prompt(Generic[P, FormattableT]):
45
58
  It can be invoked with a model: `prompt(model, *args, **kwargs)`.
46
59
  """
47
60
 
48
- fn: MessageTemplate[P]
49
- """The underlying prompt function that generates message content."""
50
-
51
61
  toolkit: Toolkit
52
62
  """The toolkit containing this prompt's tools."""
53
63
 
@@ -134,7 +144,7 @@ class Prompt(Generic[P, FormattableT]):
134
144
 
135
145
 
136
146
  @dataclass
137
- class AsyncPrompt(Generic[P, FormattableT]):
147
+ class AsyncPrompt(BasePrompt[AsyncMessageTemplate[P]], Generic[P, FormattableT]):
138
148
  """An async prompt that can be called with a model to generate a response.
139
149
 
140
150
  Created by decorating an async `MessageTemplate` with `llm.prompt`. The decorated
@@ -144,9 +154,6 @@ class AsyncPrompt(Generic[P, FormattableT]):
144
154
  It can be invoked with a model: `await prompt(model, *args, **kwargs)`.
145
155
  """
146
156
 
147
- fn: AsyncMessageTemplate[P]
148
- """The underlying async prompt function that generates message content."""
149
-
150
157
  toolkit: AsyncToolkit
151
158
  """The toolkit containing this prompt's async tools."""
152
159
 
@@ -235,7 +242,9 @@ class AsyncPrompt(Generic[P, FormattableT]):
235
242
 
236
243
 
237
244
  @dataclass
238
- class ContextPrompt(Generic[P, DepsT, FormattableT]):
245
+ class ContextPrompt(
246
+ BasePrompt[ContextMessageTemplate[P, DepsT]], Generic[P, DepsT, FormattableT]
247
+ ):
239
248
  """A context-aware prompt that can be called with a model to generate a response.
240
249
 
241
250
  Created by decorating a `ContextMessageTemplate` with `llm.prompt`. The decorated
@@ -246,9 +255,6 @@ class ContextPrompt(Generic[P, DepsT, FormattableT]):
246
255
  It can be invoked with a model: `prompt(model, ctx, *args, **kwargs)`.
247
256
  """
248
257
 
249
- fn: ContextMessageTemplate[P, DepsT]
250
- """The underlying context-aware prompt function that generates message content."""
251
-
252
258
  toolkit: ContextToolkit[DepsT]
253
259
  """The toolkit containing this prompt's context-aware tools."""
254
260
 
@@ -361,7 +367,9 @@ class ContextPrompt(Generic[P, DepsT, FormattableT]):
361
367
 
362
368
 
363
369
  @dataclass
364
- class AsyncContextPrompt(Generic[P, DepsT, FormattableT]):
370
+ class AsyncContextPrompt(
371
+ BasePrompt[AsyncContextMessageTemplate[P, DepsT]], Generic[P, DepsT, FormattableT]
372
+ ):
365
373
  """An async context-aware prompt that can be called with a model to generate a response.
366
374
 
367
375
  Created by decorating an async `ContextMessageTemplate` with `llm.prompt`. The decorated
@@ -372,9 +380,6 @@ class AsyncContextPrompt(Generic[P, DepsT, FormattableT]):
372
380
  It can be invoked with a model: `await prompt(model, ctx, *args, **kwargs)`.
373
381
  """
374
382
 
375
- fn: AsyncContextMessageTemplate[P, DepsT]
376
- """The underlying async context-aware prompt function that generates message content."""
377
-
378
383
  toolkit: AsyncContextToolkit[DepsT]
379
384
  """The toolkit containing this prompt's async context-aware tools."""
380
385
 
@@ -22,6 +22,7 @@ from docstring_parser import parse
22
22
  from pydantic import BaseModel, Field, create_model
23
23
  from pydantic.fields import FieldInfo
24
24
 
25
+ from ..._utils import copy_function_metadata
25
26
  from ..content import ToolCall
26
27
  from ..types import Jsonable
27
28
  from .protocols import AsyncContextToolFn, AsyncToolFn, ContextToolFn, ToolFn
@@ -159,11 +160,14 @@ class ToolSchema(Generic[ToolFnT]):
159
160
 
160
161
  strict: bool | None
161
162
  """Whether the tool should use strict mode when supported by the model.
162
-
163
- If set to None, will use the provider's default setting (usually as strict as
163
+
164
+ If set to None, will use the provider's default setting (usually as strict as
164
165
  possible).
165
166
  """
166
167
 
168
+ __name__: str
169
+ """The name of the underlying function (preserved for decorator stacking)."""
170
+
167
171
  def __hash__(self) -> int:
168
172
  if not hasattr(self, "_hash"):
169
173
  self._hash = hash(
@@ -200,6 +204,7 @@ class ToolSchema(Generic[ToolFnT]):
200
204
  self.description = description
201
205
  self.parameters = parameters
202
206
  self.strict = strict
207
+ copy_function_metadata(self, fn)
203
208
 
204
209
  @classmethod
205
210
  def from_function(
@@ -738,12 +738,15 @@ class _DependencyCollector:
738
738
  # For Python 3.13+
739
739
  return definition.func # pyright: ignore[reportFunctionMemberAccess] # pragma: no cover
740
740
 
741
+ # Handle objects with .fn but no __qualname__ (e.g., old-style wrappers).
742
+ # With copy_function_metadata() now copying __qualname__ to ToolSchema, Prompt,
743
+ # Call, etc., this branch is no longer reached in normal usage.
741
744
  if (
742
745
  (wrapped_function := getattr(definition, "fn", None)) is not None
743
746
  and not hasattr(definition, "__qualname__")
744
747
  and callable(wrapped_function)
745
748
  ):
746
- return wrapped_function
749
+ return wrapped_function # pragma: no cover
747
750
 
748
751
  return definition
749
752
 
@@ -20,14 +20,17 @@ from ....api._generated.traces.types import (
20
20
  TracesCreateRequestResourceSpansItemResource,
21
21
  TracesCreateRequestResourceSpansItemResourceAttributesItem,
22
22
  TracesCreateRequestResourceSpansItemResourceAttributesItemValue,
23
+ TracesCreateRequestResourceSpansItemResourceAttributesItemValueArrayValue,
23
24
  TracesCreateRequestResourceSpansItemScopeSpansItem,
24
25
  TracesCreateRequestResourceSpansItemScopeSpansItemScope,
25
26
  TracesCreateRequestResourceSpansItemScopeSpansItemSpansItem,
26
27
  TracesCreateRequestResourceSpansItemScopeSpansItemSpansItemAttributesItem,
27
28
  TracesCreateRequestResourceSpansItemScopeSpansItemSpansItemAttributesItemValue,
29
+ TracesCreateRequestResourceSpansItemScopeSpansItemSpansItemAttributesItemValueArrayValue,
28
30
  TracesCreateRequestResourceSpansItemScopeSpansItemSpansItemStatus,
29
31
  )
30
32
  from ....api.client import Mirascope
33
+ from .utils import to_otlp_any_value
31
34
 
32
35
  logger = logging.getLogger(__name__)
33
36
 
@@ -282,17 +285,7 @@ class MirascopeOTLPExporter(SpanExporter):
282
285
  def _convert_attribute_value(
283
286
  self, value: AttributeValue
284
287
  ) -> TracesCreateRequestResourceSpansItemScopeSpansItemSpansItemAttributesItemValue:
285
- """Convert OpenTelemetry AttributeValue to Mirascope API's KeyValueValue.
286
-
287
- This conversion is necessary because the Fern-generated API client
288
- expects KeyValueValue objects, not OpenTelemetry's AttributeValue types.
289
-
290
- Args:
291
- value: An OpenTelemetry AttributeValue (bool, int, float, str, or Sequence)
292
-
293
- Returns:
294
- A KeyValueValue object for the Mirascope API
295
- """
288
+ """Convert OpenTelemetry AttributeValue to Mirascope API's KeyValueValue."""
296
289
  match value:
297
290
  case str():
298
291
  return TracesCreateRequestResourceSpansItemScopeSpansItemSpansItemAttributesItemValue(
@@ -312,49 +305,21 @@ class MirascopeOTLPExporter(SpanExporter):
312
305
  )
313
306
  case _:
314
307
  return TracesCreateRequestResourceSpansItemScopeSpansItemSpansItemAttributesItemValue(
315
- string_value=str(list(value))
308
+ array_value=TracesCreateRequestResourceSpansItemScopeSpansItemSpansItemAttributesItemValueArrayValue(
309
+ values=[to_otlp_any_value(v) for v in value]
310
+ )
316
311
  )
317
312
 
318
313
  def _convert_event_attribute_value(
319
314
  self, value: AttributeValue
320
315
  ) -> dict[str, object]:
321
- """Convert OpenTelemetry AttributeValue to OTLP event attribute value format.
322
-
323
- This uses the OTLP JSON format with typed value wrappers (e.g., stringValue, intValue).
324
-
325
- Args:
326
- value: An OpenTelemetry AttributeValue (bool, int, float, str, or Sequence)
327
-
328
- Returns:
329
- A dict with the typed value (e.g., {"stringValue": "..."})
330
- """
331
- match value:
332
- case str():
333
- return {"stringValue": value}
334
- case bool():
335
- return {"boolValue": value}
336
- case int():
337
- return {"intValue": str(value)}
338
- case float():
339
- return {"doubleValue": value}
340
- case _:
341
- # Sequences - convert to string representation
342
- return {"stringValue": str(list(value))}
316
+ """Convert OpenTelemetry AttributeValue to OTLP event attribute value format."""
317
+ return to_otlp_any_value(value)
343
318
 
344
319
  def _convert_resource_attribute_value(
345
320
  self, value: AttributeValue
346
321
  ) -> TracesCreateRequestResourceSpansItemResourceAttributesItemValue:
347
- """Convert OpenTelemetry AttributeValue to Mirascope API's resource KeyValueValue.
348
-
349
- This conversion is necessary because the Fern-generated API client
350
- expects KeyValueValue objects, not OpenTelemetry's AttributeValue types.
351
-
352
- Args:
353
- value: An OpenTelemetry AttributeValue (bool, int, float, str, or Sequence)
354
-
355
- Returns:
356
- A KeyValueValue object for the Mirascope API resource attributes
357
- """
322
+ """Convert OpenTelemetry AttributeValue to Mirascope API's resource KeyValueValue."""
358
323
  match value:
359
324
  case str():
360
325
  return TracesCreateRequestResourceSpansItemResourceAttributesItemValue(
@@ -374,7 +339,9 @@ class MirascopeOTLPExporter(SpanExporter):
374
339
  )
375
340
  case _:
376
341
  return TracesCreateRequestResourceSpansItemResourceAttributesItemValue(
377
- string_value=str(list(value))
342
+ array_value=TracesCreateRequestResourceSpansItemResourceAttributesItemValueArrayValue(
343
+ values=[to_otlp_any_value(v) for v in value]
344
+ )
378
345
  )
379
346
 
380
347
  def shutdown(self) -> None:
@@ -0,0 +1,66 @@
1
+ """Utility functions for OpenTelemetry exporters.
2
+
3
+ This module provides helper functions for formatting and converting
4
+ OpenTelemetry data types for export.
5
+ """
6
+
7
+ from __future__ import annotations
8
+
9
+ from collections.abc import Mapping, Sequence
10
+
11
+ from opentelemetry.util.types import AttributeValue
12
+
13
+
14
+ def to_otlp_any_value(value: AttributeValue) -> dict[str, object]:
15
+ """Convert AttributeValue to OTLP AnyValue (dict form).
16
+
17
+ - string/bool/int/float are converted to stringValue/boolValue/intValue/doubleValue
18
+ - Sequence (excluding str/bytes/Mapping) is converted to arrayValue.values
19
+ - Unsupported types fallback to stringValue=str(value)
20
+
21
+ Args:
22
+ value: An OpenTelemetry AttributeValue (bool, int, float, str, or Sequence)
23
+
24
+ Returns:
25
+ A dict representing OTLP AnyValue (e.g., {"stringValue": "..."})
26
+ """
27
+ match value:
28
+ case str():
29
+ return {"stringValue": value}
30
+ case bool():
31
+ return {"boolValue": value}
32
+ case int():
33
+ return {"intValue": str(value)}
34
+ case float():
35
+ return {"doubleValue": value}
36
+ case _ if isinstance(value, bytes | bytearray | memoryview | Mapping):
37
+ return {"stringValue": str(value)}
38
+ case _ if isinstance(value, Sequence):
39
+ values = [to_otlp_any_value(v) for v in value]
40
+ return {"arrayValue": {"values": values}}
41
+ case _:
42
+ return {"stringValue": str(value)}
43
+
44
+
45
+ def format_trace_id(trace_id: int) -> str:
46
+ """Format a trace ID as a 32-character hex string.
47
+
48
+ Args:
49
+ trace_id: The trace ID as an integer.
50
+
51
+ Returns:
52
+ 32-character hexadecimal string representation of the trace ID.
53
+ """
54
+ return format(trace_id, "032x")
55
+
56
+
57
+ def format_span_id(span_id: int) -> str:
58
+ """Format a span ID as a 16-character hex string.
59
+
60
+ Args:
61
+ span_id: The span ID as an integer.
62
+
63
+ Returns:
64
+ 16-character hexadecimal string representation of the span ID.
65
+ """
66
+ return format(span_id, "016x")
@@ -6,6 +6,7 @@ from dataclasses import dataclass, field
6
6
  from typing import Any, Generic, TypeVar
7
7
  from typing_extensions import TypeIs
8
8
 
9
+ from ..._utils import copy_function_metadata
9
10
  from ...llm.calls import AsyncCall, AsyncContextCall, Call, ContextCall
10
11
  from ...llm.context import Context, DepsT
11
12
  from ...llm.formatting import FormattableT
@@ -35,6 +36,7 @@ from .traced_functions import (
35
36
  TracedContextFunction,
36
37
  TracedFunction,
37
38
  )
39
+ from .utils import get_original_fn
38
40
 
39
41
  CallT = TypeVar(
40
42
  "CallT",
@@ -106,6 +108,14 @@ class _BaseTracedCall(Generic[CallT]):
106
108
  metadata: dict[str, str] = field(default_factory=dict)
107
109
  """Arbitrary key-value pairs for additional metadata."""
108
110
 
111
+ __name__: str = field(init=False, repr=False, default="")
112
+ """The name of the underlying function (preserved for decorator stacking)."""
113
+
114
+ def __post_init__(self) -> None:
115
+ """Preserve standard function attributes for decorator stacking."""
116
+ original_fn = get_original_fn(self._call.prompt.fn)
117
+ copy_function_metadata(self, original_fn)
118
+
109
119
 
110
120
  @dataclass(kw_only=True)
111
121
  class TracedCall(_BaseTracedCall[Call[P, FormattableT]]):
@@ -153,6 +163,7 @@ class TracedCall(_BaseTracedCall[Call[P, FormattableT]]):
153
163
 
154
164
  def __post_init__(self) -> None:
155
165
  """Initialize TracedFunction wrappers for call and stream methods."""
166
+ super().__post_init__()
156
167
  self.call = TracedFunction(
157
168
  fn=self._call.call, tags=self.tags, metadata=self.metadata
158
169
  )
@@ -213,6 +224,7 @@ class TracedAsyncCall(_BaseTracedCall[AsyncCall[P, FormattableT]]):
213
224
 
214
225
  def __post_init__(self) -> None:
215
226
  """Initialize AsyncTracedFunction wrappers for call and stream methods."""
227
+ super().__post_init__()
216
228
  self.call = AsyncTracedFunction(
217
229
  fn=self._call.call, tags=self.tags, metadata=self.metadata
218
230
  )
@@ -276,6 +288,7 @@ class TracedContextCall(_BaseTracedCall[ContextCall[P, DepsT, FormattableT]]):
276
288
 
277
289
  def __post_init__(self) -> None:
278
290
  """Initialize TracedContextFunction wrappers for call and stream methods."""
291
+ super().__post_init__()
279
292
  self.call = TracedContextFunction(
280
293
  fn=self._call.call, tags=self.tags, metadata=self.metadata
281
294
  )
@@ -344,6 +357,7 @@ class TracedAsyncContextCall(_BaseTracedCall[AsyncContextCall[P, DepsT, Formatta
344
357
 
345
358
  def __post_init__(self) -> None:
346
359
  """Initialize AsyncTracedContextFunction wrappers for call and stream methods."""
360
+ super().__post_init__()
347
361
  self.call = AsyncTracedContextFunction(
348
362
  fn=self._call.call, tags=self.tags, metadata=self.metadata
349
363
  )