mirascope 2.0.0a1__tar.gz → 2.0.0a3__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 (1145) hide show
  1. mirascope-2.0.0a3/.coveragerc +49 -0
  2. mirascope-2.0.0a3/.gitignore +179 -0
  3. mirascope-2.0.0a3/PKG-INFO +202 -0
  4. mirascope-2.0.0a3/README.md +104 -0
  5. mirascope-2.0.0a3/examples/intro/context/decorator.py +40 -0
  6. mirascope-2.0.0a3/examples/intro/context/model.py +41 -0
  7. mirascope-2.0.0a3/examples/intro/decorator/async.py +17 -0
  8. mirascope-2.0.0a3/examples/intro/decorator/async_stream.py +18 -0
  9. mirascope-2.0.0a3/examples/intro/decorator/stream.py +15 -0
  10. mirascope-2.0.0a3/examples/intro/decorator/sync.py +14 -0
  11. mirascope-2.0.0a3/examples/intro/format/decorator.py +22 -0
  12. mirascope-2.0.0a3/examples/intro/format/model.py +26 -0
  13. mirascope-2.0.0a3/examples/intro/local_model/decorator.py +21 -0
  14. mirascope-2.0.0a3/examples/intro/local_model/model.py +18 -0
  15. mirascope-2.0.0a3/examples/intro/mlx/decorator.py +14 -0
  16. mirascope-2.0.0a3/examples/intro/mlx/model.py +11 -0
  17. mirascope-2.0.0a3/examples/intro/model/async.py +18 -0
  18. mirascope-2.0.0a3/examples/intro/model/async_stream.py +19 -0
  19. mirascope-2.0.0a3/examples/intro/model/stream.py +16 -0
  20. mirascope-2.0.0a3/examples/intro/model/sync.py +15 -0
  21. mirascope-2.0.0a3/examples/intro/override/decorator.py +16 -0
  22. mirascope-2.0.0a3/examples/intro/override/model.py +18 -0
  23. mirascope-2.0.0a3/examples/intro/parameters/decorator.py +17 -0
  24. mirascope-2.0.0a3/examples/intro/parameters/model.py +18 -0
  25. mirascope-2.0.0a3/examples/intro/register_provider/decorator.py +25 -0
  26. mirascope-2.0.0a3/examples/intro/register_provider/model.py +22 -0
  27. mirascope-2.0.0a3/examples/intro/resume/decorator.py +17 -0
  28. mirascope-2.0.0a3/examples/intro/resume/model.py +18 -0
  29. mirascope-2.0.0a3/examples/intro/system_messages/decorator.py +18 -0
  30. mirascope-2.0.0a3/examples/intro/system_messages/model.py +20 -0
  31. mirascope-2.0.0a3/examples/intro/tool_call/decorator.py +35 -0
  32. mirascope-2.0.0a3/examples/intro/tool_call/model.py +36 -0
  33. mirascope-2.0.0a3/examples/misc/anthropic_redacted_thinking.py +18 -0
  34. mirascope-2.0.0a3/examples/misc/openai_responses_reasoning.py +20 -0
  35. mirascope-2.0.0a3/examples/misc/opentelemetry_call_trace.py +84 -0
  36. mirascope-2.0.0a3/examples/misc/opentelemetry_genai.py +30 -0
  37. mirascope-2.0.0a3/examples/sazed/sazed.py +26 -0
  38. mirascope-2.0.0a3/examples/sazed/sazed_async.py +29 -0
  39. mirascope-2.0.0a3/examples/sazed/sazed_async_context.py +37 -0
  40. mirascope-2.0.0a3/examples/sazed/sazed_async_context_structured.py +49 -0
  41. mirascope-2.0.0a3/examples/sazed/sazed_async_stream.py +30 -0
  42. mirascope-2.0.0a3/examples/sazed/sazed_async_stream_context.py +40 -0
  43. mirascope-2.0.0a3/examples/sazed/sazed_async_stream_context_structured.py +49 -0
  44. mirascope-2.0.0a3/examples/sazed/sazed_async_stream_structured.py +39 -0
  45. mirascope-2.0.0a3/examples/sazed/sazed_async_stream_tools.py +50 -0
  46. mirascope-2.0.0a3/examples/sazed/sazed_async_stream_tools_context.py +62 -0
  47. mirascope-2.0.0a3/examples/sazed/sazed_async_stream_tools_context_structured.py +71 -0
  48. mirascope-2.0.0a3/examples/sazed/sazed_async_stream_tools_structured.py +59 -0
  49. mirascope-2.0.0a3/examples/sazed/sazed_async_structured.py +39 -0
  50. mirascope-2.0.0a3/examples/sazed/sazed_async_tools.py +39 -0
  51. mirascope-2.0.0a3/examples/sazed/sazed_async_tools_context.py +49 -0
  52. mirascope-2.0.0a3/examples/sazed/sazed_async_tools_context_structured.py +61 -0
  53. mirascope-2.0.0a3/examples/sazed/sazed_async_tools_structured.py +49 -0
  54. mirascope-2.0.0a3/examples/sazed/sazed_context.py +35 -0
  55. mirascope-2.0.0a3/examples/sazed/sazed_context_structured.py +45 -0
  56. mirascope-2.0.0a3/examples/sazed/sazed_stream.py +27 -0
  57. mirascope-2.0.0a3/examples/sazed/sazed_stream_context.py +36 -0
  58. mirascope-2.0.0a3/examples/sazed/sazed_stream_context_structured.py +47 -0
  59. mirascope-2.0.0a3/examples/sazed/sazed_stream_structured.py +36 -0
  60. mirascope-2.0.0a3/examples/sazed/sazed_stream_tools.py +47 -0
  61. mirascope-2.0.0a3/examples/sazed/sazed_stream_tools_context.py +58 -0
  62. mirascope-2.0.0a3/examples/sazed/sazed_stream_tools_context_structured.py +69 -0
  63. mirascope-2.0.0a3/examples/sazed/sazed_stream_tools_structured.py +56 -0
  64. mirascope-2.0.0a3/examples/sazed/sazed_structured.py +36 -0
  65. mirascope-2.0.0a3/examples/sazed/sazed_tools.py +36 -0
  66. mirascope-2.0.0a3/examples/sazed/sazed_tools_context.py +47 -0
  67. mirascope-2.0.0a3/examples/sazed/sazed_tools_context_structured.py +57 -0
  68. mirascope-2.0.0a3/examples/sazed/sazed_tools_structured.py +46 -0
  69. mirascope-2.0.0a3/lint-staged.ts +39 -0
  70. mirascope-2.0.0a3/mirascope/__init__.py +5 -0
  71. mirascope-2.0.0a3/mirascope/api/__init__.py +6 -0
  72. mirascope-2.0.0a3/mirascope/api/_generated/README.md +207 -0
  73. mirascope-2.0.0a3/mirascope/api/_generated/__init__.py +85 -0
  74. mirascope-2.0.0a3/mirascope/api/_generated/client.py +155 -0
  75. mirascope-2.0.0a3/mirascope/api/_generated/core/__init__.py +52 -0
  76. mirascope-2.0.0a3/mirascope/api/_generated/core/api_error.py +23 -0
  77. mirascope-2.0.0a3/mirascope/api/_generated/core/client_wrapper.py +58 -0
  78. mirascope-2.0.0a3/mirascope/api/_generated/core/datetime_utils.py +30 -0
  79. mirascope-2.0.0a3/mirascope/api/_generated/core/file.py +70 -0
  80. mirascope-2.0.0a3/mirascope/api/_generated/core/force_multipart.py +16 -0
  81. mirascope-2.0.0a3/mirascope/api/_generated/core/http_client.py +619 -0
  82. mirascope-2.0.0a3/mirascope/api/_generated/core/http_response.py +55 -0
  83. mirascope-2.0.0a3/mirascope/api/_generated/core/jsonable_encoder.py +102 -0
  84. mirascope-2.0.0a3/mirascope/api/_generated/core/pydantic_utilities.py +310 -0
  85. mirascope-2.0.0a3/mirascope/api/_generated/core/query_encoder.py +60 -0
  86. mirascope-2.0.0a3/mirascope/api/_generated/core/remove_none_from_dict.py +11 -0
  87. mirascope-2.0.0a3/mirascope/api/_generated/core/request_options.py +35 -0
  88. mirascope-2.0.0a3/mirascope/api/_generated/core/serialization.py +282 -0
  89. mirascope-2.0.0a3/mirascope/api/_generated/docs/__init__.py +4 -0
  90. mirascope-2.0.0a3/mirascope/api/_generated/docs/client.py +95 -0
  91. mirascope-2.0.0a3/mirascope/api/_generated/docs/raw_client.py +132 -0
  92. mirascope-2.0.0a3/mirascope/api/_generated/environment.py +9 -0
  93. mirascope-2.0.0a3/mirascope/api/_generated/errors/__init__.py +7 -0
  94. mirascope-2.0.0a3/mirascope/api/_generated/errors/bad_request_error.py +15 -0
  95. mirascope-2.0.0a3/mirascope/api/_generated/health/__init__.py +7 -0
  96. mirascope-2.0.0a3/mirascope/api/_generated/health/client.py +96 -0
  97. mirascope-2.0.0a3/mirascope/api/_generated/health/raw_client.py +129 -0
  98. mirascope-2.0.0a3/mirascope/api/_generated/health/types/__init__.py +8 -0
  99. mirascope-2.0.0a3/mirascope/api/_generated/health/types/health_check_response.py +24 -0
  100. mirascope-2.0.0a3/mirascope/api/_generated/health/types/health_check_response_status.py +5 -0
  101. mirascope-2.0.0a3/mirascope/api/_generated/reference.md +167 -0
  102. mirascope-2.0.0a3/mirascope/api/_generated/traces/__init__.py +55 -0
  103. mirascope-2.0.0a3/mirascope/api/_generated/traces/client.py +162 -0
  104. mirascope-2.0.0a3/mirascope/api/_generated/traces/raw_client.py +168 -0
  105. mirascope-2.0.0a3/mirascope/api/_generated/traces/types/__init__.py +95 -0
  106. mirascope-2.0.0a3/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item.py +36 -0
  107. mirascope-2.0.0a3/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource.py +31 -0
  108. mirascope-2.0.0a3/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item.py +25 -0
  109. mirascope-2.0.0a3/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value.py +54 -0
  110. mirascope-2.0.0a3/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value_array_value.py +23 -0
  111. mirascope-2.0.0a3/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value_kvlist_value.py +28 -0
  112. mirascope-2.0.0a3/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value_kvlist_value_values_item.py +24 -0
  113. mirascope-2.0.0a3/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item.py +35 -0
  114. mirascope-2.0.0a3/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope.py +35 -0
  115. mirascope-2.0.0a3/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item.py +27 -0
  116. mirascope-2.0.0a3/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value.py +54 -0
  117. mirascope-2.0.0a3/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_array_value.py +23 -0
  118. mirascope-2.0.0a3/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_kvlist_value.py +28 -0
  119. mirascope-2.0.0a3/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_kvlist_value_values_item.py +24 -0
  120. mirascope-2.0.0a3/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item.py +60 -0
  121. mirascope-2.0.0a3/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item.py +29 -0
  122. mirascope-2.0.0a3/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value.py +54 -0
  123. mirascope-2.0.0a3/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_array_value.py +23 -0
  124. mirascope-2.0.0a3/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_kvlist_value.py +28 -0
  125. mirascope-2.0.0a3/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_kvlist_value_values_item.py +24 -0
  126. mirascope-2.0.0a3/mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_status.py +24 -0
  127. mirascope-2.0.0a3/mirascope/api/_generated/traces/types/traces_create_response.py +27 -0
  128. mirascope-2.0.0a3/mirascope/api/_generated/traces/types/traces_create_response_partial_success.py +28 -0
  129. mirascope-2.0.0a3/mirascope/api/_generated/types/__init__.py +21 -0
  130. mirascope-2.0.0a3/mirascope/api/_generated/types/http_api_decode_error.py +31 -0
  131. mirascope-2.0.0a3/mirascope/api/_generated/types/http_api_decode_error_tag.py +5 -0
  132. mirascope-2.0.0a3/mirascope/api/_generated/types/issue.py +44 -0
  133. mirascope-2.0.0a3/mirascope/api/_generated/types/issue_tag.py +17 -0
  134. mirascope-2.0.0a3/mirascope/api/_generated/types/property_key.py +7 -0
  135. mirascope-2.0.0a3/mirascope/api/_generated/types/property_key_tag.py +29 -0
  136. mirascope-2.0.0a3/mirascope/api/_generated/types/property_key_tag_tag.py +5 -0
  137. mirascope-2.0.0a3/mirascope/api/client.py +255 -0
  138. mirascope-2.0.0a3/mirascope/api/settings.py +81 -0
  139. mirascope-2.0.0a3/mirascope/llm/__init__.py +246 -0
  140. mirascope-2.0.0a3/mirascope/llm/calls/calls.py +339 -0
  141. mirascope-2.0.0a3/mirascope/llm/calls/decorator.py +261 -0
  142. mirascope-2.0.0a3/mirascope/llm/content/__init__.py +71 -0
  143. mirascope-2.0.0a3/mirascope/llm/context/_utils.py +41 -0
  144. mirascope-2.0.0a3/mirascope/llm/exceptions.py +119 -0
  145. mirascope-2.0.0a3/mirascope/llm/formatting/_utils.py +78 -0
  146. mirascope-2.0.0a3/mirascope/llm/formatting/format.py +104 -0
  147. mirascope-2.0.0a3/mirascope/llm/formatting/from_call_args.py +30 -0
  148. mirascope-2.0.0a3/mirascope/llm/messages/message.py +190 -0
  149. mirascope-2.0.0a3/mirascope/llm/models/__init__.py +16 -0
  150. mirascope-2.0.0a3/mirascope/llm/models/models.py +1351 -0
  151. mirascope-2.0.0a3/mirascope/llm/prompts/__init__.py +34 -0
  152. mirascope-2.0.0a3/mirascope/llm/prompts/_utils.py +63 -0
  153. mirascope-2.0.0a3/mirascope/llm/prompts/decorator.py +215 -0
  154. mirascope-2.0.0a3/mirascope/llm/prompts/prompts.py +424 -0
  155. mirascope-2.0.0a3/mirascope/llm/prompts/protocols.py +65 -0
  156. mirascope-2.0.0a3/mirascope/llm/providers/__init__.py +38 -0
  157. mirascope-2.0.0a3/mirascope/llm/providers/_missing_import_stubs.py +49 -0
  158. mirascope-2.0.0a3/mirascope/llm/providers/anthropic/__init__.py +24 -0
  159. mirascope-2.0.0a3/mirascope/llm/providers/anthropic/_utils/decode.py +245 -0
  160. mirascope-2.0.0a3/mirascope/llm/providers/anthropic/_utils/encode.py +264 -0
  161. mirascope-2.0.0a3/mirascope/llm/providers/anthropic/model_id.py +40 -0
  162. mirascope-2.0.0a3/mirascope/llm/providers/anthropic/provider.py +434 -0
  163. mirascope-2.0.0a3/mirascope/llm/providers/base/__init__.py +15 -0
  164. mirascope-2.0.0a3/mirascope/llm/providers/base/_utils.py +195 -0
  165. mirascope-2.0.0a3/mirascope/llm/providers/base/base_provider.py +1385 -0
  166. mirascope-2.0.0a3/mirascope/llm/providers/google/__init__.py +21 -0
  167. mirascope-2.0.0a3/mirascope/llm/providers/google/_utils/decode.py +233 -0
  168. mirascope-2.0.0a3/mirascope/llm/providers/google/_utils/encode.py +285 -0
  169. mirascope-2.0.0a3/mirascope/llm/providers/google/model_id.py +28 -0
  170. mirascope-2.0.0a3/mirascope/llm/providers/google/provider.py +438 -0
  171. mirascope-2.0.0a3/mirascope/llm/providers/load_provider.py +48 -0
  172. mirascope-2.0.0a3/mirascope/llm/providers/mlx/__init__.py +24 -0
  173. mirascope-2.0.0a3/mirascope/llm/providers/mlx/_utils.py +107 -0
  174. mirascope-2.0.0a3/mirascope/llm/providers/mlx/encoding/__init__.py +8 -0
  175. mirascope-2.0.0a3/mirascope/llm/providers/mlx/encoding/base.py +69 -0
  176. mirascope-2.0.0a3/mirascope/llm/providers/mlx/encoding/transformers.py +131 -0
  177. mirascope-2.0.0a3/mirascope/llm/providers/mlx/mlx.py +237 -0
  178. mirascope-2.0.0a3/mirascope/llm/providers/mlx/model_id.py +17 -0
  179. mirascope-2.0.0a3/mirascope/llm/providers/mlx/provider.py +411 -0
  180. mirascope-2.0.0a3/mirascope/llm/providers/model_id.py +16 -0
  181. mirascope-2.0.0a3/mirascope/llm/providers/openai/__init__.py +6 -0
  182. mirascope-2.0.0a3/mirascope/llm/providers/openai/completions/__init__.py +20 -0
  183. mirascope-2.0.0a3/mirascope/llm/providers/openai/completions/_utils/__init__.py +15 -0
  184. mirascope-2.0.0a3/mirascope/llm/providers/openai/completions/_utils/decode.py +189 -0
  185. mirascope-2.0.0a3/mirascope/llm/providers/openai/completions/_utils/encode.py +368 -0
  186. mirascope-2.0.0a3/mirascope/llm/providers/openai/completions/provider.py +456 -0
  187. mirascope-2.0.0a3/mirascope/llm/providers/openai/model_id.py +31 -0
  188. mirascope-2.0.0a3/mirascope/llm/providers/openai/model_info.py +246 -0
  189. mirascope-2.0.0a3/mirascope/llm/providers/openai/provider.py +386 -0
  190. mirascope-2.0.0a3/mirascope/llm/providers/openai/responses/__init__.py +21 -0
  191. mirascope-2.0.0a3/mirascope/llm/providers/openai/responses/_utils/decode.py +196 -0
  192. mirascope-2.0.0a3/mirascope/llm/providers/openai/responses/_utils/encode.py +344 -0
  193. mirascope-2.0.0a3/mirascope/llm/providers/openai/responses/provider.py +470 -0
  194. mirascope-2.0.0a3/mirascope/llm/providers/openai/shared/_utils.py +59 -0
  195. mirascope-2.0.0a3/mirascope/llm/providers/provider_id.py +13 -0
  196. mirascope-2.0.0a3/mirascope/llm/providers/provider_registry.py +167 -0
  197. mirascope-2.0.0a3/mirascope/llm/responses/base_response.py +96 -0
  198. mirascope-2.0.0a3/mirascope/llm/responses/base_stream_response.py +702 -0
  199. mirascope-2.0.0a3/mirascope/llm/responses/response.py +356 -0
  200. mirascope-2.0.0a3/mirascope/llm/responses/root_response.py +172 -0
  201. mirascope-2.0.0a3/mirascope/llm/responses/stream_response.py +584 -0
  202. mirascope-2.0.0a3/mirascope/llm/tools/__init__.py +47 -0
  203. mirascope-2.0.0a3/mirascope/llm/tools/_utils.py +34 -0
  204. mirascope-2.0.0a3/mirascope/llm/tools/decorator.py +175 -0
  205. mirascope-2.0.0a3/mirascope/llm/tools/protocols.py +96 -0
  206. mirascope-2.0.0a3/mirascope/llm/tools/tool_schema.py +281 -0
  207. mirascope-2.0.0a3/mirascope/llm/tools/tools.py +170 -0
  208. mirascope-2.0.0a3/mirascope/ops/__init__.py +156 -0
  209. mirascope-2.0.0a3/mirascope/ops/_internal/__init__.py +5 -0
  210. mirascope-2.0.0a3/mirascope/ops/_internal/closure.py +1118 -0
  211. mirascope-2.0.0a3/mirascope/ops/_internal/configuration.py +126 -0
  212. mirascope-2.0.0a3/mirascope/ops/_internal/context.py +76 -0
  213. mirascope-2.0.0a3/mirascope/ops/_internal/exporters/__init__.py +26 -0
  214. mirascope-2.0.0a3/mirascope/ops/_internal/exporters/exporters.py +342 -0
  215. mirascope-2.0.0a3/mirascope/ops/_internal/exporters/processors.py +104 -0
  216. mirascope-2.0.0a3/mirascope/ops/_internal/exporters/types.py +165 -0
  217. mirascope-2.0.0a3/mirascope/ops/_internal/exporters/utils.py +29 -0
  218. mirascope-2.0.0a3/mirascope/ops/_internal/instrumentation/__init__.py +8 -0
  219. mirascope-2.0.0a3/mirascope/ops/_internal/instrumentation/llm/__init__.py +8 -0
  220. mirascope-2.0.0a3/mirascope/ops/_internal/instrumentation/llm/encode.py +238 -0
  221. mirascope-2.0.0a3/mirascope/ops/_internal/instrumentation/llm/gen_ai_types/__init__.py +38 -0
  222. mirascope-2.0.0a3/mirascope/ops/_internal/instrumentation/llm/gen_ai_types/gen_ai_input_messages.py +31 -0
  223. mirascope-2.0.0a3/mirascope/ops/_internal/instrumentation/llm/gen_ai_types/gen_ai_output_messages.py +38 -0
  224. mirascope-2.0.0a3/mirascope/ops/_internal/instrumentation/llm/gen_ai_types/gen_ai_system_instructions.py +18 -0
  225. mirascope-2.0.0a3/mirascope/ops/_internal/instrumentation/llm/gen_ai_types/shared.py +100 -0
  226. mirascope-2.0.0a3/mirascope/ops/_internal/instrumentation/llm/llm.py +1288 -0
  227. mirascope-2.0.0a3/mirascope/ops/_internal/propagation.py +198 -0
  228. mirascope-2.0.0a3/mirascope/ops/_internal/protocols.py +51 -0
  229. mirascope-2.0.0a3/mirascope/ops/_internal/session.py +139 -0
  230. mirascope-2.0.0a3/mirascope/ops/_internal/spans.py +232 -0
  231. mirascope-2.0.0a3/mirascope/ops/_internal/traced_calls.py +371 -0
  232. mirascope-2.0.0a3/mirascope/ops/_internal/traced_functions.py +394 -0
  233. mirascope-2.0.0a3/mirascope/ops/_internal/tracing.py +276 -0
  234. mirascope-2.0.0a3/mirascope/ops/_internal/types.py +13 -0
  235. mirascope-2.0.0a3/mirascope/ops/_internal/utils.py +75 -0
  236. mirascope-2.0.0a3/mirascope/ops/_internal/versioned_calls.py +512 -0
  237. mirascope-2.0.0a3/mirascope/ops/_internal/versioned_functions.py +346 -0
  238. mirascope-2.0.0a3/mirascope/ops/_internal/versioning.py +303 -0
  239. mirascope-2.0.0a3/mirascope/ops/exceptions.py +21 -0
  240. mirascope-2.0.0a3/pyproject.toml +250 -0
  241. mirascope-2.0.0a3/schemas/gen-ai/gen-ai-input-messages.json +383 -0
  242. mirascope-2.0.0a3/schemas/gen-ai/gen-ai-output-messages.json +409 -0
  243. mirascope-2.0.0a3/schemas/gen-ai/gen-ai-system-instructions.json +329 -0
  244. mirascope-2.0.0a3/scripts/__init__.py +1 -0
  245. mirascope-2.0.0a3/scripts/example_generator.ts +334 -0
  246. mirascope-2.0.0a3/scripts/model_features/__init__.py +38 -0
  247. mirascope-2.0.0a3/scripts/model_features/codegen_openai.py +180 -0
  248. mirascope-2.0.0a3/scripts/model_features/core/__init__.py +22 -0
  249. mirascope-2.0.0a3/scripts/model_features/core/models.py +131 -0
  250. mirascope-2.0.0a3/scripts/model_features/core/registry.py +187 -0
  251. mirascope-2.0.0a3/scripts/model_features/core/runner.py +349 -0
  252. mirascope-2.0.0a3/scripts/model_features/core/testing.py +72 -0
  253. mirascope-2.0.0a3/scripts/model_features/data/openai.yaml +3229 -0
  254. mirascope-2.0.0a3/scripts/model_features/test_openai.py +539 -0
  255. mirascope-2.0.0a3/tests/api/test_client.py +187 -0
  256. mirascope-2.0.0a3/tests/api/test_settings.py +53 -0
  257. mirascope-2.0.0a3/tests/conftest.py +22 -0
  258. mirascope-2.0.0a3/tests/e2e/conftest.py +175 -0
  259. mirascope-2.0.0a3/tests/e2e/input/README.md +60 -0
  260. mirascope-2.0.0a3/tests/e2e/input/cassettes/test_call_non_openai_models_through_openai/anthropic_claude_sonnet_4_5.yaml +87 -0
  261. mirascope-2.0.0a3/tests/e2e/input/cassettes/test_call_with_audio/mlx_community_Qwen3_0_6B_4bit_DWQ_053125.yaml +120 -0
  262. mirascope-2.0.0a3/tests/e2e/input/cassettes/test_call_with_audio/mlx_mlx_community_Qwen3_0_6B_4bit_DWQ_053125.yaml +120 -0
  263. mirascope-2.0.0a3/tests/e2e/input/cassettes/test_call_with_empty_string/anthropic_claude_sonnet_4_0.yaml +78 -0
  264. mirascope-2.0.0a3/tests/e2e/input/cassettes/test_call_with_empty_string/google_gemini_2_5_flash.yaml +94 -0
  265. mirascope-2.0.0a3/tests/e2e/input/cassettes/test_call_with_empty_string/mlx_mlx_community_Qwen3_0_6B_4bit_DWQ_053125.yaml +120 -0
  266. mirascope-2.0.0a3/tests/e2e/input/cassettes/test_call_with_empty_string/openai_gpt_4o_completions.yaml +110 -0
  267. mirascope-2.0.0a3/tests/e2e/input/cassettes/test_call_with_empty_string/openai_gpt_4o_responses.yaml +110 -0
  268. mirascope-2.0.0a3/tests/e2e/input/cassettes/test_call_with_two_empty_string/google_gemini_2_5_flash.yaml +65 -0
  269. mirascope-2.0.0a3/tests/e2e/input/cassettes/test_call_with_two_empty_string/openai_gpt_4o_completions.yaml +104 -0
  270. mirascope-2.0.0a3/tests/e2e/input/cassettes/test_call_with_two_empty_string/openai_gpt_4o_responses.yaml +104 -0
  271. mirascope-2.0.0a3/tests/e2e/input/cassettes/test_openai_completions_provider/openai_gpt_4o_mini.yaml +110 -0
  272. mirascope-2.0.0a3/tests/e2e/input/cassettes/test_openai_completions_provider/openai_gpt_4o_mini_completions.yaml +104 -0
  273. mirascope-2.0.0a3/tests/e2e/input/cassettes/test_openai_responses_provider/openai_gpt_4o_mini.yaml +110 -0
  274. mirascope-2.0.0a3/tests/e2e/input/cassettes/test_openai_responses_provider/openai_gpt_4o_mini_responses.yaml +104 -0
  275. mirascope-2.0.0a3/tests/e2e/input/cassettes/test_resume_with_override/mlx_community_Qwen3_0_6B_4bit_DWQ_053125.yaml +60 -0
  276. mirascope-2.0.0a3/tests/e2e/input/cassettes/test_resume_with_override/mlx_mlx_community_Qwen3_0_6B_4bit_DWQ_053125.yaml +60 -0
  277. mirascope-2.0.0a3/tests/e2e/input/cassettes/test_resume_with_override/openai_gpt_4o_completions.yaml +171 -0
  278. mirascope-2.0.0a3/tests/e2e/input/cassettes/test_resume_with_override/openai_gpt_4o_responses.yaml +170 -0
  279. mirascope-2.0.0a3/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/mlx_community_Qwen3_0_6B_4bit_DWQ_053125.yaml +78 -0
  280. mirascope-2.0.0a3/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/mlx_mlx_community_Qwen3_0_6B_4bit_DWQ_053125.yaml +265 -0
  281. mirascope-2.0.0a3/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/openai_gpt_4o_completions.yaml +180 -0
  282. mirascope-2.0.0a3/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/openai_gpt_4o_responses.yaml +181 -0
  283. mirascope-2.0.0a3/tests/e2e/input/conftest.py +115 -0
  284. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_non_openai_models_through_openai/anthropic_claude_sonnet_4_5_snapshots.py +31 -0
  285. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_audio/anthropic_claude_sonnet_4_0_snapshots.py +13 -0
  286. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_audio/google_gemini_2_5_flash_snapshots.py +60 -0
  287. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_audio/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  288. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_audio/openai_gpt_4o_completions_snapshots.py +13 -0
  289. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_audio/openai_gpt_4o_responses_snapshots.py +13 -0
  290. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_audio/openai_gpt_audio_snapshots.py +48 -0
  291. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_empty_array/anthropic_claude_sonnet_4_0_snapshots.py +10 -0
  292. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_empty_array/google_gemini_2_5_flash_snapshots.py +10 -0
  293. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_empty_array/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  294. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_empty_array/openai_gpt_4o_completions_snapshots.py +10 -0
  295. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_empty_array/openai_gpt_4o_responses_snapshots.py +10 -0
  296. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_empty_string/anthropic_claude_sonnet_4_0_snapshots.py +13 -0
  297. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_empty_string/google_gemini_2_5_flash_snapshots.py +323 -0
  298. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_empty_string/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +53 -0
  299. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_empty_string/openai_gpt_4o_completions_snapshots.py +39 -0
  300. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_empty_string/openai_gpt_4o_responses_snapshots.py +50 -0
  301. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_image_content/anthropic_claude_sonnet_4_0_snapshots.py +57 -0
  302. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_image_content/google_gemini_2_5_flash_snapshots.py +64 -0
  303. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_image_content/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  304. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_image_content/openai_gpt_4o_completions_snapshots.py +52 -0
  305. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_image_content/openai_gpt_4o_responses_snapshots.py +63 -0
  306. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_image_url/anthropic_claude_sonnet_4_0_snapshots.py +56 -0
  307. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_image_url/google_gemini_2_5_flash_snapshots.py +13 -0
  308. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_image_url/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  309. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_image_url/openai_gpt_4o_completions_snapshots.py +51 -0
  310. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_image_url/openai_gpt_4o_responses_snapshots.py +62 -0
  311. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_params/anthropic_claude_sonnet_4_0_snapshots.py +52 -0
  312. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_params/google_gemini_2_5_flash_snapshots.py +74 -0
  313. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_params/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +70 -0
  314. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_params/openai_gpt_4o_completions_snapshots.py +50 -0
  315. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_params/openai_gpt_4o_responses_snapshots.py +63 -0
  316. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  317. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_two_empty_string/anthropic_claude_sonnet_4_0_snapshots.py +13 -0
  318. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_two_empty_string/google_gemini_2_5_flash_snapshots.py +81 -0
  319. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_two_empty_string/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  320. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_two_empty_string/openai_gpt_4o_completions_snapshots.py +35 -0
  321. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_two_empty_string/openai_gpt_4o_responses_snapshots.py +50 -0
  322. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_openai_completions_provider/openai_gpt_4o_mini_completions_snapshots.py +35 -0
  323. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_openai_completions_provider/openai_gpt_4o_mini_responses_snapshots.py +13 -0
  324. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_openai_completions_provider/openai_gpt_4o_mini_snapshots.py +35 -0
  325. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_openai_responses_provider/openai_gpt_4o_mini_completions_snapshots.py +13 -0
  326. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_openai_responses_provider/openai_gpt_4o_mini_responses_snapshots.py +46 -0
  327. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_openai_responses_provider/openai_gpt_4o_mini_snapshots.py +46 -0
  328. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_resume_with_override/anthropic_claude_sonnet_4_0_snapshots.py +70 -0
  329. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_resume_with_override/google_gemini_2_5_flash_snapshots.py +76 -0
  330. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_resume_with_override/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +69 -0
  331. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_resume_with_override/openai_gpt_4o_completions_snapshots.py +65 -0
  332. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_resume_with_override/openai_gpt_4o_responses_snapshots.py +74 -0
  333. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/anthropic_claude_sonnet_4_0_snapshots.py +141 -0
  334. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/google_gemini_2_5_flash_snapshots.py +115 -0
  335. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  336. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/openai_gpt_4o_completions_snapshots.py +128 -0
  337. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/openai_gpt_4o_responses_snapshots.py +139 -0
  338. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/anthropic_claude_sonnet_4_0_snapshots.py +79 -0
  339. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/google_gemini_2_5_flash_snapshots.py +81 -0
  340. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/anthropic_claude_sonnet_4_0_snapshots.py +86 -0
  341. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/google_gemini_2_5_flash_snapshots.py +93 -0
  342. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  343. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/openai_gpt_4o_completions_snapshots.py +81 -0
  344. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/openai_gpt_4o_responses_snapshots.py +92 -0
  345. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  346. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/openai_gpt_4o_completions_snapshots.py +69 -0
  347. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/openai_gpt_4o_responses_snapshots.py +80 -0
  348. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/anthropic_claude_sonnet_4_0_snapshots.py +14 -0
  349. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/google_gemini_2_5_flash_snapshots.py +81 -0
  350. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  351. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/openai_gpt_4o_completions_snapshots.py +69 -0
  352. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/openai_gpt_4o_responses_snapshots.py +80 -0
  353. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/anthropic_claude_sonnet_4_0_snapshots.py +79 -0
  354. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/google_gemini_2_5_flash_snapshots.py +89 -0
  355. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +10 -0
  356. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/openai_gpt_4o_completions_snapshots.py +78 -0
  357. mirascope-2.0.0a3/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/openai_gpt_4o_responses_snapshots.py +74 -0
  358. mirascope-2.0.0a3/tests/e2e/input/test_call_with_audio.py +39 -0
  359. mirascope-2.0.0a3/tests/e2e/input/test_call_with_image.py +59 -0
  360. mirascope-2.0.0a3/tests/e2e/input/test_call_with_params.py +52 -0
  361. mirascope-2.0.0a3/tests/e2e/input/test_call_with_text_encoded_thoughts.py +88 -0
  362. mirascope-2.0.0a3/tests/e2e/input/test_empty_call.py +64 -0
  363. mirascope-2.0.0a3/tests/e2e/input/test_provider_overriding.py +92 -0
  364. mirascope-2.0.0a3/tests/e2e/input/test_resume_with_override.py +41 -0
  365. mirascope-2.0.0a3/tests/e2e/input/test_resume_with_override_thinking_and_tools.py +56 -0
  366. mirascope-2.0.0a3/tests/e2e/input/test_structured_output_with_formatting_instructions.py +58 -0
  367. mirascope-2.0.0a3/tests/e2e/mlx_lm_cassette.py +327 -0
  368. mirascope-2.0.0a3/tests/e2e/output/README.md +86 -0
  369. mirascope-2.0.0a3/tests/e2e/output/cassettes/test_call/mlx_mlx_community_Qwen3_0_6B_4bit_DWQ_053125/sync.yaml +120 -0
  370. mirascope-2.0.0a3/tests/e2e/output/conftest.py +161 -0
  371. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_call/anthropic_claude_sonnet_4_0_snapshots.py +122 -0
  372. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_call/google_gemini_2_5_flash_snapshots.py +248 -0
  373. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_call/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +206 -0
  374. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_call/openai_gpt_4o_completions_snapshots.py +106 -0
  375. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_call/openai_gpt_4o_responses_snapshots.py +158 -0
  376. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_call_with_thinking_true/anthropic_claude_sonnet_4_0_snapshots.py +714 -0
  377. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_call_with_thinking_true/google_gemini_2_5_flash_snapshots.py +793 -0
  378. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_call_with_thinking_true/openai_gpt_5_responses_snapshots.py +693 -0
  379. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_call_with_tools/anthropic_claude_sonnet_4_0_snapshots.py +525 -0
  380. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_call_with_tools/google_gemini_2_5_flash_snapshots.py +623 -0
  381. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_call_with_tools/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +34 -0
  382. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_call_with_tools/openai_gpt_4o_completions_snapshots.py +433 -0
  383. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_call_with_tools/openai_gpt_4o_responses_snapshots.py +525 -0
  384. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_max_tokens/anthropic_claude_sonnet_4_0_snapshots.py +245 -0
  385. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_max_tokens/google_gemini_2_5_flash_snapshots.py +185 -0
  386. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_max_tokens/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +127 -0
  387. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_max_tokens/openai_gpt_4o_completions_snapshots.py +195 -0
  388. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_max_tokens/openai_gpt_4o_responses_snapshots.py +220 -0
  389. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_refusal/anthropic_claude_sonnet_4_0_snapshots.py +328 -0
  390. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_refusal/google_gemini_2_5_flash_snapshots.py +286 -0
  391. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_refusal/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +34 -0
  392. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_refusal/openai_gpt_4o_completions_snapshots.py +193 -0
  393. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_refusal/openai_gpt_4o_responses_snapshots.py +231 -0
  394. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output/anthropic_claude_sonnet_4_0_snapshots.py +355 -0
  395. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output/google_gemini_2_5_flash_snapshots.py +374 -0
  396. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output/json/anthropic_claude_sonnet_4_0_snapshots.py +777 -0
  397. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output/json/google_gemini_2_5_flash_snapshots.py +827 -0
  398. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output/json/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +34 -0
  399. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output/json/openai_gpt_4o_completions_snapshots.py +725 -0
  400. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output/json/openai_gpt_4o_responses_snapshots.py +795 -0
  401. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +34 -0
  402. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output/openai_gpt_4o_completions_snapshots.py +278 -0
  403. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output/openai_gpt_4o_responses_snapshots.py +330 -0
  404. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output/strict/anthropic_claude_sonnet_4_0_snapshots.py +50 -0
  405. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output/strict/google_gemini_2_5_flash_snapshots.py +392 -0
  406. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output/strict/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +34 -0
  407. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output/strict/openai_gpt_4o_completions_snapshots.py +278 -0
  408. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output/strict/openai_gpt_4o_responses_snapshots.py +330 -0
  409. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output/tool/anthropic_claude_sonnet_4_0_snapshots.py +355 -0
  410. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output/tool/google_gemini_2_5_flash_snapshots.py +395 -0
  411. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output/tool/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +34 -0
  412. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output/tool/openai_gpt_4o_completions_snapshots.py +313 -0
  413. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output/tool/openai_gpt_4o_responses_snapshots.py +323 -0
  414. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output_with_tools/anthropic_claude_sonnet_4_0_snapshots.py +509 -0
  415. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output_with_tools/google_gemini_2_5_flash_snapshots.py +589 -0
  416. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_0_snapshots.py +813 -0
  417. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output_with_tools/json/google_gemini_2_5_flash_snapshots.py +46 -0
  418. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output_with_tools/json/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +34 -0
  419. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output_with_tools/json/openai_gpt_4o_completions_snapshots.py +704 -0
  420. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output_with_tools/json/openai_gpt_4o_responses_snapshots.py +801 -0
  421. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output_with_tools/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +34 -0
  422. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output_with_tools/openai_gpt_4o_completions_snapshots.py +422 -0
  423. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output_with_tools/openai_gpt_4o_responses_snapshots.py +484 -0
  424. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/anthropic_claude_sonnet_4_0_snapshots.py +50 -0
  425. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/google_gemini_2_5_flash_snapshots.py +46 -0
  426. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +34 -0
  427. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/openai_gpt_4o_completions_snapshots.py +422 -0
  428. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/openai_gpt_4o_responses_snapshots.py +518 -0
  429. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_0_snapshots.py +509 -0
  430. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/google_gemini_2_5_flash_snapshots.py +589 -0
  431. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +34 -0
  432. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/openai_gpt_4o_completions_snapshots.py +461 -0
  433. mirascope-2.0.0a3/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/openai_gpt_4o_responses_snapshots.py +481 -0
  434. mirascope-2.0.0a3/tests/e2e/output/test_call.py +171 -0
  435. mirascope-2.0.0a3/tests/e2e/output/test_call_with_thinking_true.py +108 -0
  436. mirascope-2.0.0a3/tests/e2e/output/test_call_with_tools.py +379 -0
  437. mirascope-2.0.0a3/tests/e2e/output/test_max_tokens.py +76 -0
  438. mirascope-2.0.0a3/tests/e2e/output/test_prompt.py +179 -0
  439. mirascope-2.0.0a3/tests/e2e/output/test_refusal.py +98 -0
  440. mirascope-2.0.0a3/tests/e2e/output/test_structured_output.py +310 -0
  441. mirascope-2.0.0a3/tests/e2e/output/test_structured_output_with_tools.py +418 -0
  442. mirascope-2.0.0a3/tests/llm/calls/test_call_decorator.py +53 -0
  443. mirascope-2.0.0a3/tests/llm/content/test_audio_content.py +273 -0
  444. mirascope-2.0.0a3/tests/llm/content/test_image_content.py +298 -0
  445. mirascope-2.0.0a3/tests/llm/context/test_context_utils.py +110 -0
  446. mirascope-2.0.0a3/tests/llm/messages/test_messages.py +167 -0
  447. mirascope-2.0.0a3/tests/llm/models/test_model.py +131 -0
  448. mirascope-2.0.0a3/tests/llm/prompts/test_prompt_decorator.py +57 -0
  449. mirascope-2.0.0a3/tests/llm/providers/base/test_params.py +55 -0
  450. mirascope-2.0.0a3/tests/llm/providers/base/test_utils.py +160 -0
  451. mirascope-2.0.0a3/tests/llm/providers/google/test_google_provider.py +23 -0
  452. mirascope-2.0.0a3/tests/llm/providers/mlx/conftest.py +14 -0
  453. mirascope-2.0.0a3/tests/llm/providers/mlx/encoding/test_transformers.py +24 -0
  454. mirascope-2.0.0a3/tests/llm/providers/mlx/test_client.py +11 -0
  455. mirascope-2.0.0a3/tests/llm/providers/mlx/test_mlx.py +86 -0
  456. mirascope-2.0.0a3/tests/llm/providers/mlx/test_utils.py +70 -0
  457. mirascope-2.0.0a3/tests/llm/providers/openai/test_completions_encoding.py +115 -0
  458. mirascope-2.0.0a3/tests/llm/providers/openai/test_openai_provider.py +59 -0
  459. mirascope-2.0.0a3/tests/llm/providers/openai/test_responses_encoding.py +66 -0
  460. mirascope-2.0.0a3/tests/llm/providers/test_provider_registry.py +149 -0
  461. mirascope-2.0.0a3/tests/llm/providers/test_providers.py +53 -0
  462. mirascope-2.0.0a3/tests/llm/responses/test_response.py +791 -0
  463. mirascope-2.0.0a3/tests/llm/responses/test_stream_response.py +1813 -0
  464. mirascope-2.0.0a3/tests/llm/responses/test_utils.py +195 -0
  465. mirascope-2.0.0a3/tests/llm/tools/test_decorator.py +415 -0
  466. mirascope-2.0.0a3/tests/llm/tools/test_tool_schema.py +418 -0
  467. mirascope-2.0.0a3/tests/llm/tools/test_toolkit.py +192 -0
  468. mirascope-2.0.0a3/tests/ops/_internal/__init__.py +1 -0
  469. mirascope-2.0.0a3/tests/ops/_internal/closure_test_functions/__init__.py +101 -0
  470. mirascope-2.0.0a3/tests/ops/_internal/closure_test_functions/fakepkg/__init__.py +4 -0
  471. mirascope-2.0.0a3/tests/ops/_internal/closure_test_functions/main.py +470 -0
  472. mirascope-2.0.0a3/tests/ops/_internal/closure_test_functions/other.py +111 -0
  473. mirascope-2.0.0a3/tests/ops/_internal/exporters/__init__.py +1 -0
  474. mirascope-2.0.0a3/tests/ops/_internal/exporters/conftest.py +98 -0
  475. mirascope-2.0.0a3/tests/ops/_internal/exporters/test_exporters.py +484 -0
  476. mirascope-2.0.0a3/tests/ops/_internal/exporters/test_processors.py +210 -0
  477. mirascope-2.0.0a3/tests/ops/_internal/exporters/utils.py +133 -0
  478. mirascope-2.0.0a3/tests/ops/_internal/test_closure.py +1382 -0
  479. mirascope-2.0.0a3/tests/ops/cassettes/test_model_call_async_exports_genai_span.yaml +111 -0
  480. mirascope-2.0.0a3/tests/ops/cassettes/test_model_call_async_records_untracked_params_event.yaml +105 -0
  481. mirascope-2.0.0a3/tests/ops/cassettes/test_model_call_exports_genai_span.yaml +110 -0
  482. mirascope-2.0.0a3/tests/ops/cassettes/test_model_call_records_response_id.yaml +110 -0
  483. mirascope-2.0.0a3/tests/ops/cassettes/test_model_call_records_untracked_params_event.yaml +105 -0
  484. mirascope-2.0.0a3/tests/ops/cassettes/test_model_call_with_audio_content.yaml +66 -0
  485. mirascope-2.0.0a3/tests/ops/cassettes/test_model_call_with_base64_image.yaml +110 -0
  486. mirascope-2.0.0a3/tests/ops/cassettes/test_model_call_with_format_tool_mode.yaml +79 -0
  487. mirascope-2.0.0a3/tests/ops/cassettes/test_model_call_with_image.yaml +107 -0
  488. mirascope-2.0.0a3/tests/ops/cassettes/test_model_call_with_json_format.yaml +107 -0
  489. mirascope-2.0.0a3/tests/ops/cassettes/test_model_call_with_max_tokens_limit.yaml +87 -0
  490. mirascope-2.0.0a3/tests/ops/cassettes/test_model_call_with_message_name.yaml +109 -0
  491. mirascope-2.0.0a3/tests/ops/cassettes/test_model_call_with_none_parameters.yaml +104 -0
  492. mirascope-2.0.0a3/tests/ops/cassettes/test_model_call_with_parameters.yaml +103 -0
  493. mirascope-2.0.0a3/tests/ops/cassettes/test_model_call_with_reasoning_model.yaml +125 -0
  494. mirascope-2.0.0a3/tests/ops/cassettes/test_model_call_with_stop_string.yaml +110 -0
  495. mirascope-2.0.0a3/tests/ops/cassettes/test_model_call_with_tool_outputs.yaml +219 -0
  496. mirascope-2.0.0a3/tests/ops/cassettes/test_model_call_with_tools.yaml +108 -0
  497. mirascope-2.0.0a3/tests/ops/cassettes/test_model_call_with_tracer_set_to_none.yaml +106 -0
  498. mirascope-2.0.0a3/tests/ops/cassettes/test_model_call_without_instrumentation.yaml +108 -0
  499. mirascope-2.0.0a3/tests/ops/cassettes/test_model_context_call_async_exports_genai_span.yaml +109 -0
  500. mirascope-2.0.0a3/tests/ops/cassettes/test_model_context_call_exports_genai_span.yaml +111 -0
  501. mirascope-2.0.0a3/tests/ops/cassettes/test_model_context_stream_async_exports_genai_span.yaml +148 -0
  502. mirascope-2.0.0a3/tests/ops/cassettes/test_model_context_stream_exports_genai_span.yaml +148 -0
  503. mirascope-2.0.0a3/tests/ops/cassettes/test_model_stream_exports_genai_span.yaml +180 -0
  504. mirascope-2.0.0a3/tests/ops/cassettes/test_model_stream_records_response_id.yaml +176 -0
  505. mirascope-2.0.0a3/tests/ops/cassettes/test_model_stream_records_untracked_params_event.yaml +176 -0
  506. mirascope-2.0.0a3/tests/ops/cassettes/test_model_stream_with_json_format.yaml +282 -0
  507. mirascope-2.0.0a3/tests/ops/cassettes/test_model_stream_with_none_parameters.yaml +171 -0
  508. mirascope-2.0.0a3/tests/ops/cassettes/test_model_stream_with_tools.yaml +193 -0
  509. mirascope-2.0.0a3/tests/ops/cassettes/test_model_stream_with_tracer_set_to_none.yaml +176 -0
  510. mirascope-2.0.0a3/tests/ops/cassettes/test_model_stream_without_instrumentation.yaml +176 -0
  511. mirascope-2.0.0a3/tests/ops/cassettes/test_traced_async_call.yaml +113 -0
  512. mirascope-2.0.0a3/tests/ops/cassettes/test_traced_async_call_call_method.yaml +114 -0
  513. mirascope-2.0.0a3/tests/ops/cassettes/test_traced_async_call_stream_method.yaml +595 -0
  514. mirascope-2.0.0a3/tests/ops/cassettes/test_traced_async_call_wrapped_method.yaml +113 -0
  515. mirascope-2.0.0a3/tests/ops/cassettes/test_traced_async_context_call.yaml +114 -0
  516. mirascope-2.0.0a3/tests/ops/cassettes/test_traced_async_context_call_call_method.yaml +109 -0
  517. mirascope-2.0.0a3/tests/ops/cassettes/test_traced_async_context_call_stream_method.yaml +273 -0
  518. mirascope-2.0.0a3/tests/ops/cassettes/test_traced_async_context_call_with_tags.yaml +114 -0
  519. mirascope-2.0.0a3/tests/ops/cassettes/test_traced_async_context_call_wrapped_call_method.yaml +114 -0
  520. mirascope-2.0.0a3/tests/ops/cassettes/test_traced_async_context_call_wrapped_returns_trace.yaml +108 -0
  521. mirascope-2.0.0a3/tests/ops/cassettes/test_traced_call_call_method.yaml +111 -0
  522. mirascope-2.0.0a3/tests/ops/cassettes/test_traced_call_stream_method.yaml +242 -0
  523. mirascope-2.0.0a3/tests/ops/cassettes/test_traced_call_sync.yaml +114 -0
  524. mirascope-2.0.0a3/tests/ops/cassettes/test_traced_call_with_tags.yaml +108 -0
  525. mirascope-2.0.0a3/tests/ops/cassettes/test_traced_call_wrapped_call_method.yaml +107 -0
  526. mirascope-2.0.0a3/tests/ops/cassettes/test_traced_call_wrapped_method.yaml +108 -0
  527. mirascope-2.0.0a3/tests/ops/cassettes/test_traced_call_wrapped_stream.yaml +712 -0
  528. mirascope-2.0.0a3/tests/ops/cassettes/test_traced_context_call.yaml +114 -0
  529. mirascope-2.0.0a3/tests/ops/cassettes/test_traced_context_call_call_method.yaml +108 -0
  530. mirascope-2.0.0a3/tests/ops/cassettes/test_traced_context_call_stream_method.yaml +614 -0
  531. mirascope-2.0.0a3/tests/ops/cassettes/test_traced_context_call_with_metadata.yaml +114 -0
  532. mirascope-2.0.0a3/tests/ops/cassettes/test_traced_context_call_with_tags.yaml +114 -0
  533. mirascope-2.0.0a3/tests/ops/cassettes/test_traced_context_call_wrapped_call_method.yaml +115 -0
  534. mirascope-2.0.0a3/tests/ops/cassettes/test_traced_context_call_wrapped_returns_trace.yaml +108 -0
  535. mirascope-2.0.0a3/tests/ops/cassettes/test_tracer_context_with_model_call.yaml +110 -0
  536. mirascope-2.0.0a3/tests/ops/cassettes/test_versioned_async_call.yaml +115 -0
  537. mirascope-2.0.0a3/tests/ops/cassettes/test_versioned_async_call_call_method.yaml +107 -0
  538. mirascope-2.0.0a3/tests/ops/cassettes/test_versioned_async_call_stream_method.yaml +619 -0
  539. mirascope-2.0.0a3/tests/ops/cassettes/test_versioned_async_call_wrapped_method.yaml +108 -0
  540. mirascope-2.0.0a3/tests/ops/cassettes/test_versioned_async_call_wrapped_stream_method.yaml +663 -0
  541. mirascope-2.0.0a3/tests/ops/cassettes/test_versioned_async_context_call.yaml +108 -0
  542. mirascope-2.0.0a3/tests/ops/cassettes/test_versioned_async_context_call_call_method.yaml +108 -0
  543. mirascope-2.0.0a3/tests/ops/cassettes/test_versioned_async_context_call_stream_method.yaml +613 -0
  544. mirascope-2.0.0a3/tests/ops/cassettes/test_versioned_async_context_call_wrapped_method.yaml +108 -0
  545. mirascope-2.0.0a3/tests/ops/cassettes/test_versioned_async_context_call_wrapped_stream_method.yaml +637 -0
  546. mirascope-2.0.0a3/tests/ops/cassettes/test_versioned_call_call_method.yaml +108 -0
  547. mirascope-2.0.0a3/tests/ops/cassettes/test_versioned_call_stream_method.yaml +306 -0
  548. mirascope-2.0.0a3/tests/ops/cassettes/test_versioned_call_sync.yaml +114 -0
  549. mirascope-2.0.0a3/tests/ops/cassettes/test_versioned_call_with_tags.yaml +108 -0
  550. mirascope-2.0.0a3/tests/ops/cassettes/test_versioned_call_wrapped_method.yaml +108 -0
  551. mirascope-2.0.0a3/tests/ops/cassettes/test_versioned_call_wrapped_stream.yaml +818 -0
  552. mirascope-2.0.0a3/tests/ops/cassettes/test_versioned_context_call.yaml +109 -0
  553. mirascope-2.0.0a3/tests/ops/cassettes/test_versioned_context_call_call_method.yaml +108 -0
  554. mirascope-2.0.0a3/tests/ops/cassettes/test_versioned_context_call_stream_method.yaml +710 -0
  555. mirascope-2.0.0a3/tests/ops/cassettes/test_versioned_context_call_wrapped_method.yaml +108 -0
  556. mirascope-2.0.0a3/tests/ops/cassettes/test_versioned_context_call_wrapped_stream_method.yaml +376 -0
  557. mirascope-2.0.0a3/tests/ops/conftest.py +130 -0
  558. mirascope-2.0.0a3/tests/ops/test_configuration.py +14 -0
  559. mirascope-2.0.0a3/tests/ops/test_context.py +321 -0
  560. mirascope-2.0.0a3/tests/ops/test_model_call.py +840 -0
  561. mirascope-2.0.0a3/tests/ops/test_model_call_async.py +133 -0
  562. mirascope-2.0.0a3/tests/ops/test_model_context_call.py +62 -0
  563. mirascope-2.0.0a3/tests/ops/test_model_context_call_async.py +63 -0
  564. mirascope-2.0.0a3/tests/ops/test_model_context_stream.py +142 -0
  565. mirascope-2.0.0a3/tests/ops/test_model_context_stream_async.py +218 -0
  566. mirascope-2.0.0a3/tests/ops/test_model_stream.py +432 -0
  567. mirascope-2.0.0a3/tests/ops/test_propagation.py +635 -0
  568. mirascope-2.0.0a3/tests/ops/test_session.py +200 -0
  569. mirascope-2.0.0a3/tests/ops/test_span.py +555 -0
  570. mirascope-2.0.0a3/tests/ops/test_tracing.py +1293 -0
  571. mirascope-2.0.0a3/tests/ops/test_versioning.py +1413 -0
  572. mirascope-2.0.0a3/tests/ops/utils.py +99 -0
  573. mirascope-2.0.0a3/tests/utils.py +185 -0
  574. mirascope-2.0.0a3/typechecking/call.py +138 -0
  575. mirascope-2.0.0a3/typechecking/tool.py +71 -0
  576. mirascope-2.0.0a3/typechecking/utils.py +87 -0
  577. mirascope-2.0.0a3/typings/mlx/__init__.pyi +3 -0
  578. mirascope-2.0.0a3/typings/mlx/core.pyi +12 -0
  579. mirascope-2.0.0a3/typings/mlx/nn.pyi +6 -0
  580. mirascope-2.0.0a3/uv.lock +3025 -0
  581. mirascope-2.0.0a1/.coveragerc +0 -39
  582. mirascope-2.0.0a1/.gitignore +0 -182
  583. mirascope-2.0.0a1/PKG-INFO +0 -126
  584. mirascope-2.0.0a1/README.md +0 -56
  585. mirascope-2.0.0a1/examples/intro/context/decorator.py +0 -40
  586. mirascope-2.0.0a1/examples/intro/context/model.py +0 -41
  587. mirascope-2.0.0a1/examples/intro/decorator/async.py +0 -17
  588. mirascope-2.0.0a1/examples/intro/decorator/async_stream.py +0 -18
  589. mirascope-2.0.0a1/examples/intro/decorator/stream.py +0 -15
  590. mirascope-2.0.0a1/examples/intro/decorator/sync.py +0 -14
  591. mirascope-2.0.0a1/examples/intro/format/decorator.py +0 -22
  592. mirascope-2.0.0a1/examples/intro/format/model.py +0 -26
  593. mirascope-2.0.0a1/examples/intro/model/async.py +0 -18
  594. mirascope-2.0.0a1/examples/intro/model/async_stream.py +0 -19
  595. mirascope-2.0.0a1/examples/intro/model/stream.py +0 -16
  596. mirascope-2.0.0a1/examples/intro/model/sync.py +0 -15
  597. mirascope-2.0.0a1/examples/intro/override/decorator.py +0 -16
  598. mirascope-2.0.0a1/examples/intro/override/model.py +0 -18
  599. mirascope-2.0.0a1/examples/intro/parameters/decorator.py +0 -18
  600. mirascope-2.0.0a1/examples/intro/parameters/model.py +0 -19
  601. mirascope-2.0.0a1/examples/intro/resume/decorator.py +0 -17
  602. mirascope-2.0.0a1/examples/intro/resume/model.py +0 -18
  603. mirascope-2.0.0a1/examples/intro/system_messages/decorator.py +0 -18
  604. mirascope-2.0.0a1/examples/intro/system_messages/model.py +0 -20
  605. mirascope-2.0.0a1/examples/intro/tool_call/decorator.py +0 -36
  606. mirascope-2.0.0a1/examples/intro/tool_call/model.py +0 -36
  607. mirascope-2.0.0a1/examples/misc/anthropic_redacted_thinking.py +0 -18
  608. mirascope-2.0.0a1/examples/misc/openai_responses_reasoning.py +0 -20
  609. mirascope-2.0.0a1/examples/sazed/sazed.py +0 -27
  610. mirascope-2.0.0a1/examples/sazed/sazed_async.py +0 -30
  611. mirascope-2.0.0a1/examples/sazed/sazed_async_context.py +0 -38
  612. mirascope-2.0.0a1/examples/sazed/sazed_async_context_structured.py +0 -50
  613. mirascope-2.0.0a1/examples/sazed/sazed_async_stream.py +0 -31
  614. mirascope-2.0.0a1/examples/sazed/sazed_async_stream_context.py +0 -41
  615. mirascope-2.0.0a1/examples/sazed/sazed_async_stream_context_structured.py +0 -50
  616. mirascope-2.0.0a1/examples/sazed/sazed_async_stream_structured.py +0 -40
  617. mirascope-2.0.0a1/examples/sazed/sazed_async_stream_tools.py +0 -51
  618. mirascope-2.0.0a1/examples/sazed/sazed_async_stream_tools_context.py +0 -63
  619. mirascope-2.0.0a1/examples/sazed/sazed_async_stream_tools_context_structured.py +0 -72
  620. mirascope-2.0.0a1/examples/sazed/sazed_async_stream_tools_structured.py +0 -60
  621. mirascope-2.0.0a1/examples/sazed/sazed_async_structured.py +0 -40
  622. mirascope-2.0.0a1/examples/sazed/sazed_async_tools.py +0 -40
  623. mirascope-2.0.0a1/examples/sazed/sazed_async_tools_context.py +0 -50
  624. mirascope-2.0.0a1/examples/sazed/sazed_async_tools_context_structured.py +0 -62
  625. mirascope-2.0.0a1/examples/sazed/sazed_async_tools_structured.py +0 -50
  626. mirascope-2.0.0a1/examples/sazed/sazed_context.py +0 -36
  627. mirascope-2.0.0a1/examples/sazed/sazed_context_structured.py +0 -46
  628. mirascope-2.0.0a1/examples/sazed/sazed_stream.py +0 -28
  629. mirascope-2.0.0a1/examples/sazed/sazed_stream_context.py +0 -37
  630. mirascope-2.0.0a1/examples/sazed/sazed_stream_context_structured.py +0 -48
  631. mirascope-2.0.0a1/examples/sazed/sazed_stream_structured.py +0 -37
  632. mirascope-2.0.0a1/examples/sazed/sazed_stream_tools.py +0 -48
  633. mirascope-2.0.0a1/examples/sazed/sazed_stream_tools_context.py +0 -59
  634. mirascope-2.0.0a1/examples/sazed/sazed_stream_tools_context_structured.py +0 -70
  635. mirascope-2.0.0a1/examples/sazed/sazed_stream_tools_structured.py +0 -57
  636. mirascope-2.0.0a1/examples/sazed/sazed_structured.py +0 -37
  637. mirascope-2.0.0a1/examples/sazed/sazed_tools.py +0 -37
  638. mirascope-2.0.0a1/examples/sazed/sazed_tools_context.py +0 -48
  639. mirascope-2.0.0a1/examples/sazed/sazed_tools_context_structured.py +0 -58
  640. mirascope-2.0.0a1/examples/sazed/sazed_tools_structured.py +0 -47
  641. mirascope-2.0.0a1/lint-staged.ts +0 -39
  642. mirascope-2.0.0a1/mirascope/__init__.py +0 -5
  643. mirascope-2.0.0a1/mirascope/graphs/__init__.py +0 -22
  644. mirascope-2.0.0a1/mirascope/graphs/finite_state_machine.py +0 -625
  645. mirascope-2.0.0a1/mirascope/llm/__init__.py +0 -216
  646. mirascope-2.0.0a1/mirascope/llm/agents/__init__.py +0 -15
  647. mirascope-2.0.0a1/mirascope/llm/agents/agent.py +0 -97
  648. mirascope-2.0.0a1/mirascope/llm/agents/agent_template.py +0 -45
  649. mirascope-2.0.0a1/mirascope/llm/agents/decorator.py +0 -176
  650. mirascope-2.0.0a1/mirascope/llm/calls/base_call.py +0 -33
  651. mirascope-2.0.0a1/mirascope/llm/calls/calls.py +0 -315
  652. mirascope-2.0.0a1/mirascope/llm/calls/decorator.py +0 -255
  653. mirascope-2.0.0a1/mirascope/llm/clients/__init__.py +0 -34
  654. mirascope-2.0.0a1/mirascope/llm/clients/_missing_import_stubs.py +0 -47
  655. mirascope-2.0.0a1/mirascope/llm/clients/anthropic/__init__.py +0 -25
  656. mirascope-2.0.0a1/mirascope/llm/clients/anthropic/_utils/decode.py +0 -244
  657. mirascope-2.0.0a1/mirascope/llm/clients/anthropic/_utils/encode.py +0 -243
  658. mirascope-2.0.0a1/mirascope/llm/clients/anthropic/clients.py +0 -819
  659. mirascope-2.0.0a1/mirascope/llm/clients/anthropic/model_ids.py +0 -8
  660. mirascope-2.0.0a1/mirascope/llm/clients/base/__init__.py +0 -15
  661. mirascope-2.0.0a1/mirascope/llm/clients/base/_utils.py +0 -192
  662. mirascope-2.0.0a1/mirascope/llm/clients/base/client.py +0 -1256
  663. mirascope-2.0.0a1/mirascope/llm/clients/google/__init__.py +0 -20
  664. mirascope-2.0.0a1/mirascope/llm/clients/google/_utils/decode.py +0 -231
  665. mirascope-2.0.0a1/mirascope/llm/clients/google/_utils/encode.py +0 -279
  666. mirascope-2.0.0a1/mirascope/llm/clients/google/clients.py +0 -853
  667. mirascope-2.0.0a1/mirascope/llm/clients/google/model_ids.py +0 -15
  668. mirascope-2.0.0a1/mirascope/llm/clients/openai/__init__.py +0 -25
  669. mirascope-2.0.0a1/mirascope/llm/clients/openai/completions/__init__.py +0 -28
  670. mirascope-2.0.0a1/mirascope/llm/clients/openai/completions/_utils/decode.py +0 -187
  671. mirascope-2.0.0a1/mirascope/llm/clients/openai/completions/_utils/encode.py +0 -358
  672. mirascope-2.0.0a1/mirascope/llm/clients/openai/completions/_utils/model_features.py +0 -81
  673. mirascope-2.0.0a1/mirascope/llm/clients/openai/completions/clients.py +0 -833
  674. mirascope-2.0.0a1/mirascope/llm/clients/openai/completions/model_ids.py +0 -8
  675. mirascope-2.0.0a1/mirascope/llm/clients/openai/responses/__init__.py +0 -26
  676. mirascope-2.0.0a1/mirascope/llm/clients/openai/responses/_utils/__init__.py +0 -13
  677. mirascope-2.0.0a1/mirascope/llm/clients/openai/responses/_utils/decode.py +0 -194
  678. mirascope-2.0.0a1/mirascope/llm/clients/openai/responses/_utils/encode.py +0 -333
  679. mirascope-2.0.0a1/mirascope/llm/clients/openai/responses/_utils/model_features.py +0 -87
  680. mirascope-2.0.0a1/mirascope/llm/clients/openai/responses/clients.py +0 -832
  681. mirascope-2.0.0a1/mirascope/llm/clients/openai/responses/model_ids.py +0 -8
  682. mirascope-2.0.0a1/mirascope/llm/clients/openai/shared/_utils.py +0 -55
  683. mirascope-2.0.0a1/mirascope/llm/clients/providers.py +0 -175
  684. mirascope-2.0.0a1/mirascope/llm/content/__init__.py +0 -70
  685. mirascope-2.0.0a1/mirascope/llm/context/_utils.py +0 -28
  686. mirascope-2.0.0a1/mirascope/llm/exceptions.py +0 -105
  687. mirascope-2.0.0a1/mirascope/llm/formatting/_utils.py +0 -74
  688. mirascope-2.0.0a1/mirascope/llm/formatting/format.py +0 -104
  689. mirascope-2.0.0a1/mirascope/llm/formatting/from_call_args.py +0 -30
  690. mirascope-2.0.0a1/mirascope/llm/messages/message.py +0 -182
  691. mirascope-2.0.0a1/mirascope/llm/models/__init__.py +0 -16
  692. mirascope-2.0.0a1/mirascope/llm/models/models.py +0 -1243
  693. mirascope-2.0.0a1/mirascope/llm/prompts/__init__.py +0 -33
  694. mirascope-2.0.0a1/mirascope/llm/prompts/_utils.py +0 -60
  695. mirascope-2.0.0a1/mirascope/llm/prompts/decorator.py +0 -286
  696. mirascope-2.0.0a1/mirascope/llm/prompts/protocols.py +0 -99
  697. mirascope-2.0.0a1/mirascope/llm/responses/base_response.py +0 -91
  698. mirascope-2.0.0a1/mirascope/llm/responses/base_stream_response.py +0 -697
  699. mirascope-2.0.0a1/mirascope/llm/responses/response.py +0 -345
  700. mirascope-2.0.0a1/mirascope/llm/responses/root_response.py +0 -177
  701. mirascope-2.0.0a1/mirascope/llm/responses/stream_response.py +0 -572
  702. mirascope-2.0.0a1/mirascope/llm/tools/__init__.py +0 -40
  703. mirascope-2.0.0a1/mirascope/llm/tools/_utils.py +0 -25
  704. mirascope-2.0.0a1/mirascope/llm/tools/decorator.py +0 -175
  705. mirascope-2.0.0a1/mirascope/llm/tools/protocols.py +0 -96
  706. mirascope-2.0.0a1/mirascope/llm/tools/tool_schema.py +0 -246
  707. mirascope-2.0.0a1/mirascope/llm/tools/tools.py +0 -169
  708. mirascope-2.0.0a1/pyproject.toml +0 -164
  709. mirascope-2.0.0a1/scripts/example_generator.ts +0 -334
  710. mirascope-2.0.0a1/scripts/update_openai_completions_model_features.py +0 -233
  711. mirascope-2.0.0a1/scripts/update_openai_responses_model_features.py +0 -224
  712. mirascope-2.0.0a1/tests/conftest.py +0 -22
  713. mirascope-2.0.0a1/tests/e2e/conftest.py +0 -166
  714. mirascope-2.0.0a1/tests/e2e/input/README.md +0 -60
  715. mirascope-2.0.0a1/tests/e2e/input/cassettes/test_resume_with_override/openai_completions_gpt_4o.yaml +0 -213
  716. mirascope-2.0.0a1/tests/e2e/input/cassettes/test_resume_with_override/openai_responses_gpt_4o.yaml +0 -210
  717. mirascope-2.0.0a1/tests/e2e/input/cassettes/test_resume_with_override_context/anthropic_claude_sonnet_4_0.yaml +0 -170
  718. mirascope-2.0.0a1/tests/e2e/input/cassettes/test_resume_with_override_context/google_gemini_2_5_flash.yaml +0 -168
  719. mirascope-2.0.0a1/tests/e2e/input/cassettes/test_resume_with_override_context/openai_completions_gpt_4o.yaml +0 -214
  720. mirascope-2.0.0a1/tests/e2e/input/cassettes/test_resume_with_override_context/openai_responses_gpt_4o.yaml +0 -211
  721. mirascope-2.0.0a1/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/openai_completions_gpt_4o.yaml +0 -231
  722. mirascope-2.0.0a1/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/openai_responses_gpt_4o.yaml +0 -228
  723. mirascope-2.0.0a1/tests/e2e/input/conftest.py +0 -116
  724. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_call_with_audio/anthropic_claude_sonnet_4_0_snapshots.py +0 -13
  725. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_call_with_audio/google_gemini_2_5_flash_snapshots.py +0 -58
  726. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_call_with_audio/openai_completions_gpt_4o_snapshots.py +0 -13
  727. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_call_with_audio/openai_completions_gpt_audio_snapshots.py +0 -46
  728. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_call_with_audio/openai_responses_gpt_4o_snapshots.py +0 -13
  729. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_call_with_image_content/anthropic_claude_sonnet_4_0_snapshots.py +0 -55
  730. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_call_with_image_content/google_gemini_2_5_flash_snapshots.py +0 -62
  731. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_call_with_image_content/openai_completions_gpt_4o_snapshots.py +0 -50
  732. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_call_with_image_content/openai_responses_gpt_4o_snapshots.py +0 -61
  733. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_call_with_image_url/anthropic_claude_sonnet_4_0_snapshots.py +0 -54
  734. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_call_with_image_url/google_gemini_2_5_flash_snapshots.py +0 -13
  735. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_call_with_image_url/openai_completions_gpt_4o_snapshots.py +0 -49
  736. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_call_with_image_url/openai_responses_gpt_4o_snapshots.py +0 -60
  737. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_call_with_params/anthropic_claude_sonnet_4_0_snapshots.py +0 -50
  738. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_call_with_params/google_gemini_2_5_flash_snapshots.py +0 -72
  739. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_call_with_params/openai_completions_gpt_4o_snapshots.py +0 -48
  740. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_call_with_params/openai_responses_gpt_4o_snapshots.py +0 -61
  741. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_resume_with_override/anthropic_claude_sonnet_4_0_snapshots.py +0 -67
  742. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_resume_with_override/google_gemini_2_5_flash_snapshots.py +0 -73
  743. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_resume_with_override/openai_completions_gpt_4o_snapshots.py +0 -51
  744. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_resume_with_override/openai_responses_gpt_4o_snapshots.py +0 -60
  745. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_resume_with_override_context/anthropic_claude_sonnet_4_0_snapshots.py +0 -67
  746. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_resume_with_override_context/google_gemini_2_5_flash_snapshots.py +0 -77
  747. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_resume_with_override_context/openai_completions_gpt_4o_snapshots.py +0 -53
  748. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_resume_with_override_context/openai_responses_gpt_4o_snapshots.py +0 -62
  749. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/anthropic_claude_sonnet_4_0_snapshots.py +0 -138
  750. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/google_gemini_2_5_flash_snapshots.py +0 -112
  751. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/openai_completions_gpt_4o_snapshots.py +0 -106
  752. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/openai_responses_gpt_4o_snapshots.py +0 -111
  753. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/anthropic_claude_sonnet_4_0_snapshots.py +0 -77
  754. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/google_gemini_2_5_flash_snapshots.py +0 -79
  755. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/anthropic_claude_sonnet_4_0_snapshots.py +0 -84
  756. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/google_gemini_2_5_flash_snapshots.py +0 -91
  757. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/openai_completions_gpt_4o_snapshots.py +0 -79
  758. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/openai_responses_gpt_4o_snapshots.py +0 -90
  759. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/openai_completions_gpt_4o_snapshots.py +0 -67
  760. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/openai_responses_gpt_4o_snapshots.py +0 -78
  761. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/anthropic_claude_sonnet_4_0_snapshots.py +0 -14
  762. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/google_gemini_2_5_flash_snapshots.py +0 -79
  763. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/openai_completions_gpt_4o_snapshots.py +0 -67
  764. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/openai_responses_gpt_4o_snapshots.py +0 -78
  765. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/anthropic_claude_sonnet_4_0_snapshots.py +0 -77
  766. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/google_gemini_2_5_flash_snapshots.py +0 -87
  767. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/openai_completions_gpt_4o_snapshots.py +0 -76
  768. mirascope-2.0.0a1/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/openai_responses_gpt_4o_snapshots.py +0 -72
  769. mirascope-2.0.0a1/tests/e2e/input/test_call_with_audio.py +0 -43
  770. mirascope-2.0.0a1/tests/e2e/input/test_call_with_image.py +0 -61
  771. mirascope-2.0.0a1/tests/e2e/input/test_call_with_params.py +0 -53
  772. mirascope-2.0.0a1/tests/e2e/input/test_call_with_text_encoded_thoughts.py +0 -92
  773. mirascope-2.0.0a1/tests/e2e/input/test_resume_with_override.py +0 -74
  774. mirascope-2.0.0a1/tests/e2e/input/test_resume_with_override_thinking_and_tools.py +0 -63
  775. mirascope-2.0.0a1/tests/e2e/input/test_structured_output_with_formatting_instructions.py +0 -59
  776. mirascope-2.0.0a1/tests/e2e/output/README.md +0 -86
  777. mirascope-2.0.0a1/tests/e2e/output/conftest.py +0 -157
  778. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_call/anthropic_claude_sonnet_4_0_snapshots.py +0 -116
  779. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_call/google_gemini_2_5_flash_snapshots.py +0 -242
  780. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_call/openai_completions_gpt_4o_snapshots.py +0 -100
  781. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_call/openai_responses_gpt_4o_snapshots.py +0 -152
  782. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_call_with_thinking_true/anthropic_claude_sonnet_4_0_snapshots.py +0 -704
  783. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_call_with_thinking_true/google_gemini_2_5_flash_snapshots.py +0 -783
  784. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_call_with_thinking_true/openai_responses_gpt_5_snapshots.py +0 -683
  785. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_call_with_tools/anthropic_claude_sonnet_4_0_snapshots.py +0 -515
  786. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_call_with_tools/google_gemini_2_5_flash_snapshots.py +0 -613
  787. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_call_with_tools/openai_completions_gpt_4o_snapshots.py +0 -423
  788. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_call_with_tools/openai_responses_gpt_4o_snapshots.py +0 -515
  789. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_max_tokens/anthropic_claude_sonnet_4_0_snapshots.py +0 -239
  790. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_max_tokens/google_gemini_2_5_flash_snapshots.py +0 -179
  791. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_max_tokens/openai_completions_gpt_4o_snapshots.py +0 -189
  792. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_max_tokens/openai_responses_gpt_4o_snapshots.py +0 -214
  793. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_refusal/anthropic_claude_sonnet_4_0_snapshots.py +0 -322
  794. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_refusal/google_gemini_2_5_flash_snapshots.py +0 -280
  795. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_refusal/openai_completions_gpt_4o_snapshots.py +0 -187
  796. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_refusal/openai_responses_gpt_4o_snapshots.py +0 -225
  797. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_structured_output/anthropic_claude_sonnet_4_0_snapshots.py +0 -349
  798. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_structured_output/google_gemini_2_5_flash_snapshots.py +0 -368
  799. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_structured_output/json/anthropic_claude_sonnet_4_0_snapshots.py +0 -771
  800. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_structured_output/json/google_gemini_2_5_flash_snapshots.py +0 -821
  801. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_structured_output/json/openai_completions_gpt_4o_snapshots.py +0 -719
  802. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_structured_output/json/openai_responses_gpt_4o_snapshots.py +0 -789
  803. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_structured_output/openai_completions_gpt_4o_snapshots.py +0 -272
  804. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_structured_output/openai_responses_gpt_4o_snapshots.py +0 -324
  805. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_structured_output/strict/anthropic_claude_sonnet_4_0_snapshots.py +0 -50
  806. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_structured_output/strict/google_gemini_2_5_flash_snapshots.py +0 -386
  807. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_structured_output/strict/openai_completions_gpt_4o_snapshots.py +0 -272
  808. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_structured_output/strict/openai_responses_gpt_4o_snapshots.py +0 -324
  809. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_structured_output/tool/anthropic_claude_sonnet_4_0_snapshots.py +0 -349
  810. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_structured_output/tool/google_gemini_2_5_flash_snapshots.py +0 -389
  811. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_structured_output/tool/openai_completions_gpt_4o_snapshots.py +0 -307
  812. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_structured_output/tool/openai_responses_gpt_4o_snapshots.py +0 -317
  813. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_structured_output_with_tools/anthropic_claude_sonnet_4_0_snapshots.py +0 -499
  814. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_structured_output_with_tools/google_gemini_2_5_flash_snapshots.py +0 -579
  815. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_0_snapshots.py +0 -803
  816. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_structured_output_with_tools/json/google_gemini_2_5_flash_snapshots.py +0 -46
  817. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_structured_output_with_tools/json/openai_completions_gpt_4o_snapshots.py +0 -694
  818. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_structured_output_with_tools/json/openai_responses_gpt_4o_snapshots.py +0 -791
  819. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_structured_output_with_tools/openai_completions_gpt_4o_snapshots.py +0 -412
  820. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_structured_output_with_tools/openai_responses_gpt_4o_snapshots.py +0 -474
  821. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/anthropic_claude_sonnet_4_0_snapshots.py +0 -50
  822. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/google_gemini_2_5_flash_snapshots.py +0 -46
  823. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/openai_completions_gpt_4o_snapshots.py +0 -412
  824. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/openai_responses_gpt_4o_snapshots.py +0 -508
  825. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_0_snapshots.py +0 -499
  826. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/google_gemini_2_5_flash_snapshots.py +0 -579
  827. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/openai_completions_gpt_4o_snapshots.py +0 -451
  828. mirascope-2.0.0a1/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/openai_responses_gpt_4o_snapshots.py +0 -471
  829. mirascope-2.0.0a1/tests/e2e/output/test_call.py +0 -188
  830. mirascope-2.0.0a1/tests/e2e/output/test_call_with_thinking_true.py +0 -112
  831. mirascope-2.0.0a1/tests/e2e/output/test_call_with_tools.py +0 -393
  832. mirascope-2.0.0a1/tests/e2e/output/test_max_tokens.py +0 -94
  833. mirascope-2.0.0a1/tests/e2e/output/test_refusal.py +0 -118
  834. mirascope-2.0.0a1/tests/e2e/output/test_structured_output.py +0 -326
  835. mirascope-2.0.0a1/tests/e2e/output/test_structured_output_with_tools.py +0 -434
  836. mirascope-2.0.0a1/tests/llm/calls/cassettes/TestCall.test_call_decorator_e2e_model_override.yaml +0 -274
  837. mirascope-2.0.0a1/tests/llm/calls/cassettes/TestContextCall.test_context_call_decorator_e2e_model_override.yaml +0 -273
  838. mirascope-2.0.0a1/tests/llm/calls/test_decorator.py +0 -395
  839. mirascope-2.0.0a1/tests/llm/clients/anthropic/test_client.py +0 -51
  840. mirascope-2.0.0a1/tests/llm/clients/base/test_params.py +0 -55
  841. mirascope-2.0.0a1/tests/llm/clients/base/test_utils.py +0 -150
  842. mirascope-2.0.0a1/tests/llm/clients/google/test_client.py +0 -71
  843. mirascope-2.0.0a1/tests/llm/clients/openai/test_completions_client.py +0 -160
  844. mirascope-2.0.0a1/tests/llm/clients/openai/test_responses_client.py +0 -108
  845. mirascope-2.0.0a1/tests/llm/clients/test_providers.py +0 -53
  846. mirascope-2.0.0a1/tests/llm/content/test_audio_content.py +0 -265
  847. mirascope-2.0.0a1/tests/llm/content/test_image_content.py +0 -290
  848. mirascope-2.0.0a1/tests/llm/messages/test_messages.py +0 -163
  849. mirascope-2.0.0a1/tests/llm/models/test_model.py +0 -46
  850. mirascope-2.0.0a1/tests/llm/prompts/test_decorator.py +0 -285
  851. mirascope-2.0.0a1/tests/llm/responses/test_response.py +0 -765
  852. mirascope-2.0.0a1/tests/llm/responses/test_stream_response.py +0 -1805
  853. mirascope-2.0.0a1/tests/llm/responses/test_utils.py +0 -176
  854. mirascope-2.0.0a1/tests/llm/tools/test_decorator.py +0 -415
  855. mirascope-2.0.0a1/tests/llm/tools/test_tool_schema.py +0 -416
  856. mirascope-2.0.0a1/tests/llm/tools/test_toolkit.py +0 -190
  857. mirascope-2.0.0a1/tests/utils.py +0 -181
  858. mirascope-2.0.0a1/typechecking/agent.py +0 -85
  859. mirascope-2.0.0a1/typechecking/call.py +0 -172
  860. mirascope-2.0.0a1/typechecking/tool.py +0 -71
  861. mirascope-2.0.0a1/typechecking/utils.py +0 -87
  862. mirascope-2.0.0a1/uv.lock +0 -2032
  863. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/.env.example +0 -0
  864. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/LICENSE +0 -0
  865. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/mirascope/llm/calls/__init__.py +0 -0
  866. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/mirascope/llm/content/audio.py +0 -0
  867. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/mirascope/llm/content/document.py +0 -0
  868. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/mirascope/llm/content/image.py +0 -0
  869. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/mirascope/llm/content/text.py +0 -0
  870. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/mirascope/llm/content/thought.py +0 -0
  871. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/mirascope/llm/content/tool_call.py +0 -0
  872. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/mirascope/llm/content/tool_output.py +0 -0
  873. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/mirascope/llm/context/__init__.py +0 -0
  874. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/mirascope/llm/context/context.py +0 -0
  875. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/mirascope/llm/formatting/__init__.py +0 -0
  876. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/mirascope/llm/formatting/partial.py +0 -0
  877. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/mirascope/llm/formatting/types.py +0 -0
  878. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/mirascope/llm/mcp/__init__.py +0 -0
  879. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/mirascope/llm/mcp/client.py +0 -0
  880. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/mirascope/llm/messages/__init__.py +0 -0
  881. {mirascope-2.0.0a1/mirascope/llm/clients → mirascope-2.0.0a3/mirascope/llm/providers}/anthropic/_utils/__init__.py +0 -0
  882. {mirascope-2.0.0a1/mirascope/llm/clients → mirascope-2.0.0a3/mirascope/llm/providers}/base/kwargs.py +0 -0
  883. {mirascope-2.0.0a1/mirascope/llm/clients → mirascope-2.0.0a3/mirascope/llm/providers}/base/params.py +0 -0
  884. {mirascope-2.0.0a1/mirascope/llm/clients → mirascope-2.0.0a3/mirascope/llm/providers}/google/_utils/__init__.py +0 -0
  885. {mirascope-2.0.0a1/mirascope/llm/clients → mirascope-2.0.0a3/mirascope/llm/providers}/google/message.py +0 -0
  886. {mirascope-2.0.0a1/mirascope/llm/clients/openai/completions → mirascope-2.0.0a3/mirascope/llm/providers/openai/responses}/_utils/__init__.py +0 -0
  887. {mirascope-2.0.0a1/mirascope/llm/clients → mirascope-2.0.0a3/mirascope/llm/providers}/openai/shared/__init__.py +0 -0
  888. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/mirascope/llm/responses/__init__.py +0 -0
  889. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/mirascope/llm/responses/_utils.py +0 -0
  890. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/mirascope/llm/responses/finish_reason.py +0 -0
  891. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/mirascope/llm/responses/streams.py +0 -0
  892. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/mirascope/llm/tools/toolkit.py +0 -0
  893. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/mirascope/llm/types/__init__.py +0 -0
  894. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/mirascope/llm/types/dataclass.py +0 -0
  895. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/mirascope/llm/types/jsonable.py +0 -0
  896. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/mirascope/llm/types/type_vars.py +0 -0
  897. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/scripts/regenerate_examples.ts +0 -0
  898. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/README.md +0 -0
  899. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/__init__.py +0 -0
  900. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/assets/audio/tagline.mp3 +0 -0
  901. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/assets/images/wikipedia.png +0 -0
  902. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/input/cassettes/test_call_with_audio/google_gemini_2_5_flash.yaml +0 -0
  903. /mirascope-2.0.0a1/tests/e2e/input/cassettes/test_call_with_audio/openai_completions_gpt_audio.yaml → /mirascope-2.0.0a3/tests/e2e/input/cassettes/test_call_with_audio/openai_gpt_audio.yaml +0 -0
  904. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/input/cassettes/test_call_with_image_content/anthropic_claude_sonnet_4_0.yaml +0 -0
  905. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/input/cassettes/test_call_with_image_content/google_gemini_2_5_flash.yaml +0 -0
  906. /mirascope-2.0.0a1/tests/e2e/input/cassettes/test_call_with_image_content/openai_completions_gpt_4o.yaml → /mirascope-2.0.0a3/tests/e2e/input/cassettes/test_call_with_image_content/openai_gpt_4o_completions.yaml +0 -0
  907. /mirascope-2.0.0a1/tests/e2e/input/cassettes/test_call_with_image_content/openai_responses_gpt_4o.yaml → /mirascope-2.0.0a3/tests/e2e/input/cassettes/test_call_with_image_content/openai_gpt_4o_responses.yaml +0 -0
  908. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/input/cassettes/test_call_with_image_url/anthropic_claude_sonnet_4_0.yaml +0 -0
  909. /mirascope-2.0.0a1/tests/e2e/input/cassettes/test_call_with_image_url/openai_completions_gpt_4o.yaml → /mirascope-2.0.0a3/tests/e2e/input/cassettes/test_call_with_image_url/openai_gpt_4o_completions.yaml +0 -0
  910. /mirascope-2.0.0a1/tests/e2e/input/cassettes/test_call_with_image_url/openai_responses_gpt_4o.yaml → /mirascope-2.0.0a3/tests/e2e/input/cassettes/test_call_with_image_url/openai_gpt_4o_responses.yaml +0 -0
  911. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/input/cassettes/test_call_with_params/anthropic_claude_sonnet_4_0.yaml +0 -0
  912. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/input/cassettes/test_call_with_params/google_gemini_2_5_flash.yaml +0 -0
  913. /mirascope-2.0.0a1/tests/e2e/input/cassettes/test_call_with_params/openai_completions_gpt_4o.yaml → /mirascope-2.0.0a3/tests/e2e/input/cassettes/test_call_with_params/openai_gpt_4o_completions.yaml +0 -0
  914. /mirascope-2.0.0a1/tests/e2e/input/cassettes/test_call_with_params/openai_responses_gpt_4o.yaml → /mirascope-2.0.0a3/tests/e2e/input/cassettes/test_call_with_params/openai_gpt_4o_responses.yaml +0 -0
  915. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/input/cassettes/test_call_with_text_encoded_thoughts/anthropic_claude_sonnet_4_0.yaml +0 -0
  916. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/input/cassettes/test_call_with_text_encoded_thoughts/google_gemini_2_5_flash.yaml +0 -0
  917. /mirascope-2.0.0a1/tests/e2e/input/cassettes/test_call_with_text_encoded_thoughts/openai_completions_gpt_4o.yaml → /mirascope-2.0.0a3/tests/e2e/input/cassettes/test_call_with_text_encoded_thoughts/openai_gpt_4o_completions.yaml +0 -0
  918. /mirascope-2.0.0a1/tests/e2e/input/cassettes/test_call_with_text_encoded_thoughts/openai_responses_gpt_4o.yaml → /mirascope-2.0.0a3/tests/e2e/input/cassettes/test_call_with_text_encoded_thoughts/openai_gpt_4o_responses.yaml +0 -0
  919. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/input/cassettes/test_resume_with_override/anthropic_claude_sonnet_4_0.yaml +0 -0
  920. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/input/cassettes/test_resume_with_override/google_gemini_2_5_flash.yaml +0 -0
  921. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/anthropic_claude_sonnet_4_0.yaml +0 -0
  922. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/google_gemini_2_5_flash.yaml +0 -0
  923. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/anthropic_claude_sonnet_4_0.yaml +0 -0
  924. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/google_gemini_2_5_flash.yaml +0 -0
  925. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/anthropic_claude_sonnet_4_0.yaml +0 -0
  926. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/google_gemini_2_5_flash.yaml +0 -0
  927. /mirascope-2.0.0a1/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/openai_completions_gpt_4o.yaml → /mirascope-2.0.0a3/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/openai_gpt_4o_completions.yaml +0 -0
  928. /mirascope-2.0.0a1/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/openai_responses_gpt_4o.yaml → /mirascope-2.0.0a3/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/openai_gpt_4o_responses.yaml +0 -0
  929. /mirascope-2.0.0a1/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/openai_completions_gpt_4o.yaml → /mirascope-2.0.0a3/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/openai_gpt_4o_completions.yaml +0 -0
  930. /mirascope-2.0.0a1/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/openai_responses_gpt_4o.yaml → /mirascope-2.0.0a3/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/openai_gpt_4o_responses.yaml +0 -0
  931. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/strict/google_gemini_2_5_flash.yaml +0 -0
  932. /mirascope-2.0.0a1/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/strict/openai_completions_gpt_4o.yaml → /mirascope-2.0.0a3/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/strict/openai_gpt_4o_completions.yaml +0 -0
  933. /mirascope-2.0.0a1/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/strict/openai_responses_gpt_4o.yaml → /mirascope-2.0.0a3/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/strict/openai_gpt_4o_responses.yaml +0 -0
  934. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/anthropic_claude_sonnet_4_0.yaml +0 -0
  935. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/google_gemini_2_5_flash.yaml +0 -0
  936. /mirascope-2.0.0a1/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/openai_completions_gpt_4o.yaml → /mirascope-2.0.0a3/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/openai_gpt_4o_completions.yaml +0 -0
  937. /mirascope-2.0.0a1/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/openai_responses_gpt_4o.yaml → /mirascope-2.0.0a3/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/openai_gpt_4o_responses.yaml +0 -0
  938. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
  939. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/google_gemini_2_5_flash_snapshots.py +0 -0
  940. /mirascope-2.0.0a1/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/openai_completions_gpt_4o_snapshots.py → /mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/openai_gpt_4o_completions_snapshots.py +0 -0
  941. /mirascope-2.0.0a1/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/openai_responses_gpt_4o_snapshots.py → /mirascope-2.0.0a3/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/openai_gpt_4o_responses_snapshots.py +0 -0
  942. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_call/anthropic_claude_sonnet_4_0/async.yaml +0 -0
  943. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_call/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -0
  944. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_call/anthropic_claude_sonnet_4_0/stream.yaml +0 -0
  945. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_call/anthropic_claude_sonnet_4_0/sync.yaml +0 -0
  946. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_call/google_gemini_2_5_flash/async.yaml +0 -0
  947. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_call/google_gemini_2_5_flash/async_stream.yaml +0 -0
  948. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_call/google_gemini_2_5_flash/stream.yaml +0 -0
  949. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_call/google_gemini_2_5_flash/sync.yaml +0 -0
  950. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_call/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_call/openai_gpt_4o_completions}/async.yaml +0 -0
  951. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_call/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_call/openai_gpt_4o_completions}/async_stream.yaml +0 -0
  952. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_call/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_call/openai_gpt_4o_completions}/stream.yaml +0 -0
  953. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_call/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_call/openai_gpt_4o_completions}/sync.yaml +0 -0
  954. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_call/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_call/openai_gpt_4o_responses}/async.yaml +0 -0
  955. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_call/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_call/openai_gpt_4o_responses}/async_stream.yaml +0 -0
  956. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_call/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_call/openai_gpt_4o_responses}/stream.yaml +0 -0
  957. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_call/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_call/openai_gpt_4o_responses}/sync.yaml +0 -0
  958. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_call_with_thinking_true/anthropic_claude_sonnet_4_0/async.yaml +0 -0
  959. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_call_with_thinking_true/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -0
  960. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_call_with_thinking_true/anthropic_claude_sonnet_4_0/stream.yaml +0 -0
  961. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_call_with_thinking_true/anthropic_claude_sonnet_4_0/sync.yaml +0 -0
  962. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_call_with_thinking_true/google_gemini_2_5_flash/async.yaml +0 -0
  963. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_call_with_thinking_true/google_gemini_2_5_flash/async_stream.yaml +0 -0
  964. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_call_with_thinking_true/google_gemini_2_5_flash/stream.yaml +0 -0
  965. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_call_with_thinking_true/google_gemini_2_5_flash/sync.yaml +0 -0
  966. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_call_with_thinking_true/openai_responses_gpt_5 → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_call_with_thinking_true/openai_gpt_5_responses}/async.yaml +0 -0
  967. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_call_with_thinking_true/openai_responses_gpt_5 → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_call_with_thinking_true/openai_gpt_5_responses}/async_stream.yaml +0 -0
  968. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_call_with_thinking_true/openai_responses_gpt_5 → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_call_with_thinking_true/openai_gpt_5_responses}/stream.yaml +0 -0
  969. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_call_with_thinking_true/openai_responses_gpt_5 → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_call_with_thinking_true/openai_gpt_5_responses}/sync.yaml +0 -0
  970. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_call_with_tools/anthropic_claude_sonnet_4_0/async.yaml +0 -0
  971. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_call_with_tools/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -0
  972. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_call_with_tools/anthropic_claude_sonnet_4_0/stream.yaml +0 -0
  973. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_call_with_tools/anthropic_claude_sonnet_4_0/sync.yaml +0 -0
  974. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_call_with_tools/google_gemini_2_5_flash/async.yaml +0 -0
  975. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_call_with_tools/google_gemini_2_5_flash/async_stream.yaml +0 -0
  976. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_call_with_tools/google_gemini_2_5_flash/stream.yaml +0 -0
  977. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_call_with_tools/google_gemini_2_5_flash/sync.yaml +0 -0
  978. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_call_with_tools/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_call_with_tools/openai_gpt_4o_completions}/async.yaml +0 -0
  979. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_call_with_tools/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_call_with_tools/openai_gpt_4o_completions}/async_stream.yaml +0 -0
  980. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_call_with_tools/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_call_with_tools/openai_gpt_4o_completions}/stream.yaml +0 -0
  981. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_call_with_tools/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_call_with_tools/openai_gpt_4o_completions}/sync.yaml +0 -0
  982. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_call_with_tools/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_call_with_tools/openai_gpt_4o_responses}/async.yaml +0 -0
  983. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_call_with_tools/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_call_with_tools/openai_gpt_4o_responses}/async_stream.yaml +0 -0
  984. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_call_with_tools/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_call_with_tools/openai_gpt_4o_responses}/stream.yaml +0 -0
  985. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_call_with_tools/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_call_with_tools/openai_gpt_4o_responses}/sync.yaml +0 -0
  986. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_max_tokens/anthropic_claude_sonnet_4_0/async.yaml +0 -0
  987. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_max_tokens/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -0
  988. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_max_tokens/anthropic_claude_sonnet_4_0/stream.yaml +0 -0
  989. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_max_tokens/anthropic_claude_sonnet_4_0/sync.yaml +0 -0
  990. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_max_tokens/google_gemini_2_5_flash/async.yaml +0 -0
  991. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_max_tokens/google_gemini_2_5_flash/async_stream.yaml +0 -0
  992. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_max_tokens/google_gemini_2_5_flash/stream.yaml +0 -0
  993. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_max_tokens/google_gemini_2_5_flash/sync.yaml +0 -0
  994. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_max_tokens/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_max_tokens/openai_gpt_4o_completions}/async.yaml +0 -0
  995. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_max_tokens/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_max_tokens/openai_gpt_4o_completions}/async_stream.yaml +0 -0
  996. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_max_tokens/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_max_tokens/openai_gpt_4o_completions}/stream.yaml +0 -0
  997. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_max_tokens/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_max_tokens/openai_gpt_4o_completions}/sync.yaml +0 -0
  998. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_max_tokens/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_max_tokens/openai_gpt_4o_responses}/async.yaml +0 -0
  999. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_max_tokens/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_max_tokens/openai_gpt_4o_responses}/async_stream.yaml +0 -0
  1000. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_max_tokens/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_max_tokens/openai_gpt_4o_responses}/stream.yaml +0 -0
  1001. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_max_tokens/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_max_tokens/openai_gpt_4o_responses}/sync.yaml +0 -0
  1002. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_refusal/anthropic_claude_sonnet_4_0/async.yaml +0 -0
  1003. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_refusal/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -0
  1004. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_refusal/anthropic_claude_sonnet_4_0/stream.yaml +0 -0
  1005. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_refusal/anthropic_claude_sonnet_4_0/sync.yaml +0 -0
  1006. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_refusal/google_gemini_2_5_flash/async.yaml +0 -0
  1007. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_refusal/google_gemini_2_5_flash/async_stream.yaml +0 -0
  1008. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_refusal/google_gemini_2_5_flash/stream.yaml +0 -0
  1009. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_refusal/google_gemini_2_5_flash/sync.yaml +0 -0
  1010. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_refusal/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_refusal/openai_gpt_4o_completions}/async.yaml +0 -0
  1011. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_refusal/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_refusal/openai_gpt_4o_completions}/async_stream.yaml +0 -0
  1012. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_refusal/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_refusal/openai_gpt_4o_completions}/stream.yaml +0 -0
  1013. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_refusal/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_refusal/openai_gpt_4o_completions}/sync.yaml +0 -0
  1014. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_refusal/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_refusal/openai_gpt_4o_responses}/async.yaml +0 -0
  1015. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_refusal/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_refusal/openai_gpt_4o_responses}/async_stream.yaml +0 -0
  1016. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_refusal/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_refusal/openai_gpt_4o_responses}/stream.yaml +0 -0
  1017. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_refusal/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_refusal/openai_gpt_4o_responses}/sync.yaml +0 -0
  1018. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_0/async.yaml +0 -0
  1019. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -0
  1020. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_0/stream.yaml +0 -0
  1021. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_0/sync.yaml +0 -0
  1022. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/async.yaml +0 -0
  1023. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/async_stream.yaml +0 -0
  1024. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/stream.yaml +0 -0
  1025. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/sync.yaml +0 -0
  1026. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_0/async.yaml +0 -0
  1027. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -0
  1028. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_0/stream.yaml +0 -0
  1029. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_0/sync.yaml +0 -0
  1030. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/async.yaml +0 -0
  1031. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/async_stream.yaml +0 -0
  1032. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/stream.yaml +0 -0
  1033. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/sync.yaml +0 -0
  1034. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output/json/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output/json/openai_gpt_4o_completions}/async.yaml +0 -0
  1035. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output/json/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output/json/openai_gpt_4o_completions}/async_stream.yaml +0 -0
  1036. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output/json/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output/json/openai_gpt_4o_completions}/stream.yaml +0 -0
  1037. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output/json/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output/json/openai_gpt_4o_completions}/sync.yaml +0 -0
  1038. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output/json/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output/json/openai_gpt_4o_responses}/async.yaml +0 -0
  1039. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output/json/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output/json/openai_gpt_4o_responses}/async_stream.yaml +0 -0
  1040. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output/json/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output/json/openai_gpt_4o_responses}/stream.yaml +0 -0
  1041. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output/json/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output/json/openai_gpt_4o_responses}/sync.yaml +0 -0
  1042. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output/openai_gpt_4o_completions}/async.yaml +0 -0
  1043. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output/openai_gpt_4o_completions}/async_stream.yaml +0 -0
  1044. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output/openai_gpt_4o_completions}/stream.yaml +0 -0
  1045. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output/openai_gpt_4o_completions}/sync.yaml +0 -0
  1046. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output/openai_gpt_4o_responses}/async.yaml +0 -0
  1047. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output/openai_gpt_4o_responses}/async_stream.yaml +0 -0
  1048. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output/openai_gpt_4o_responses}/stream.yaml +0 -0
  1049. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output/openai_gpt_4o_responses}/sync.yaml +0 -0
  1050. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/async.yaml +0 -0
  1051. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/async_stream.yaml +0 -0
  1052. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/stream.yaml +0 -0
  1053. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/sync.yaml +0 -0
  1054. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output/strict/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output/strict/openai_gpt_4o_completions}/async.yaml +0 -0
  1055. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output/strict/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output/strict/openai_gpt_4o_completions}/async_stream.yaml +0 -0
  1056. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output/strict/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output/strict/openai_gpt_4o_completions}/stream.yaml +0 -0
  1057. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output/strict/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output/strict/openai_gpt_4o_completions}/sync.yaml +0 -0
  1058. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output/strict/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output/strict/openai_gpt_4o_responses}/async.yaml +0 -0
  1059. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output/strict/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output/strict/openai_gpt_4o_responses}/async_stream.yaml +0 -0
  1060. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output/strict/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output/strict/openai_gpt_4o_responses}/stream.yaml +0 -0
  1061. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output/strict/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output/strict/openai_gpt_4o_responses}/sync.yaml +0 -0
  1062. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_0/async.yaml +0 -0
  1063. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -0
  1064. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_0/stream.yaml +0 -0
  1065. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_0/sync.yaml +0 -0
  1066. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/async.yaml +0 -0
  1067. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/async_stream.yaml +0 -0
  1068. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/stream.yaml +0 -0
  1069. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/sync.yaml +0 -0
  1070. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output/tool/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output/tool/openai_gpt_4o_completions}/async.yaml +0 -0
  1071. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output/tool/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output/tool/openai_gpt_4o_completions}/async_stream.yaml +0 -0
  1072. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output/tool/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output/tool/openai_gpt_4o_completions}/stream.yaml +0 -0
  1073. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output/tool/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output/tool/openai_gpt_4o_completions}/sync.yaml +0 -0
  1074. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output/tool/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output/tool/openai_gpt_4o_responses}/async.yaml +0 -0
  1075. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output/tool/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output/tool/openai_gpt_4o_responses}/async_stream.yaml +0 -0
  1076. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output/tool/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output/tool/openai_gpt_4o_responses}/stream.yaml +0 -0
  1077. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output/tool/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output/tool/openai_gpt_4o_responses}/sync.yaml +0 -0
  1078. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_0/async.yaml +0 -0
  1079. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -0
  1080. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_0/stream.yaml +0 -0
  1081. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_0/sync.yaml +0 -0
  1082. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/async.yaml +0 -0
  1083. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/async_stream.yaml +0 -0
  1084. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/stream.yaml +0 -0
  1085. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/sync.yaml +0 -0
  1086. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_0/async.yaml +0 -0
  1087. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -0
  1088. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_0/stream.yaml +0 -0
  1089. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_0/sync.yaml +0 -0
  1090. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_gpt_4o_completions}/async.yaml +0 -0
  1091. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_gpt_4o_completions}/async_stream.yaml +0 -0
  1092. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_gpt_4o_completions}/stream.yaml +0 -0
  1093. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_gpt_4o_completions}/sync.yaml +0 -0
  1094. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_gpt_4o_responses}/async.yaml +0 -0
  1095. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_gpt_4o_responses}/async_stream.yaml +0 -0
  1096. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_gpt_4o_responses}/stream.yaml +0 -0
  1097. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_gpt_4o_responses}/sync.yaml +0 -0
  1098. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_gpt_4o_completions}/async.yaml +0 -0
  1099. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_gpt_4o_completions}/async_stream.yaml +0 -0
  1100. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_gpt_4o_completions}/stream.yaml +0 -0
  1101. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_gpt_4o_completions}/sync.yaml +0 -0
  1102. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_gpt_4o_responses}/async.yaml +0 -0
  1103. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_gpt_4o_responses}/async_stream.yaml +0 -0
  1104. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_gpt_4o_responses}/stream.yaml +0 -0
  1105. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_gpt_4o_responses}/sync.yaml +0 -0
  1106. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_gpt_4o_completions}/async.yaml +0 -0
  1107. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_gpt_4o_completions}/async_stream.yaml +0 -0
  1108. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_gpt_4o_completions}/stream.yaml +0 -0
  1109. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_gpt_4o_completions}/sync.yaml +0 -0
  1110. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_gpt_4o_responses}/async.yaml +0 -0
  1111. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_gpt_4o_responses}/async_stream.yaml +0 -0
  1112. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_gpt_4o_responses}/stream.yaml +0 -0
  1113. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_gpt_4o_responses}/sync.yaml +0 -0
  1114. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_0/async.yaml +0 -0
  1115. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -0
  1116. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_0/stream.yaml +0 -0
  1117. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_0/sync.yaml +0 -0
  1118. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/async.yaml +0 -0
  1119. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/async_stream.yaml +0 -0
  1120. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/stream.yaml +0 -0
  1121. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/sync.yaml +0 -0
  1122. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_gpt_4o_completions}/async.yaml +0 -0
  1123. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_gpt_4o_completions}/async_stream.yaml +0 -0
  1124. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_gpt_4o_completions}/stream.yaml +0 -0
  1125. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_completions_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_gpt_4o_completions}/sync.yaml +0 -0
  1126. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_gpt_4o_responses}/async.yaml +0 -0
  1127. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_gpt_4o_responses}/async_stream.yaml +0 -0
  1128. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_gpt_4o_responses}/stream.yaml +0 -0
  1129. {mirascope-2.0.0a1/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_responses_gpt_4o → mirascope-2.0.0a3/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_gpt_4o_responses}/sync.yaml +0 -0
  1130. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/llm/__init__.py +0 -0
  1131. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/llm/context/test_context.py +0 -0
  1132. {mirascope-2.0.0a1/tests/llm/clients → mirascope-2.0.0a3/tests/llm/formatting}/__init__.py +0 -0
  1133. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/llm/formatting/test_format.py +0 -0
  1134. {mirascope-2.0.0a1/tests/llm/clients/anthropic → mirascope-2.0.0a3/tests/llm/prompts}/__init__.py +0 -0
  1135. {mirascope-2.0.0a1/tests/llm/clients/base → mirascope-2.0.0a3/tests/llm/providers}/__init__.py +0 -0
  1136. {mirascope-2.0.0a1/tests/llm/clients/google → mirascope-2.0.0a3/tests/llm/providers/base}/__init__.py +0 -0
  1137. {mirascope-2.0.0a1/tests/llm/clients/openai → mirascope-2.0.0a3/tests/llm/providers/google}/__init__.py +0 -0
  1138. {mirascope-2.0.0a1/tests/llm/formatting → mirascope-2.0.0a3/tests/llm/providers/mlx}/__init__.py +0 -0
  1139. {mirascope-2.0.0a1/tests/llm/prompts → mirascope-2.0.0a3/tests/llm/responses}/__init__.py +0 -0
  1140. {mirascope-2.0.0a1/tests/llm/responses → mirascope-2.0.0a3/tests/llm/tools}/__init__.py +0 -0
  1141. {mirascope-2.0.0a1/tests/llm/tools → mirascope-2.0.0a3/tests/ops}/__init__.py +0 -0
  1142. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/tests/test_imports.py +0 -0
  1143. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/typechecking/context.py +0 -0
  1144. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/typechecking/format.py +0 -0
  1145. {mirascope-2.0.0a1 → mirascope-2.0.0a3}/typechecking/streams.py +0 -0
@@ -0,0 +1,49 @@
1
+ [run]
2
+ # Exclude modules from coverage tracking until they have full test coverage
3
+ # Remove items from this list as we add comprehensive tests for each module
4
+ # Goal: When this exclude list is empty, we have 100% coverage across the entire codebase
5
+ omit =
6
+ # LLM modules to exclude (remove as we add full test coverage)
7
+ mirascope/llm/mcp/__init__.py
8
+ mirascope/llm/mcp/client.py
9
+ mirascope/llm/formatting/partial.py
10
+
11
+ # NOTE: MLX modules are excluded because the `mlx` package is macOS-only (Apple Silicon).
12
+ # CI runs on Linux where `mlx` is not available, so these modules cannot be tested there.
13
+ # TODO: Add a macOS CI job to run MLX tests and restore coverage for these modules.
14
+ mirascope/llm/providers/mlx/*
15
+
16
+ # Exclude Fern generated code
17
+ mirascope/api/_generated/*
18
+
19
+ # Exclude other top-level modules for now
20
+ mirascope/graphs/*
21
+
22
+ # Exclude examples, tests, and scripts from coverage
23
+ examples/*
24
+ tests/*
25
+ scripts/*
26
+
27
+ [report]
28
+ # Show lines that weren't covered
29
+ show_missing = True
30
+
31
+ # Fail if coverage is below 100% for tracked files
32
+ fail_under = 100
33
+
34
+ # Exclude patterns from coverage analysis
35
+ exclude_also =
36
+ pragma: no cover
37
+ def __repr__
38
+ if self.debug:
39
+ if settings.DEBUG
40
+ raise AssertionError
41
+ raise NotImplementedError
42
+ if __name__ == .__main__.:
43
+ class .*\bProtocol\):
44
+ @(abc\.)?abstractmethod
45
+ if TYPE_CHECKING:
46
+ @overload
47
+
48
+ [html]
49
+ directory = htmlcov
@@ -0,0 +1,179 @@
1
+ # pyenv
2
+ .python-version
3
+ .python-versions
4
+
5
+ # Claude
6
+ CLAUDE.md
7
+
8
+ # Byte-compiled / optimized / DLL files
9
+ __pycache__/
10
+ *.py[cod]
11
+ *$py.class
12
+
13
+ # Mac
14
+ .DS_Store
15
+
16
+ # C extensions
17
+ *.so
18
+
19
+ # Distribution / packaging
20
+ .Python
21
+ build/
22
+ develop-eggs/
23
+ dist/
24
+ downloads/
25
+ eggs/
26
+ .eggs/
27
+ lib/
28
+ lib64/
29
+ parts/
30
+ sdist/
31
+ var/
32
+ wheels/
33
+ share/python-wheels/
34
+ *.egg-info/
35
+ .installed.cfg
36
+ *.egg
37
+ MANIFEST
38
+
39
+ # PyInstaller
40
+ # Usually these files are written by a python script from a template
41
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
42
+ *.manifest
43
+ *.spec
44
+
45
+ # Installer logs
46
+ pip-log.txt
47
+ pip-delete-this-directory.txt
48
+
49
+ # Unit test / coverage reports
50
+ htmlcov/
51
+ .tox/
52
+ .nox/
53
+ .coverage
54
+ .coverage.*
55
+ .cache
56
+ nosetests.xml
57
+ coverage.xml
58
+ *.cover
59
+ *.py,cover
60
+ .hypothesis/
61
+ .pytest_cache/
62
+ cover/
63
+
64
+ # Translations
65
+ *.mo
66
+ *.pot
67
+
68
+ # Django stuff:
69
+ *.log
70
+ local_settings.py
71
+ db.sqlite3
72
+ db.sqlite3-journal
73
+
74
+ # Flask stuff:
75
+ instance/
76
+ .webassets-cache
77
+
78
+ # Scrapy stuff:
79
+ .scrapy
80
+
81
+ # Sphinx documentation
82
+ docs/_build/
83
+
84
+ # PyBuilder
85
+ .pybuilder/
86
+ target/
87
+
88
+ # Jupyter Notebook
89
+ .ipynb_checkpoints
90
+
91
+ # IPython
92
+ profile_default/
93
+ ipython_config.py
94
+
95
+ # pyenv
96
+ # For a library or package, you might want to ignore these files since the code is
97
+ # intended to run in multiple environments; otherwise, check them in:
98
+ # .python-version
99
+
100
+ # pipenv
101
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
102
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
103
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
104
+ # install all needed dependencies.
105
+ #Pipfile.lock
106
+
107
+ # poetry
108
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
109
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
110
+ # commonly ignored for libraries.
111
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
112
+ #poetry.lock
113
+
114
+ # pdm
115
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
116
+ #pdm.lock
117
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
118
+ # in version control.
119
+ # https://pdm.fming.dev/#use-with-ide
120
+ .pdm.toml
121
+
122
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
123
+ __pypackages__/
124
+
125
+ # Celery stuff
126
+ celerybeat-schedule
127
+ celerybeat.pid
128
+
129
+ # SageMath parsed files
130
+ *.sage.py
131
+
132
+ # Environments
133
+ .env
134
+ .venv
135
+ env/
136
+ venv/
137
+ ENV/
138
+ env.bak/
139
+ venv.bak/
140
+
141
+ # Spyder project settings
142
+ .spyderproject
143
+ .spyproject
144
+
145
+ # Rope project settings
146
+ .ropeproject
147
+
148
+ # mkdocs documentation
149
+ /site
150
+ docs/**/*.html.md
151
+ docs/llms.txt
152
+ build/snippets/
153
+ mkdocs.dev.yml
154
+
155
+ # mypy
156
+ .mypy_cache/
157
+ .dmypy.json
158
+ dmypy.json
159
+
160
+ # Pyre type checker
161
+ .pyre/
162
+
163
+ # pytype static type analyzer
164
+ .pytype/
165
+
166
+ # Cython debug symbols
167
+ cython_debug/
168
+
169
+ # PyCharm
170
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
171
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
172
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
173
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
174
+ #.idea/
175
+
176
+ #sqlite
177
+ database.db
178
+
179
+ node_modules
@@ -0,0 +1,202 @@
1
+ Metadata-Version: 2.4
2
+ Name: mirascope
3
+ Version: 2.0.0a3
4
+ Summary: LLM abstractions that aren't obstructions
5
+ Project-URL: Homepage, https://mirascope.com
6
+ Project-URL: Documentation, https://mirascope.com/docs/mirascope/v2
7
+ Project-URL: Repository, https://github.com/Mirascope/mirascope/tree/v2
8
+ Project-URL: Issues, https://github.com/Mirascope/mirascope/issues
9
+ Project-URL: Changelog, https://github.com/Mirascope/mirascope/releases
10
+ Author-email: William Bakst <william@mirascope.com>, Dandelion Mané <dandelion@mirascope.com>
11
+ Maintainer-email: William Bakst <william@mirascope.com>, Dandelion Mané <dandelion@mirascope.com>
12
+ License: MIT License
13
+
14
+ Copyright (c) 2023 Mirascope, Inc.
15
+
16
+ Permission is hereby granted, free of charge, to any person obtaining a copy
17
+ of this software and associated documentation files (the "Software"), to deal
18
+ in the Software without restriction, including without limitation the rights
19
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
20
+ copies of the Software, and to permit persons to whom the Software is
21
+ furnished to do so, subject to the following conditions:
22
+
23
+ The above copyright notice and this permission notice shall be included in all
24
+ copies or substantial portions of the Software.
25
+
26
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
27
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
28
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
29
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
30
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
31
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
32
+ SOFTWARE.
33
+ License-File: LICENSE
34
+ Keywords: agents,artificial intelligence,developer tools,llm,llm tools,prompt engineering
35
+ Classifier: Development Status :: 3 - Alpha
36
+ Classifier: Intended Audience :: Developers
37
+ Classifier: License :: OSI Approved :: MIT License
38
+ Classifier: Programming Language :: Python :: 3
39
+ Classifier: Programming Language :: Python :: 3.10
40
+ Classifier: Programming Language :: Python :: 3.11
41
+ Classifier: Programming Language :: Python :: 3.12
42
+ Classifier: Programming Language :: Python :: 3.13
43
+ Classifier: Programming Language :: Python :: 3.14
44
+ Classifier: Topic :: File Formats :: JSON
45
+ Classifier: Topic :: File Formats :: JSON :: JSON Schema
46
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
47
+ Classifier: Topic :: Software Development :: Libraries
48
+ Requires-Python: >=3.10
49
+ Requires-Dist: docstring-parser>=0.17.0
50
+ Requires-Dist: httpx>=0.27.0
51
+ Requires-Dist: pydantic>=2.0.0
52
+ Requires-Dist: typing-extensions>=4.10.0
53
+ Provides-Extra: all
54
+ Requires-Dist: anthropic<1.0,>=0.72.0; extra == 'all'
55
+ Requires-Dist: google-genai<2,>=1.48.0; extra == 'all'
56
+ Requires-Dist: libcst>=1.8.6; extra == 'all'
57
+ Requires-Dist: mcp<2,>=1.0.0; extra == 'all'
58
+ Requires-Dist: mlx-lm<1,>=0.28.4; extra == 'all'
59
+ Requires-Dist: openai<3,>=2.7.1; extra == 'all'
60
+ Requires-Dist: opentelemetry-api<2,>=1.38.0; extra == 'all'
61
+ Requires-Dist: opentelemetry-exporter-otlp<2,>=1.38.0; extra == 'all'
62
+ Requires-Dist: opentelemetry-instrumentation<1,>=0.59b0; extra == 'all'
63
+ Requires-Dist: opentelemetry-propagator-b3<2,>=1.38.0; extra == 'all'
64
+ Requires-Dist: opentelemetry-propagator-b3>=1.38.0; extra == 'all'
65
+ Requires-Dist: opentelemetry-propagator-jaeger>=1.38.0; extra == 'all'
66
+ Requires-Dist: opentelemetry-sdk<2,>=1.38.0; extra == 'all'
67
+ Requires-Dist: orjson>=3.11.4; extra == 'all'
68
+ Requires-Dist: packaging>=25.0; extra == 'all'
69
+ Requires-Dist: pillow<11,>=10.4.0; extra == 'all'
70
+ Requires-Dist: proto-plus>=1.24.0; extra == 'all'
71
+ Requires-Dist: pydantic-settings>=2.12.0; extra == 'all'
72
+ Provides-Extra: anthropic
73
+ Requires-Dist: anthropic<1.0,>=0.72.0; extra == 'anthropic'
74
+ Provides-Extra: api
75
+ Requires-Dist: pydantic-settings>=2.12.0; extra == 'api'
76
+ Provides-Extra: google
77
+ Requires-Dist: google-genai<2,>=1.48.0; extra == 'google'
78
+ Requires-Dist: pillow<11,>=10.4.0; extra == 'google'
79
+ Requires-Dist: proto-plus>=1.24.0; extra == 'google'
80
+ Provides-Extra: mcp
81
+ Requires-Dist: mcp<2,>=1.0.0; extra == 'mcp'
82
+ Provides-Extra: mlx
83
+ Requires-Dist: mlx-lm<1,>=0.28.4; extra == 'mlx'
84
+ Provides-Extra: openai
85
+ Requires-Dist: openai<3,>=2.7.1; extra == 'openai'
86
+ Provides-Extra: ops
87
+ Requires-Dist: libcst>=1.8.6; extra == 'ops'
88
+ Requires-Dist: opentelemetry-api<2,>=1.38.0; extra == 'ops'
89
+ Requires-Dist: opentelemetry-exporter-otlp<2,>=1.38.0; extra == 'ops'
90
+ Requires-Dist: opentelemetry-instrumentation<1,>=0.59b0; extra == 'ops'
91
+ Requires-Dist: opentelemetry-propagator-b3<2,>=1.38.0; extra == 'ops'
92
+ Requires-Dist: opentelemetry-propagator-b3>=1.38.0; extra == 'ops'
93
+ Requires-Dist: opentelemetry-propagator-jaeger>=1.38.0; extra == 'ops'
94
+ Requires-Dist: opentelemetry-sdk<2,>=1.38.0; extra == 'ops'
95
+ Requires-Dist: orjson>=3.11.4; extra == 'ops'
96
+ Requires-Dist: packaging>=25.0; extra == 'ops'
97
+ Description-Content-Type: text/markdown
98
+
99
+ ## Mirascope v2 Python
100
+
101
+ This directory contains the Python implementation of Mirascope.
102
+
103
+ ## Development Setup
104
+
105
+ 1. **Environment Variables**: Copy `.env.example` to `.env` and fill in your API keys:
106
+ ```bash
107
+ cp .env.example .env
108
+ # Edit .env with your API keys
109
+ ```
110
+
111
+ 2. **Install Dependencies**:
112
+
113
+ ```bash
114
+ uv sync --all-extras --dev
115
+ ```
116
+
117
+ 3. **Run Tests**:
118
+ ```bash
119
+ uv run pytest
120
+ ```
121
+
122
+ ## `ops.span` and Session Tracing
123
+
124
+ `mirascope.ops` provides tracing helpers to trace any Python function, not just
125
+ `llm.Model` calls.
126
+
127
+ 1. Install the OTEL extra and set up a tracer provider exactly as shown above.
128
+ `ops.span` automatically reuses the active provider, so spans from manual
129
+ instrumentation and GenAI instrumentation end up in the same trace tree.
130
+ 2. Use `ops.session` to group related spans and attach metadata:
131
+ ```python
132
+ from mirascope import ops
133
+
134
+ with ops.session(id="req-42", attributes={"team": "core"}):
135
+ with ops.span("load-data") as span:
136
+ span.set(stage="ingest")
137
+ # expensive work here
138
+ ```
139
+ 3. The span exposes `span_id`/`trace_id`, logging helpers, and graceful no-op
140
+ behavior when OTEL is not configured. When OTEL is active, session metadata is
141
+ attached to every span, and additional tools like `ops.trace`/`ops.version`
142
+ (planned) can build on the same context.
143
+
144
+ ## `ops.trace` Decorator
145
+
146
+ `@ops.trace` adds span instrumentation to any Python callable (including
147
+ `llm.Model` helpers) so you can capture argument/return metadata alongside the
148
+ GenAI spans emitted by `llm.instrument_opentelemetry`.
149
+
150
+ ```python
151
+ from mirascope import ops
152
+
153
+ @ops.trace(tags=["ingest"])
154
+ def normalize(record: dict[str, str]) -> dict[str, str]:
155
+ return {k: v.strip() for k, v in record.items()}
156
+
157
+ result = normalize({"foo": " bar "})
158
+ wrapped = normalize.wrapped({"foo": " bar "})
159
+ print(wrapped.span_id, wrapped.trace_id)
160
+ ```
161
+
162
+ - The decorator automatically handles sync/async functions and reuses `ops.span`
163
+ serialization logic for arguments/results.
164
+ - Combine with `ops.session` to tag spans with contextual metadata, and with
165
+ `ops.instrument_opentelemetry` to obtain both model-level GenAI spans
166
+ and method-level spans like `recommend_book.__call__`.
167
+ - For now we focus on Mirascope-layer entry points (e.g., decorated functions or
168
+ `llm.Model` wrappers) and do not auto-instrument underlying provider SDK calls.
169
+
170
+ ## Testing
171
+
172
+ ### VCR Cassettes
173
+
174
+ The project uses [VCR.py](https://vcrpy.readthedocs.io/) to record and replay HTTP interactions with LLM APIs. This allows tests to run quickly and consistently without making actual API calls.
175
+
176
+ - **Cassettes Location**: Test cassettes are stored in `tests/llm/clients/*/cassettes/`
177
+ - **Recording Mode**: Tests use `"once"` mode - records new interactions if no cassette exists, replays existing cassettes otherwise
178
+ - **CI/CD**: In CI environments, tests use existing cassettes and never make real API calls
179
+
180
+ ### Inline Snapshots
181
+
182
+ The project uses [inline-snapshot](https://15r10nk.github.io/inline-snapshot/) to capture expected test outputs directly in the test code.
183
+
184
+ - **Update Snapshots**: Run `uv run pytest --inline-snapshot=fix` to update all snapshots with actual values
185
+ - **Review Changes**: Run `uv run pytest --inline-snapshot=review` to preview what would change
186
+ - **Formatted Output**: Snapshots are automatically formatted with `ruff` for consistency
187
+
188
+ Example:
189
+ ```python
190
+ def test_api_response():
191
+ response = client.call(messages=[user("Hello")])
192
+ assert response.content == snapshot([Text(text="Hi there!")])
193
+ ```
194
+
195
+ ### Recording New Test Interactions
196
+
197
+ To record new test interactions:
198
+
199
+ 1. Ensure your API keys are set in `.env`
200
+ 2. Delete the relevant cassette file (if updating an existing test)
201
+ 3. Run the specific test: `uv run pytest tests/path/to/test.py::test_name`
202
+ 4. The cassette will be automatically created/updated
@@ -0,0 +1,104 @@
1
+ ## Mirascope v2 Python
2
+
3
+ This directory contains the Python implementation of Mirascope.
4
+
5
+ ## Development Setup
6
+
7
+ 1. **Environment Variables**: Copy `.env.example` to `.env` and fill in your API keys:
8
+ ```bash
9
+ cp .env.example .env
10
+ # Edit .env with your API keys
11
+ ```
12
+
13
+ 2. **Install Dependencies**:
14
+
15
+ ```bash
16
+ uv sync --all-extras --dev
17
+ ```
18
+
19
+ 3. **Run Tests**:
20
+ ```bash
21
+ uv run pytest
22
+ ```
23
+
24
+ ## `ops.span` and Session Tracing
25
+
26
+ `mirascope.ops` provides tracing helpers to trace any Python function, not just
27
+ `llm.Model` calls.
28
+
29
+ 1. Install the OTEL extra and set up a tracer provider exactly as shown above.
30
+ `ops.span` automatically reuses the active provider, so spans from manual
31
+ instrumentation and GenAI instrumentation end up in the same trace tree.
32
+ 2. Use `ops.session` to group related spans and attach metadata:
33
+ ```python
34
+ from mirascope import ops
35
+
36
+ with ops.session(id="req-42", attributes={"team": "core"}):
37
+ with ops.span("load-data") as span:
38
+ span.set(stage="ingest")
39
+ # expensive work here
40
+ ```
41
+ 3. The span exposes `span_id`/`trace_id`, logging helpers, and graceful no-op
42
+ behavior when OTEL is not configured. When OTEL is active, session metadata is
43
+ attached to every span, and additional tools like `ops.trace`/`ops.version`
44
+ (planned) can build on the same context.
45
+
46
+ ## `ops.trace` Decorator
47
+
48
+ `@ops.trace` adds span instrumentation to any Python callable (including
49
+ `llm.Model` helpers) so you can capture argument/return metadata alongside the
50
+ GenAI spans emitted by `llm.instrument_opentelemetry`.
51
+
52
+ ```python
53
+ from mirascope import ops
54
+
55
+ @ops.trace(tags=["ingest"])
56
+ def normalize(record: dict[str, str]) -> dict[str, str]:
57
+ return {k: v.strip() for k, v in record.items()}
58
+
59
+ result = normalize({"foo": " bar "})
60
+ wrapped = normalize.wrapped({"foo": " bar "})
61
+ print(wrapped.span_id, wrapped.trace_id)
62
+ ```
63
+
64
+ - The decorator automatically handles sync/async functions and reuses `ops.span`
65
+ serialization logic for arguments/results.
66
+ - Combine with `ops.session` to tag spans with contextual metadata, and with
67
+ `ops.instrument_opentelemetry` to obtain both model-level GenAI spans
68
+ and method-level spans like `recommend_book.__call__`.
69
+ - For now we focus on Mirascope-layer entry points (e.g., decorated functions or
70
+ `llm.Model` wrappers) and do not auto-instrument underlying provider SDK calls.
71
+
72
+ ## Testing
73
+
74
+ ### VCR Cassettes
75
+
76
+ The project uses [VCR.py](https://vcrpy.readthedocs.io/) to record and replay HTTP interactions with LLM APIs. This allows tests to run quickly and consistently without making actual API calls.
77
+
78
+ - **Cassettes Location**: Test cassettes are stored in `tests/llm/clients/*/cassettes/`
79
+ - **Recording Mode**: Tests use `"once"` mode - records new interactions if no cassette exists, replays existing cassettes otherwise
80
+ - **CI/CD**: In CI environments, tests use existing cassettes and never make real API calls
81
+
82
+ ### Inline Snapshots
83
+
84
+ The project uses [inline-snapshot](https://15r10nk.github.io/inline-snapshot/) to capture expected test outputs directly in the test code.
85
+
86
+ - **Update Snapshots**: Run `uv run pytest --inline-snapshot=fix` to update all snapshots with actual values
87
+ - **Review Changes**: Run `uv run pytest --inline-snapshot=review` to preview what would change
88
+ - **Formatted Output**: Snapshots are automatically formatted with `ruff` for consistency
89
+
90
+ Example:
91
+ ```python
92
+ def test_api_response():
93
+ response = client.call(messages=[user("Hello")])
94
+ assert response.content == snapshot([Text(text="Hi there!")])
95
+ ```
96
+
97
+ ### Recording New Test Interactions
98
+
99
+ To record new test interactions:
100
+
101
+ 1. Ensure your API keys are set in `.env`
102
+ 2. Delete the relevant cassette file (if updating an existing test)
103
+ 3. Run the specific test: `uv run pytest tests/path/to/test.py::test_name`
104
+ 4. The cassette will be automatically created/updated
@@ -0,0 +1,40 @@
1
+ from mirascope import llm
2
+
3
+
4
+ class Library:
5
+ available_books: list[str]
6
+ detailed_book_info: dict[str, str]
7
+
8
+
9
+ @llm.tool()
10
+ # [!code highlight:2]
11
+ def get_book_info(ctx: llm.Context[Library], book: str) -> str:
12
+ return ctx.deps.detailed_book_info.get(book, "Book not found")
13
+
14
+
15
+ @llm.call("openai/gpt-5", tools=[get_book_info])
16
+ # [!code highlight:2]
17
+ def librarian(ctx: llm.Context[Library], query: str):
18
+ book_list = "\n".join(ctx.deps.available_books)
19
+ return [
20
+ llm.messages.system(
21
+ f"You are a librarian, with access to these books: ${book_list}"
22
+ ),
23
+ llm.messages.user(query),
24
+ ]
25
+
26
+
27
+ def main():
28
+ library = Library()
29
+ query = "Please recommend a mind-bending book from the library."
30
+ ctx = llm.Context(deps=library) # [!code highlight]
31
+ response: llm.ContextResponse[Library] = librarian(ctx, query) # [!code highlight]
32
+
33
+ while response.tool_calls:
34
+ tool_outputs = response.execute_tools(ctx) # [!code highlight]
35
+ response = response.resume(ctx, tool_outputs) # [!code highlight]
36
+
37
+ print(response.pretty())
38
+
39
+
40
+ main()
@@ -0,0 +1,41 @@
1
+ from mirascope import llm
2
+
3
+
4
+ class Library:
5
+ available_books: list[str]
6
+ detailed_book_info: dict[str, str]
7
+
8
+
9
+ @llm.tool()
10
+ # [!code highlight:2]
11
+ def get_book_info(ctx: llm.Context[Library], book: str) -> str:
12
+ return ctx.deps.detailed_book_info.get(book, "Book not found")
13
+
14
+
15
+ # [!code highlight:2]
16
+ def librarian(ctx: llm.Context[Library], query: str):
17
+ model = llm.use_model("openai/gpt-5")
18
+ book_list = "\n".join(ctx.deps.available_books)
19
+ messages = [
20
+ llm.messages.system(
21
+ f"You are a librarian, with access to these books: ${book_list}"
22
+ ),
23
+ llm.messages.user(query),
24
+ ]
25
+ # [!code highlight:2]
26
+ return model.context_call(ctx=ctx, messages=messages, tools=[get_book_info])
27
+
28
+
29
+ def main():
30
+ query = "Please recommend a mind-bending book from the library."
31
+ ctx = llm.Context(deps=Library()) # [!code highlight]
32
+ response: llm.ContextResponse[Library] = librarian(ctx, query) # [!code highlight]
33
+
34
+ while response.tool_calls:
35
+ tool_outputs = response.execute_tools(ctx) # [!code highlight]
36
+ response = response.resume(ctx, tool_outputs) # [!code highlight]
37
+
38
+ print(response.pretty())
39
+
40
+
41
+ main()
@@ -0,0 +1,17 @@
1
+ import asyncio
2
+
3
+ from mirascope import llm
4
+
5
+
6
+ @llm.call("openai/gpt-5")
7
+ async def recommend_book(genre: str):
8
+ return f"Please recommend a book in {genre}."
9
+
10
+
11
+ async def main():
12
+ response: llm.AsyncResponse = await recommend_book("fantasy")
13
+ print(response.pretty())
14
+
15
+
16
+ if __name__ == "__main__":
17
+ asyncio.run(main())
@@ -0,0 +1,18 @@
1
+ import asyncio
2
+
3
+ from mirascope import llm
4
+
5
+
6
+ @llm.call("openai/gpt-5")
7
+ async def recommend_book(genre: str):
8
+ return f"Please recommend a book in {genre}."
9
+
10
+
11
+ async def main():
12
+ response: llm.AsyncStreamResponse = await recommend_book.stream("fantasy")
13
+ async for chunk in response.pretty_stream():
14
+ print(chunk, flush=True, end="")
15
+
16
+
17
+ if __name__ == "__main__":
18
+ asyncio.run(main())
@@ -0,0 +1,15 @@
1
+ from mirascope import llm
2
+
3
+
4
+ @llm.call("openai/gpt-5")
5
+ def recommend_book(genre: str):
6
+ return f"Please recommend a book in {genre}."
7
+
8
+
9
+ def main():
10
+ response: llm.StreamResponse = recommend_book.stream("fantasy")
11
+ for chunk in response.pretty_stream():
12
+ print(chunk, flush=True, end="")
13
+
14
+
15
+ main()
@@ -0,0 +1,14 @@
1
+ from mirascope import llm
2
+
3
+
4
+ @llm.call("openai/gpt-5")
5
+ def recommend_book(genre: str):
6
+ return f"Please recommend a book in {genre}."
7
+
8
+
9
+ def main():
10
+ response: llm.Response = recommend_book("fantasy")
11
+ print(response.pretty())
12
+
13
+
14
+ main()