mirascope 1.24.0__tar.gz → 1.24.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (733) hide show
  1. {mirascope-1.24.0 → mirascope-1.24.2}/PKG-INFO +1 -1
  2. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/azure/call_response_chunk.py +5 -5
  3. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/call_response.py +1 -3
  4. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/tool.py +9 -0
  5. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/bedrock/_utils/_message_param_converter.py +10 -9
  6. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/bedrock/call_response.py +0 -1
  7. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/bedrock/tool.py +4 -0
  8. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/llm/call_response.py +1 -10
  9. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/mcp/_utils.py +14 -8
  10. {mirascope-1.24.0 → mirascope-1.24.2}/pyproject.toml +1 -1
  11. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/bedrock/_utils/test_message_param_converter.py +3 -7
  12. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/bedrock/test_call_response.py +0 -1
  13. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/bedrock/test_tool.py +1 -0
  14. {mirascope-1.24.0 → mirascope-1.24.2}/tests/llm/test_call_response.py +9 -14
  15. {mirascope-1.24.0 → mirascope-1.24.2}/tests/mcp/test_client.py +3 -1
  16. {mirascope-1.24.0 → mirascope-1.24.2}/uv.lock +2524 -2524
  17. {mirascope-1.24.0 → mirascope-1.24.2}/.github/CODEOWNERS +0 -0
  18. {mirascope-1.24.0 → mirascope-1.24.2}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
  19. {mirascope-1.24.0 → mirascope-1.24.2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  20. {mirascope-1.24.0 → mirascope-1.24.2}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
  21. {mirascope-1.24.0 → mirascope-1.24.2}/.github/ISSUE_TEMPLATE/question.yml +0 -0
  22. {mirascope-1.24.0 → mirascope-1.24.2}/.github/workflows/label_issues.yml +0 -0
  23. {mirascope-1.24.0 → mirascope-1.24.2}/.github/workflows/lint.yml +0 -0
  24. {mirascope-1.24.0 → mirascope-1.24.2}/.github/workflows/release.yml +0 -0
  25. {mirascope-1.24.0 → mirascope-1.24.2}/.github/workflows/tests.yml +0 -0
  26. {mirascope-1.24.0 → mirascope-1.24.2}/.gitignore +0 -0
  27. {mirascope-1.24.0 → mirascope-1.24.2}/.pre-commit-config.yaml +0 -0
  28. {mirascope-1.24.0 → mirascope-1.24.2}/.vscode/extensions.json +0 -0
  29. {mirascope-1.24.0 → mirascope-1.24.2}/.vscode/launch.json +0 -0
  30. {mirascope-1.24.0 → mirascope-1.24.2}/.vscode/settings.json +0 -0
  31. {mirascope-1.24.0 → mirascope-1.24.2}/LICENSE +0 -0
  32. {mirascope-1.24.0 → mirascope-1.24.2}/README.md +0 -0
  33. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/anthropic/call.md +0 -0
  34. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/anthropic/call_params.md +0 -0
  35. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/anthropic/call_response.md +0 -0
  36. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/anthropic/call_response_chunk.md +0 -0
  37. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/anthropic/dynamic_config.md +0 -0
  38. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/anthropic/stream.md +0 -0
  39. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/anthropic/tool.md +0 -0
  40. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/azure/call.md +0 -0
  41. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/azure/call_params.md +0 -0
  42. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/azure/call_response.md +0 -0
  43. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/azure/call_response_chunk.md +0 -0
  44. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/azure/dynamic_config.md +0 -0
  45. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/azure/stream.md +0 -0
  46. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/azure/tool.md +0 -0
  47. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/base/call_factory.md +0 -0
  48. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/base/call_params.md +0 -0
  49. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/base/call_response.md +0 -0
  50. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/base/call_response_chunk.md +0 -0
  51. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/base/dynamic_config.md +0 -0
  52. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/base/merge_decorators.md +0 -0
  53. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/base/message_param.md +0 -0
  54. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/base/metadata.md +0 -0
  55. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/base/prompt.md +0 -0
  56. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/base/stream.md +0 -0
  57. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/base/structured_stream.md +0 -0
  58. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/base/tool.md +0 -0
  59. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/base/toolkit.md +0 -0
  60. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/base/types.md +0 -0
  61. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/bedrock/call.md +0 -0
  62. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/bedrock/call_params.md +0 -0
  63. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/bedrock/call_response.md +0 -0
  64. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/bedrock/call_response_chunk.md +0 -0
  65. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/bedrock/dynamic_config.md +0 -0
  66. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/bedrock/stream.md +0 -0
  67. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/bedrock/tool.md +0 -0
  68. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/cohere/call.md +0 -0
  69. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/cohere/call_params.md +0 -0
  70. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/cohere/call_response.md +0 -0
  71. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/cohere/call_response_chunk.md +0 -0
  72. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/cohere/dynamic_config.md +0 -0
  73. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/cohere/stream.md +0 -0
  74. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/cohere/tool.md +0 -0
  75. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/costs/calculate_cost.md +0 -0
  76. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/google/call.md +0 -0
  77. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/google/call_params.md +0 -0
  78. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/google/call_response.md +0 -0
  79. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/google/call_response_chunk.md +0 -0
  80. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/google/dynamic_config.md +0 -0
  81. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/google/stream.md +0 -0
  82. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/google/tool.md +0 -0
  83. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/groq/call.md +0 -0
  84. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/groq/call_params.md +0 -0
  85. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/groq/call_response.md +0 -0
  86. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/groq/call_response_chunk.md +0 -0
  87. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/groq/dynamic_config.md +0 -0
  88. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/groq/stream.md +0 -0
  89. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/groq/tool.md +0 -0
  90. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/litellm/call.md +0 -0
  91. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/litellm/call_params.md +0 -0
  92. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/litellm/call_response.md +0 -0
  93. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/litellm/call_response_chunk.md +0 -0
  94. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/litellm/dynamic_config.md +0 -0
  95. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/litellm/stream.md +0 -0
  96. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/litellm/tool.md +0 -0
  97. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/mistral/call.md +0 -0
  98. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/mistral/call_params.md +0 -0
  99. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/mistral/call_response.md +0 -0
  100. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/mistral/call_response_chunk.md +0 -0
  101. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/mistral/dynamic_config.md +0 -0
  102. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/mistral/stream.md +0 -0
  103. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/mistral/tool.md +0 -0
  104. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/openai/call.md +0 -0
  105. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/openai/call_params.md +0 -0
  106. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/openai/call_response.md +0 -0
  107. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/openai/call_response_chunk.md +0 -0
  108. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/openai/dynamic_config.md +0 -0
  109. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/openai/stream.md +0 -0
  110. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/openai/tool.md +0 -0
  111. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/xai/call.md +0 -0
  112. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/xai/call_params.md +0 -0
  113. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/xai/call_response.md +0 -0
  114. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/xai/call_response_chunk.md +0 -0
  115. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/xai/dynamic_config.md +0 -0
  116. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/xai/stream.md +0 -0
  117. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/core/xai/tool.md +0 -0
  118. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/llm/call.md +0 -0
  119. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/llm/call_response.md +0 -0
  120. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/llm/call_response_chunk.md +0 -0
  121. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/llm/context.md +0 -0
  122. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/llm/override.md +0 -0
  123. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/llm/stream.md +0 -0
  124. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/llm/tool.md +0 -0
  125. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/mcp/client.md +0 -0
  126. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/retries/fallback.md +0 -0
  127. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/retries/tenacity.md +0 -0
  128. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/tools/system/docker_operation.md +0 -0
  129. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/tools/system/file_system.md +0 -0
  130. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/tools/web/duckduckgo.md +0 -0
  131. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/tools/web/httpx.md +0 -0
  132. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/tools/web/parse_url_content.md +0 -0
  133. {mirascope-1.24.0 → mirascope-1.24.2}/api_ref/tools/web/requests.md +0 -0
  134. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/__init__.py +0 -0
  135. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/__init__.py +0 -0
  136. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/openai/__init__.py +0 -0
  137. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/openai/realtime/__init__.py +0 -0
  138. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/openai/realtime/_utils/__init__.py +0 -0
  139. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/openai/realtime/_utils/_audio.py +0 -0
  140. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/openai/realtime/_utils/_protocols.py +0 -0
  141. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/openai/realtime/realtime.py +0 -0
  142. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/openai/realtime/recording.py +0 -0
  143. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/openai/realtime/tool.py +0 -0
  144. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/rag/__init__.py +0 -0
  145. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/rag/base/__init__.py +0 -0
  146. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/rag/base/chunkers/__init__.py +0 -0
  147. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/rag/base/chunkers/base_chunker.py +0 -0
  148. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/rag/base/chunkers/text_chunker.py +0 -0
  149. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/rag/base/config.py +0 -0
  150. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/rag/base/document.py +0 -0
  151. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/rag/base/embedders.py +0 -0
  152. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/rag/base/embedding_params.py +0 -0
  153. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/rag/base/embedding_response.py +0 -0
  154. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/rag/base/query_results.py +0 -0
  155. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/rag/base/vectorstore_params.py +0 -0
  156. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/rag/base/vectorstores.py +0 -0
  157. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/rag/chroma/__init__.py +0 -0
  158. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/rag/chroma/types.py +0 -0
  159. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/rag/chroma/vectorstores.py +0 -0
  160. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/rag/cohere/__init__.py +0 -0
  161. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/rag/cohere/embedders.py +0 -0
  162. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/rag/cohere/embedding_params.py +0 -0
  163. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/rag/cohere/embedding_response.py +0 -0
  164. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/rag/cohere/py.typed +0 -0
  165. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/rag/openai/__init__.py +0 -0
  166. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/rag/openai/embedders.py +0 -0
  167. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/rag/openai/embedding_params.py +0 -0
  168. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/rag/openai/embedding_response.py +0 -0
  169. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/rag/openai/py.typed +0 -0
  170. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/rag/pinecone/__init__.py +0 -0
  171. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/rag/pinecone/types.py +0 -0
  172. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/rag/pinecone/vectorstores.py +0 -0
  173. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/rag/weaviate/__init__.py +0 -0
  174. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/rag/weaviate/types.py +0 -0
  175. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/beta/rag/weaviate/vectorstores.py +0 -0
  176. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/__init__.py +0 -0
  177. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/anthropic/__init__.py +0 -0
  178. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/anthropic/_call.py +0 -0
  179. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/anthropic/_call_kwargs.py +0 -0
  180. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/anthropic/_utils/__init__.py +0 -0
  181. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/anthropic/_utils/_convert_common_call_params.py +0 -0
  182. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/anthropic/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -0
  183. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/anthropic/_utils/_convert_message_params.py +0 -0
  184. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/anthropic/_utils/_get_json_output.py +0 -0
  185. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/anthropic/_utils/_handle_stream.py +0 -0
  186. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/anthropic/_utils/_message_param_converter.py +0 -0
  187. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/anthropic/_utils/_setup_call.py +0 -0
  188. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/anthropic/call_params.py +0 -0
  189. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/anthropic/call_response.py +0 -0
  190. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/anthropic/call_response_chunk.py +0 -0
  191. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/anthropic/dynamic_config.py +0 -0
  192. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/anthropic/py.typed +0 -0
  193. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/anthropic/stream.py +0 -0
  194. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/anthropic/tool.py +0 -0
  195. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/azure/__init__.py +0 -0
  196. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/azure/_call.py +0 -0
  197. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/azure/_call_kwargs.py +0 -0
  198. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/azure/_utils/__init__.py +0 -0
  199. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/azure/_utils/_convert_common_call_params.py +0 -0
  200. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/azure/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -0
  201. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/azure/_utils/_convert_message_params.py +0 -0
  202. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/azure/_utils/_get_credential.py +0 -0
  203. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/azure/_utils/_get_json_output.py +0 -0
  204. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/azure/_utils/_handle_stream.py +0 -0
  205. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/azure/_utils/_message_param_converter.py +0 -0
  206. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/azure/_utils/_setup_call.py +0 -0
  207. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/azure/call_params.py +0 -0
  208. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/azure/call_response.py +0 -0
  209. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/azure/dynamic_config.py +0 -0
  210. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/azure/py.typed +0 -0
  211. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/azure/stream.py +0 -0
  212. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/azure/tool.py +0 -0
  213. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/__init__.py +0 -0
  214. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_call_factory.py +0 -0
  215. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_create.py +0 -0
  216. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_extract.py +0 -0
  217. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_extract_with_tools.py +0 -0
  218. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_partial.py +0 -0
  219. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_utils/__init__.py +0 -0
  220. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_utils/_base_message_param_converter.py +0 -0
  221. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_utils/_base_type.py +0 -0
  222. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_utils/_convert_base_model_to_base_tool.py +0 -0
  223. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_utils/_convert_base_type_to_base_tool.py +0 -0
  224. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_utils/_convert_function_to_base_tool.py +0 -0
  225. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_utils/_convert_messages_to_message_params.py +0 -0
  226. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_utils/_convert_provider_finish_reason_to_finish_reason.py +0 -0
  227. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_utils/_default_tool_docstring.py +0 -0
  228. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_utils/_extract_tool_return.py +0 -0
  229. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_utils/_fn_is_async.py +0 -0
  230. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_utils/_format_template.py +0 -0
  231. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_utils/_get_audio_type.py +0 -0
  232. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_utils/_get_common_usage.py +0 -0
  233. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_utils/_get_create_fn_or_async_create_fn.py +0 -0
  234. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_utils/_get_document_type.py +0 -0
  235. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_utils/_get_dynamic_configuration.py +0 -0
  236. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_utils/_get_fields_from_call_args.py +0 -0
  237. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_utils/_get_fn_args.py +0 -0
  238. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_utils/_get_image_dimensions.py +0 -0
  239. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_utils/_get_image_type.py +0 -0
  240. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_utils/_get_metadata.py +0 -0
  241. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_utils/_get_possible_user_message_param.py +0 -0
  242. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_utils/_get_prompt_template.py +0 -0
  243. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_utils/_get_template_values.py +0 -0
  244. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_utils/_get_template_variables.py +0 -0
  245. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_utils/_get_unsupported_tool_config_keys.py +0 -0
  246. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_utils/_is_prompt_template.py +0 -0
  247. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_utils/_json_mode_content.py +0 -0
  248. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_utils/_messages_decorator.py +0 -0
  249. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_utils/_parse_content_template.py +0 -0
  250. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_utils/_parse_prompt_messages.py +0 -0
  251. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_utils/_pil_image_to_bytes.py +0 -0
  252. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_utils/_protocols.py +0 -0
  253. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_utils/_setup_call.py +0 -0
  254. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/_utils/_setup_extract_tool.py +0 -0
  255. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/call_kwargs.py +0 -0
  256. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/call_params.py +0 -0
  257. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/call_response_chunk.py +0 -0
  258. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/dynamic_config.py +0 -0
  259. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/from_call_args.py +0 -0
  260. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/merge_decorators.py +0 -0
  261. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/message_param.py +0 -0
  262. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/messages.py +0 -0
  263. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/metadata.py +0 -0
  264. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/prompt.py +0 -0
  265. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/response_model_config_dict.py +0 -0
  266. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/stream.py +0 -0
  267. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/stream_config.py +0 -0
  268. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/structured_stream.py +0 -0
  269. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/toolkit.py +0 -0
  270. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/base/types.py +0 -0
  271. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/bedrock/__init__.py +0 -0
  272. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/bedrock/_call.py +0 -0
  273. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/bedrock/_call_kwargs.py +0 -0
  274. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/bedrock/_types.py +0 -0
  275. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/bedrock/_utils/__init__.py +0 -0
  276. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/bedrock/_utils/_convert_common_call_params.py +0 -0
  277. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/bedrock/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -0
  278. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/bedrock/_utils/_convert_message_params.py +0 -0
  279. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/bedrock/_utils/_get_json_output.py +0 -0
  280. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/bedrock/_utils/_handle_stream.py +0 -0
  281. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/bedrock/_utils/_setup_call.py +0 -0
  282. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/bedrock/call_params.py +0 -0
  283. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/bedrock/call_response_chunk.py +0 -0
  284. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/bedrock/dynamic_config.py +0 -0
  285. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/bedrock/py.typed +0 -0
  286. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/bedrock/stream.py +0 -0
  287. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/cohere/__init__.py +0 -0
  288. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/cohere/_call.py +0 -0
  289. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/cohere/_call_kwargs.py +0 -0
  290. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/cohere/_types.py +0 -0
  291. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/cohere/_utils/__init__.py +0 -0
  292. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/cohere/_utils/_convert_common_call_params.py +0 -0
  293. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/cohere/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -0
  294. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/cohere/_utils/_convert_message_params.py +0 -0
  295. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/cohere/_utils/_get_json_output.py +0 -0
  296. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/cohere/_utils/_handle_stream.py +0 -0
  297. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/cohere/_utils/_message_param_converter.py +0 -0
  298. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/cohere/_utils/_setup_call.py +0 -0
  299. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/cohere/call_params.py +0 -0
  300. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/cohere/call_response.py +0 -0
  301. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/cohere/call_response_chunk.py +0 -0
  302. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/cohere/dynamic_config.py +0 -0
  303. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/cohere/py.typed +0 -0
  304. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/cohere/stream.py +0 -0
  305. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/cohere/tool.py +0 -0
  306. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/costs/__init__.py +0 -0
  307. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/costs/_anthropic_calculate_cost.py +0 -0
  308. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/costs/_azure_calculate_cost.py +0 -0
  309. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/costs/_bedrock_calculate_cost.py +0 -0
  310. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/costs/_cohere_calculate_cost.py +0 -0
  311. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/costs/_gemini_calculate_cost.py +0 -0
  312. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/costs/_google_calculate_cost.py +0 -0
  313. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/costs/_groq_calculate_cost.py +0 -0
  314. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/costs/_litellm_calculate_cost.py +0 -0
  315. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/costs/_mistral_calculate_cost.py +0 -0
  316. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/costs/_openai_calculate_cost.py +0 -0
  317. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/costs/_vertex_calculate_cost.py +0 -0
  318. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/costs/_xai_calculate_cost.py +0 -0
  319. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/costs/calculate_cost.py +0 -0
  320. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/gemini/__init__.py +0 -0
  321. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/gemini/_call.py +0 -0
  322. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/gemini/_call_kwargs.py +0 -0
  323. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/gemini/_utils/__init__.py +0 -0
  324. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/gemini/_utils/_convert_common_call_params.py +0 -0
  325. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/gemini/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -0
  326. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/gemini/_utils/_convert_message_params.py +0 -0
  327. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/gemini/_utils/_get_json_output.py +0 -0
  328. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/gemini/_utils/_handle_stream.py +0 -0
  329. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/gemini/_utils/_message_param_converter.py +0 -0
  330. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/gemini/_utils/_setup_call.py +0 -0
  331. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/gemini/call_params.py +0 -0
  332. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/gemini/call_response.py +0 -0
  333. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/gemini/call_response_chunk.py +0 -0
  334. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/gemini/dynamic_config.py +0 -0
  335. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/gemini/stream.py +0 -0
  336. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/gemini/tool.py +0 -0
  337. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/google/__init__.py +0 -0
  338. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/google/_call.py +0 -0
  339. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/google/_call_kwargs.py +0 -0
  340. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/google/_utils/__init__.py +0 -0
  341. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/google/_utils/_convert_common_call_params.py +0 -0
  342. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/google/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -0
  343. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/google/_utils/_convert_message_params.py +0 -0
  344. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/google/_utils/_get_json_output.py +0 -0
  345. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/google/_utils/_handle_stream.py +0 -0
  346. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/google/_utils/_message_param_converter.py +0 -0
  347. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/google/_utils/_setup_call.py +0 -0
  348. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/google/_utils/_validate_media_type.py +0 -0
  349. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/google/call_params.py +0 -0
  350. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/google/call_response.py +0 -0
  351. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/google/call_response_chunk.py +0 -0
  352. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/google/dynamic_config.py +0 -0
  353. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/google/stream.py +0 -0
  354. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/google/tool.py +0 -0
  355. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/groq/__init__.py +0 -0
  356. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/groq/_call.py +0 -0
  357. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/groq/_call_kwargs.py +0 -0
  358. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/groq/_utils/__init__.py +0 -0
  359. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/groq/_utils/_convert_common_call_params.py +0 -0
  360. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/groq/_utils/_convert_message_params.py +0 -0
  361. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/groq/_utils/_get_json_output.py +0 -0
  362. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/groq/_utils/_handle_stream.py +0 -0
  363. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/groq/_utils/_message_param_converter.py +0 -0
  364. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/groq/_utils/_setup_call.py +0 -0
  365. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/groq/call_params.py +0 -0
  366. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/groq/call_response.py +0 -0
  367. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/groq/call_response_chunk.py +0 -0
  368. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/groq/dynamic_config.py +0 -0
  369. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/groq/py.typed +0 -0
  370. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/groq/stream.py +0 -0
  371. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/groq/tool.py +0 -0
  372. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/litellm/__init__.py +0 -0
  373. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/litellm/_call.py +0 -0
  374. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/litellm/_utils/__init__.py +0 -0
  375. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/litellm/_utils/_setup_call.py +0 -0
  376. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/litellm/call_params.py +0 -0
  377. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/litellm/call_response.py +0 -0
  378. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/litellm/call_response_chunk.py +0 -0
  379. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/litellm/dynamic_config.py +0 -0
  380. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/litellm/py.typed +0 -0
  381. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/litellm/stream.py +0 -0
  382. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/litellm/tool.py +0 -0
  383. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/mistral/__init__.py +0 -0
  384. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/mistral/_call.py +0 -0
  385. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/mistral/_call_kwargs.py +0 -0
  386. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/mistral/_utils/__init__.py +0 -0
  387. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/mistral/_utils/_convert_common_call_params.py +0 -0
  388. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/mistral/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -0
  389. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/mistral/_utils/_convert_message_params.py +0 -0
  390. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/mistral/_utils/_get_json_output.py +0 -0
  391. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/mistral/_utils/_handle_stream.py +0 -0
  392. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/mistral/_utils/_message_param_converter.py +0 -0
  393. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/mistral/_utils/_setup_call.py +0 -0
  394. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/mistral/call_params.py +0 -0
  395. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/mistral/call_response.py +0 -0
  396. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/mistral/call_response_chunk.py +0 -0
  397. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/mistral/dynamic_config.py +0 -0
  398. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/mistral/py.typed +0 -0
  399. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/mistral/stream.py +0 -0
  400. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/mistral/tool.py +0 -0
  401. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/openai/__init__.py +0 -0
  402. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/openai/_call.py +0 -0
  403. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/openai/_call_kwargs.py +0 -0
  404. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/openai/_utils/__init__.py +0 -0
  405. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/openai/_utils/_convert_common_call_params.py +0 -0
  406. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/openai/_utils/_convert_message_params.py +0 -0
  407. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/openai/_utils/_get_json_output.py +0 -0
  408. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/openai/_utils/_handle_stream.py +0 -0
  409. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/openai/_utils/_message_param_converter.py +0 -0
  410. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/openai/_utils/_setup_call.py +0 -0
  411. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/openai/call_params.py +0 -0
  412. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/openai/call_response.py +0 -0
  413. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/openai/call_response_chunk.py +0 -0
  414. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/openai/dynamic_config.py +0 -0
  415. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/openai/py.typed +0 -0
  416. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/openai/stream.py +0 -0
  417. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/openai/tool.py +0 -0
  418. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/py.typed +0 -0
  419. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/vertex/__init__.py +0 -0
  420. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/vertex/_call.py +0 -0
  421. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/vertex/_call_kwargs.py +0 -0
  422. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/vertex/_utils/__init__.py +0 -0
  423. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/vertex/_utils/_convert_common_call_params.py +0 -0
  424. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/vertex/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -0
  425. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/vertex/_utils/_convert_message_params.py +0 -0
  426. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/vertex/_utils/_get_json_output.py +0 -0
  427. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/vertex/_utils/_handle_stream.py +0 -0
  428. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/vertex/_utils/_message_param_converter.py +0 -0
  429. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/vertex/_utils/_setup_call.py +0 -0
  430. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/vertex/call_params.py +0 -0
  431. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/vertex/call_response.py +0 -0
  432. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/vertex/call_response_chunk.py +0 -0
  433. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/vertex/dynamic_config.py +0 -0
  434. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/vertex/stream.py +0 -0
  435. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/vertex/tool.py +0 -0
  436. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/xai/__init__.py +0 -0
  437. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/xai/_call.py +0 -0
  438. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/xai/_utils/__init__.py +0 -0
  439. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/xai/_utils/_setup_call.py +0 -0
  440. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/xai/call_params.py +0 -0
  441. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/xai/call_response.py +0 -0
  442. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/xai/call_response_chunk.py +0 -0
  443. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/xai/dynamic_config.py +0 -0
  444. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/xai/py.typed +0 -0
  445. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/xai/stream.py +0 -0
  446. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/core/xai/tool.py +0 -0
  447. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/experimental/graphs/__init__.py +0 -0
  448. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/experimental/graphs/finite_state_machine.py +0 -0
  449. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/integrations/__init__.py +0 -0
  450. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/integrations/_middleware_factory.py +0 -0
  451. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/integrations/langfuse/__init__.py +0 -0
  452. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/integrations/langfuse/_utils.py +0 -0
  453. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/integrations/langfuse/_with_langfuse.py +0 -0
  454. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/integrations/logfire/__init__.py +0 -0
  455. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/integrations/logfire/_utils.py +0 -0
  456. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/integrations/logfire/_with_logfire.py +0 -0
  457. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/integrations/otel/__init__.py +0 -0
  458. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/integrations/otel/_utils.py +0 -0
  459. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/integrations/otel/_with_hyperdx.py +0 -0
  460. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/integrations/otel/_with_otel.py +0 -0
  461. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/integrations/tenacity.py +0 -0
  462. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/llm/__init__.py +0 -0
  463. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/llm/_call.py +0 -0
  464. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/llm/_context.py +0 -0
  465. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/llm/_override.py +0 -0
  466. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/llm/_protocols.py +0 -0
  467. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/llm/_response_metaclass.py +0 -0
  468. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/llm/call_response_chunk.py +0 -0
  469. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/llm/stream.py +0 -0
  470. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/llm/tool.py +0 -0
  471. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/mcp/__init__.py +0 -0
  472. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/mcp/client.py +0 -0
  473. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/mcp/server.py +0 -0
  474. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/mcp/tools.py +0 -0
  475. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/py.typed +0 -0
  476. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/retries/__init__.py +0 -0
  477. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/retries/fallback.py +0 -0
  478. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/retries/tenacity.py +0 -0
  479. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/tools/__init__.py +0 -0
  480. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/tools/base.py +0 -0
  481. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/tools/system/__init__.py +0 -0
  482. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/tools/system/_docker_operation.py +0 -0
  483. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/tools/system/_file_system.py +0 -0
  484. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/tools/web/__init__.py +0 -0
  485. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/tools/web/_duckduckgo.py +0 -0
  486. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/tools/web/_httpx.py +0 -0
  487. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/tools/web/_parse_url_content.py +0 -0
  488. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/tools/web/_requests.py +0 -0
  489. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/v0/__init__.py +0 -0
  490. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/v0/anthropic.py +0 -0
  491. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/v0/base/__init__.py +0 -0
  492. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/v0/base/calls.py +0 -0
  493. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/v0/base/extractors.py +0 -0
  494. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/v0/base/ops_utils.py +0 -0
  495. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/v0/base/prompts.py +0 -0
  496. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/v0/base/types.py +0 -0
  497. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/v0/base/utils.py +0 -0
  498. {mirascope-1.24.0 → mirascope-1.24.2}/mirascope/v0/openai.py +0 -0
  499. {mirascope-1.24.0 → mirascope-1.24.2}/tests/__init__.py +0 -0
  500. {mirascope-1.24.0 → mirascope-1.24.2}/tests/conftest.py +0 -0
  501. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/__init__.py +0 -0
  502. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/anthropic/__init__.py +0 -0
  503. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/anthropic/_utils/__init__.py +0 -0
  504. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/anthropic/_utils/test_convert_common_call_params.py +0 -0
  505. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/anthropic/_utils/test_convert_message_params.py +0 -0
  506. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/anthropic/_utils/test_get_json_output.py +0 -0
  507. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/anthropic/_utils/test_handle_stream.py +0 -0
  508. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/anthropic/_utils/test_message_param_converter.py +0 -0
  509. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/anthropic/_utils/test_setup_call.py +0 -0
  510. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/anthropic/test_call.py +0 -0
  511. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/anthropic/test_call_response.py +0 -0
  512. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/anthropic/test_call_response_chunk.py +0 -0
  513. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/anthropic/test_stream.py +0 -0
  514. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/anthropic/test_tool.py +0 -0
  515. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/azure/__init__.py +0 -0
  516. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/azure/_utils/__init__.py +0 -0
  517. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/azure/_utils/test_convert_common_call_params.py +0 -0
  518. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/azure/_utils/test_convert_message_params.py +0 -0
  519. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/azure/_utils/test_get_credential.py +0 -0
  520. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/azure/_utils/test_get_json_output.py +0 -0
  521. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/azure/_utils/test_handle_stream.py +0 -0
  522. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/azure/_utils/test_message_param_converter.py +0 -0
  523. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/azure/_utils/test_setup_call.py +0 -0
  524. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/azure/test_call.py +0 -0
  525. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/azure/test_call_response.py +0 -0
  526. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/azure/test_call_response_chunk.py +0 -0
  527. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/azure/test_stream.py +0 -0
  528. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/azure/test_tool.py +0 -0
  529. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/__init__.py +0 -0
  530. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/_utils/__init__.py +0 -0
  531. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/_utils/test_base_type.py +0 -0
  532. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/_utils/test_convert_base_model_to_base_tool.py +0 -0
  533. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/_utils/test_convert_base_type_to_base_tool.py +0 -0
  534. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/_utils/test_convert_function_to_base_tool.py +0 -0
  535. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/_utils/test_convert_messages_to_message_params.py +0 -0
  536. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/_utils/test_extract_tool_return.py +0 -0
  537. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/_utils/test_format_template.py +0 -0
  538. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/_utils/test_get_audio_type.py +0 -0
  539. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/_utils/test_get_create_fn_or_async_create_fn.py +0 -0
  540. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/_utils/test_get_document_type.py +0 -0
  541. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/_utils/test_get_dynamic_configuration.py +0 -0
  542. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/_utils/test_get_fields_from_call_args.py +0 -0
  543. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/_utils/test_get_fn_args.py +0 -0
  544. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/_utils/test_get_image_dimensions.py +0 -0
  545. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/_utils/test_get_image_type.py +0 -0
  546. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/_utils/test_get_metadata.py +0 -0
  547. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/_utils/test_get_possible_user_message_param.py +0 -0
  548. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/_utils/test_get_prompt_template.py +0 -0
  549. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/_utils/test_get_template_values.py +0 -0
  550. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/_utils/test_get_template_variables.py +0 -0
  551. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/_utils/test_get_unsupported_tool_config_keys.py +0 -0
  552. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/_utils/test_json_mode_content.py +0 -0
  553. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/_utils/test_message_decorator.py +0 -0
  554. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/_utils/test_parse_content_template.py +0 -0
  555. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/_utils/test_parse_prompt_messages.py +0 -0
  556. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/_utils/test_pil_image_to_bytes.py +0 -0
  557. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/_utils/test_setup_call.py +0 -0
  558. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/_utils/test_setup_extract_tool.py +0 -0
  559. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/conftest.py +0 -0
  560. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/test_call_factory.py +0 -0
  561. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/test_call_response.py +0 -0
  562. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/test_call_response_chunk.py +0 -0
  563. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/test_create.py +0 -0
  564. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/test_extract.py +0 -0
  565. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/test_extract_with_tools.py +0 -0
  566. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/test_merge_decorators.py +0 -0
  567. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/test_partial.py +0 -0
  568. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/test_prompt.py +0 -0
  569. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/test_stream.py +0 -0
  570. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/test_structured_stream.py +0 -0
  571. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/test_tool.py +0 -0
  572. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/base/test_toolkit.py +0 -0
  573. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/bedrock/__init__.py +0 -0
  574. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/bedrock/_utils/__init__.py +0 -0
  575. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/bedrock/_utils/test_convert_common_call_params.py +0 -0
  576. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/bedrock/_utils/test_convert_message_params.py +0 -0
  577. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/bedrock/_utils/test_get_json_output.py +0 -0
  578. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/bedrock/_utils/test_handle_stream.py +0 -0
  579. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/bedrock/_utils/test_setup_call.py +0 -0
  580. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/bedrock/conftest.py +0 -0
  581. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/bedrock/test_call.py +0 -0
  582. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/bedrock/test_call_response_chunk.py +0 -0
  583. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/bedrock/test_stream.py +0 -0
  584. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/cohere/__init__.py +0 -0
  585. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/cohere/_utils/__init__.py +0 -0
  586. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/cohere/_utils/test_convert_common_call_params.py +0 -0
  587. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/cohere/_utils/test_convert_message_params.py +0 -0
  588. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/cohere/_utils/test_get_json_output.py +0 -0
  589. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/cohere/_utils/test_handle_stream.py +0 -0
  590. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/cohere/_utils/test_message_param_converter.py +0 -0
  591. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/cohere/_utils/test_setup_call.py +0 -0
  592. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/cohere/test_call.py +0 -0
  593. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/cohere/test_call_response.py +0 -0
  594. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/cohere/test_call_response_chunk.py +0 -0
  595. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/cohere/test_stream.py +0 -0
  596. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/cohere/test_tool.py +0 -0
  597. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/costs/__init__.py +0 -0
  598. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/costs/test_anthropic_calculate_cost.py +0 -0
  599. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/costs/test_azure_calculate_cost.py +0 -0
  600. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/costs/test_bedrock_calculate_cost.py +0 -0
  601. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/costs/test_calculation_cost.py +0 -0
  602. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/costs/test_cohere_calculate_cost.py +0 -0
  603. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/costs/test_gemini_calculate_cost.py +0 -0
  604. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/costs/test_google_calculate_cost.py +0 -0
  605. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/costs/test_groq_calculate_cost.py +0 -0
  606. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/costs/test_mistral_calculate_cost.py +0 -0
  607. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/costs/test_openai_calculate_cost.py +0 -0
  608. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/costs/test_vertex_calculate_cost.py +0 -0
  609. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/costs/test_xai_calculate_cost.py +0 -0
  610. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/gemini/__init__.py +0 -0
  611. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/gemini/_utils/__init__.py +0 -0
  612. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/gemini/_utils/test_convert_common_call_params.py +0 -0
  613. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/gemini/_utils/test_convert_message_params.py +0 -0
  614. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/gemini/_utils/test_get_json_output.py +0 -0
  615. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/gemini/_utils/test_handle_stream.py +0 -0
  616. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/gemini/_utils/test_message_param_converter.py +0 -0
  617. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/gemini/_utils/test_setup_call.py +0 -0
  618. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/gemini/test_call.py +0 -0
  619. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/gemini/test_call_response.py +0 -0
  620. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/gemini/test_call_response_chunk.py +0 -0
  621. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/gemini/test_stream.py +0 -0
  622. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/gemini/test_tool.py +0 -0
  623. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/google/__init__.py +0 -0
  624. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/google/_utils/__init__.py +0 -0
  625. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/google/_utils/test_convert_common_call_params.py +0 -0
  626. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/google/_utils/test_convert_message_params.py +0 -0
  627. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/google/_utils/test_get_json_output.py +0 -0
  628. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/google/_utils/test_handle_stream.py +0 -0
  629. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/google/_utils/test_message_param_converter.py +0 -0
  630. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/google/_utils/test_setup_call.py +0 -0
  631. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/google/test_call.py +0 -0
  632. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/google/test_call_response.py +0 -0
  633. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/google/test_call_response_chunk.py +0 -0
  634. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/google/test_stream.py +0 -0
  635. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/google/test_tool.py +0 -0
  636. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/groq/__init__.py +0 -0
  637. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/groq/_utils/__init__.py +0 -0
  638. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/groq/_utils/test_convert_common_call_params.py +0 -0
  639. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/groq/_utils/test_convert_message_params.py +0 -0
  640. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/groq/_utils/test_get_json_output.py +0 -0
  641. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/groq/_utils/test_handle_stream.py +0 -0
  642. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/groq/_utils/test_message_param_converter.py +0 -0
  643. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/groq/_utils/test_setup_call.py +0 -0
  644. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/groq/test_call.py +0 -0
  645. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/groq/test_call_response.py +0 -0
  646. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/groq/test_call_response_chunk.py +0 -0
  647. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/groq/test_stream.py +0 -0
  648. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/groq/test_tool.py +0 -0
  649. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/litellm/__init__.py +0 -0
  650. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/litellm/_utils/__init__.py +0 -0
  651. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/litellm/_utils/test_setup_call.py +0 -0
  652. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/litellm/test_call.py +0 -0
  653. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/litellm/test_call_response.py +0 -0
  654. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/litellm/test_stream.py +0 -0
  655. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/mistral/__init__.py +0 -0
  656. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/mistral/_utils/__init__.py +0 -0
  657. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/mistral/_utils/test_convert_common_call_params.py +0 -0
  658. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/mistral/_utils/test_convert_message_params.py +0 -0
  659. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/mistral/_utils/test_get_json_output.py +0 -0
  660. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/mistral/_utils/test_handle_stream.py +0 -0
  661. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/mistral/_utils/test_message_param_converter.py +0 -0
  662. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/mistral/_utils/test_setup_call.py +0 -0
  663. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/mistral/test_call.py +0 -0
  664. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/mistral/test_call_response.py +0 -0
  665. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/mistral/test_call_response_chunk.py +0 -0
  666. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/mistral/test_stream.py +0 -0
  667. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/mistral/test_tool.py +0 -0
  668. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/openai/__init__.py +0 -0
  669. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/openai/_utils/__init__.py +0 -0
  670. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/openai/_utils/test_convert_common_call_params.py +0 -0
  671. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/openai/_utils/test_convert_message_params.py +0 -0
  672. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/openai/_utils/test_get_json_output.py +0 -0
  673. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/openai/_utils/test_handle_stream.py +0 -0
  674. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/openai/_utils/test_message_param_converter.py +0 -0
  675. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/openai/_utils/test_setup_call.py +0 -0
  676. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/openai/test_call.py +0 -0
  677. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/openai/test_call_response.py +0 -0
  678. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/openai/test_call_response_chunk.py +0 -0
  679. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/openai/test_stream.py +0 -0
  680. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/openai/test_tool.py +0 -0
  681. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/vertex/__init__.py +0 -0
  682. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/vertex/_utils/__init__.py +0 -0
  683. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/vertex/_utils/test_convert_common_call_params.py +0 -0
  684. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/vertex/_utils/test_convert_message_params.py +0 -0
  685. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/vertex/_utils/test_get_json_output.py +0 -0
  686. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/vertex/_utils/test_handle_stream.py +0 -0
  687. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/vertex/_utils/test_message_param_converter.py +0 -0
  688. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/vertex/_utils/test_setup_call.py +0 -0
  689. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/vertex/test_call.py +0 -0
  690. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/vertex/test_call_response.py +0 -0
  691. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/vertex/test_call_response_chunk.py +0 -0
  692. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/vertex/test_stream.py +0 -0
  693. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/vertex/test_tool.py +0 -0
  694. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/xai/__init__.py +0 -0
  695. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/xai/_utils/__init__.py +0 -0
  696. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/xai/_utils/test_setup_call.py +0 -0
  697. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/xai/test_call.py +0 -0
  698. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/xai/test_call_response.py +0 -0
  699. {mirascope-1.24.0 → mirascope-1.24.2}/tests/core/xai/test_stream.py +0 -0
  700. {mirascope-1.24.0 → mirascope-1.24.2}/tests/integrations/__init__.py +0 -0
  701. {mirascope-1.24.0 → mirascope-1.24.2}/tests/integrations/langfuse/__init__.py +0 -0
  702. {mirascope-1.24.0 → mirascope-1.24.2}/tests/integrations/langfuse/test_utils.py +0 -0
  703. {mirascope-1.24.0 → mirascope-1.24.2}/tests/integrations/langfuse/test_with_langfuse.py +0 -0
  704. {mirascope-1.24.0 → mirascope-1.24.2}/tests/integrations/logfire/__init__.py +0 -0
  705. {mirascope-1.24.0 → mirascope-1.24.2}/tests/integrations/logfire/test_utils.py +0 -0
  706. {mirascope-1.24.0 → mirascope-1.24.2}/tests/integrations/logfire/test_with_logfire.py +0 -0
  707. {mirascope-1.24.0 → mirascope-1.24.2}/tests/integrations/otel/__init__.py +0 -0
  708. {mirascope-1.24.0 → mirascope-1.24.2}/tests/integrations/otel/test_utils.py +0 -0
  709. {mirascope-1.24.0 → mirascope-1.24.2}/tests/integrations/otel/test_with_hyperdx.py +0 -0
  710. {mirascope-1.24.0 → mirascope-1.24.2}/tests/integrations/otel/test_with_otel.py +0 -0
  711. {mirascope-1.24.0 → mirascope-1.24.2}/tests/integrations/test_middleware_factory.py +0 -0
  712. {mirascope-1.24.0 → mirascope-1.24.2}/tests/llm/__init__.py +0 -0
  713. {mirascope-1.24.0 → mirascope-1.24.2}/tests/llm/test_call.py +0 -0
  714. {mirascope-1.24.0 → mirascope-1.24.2}/tests/llm/test_call_response_chunk.py +0 -0
  715. {mirascope-1.24.0 → mirascope-1.24.2}/tests/llm/test_context.py +0 -0
  716. {mirascope-1.24.0 → mirascope-1.24.2}/tests/llm/test_override.py +0 -0
  717. {mirascope-1.24.0 → mirascope-1.24.2}/tests/llm/test_response_metaclass.py +0 -0
  718. {mirascope-1.24.0 → mirascope-1.24.2}/tests/llm/test_stream.py +0 -0
  719. {mirascope-1.24.0 → mirascope-1.24.2}/tests/llm/test_tool.py +0 -0
  720. {mirascope-1.24.0 → mirascope-1.24.2}/tests/mcp/__init__.py +0 -0
  721. {mirascope-1.24.0 → mirascope-1.24.2}/tests/mcp/test_server.py +0 -0
  722. {mirascope-1.24.0 → mirascope-1.24.2}/tests/retries/__init__.py +0 -0
  723. {mirascope-1.24.0 → mirascope-1.24.2}/tests/retries/test_fallback.py +0 -0
  724. {mirascope-1.24.0 → mirascope-1.24.2}/tests/retries/test_tenacity.py +0 -0
  725. {mirascope-1.24.0 → mirascope-1.24.2}/tests/tools/__init__.py +0 -0
  726. {mirascope-1.24.0 → mirascope-1.24.2}/tests/tools/test_base.py +0 -0
  727. {mirascope-1.24.0 → mirascope-1.24.2}/tests/tools/test_docker_operation_toolkit.py +0 -0
  728. {mirascope-1.24.0 → mirascope-1.24.2}/tests/tools/test_filesystem_toolkit.py +0 -0
  729. {mirascope-1.24.0 → mirascope-1.24.2}/tests/tools/web/__init__.py +0 -0
  730. {mirascope-1.24.0 → mirascope-1.24.2}/tests/tools/web/test_duckduckgo.py +0 -0
  731. {mirascope-1.24.0 → mirascope-1.24.2}/tests/tools/web/test_httpx.py +0 -0
  732. {mirascope-1.24.0 → mirascope-1.24.2}/tests/tools/web/test_parse_url_content.py +0 -0
  733. {mirascope-1.24.0 → mirascope-1.24.2}/tests/tools/web/test_requests.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mirascope
3
- Version: 1.24.0
3
+ Version: 1.24.2
4
4
  Summary: LLM abstractions that aren't obstructions
5
5
  Project-URL: Homepage, https://mirascope.com
6
6
  Project-URL: Documentation, https://mirascope.com/WELCOME
@@ -75,14 +75,14 @@ class AzureCallResponseChunk(
75
75
  return self.chunk.id
76
76
 
77
77
  @property
78
- def usage(self) -> CompletionsUsage:
78
+ def usage(self) -> CompletionsUsage | None:
79
79
  """Returns the usage of the chat completion."""
80
80
  return self.chunk.usage
81
81
 
82
82
  @property
83
- def input_tokens(self) -> int:
83
+ def input_tokens(self) -> int | None:
84
84
  """Returns the number of input tokens."""
85
- return self.usage.prompt_tokens
85
+ return self.usage.prompt_tokens if self.usage else None
86
86
 
87
87
  @property
88
88
  def cached_tokens(self) -> int:
@@ -90,9 +90,9 @@ class AzureCallResponseChunk(
90
90
  return 0
91
91
 
92
92
  @property
93
- def output_tokens(self) -> int:
93
+ def output_tokens(self) -> int | None:
94
94
  """Returns the number of output tokens."""
95
- return self.usage.completion_tokens
95
+ return self.usage.completion_tokens if self.usage else None
96
96
 
97
97
  @property
98
98
  def cost_metadata(self) -> CostMetadata:
@@ -60,10 +60,8 @@ def transform_tool_outputs(
60
60
  tools_and_outputs: Sequence[tuple[_BaseToolT, JsonableType]],
61
61
  ) -> list[_ToolMessageParamT]:
62
62
  def recursive_serializer(value: JsonableType) -> BaseType:
63
- if isinstance(value, str):
63
+ if isinstance(value, str | int | float | bool | None):
64
64
  return value
65
- if isinstance(value, int | float | bool):
66
- return value # Don't serialize primitives yet
67
65
  if isinstance(value, bytes):
68
66
  return base64.b64encode(value).decode("utf-8")
69
67
  if isinstance(value, BaseModel):
@@ -122,6 +122,15 @@ class BaseTool(BaseModel, ABC):
122
122
  if field not in {"tool_call", "delta"}
123
123
  }
124
124
 
125
+ @property
126
+ def id(self) -> str | None:
127
+ """The id of the tool."""
128
+ if tool_call := getattr(self, "tool_call", None):
129
+ # Expect tool_call has an id attribute.
130
+ # If not, we should override this method on the provider tool
131
+ return getattr(tool_call, "id", None)
132
+ return None
133
+
125
134
  @abstractmethod
126
135
  def call(self, *args: Any, **kwargs: Any) -> Any: # noqa: ANN401
127
136
  """The method to call the tool."""
@@ -100,25 +100,27 @@ class BedrockMessageParamConverter(BaseMessageParamConverter):
100
100
  )
101
101
  elif "toolUse" in block:
102
102
  tool_use = block["toolUse"]
103
+
104
+ tool_use_part = ToolCallPart(
105
+ type="tool_call",
106
+ name=tool_use["name"],
107
+ id=tool_use["toolUseId"],
108
+ args=tool_use["input"],
109
+ )
103
110
  if converted_content:
111
+ converted_content.append(tool_use_part)
104
112
  converted.append(
105
113
  BaseMessageParam(
106
114
  role=message_param["role"], content=converted_content
107
115
  )
108
116
  )
109
117
  converted_content = []
118
+ continue
110
119
 
111
120
  converted.append(
112
121
  BaseMessageParam(
113
122
  role="assistant",
114
- content=[
115
- ToolCallPart(
116
- type="tool_call",
117
- name=tool_use["name"],
118
- id=tool_use["toolUseId"],
119
- args=tool_use["input"],
120
- )
121
- ],
123
+ content=[tool_use_part],
122
124
  )
123
125
  )
124
126
  elif "toolResult" in block:
@@ -137,7 +139,6 @@ class BedrockMessageParamConverter(BaseMessageParamConverter):
137
139
  ToolResultPart(
138
140
  type="tool_result",
139
141
  id=tool_result["toolUseId"],
140
- name=tool_result["name"], # pyright: ignore [reportGeneralTypeIssues]
141
142
  content=tool_result["content"]
142
143
  if isinstance(tool_result["content"], str)
143
144
  else tool_result["content"][0]["text"], # pyright: ignore [reportTypedDictNotRequiredAccess]
@@ -219,7 +219,6 @@ class BedrockCallResponse(
219
219
  "toolResult": {
220
220
  "content": [{"text": output}],
221
221
  "toolUseId": tool.tool_call["toolUse"]["toolUseId"], # pyright: ignore [reportOptionalSubscript]
222
- "name": tool._name(),
223
222
  }
224
223
  },
225
224
  )
@@ -56,6 +56,10 @@ class BedrockTool(BaseTool):
56
56
 
57
57
  tool_call: SkipJsonSchema[ToolUseBlockContentTypeDef]
58
58
 
59
+ @property
60
+ def id(self) -> str | None:
61
+ return self.tool_call["toolUse"]["toolUseId"]
62
+
59
63
  @classmethod
60
64
  def tool_schema(cls) -> ToolTypeDef:
61
65
  """Constructs a JSON Schema tool schema from the `BaseModel` schema defined.
@@ -142,15 +142,6 @@ class CallResponse(
142
142
  tools_and_outputs: The sequence of tools and their outputs from which the tool
143
143
  message parameters should be constructed.
144
144
  """
145
-
146
- def _get_tool_call_id(_tool: BaseTool) -> str | None:
147
- """Get the tool call ID."""
148
- if tool_call := getattr(_tool, "tool_call", None):
149
- # Expect tool_call has an id attribute.
150
- # If not, we should implement a method to get the id on the provider tool
151
- return getattr(tool_call, "id", None)
152
- return None
153
-
154
145
  return [
155
146
  BaseMessageParam(
156
147
  role="tool",
@@ -159,7 +150,7 @@ class CallResponse(
159
150
  type="tool_result",
160
151
  name=tool._name(),
161
152
  content=output,
162
- id=_get_tool_call_id(tool),
153
+ id=tool.id,
163
154
  )
164
155
  ],
165
156
  )
@@ -22,6 +22,8 @@ from pydantic import BaseModel, ConfigDict, Field, create_model
22
22
  from ..core import BaseMessageParam, BaseTool
23
23
  from ..core.base import AudioPart, DocumentPart, ImagePart
24
24
 
25
+ _UNSET = object()
26
+
25
27
 
26
28
  def create_tool_call(
27
29
  name: str,
@@ -38,7 +40,8 @@ def create_tool_call(
38
40
  """
39
41
 
40
42
  async def call(self: BaseTool) -> list[str | ImageContent | EmbeddedResource]:
41
- result = await call_tool(name, self.args) # pyright: ignore [reportOptionalCall]
43
+ args = {key: value for key, value in self.args.items() if value is not _UNSET}
44
+ result = await call_tool(name, args if args else None)
42
45
  if result.isError:
43
46
  raise RuntimeError(f"MCP Server returned error: {self._name()}")
44
47
  return [
@@ -225,15 +228,18 @@ def create_tool_from_mcp_tool(tool: MCPTool) -> type[BaseTool]:
225
228
  fields = {}
226
229
  for field_name, field_schema in properties.items():
227
230
  field_type = json_schema_to_python_type(field_schema)
231
+ if field_schema.get("nullable", False):
232
+ field_type = field_type | None
228
233
 
229
- if field_name in required_fields:
230
- default = Field(..., description=field_schema.get("description"))
231
- annotation = field_type
232
- else:
233
- default = Field(None, description=field_schema.get("description"))
234
- annotation = field_type | None
234
+ field_info = {
235
+ "default": field_schema.get(
236
+ "default", ... if field_name in required_fields else _UNSET
237
+ )
238
+ }
239
+ if description := field_schema.get("description", ""):
240
+ field_info["description"] = description
235
241
 
236
- fields[field_name] = (annotation, default)
242
+ fields[field_name] = (field_type, Field(**field_info))
237
243
 
238
244
  return create_model(snake_to_pascal(tool.name), __base__=BaseTool, **fields)
239
245
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mirascope"
3
- version = "1.24.0"
3
+ version = "1.24.2"
4
4
  description = "LLM abstractions that aren't obstructions"
5
5
  readme = "README.md"
6
6
  license = { file = "LICENSE" }
@@ -163,7 +163,6 @@ def test_tool_result():
163
163
  "toolResult": {
164
164
  "toolUseId": "tool_123",
165
165
  "content": [{"text": "result"}],
166
- "name": "tool_123",
167
166
  }
168
167
  }
169
168
  ],
@@ -175,7 +174,6 @@ def test_tool_result():
175
174
  content=[
176
175
  ToolResultPart(
177
176
  type="tool_result",
178
- name="tool_123",
179
177
  content="result",
180
178
  id="tool_123",
181
179
  is_error=False,
@@ -187,7 +185,7 @@ def test_tool_result():
187
185
 
188
186
  def test_tool_use_with_text():
189
187
  message_param = {
190
- "role": "user",
188
+ "role": "assistant",
191
189
  "content": [
192
190
  {"text": "Hello"},
193
191
  {
@@ -201,16 +199,16 @@ def test_tool_use_with_text():
201
199
  }
202
200
  results = BedrockMessageParamConverter.from_provider([message_param]) # pyright: ignore [reportArgumentType]
203
201
  assert results == [
204
- BaseMessageParam(role="user", content=[TextPart(type="text", text="Hello")]),
205
202
  BaseMessageParam(
206
203
  role="assistant",
207
204
  content=[
205
+ TextPart(type="text", text="Hello"),
208
206
  ToolCallPart(
209
207
  type="tool_call",
210
208
  name="tool_name",
211
209
  args={"arg": "val"},
212
210
  id="tool_id",
213
- )
211
+ ),
214
212
  ],
215
213
  ),
216
214
  ]
@@ -225,7 +223,6 @@ def test_tool_result_with_text():
225
223
  "toolResult": {
226
224
  "toolUseId": "tool_id",
227
225
  "content": [{"text": "result"}],
228
- "name": "tool_name",
229
226
  }
230
227
  },
231
228
  ],
@@ -238,7 +235,6 @@ def test_tool_result_with_text():
238
235
  content=[
239
236
  ToolResultPart(
240
237
  type="tool_result",
241
- name="tool_name",
242
238
  content="result",
243
239
  id="tool_id",
244
240
  is_error=False,
@@ -183,7 +183,6 @@ def test_bedrock_call_response_with_tools() -> None:
183
183
  {"text": "The Name of the Wind by Patrick Rothfuss"}
184
184
  ],
185
185
  "toolUseId": "id",
186
- "name": "FormatBook",
187
186
  }
188
187
  }
189
188
  ],
@@ -40,6 +40,7 @@ def test_bedrock_tool() -> None:
40
40
  assert tool.title == "The Name of the Wind"
41
41
  assert tool.author == "Patrick Rothfuss"
42
42
  assert tool.call() == "The Name of the Wind by Patrick Rothfuss"
43
+ assert tool.id == "id"
43
44
 
44
45
  expected_schema = ToolTypeDef(
45
46
  toolSpec=ToolSpecificationTypeDef(
@@ -186,39 +186,34 @@ def test_tool_message_params_various_tool_call_ids_with_annotations():
186
186
  class ToolCallWithID:
187
187
  id = "tool_call_with_id"
188
188
 
189
- class ToolWithID(Tool):
189
+ class ToolWithID(BaseTool):
190
190
  tool_call: ClassVar[Any] = ToolCallWithID()
191
191
 
192
192
  def call(self): ...
193
- @property
194
- def model_fields(self): ... # pyright: ignore [reportIncompatibleVariableOverride]
195
193
 
196
194
  field1: str = "tool_field"
197
195
 
198
- class ToolNoCall(Tool):
196
+ class ToolNoCall(BaseTool): # pyright: ignore [reportIncompatibleVariableOverride]
199
197
  def call(self): ...
200
- @property
201
- def model_fields(self): ... # pyright: ignore [reportIncompatibleVariableOverride]
202
198
 
203
199
  field1: str = "tool_field"
204
200
 
205
201
  class ToolCallNoIDClass:
206
202
  pass
207
203
 
208
- class ToolCallNoID(Tool):
204
+ class ToolCallNoID(BaseTool):
209
205
  tool_call: ClassVar[Any] = ToolCallNoIDClass() # no id attribute
210
206
 
211
207
  def call(self): ...
212
- @property
213
- def model_fields(self): ... # pyright: ignore [reportIncompatibleVariableOverride]
214
208
 
215
209
  field1: str = "tool_field"
216
210
 
217
- mock_tool = MagicMock(spec=BaseTool)
218
- mock_tool._name.return_value = "tool_name"
219
- tool_with_id = ToolWithID(mock_tool)
220
- tool_no_call = ToolNoCall(mock_tool)
221
- tool_call_no_id = ToolCallNoID(mock_tool)
211
+ class MockTool(Tool):
212
+ def call(self): ...
213
+
214
+ tool_with_id = MockTool(ToolWithID())
215
+ tool_no_call = MockTool(ToolNoCall())
216
+ tool_call_no_id = MockTool(ToolCallNoID())
222
217
 
223
218
  result_with_id = CallResponse.tool_message_params([(tool_with_id, "output1")])
224
219
  assert isinstance(result_with_id[0].content[0], ToolResultPart)
@@ -29,6 +29,7 @@ from pydantic import AnyUrl, BaseModel
29
29
  from mirascope.core import BaseTool
30
30
  from mirascope.core.base import AudioPart, DocumentPart, ImagePart, TextPart
31
31
  from mirascope.mcp._utils import (
32
+ _UNSET,
32
33
  build_object_type,
33
34
  convert_prompt_message_to_base_message_params,
34
35
  create_tool_from_mcp_tool,
@@ -192,6 +193,7 @@ def test_create_model_from_tool_extra():
192
193
  "properties": {
193
194
  "opt_str": {"type": "string", "description": "optional string"},
194
195
  "req_arr": {"type": "array", "items": {"type": "integer"}},
196
+ "nullable": {"type": "string", "nullable": True},
195
197
  },
196
198
  "required": ["req_arr"],
197
199
  },
@@ -202,7 +204,7 @@ def test_create_model_from_tool_extra():
202
204
  update_abstractmethods(Model)
203
205
  instance = Model(req_arr=[1, 2, 3]) # pyright: ignore [reportCallIssue]
204
206
  assert instance.req_arr == [1, 2, 3] # pyright: ignore [reportAttributeAccessIssue]
205
- assert instance.opt_str is None # pyright: ignore [reportAttributeAccessIssue]
207
+ assert instance.opt_str is _UNSET # pyright: ignore [reportAttributeAccessIssue]
206
208
 
207
209
 
208
210
  def test_convert_prompt_message_all_content_types():