mirascope 1.25.7__tar.gz → 2.0.0a0__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 (1264) hide show
  1. mirascope-2.0.0a0/.coveragerc +39 -0
  2. mirascope-2.0.0a0/.env.example +14 -0
  3. mirascope-2.0.0a0/.gitignore +182 -0
  4. mirascope-2.0.0a0/PKG-INFO +117 -0
  5. mirascope-2.0.0a0/README.md +56 -0
  6. mirascope-2.0.0a0/examples/misc/anthropic_redacted_thinking.py +18 -0
  7. mirascope-2.0.0a0/examples/misc/openai_responses_reasoning.py +20 -0
  8. mirascope-2.0.0a0/examples/sazed/sazed.py +27 -0
  9. mirascope-2.0.0a0/examples/sazed/sazed_async.py +30 -0
  10. mirascope-2.0.0a0/examples/sazed/sazed_async_context.py +38 -0
  11. mirascope-2.0.0a0/examples/sazed/sazed_async_context_structured.py +50 -0
  12. mirascope-2.0.0a0/examples/sazed/sazed_async_stream.py +31 -0
  13. mirascope-2.0.0a0/examples/sazed/sazed_async_stream_context.py +41 -0
  14. mirascope-2.0.0a0/examples/sazed/sazed_async_stream_context_structured.py +50 -0
  15. mirascope-2.0.0a0/examples/sazed/sazed_async_stream_structured.py +40 -0
  16. mirascope-2.0.0a0/examples/sazed/sazed_async_stream_tools.py +51 -0
  17. mirascope-2.0.0a0/examples/sazed/sazed_async_stream_tools_context.py +63 -0
  18. mirascope-2.0.0a0/examples/sazed/sazed_async_stream_tools_context_structured.py +72 -0
  19. mirascope-2.0.0a0/examples/sazed/sazed_async_stream_tools_structured.py +60 -0
  20. mirascope-2.0.0a0/examples/sazed/sazed_async_structured.py +40 -0
  21. mirascope-2.0.0a0/examples/sazed/sazed_async_tools.py +40 -0
  22. mirascope-2.0.0a0/examples/sazed/sazed_async_tools_context.py +50 -0
  23. mirascope-2.0.0a0/examples/sazed/sazed_async_tools_context_structured.py +62 -0
  24. mirascope-2.0.0a0/examples/sazed/sazed_async_tools_structured.py +50 -0
  25. mirascope-2.0.0a0/examples/sazed/sazed_context.py +36 -0
  26. mirascope-2.0.0a0/examples/sazed/sazed_context_structured.py +46 -0
  27. mirascope-2.0.0a0/examples/sazed/sazed_stream.py +28 -0
  28. mirascope-2.0.0a0/examples/sazed/sazed_stream_context.py +37 -0
  29. mirascope-2.0.0a0/examples/sazed/sazed_stream_context_structured.py +48 -0
  30. mirascope-2.0.0a0/examples/sazed/sazed_stream_structured.py +37 -0
  31. mirascope-2.0.0a0/examples/sazed/sazed_stream_tools.py +48 -0
  32. mirascope-2.0.0a0/examples/sazed/sazed_stream_tools_context.py +59 -0
  33. mirascope-2.0.0a0/examples/sazed/sazed_stream_tools_context_structured.py +70 -0
  34. mirascope-2.0.0a0/examples/sazed/sazed_stream_tools_structured.py +57 -0
  35. mirascope-2.0.0a0/examples/sazed/sazed_structured.py +37 -0
  36. mirascope-2.0.0a0/examples/sazed/sazed_tools.py +37 -0
  37. mirascope-2.0.0a0/examples/sazed/sazed_tools_context.py +48 -0
  38. mirascope-2.0.0a0/examples/sazed/sazed_tools_context_structured.py +58 -0
  39. mirascope-2.0.0a0/examples/sazed/sazed_tools_structured.py +47 -0
  40. mirascope-2.0.0a0/lint-staged.ts +39 -0
  41. mirascope-2.0.0a0/mirascope/__init__.py +5 -0
  42. mirascope-2.0.0a0/mirascope/graphs/__init__.py +22 -0
  43. mirascope-2.0.0a0/mirascope/graphs/finite_state_machine.py +625 -0
  44. mirascope-2.0.0a0/mirascope/llm/__init__.py +212 -0
  45. mirascope-2.0.0a0/mirascope/llm/agents/__init__.py +15 -0
  46. mirascope-2.0.0a0/mirascope/llm/agents/agent.py +97 -0
  47. mirascope-2.0.0a0/mirascope/llm/agents/agent_template.py +45 -0
  48. mirascope-2.0.0a0/mirascope/llm/agents/decorator.py +176 -0
  49. mirascope-2.0.0a0/mirascope/llm/calls/__init__.py +16 -0
  50. mirascope-2.0.0a0/mirascope/llm/calls/base_call.py +33 -0
  51. mirascope-2.0.0a0/mirascope/llm/calls/calls.py +315 -0
  52. mirascope-2.0.0a0/mirascope/llm/calls/decorator.py +255 -0
  53. mirascope-2.0.0a0/mirascope/llm/clients/__init__.py +34 -0
  54. mirascope-2.0.0a0/mirascope/llm/clients/anthropic/__init__.py +11 -0
  55. mirascope-2.0.0a0/mirascope/llm/clients/anthropic/_utils/__init__.py +13 -0
  56. mirascope-2.0.0a0/mirascope/llm/clients/anthropic/_utils/decode.py +244 -0
  57. mirascope-2.0.0a0/mirascope/llm/clients/anthropic/_utils/encode.py +243 -0
  58. mirascope-2.0.0a0/mirascope/llm/clients/anthropic/clients.py +819 -0
  59. mirascope-2.0.0a0/mirascope/llm/clients/anthropic/model_ids.py +8 -0
  60. mirascope-2.0.0a0/mirascope/llm/clients/base/__init__.py +15 -0
  61. mirascope-2.0.0a0/mirascope/llm/clients/base/_utils.py +192 -0
  62. mirascope-2.0.0a0/mirascope/llm/clients/base/client.py +1256 -0
  63. mirascope-2.0.0a0/mirascope/llm/clients/base/kwargs.py +12 -0
  64. mirascope-2.0.0a0/mirascope/llm/clients/base/params.py +93 -0
  65. mirascope-2.0.0a0/mirascope/llm/clients/google/__init__.py +6 -0
  66. mirascope-2.0.0a0/mirascope/llm/clients/google/_utils/__init__.py +13 -0
  67. mirascope-2.0.0a0/mirascope/llm/clients/google/_utils/decode.py +231 -0
  68. mirascope-2.0.0a0/mirascope/llm/clients/google/_utils/encode.py +279 -0
  69. mirascope-2.0.0a0/mirascope/llm/clients/google/clients.py +853 -0
  70. mirascope-2.0.0a0/mirascope/llm/clients/google/message.py +7 -0
  71. mirascope-2.0.0a0/mirascope/llm/clients/google/model_ids.py +15 -0
  72. mirascope-2.0.0a0/mirascope/llm/clients/openai/__init__.py +25 -0
  73. mirascope-2.0.0a0/mirascope/llm/clients/openai/completions/__init__.py +9 -0
  74. mirascope-2.0.0a0/mirascope/llm/clients/openai/completions/_utils/__init__.py +13 -0
  75. mirascope-2.0.0a0/mirascope/llm/clients/openai/completions/_utils/decode.py +187 -0
  76. mirascope-2.0.0a0/mirascope/llm/clients/openai/completions/_utils/encode.py +358 -0
  77. mirascope-2.0.0a0/mirascope/llm/clients/openai/completions/_utils/model_features.py +81 -0
  78. mirascope-2.0.0a0/mirascope/llm/clients/openai/completions/clients.py +833 -0
  79. mirascope-2.0.0a0/mirascope/llm/clients/openai/completions/model_ids.py +8 -0
  80. mirascope-2.0.0a0/mirascope/llm/clients/openai/responses/__init__.py +9 -0
  81. mirascope-2.0.0a0/mirascope/llm/clients/openai/responses/_utils/__init__.py +13 -0
  82. mirascope-2.0.0a0/mirascope/llm/clients/openai/responses/_utils/decode.py +194 -0
  83. mirascope-2.0.0a0/mirascope/llm/clients/openai/responses/_utils/encode.py +333 -0
  84. mirascope-2.0.0a0/mirascope/llm/clients/openai/responses/_utils/model_features.py +87 -0
  85. mirascope-2.0.0a0/mirascope/llm/clients/openai/responses/clients.py +832 -0
  86. mirascope-2.0.0a0/mirascope/llm/clients/openai/responses/model_ids.py +8 -0
  87. mirascope-2.0.0a0/mirascope/llm/clients/openai/shared/__init__.py +7 -0
  88. mirascope-2.0.0a0/mirascope/llm/clients/openai/shared/_utils.py +55 -0
  89. mirascope-2.0.0a0/mirascope/llm/clients/providers.py +175 -0
  90. mirascope-2.0.0a0/mirascope/llm/content/__init__.py +70 -0
  91. mirascope-2.0.0a0/mirascope/llm/content/audio.py +173 -0
  92. mirascope-2.0.0a0/mirascope/llm/content/document.py +94 -0
  93. mirascope-2.0.0a0/mirascope/llm/content/image.py +206 -0
  94. mirascope-2.0.0a0/mirascope/llm/content/text.py +47 -0
  95. mirascope-2.0.0a0/mirascope/llm/content/thought.py +58 -0
  96. mirascope-2.0.0a0/mirascope/llm/content/tool_call.py +63 -0
  97. mirascope-2.0.0a0/mirascope/llm/content/tool_output.py +26 -0
  98. mirascope-2.0.0a0/mirascope/llm/context/__init__.py +6 -0
  99. mirascope-2.0.0a0/mirascope/llm/context/_utils.py +28 -0
  100. mirascope-2.0.0a0/mirascope/llm/context/context.py +24 -0
  101. mirascope-2.0.0a0/mirascope/llm/exceptions.py +105 -0
  102. mirascope-2.0.0a0/mirascope/llm/formatting/__init__.py +22 -0
  103. mirascope-2.0.0a0/mirascope/llm/formatting/_utils.py +74 -0
  104. mirascope-2.0.0a0/mirascope/llm/formatting/format.py +104 -0
  105. mirascope-2.0.0a0/mirascope/llm/formatting/from_call_args.py +30 -0
  106. mirascope-2.0.0a0/mirascope/llm/formatting/partial.py +58 -0
  107. mirascope-2.0.0a0/mirascope/llm/formatting/types.py +109 -0
  108. mirascope-2.0.0a0/mirascope/llm/mcp/__init__.py +5 -0
  109. mirascope-2.0.0a0/mirascope/llm/mcp/client.py +118 -0
  110. mirascope-2.0.0a0/mirascope/llm/messages/__init__.py +32 -0
  111. mirascope-2.0.0a0/mirascope/llm/messages/message.py +182 -0
  112. mirascope-2.0.0a0/mirascope/llm/models/__init__.py +16 -0
  113. mirascope-2.0.0a0/mirascope/llm/models/models.py +1243 -0
  114. mirascope-2.0.0a0/mirascope/llm/prompts/__init__.py +33 -0
  115. mirascope-2.0.0a0/mirascope/llm/prompts/_utils.py +60 -0
  116. mirascope-2.0.0a0/mirascope/llm/prompts/decorator.py +286 -0
  117. mirascope-2.0.0a0/mirascope/llm/prompts/protocols.py +99 -0
  118. mirascope-2.0.0a0/mirascope/llm/responses/__init__.py +57 -0
  119. mirascope-2.0.0a0/mirascope/llm/responses/_utils.py +56 -0
  120. mirascope-2.0.0a0/mirascope/llm/responses/base_response.py +91 -0
  121. mirascope-2.0.0a0/mirascope/llm/responses/base_stream_response.py +697 -0
  122. mirascope-2.0.0a0/mirascope/llm/responses/finish_reason.py +27 -0
  123. mirascope-2.0.0a0/mirascope/llm/responses/response.py +345 -0
  124. mirascope-2.0.0a0/mirascope/llm/responses/root_response.py +177 -0
  125. mirascope-2.0.0a0/mirascope/llm/responses/stream_response.py +572 -0
  126. mirascope-2.0.0a0/mirascope/llm/responses/streams.py +363 -0
  127. mirascope-2.0.0a0/mirascope/llm/tools/__init__.py +40 -0
  128. mirascope-2.0.0a0/mirascope/llm/tools/_utils.py +25 -0
  129. mirascope-2.0.0a0/mirascope/llm/tools/decorator.py +175 -0
  130. mirascope-2.0.0a0/mirascope/llm/tools/protocols.py +96 -0
  131. mirascope-2.0.0a0/mirascope/llm/tools/tool_schema.py +246 -0
  132. mirascope-2.0.0a0/mirascope/llm/tools/toolkit.py +152 -0
  133. mirascope-2.0.0a0/mirascope/llm/tools/tools.py +169 -0
  134. mirascope-2.0.0a0/mirascope/llm/types/__init__.py +22 -0
  135. mirascope-2.0.0a0/mirascope/llm/types/dataclass.py +9 -0
  136. mirascope-2.0.0a0/mirascope/llm/types/jsonable.py +44 -0
  137. mirascope-2.0.0a0/mirascope/llm/types/type_vars.py +19 -0
  138. mirascope-2.0.0a0/pyproject.toml +158 -0
  139. mirascope-2.0.0a0/scripts/example_generator.ts +334 -0
  140. mirascope-2.0.0a0/scripts/regenerate_examples.ts +127 -0
  141. mirascope-2.0.0a0/scripts/update_openai_completions_model_features.py +233 -0
  142. mirascope-2.0.0a0/scripts/update_openai_responses_model_features.py +224 -0
  143. mirascope-2.0.0a0/tests/conftest.py +22 -0
  144. mirascope-2.0.0a0/tests/e2e/README.md +41 -0
  145. mirascope-2.0.0a0/tests/e2e/assets/audio/tagline.mp3 +0 -0
  146. mirascope-2.0.0a0/tests/e2e/assets/images/wikipedia.png +0 -0
  147. mirascope-2.0.0a0/tests/e2e/conftest.py +166 -0
  148. mirascope-2.0.0a0/tests/e2e/input/README.md +60 -0
  149. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_call_with_audio/google_gemini_2_5_flash.yaml +62 -0
  150. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_call_with_audio/openai_completions_gpt_audio.yaml +111 -0
  151. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_call_with_image_content/anthropic_claude_sonnet_4_0.yaml +110 -0
  152. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_call_with_image_content/google_gemini_2_5_flash.yaml +64 -0
  153. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_call_with_image_content/openai_completions_gpt_4o.yaml +118 -0
  154. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_call_with_image_content/openai_responses_gpt_4o.yaml +110 -0
  155. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_call_with_image_url/anthropic_claude_sonnet_4_0.yaml +110 -0
  156. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_call_with_image_url/openai_completions_gpt_4o.yaml +112 -0
  157. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_call_with_image_url/openai_responses_gpt_4o.yaml +104 -0
  158. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_call_with_params/anthropic_claude_sonnet_4_0.yaml +108 -0
  159. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_call_with_params/google_gemini_2_5_flash.yaml +63 -0
  160. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_call_with_params/openai_completions_gpt_4o.yaml +110 -0
  161. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_call_with_params/openai_responses_gpt_4o.yaml +103 -0
  162. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_call_with_text_encoded_thoughts/anthropic_claude_sonnet_4_0.yaml +119 -0
  163. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_call_with_text_encoded_thoughts/google_gemini_2_5_flash.yaml +74 -0
  164. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_call_with_text_encoded_thoughts/openai_completions_gpt_4o.yaml +122 -0
  165. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_call_with_text_encoded_thoughts/openai_responses_gpt_4o.yaml +115 -0
  166. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_resume_with_override/anthropic_claude_sonnet_4_0.yaml +169 -0
  167. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_resume_with_override/google_gemini_2_5_flash.yaml +168 -0
  168. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_resume_with_override/openai_completions_gpt_4o.yaml +213 -0
  169. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_resume_with_override/openai_responses_gpt_4o.yaml +210 -0
  170. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_resume_with_override_context/anthropic_claude_sonnet_4_0.yaml +170 -0
  171. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_resume_with_override_context/google_gemini_2_5_flash.yaml +168 -0
  172. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_resume_with_override_context/openai_completions_gpt_4o.yaml +214 -0
  173. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_resume_with_override_context/openai_responses_gpt_4o.yaml +211 -0
  174. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/anthropic_claude_sonnet_4_0.yaml +185 -0
  175. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/google_gemini_2_5_flash.yaml +188 -0
  176. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/openai_completions_gpt_4o.yaml +231 -0
  177. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/openai_responses_gpt_4o.yaml +228 -0
  178. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/anthropic_claude_sonnet_4_0.yaml +114 -0
  179. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/google_gemini_2_5_flash.yaml +70 -0
  180. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/anthropic_claude_sonnet_4_0.yaml +112 -0
  181. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/google_gemini_2_5_flash.yaml +66 -0
  182. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/openai_completions_gpt_4o.yaml +112 -0
  183. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/openai_responses_gpt_4o.yaml +107 -0
  184. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/openai_completions_gpt_4o.yaml +112 -0
  185. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/openai_responses_gpt_4o.yaml +110 -0
  186. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/strict/google_gemini_2_5_flash.yaml +70 -0
  187. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/strict/openai_completions_gpt_4o.yaml +115 -0
  188. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/strict/openai_responses_gpt_4o.yaml +110 -0
  189. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/anthropic_claude_sonnet_4_0.yaml +114 -0
  190. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/google_gemini_2_5_flash.yaml +83 -0
  191. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/openai_completions_gpt_4o.yaml +115 -0
  192. mirascope-2.0.0a0/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/openai_responses_gpt_4o.yaml +112 -0
  193. mirascope-2.0.0a0/tests/e2e/input/conftest.py +116 -0
  194. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_call_with_audio/anthropic_claude_sonnet_4_0_snapshots.py +13 -0
  195. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_call_with_audio/google_gemini_2_5_flash_snapshots.py +58 -0
  196. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_call_with_audio/openai_completions_gpt_4o_snapshots.py +13 -0
  197. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_call_with_audio/openai_completions_gpt_audio_snapshots.py +46 -0
  198. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_call_with_audio/openai_responses_gpt_4o_snapshots.py +13 -0
  199. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_call_with_image_content/anthropic_claude_sonnet_4_0_snapshots.py +55 -0
  200. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_call_with_image_content/google_gemini_2_5_flash_snapshots.py +62 -0
  201. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_call_with_image_content/openai_completions_gpt_4o_snapshots.py +50 -0
  202. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_call_with_image_content/openai_responses_gpt_4o_snapshots.py +61 -0
  203. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_call_with_image_url/anthropic_claude_sonnet_4_0_snapshots.py +54 -0
  204. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_call_with_image_url/google_gemini_2_5_flash_snapshots.py +13 -0
  205. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_call_with_image_url/openai_completions_gpt_4o_snapshots.py +49 -0
  206. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_call_with_image_url/openai_responses_gpt_4o_snapshots.py +60 -0
  207. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_call_with_params/anthropic_claude_sonnet_4_0_snapshots.py +50 -0
  208. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_call_with_params/google_gemini_2_5_flash_snapshots.py +72 -0
  209. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_call_with_params/openai_completions_gpt_4o_snapshots.py +48 -0
  210. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_call_with_params/openai_responses_gpt_4o_snapshots.py +61 -0
  211. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/anthropic_claude_sonnet_4_0_snapshots.py +3 -0
  212. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/google_gemini_2_5_flash_snapshots.py +3 -0
  213. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/openai_completions_gpt_4o_snapshots.py +3 -0
  214. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/openai_responses_gpt_4o_snapshots.py +3 -0
  215. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_resume_with_override/anthropic_claude_sonnet_4_0_snapshots.py +67 -0
  216. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_resume_with_override/google_gemini_2_5_flash_snapshots.py +73 -0
  217. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_resume_with_override/openai_completions_gpt_4o_snapshots.py +51 -0
  218. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_resume_with_override/openai_responses_gpt_4o_snapshots.py +60 -0
  219. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_resume_with_override_context/anthropic_claude_sonnet_4_0_snapshots.py +67 -0
  220. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_resume_with_override_context/google_gemini_2_5_flash_snapshots.py +77 -0
  221. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_resume_with_override_context/openai_completions_gpt_4o_snapshots.py +53 -0
  222. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_resume_with_override_context/openai_responses_gpt_4o_snapshots.py +62 -0
  223. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/anthropic_claude_sonnet_4_0_snapshots.py +138 -0
  224. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/google_gemini_2_5_flash_snapshots.py +112 -0
  225. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/openai_completions_gpt_4o_snapshots.py +106 -0
  226. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/openai_responses_gpt_4o_snapshots.py +111 -0
  227. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/anthropic_claude_sonnet_4_0_snapshots.py +77 -0
  228. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/google_gemini_2_5_flash_snapshots.py +79 -0
  229. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/anthropic_claude_sonnet_4_0_snapshots.py +84 -0
  230. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/google_gemini_2_5_flash_snapshots.py +91 -0
  231. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/openai_completions_gpt_4o_snapshots.py +79 -0
  232. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/openai_responses_gpt_4o_snapshots.py +90 -0
  233. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/openai_completions_gpt_4o_snapshots.py +67 -0
  234. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/openai_responses_gpt_4o_snapshots.py +78 -0
  235. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/anthropic_claude_sonnet_4_0_snapshots.py +14 -0
  236. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/google_gemini_2_5_flash_snapshots.py +79 -0
  237. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/openai_completions_gpt_4o_snapshots.py +67 -0
  238. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/openai_responses_gpt_4o_snapshots.py +78 -0
  239. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/anthropic_claude_sonnet_4_0_snapshots.py +77 -0
  240. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/google_gemini_2_5_flash_snapshots.py +87 -0
  241. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/openai_completions_gpt_4o_snapshots.py +76 -0
  242. mirascope-2.0.0a0/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/openai_responses_gpt_4o_snapshots.py +72 -0
  243. mirascope-2.0.0a0/tests/e2e/input/test_call_with_audio.py +43 -0
  244. mirascope-2.0.0a0/tests/e2e/input/test_call_with_image.py +61 -0
  245. mirascope-2.0.0a0/tests/e2e/input/test_call_with_params.py +53 -0
  246. mirascope-2.0.0a0/tests/e2e/input/test_call_with_text_encoded_thoughts.py +92 -0
  247. mirascope-2.0.0a0/tests/e2e/input/test_resume_with_override.py +74 -0
  248. mirascope-2.0.0a0/tests/e2e/input/test_resume_with_override_thinking_and_tools.py +63 -0
  249. mirascope-2.0.0a0/tests/e2e/input/test_structured_output_with_formatting_instructions.py +59 -0
  250. mirascope-2.0.0a0/tests/e2e/output/README.md +86 -0
  251. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call/anthropic_claude_sonnet_4_0/async.yaml +108 -0
  252. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call/anthropic_claude_sonnet_4_0/async_stream.yaml +163 -0
  253. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call/anthropic_claude_sonnet_4_0/stream.yaml +162 -0
  254. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call/anthropic_claude_sonnet_4_0/sync.yaml +108 -0
  255. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call/google_gemini_2_5_flash/async.yaml +61 -0
  256. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call/google_gemini_2_5_flash/async_stream.yaml +59 -0
  257. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call/google_gemini_2_5_flash/stream.yaml +65 -0
  258. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call/google_gemini_2_5_flash/sync.yaml +61 -0
  259. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call/openai_completions_gpt_4o/async.yaml +107 -0
  260. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call/openai_completions_gpt_4o/async_stream.yaml +155 -0
  261. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call/openai_completions_gpt_4o/stream.yaml +140 -0
  262. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call/openai_completions_gpt_4o/sync.yaml +107 -0
  263. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call/openai_responses_gpt_4o/async.yaml +109 -0
  264. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call/openai_responses_gpt_4o/async_stream.yaml +176 -0
  265. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call/openai_responses_gpt_4o/stream.yaml +176 -0
  266. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call/openai_responses_gpt_4o/sync.yaml +103 -0
  267. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call_with_thinking_true/anthropic_claude_sonnet_4_0/async.yaml +302 -0
  268. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call_with_thinking_true/anthropic_claude_sonnet_4_0/async_stream.yaml +476 -0
  269. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call_with_thinking_true/anthropic_claude_sonnet_4_0/stream.yaml +554 -0
  270. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call_with_thinking_true/anthropic_claude_sonnet_4_0/sync.yaml +387 -0
  271. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call_with_thinking_true/google_gemini_2_5_flash/async.yaml +146 -0
  272. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call_with_thinking_true/google_gemini_2_5_flash/async_stream.yaml +177 -0
  273. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call_with_thinking_true/google_gemini_2_5_flash/stream.yaml +227 -0
  274. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call_with_thinking_true/google_gemini_2_5_flash/sync.yaml +200 -0
  275. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call_with_thinking_true/openai_responses_gpt_5/async.yaml +247 -0
  276. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call_with_thinking_true/openai_responses_gpt_5/async_stream.yaml +1342 -0
  277. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call_with_thinking_true/openai_responses_gpt_5/stream.yaml +1184 -0
  278. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call_with_thinking_true/openai_responses_gpt_5/sync.yaml +261 -0
  279. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call_with_tools/anthropic_claude_sonnet_4_0/async.yaml +224 -0
  280. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call_with_tools/anthropic_claude_sonnet_4_0/async_stream.yaml +399 -0
  281. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call_with_tools/anthropic_claude_sonnet_4_0/stream.yaml +399 -0
  282. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call_with_tools/anthropic_claude_sonnet_4_0/sync.yaml +225 -0
  283. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call_with_tools/google_gemini_2_5_flash/async.yaml +145 -0
  284. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call_with_tools/google_gemini_2_5_flash/async_stream.yaml +147 -0
  285. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call_with_tools/google_gemini_2_5_flash/stream.yaml +146 -0
  286. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call_with_tools/google_gemini_2_5_flash/sync.yaml +145 -0
  287. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call_with_tools/openai_completions_gpt_4o/async.yaml +223 -0
  288. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call_with_tools/openai_completions_gpt_4o/async_stream.yaml +379 -0
  289. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call_with_tools/openai_completions_gpt_4o/stream.yaml +378 -0
  290. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call_with_tools/openai_completions_gpt_4o/sync.yaml +223 -0
  291. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call_with_tools/openai_responses_gpt_4o/async.yaml +218 -0
  292. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call_with_tools/openai_responses_gpt_4o/async_stream.yaml +467 -0
  293. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call_with_tools/openai_responses_gpt_4o/stream.yaml +489 -0
  294. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_call_with_tools/openai_responses_gpt_4o/sync.yaml +218 -0
  295. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_max_tokens/anthropic_claude_sonnet_4_0/async.yaml +109 -0
  296. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_max_tokens/anthropic_claude_sonnet_4_0/async_stream.yaml +177 -0
  297. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_max_tokens/anthropic_claude_sonnet_4_0/stream.yaml +176 -0
  298. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_max_tokens/anthropic_claude_sonnet_4_0/sync.yaml +109 -0
  299. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_max_tokens/google_gemini_2_5_flash/async.yaml +61 -0
  300. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_max_tokens/google_gemini_2_5_flash/async_stream.yaml +60 -0
  301. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_max_tokens/google_gemini_2_5_flash/stream.yaml +60 -0
  302. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_max_tokens/google_gemini_2_5_flash/sync.yaml +61 -0
  303. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_max_tokens/openai_completions_gpt_4o/async.yaml +109 -0
  304. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_max_tokens/openai_completions_gpt_4o/async_stream.yaml +274 -0
  305. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_max_tokens/openai_completions_gpt_4o/stream.yaml +278 -0
  306. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_max_tokens/openai_completions_gpt_4o/sync.yaml +109 -0
  307. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_max_tokens/openai_responses_gpt_4o/async.yaml +105 -0
  308. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_max_tokens/openai_responses_gpt_4o/async_stream.yaml +393 -0
  309. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_max_tokens/openai_responses_gpt_4o/stream.yaml +394 -0
  310. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_max_tokens/openai_responses_gpt_4o/sync.yaml +105 -0
  311. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_refusal/anthropic_claude_sonnet_4_0/async.yaml +122 -0
  312. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_refusal/anthropic_claude_sonnet_4_0/async_stream.yaml +1036 -0
  313. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_refusal/anthropic_claude_sonnet_4_0/stream.yaml +1024 -0
  314. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_refusal/anthropic_claude_sonnet_4_0/sync.yaml +121 -0
  315. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_refusal/google_gemini_2_5_flash/async.yaml +69 -0
  316. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_refusal/google_gemini_2_5_flash/async_stream.yaml +72 -0
  317. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_refusal/google_gemini_2_5_flash/stream.yaml +70 -0
  318. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_refusal/google_gemini_2_5_flash/sync.yaml +69 -0
  319. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_refusal/openai_completions_gpt_4o/async.yaml +108 -0
  320. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_refusal/openai_completions_gpt_4o/async_stream.yaml +152 -0
  321. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_refusal/openai_completions_gpt_4o/stream.yaml +144 -0
  322. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_refusal/openai_completions_gpt_4o/sync.yaml +108 -0
  323. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_refusal/openai_responses_gpt_4o/async.yaml +106 -0
  324. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_refusal/openai_responses_gpt_4o/async_stream.yaml +173 -0
  325. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_refusal/openai_responses_gpt_4o/stream.yaml +173 -0
  326. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_refusal/openai_responses_gpt_4o/sync.yaml +106 -0
  327. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_0/async.yaml +117 -0
  328. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_0/async_stream.yaml +266 -0
  329. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_0/stream.yaml +259 -0
  330. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_0/sync.yaml +117 -0
  331. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/async.yaml +71 -0
  332. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/async_stream.yaml +69 -0
  333. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/stream.yaml +69 -0
  334. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/sync.yaml +71 -0
  335. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_0/async.yaml +123 -0
  336. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_0/async_stream.yaml +194 -0
  337. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_0/stream.yaml +206 -0
  338. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_0/sync.yaml +123 -0
  339. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/async.yaml +76 -0
  340. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/async_stream.yaml +80 -0
  341. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/stream.yaml +80 -0
  342. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/sync.yaml +76 -0
  343. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/json/openai_completions_gpt_4o/async.yaml +121 -0
  344. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/json/openai_completions_gpt_4o/async_stream.yaml +276 -0
  345. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/json/openai_completions_gpt_4o/stream.yaml +276 -0
  346. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/json/openai_completions_gpt_4o/sync.yaml +121 -0
  347. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/json/openai_responses_gpt_4o/async.yaml +118 -0
  348. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/json/openai_responses_gpt_4o/async_stream.yaml +388 -0
  349. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/json/openai_responses_gpt_4o/stream.yaml +388 -0
  350. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/json/openai_responses_gpt_4o/sync.yaml +118 -0
  351. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/openai_completions_gpt_4o/async.yaml +114 -0
  352. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/openai_completions_gpt_4o/async_stream.yaml +203 -0
  353. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/openai_completions_gpt_4o/stream.yaml +203 -0
  354. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/openai_completions_gpt_4o/sync.yaml +114 -0
  355. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/openai_responses_gpt_4o/async.yaml +116 -0
  356. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/openai_responses_gpt_4o/async_stream.yaml +292 -0
  357. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/openai_responses_gpt_4o/stream.yaml +292 -0
  358. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/openai_responses_gpt_4o/sync.yaml +116 -0
  359. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/async.yaml +71 -0
  360. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/async_stream.yaml +69 -0
  361. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/stream.yaml +69 -0
  362. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/sync.yaml +71 -0
  363. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/strict/openai_completions_gpt_4o/async.yaml +117 -0
  364. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/strict/openai_completions_gpt_4o/async_stream.yaml +203 -0
  365. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/strict/openai_completions_gpt_4o/stream.yaml +203 -0
  366. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/strict/openai_completions_gpt_4o/sync.yaml +117 -0
  367. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/strict/openai_responses_gpt_4o/async.yaml +116 -0
  368. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/strict/openai_responses_gpt_4o/async_stream.yaml +292 -0
  369. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/strict/openai_responses_gpt_4o/stream.yaml +292 -0
  370. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/strict/openai_responses_gpt_4o/sync.yaml +116 -0
  371. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_0/async.yaml +117 -0
  372. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_0/async_stream.yaml +271 -0
  373. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_0/stream.yaml +285 -0
  374. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_0/sync.yaml +117 -0
  375. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/async.yaml +89 -0
  376. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/async_stream.yaml +76 -0
  377. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/stream.yaml +76 -0
  378. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/sync.yaml +90 -0
  379. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/tool/openai_completions_gpt_4o/async.yaml +117 -0
  380. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/tool/openai_completions_gpt_4o/async_stream.yaml +204 -0
  381. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/tool/openai_completions_gpt_4o/stream.yaml +204 -0
  382. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/tool/openai_completions_gpt_4o/sync.yaml +117 -0
  383. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/tool/openai_responses_gpt_4o/async.yaml +118 -0
  384. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/tool/openai_responses_gpt_4o/async_stream.yaml +282 -0
  385. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/tool/openai_responses_gpt_4o/stream.yaml +282 -0
  386. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output/tool/openai_responses_gpt_4o/sync.yaml +118 -0
  387. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_0/async.yaml +230 -0
  388. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_0/async_stream.yaml +389 -0
  389. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_0/stream.yaml +398 -0
  390. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_0/sync.yaml +230 -0
  391. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/async.yaml +206 -0
  392. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/async_stream.yaml +152 -0
  393. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/stream.yaml +152 -0
  394. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/sync.yaml +207 -0
  395. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_0/async.yaml +239 -0
  396. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_0/async_stream.yaml +378 -0
  397. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_0/stream.yaml +387 -0
  398. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_0/sync.yaml +239 -0
  399. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_completions_gpt_4o/async.yaml +237 -0
  400. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_completions_gpt_4o/async_stream.yaml +353 -0
  401. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_completions_gpt_4o/stream.yaml +404 -0
  402. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_completions_gpt_4o/sync.yaml +237 -0
  403. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_responses_gpt_4o/async.yaml +233 -0
  404. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_responses_gpt_4o/async_stream.yaml +536 -0
  405. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_responses_gpt_4o/stream.yaml +536 -0
  406. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_responses_gpt_4o/sync.yaml +233 -0
  407. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_completions_gpt_4o/async.yaml +223 -0
  408. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_completions_gpt_4o/async_stream.yaml +339 -0
  409. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_completions_gpt_4o/stream.yaml +339 -0
  410. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_completions_gpt_4o/sync.yaml +223 -0
  411. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_responses_gpt_4o/async.yaml +223 -0
  412. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_responses_gpt_4o/async_stream.yaml +447 -0
  413. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_responses_gpt_4o/stream.yaml +447 -0
  414. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_responses_gpt_4o/sync.yaml +223 -0
  415. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_completions_gpt_4o/async.yaml +226 -0
  416. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_completions_gpt_4o/async_stream.yaml +339 -0
  417. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_completions_gpt_4o/stream.yaml +339 -0
  418. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_completions_gpt_4o/sync.yaml +226 -0
  419. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_responses_gpt_4o/async.yaml +223 -0
  420. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_responses_gpt_4o/async_stream.yaml +447 -0
  421. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_responses_gpt_4o/stream.yaml +615 -0
  422. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_responses_gpt_4o/sync.yaml +224 -0
  423. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_0/async.yaml +230 -0
  424. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_0/async_stream.yaml +424 -0
  425. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_0/stream.yaml +431 -0
  426. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_0/sync.yaml +230 -0
  427. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/async.yaml +221 -0
  428. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/async_stream.yaml +152 -0
  429. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/stream.yaml +152 -0
  430. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/sync.yaml +185 -0
  431. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_completions_gpt_4o/async.yaml +231 -0
  432. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_completions_gpt_4o/async_stream.yaml +345 -0
  433. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_completions_gpt_4o/stream.yaml +345 -0
  434. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_completions_gpt_4o/sync.yaml +231 -0
  435. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_responses_gpt_4o/async.yaml +232 -0
  436. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_responses_gpt_4o/async_stream.yaml +448 -0
  437. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_responses_gpt_4o/stream.yaml +448 -0
  438. mirascope-2.0.0a0/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_responses_gpt_4o/sync.yaml +231 -0
  439. mirascope-2.0.0a0/tests/e2e/output/conftest.py +157 -0
  440. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_call/anthropic_claude_sonnet_4_0_snapshots.py +116 -0
  441. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_call/google_gemini_2_5_flash_snapshots.py +242 -0
  442. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_call/openai_completions_gpt_4o_snapshots.py +100 -0
  443. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_call/openai_responses_gpt_4o_snapshots.py +152 -0
  444. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_call_with_thinking_true/anthropic_claude_sonnet_4_0_snapshots.py +704 -0
  445. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_call_with_thinking_true/google_gemini_2_5_flash_snapshots.py +783 -0
  446. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_call_with_thinking_true/openai_responses_gpt_5_snapshots.py +683 -0
  447. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_call_with_tools/anthropic_claude_sonnet_4_0_snapshots.py +515 -0
  448. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_call_with_tools/google_gemini_2_5_flash_snapshots.py +613 -0
  449. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_call_with_tools/openai_completions_gpt_4o_snapshots.py +423 -0
  450. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_call_with_tools/openai_responses_gpt_4o_snapshots.py +515 -0
  451. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_max_tokens/anthropic_claude_sonnet_4_0_snapshots.py +239 -0
  452. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_max_tokens/google_gemini_2_5_flash_snapshots.py +179 -0
  453. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_max_tokens/openai_completions_gpt_4o_snapshots.py +189 -0
  454. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_max_tokens/openai_responses_gpt_4o_snapshots.py +214 -0
  455. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_refusal/anthropic_claude_sonnet_4_0_snapshots.py +322 -0
  456. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_refusal/google_gemini_2_5_flash_snapshots.py +280 -0
  457. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_refusal/openai_completions_gpt_4o_snapshots.py +187 -0
  458. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_refusal/openai_responses_gpt_4o_snapshots.py +225 -0
  459. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_structured_output/anthropic_claude_sonnet_4_0_snapshots.py +349 -0
  460. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_structured_output/google_gemini_2_5_flash_snapshots.py +368 -0
  461. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_structured_output/json/anthropic_claude_sonnet_4_0_snapshots.py +771 -0
  462. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_structured_output/json/google_gemini_2_5_flash_snapshots.py +821 -0
  463. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_structured_output/json/openai_completions_gpt_4o_snapshots.py +719 -0
  464. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_structured_output/json/openai_responses_gpt_4o_snapshots.py +789 -0
  465. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_structured_output/openai_completions_gpt_4o_snapshots.py +272 -0
  466. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_structured_output/openai_responses_gpt_4o_snapshots.py +324 -0
  467. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_structured_output/strict/anthropic_claude_sonnet_4_0_snapshots.py +50 -0
  468. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_structured_output/strict/google_gemini_2_5_flash_snapshots.py +386 -0
  469. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_structured_output/strict/openai_completions_gpt_4o_snapshots.py +272 -0
  470. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_structured_output/strict/openai_responses_gpt_4o_snapshots.py +324 -0
  471. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_structured_output/tool/anthropic_claude_sonnet_4_0_snapshots.py +349 -0
  472. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_structured_output/tool/google_gemini_2_5_flash_snapshots.py +389 -0
  473. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_structured_output/tool/openai_completions_gpt_4o_snapshots.py +307 -0
  474. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_structured_output/tool/openai_responses_gpt_4o_snapshots.py +317 -0
  475. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_structured_output_with_tools/anthropic_claude_sonnet_4_0_snapshots.py +499 -0
  476. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_structured_output_with_tools/google_gemini_2_5_flash_snapshots.py +579 -0
  477. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_0_snapshots.py +803 -0
  478. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_structured_output_with_tools/json/google_gemini_2_5_flash_snapshots.py +46 -0
  479. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_structured_output_with_tools/json/openai_completions_gpt_4o_snapshots.py +694 -0
  480. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_structured_output_with_tools/json/openai_responses_gpt_4o_snapshots.py +791 -0
  481. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_structured_output_with_tools/openai_completions_gpt_4o_snapshots.py +412 -0
  482. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_structured_output_with_tools/openai_responses_gpt_4o_snapshots.py +474 -0
  483. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/anthropic_claude_sonnet_4_0_snapshots.py +50 -0
  484. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/google_gemini_2_5_flash_snapshots.py +46 -0
  485. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/openai_completions_gpt_4o_snapshots.py +412 -0
  486. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/openai_responses_gpt_4o_snapshots.py +508 -0
  487. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_0_snapshots.py +499 -0
  488. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/google_gemini_2_5_flash_snapshots.py +579 -0
  489. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/openai_completions_gpt_4o_snapshots.py +451 -0
  490. mirascope-2.0.0a0/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/openai_responses_gpt_4o_snapshots.py +471 -0
  491. mirascope-2.0.0a0/tests/e2e/output/test_call.py +188 -0
  492. mirascope-2.0.0a0/tests/e2e/output/test_call_with_thinking_true.py +112 -0
  493. mirascope-2.0.0a0/tests/e2e/output/test_call_with_tools.py +393 -0
  494. mirascope-2.0.0a0/tests/e2e/output/test_max_tokens.py +94 -0
  495. mirascope-2.0.0a0/tests/e2e/output/test_refusal.py +118 -0
  496. mirascope-2.0.0a0/tests/e2e/output/test_structured_output.py +326 -0
  497. mirascope-2.0.0a0/tests/e2e/output/test_structured_output_with_tools.py +434 -0
  498. mirascope-2.0.0a0/tests/llm/calls/cassettes/TestCall.test_call_decorator_e2e_model_override.yaml +274 -0
  499. mirascope-2.0.0a0/tests/llm/calls/cassettes/TestContextCall.test_context_call_decorator_e2e_model_override.yaml +273 -0
  500. mirascope-2.0.0a0/tests/llm/calls/test_decorator.py +395 -0
  501. mirascope-2.0.0a0/tests/llm/clients/anthropic/test_client.py +51 -0
  502. mirascope-2.0.0a0/tests/llm/clients/base/test_params.py +55 -0
  503. mirascope-2.0.0a0/tests/llm/clients/base/test_utils.py +150 -0
  504. mirascope-2.0.0a0/tests/llm/clients/google/test_client.py +71 -0
  505. mirascope-2.0.0a0/tests/llm/clients/openai/test_completions_client.py +160 -0
  506. mirascope-2.0.0a0/tests/llm/clients/openai/test_responses_client.py +108 -0
  507. mirascope-2.0.0a0/tests/llm/clients/test_providers.py +53 -0
  508. mirascope-2.0.0a0/tests/llm/content/test_audio_content.py +265 -0
  509. mirascope-2.0.0a0/tests/llm/content/test_image_content.py +290 -0
  510. mirascope-2.0.0a0/tests/llm/context/test_context.py +10 -0
  511. mirascope-2.0.0a0/tests/llm/formatting/test_format.py +149 -0
  512. mirascope-2.0.0a0/tests/llm/messages/test_messages.py +163 -0
  513. mirascope-2.0.0a0/tests/llm/models/test_model.py +46 -0
  514. mirascope-2.0.0a0/tests/llm/prompts/test_decorator.py +285 -0
  515. mirascope-2.0.0a0/tests/llm/responses/test_response.py +765 -0
  516. mirascope-2.0.0a0/tests/llm/responses/test_stream_response.py +1805 -0
  517. mirascope-2.0.0a0/tests/llm/responses/test_utils.py +176 -0
  518. mirascope-2.0.0a0/tests/llm/tools/test_decorator.py +415 -0
  519. mirascope-2.0.0a0/tests/llm/tools/test_tool_schema.py +416 -0
  520. mirascope-2.0.0a0/tests/llm/tools/test_toolkit.py +190 -0
  521. mirascope-2.0.0a0/tests/test_imports.py +8 -0
  522. mirascope-2.0.0a0/tests/utils.py +181 -0
  523. mirascope-2.0.0a0/typechecking/agent.py +85 -0
  524. mirascope-2.0.0a0/typechecking/call.py +172 -0
  525. mirascope-2.0.0a0/typechecking/context.py +7 -0
  526. mirascope-2.0.0a0/typechecking/format.py +7 -0
  527. mirascope-2.0.0a0/typechecking/streams.py +46 -0
  528. mirascope-2.0.0a0/typechecking/tool.py +71 -0
  529. mirascope-2.0.0a0/typechecking/utils.py +87 -0
  530. mirascope-2.0.0a0/uv.lock +2019 -0
  531. mirascope-1.25.7/.claude/settings.local.json +0 -10
  532. mirascope-1.25.7/.github/CODEOWNERS +0 -8
  533. mirascope-1.25.7/.github/ISSUE_TEMPLATE/bug-report.yml +0 -21
  534. mirascope-1.25.7/.github/ISSUE_TEMPLATE/config.yml +0 -5
  535. mirascope-1.25.7/.github/ISSUE_TEMPLATE/feature-request.yml +0 -13
  536. mirascope-1.25.7/.github/ISSUE_TEMPLATE/question.yml +0 -12
  537. mirascope-1.25.7/.github/workflows/lint.yml +0 -51
  538. mirascope-1.25.7/.github/workflows/release.yml +0 -31
  539. mirascope-1.25.7/.github/workflows/tests.yml +0 -62
  540. mirascope-1.25.7/.gitignore +0 -177
  541. mirascope-1.25.7/.pre-commit-config.yaml +0 -27
  542. mirascope-1.25.7/.vscode/extensions.json +0 -16
  543. mirascope-1.25.7/.vscode/launch.json +0 -28
  544. mirascope-1.25.7/.vscode/settings.json +0 -27
  545. mirascope-1.25.7/PKG-INFO +0 -169
  546. mirascope-1.25.7/README.md +0 -66
  547. mirascope-1.25.7/api_ref/core/anthropic/call.md +0 -3
  548. mirascope-1.25.7/api_ref/core/anthropic/call_params.md +0 -3
  549. mirascope-1.25.7/api_ref/core/anthropic/call_response.md +0 -3
  550. mirascope-1.25.7/api_ref/core/anthropic/call_response_chunk.md +0 -3
  551. mirascope-1.25.7/api_ref/core/anthropic/dynamic_config.md +0 -3
  552. mirascope-1.25.7/api_ref/core/anthropic/stream.md +0 -3
  553. mirascope-1.25.7/api_ref/core/anthropic/tool.md +0 -3
  554. mirascope-1.25.7/api_ref/core/azure/call.md +0 -3
  555. mirascope-1.25.7/api_ref/core/azure/call_params.md +0 -3
  556. mirascope-1.25.7/api_ref/core/azure/call_response.md +0 -3
  557. mirascope-1.25.7/api_ref/core/azure/call_response_chunk.md +0 -3
  558. mirascope-1.25.7/api_ref/core/azure/dynamic_config.md +0 -3
  559. mirascope-1.25.7/api_ref/core/azure/stream.md +0 -3
  560. mirascope-1.25.7/api_ref/core/azure/tool.md +0 -3
  561. mirascope-1.25.7/api_ref/core/base/call_factory.md +0 -5
  562. mirascope-1.25.7/api_ref/core/base/call_params.md +0 -9
  563. mirascope-1.25.7/api_ref/core/base/call_response.md +0 -3
  564. mirascope-1.25.7/api_ref/core/base/call_response_chunk.md +0 -3
  565. mirascope-1.25.7/api_ref/core/base/dynamic_config.md +0 -3
  566. mirascope-1.25.7/api_ref/core/base/merge_decorators.md +0 -3
  567. mirascope-1.25.7/api_ref/core/base/message_param.md +0 -17
  568. mirascope-1.25.7/api_ref/core/base/metadata.md +0 -3
  569. mirascope-1.25.7/api_ref/core/base/prompt.md +0 -3
  570. mirascope-1.25.7/api_ref/core/base/stream.md +0 -3
  571. mirascope-1.25.7/api_ref/core/base/structured_stream.md +0 -3
  572. mirascope-1.25.7/api_ref/core/base/tool.md +0 -3
  573. mirascope-1.25.7/api_ref/core/base/toolkit.md +0 -3
  574. mirascope-1.25.7/api_ref/core/base/types.md +0 -3
  575. mirascope-1.25.7/api_ref/core/bedrock/call.md +0 -3
  576. mirascope-1.25.7/api_ref/core/bedrock/call_params.md +0 -3
  577. mirascope-1.25.7/api_ref/core/bedrock/call_response.md +0 -3
  578. mirascope-1.25.7/api_ref/core/bedrock/call_response_chunk.md +0 -3
  579. mirascope-1.25.7/api_ref/core/bedrock/dynamic_config.md +0 -3
  580. mirascope-1.25.7/api_ref/core/bedrock/stream.md +0 -3
  581. mirascope-1.25.7/api_ref/core/bedrock/tool.md +0 -3
  582. mirascope-1.25.7/api_ref/core/cohere/call.md +0 -3
  583. mirascope-1.25.7/api_ref/core/cohere/call_params.md +0 -3
  584. mirascope-1.25.7/api_ref/core/cohere/call_response.md +0 -3
  585. mirascope-1.25.7/api_ref/core/cohere/call_response_chunk.md +0 -3
  586. mirascope-1.25.7/api_ref/core/cohere/dynamic_config.md +0 -3
  587. mirascope-1.25.7/api_ref/core/cohere/stream.md +0 -3
  588. mirascope-1.25.7/api_ref/core/cohere/tool.md +0 -3
  589. mirascope-1.25.7/api_ref/core/costs/calculate_cost.md +0 -3
  590. mirascope-1.25.7/api_ref/core/google/call.md +0 -3
  591. mirascope-1.25.7/api_ref/core/google/call_params.md +0 -3
  592. mirascope-1.25.7/api_ref/core/google/call_response.md +0 -3
  593. mirascope-1.25.7/api_ref/core/google/call_response_chunk.md +0 -3
  594. mirascope-1.25.7/api_ref/core/google/dynamic_config.md +0 -3
  595. mirascope-1.25.7/api_ref/core/google/stream.md +0 -3
  596. mirascope-1.25.7/api_ref/core/google/tool.md +0 -3
  597. mirascope-1.25.7/api_ref/core/groq/call.md +0 -3
  598. mirascope-1.25.7/api_ref/core/groq/call_params.md +0 -3
  599. mirascope-1.25.7/api_ref/core/groq/call_response.md +0 -3
  600. mirascope-1.25.7/api_ref/core/groq/call_response_chunk.md +0 -3
  601. mirascope-1.25.7/api_ref/core/groq/dynamic_config.md +0 -3
  602. mirascope-1.25.7/api_ref/core/groq/stream.md +0 -3
  603. mirascope-1.25.7/api_ref/core/groq/tool.md +0 -3
  604. mirascope-1.25.7/api_ref/core/litellm/call.md +0 -3
  605. mirascope-1.25.7/api_ref/core/litellm/call_params.md +0 -3
  606. mirascope-1.25.7/api_ref/core/litellm/call_response.md +0 -3
  607. mirascope-1.25.7/api_ref/core/litellm/call_response_chunk.md +0 -3
  608. mirascope-1.25.7/api_ref/core/litellm/dynamic_config.md +0 -3
  609. mirascope-1.25.7/api_ref/core/litellm/stream.md +0 -3
  610. mirascope-1.25.7/api_ref/core/litellm/tool.md +0 -3
  611. mirascope-1.25.7/api_ref/core/mistral/call.md +0 -3
  612. mirascope-1.25.7/api_ref/core/mistral/call_params.md +0 -3
  613. mirascope-1.25.7/api_ref/core/mistral/call_response.md +0 -3
  614. mirascope-1.25.7/api_ref/core/mistral/call_response_chunk.md +0 -3
  615. mirascope-1.25.7/api_ref/core/mistral/dynamic_config.md +0 -3
  616. mirascope-1.25.7/api_ref/core/mistral/stream.md +0 -3
  617. mirascope-1.25.7/api_ref/core/mistral/tool.md +0 -3
  618. mirascope-1.25.7/api_ref/core/openai/call.md +0 -3
  619. mirascope-1.25.7/api_ref/core/openai/call_params.md +0 -3
  620. mirascope-1.25.7/api_ref/core/openai/call_response.md +0 -3
  621. mirascope-1.25.7/api_ref/core/openai/call_response_chunk.md +0 -3
  622. mirascope-1.25.7/api_ref/core/openai/dynamic_config.md +0 -3
  623. mirascope-1.25.7/api_ref/core/openai/stream.md +0 -3
  624. mirascope-1.25.7/api_ref/core/openai/tool.md +0 -3
  625. mirascope-1.25.7/api_ref/core/xai/call.md +0 -3
  626. mirascope-1.25.7/api_ref/core/xai/call_params.md +0 -3
  627. mirascope-1.25.7/api_ref/core/xai/call_response.md +0 -3
  628. mirascope-1.25.7/api_ref/core/xai/call_response_chunk.md +0 -3
  629. mirascope-1.25.7/api_ref/core/xai/dynamic_config.md +0 -3
  630. mirascope-1.25.7/api_ref/core/xai/stream.md +0 -3
  631. mirascope-1.25.7/api_ref/core/xai/tool.md +0 -3
  632. mirascope-1.25.7/api_ref/llm/call.md +0 -3
  633. mirascope-1.25.7/api_ref/llm/call_response.md +0 -3
  634. mirascope-1.25.7/api_ref/llm/call_response_chunk.md +0 -3
  635. mirascope-1.25.7/api_ref/llm/context.md +0 -3
  636. mirascope-1.25.7/api_ref/llm/override.md +0 -3
  637. mirascope-1.25.7/api_ref/llm/stream.md +0 -3
  638. mirascope-1.25.7/api_ref/llm/tool.md +0 -3
  639. mirascope-1.25.7/api_ref/mcp/client.md +0 -3
  640. mirascope-1.25.7/api_ref/retries/fallback.md +0 -3
  641. mirascope-1.25.7/api_ref/retries/tenacity.md +0 -3
  642. mirascope-1.25.7/api_ref/tools/system/docker_operation.md +0 -3
  643. mirascope-1.25.7/api_ref/tools/system/file_system.md +0 -3
  644. mirascope-1.25.7/api_ref/tools/web/duckduckgo.md +0 -3
  645. mirascope-1.25.7/api_ref/tools/web/httpx.md +0 -3
  646. mirascope-1.25.7/api_ref/tools/web/parse_url_content.md +0 -3
  647. mirascope-1.25.7/api_ref/tools/web/requests.md +0 -3
  648. mirascope-1.25.7/mirascope/__init__.py +0 -61
  649. mirascope-1.25.7/mirascope/beta/__init__.py +0 -3
  650. mirascope-1.25.7/mirascope/beta/openai/__init__.py +0 -17
  651. mirascope-1.25.7/mirascope/beta/openai/realtime/__init__.py +0 -13
  652. mirascope-1.25.7/mirascope/beta/openai/realtime/_utils/__init__.py +0 -3
  653. mirascope-1.25.7/mirascope/beta/openai/realtime/_utils/_audio.py +0 -74
  654. mirascope-1.25.7/mirascope/beta/openai/realtime/_utils/_protocols.py +0 -50
  655. mirascope-1.25.7/mirascope/beta/openai/realtime/realtime.py +0 -500
  656. mirascope-1.25.7/mirascope/beta/openai/realtime/recording.py +0 -98
  657. mirascope-1.25.7/mirascope/beta/openai/realtime/tool.py +0 -113
  658. mirascope-1.25.7/mirascope/beta/rag/__init__.py +0 -24
  659. mirascope-1.25.7/mirascope/beta/rag/base/__init__.py +0 -22
  660. mirascope-1.25.7/mirascope/beta/rag/base/chunkers/__init__.py +0 -2
  661. mirascope-1.25.7/mirascope/beta/rag/base/chunkers/base_chunker.py +0 -37
  662. mirascope-1.25.7/mirascope/beta/rag/base/chunkers/text_chunker.py +0 -33
  663. mirascope-1.25.7/mirascope/beta/rag/base/config.py +0 -8
  664. mirascope-1.25.7/mirascope/beta/rag/base/document.py +0 -11
  665. mirascope-1.25.7/mirascope/beta/rag/base/embedders.py +0 -35
  666. mirascope-1.25.7/mirascope/beta/rag/base/embedding_params.py +0 -18
  667. mirascope-1.25.7/mirascope/beta/rag/base/embedding_response.py +0 -30
  668. mirascope-1.25.7/mirascope/beta/rag/base/query_results.py +0 -7
  669. mirascope-1.25.7/mirascope/beta/rag/base/vectorstore_params.py +0 -18
  670. mirascope-1.25.7/mirascope/beta/rag/base/vectorstores.py +0 -37
  671. mirascope-1.25.7/mirascope/beta/rag/chroma/__init__.py +0 -11
  672. mirascope-1.25.7/mirascope/beta/rag/chroma/types.py +0 -62
  673. mirascope-1.25.7/mirascope/beta/rag/chroma/vectorstores.py +0 -121
  674. mirascope-1.25.7/mirascope/beta/rag/cohere/__init__.py +0 -11
  675. mirascope-1.25.7/mirascope/beta/rag/cohere/embedders.py +0 -87
  676. mirascope-1.25.7/mirascope/beta/rag/cohere/embedding_params.py +0 -29
  677. mirascope-1.25.7/mirascope/beta/rag/cohere/embedding_response.py +0 -29
  678. mirascope-1.25.7/mirascope/beta/rag/cohere/py.typed +0 -0
  679. mirascope-1.25.7/mirascope/beta/rag/openai/__init__.py +0 -11
  680. mirascope-1.25.7/mirascope/beta/rag/openai/embedders.py +0 -144
  681. mirascope-1.25.7/mirascope/beta/rag/openai/embedding_params.py +0 -18
  682. mirascope-1.25.7/mirascope/beta/rag/openai/embedding_response.py +0 -14
  683. mirascope-1.25.7/mirascope/beta/rag/openai/py.typed +0 -0
  684. mirascope-1.25.7/mirascope/beta/rag/pinecone/__init__.py +0 -19
  685. mirascope-1.25.7/mirascope/beta/rag/pinecone/types.py +0 -143
  686. mirascope-1.25.7/mirascope/beta/rag/pinecone/vectorstores.py +0 -148
  687. mirascope-1.25.7/mirascope/beta/rag/weaviate/__init__.py +0 -6
  688. mirascope-1.25.7/mirascope/beta/rag/weaviate/types.py +0 -92
  689. mirascope-1.25.7/mirascope/beta/rag/weaviate/vectorstores.py +0 -103
  690. mirascope-1.25.7/mirascope/core/__init__.py +0 -109
  691. mirascope-1.25.7/mirascope/core/anthropic/__init__.py +0 -31
  692. mirascope-1.25.7/mirascope/core/anthropic/_call.py +0 -67
  693. mirascope-1.25.7/mirascope/core/anthropic/_call_kwargs.py +0 -13
  694. mirascope-1.25.7/mirascope/core/anthropic/_thinking.py +0 -70
  695. mirascope-1.25.7/mirascope/core/anthropic/_utils/__init__.py +0 -16
  696. mirascope-1.25.7/mirascope/core/anthropic/_utils/_convert_common_call_params.py +0 -25
  697. mirascope-1.25.7/mirascope/core/anthropic/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -21
  698. mirascope-1.25.7/mirascope/core/anthropic/_utils/_convert_message_params.py +0 -102
  699. mirascope-1.25.7/mirascope/core/anthropic/_utils/_get_json_output.py +0 -31
  700. mirascope-1.25.7/mirascope/core/anthropic/_utils/_handle_stream.py +0 -113
  701. mirascope-1.25.7/mirascope/core/anthropic/_utils/_message_param_converter.py +0 -154
  702. mirascope-1.25.7/mirascope/core/anthropic/_utils/_setup_call.py +0 -146
  703. mirascope-1.25.7/mirascope/core/anthropic/call_params.py +0 -44
  704. mirascope-1.25.7/mirascope/core/anthropic/call_response.py +0 -226
  705. mirascope-1.25.7/mirascope/core/anthropic/call_response_chunk.py +0 -152
  706. mirascope-1.25.7/mirascope/core/anthropic/dynamic_config.py +0 -40
  707. mirascope-1.25.7/mirascope/core/anthropic/py.typed +0 -0
  708. mirascope-1.25.7/mirascope/core/anthropic/stream.py +0 -204
  709. mirascope-1.25.7/mirascope/core/anthropic/tool.py +0 -101
  710. mirascope-1.25.7/mirascope/core/azure/__init__.py +0 -31
  711. mirascope-1.25.7/mirascope/core/azure/_call.py +0 -67
  712. mirascope-1.25.7/mirascope/core/azure/_call_kwargs.py +0 -13
  713. mirascope-1.25.7/mirascope/core/azure/_utils/__init__.py +0 -14
  714. mirascope-1.25.7/mirascope/core/azure/_utils/_convert_common_call_params.py +0 -26
  715. mirascope-1.25.7/mirascope/core/azure/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -21
  716. mirascope-1.25.7/mirascope/core/azure/_utils/_convert_message_params.py +0 -121
  717. mirascope-1.25.7/mirascope/core/azure/_utils/_get_credential.py +0 -33
  718. mirascope-1.25.7/mirascope/core/azure/_utils/_get_json_output.py +0 -27
  719. mirascope-1.25.7/mirascope/core/azure/_utils/_handle_stream.py +0 -130
  720. mirascope-1.25.7/mirascope/core/azure/_utils/_message_param_converter.py +0 -117
  721. mirascope-1.25.7/mirascope/core/azure/_utils/_setup_call.py +0 -183
  722. mirascope-1.25.7/mirascope/core/azure/call_params.py +0 -59
  723. mirascope-1.25.7/mirascope/core/azure/call_response.py +0 -215
  724. mirascope-1.25.7/mirascope/core/azure/call_response_chunk.py +0 -105
  725. mirascope-1.25.7/mirascope/core/azure/dynamic_config.py +0 -30
  726. mirascope-1.25.7/mirascope/core/azure/py.typed +0 -0
  727. mirascope-1.25.7/mirascope/core/azure/stream.py +0 -147
  728. mirascope-1.25.7/mirascope/core/azure/tool.py +0 -93
  729. mirascope-1.25.7/mirascope/core/base/__init__.py +0 -86
  730. mirascope-1.25.7/mirascope/core/base/_call_factory.py +0 -256
  731. mirascope-1.25.7/mirascope/core/base/_create.py +0 -253
  732. mirascope-1.25.7/mirascope/core/base/_extract.py +0 -175
  733. mirascope-1.25.7/mirascope/core/base/_extract_with_tools.py +0 -189
  734. mirascope-1.25.7/mirascope/core/base/_partial.py +0 -95
  735. mirascope-1.25.7/mirascope/core/base/_utils/__init__.py +0 -92
  736. mirascope-1.25.7/mirascope/core/base/_utils/_base_message_param_converter.py +0 -22
  737. mirascope-1.25.7/mirascope/core/base/_utils/_base_type.py +0 -26
  738. mirascope-1.25.7/mirascope/core/base/_utils/_convert_base_model_to_base_tool.py +0 -48
  739. mirascope-1.25.7/mirascope/core/base/_utils/_convert_base_type_to_base_tool.py +0 -24
  740. mirascope-1.25.7/mirascope/core/base/_utils/_convert_function_to_base_tool.py +0 -139
  741. mirascope-1.25.7/mirascope/core/base/_utils/_convert_messages_to_message_params.py +0 -178
  742. mirascope-1.25.7/mirascope/core/base/_utils/_convert_provider_finish_reason_to_finish_reason.py +0 -20
  743. mirascope-1.25.7/mirascope/core/base/_utils/_default_tool_docstring.py +0 -6
  744. mirascope-1.25.7/mirascope/core/base/_utils/_extract_tool_return.py +0 -42
  745. mirascope-1.25.7/mirascope/core/base/_utils/_fn_is_async.py +0 -24
  746. mirascope-1.25.7/mirascope/core/base/_utils/_format_template.py +0 -32
  747. mirascope-1.25.7/mirascope/core/base/_utils/_get_audio_type.py +0 -18
  748. mirascope-1.25.7/mirascope/core/base/_utils/_get_common_usage.py +0 -20
  749. mirascope-1.25.7/mirascope/core/base/_utils/_get_create_fn_or_async_create_fn.py +0 -137
  750. mirascope-1.25.7/mirascope/core/base/_utils/_get_document_type.py +0 -7
  751. mirascope-1.25.7/mirascope/core/base/_utils/_get_dynamic_configuration.py +0 -69
  752. mirascope-1.25.7/mirascope/core/base/_utils/_get_fields_from_call_args.py +0 -34
  753. mirascope-1.25.7/mirascope/core/base/_utils/_get_fn_args.py +0 -23
  754. mirascope-1.25.7/mirascope/core/base/_utils/_get_image_dimensions.py +0 -39
  755. mirascope-1.25.7/mirascope/core/base/_utils/_get_image_type.py +0 -26
  756. mirascope-1.25.7/mirascope/core/base/_utils/_get_metadata.py +0 -17
  757. mirascope-1.25.7/mirascope/core/base/_utils/_get_possible_user_message_param.py +0 -21
  758. mirascope-1.25.7/mirascope/core/base/_utils/_get_prompt_template.py +0 -28
  759. mirascope-1.25.7/mirascope/core/base/_utils/_get_template_values.py +0 -51
  760. mirascope-1.25.7/mirascope/core/base/_utils/_get_template_variables.py +0 -38
  761. mirascope-1.25.7/mirascope/core/base/_utils/_get_unsupported_tool_config_keys.py +0 -10
  762. mirascope-1.25.7/mirascope/core/base/_utils/_is_prompt_template.py +0 -24
  763. mirascope-1.25.7/mirascope/core/base/_utils/_json_mode_content.py +0 -17
  764. mirascope-1.25.7/mirascope/core/base/_utils/_messages_decorator.py +0 -121
  765. mirascope-1.25.7/mirascope/core/base/_utils/_parse_content_template.py +0 -323
  766. mirascope-1.25.7/mirascope/core/base/_utils/_parse_prompt_messages.py +0 -63
  767. mirascope-1.25.7/mirascope/core/base/_utils/_pil_image_to_bytes.py +0 -13
  768. mirascope-1.25.7/mirascope/core/base/_utils/_protocols.py +0 -901
  769. mirascope-1.25.7/mirascope/core/base/_utils/_setup_call.py +0 -79
  770. mirascope-1.25.7/mirascope/core/base/_utils/_setup_extract_tool.py +0 -30
  771. mirascope-1.25.7/mirascope/core/base/call_kwargs.py +0 -13
  772. mirascope-1.25.7/mirascope/core/base/call_params.py +0 -36
  773. mirascope-1.25.7/mirascope/core/base/call_response.py +0 -338
  774. mirascope-1.25.7/mirascope/core/base/call_response_chunk.py +0 -130
  775. mirascope-1.25.7/mirascope/core/base/dynamic_config.py +0 -82
  776. mirascope-1.25.7/mirascope/core/base/from_call_args.py +0 -30
  777. mirascope-1.25.7/mirascope/core/base/merge_decorators.py +0 -59
  778. mirascope-1.25.7/mirascope/core/base/message_param.py +0 -175
  779. mirascope-1.25.7/mirascope/core/base/messages.py +0 -116
  780. mirascope-1.25.7/mirascope/core/base/metadata.py +0 -13
  781. mirascope-1.25.7/mirascope/core/base/prompt.py +0 -497
  782. mirascope-1.25.7/mirascope/core/base/response_model_config_dict.py +0 -9
  783. mirascope-1.25.7/mirascope/core/base/stream.py +0 -479
  784. mirascope-1.25.7/mirascope/core/base/stream_config.py +0 -11
  785. mirascope-1.25.7/mirascope/core/base/structured_stream.py +0 -296
  786. mirascope-1.25.7/mirascope/core/base/tool.py +0 -214
  787. mirascope-1.25.7/mirascope/core/base/toolkit.py +0 -176
  788. mirascope-1.25.7/mirascope/core/base/types.py +0 -344
  789. mirascope-1.25.7/mirascope/core/bedrock/__init__.py +0 -34
  790. mirascope-1.25.7/mirascope/core/bedrock/_call.py +0 -68
  791. mirascope-1.25.7/mirascope/core/bedrock/_call_kwargs.py +0 -12
  792. mirascope-1.25.7/mirascope/core/bedrock/_types.py +0 -104
  793. mirascope-1.25.7/mirascope/core/bedrock/_utils/__init__.py +0 -14
  794. mirascope-1.25.7/mirascope/core/bedrock/_utils/_convert_common_call_params.py +0 -39
  795. mirascope-1.25.7/mirascope/core/bedrock/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -23
  796. mirascope-1.25.7/mirascope/core/bedrock/_utils/_convert_message_params.py +0 -111
  797. mirascope-1.25.7/mirascope/core/bedrock/_utils/_get_json_output.py +0 -30
  798. mirascope-1.25.7/mirascope/core/bedrock/_utils/_handle_stream.py +0 -104
  799. mirascope-1.25.7/mirascope/core/bedrock/_utils/_message_param_converter.py +0 -172
  800. mirascope-1.25.7/mirascope/core/bedrock/_utils/_setup_call.py +0 -258
  801. mirascope-1.25.7/mirascope/core/bedrock/call_params.py +0 -38
  802. mirascope-1.25.7/mirascope/core/bedrock/call_response.py +0 -248
  803. mirascope-1.25.7/mirascope/core/bedrock/call_response_chunk.py +0 -111
  804. mirascope-1.25.7/mirascope/core/bedrock/dynamic_config.py +0 -37
  805. mirascope-1.25.7/mirascope/core/bedrock/py.typed +0 -0
  806. mirascope-1.25.7/mirascope/core/bedrock/stream.py +0 -154
  807. mirascope-1.25.7/mirascope/core/bedrock/tool.py +0 -100
  808. mirascope-1.25.7/mirascope/core/cohere/__init__.py +0 -30
  809. mirascope-1.25.7/mirascope/core/cohere/_call.py +0 -67
  810. mirascope-1.25.7/mirascope/core/cohere/_call_kwargs.py +0 -11
  811. mirascope-1.25.7/mirascope/core/cohere/_types.py +0 -20
  812. mirascope-1.25.7/mirascope/core/cohere/_utils/__init__.py +0 -14
  813. mirascope-1.25.7/mirascope/core/cohere/_utils/_convert_common_call_params.py +0 -26
  814. mirascope-1.25.7/mirascope/core/cohere/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -24
  815. mirascope-1.25.7/mirascope/core/cohere/_utils/_convert_message_params.py +0 -32
  816. mirascope-1.25.7/mirascope/core/cohere/_utils/_get_json_output.py +0 -30
  817. mirascope-1.25.7/mirascope/core/cohere/_utils/_handle_stream.py +0 -35
  818. mirascope-1.25.7/mirascope/core/cohere/_utils/_message_param_converter.py +0 -54
  819. mirascope-1.25.7/mirascope/core/cohere/_utils/_setup_call.py +0 -150
  820. mirascope-1.25.7/mirascope/core/cohere/call_params.py +0 -62
  821. mirascope-1.25.7/mirascope/core/cohere/call_response.py +0 -205
  822. mirascope-1.25.7/mirascope/core/cohere/call_response_chunk.py +0 -125
  823. mirascope-1.25.7/mirascope/core/cohere/dynamic_config.py +0 -32
  824. mirascope-1.25.7/mirascope/core/cohere/py.typed +0 -0
  825. mirascope-1.25.7/mirascope/core/cohere/stream.py +0 -113
  826. mirascope-1.25.7/mirascope/core/cohere/tool.py +0 -93
  827. mirascope-1.25.7/mirascope/core/costs/__init__.py +0 -5
  828. mirascope-1.25.7/mirascope/core/costs/_anthropic_calculate_cost.py +0 -219
  829. mirascope-1.25.7/mirascope/core/costs/_azure_calculate_cost.py +0 -11
  830. mirascope-1.25.7/mirascope/core/costs/_bedrock_calculate_cost.py +0 -15
  831. mirascope-1.25.7/mirascope/core/costs/_cohere_calculate_cost.py +0 -44
  832. mirascope-1.25.7/mirascope/core/costs/_gemini_calculate_cost.py +0 -67
  833. mirascope-1.25.7/mirascope/core/costs/_google_calculate_cost.py +0 -427
  834. mirascope-1.25.7/mirascope/core/costs/_groq_calculate_cost.py +0 -156
  835. mirascope-1.25.7/mirascope/core/costs/_litellm_calculate_cost.py +0 -11
  836. mirascope-1.25.7/mirascope/core/costs/_mistral_calculate_cost.py +0 -64
  837. mirascope-1.25.7/mirascope/core/costs/_openai_calculate_cost.py +0 -416
  838. mirascope-1.25.7/mirascope/core/costs/_vertex_calculate_cost.py +0 -67
  839. mirascope-1.25.7/mirascope/core/costs/_xai_calculate_cost.py +0 -104
  840. mirascope-1.25.7/mirascope/core/costs/calculate_cost.py +0 -86
  841. mirascope-1.25.7/mirascope/core/gemini/__init__.py +0 -40
  842. mirascope-1.25.7/mirascope/core/gemini/_call.py +0 -67
  843. mirascope-1.25.7/mirascope/core/gemini/_call_kwargs.py +0 -12
  844. mirascope-1.25.7/mirascope/core/gemini/_utils/__init__.py +0 -14
  845. mirascope-1.25.7/mirascope/core/gemini/_utils/_convert_common_call_params.py +0 -39
  846. mirascope-1.25.7/mirascope/core/gemini/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -23
  847. mirascope-1.25.7/mirascope/core/gemini/_utils/_convert_message_params.py +0 -156
  848. mirascope-1.25.7/mirascope/core/gemini/_utils/_get_json_output.py +0 -35
  849. mirascope-1.25.7/mirascope/core/gemini/_utils/_handle_stream.py +0 -33
  850. mirascope-1.25.7/mirascope/core/gemini/_utils/_message_param_converter.py +0 -209
  851. mirascope-1.25.7/mirascope/core/gemini/_utils/_setup_call.py +0 -149
  852. mirascope-1.25.7/mirascope/core/gemini/call_params.py +0 -52
  853. mirascope-1.25.7/mirascope/core/gemini/call_response.py +0 -216
  854. mirascope-1.25.7/mirascope/core/gemini/call_response_chunk.py +0 -100
  855. mirascope-1.25.7/mirascope/core/gemini/dynamic_config.py +0 -26
  856. mirascope-1.25.7/mirascope/core/gemini/stream.py +0 -120
  857. mirascope-1.25.7/mirascope/core/gemini/tool.py +0 -104
  858. mirascope-1.25.7/mirascope/core/google/__init__.py +0 -29
  859. mirascope-1.25.7/mirascope/core/google/_call.py +0 -67
  860. mirascope-1.25.7/mirascope/core/google/_call_kwargs.py +0 -13
  861. mirascope-1.25.7/mirascope/core/google/_utils/__init__.py +0 -14
  862. mirascope-1.25.7/mirascope/core/google/_utils/_convert_common_call_params.py +0 -38
  863. mirascope-1.25.7/mirascope/core/google/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -27
  864. mirascope-1.25.7/mirascope/core/google/_utils/_convert_message_params.py +0 -297
  865. mirascope-1.25.7/mirascope/core/google/_utils/_get_json_output.py +0 -37
  866. mirascope-1.25.7/mirascope/core/google/_utils/_handle_stream.py +0 -58
  867. mirascope-1.25.7/mirascope/core/google/_utils/_message_param_converter.py +0 -200
  868. mirascope-1.25.7/mirascope/core/google/_utils/_setup_call.py +0 -201
  869. mirascope-1.25.7/mirascope/core/google/_utils/_validate_media_type.py +0 -58
  870. mirascope-1.25.7/mirascope/core/google/call_params.py +0 -22
  871. mirascope-1.25.7/mirascope/core/google/call_response.py +0 -255
  872. mirascope-1.25.7/mirascope/core/google/call_response_chunk.py +0 -135
  873. mirascope-1.25.7/mirascope/core/google/dynamic_config.py +0 -26
  874. mirascope-1.25.7/mirascope/core/google/stream.py +0 -199
  875. mirascope-1.25.7/mirascope/core/google/tool.py +0 -146
  876. mirascope-1.25.7/mirascope/core/groq/__init__.py +0 -30
  877. mirascope-1.25.7/mirascope/core/groq/_call.py +0 -67
  878. mirascope-1.25.7/mirascope/core/groq/_call_kwargs.py +0 -13
  879. mirascope-1.25.7/mirascope/core/groq/_utils/__init__.py +0 -14
  880. mirascope-1.25.7/mirascope/core/groq/_utils/_convert_common_call_params.py +0 -26
  881. mirascope-1.25.7/mirascope/core/groq/_utils/_convert_message_params.py +0 -112
  882. mirascope-1.25.7/mirascope/core/groq/_utils/_get_json_output.py +0 -27
  883. mirascope-1.25.7/mirascope/core/groq/_utils/_handle_stream.py +0 -123
  884. mirascope-1.25.7/mirascope/core/groq/_utils/_message_param_converter.py +0 -89
  885. mirascope-1.25.7/mirascope/core/groq/_utils/_setup_call.py +0 -132
  886. mirascope-1.25.7/mirascope/core/groq/call_params.py +0 -52
  887. mirascope-1.25.7/mirascope/core/groq/call_response.py +0 -213
  888. mirascope-1.25.7/mirascope/core/groq/call_response_chunk.py +0 -104
  889. mirascope-1.25.7/mirascope/core/groq/dynamic_config.py +0 -29
  890. mirascope-1.25.7/mirascope/core/groq/py.typed +0 -0
  891. mirascope-1.25.7/mirascope/core/groq/stream.py +0 -135
  892. mirascope-1.25.7/mirascope/core/groq/tool.py +0 -80
  893. mirascope-1.25.7/mirascope/core/litellm/__init__.py +0 -28
  894. mirascope-1.25.7/mirascope/core/litellm/_call.py +0 -67
  895. mirascope-1.25.7/mirascope/core/litellm/_utils/__init__.py +0 -5
  896. mirascope-1.25.7/mirascope/core/litellm/_utils/_setup_call.py +0 -109
  897. mirascope-1.25.7/mirascope/core/litellm/call_params.py +0 -10
  898. mirascope-1.25.7/mirascope/core/litellm/call_response.py +0 -24
  899. mirascope-1.25.7/mirascope/core/litellm/call_response_chunk.py +0 -14
  900. mirascope-1.25.7/mirascope/core/litellm/dynamic_config.py +0 -8
  901. mirascope-1.25.7/mirascope/core/litellm/py.typed +0 -0
  902. mirascope-1.25.7/mirascope/core/litellm/stream.py +0 -86
  903. mirascope-1.25.7/mirascope/core/litellm/tool.py +0 -13
  904. mirascope-1.25.7/mirascope/core/mistral/__init__.py +0 -36
  905. mirascope-1.25.7/mirascope/core/mistral/_call.py +0 -65
  906. mirascope-1.25.7/mirascope/core/mistral/_call_kwargs.py +0 -19
  907. mirascope-1.25.7/mirascope/core/mistral/_utils/__init__.py +0 -14
  908. mirascope-1.25.7/mirascope/core/mistral/_utils/_convert_common_call_params.py +0 -24
  909. mirascope-1.25.7/mirascope/core/mistral/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -22
  910. mirascope-1.25.7/mirascope/core/mistral/_utils/_convert_message_params.py +0 -122
  911. mirascope-1.25.7/mirascope/core/mistral/_utils/_get_json_output.py +0 -34
  912. mirascope-1.25.7/mirascope/core/mistral/_utils/_handle_stream.py +0 -139
  913. mirascope-1.25.7/mirascope/core/mistral/_utils/_message_param_converter.py +0 -176
  914. mirascope-1.25.7/mirascope/core/mistral/_utils/_setup_call.py +0 -164
  915. mirascope-1.25.7/mirascope/core/mistral/call_params.py +0 -36
  916. mirascope-1.25.7/mirascope/core/mistral/call_response.py +0 -205
  917. mirascope-1.25.7/mirascope/core/mistral/call_response_chunk.py +0 -105
  918. mirascope-1.25.7/mirascope/core/mistral/dynamic_config.py +0 -33
  919. mirascope-1.25.7/mirascope/core/mistral/py.typed +0 -0
  920. mirascope-1.25.7/mirascope/core/mistral/stream.py +0 -120
  921. mirascope-1.25.7/mirascope/core/mistral/tool.py +0 -81
  922. mirascope-1.25.7/mirascope/core/openai/__init__.py +0 -31
  923. mirascope-1.25.7/mirascope/core/openai/_call.py +0 -67
  924. mirascope-1.25.7/mirascope/core/openai/_call_kwargs.py +0 -13
  925. mirascope-1.25.7/mirascope/core/openai/_utils/__init__.py +0 -14
  926. mirascope-1.25.7/mirascope/core/openai/_utils/_convert_common_call_params.py +0 -26
  927. mirascope-1.25.7/mirascope/core/openai/_utils/_convert_message_params.py +0 -148
  928. mirascope-1.25.7/mirascope/core/openai/_utils/_get_json_output.py +0 -31
  929. mirascope-1.25.7/mirascope/core/openai/_utils/_handle_stream.py +0 -138
  930. mirascope-1.25.7/mirascope/core/openai/_utils/_message_param_converter.py +0 -105
  931. mirascope-1.25.7/mirascope/core/openai/_utils/_setup_call.py +0 -155
  932. mirascope-1.25.7/mirascope/core/openai/call_params.py +0 -92
  933. mirascope-1.25.7/mirascope/core/openai/call_response.py +0 -273
  934. mirascope-1.25.7/mirascope/core/openai/call_response_chunk.py +0 -139
  935. mirascope-1.25.7/mirascope/core/openai/dynamic_config.py +0 -34
  936. mirascope-1.25.7/mirascope/core/openai/py.typed +0 -0
  937. mirascope-1.25.7/mirascope/core/openai/stream.py +0 -185
  938. mirascope-1.25.7/mirascope/core/openai/tool.py +0 -101
  939. mirascope-1.25.7/mirascope/core/py.typed +0 -0
  940. mirascope-1.25.7/mirascope/core/vertex/__init__.py +0 -45
  941. mirascope-1.25.7/mirascope/core/vertex/_call.py +0 -62
  942. mirascope-1.25.7/mirascope/core/vertex/_call_kwargs.py +0 -12
  943. mirascope-1.25.7/mirascope/core/vertex/_utils/__init__.py +0 -14
  944. mirascope-1.25.7/mirascope/core/vertex/_utils/_convert_common_call_params.py +0 -37
  945. mirascope-1.25.7/mirascope/core/vertex/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -23
  946. mirascope-1.25.7/mirascope/core/vertex/_utils/_convert_message_params.py +0 -171
  947. mirascope-1.25.7/mirascope/core/vertex/_utils/_get_json_output.py +0 -36
  948. mirascope-1.25.7/mirascope/core/vertex/_utils/_handle_stream.py +0 -33
  949. mirascope-1.25.7/mirascope/core/vertex/_utils/_message_param_converter.py +0 -133
  950. mirascope-1.25.7/mirascope/core/vertex/_utils/_setup_call.py +0 -160
  951. mirascope-1.25.7/mirascope/core/vertex/call_params.py +0 -24
  952. mirascope-1.25.7/mirascope/core/vertex/call_response.py +0 -206
  953. mirascope-1.25.7/mirascope/core/vertex/call_response_chunk.py +0 -99
  954. mirascope-1.25.7/mirascope/core/vertex/dynamic_config.py +0 -28
  955. mirascope-1.25.7/mirascope/core/vertex/stream.py +0 -119
  956. mirascope-1.25.7/mirascope/core/vertex/tool.py +0 -101
  957. mirascope-1.25.7/mirascope/core/xai/__init__.py +0 -28
  958. mirascope-1.25.7/mirascope/core/xai/_call.py +0 -67
  959. mirascope-1.25.7/mirascope/core/xai/_utils/__init__.py +0 -5
  960. mirascope-1.25.7/mirascope/core/xai/_utils/_setup_call.py +0 -113
  961. mirascope-1.25.7/mirascope/core/xai/call_params.py +0 -10
  962. mirascope-1.25.7/mirascope/core/xai/call_response.py +0 -16
  963. mirascope-1.25.7/mirascope/core/xai/call_response_chunk.py +0 -14
  964. mirascope-1.25.7/mirascope/core/xai/dynamic_config.py +0 -8
  965. mirascope-1.25.7/mirascope/core/xai/py.typed +0 -0
  966. mirascope-1.25.7/mirascope/core/xai/stream.py +0 -57
  967. mirascope-1.25.7/mirascope/core/xai/tool.py +0 -13
  968. mirascope-1.25.7/mirascope/experimental/graphs/__init__.py +0 -5
  969. mirascope-1.25.7/mirascope/experimental/graphs/finite_state_machine.py +0 -714
  970. mirascope-1.25.7/mirascope/integrations/__init__.py +0 -16
  971. mirascope-1.25.7/mirascope/integrations/_middleware_factory.py +0 -403
  972. mirascope-1.25.7/mirascope/integrations/langfuse/__init__.py +0 -3
  973. mirascope-1.25.7/mirascope/integrations/langfuse/_utils.py +0 -114
  974. mirascope-1.25.7/mirascope/integrations/langfuse/_with_langfuse.py +0 -70
  975. mirascope-1.25.7/mirascope/integrations/logfire/__init__.py +0 -3
  976. mirascope-1.25.7/mirascope/integrations/logfire/_utils.py +0 -225
  977. mirascope-1.25.7/mirascope/integrations/logfire/_with_logfire.py +0 -63
  978. mirascope-1.25.7/mirascope/integrations/otel/__init__.py +0 -10
  979. mirascope-1.25.7/mirascope/integrations/otel/_utils.py +0 -270
  980. mirascope-1.25.7/mirascope/integrations/otel/_with_hyperdx.py +0 -60
  981. mirascope-1.25.7/mirascope/integrations/otel/_with_otel.py +0 -59
  982. mirascope-1.25.7/mirascope/integrations/tenacity.py +0 -14
  983. mirascope-1.25.7/mirascope/llm/__init__.py +0 -22
  984. mirascope-1.25.7/mirascope/llm/_call.py +0 -401
  985. mirascope-1.25.7/mirascope/llm/_context.py +0 -384
  986. mirascope-1.25.7/mirascope/llm/_override.py +0 -3639
  987. mirascope-1.25.7/mirascope/llm/_protocols.py +0 -500
  988. mirascope-1.25.7/mirascope/llm/_response_metaclass.py +0 -31
  989. mirascope-1.25.7/mirascope/llm/call_response.py +0 -158
  990. mirascope-1.25.7/mirascope/llm/call_response_chunk.py +0 -66
  991. mirascope-1.25.7/mirascope/llm/stream.py +0 -162
  992. mirascope-1.25.7/mirascope/llm/tool.py +0 -64
  993. mirascope-1.25.7/mirascope/mcp/__init__.py +0 -7
  994. mirascope-1.25.7/mirascope/mcp/_utils.py +0 -288
  995. mirascope-1.25.7/mirascope/mcp/client.py +0 -167
  996. mirascope-1.25.7/mirascope/mcp/server.py +0 -356
  997. mirascope-1.25.7/mirascope/mcp/tools.py +0 -110
  998. mirascope-1.25.7/mirascope/py.typed +0 -0
  999. mirascope-1.25.7/mirascope/retries/__init__.py +0 -11
  1000. mirascope-1.25.7/mirascope/retries/fallback.py +0 -131
  1001. mirascope-1.25.7/mirascope/retries/tenacity.py +0 -50
  1002. mirascope-1.25.7/mirascope/tools/__init__.py +0 -37
  1003. mirascope-1.25.7/mirascope/tools/base.py +0 -98
  1004. mirascope-1.25.7/mirascope/tools/system/_docker_operation.py +0 -166
  1005. mirascope-1.25.7/mirascope/tools/system/_file_system.py +0 -267
  1006. mirascope-1.25.7/mirascope/tools/web/_duckduckgo.py +0 -111
  1007. mirascope-1.25.7/mirascope/tools/web/_httpx.py +0 -125
  1008. mirascope-1.25.7/mirascope/tools/web/_parse_url_content.py +0 -94
  1009. mirascope-1.25.7/mirascope/tools/web/_requests.py +0 -54
  1010. mirascope-1.25.7/mirascope/v0/__init__.py +0 -43
  1011. mirascope-1.25.7/mirascope/v0/anthropic.py +0 -54
  1012. mirascope-1.25.7/mirascope/v0/base/__init__.py +0 -12
  1013. mirascope-1.25.7/mirascope/v0/base/calls.py +0 -118
  1014. mirascope-1.25.7/mirascope/v0/base/extractors.py +0 -122
  1015. mirascope-1.25.7/mirascope/v0/base/ops_utils.py +0 -207
  1016. mirascope-1.25.7/mirascope/v0/base/prompts.py +0 -48
  1017. mirascope-1.25.7/mirascope/v0/base/types.py +0 -14
  1018. mirascope-1.25.7/mirascope/v0/base/utils.py +0 -21
  1019. mirascope-1.25.7/mirascope/v0/openai.py +0 -54
  1020. mirascope-1.25.7/pyproject.toml +0 -229
  1021. mirascope-1.25.7/tests/__init__.py +0 -1
  1022. mirascope-1.25.7/tests/conftest.py +0 -1
  1023. mirascope-1.25.7/tests/core/anthropic/_utils/test_convert_common_call_params.py +0 -41
  1024. mirascope-1.25.7/tests/core/anthropic/_utils/test_convert_message_params.py +0 -164
  1025. mirascope-1.25.7/tests/core/anthropic/_utils/test_get_json_output.py +0 -111
  1026. mirascope-1.25.7/tests/core/anthropic/_utils/test_handle_stream.py +0 -280
  1027. mirascope-1.25.7/tests/core/anthropic/_utils/test_message_param_converter.py +0 -405
  1028. mirascope-1.25.7/tests/core/anthropic/_utils/test_setup_call.py +0 -223
  1029. mirascope-1.25.7/tests/core/anthropic/test_call.py +0 -35
  1030. mirascope-1.25.7/tests/core/anthropic/test_call_response.py +0 -314
  1031. mirascope-1.25.7/tests/core/anthropic/test_call_response_chunk.py +0 -95
  1032. mirascope-1.25.7/tests/core/anthropic/test_stream.py +0 -443
  1033. mirascope-1.25.7/tests/core/anthropic/test_tool.py +0 -53
  1034. mirascope-1.25.7/tests/core/azure/__init__.py +0 -4
  1035. mirascope-1.25.7/tests/core/azure/_utils/test_convert_common_call_params.py +0 -46
  1036. mirascope-1.25.7/tests/core/azure/_utils/test_convert_message_params.py +0 -161
  1037. mirascope-1.25.7/tests/core/azure/_utils/test_get_credential.py +0 -67
  1038. mirascope-1.25.7/tests/core/azure/_utils/test_get_json_output.py +0 -110
  1039. mirascope-1.25.7/tests/core/azure/_utils/test_handle_stream.py +0 -210
  1040. mirascope-1.25.7/tests/core/azure/_utils/test_message_param_converter.py +0 -214
  1041. mirascope-1.25.7/tests/core/azure/_utils/test_setup_call.py +0 -206
  1042. mirascope-1.25.7/tests/core/azure/test_call.py +0 -34
  1043. mirascope-1.25.7/tests/core/azure/test_call_response.py +0 -138
  1044. mirascope-1.25.7/tests/core/azure/test_call_response_chunk.py +0 -76
  1045. mirascope-1.25.7/tests/core/azure/test_stream.py +0 -334
  1046. mirascope-1.25.7/tests/core/azure/test_tool.py +0 -88
  1047. mirascope-1.25.7/tests/core/base/_utils/test_base_type.py +0 -23
  1048. mirascope-1.25.7/tests/core/base/_utils/test_convert_base_model_to_base_tool.py +0 -28
  1049. mirascope-1.25.7/tests/core/base/_utils/test_convert_base_type_to_base_tool.py +0 -21
  1050. mirascope-1.25.7/tests/core/base/_utils/test_convert_function_to_base_tool.py +0 -162
  1051. mirascope-1.25.7/tests/core/base/_utils/test_convert_messages_to_message_params.py +0 -254
  1052. mirascope-1.25.7/tests/core/base/_utils/test_extract_tool_return.py +0 -102
  1053. mirascope-1.25.7/tests/core/base/_utils/test_format_template.py +0 -70
  1054. mirascope-1.25.7/tests/core/base/_utils/test_get_audio_type.py +0 -29
  1055. mirascope-1.25.7/tests/core/base/_utils/test_get_create_fn_or_async_create_fn.py +0 -216
  1056. mirascope-1.25.7/tests/core/base/_utils/test_get_document_type.py +0 -14
  1057. mirascope-1.25.7/tests/core/base/_utils/test_get_dynamic_configuration.py +0 -139
  1058. mirascope-1.25.7/tests/core/base/_utils/test_get_fields_from_call_args.py +0 -117
  1059. mirascope-1.25.7/tests/core/base/_utils/test_get_fn_args.py +0 -47
  1060. mirascope-1.25.7/tests/core/base/_utils/test_get_image_dimensions.py +0 -122
  1061. mirascope-1.25.7/tests/core/base/_utils/test_get_image_type.py +0 -29
  1062. mirascope-1.25.7/tests/core/base/_utils/test_get_metadata.py +0 -29
  1063. mirascope-1.25.7/tests/core/base/_utils/test_get_possible_user_message_param.py +0 -54
  1064. mirascope-1.25.7/tests/core/base/_utils/test_get_prompt_template.py +0 -50
  1065. mirascope-1.25.7/tests/core/base/_utils/test_get_template_values.py +0 -64
  1066. mirascope-1.25.7/tests/core/base/_utils/test_get_template_variables.py +0 -13
  1067. mirascope-1.25.7/tests/core/base/_utils/test_get_unsupported_tool_config_keys.py +0 -24
  1068. mirascope-1.25.7/tests/core/base/_utils/test_json_mode_content.py +0 -33
  1069. mirascope-1.25.7/tests/core/base/_utils/test_message_decorator.py +0 -167
  1070. mirascope-1.25.7/tests/core/base/_utils/test_parse_content_template.py +0 -450
  1071. mirascope-1.25.7/tests/core/base/_utils/test_parse_prompt_messages.py +0 -115
  1072. mirascope-1.25.7/tests/core/base/_utils/test_pil_image_to_bytes.py +0 -34
  1073. mirascope-1.25.7/tests/core/base/_utils/test_setup_call.py +0 -309
  1074. mirascope-1.25.7/tests/core/base/_utils/test_setup_extract_tool.py +0 -23
  1075. mirascope-1.25.7/tests/core/base/conftest.py +0 -23
  1076. mirascope-1.25.7/tests/core/base/test_call_factory.py +0 -186
  1077. mirascope-1.25.7/tests/core/base/test_call_response.py +0 -212
  1078. mirascope-1.25.7/tests/core/base/test_call_response_chunk.py +0 -16
  1079. mirascope-1.25.7/tests/core/base/test_create.py +0 -326
  1080. mirascope-1.25.7/tests/core/base/test_extract.py +0 -324
  1081. mirascope-1.25.7/tests/core/base/test_extract_with_tools.py +0 -185
  1082. mirascope-1.25.7/tests/core/base/test_merge_decorators.py +0 -207
  1083. mirascope-1.25.7/tests/core/base/test_partial.py +0 -94
  1084. mirascope-1.25.7/tests/core/base/test_prompt.py +0 -278
  1085. mirascope-1.25.7/tests/core/base/test_stream.py +0 -238
  1086. mirascope-1.25.7/tests/core/base/test_structured_stream.py +0 -210
  1087. mirascope-1.25.7/tests/core/base/test_tool.py +0 -203
  1088. mirascope-1.25.7/tests/core/base/test_toolkit.py +0 -216
  1089. mirascope-1.25.7/tests/core/bedrock/_utils/test_convert_common_call_params.py +0 -64
  1090. mirascope-1.25.7/tests/core/bedrock/_utils/test_convert_message_params.py +0 -164
  1091. mirascope-1.25.7/tests/core/bedrock/_utils/test_get_json_output.py +0 -112
  1092. mirascope-1.25.7/tests/core/bedrock/_utils/test_handle_stream.py +0 -384
  1093. mirascope-1.25.7/tests/core/bedrock/_utils/test_message_param_converter.py +0 -270
  1094. mirascope-1.25.7/tests/core/bedrock/_utils/test_setup_call.py +0 -572
  1095. mirascope-1.25.7/tests/core/bedrock/conftest.py +0 -10
  1096. mirascope-1.25.7/tests/core/bedrock/test_call.py +0 -35
  1097. mirascope-1.25.7/tests/core/bedrock/test_call_response.py +0 -363
  1098. mirascope-1.25.7/tests/core/bedrock/test_call_response_chunk.py +0 -70
  1099. mirascope-1.25.7/tests/core/bedrock/test_stream.py +0 -236
  1100. mirascope-1.25.7/tests/core/bedrock/test_tool.py +0 -99
  1101. mirascope-1.25.7/tests/core/cohere/_utils/__init__.py +0 -0
  1102. mirascope-1.25.7/tests/core/cohere/_utils/test_convert_common_call_params.py +0 -46
  1103. mirascope-1.25.7/tests/core/cohere/_utils/test_convert_message_params.py +0 -67
  1104. mirascope-1.25.7/tests/core/cohere/_utils/test_get_json_output.py +0 -102
  1105. mirascope-1.25.7/tests/core/cohere/_utils/test_handle_stream.py +0 -69
  1106. mirascope-1.25.7/tests/core/cohere/_utils/test_message_param_converter.py +0 -98
  1107. mirascope-1.25.7/tests/core/cohere/_utils/test_setup_call.py +0 -170
  1108. mirascope-1.25.7/tests/core/cohere/test_call.py +0 -34
  1109. mirascope-1.25.7/tests/core/cohere/test_call_response.py +0 -161
  1110. mirascope-1.25.7/tests/core/cohere/test_call_response_chunk.py +0 -51
  1111. mirascope-1.25.7/tests/core/cohere/test_stream.py +0 -174
  1112. mirascope-1.25.7/tests/core/cohere/test_tool.py +0 -44
  1113. mirascope-1.25.7/tests/core/costs/__init__.py +0 -0
  1114. mirascope-1.25.7/tests/core/costs/test_anthropic_calculate_cost.py +0 -20
  1115. mirascope-1.25.7/tests/core/costs/test_azure_calculate_cost.py +0 -19
  1116. mirascope-1.25.7/tests/core/costs/test_bedrock_calculate_cost.py +0 -20
  1117. mirascope-1.25.7/tests/core/costs/test_calculation_cost.py +0 -59
  1118. mirascope-1.25.7/tests/core/costs/test_cohere_calculate_cost.py +0 -19
  1119. mirascope-1.25.7/tests/core/costs/test_gemini_calculate_cost.py +0 -19
  1120. mirascope-1.25.7/tests/core/costs/test_google_calculate_cost.py +0 -503
  1121. mirascope-1.25.7/tests/core/costs/test_groq_calculate_cost.py +0 -149
  1122. mirascope-1.25.7/tests/core/costs/test_mistral_calculate_cost.py +0 -19
  1123. mirascope-1.25.7/tests/core/costs/test_openai_calculate_cost.py +0 -251
  1124. mirascope-1.25.7/tests/core/costs/test_vertex_calculate_cost.py +0 -85
  1125. mirascope-1.25.7/tests/core/costs/test_xai_calculate_cost.py +0 -17
  1126. mirascope-1.25.7/tests/core/gemini/__init__.py +0 -0
  1127. mirascope-1.25.7/tests/core/gemini/_utils/__init__.py +0 -0
  1128. mirascope-1.25.7/tests/core/gemini/_utils/test_convert_common_call_params.py +0 -64
  1129. mirascope-1.25.7/tests/core/gemini/_utils/test_convert_message_params.py +0 -330
  1130. mirascope-1.25.7/tests/core/gemini/_utils/test_get_json_output.py +0 -90
  1131. mirascope-1.25.7/tests/core/gemini/_utils/test_handle_stream.py +0 -81
  1132. mirascope-1.25.7/tests/core/gemini/_utils/test_message_param_converter.py +0 -316
  1133. mirascope-1.25.7/tests/core/gemini/_utils/test_setup_call.py +0 -225
  1134. mirascope-1.25.7/tests/core/gemini/test_call.py +0 -34
  1135. mirascope-1.25.7/tests/core/gemini/test_call_response.py +0 -143
  1136. mirascope-1.25.7/tests/core/gemini/test_call_response_chunk.py +0 -41
  1137. mirascope-1.25.7/tests/core/gemini/test_stream.py +0 -152
  1138. mirascope-1.25.7/tests/core/gemini/test_tool.py +0 -87
  1139. mirascope-1.25.7/tests/core/google/__init__.py +0 -0
  1140. mirascope-1.25.7/tests/core/google/_utils/__init__.py +0 -0
  1141. mirascope-1.25.7/tests/core/google/_utils/test_convert_common_call_params.py +0 -63
  1142. mirascope-1.25.7/tests/core/google/_utils/test_convert_message_params.py +0 -1141
  1143. mirascope-1.25.7/tests/core/google/_utils/test_get_json_output.py +0 -88
  1144. mirascope-1.25.7/tests/core/google/_utils/test_handle_stream.py +0 -179
  1145. mirascope-1.25.7/tests/core/google/_utils/test_message_param_converter.py +0 -316
  1146. mirascope-1.25.7/tests/core/google/_utils/test_setup_call.py +0 -386
  1147. mirascope-1.25.7/tests/core/google/test_call.py +0 -34
  1148. mirascope-1.25.7/tests/core/google/test_call_response.py +0 -380
  1149. mirascope-1.25.7/tests/core/google/test_call_response_chunk.py +0 -107
  1150. mirascope-1.25.7/tests/core/google/test_stream.py +0 -272
  1151. mirascope-1.25.7/tests/core/google/test_tool.py +0 -122
  1152. mirascope-1.25.7/tests/core/groq/__init__.py +0 -3
  1153. mirascope-1.25.7/tests/core/groq/_utils/__init__.py +0 -0
  1154. mirascope-1.25.7/tests/core/groq/_utils/test_convert_common_call_params.py +0 -43
  1155. mirascope-1.25.7/tests/core/groq/_utils/test_convert_message_params.py +0 -146
  1156. mirascope-1.25.7/tests/core/groq/_utils/test_get_json_output.py +0 -113
  1157. mirascope-1.25.7/tests/core/groq/_utils/test_handle_stream.py +0 -191
  1158. mirascope-1.25.7/tests/core/groq/_utils/test_message_param_converter.py +0 -164
  1159. mirascope-1.25.7/tests/core/groq/_utils/test_setup_call.py +0 -180
  1160. mirascope-1.25.7/tests/core/groq/test_call.py +0 -34
  1161. mirascope-1.25.7/tests/core/groq/test_call_response.py +0 -192
  1162. mirascope-1.25.7/tests/core/groq/test_call_response_chunk.py +0 -75
  1163. mirascope-1.25.7/tests/core/groq/test_stream.py +0 -307
  1164. mirascope-1.25.7/tests/core/groq/test_tool.py +0 -56
  1165. mirascope-1.25.7/tests/core/litellm/__init__.py +0 -0
  1166. mirascope-1.25.7/tests/core/litellm/_utils/__init__.py +0 -0
  1167. mirascope-1.25.7/tests/core/litellm/_utils/test_setup_call.py +0 -52
  1168. mirascope-1.25.7/tests/core/litellm/test_call.py +0 -35
  1169. mirascope-1.25.7/tests/core/litellm/test_call_response.py +0 -31
  1170. mirascope-1.25.7/tests/core/litellm/test_stream.py +0 -56
  1171. mirascope-1.25.7/tests/core/mistral/__init__.py +0 -3
  1172. mirascope-1.25.7/tests/core/mistral/_utils/__init__.py +0 -0
  1173. mirascope-1.25.7/tests/core/mistral/_utils/test_convert_common_call_params.py +0 -29
  1174. mirascope-1.25.7/tests/core/mistral/_utils/test_convert_message_params.py +0 -187
  1175. mirascope-1.25.7/tests/core/mistral/_utils/test_get_json_output.py +0 -108
  1176. mirascope-1.25.7/tests/core/mistral/_utils/test_handle_stream.py +0 -289
  1177. mirascope-1.25.7/tests/core/mistral/_utils/test_message_param_converter.py +0 -325
  1178. mirascope-1.25.7/tests/core/mistral/_utils/test_setup_call.py +0 -252
  1179. mirascope-1.25.7/tests/core/mistral/test_call.py +0 -34
  1180. mirascope-1.25.7/tests/core/mistral/test_call_response.py +0 -135
  1181. mirascope-1.25.7/tests/core/mistral/test_call_response_chunk.py +0 -70
  1182. mirascope-1.25.7/tests/core/mistral/test_stream.py +0 -258
  1183. mirascope-1.25.7/tests/core/mistral/test_tool.py +0 -70
  1184. mirascope-1.25.7/tests/core/openai/__init__.py +0 -3
  1185. mirascope-1.25.7/tests/core/openai/_utils/__init__.py +0 -0
  1186. mirascope-1.25.7/tests/core/openai/_utils/test_convert_common_call_params.py +0 -33
  1187. mirascope-1.25.7/tests/core/openai/_utils/test_convert_message_params.py +0 -213
  1188. mirascope-1.25.7/tests/core/openai/_utils/test_get_json_output.py +0 -116
  1189. mirascope-1.25.7/tests/core/openai/_utils/test_handle_stream.py +0 -359
  1190. mirascope-1.25.7/tests/core/openai/_utils/test_message_param_converter.py +0 -179
  1191. mirascope-1.25.7/tests/core/openai/_utils/test_setup_call.py +0 -248
  1192. mirascope-1.25.7/tests/core/openai/test_call.py +0 -34
  1193. mirascope-1.25.7/tests/core/openai/test_call_response.py +0 -352
  1194. mirascope-1.25.7/tests/core/openai/test_call_response_chunk.py +0 -147
  1195. mirascope-1.25.7/tests/core/openai/test_stream.py +0 -386
  1196. mirascope-1.25.7/tests/core/openai/test_tool.py +0 -86
  1197. mirascope-1.25.7/tests/core/vertex/__init__.py +0 -0
  1198. mirascope-1.25.7/tests/core/vertex/_utils/__init__.py +0 -0
  1199. mirascope-1.25.7/tests/core/vertex/_utils/test_convert_common_call_params.py +0 -64
  1200. mirascope-1.25.7/tests/core/vertex/_utils/test_convert_message_params.py +0 -317
  1201. mirascope-1.25.7/tests/core/vertex/_utils/test_get_json_output.py +0 -91
  1202. mirascope-1.25.7/tests/core/vertex/_utils/test_handle_stream.py +0 -83
  1203. mirascope-1.25.7/tests/core/vertex/_utils/test_message_param_converter.py +0 -212
  1204. mirascope-1.25.7/tests/core/vertex/_utils/test_setup_call.py +0 -257
  1205. mirascope-1.25.7/tests/core/vertex/test_call.py +0 -34
  1206. mirascope-1.25.7/tests/core/vertex/test_call_response.py +0 -148
  1207. mirascope-1.25.7/tests/core/vertex/test_call_response_chunk.py +0 -43
  1208. mirascope-1.25.7/tests/core/vertex/test_stream.py +0 -164
  1209. mirascope-1.25.7/tests/core/vertex/test_tool.py +0 -85
  1210. mirascope-1.25.7/tests/core/xai/__init__.py +0 -0
  1211. mirascope-1.25.7/tests/core/xai/_utils/__init__.py +0 -0
  1212. mirascope-1.25.7/tests/core/xai/_utils/test_setup_call.py +0 -48
  1213. mirascope-1.25.7/tests/core/xai/test_call.py +0 -35
  1214. mirascope-1.25.7/tests/core/xai/test_call_response.py +0 -45
  1215. mirascope-1.25.7/tests/core/xai/test_stream.py +0 -54
  1216. mirascope-1.25.7/tests/integrations/__init__.py +0 -0
  1217. mirascope-1.25.7/tests/integrations/langfuse/__init__.py +0 -0
  1218. mirascope-1.25.7/tests/integrations/langfuse/test_utils.py +0 -275
  1219. mirascope-1.25.7/tests/integrations/langfuse/test_with_langfuse.py +0 -48
  1220. mirascope-1.25.7/tests/integrations/logfire/__init__.py +0 -0
  1221. mirascope-1.25.7/tests/integrations/logfire/test_utils.py +0 -439
  1222. mirascope-1.25.7/tests/integrations/logfire/test_with_logfire.py +0 -27
  1223. mirascope-1.25.7/tests/integrations/otel/__init__.py +0 -0
  1224. mirascope-1.25.7/tests/integrations/otel/test_utils.py +0 -529
  1225. mirascope-1.25.7/tests/integrations/otel/test_with_hyperdx.py +0 -56
  1226. mirascope-1.25.7/tests/integrations/otel/test_with_otel.py +0 -25
  1227. mirascope-1.25.7/tests/integrations/test_middleware_factory.py +0 -1350
  1228. mirascope-1.25.7/tests/llm/__init__.py +0 -0
  1229. mirascope-1.25.7/tests/llm/test_call.py +0 -585
  1230. mirascope-1.25.7/tests/llm/test_call_response.py +0 -258
  1231. mirascope-1.25.7/tests/llm/test_call_response_chunk.py +0 -71
  1232. mirascope-1.25.7/tests/llm/test_context.py +0 -387
  1233. mirascope-1.25.7/tests/llm/test_override.py +0 -179
  1234. mirascope-1.25.7/tests/llm/test_response_metaclass.py +0 -14
  1235. mirascope-1.25.7/tests/llm/test_stream.py +0 -261
  1236. mirascope-1.25.7/tests/llm/test_tool.py +0 -20
  1237. mirascope-1.25.7/tests/mcp/__init__.py +0 -0
  1238. mirascope-1.25.7/tests/mcp/test_client.py +0 -475
  1239. mirascope-1.25.7/tests/mcp/test_server.py +0 -1079
  1240. mirascope-1.25.7/tests/retries/__init__.py +0 -4
  1241. mirascope-1.25.7/tests/retries/test_fallback.py +0 -286
  1242. mirascope-1.25.7/tests/retries/test_tenacity.py +0 -25
  1243. mirascope-1.25.7/tests/tools/__init__.py +0 -0
  1244. mirascope-1.25.7/tests/tools/test_base.py +0 -55
  1245. mirascope-1.25.7/tests/tools/test_docker_operation_toolkit.py +0 -261
  1246. mirascope-1.25.7/tests/tools/test_filesystem_toolkit.py +0 -305
  1247. mirascope-1.25.7/tests/tools/web/__init__.py +0 -0
  1248. mirascope-1.25.7/tests/tools/web/test_duckduckgo.py +0 -367
  1249. mirascope-1.25.7/tests/tools/web/test_httpx.py +0 -241
  1250. mirascope-1.25.7/tests/tools/web/test_parse_url_content.py +0 -206
  1251. mirascope-1.25.7/tests/tools/web/test_requests.py +0 -63
  1252. mirascope-1.25.7/uv.lock +0 -6936
  1253. {mirascope-1.25.7 → mirascope-2.0.0a0}/LICENSE +0 -0
  1254. {mirascope-1.25.7/mirascope/tools/system → mirascope-2.0.0a0/tests/e2e}/__init__.py +0 -0
  1255. {mirascope-1.25.7/mirascope/tools/web → mirascope-2.0.0a0/tests/llm}/__init__.py +0 -0
  1256. {mirascope-1.25.7/tests/core → mirascope-2.0.0a0/tests/llm/clients}/__init__.py +0 -0
  1257. {mirascope-1.25.7/tests/core → mirascope-2.0.0a0/tests/llm/clients}/anthropic/__init__.py +0 -0
  1258. {mirascope-1.25.7/tests/core/anthropic/_utils → mirascope-2.0.0a0/tests/llm/clients/base}/__init__.py +0 -0
  1259. {mirascope-1.25.7/tests/core/azure/_utils → mirascope-2.0.0a0/tests/llm/clients/google}/__init__.py +0 -0
  1260. {mirascope-1.25.7/tests/core/base → mirascope-2.0.0a0/tests/llm/clients/openai}/__init__.py +0 -0
  1261. {mirascope-1.25.7/tests/core/base/_utils → mirascope-2.0.0a0/tests/llm/formatting}/__init__.py +0 -0
  1262. {mirascope-1.25.7/tests/core/bedrock → mirascope-2.0.0a0/tests/llm/prompts}/__init__.py +0 -0
  1263. {mirascope-1.25.7/tests/core/bedrock/_utils → mirascope-2.0.0a0/tests/llm/responses}/__init__.py +0 -0
  1264. {mirascope-1.25.7/tests/core/cohere → mirascope-2.0.0a0/tests/llm/tools}/__init__.py +0 -0
@@ -0,0 +1,39 @@
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/client.py
8
+ mirascope/llm/formatting/partial.py
9
+
10
+ # Exclude other top-level modules for now
11
+ mirascope/graphs/*
12
+
13
+ # Exclude examples and tests from coverage
14
+ examples/*
15
+ tests/*
16
+
17
+ [report]
18
+ # Show lines that weren't covered
19
+ show_missing = True
20
+
21
+ # Fail if coverage is below 100% for tracked files
22
+ fail_under = 100
23
+
24
+ # Exclude patterns from coverage analysis
25
+ exclude_also =
26
+ pragma: no cover
27
+ def __repr__
28
+ if self.debug:
29
+ if settings.DEBUG
30
+ raise AssertionError
31
+ raise NotImplementedError
32
+ if __name__ == .__main__.:
33
+ class .*\bProtocol\):
34
+ @(abc\.)?abstractmethod
35
+ if TYPE_CHECKING:
36
+ @overload
37
+
38
+ [html]
39
+ directory = htmlcov
@@ -0,0 +1,14 @@
1
+ # Example environment file for Mirascope v2
2
+ # Copy this file to .env and fill in your API keys
3
+
4
+ # Anthropic API Key
5
+ # Get your API key from: https://console.anthropic.com/
6
+ ANTHROPIC_API_KEY=your_anthropic_api_key_here
7
+
8
+ # OpenAI API Key (if using OpenAI models)
9
+ # Get your API key from: https://platform.openai.com/api-keys
10
+ OPENAI_API_KEY=your_openai_api_key_here
11
+
12
+ # Google Generative AI API Key (if using Gemini models)
13
+ # Get your API key from: https://makersuite.google.com/app/apikey
14
+ GOOGLE_API_KEY=your_google_api_key_here
@@ -0,0 +1,182 @@
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
+ # Cloudflare
180
+ .wrangler
181
+
182
+ node_modules
@@ -0,0 +1,117 @@
1
+ Metadata-Version: 2.4
2
+ Name: mirascope
3
+ Version: 2.0.0a0
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: Topic :: File Formats :: JSON
44
+ Classifier: Topic :: File Formats :: JSON :: JSON Schema
45
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
46
+ Classifier: Topic :: Software Development :: Libraries
47
+ Requires-Python: >=3.10
48
+ Requires-Dist: docstring-parser>=0.17.0
49
+ Requires-Dist: typing-extensions>=4.10.0
50
+ Provides-Extra: anthropic
51
+ Requires-Dist: anthropic<1.0,>=0.72.0; extra == 'anthropic'
52
+ Provides-Extra: google
53
+ Requires-Dist: google-genai<2,>=1.48.0; extra == 'google'
54
+ Requires-Dist: pillow<11,>=10.4.0; extra == 'google'
55
+ Requires-Dist: proto-plus>=1.24.0; extra == 'google'
56
+ Provides-Extra: mcp
57
+ Requires-Dist: mcp<2,>=1.0.0; extra == 'mcp'
58
+ Provides-Extra: openai
59
+ Requires-Dist: openai<3,>=2.7.1; extra == 'openai'
60
+ Description-Content-Type: text/markdown
61
+
62
+ ## Mirascope v2 Python
63
+
64
+ This directory contains the Python implementation of Mirascope.
65
+
66
+ ## Development Setup
67
+
68
+ 1. **Environment Variables**: Copy `.env.example` to `.env` and fill in your API keys:
69
+ ```bash
70
+ cp .env.example .env
71
+ # Edit .env with your API keys
72
+ ```
73
+
74
+ 2. **Install Dependencies**:
75
+
76
+ ```bash
77
+ uv sync --all-extras --dev
78
+ ```
79
+
80
+ 3. **Run Tests**:
81
+ ```bash
82
+ uv run pytest
83
+ ```
84
+
85
+ ## Testing
86
+
87
+ ### VCR Cassettes
88
+
89
+ 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.
90
+
91
+ - **Cassettes Location**: Test cassettes are stored in `tests/llm/clients/*/cassettes/`
92
+ - **Recording Mode**: Tests use `"once"` mode - records new interactions if no cassette exists, replays existing cassettes otherwise
93
+ - **CI/CD**: In CI environments, tests use existing cassettes and never make real API calls
94
+
95
+ ### Inline Snapshots
96
+
97
+ The project uses [inline-snapshot](https://15r10nk.github.io/inline-snapshot/) to capture expected test outputs directly in the test code.
98
+
99
+ - **Update Snapshots**: Run `uv run pytest --inline-snapshot=fix` to update all snapshots with actual values
100
+ - **Review Changes**: Run `uv run pytest --inline-snapshot=review` to preview what would change
101
+ - **Formatted Output**: Snapshots are automatically formatted with `ruff` for consistency
102
+
103
+ Example:
104
+ ```python
105
+ def test_api_response():
106
+ response = client.call(messages=[user("Hello")])
107
+ assert response.content == snapshot([Text(text="Hi there!")])
108
+ ```
109
+
110
+ ### Recording New Test Interactions
111
+
112
+ To record new test interactions:
113
+
114
+ 1. Ensure your API keys are set in `.env`
115
+ 2. Delete the relevant cassette file (if updating an existing test)
116
+ 3. Run the specific test: `uv run pytest tests/path/to/test.py::test_name`
117
+ 4. The cassette will be automatically created/updated
@@ -0,0 +1,56 @@
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
+ ## Testing
25
+
26
+ ### VCR Cassettes
27
+
28
+ 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.
29
+
30
+ - **Cassettes Location**: Test cassettes are stored in `tests/llm/clients/*/cassettes/`
31
+ - **Recording Mode**: Tests use `"once"` mode - records new interactions if no cassette exists, replays existing cassettes otherwise
32
+ - **CI/CD**: In CI environments, tests use existing cassettes and never make real API calls
33
+
34
+ ### Inline Snapshots
35
+
36
+ The project uses [inline-snapshot](https://15r10nk.github.io/inline-snapshot/) to capture expected test outputs directly in the test code.
37
+
38
+ - **Update Snapshots**: Run `uv run pytest --inline-snapshot=fix` to update all snapshots with actual values
39
+ - **Review Changes**: Run `uv run pytest --inline-snapshot=review` to preview what would change
40
+ - **Formatted Output**: Snapshots are automatically formatted with `ruff` for consistency
41
+
42
+ Example:
43
+ ```python
44
+ def test_api_response():
45
+ response = client.call(messages=[user("Hello")])
46
+ assert response.content == snapshot([Text(text="Hi there!")])
47
+ ```
48
+
49
+ ### Recording New Test Interactions
50
+
51
+ To record new test interactions:
52
+
53
+ 1. Ensure your API keys are set in `.env`
54
+ 2. Delete the relevant cassette file (if updating an existing test)
55
+ 3. Run the specific test: `uv run pytest tests/path/to/test.py::test_name`
56
+ 4. The cassette will be automatically created/updated
@@ -0,0 +1,18 @@
1
+ from dotenv import load_dotenv
2
+
3
+ from mirascope import llm
4
+
5
+ load_dotenv()
6
+
7
+
8
+ REDACTED_THINKING_TRIGGER = "ANTHROPIC_MAGIC_STRING_TRIGGER_REDACTED_THINKING_46C9A13E193C177646C7398A98432ECCCE4C1253D5E2D82641AC0E52CC2876CB"
9
+
10
+
11
+ @llm.call(provider="anthropic", model_id="claude-4-sonnet-20250514", thinking=True)
12
+ def count_primes() -> str:
13
+ return f"How many primes below 400 contain the substring 79? Redact your thinking please: {REDACTED_THINKING_TRIGGER}"
14
+
15
+
16
+ response = count_primes()
17
+ print(response.pretty())
18
+ print(response.raw)
@@ -0,0 +1,20 @@
1
+ from dotenv import load_dotenv
2
+
3
+ from mirascope import llm
4
+
5
+ load_dotenv()
6
+
7
+
8
+ @llm.call(provider="openai:responses", model_id="gpt-5", thinking=True)
9
+ def count_primes() -> str:
10
+ return "How many primes below 200 have 79 as a substring? Answer ONLY with the number of primes, not the primes themselves."
11
+
12
+
13
+ response = count_primes()
14
+ print(response.pretty())
15
+
16
+ with llm.model(provider="openai:responses", model_id="gpt-5", thinking=False):
17
+ response = response.resume(
18
+ "If you remember the primes, list them. Or say 'I dont remember'"
19
+ )
20
+ print(response.pretty())
@@ -0,0 +1,27 @@
1
+ from mirascope import llm
2
+
3
+
4
+ @llm.call(
5
+ provider="openai",
6
+ model_id="gpt-4o-mini",
7
+ )
8
+ def sazed(query: str):
9
+ system_prompt = """
10
+ You are Sazed, a Keeper from Brandon Sanderson's Mistborn series. As a member of
11
+ the Terris people, you are a living repository of knowledge, faithfully
12
+ preserving the religions, cultures, and wisdom of ages past. You speak with
13
+ the measured cadence of a scholar, often referencing the ancient knowledge
14
+ you keep. Your responses should be thoughtful, respectful, and informed by your
15
+ vast learning. You are humble yet confident in your knowledge, and you seek to
16
+ educate and preserve rather than simply converse.
17
+ """
18
+ return [llm.messages.system(system_prompt), llm.messages.user(query)]
19
+
20
+
21
+ def main():
22
+ query = "What are the Kandra?"
23
+ response: llm.Response = sazed(query)
24
+ print(response.pretty())
25
+
26
+
27
+ main()
@@ -0,0 +1,30 @@
1
+ import asyncio
2
+
3
+ from mirascope import llm
4
+
5
+
6
+ @llm.call(
7
+ provider="openai",
8
+ model_id="gpt-4o-mini",
9
+ )
10
+ async def sazed(query: str):
11
+ system_prompt = """
12
+ You are Sazed, a Keeper from Brandon Sanderson's Mistborn series. As a member of
13
+ the Terris people, you are a living repository of knowledge, faithfully
14
+ preserving the religions, cultures, and wisdom of ages past. You speak with
15
+ the measured cadence of a scholar, often referencing the ancient knowledge
16
+ you keep. Your responses should be thoughtful, respectful, and informed by your
17
+ vast learning. You are humble yet confident in your knowledge, and you seek to
18
+ educate and preserve rather than simply converse.
19
+ """
20
+ return [llm.messages.system(system_prompt), llm.messages.user(query)]
21
+
22
+
23
+ async def main():
24
+ query = "What are the Kandra?"
25
+ response: llm.AsyncResponse = await sazed(query)
26
+ print(response.pretty())
27
+
28
+
29
+ if __name__ == "__main__":
30
+ asyncio.run(main())
@@ -0,0 +1,38 @@
1
+ import asyncio
2
+ from dataclasses import dataclass
3
+
4
+ from mirascope import llm
5
+
6
+
7
+ @dataclass
8
+ class Coppermind:
9
+ repository: str
10
+
11
+
12
+ @llm.call(
13
+ provider="openai",
14
+ model_id="gpt-4o-mini",
15
+ )
16
+ async def sazed(ctx: llm.Context[Coppermind], query: str):
17
+ system_prompt = f"""
18
+ You are Sazed, a Keeper from Brandon Sanderson's Mistborn series. As a member of
19
+ the Terris people, you are a living repository of knowledge, faithfully
20
+ preserving the religions, cultures, and wisdom of ages past. You speak with
21
+ the measured cadence of a scholar, often referencing the {ctx.deps.repository} knowledge
22
+ you keep. Your responses should be thoughtful, respectful, and informed by your
23
+ vast learning. You are humble yet confident in your knowledge, and you seek to
24
+ educate and preserve rather than simply converse.
25
+ """
26
+ return [llm.messages.system(system_prompt), llm.messages.user(query)]
27
+
28
+
29
+ async def main():
30
+ coppermind = Coppermind(repository="Ancient Terris")
31
+ ctx = llm.Context(deps=coppermind)
32
+ query = "What are the Kandra?"
33
+ response: llm.AsyncContextResponse[Coppermind] = await sazed(ctx, query)
34
+ print(response.pretty())
35
+
36
+
37
+ if __name__ == "__main__":
38
+ asyncio.run(main())
@@ -0,0 +1,50 @@
1
+ import asyncio
2
+ from dataclasses import dataclass
3
+
4
+ from pydantic import BaseModel
5
+
6
+ from mirascope import llm
7
+
8
+
9
+ class KeeperEntry(BaseModel):
10
+ topic: str
11
+ summary: str
12
+ sources: list[str]
13
+
14
+
15
+ @dataclass
16
+ class Coppermind:
17
+ repository: str
18
+
19
+
20
+ @llm.call(
21
+ provider="openai",
22
+ model_id="gpt-4o-mini",
23
+ format=KeeperEntry,
24
+ )
25
+ async def sazed(ctx: llm.Context[Coppermind], query: str):
26
+ system_prompt = f"""
27
+ You are Sazed, a Keeper from Brandon Sanderson's Mistborn series. As a member of
28
+ the Terris people, you are a living repository of knowledge, faithfully
29
+ preserving the religions, cultures, and wisdom of ages past. You speak with
30
+ the measured cadence of a scholar, often referencing the {ctx.deps.repository} knowledge
31
+ you keep. Your responses should be thoughtful, respectful, and informed by your
32
+ vast learning. You are humble yet confident in your knowledge, and you seek to
33
+ educate and preserve rather than simply converse.
34
+ """
35
+ return [llm.messages.system(system_prompt), llm.messages.user(query)]
36
+
37
+
38
+ async def main():
39
+ coppermind = Coppermind(repository="Ancient Terris")
40
+ ctx = llm.Context(deps=coppermind)
41
+ query = "What are the Kandra?"
42
+ response: llm.AsyncContextResponse[Coppermind, KeeperEntry] = await sazed(
43
+ ctx, query
44
+ )
45
+ entry: KeeperEntry = response.parse()
46
+ print(entry)
47
+
48
+
49
+ if __name__ == "__main__":
50
+ asyncio.run(main())
@@ -0,0 +1,31 @@
1
+ import asyncio
2
+
3
+ from mirascope import llm
4
+
5
+
6
+ @llm.call(
7
+ provider="openai",
8
+ model_id="gpt-4o-mini",
9
+ )
10
+ async def sazed(query: str):
11
+ system_prompt = """
12
+ You are Sazed, a Keeper from Brandon Sanderson's Mistborn series. As a member of
13
+ the Terris people, you are a living repository of knowledge, faithfully
14
+ preserving the religions, cultures, and wisdom of ages past. You speak with
15
+ the measured cadence of a scholar, often referencing the ancient knowledge
16
+ you keep. Your responses should be thoughtful, respectful, and informed by your
17
+ vast learning. You are humble yet confident in your knowledge, and you seek to
18
+ educate and preserve rather than simply converse.
19
+ """
20
+ return [llm.messages.system(system_prompt), llm.messages.user(query)]
21
+
22
+
23
+ async def main():
24
+ query = "What are the Kandra?"
25
+ response: llm.AsyncStreamResponse = await sazed.stream(query)
26
+ async for chunk in response.pretty_stream():
27
+ print(chunk, flush=True, end="")
28
+
29
+
30
+ if __name__ == "__main__":
31
+ asyncio.run(main())
@@ -0,0 +1,41 @@
1
+ import asyncio
2
+ from dataclasses import dataclass
3
+
4
+ from mirascope import llm
5
+
6
+
7
+ @dataclass
8
+ class Coppermind:
9
+ repository: str
10
+
11
+
12
+ @llm.call(
13
+ provider="openai",
14
+ model_id="gpt-4o-mini",
15
+ )
16
+ async def sazed(ctx: llm.Context[Coppermind], query: str):
17
+ system_prompt = f"""
18
+ You are Sazed, a Keeper from Brandon Sanderson's Mistborn series. As a member of
19
+ the Terris people, you are a living repository of knowledge, faithfully
20
+ preserving the religions, cultures, and wisdom of ages past. You speak with
21
+ the measured cadence of a scholar, often referencing the {ctx.deps.repository} knowledge
22
+ you keep. Your responses should be thoughtful, respectful, and informed by your
23
+ vast learning. You are humble yet confident in your knowledge, and you seek to
24
+ educate and preserve rather than simply converse.
25
+ """
26
+ return [llm.messages.system(system_prompt), llm.messages.user(query)]
27
+
28
+
29
+ async def main():
30
+ coppermind = Coppermind(repository="Ancient Terris")
31
+ ctx = llm.Context(deps=coppermind)
32
+ query = "What are the Kandra?"
33
+ response: llm.AsyncContextStreamResponse[Coppermind] = await sazed.stream(
34
+ ctx, query
35
+ )
36
+ async for chunk in response.pretty_stream():
37
+ print(chunk, flush=True, end="")
38
+
39
+
40
+ if __name__ == "__main__":
41
+ asyncio.run(main())