mirascope 1.23.4__tar.gz → 1.24.1__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 (735) hide show
  1. {mirascope-1.23.4 → mirascope-1.24.1}/PKG-INFO +3 -3
  2. {mirascope-1.23.4 → mirascope-1.24.1}/README.md +2 -2
  3. mirascope-1.24.1/api_ref/llm/call_response.md +3 -0
  4. mirascope-1.24.1/api_ref/llm/call_response_chunk.md +3 -0
  5. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/__init__.py +2 -0
  6. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/__init__.py +2 -0
  7. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/azure/call_response_chunk.py +5 -5
  8. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/__init__.py +2 -0
  9. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_utils/_convert_messages_to_message_params.py +9 -2
  10. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/call_response.py +1 -3
  11. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/message_param.py +13 -0
  12. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/messages.py +5 -0
  13. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/tool.py +9 -0
  14. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/bedrock/_utils/_message_param_converter.py +10 -9
  15. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/bedrock/call_response.py +0 -1
  16. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/bedrock/tool.py +4 -0
  17. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/google/_utils/_convert_message_params.py +76 -3
  18. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/google/_utils/_message_param_converter.py +42 -4
  19. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/google/_utils/_validate_media_type.py +24 -0
  20. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/llm/call_response.py +1 -10
  21. {mirascope-1.23.4 → mirascope-1.24.1}/pyproject.toml +1 -1
  22. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/bedrock/_utils/test_message_param_converter.py +3 -7
  23. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/bedrock/test_call_response.py +0 -1
  24. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/bedrock/test_tool.py +1 -0
  25. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/google/_utils/test_convert_message_params.py +400 -1
  26. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/google/_utils/test_message_param_converter.py +59 -4
  27. {mirascope-1.23.4 → mirascope-1.24.1}/tests/llm/test_call_response.py +9 -14
  28. {mirascope-1.23.4 → mirascope-1.24.1}/uv.lock +1 -1
  29. mirascope-1.23.4/api_ref/llm/call_response.md +0 -3
  30. mirascope-1.23.4/api_ref/llm/call_response_chunk.md +0 -3
  31. {mirascope-1.23.4 → mirascope-1.24.1}/.github/CODEOWNERS +0 -0
  32. {mirascope-1.23.4 → mirascope-1.24.1}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
  33. {mirascope-1.23.4 → mirascope-1.24.1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  34. {mirascope-1.23.4 → mirascope-1.24.1}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
  35. {mirascope-1.23.4 → mirascope-1.24.1}/.github/ISSUE_TEMPLATE/question.yml +0 -0
  36. {mirascope-1.23.4 → mirascope-1.24.1}/.github/workflows/label_issues.yml +0 -0
  37. {mirascope-1.23.4 → mirascope-1.24.1}/.github/workflows/lint.yml +0 -0
  38. {mirascope-1.23.4 → mirascope-1.24.1}/.github/workflows/release.yml +0 -0
  39. {mirascope-1.23.4 → mirascope-1.24.1}/.github/workflows/tests.yml +0 -0
  40. {mirascope-1.23.4 → mirascope-1.24.1}/.gitignore +0 -0
  41. {mirascope-1.23.4 → mirascope-1.24.1}/.pre-commit-config.yaml +0 -0
  42. {mirascope-1.23.4 → mirascope-1.24.1}/.vscode/extensions.json +0 -0
  43. {mirascope-1.23.4 → mirascope-1.24.1}/.vscode/launch.json +0 -0
  44. {mirascope-1.23.4 → mirascope-1.24.1}/.vscode/settings.json +0 -0
  45. {mirascope-1.23.4 → mirascope-1.24.1}/LICENSE +0 -0
  46. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/anthropic/call.md +0 -0
  47. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/anthropic/call_params.md +0 -0
  48. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/anthropic/call_response.md +0 -0
  49. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/anthropic/call_response_chunk.md +0 -0
  50. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/anthropic/dynamic_config.md +0 -0
  51. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/anthropic/stream.md +0 -0
  52. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/anthropic/tool.md +0 -0
  53. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/azure/call.md +0 -0
  54. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/azure/call_params.md +0 -0
  55. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/azure/call_response.md +0 -0
  56. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/azure/call_response_chunk.md +0 -0
  57. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/azure/dynamic_config.md +0 -0
  58. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/azure/stream.md +0 -0
  59. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/azure/tool.md +0 -0
  60. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/base/call_factory.md +0 -0
  61. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/base/call_params.md +0 -0
  62. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/base/call_response.md +0 -0
  63. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/base/call_response_chunk.md +0 -0
  64. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/base/dynamic_config.md +0 -0
  65. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/base/merge_decorators.md +0 -0
  66. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/base/message_param.md +0 -0
  67. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/base/metadata.md +0 -0
  68. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/base/prompt.md +0 -0
  69. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/base/stream.md +0 -0
  70. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/base/structured_stream.md +0 -0
  71. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/base/tool.md +0 -0
  72. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/base/toolkit.md +0 -0
  73. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/base/types.md +0 -0
  74. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/bedrock/call.md +0 -0
  75. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/bedrock/call_params.md +0 -0
  76. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/bedrock/call_response.md +0 -0
  77. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/bedrock/call_response_chunk.md +0 -0
  78. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/bedrock/dynamic_config.md +0 -0
  79. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/bedrock/stream.md +0 -0
  80. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/bedrock/tool.md +0 -0
  81. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/cohere/call.md +0 -0
  82. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/cohere/call_params.md +0 -0
  83. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/cohere/call_response.md +0 -0
  84. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/cohere/call_response_chunk.md +0 -0
  85. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/cohere/dynamic_config.md +0 -0
  86. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/cohere/stream.md +0 -0
  87. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/cohere/tool.md +0 -0
  88. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/costs/calculate_cost.md +0 -0
  89. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/google/call.md +0 -0
  90. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/google/call_params.md +0 -0
  91. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/google/call_response.md +0 -0
  92. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/google/call_response_chunk.md +0 -0
  93. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/google/dynamic_config.md +0 -0
  94. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/google/stream.md +0 -0
  95. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/google/tool.md +0 -0
  96. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/groq/call.md +0 -0
  97. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/groq/call_params.md +0 -0
  98. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/groq/call_response.md +0 -0
  99. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/groq/call_response_chunk.md +0 -0
  100. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/groq/dynamic_config.md +0 -0
  101. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/groq/stream.md +0 -0
  102. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/groq/tool.md +0 -0
  103. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/litellm/call.md +0 -0
  104. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/litellm/call_params.md +0 -0
  105. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/litellm/call_response.md +0 -0
  106. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/litellm/call_response_chunk.md +0 -0
  107. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/litellm/dynamic_config.md +0 -0
  108. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/litellm/stream.md +0 -0
  109. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/litellm/tool.md +0 -0
  110. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/mistral/call.md +0 -0
  111. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/mistral/call_params.md +0 -0
  112. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/mistral/call_response.md +0 -0
  113. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/mistral/call_response_chunk.md +0 -0
  114. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/mistral/dynamic_config.md +0 -0
  115. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/mistral/stream.md +0 -0
  116. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/mistral/tool.md +0 -0
  117. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/openai/call.md +0 -0
  118. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/openai/call_params.md +0 -0
  119. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/openai/call_response.md +0 -0
  120. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/openai/call_response_chunk.md +0 -0
  121. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/openai/dynamic_config.md +0 -0
  122. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/openai/stream.md +0 -0
  123. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/openai/tool.md +0 -0
  124. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/xai/call.md +0 -0
  125. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/xai/call_params.md +0 -0
  126. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/xai/call_response.md +0 -0
  127. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/xai/call_response_chunk.md +0 -0
  128. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/xai/dynamic_config.md +0 -0
  129. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/xai/stream.md +0 -0
  130. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/core/xai/tool.md +0 -0
  131. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/llm/call.md +0 -0
  132. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/llm/context.md +0 -0
  133. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/llm/override.md +0 -0
  134. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/llm/stream.md +0 -0
  135. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/llm/tool.md +0 -0
  136. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/mcp/client.md +0 -0
  137. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/retries/fallback.md +0 -0
  138. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/retries/tenacity.md +0 -0
  139. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/tools/system/docker_operation.md +0 -0
  140. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/tools/system/file_system.md +0 -0
  141. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/tools/web/duckduckgo.md +0 -0
  142. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/tools/web/httpx.md +0 -0
  143. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/tools/web/parse_url_content.md +0 -0
  144. {mirascope-1.23.4 → mirascope-1.24.1}/api_ref/tools/web/requests.md +0 -0
  145. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/__init__.py +0 -0
  146. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/openai/__init__.py +0 -0
  147. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/openai/realtime/__init__.py +0 -0
  148. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/openai/realtime/_utils/__init__.py +0 -0
  149. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/openai/realtime/_utils/_audio.py +0 -0
  150. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/openai/realtime/_utils/_protocols.py +0 -0
  151. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/openai/realtime/realtime.py +0 -0
  152. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/openai/realtime/recording.py +0 -0
  153. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/openai/realtime/tool.py +0 -0
  154. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/rag/__init__.py +0 -0
  155. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/rag/base/__init__.py +0 -0
  156. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/rag/base/chunkers/__init__.py +0 -0
  157. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/rag/base/chunkers/base_chunker.py +0 -0
  158. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/rag/base/chunkers/text_chunker.py +0 -0
  159. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/rag/base/config.py +0 -0
  160. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/rag/base/document.py +0 -0
  161. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/rag/base/embedders.py +0 -0
  162. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/rag/base/embedding_params.py +0 -0
  163. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/rag/base/embedding_response.py +0 -0
  164. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/rag/base/query_results.py +0 -0
  165. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/rag/base/vectorstore_params.py +0 -0
  166. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/rag/base/vectorstores.py +0 -0
  167. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/rag/chroma/__init__.py +0 -0
  168. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/rag/chroma/types.py +0 -0
  169. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/rag/chroma/vectorstores.py +0 -0
  170. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/rag/cohere/__init__.py +0 -0
  171. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/rag/cohere/embedders.py +0 -0
  172. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/rag/cohere/embedding_params.py +0 -0
  173. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/rag/cohere/embedding_response.py +0 -0
  174. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/rag/cohere/py.typed +0 -0
  175. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/rag/openai/__init__.py +0 -0
  176. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/rag/openai/embedders.py +0 -0
  177. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/rag/openai/embedding_params.py +0 -0
  178. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/rag/openai/embedding_response.py +0 -0
  179. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/rag/openai/py.typed +0 -0
  180. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/rag/pinecone/__init__.py +0 -0
  181. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/rag/pinecone/types.py +0 -0
  182. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/rag/pinecone/vectorstores.py +0 -0
  183. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/rag/weaviate/__init__.py +0 -0
  184. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/rag/weaviate/types.py +0 -0
  185. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/beta/rag/weaviate/vectorstores.py +0 -0
  186. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/anthropic/__init__.py +0 -0
  187. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/anthropic/_call.py +0 -0
  188. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/anthropic/_call_kwargs.py +0 -0
  189. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/anthropic/_utils/__init__.py +0 -0
  190. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/anthropic/_utils/_convert_common_call_params.py +0 -0
  191. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/anthropic/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -0
  192. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/anthropic/_utils/_convert_message_params.py +0 -0
  193. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/anthropic/_utils/_get_json_output.py +0 -0
  194. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/anthropic/_utils/_handle_stream.py +0 -0
  195. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/anthropic/_utils/_message_param_converter.py +0 -0
  196. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/anthropic/_utils/_setup_call.py +0 -0
  197. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/anthropic/call_params.py +0 -0
  198. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/anthropic/call_response.py +0 -0
  199. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/anthropic/call_response_chunk.py +0 -0
  200. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/anthropic/dynamic_config.py +0 -0
  201. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/anthropic/py.typed +0 -0
  202. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/anthropic/stream.py +0 -0
  203. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/anthropic/tool.py +0 -0
  204. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/azure/__init__.py +0 -0
  205. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/azure/_call.py +0 -0
  206. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/azure/_call_kwargs.py +0 -0
  207. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/azure/_utils/__init__.py +0 -0
  208. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/azure/_utils/_convert_common_call_params.py +0 -0
  209. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/azure/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -0
  210. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/azure/_utils/_convert_message_params.py +0 -0
  211. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/azure/_utils/_get_credential.py +0 -0
  212. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/azure/_utils/_get_json_output.py +0 -0
  213. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/azure/_utils/_handle_stream.py +0 -0
  214. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/azure/_utils/_message_param_converter.py +0 -0
  215. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/azure/_utils/_setup_call.py +0 -0
  216. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/azure/call_params.py +0 -0
  217. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/azure/call_response.py +0 -0
  218. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/azure/dynamic_config.py +0 -0
  219. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/azure/py.typed +0 -0
  220. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/azure/stream.py +0 -0
  221. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/azure/tool.py +0 -0
  222. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_call_factory.py +0 -0
  223. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_create.py +0 -0
  224. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_extract.py +0 -0
  225. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_extract_with_tools.py +0 -0
  226. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_partial.py +0 -0
  227. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_utils/__init__.py +0 -0
  228. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_utils/_base_message_param_converter.py +0 -0
  229. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_utils/_base_type.py +0 -0
  230. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_utils/_convert_base_model_to_base_tool.py +0 -0
  231. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_utils/_convert_base_type_to_base_tool.py +0 -0
  232. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_utils/_convert_function_to_base_tool.py +0 -0
  233. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_utils/_convert_provider_finish_reason_to_finish_reason.py +0 -0
  234. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_utils/_default_tool_docstring.py +0 -0
  235. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_utils/_extract_tool_return.py +0 -0
  236. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_utils/_fn_is_async.py +0 -0
  237. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_utils/_format_template.py +0 -0
  238. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_utils/_get_audio_type.py +0 -0
  239. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_utils/_get_common_usage.py +0 -0
  240. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_utils/_get_create_fn_or_async_create_fn.py +0 -0
  241. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_utils/_get_document_type.py +0 -0
  242. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_utils/_get_dynamic_configuration.py +0 -0
  243. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_utils/_get_fields_from_call_args.py +0 -0
  244. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_utils/_get_fn_args.py +0 -0
  245. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_utils/_get_image_dimensions.py +0 -0
  246. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_utils/_get_image_type.py +0 -0
  247. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_utils/_get_metadata.py +0 -0
  248. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_utils/_get_possible_user_message_param.py +0 -0
  249. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_utils/_get_prompt_template.py +0 -0
  250. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_utils/_get_template_values.py +0 -0
  251. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_utils/_get_template_variables.py +0 -0
  252. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_utils/_get_unsupported_tool_config_keys.py +0 -0
  253. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_utils/_is_prompt_template.py +0 -0
  254. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_utils/_json_mode_content.py +0 -0
  255. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_utils/_messages_decorator.py +0 -0
  256. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_utils/_parse_content_template.py +0 -0
  257. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_utils/_parse_prompt_messages.py +0 -0
  258. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_utils/_pil_image_to_bytes.py +0 -0
  259. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_utils/_protocols.py +0 -0
  260. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_utils/_setup_call.py +0 -0
  261. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/_utils/_setup_extract_tool.py +0 -0
  262. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/call_kwargs.py +0 -0
  263. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/call_params.py +0 -0
  264. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/call_response_chunk.py +0 -0
  265. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/dynamic_config.py +0 -0
  266. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/from_call_args.py +0 -0
  267. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/merge_decorators.py +0 -0
  268. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/metadata.py +0 -0
  269. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/prompt.py +0 -0
  270. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/response_model_config_dict.py +0 -0
  271. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/stream.py +0 -0
  272. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/stream_config.py +0 -0
  273. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/structured_stream.py +0 -0
  274. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/toolkit.py +0 -0
  275. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/base/types.py +0 -0
  276. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/bedrock/__init__.py +0 -0
  277. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/bedrock/_call.py +0 -0
  278. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/bedrock/_call_kwargs.py +0 -0
  279. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/bedrock/_types.py +0 -0
  280. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/bedrock/_utils/__init__.py +0 -0
  281. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/bedrock/_utils/_convert_common_call_params.py +0 -0
  282. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/bedrock/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -0
  283. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/bedrock/_utils/_convert_message_params.py +0 -0
  284. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/bedrock/_utils/_get_json_output.py +0 -0
  285. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/bedrock/_utils/_handle_stream.py +0 -0
  286. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/bedrock/_utils/_setup_call.py +0 -0
  287. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/bedrock/call_params.py +0 -0
  288. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/bedrock/call_response_chunk.py +0 -0
  289. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/bedrock/dynamic_config.py +0 -0
  290. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/bedrock/py.typed +0 -0
  291. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/bedrock/stream.py +0 -0
  292. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/cohere/__init__.py +0 -0
  293. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/cohere/_call.py +0 -0
  294. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/cohere/_call_kwargs.py +0 -0
  295. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/cohere/_types.py +0 -0
  296. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/cohere/_utils/__init__.py +0 -0
  297. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/cohere/_utils/_convert_common_call_params.py +0 -0
  298. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/cohere/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -0
  299. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/cohere/_utils/_convert_message_params.py +0 -0
  300. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/cohere/_utils/_get_json_output.py +0 -0
  301. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/cohere/_utils/_handle_stream.py +0 -0
  302. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/cohere/_utils/_message_param_converter.py +0 -0
  303. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/cohere/_utils/_setup_call.py +0 -0
  304. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/cohere/call_params.py +0 -0
  305. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/cohere/call_response.py +0 -0
  306. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/cohere/call_response_chunk.py +0 -0
  307. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/cohere/dynamic_config.py +0 -0
  308. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/cohere/py.typed +0 -0
  309. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/cohere/stream.py +0 -0
  310. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/cohere/tool.py +0 -0
  311. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/costs/__init__.py +0 -0
  312. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/costs/_anthropic_calculate_cost.py +0 -0
  313. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/costs/_azure_calculate_cost.py +0 -0
  314. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/costs/_bedrock_calculate_cost.py +0 -0
  315. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/costs/_cohere_calculate_cost.py +0 -0
  316. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/costs/_gemini_calculate_cost.py +0 -0
  317. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/costs/_google_calculate_cost.py +0 -0
  318. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/costs/_groq_calculate_cost.py +0 -0
  319. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/costs/_litellm_calculate_cost.py +0 -0
  320. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/costs/_mistral_calculate_cost.py +0 -0
  321. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/costs/_openai_calculate_cost.py +0 -0
  322. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/costs/_vertex_calculate_cost.py +0 -0
  323. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/costs/_xai_calculate_cost.py +0 -0
  324. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/costs/calculate_cost.py +0 -0
  325. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/gemini/__init__.py +0 -0
  326. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/gemini/_call.py +0 -0
  327. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/gemini/_call_kwargs.py +0 -0
  328. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/gemini/_utils/__init__.py +0 -0
  329. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/gemini/_utils/_convert_common_call_params.py +0 -0
  330. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/gemini/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -0
  331. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/gemini/_utils/_convert_message_params.py +0 -0
  332. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/gemini/_utils/_get_json_output.py +0 -0
  333. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/gemini/_utils/_handle_stream.py +0 -0
  334. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/gemini/_utils/_message_param_converter.py +0 -0
  335. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/gemini/_utils/_setup_call.py +0 -0
  336. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/gemini/call_params.py +0 -0
  337. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/gemini/call_response.py +0 -0
  338. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/gemini/call_response_chunk.py +0 -0
  339. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/gemini/dynamic_config.py +0 -0
  340. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/gemini/stream.py +0 -0
  341. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/gemini/tool.py +0 -0
  342. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/google/__init__.py +0 -0
  343. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/google/_call.py +0 -0
  344. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/google/_call_kwargs.py +0 -0
  345. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/google/_utils/__init__.py +0 -0
  346. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/google/_utils/_convert_common_call_params.py +0 -0
  347. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/google/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -0
  348. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/google/_utils/_get_json_output.py +0 -0
  349. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/google/_utils/_handle_stream.py +0 -0
  350. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/google/_utils/_setup_call.py +0 -0
  351. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/google/call_params.py +0 -0
  352. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/google/call_response.py +0 -0
  353. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/google/call_response_chunk.py +0 -0
  354. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/google/dynamic_config.py +0 -0
  355. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/google/stream.py +0 -0
  356. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/google/tool.py +0 -0
  357. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/groq/__init__.py +0 -0
  358. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/groq/_call.py +0 -0
  359. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/groq/_call_kwargs.py +0 -0
  360. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/groq/_utils/__init__.py +0 -0
  361. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/groq/_utils/_convert_common_call_params.py +0 -0
  362. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/groq/_utils/_convert_message_params.py +0 -0
  363. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/groq/_utils/_get_json_output.py +0 -0
  364. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/groq/_utils/_handle_stream.py +0 -0
  365. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/groq/_utils/_message_param_converter.py +0 -0
  366. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/groq/_utils/_setup_call.py +0 -0
  367. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/groq/call_params.py +0 -0
  368. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/groq/call_response.py +0 -0
  369. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/groq/call_response_chunk.py +0 -0
  370. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/groq/dynamic_config.py +0 -0
  371. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/groq/py.typed +0 -0
  372. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/groq/stream.py +0 -0
  373. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/groq/tool.py +0 -0
  374. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/litellm/__init__.py +0 -0
  375. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/litellm/_call.py +0 -0
  376. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/litellm/_utils/__init__.py +0 -0
  377. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/litellm/_utils/_setup_call.py +0 -0
  378. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/litellm/call_params.py +0 -0
  379. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/litellm/call_response.py +0 -0
  380. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/litellm/call_response_chunk.py +0 -0
  381. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/litellm/dynamic_config.py +0 -0
  382. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/litellm/py.typed +0 -0
  383. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/litellm/stream.py +0 -0
  384. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/litellm/tool.py +0 -0
  385. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/mistral/__init__.py +0 -0
  386. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/mistral/_call.py +0 -0
  387. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/mistral/_call_kwargs.py +0 -0
  388. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/mistral/_utils/__init__.py +0 -0
  389. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/mistral/_utils/_convert_common_call_params.py +0 -0
  390. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/mistral/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -0
  391. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/mistral/_utils/_convert_message_params.py +0 -0
  392. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/mistral/_utils/_get_json_output.py +0 -0
  393. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/mistral/_utils/_handle_stream.py +0 -0
  394. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/mistral/_utils/_message_param_converter.py +0 -0
  395. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/mistral/_utils/_setup_call.py +0 -0
  396. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/mistral/call_params.py +0 -0
  397. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/mistral/call_response.py +0 -0
  398. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/mistral/call_response_chunk.py +0 -0
  399. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/mistral/dynamic_config.py +0 -0
  400. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/mistral/py.typed +0 -0
  401. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/mistral/stream.py +0 -0
  402. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/mistral/tool.py +0 -0
  403. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/openai/__init__.py +0 -0
  404. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/openai/_call.py +0 -0
  405. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/openai/_call_kwargs.py +0 -0
  406. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/openai/_utils/__init__.py +0 -0
  407. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/openai/_utils/_convert_common_call_params.py +0 -0
  408. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/openai/_utils/_convert_message_params.py +0 -0
  409. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/openai/_utils/_get_json_output.py +0 -0
  410. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/openai/_utils/_handle_stream.py +0 -0
  411. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/openai/_utils/_message_param_converter.py +0 -0
  412. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/openai/_utils/_setup_call.py +0 -0
  413. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/openai/call_params.py +0 -0
  414. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/openai/call_response.py +0 -0
  415. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/openai/call_response_chunk.py +0 -0
  416. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/openai/dynamic_config.py +0 -0
  417. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/openai/py.typed +0 -0
  418. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/openai/stream.py +0 -0
  419. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/openai/tool.py +0 -0
  420. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/py.typed +0 -0
  421. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/vertex/__init__.py +0 -0
  422. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/vertex/_call.py +0 -0
  423. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/vertex/_call_kwargs.py +0 -0
  424. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/vertex/_utils/__init__.py +0 -0
  425. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/vertex/_utils/_convert_common_call_params.py +0 -0
  426. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/vertex/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -0
  427. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/vertex/_utils/_convert_message_params.py +0 -0
  428. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/vertex/_utils/_get_json_output.py +0 -0
  429. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/vertex/_utils/_handle_stream.py +0 -0
  430. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/vertex/_utils/_message_param_converter.py +0 -0
  431. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/vertex/_utils/_setup_call.py +0 -0
  432. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/vertex/call_params.py +0 -0
  433. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/vertex/call_response.py +0 -0
  434. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/vertex/call_response_chunk.py +0 -0
  435. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/vertex/dynamic_config.py +0 -0
  436. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/vertex/stream.py +0 -0
  437. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/vertex/tool.py +0 -0
  438. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/xai/__init__.py +0 -0
  439. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/xai/_call.py +0 -0
  440. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/xai/_utils/__init__.py +0 -0
  441. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/xai/_utils/_setup_call.py +0 -0
  442. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/xai/call_params.py +0 -0
  443. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/xai/call_response.py +0 -0
  444. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/xai/call_response_chunk.py +0 -0
  445. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/xai/dynamic_config.py +0 -0
  446. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/xai/py.typed +0 -0
  447. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/xai/stream.py +0 -0
  448. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/core/xai/tool.py +0 -0
  449. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/experimental/graphs/__init__.py +0 -0
  450. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/experimental/graphs/finite_state_machine.py +0 -0
  451. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/integrations/__init__.py +0 -0
  452. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/integrations/_middleware_factory.py +0 -0
  453. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/integrations/langfuse/__init__.py +0 -0
  454. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/integrations/langfuse/_utils.py +0 -0
  455. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/integrations/langfuse/_with_langfuse.py +0 -0
  456. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/integrations/logfire/__init__.py +0 -0
  457. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/integrations/logfire/_utils.py +0 -0
  458. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/integrations/logfire/_with_logfire.py +0 -0
  459. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/integrations/otel/__init__.py +0 -0
  460. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/integrations/otel/_utils.py +0 -0
  461. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/integrations/otel/_with_hyperdx.py +0 -0
  462. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/integrations/otel/_with_otel.py +0 -0
  463. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/integrations/tenacity.py +0 -0
  464. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/llm/__init__.py +0 -0
  465. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/llm/_call.py +0 -0
  466. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/llm/_context.py +0 -0
  467. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/llm/_override.py +0 -0
  468. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/llm/_protocols.py +0 -0
  469. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/llm/_response_metaclass.py +0 -0
  470. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/llm/call_response_chunk.py +0 -0
  471. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/llm/stream.py +0 -0
  472. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/llm/tool.py +0 -0
  473. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/mcp/__init__.py +0 -0
  474. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/mcp/_utils.py +0 -0
  475. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/mcp/client.py +0 -0
  476. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/mcp/server.py +0 -0
  477. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/mcp/tools.py +0 -0
  478. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/py.typed +0 -0
  479. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/retries/__init__.py +0 -0
  480. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/retries/fallback.py +0 -0
  481. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/retries/tenacity.py +0 -0
  482. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/tools/__init__.py +0 -0
  483. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/tools/base.py +0 -0
  484. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/tools/system/__init__.py +0 -0
  485. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/tools/system/_docker_operation.py +0 -0
  486. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/tools/system/_file_system.py +0 -0
  487. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/tools/web/__init__.py +0 -0
  488. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/tools/web/_duckduckgo.py +0 -0
  489. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/tools/web/_httpx.py +0 -0
  490. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/tools/web/_parse_url_content.py +0 -0
  491. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/tools/web/_requests.py +0 -0
  492. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/v0/__init__.py +0 -0
  493. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/v0/anthropic.py +0 -0
  494. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/v0/base/__init__.py +0 -0
  495. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/v0/base/calls.py +0 -0
  496. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/v0/base/extractors.py +0 -0
  497. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/v0/base/ops_utils.py +0 -0
  498. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/v0/base/prompts.py +0 -0
  499. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/v0/base/types.py +0 -0
  500. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/v0/base/utils.py +0 -0
  501. {mirascope-1.23.4 → mirascope-1.24.1}/mirascope/v0/openai.py +0 -0
  502. {mirascope-1.23.4 → mirascope-1.24.1}/tests/__init__.py +0 -0
  503. {mirascope-1.23.4 → mirascope-1.24.1}/tests/conftest.py +0 -0
  504. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/__init__.py +0 -0
  505. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/anthropic/__init__.py +0 -0
  506. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/anthropic/_utils/__init__.py +0 -0
  507. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/anthropic/_utils/test_convert_common_call_params.py +0 -0
  508. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/anthropic/_utils/test_convert_message_params.py +0 -0
  509. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/anthropic/_utils/test_get_json_output.py +0 -0
  510. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/anthropic/_utils/test_handle_stream.py +0 -0
  511. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/anthropic/_utils/test_message_param_converter.py +0 -0
  512. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/anthropic/_utils/test_setup_call.py +0 -0
  513. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/anthropic/test_call.py +0 -0
  514. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/anthropic/test_call_response.py +0 -0
  515. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/anthropic/test_call_response_chunk.py +0 -0
  516. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/anthropic/test_stream.py +0 -0
  517. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/anthropic/test_tool.py +0 -0
  518. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/azure/__init__.py +0 -0
  519. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/azure/_utils/__init__.py +0 -0
  520. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/azure/_utils/test_convert_common_call_params.py +0 -0
  521. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/azure/_utils/test_convert_message_params.py +0 -0
  522. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/azure/_utils/test_get_credential.py +0 -0
  523. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/azure/_utils/test_get_json_output.py +0 -0
  524. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/azure/_utils/test_handle_stream.py +0 -0
  525. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/azure/_utils/test_message_param_converter.py +0 -0
  526. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/azure/_utils/test_setup_call.py +0 -0
  527. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/azure/test_call.py +0 -0
  528. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/azure/test_call_response.py +0 -0
  529. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/azure/test_call_response_chunk.py +0 -0
  530. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/azure/test_stream.py +0 -0
  531. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/azure/test_tool.py +0 -0
  532. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/__init__.py +0 -0
  533. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/_utils/__init__.py +0 -0
  534. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/_utils/test_base_type.py +0 -0
  535. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/_utils/test_convert_base_model_to_base_tool.py +0 -0
  536. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/_utils/test_convert_base_type_to_base_tool.py +0 -0
  537. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/_utils/test_convert_function_to_base_tool.py +0 -0
  538. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/_utils/test_convert_messages_to_message_params.py +0 -0
  539. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/_utils/test_extract_tool_return.py +0 -0
  540. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/_utils/test_format_template.py +0 -0
  541. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/_utils/test_get_audio_type.py +0 -0
  542. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/_utils/test_get_create_fn_or_async_create_fn.py +0 -0
  543. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/_utils/test_get_document_type.py +0 -0
  544. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/_utils/test_get_dynamic_configuration.py +0 -0
  545. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/_utils/test_get_fields_from_call_args.py +0 -0
  546. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/_utils/test_get_fn_args.py +0 -0
  547. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/_utils/test_get_image_dimensions.py +0 -0
  548. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/_utils/test_get_image_type.py +0 -0
  549. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/_utils/test_get_metadata.py +0 -0
  550. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/_utils/test_get_possible_user_message_param.py +0 -0
  551. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/_utils/test_get_prompt_template.py +0 -0
  552. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/_utils/test_get_template_values.py +0 -0
  553. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/_utils/test_get_template_variables.py +0 -0
  554. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/_utils/test_get_unsupported_tool_config_keys.py +0 -0
  555. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/_utils/test_json_mode_content.py +0 -0
  556. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/_utils/test_message_decorator.py +0 -0
  557. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/_utils/test_parse_content_template.py +0 -0
  558. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/_utils/test_parse_prompt_messages.py +0 -0
  559. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/_utils/test_pil_image_to_bytes.py +0 -0
  560. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/_utils/test_setup_call.py +0 -0
  561. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/_utils/test_setup_extract_tool.py +0 -0
  562. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/conftest.py +0 -0
  563. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/test_call_factory.py +0 -0
  564. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/test_call_response.py +0 -0
  565. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/test_call_response_chunk.py +0 -0
  566. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/test_create.py +0 -0
  567. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/test_extract.py +0 -0
  568. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/test_extract_with_tools.py +0 -0
  569. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/test_merge_decorators.py +0 -0
  570. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/test_partial.py +0 -0
  571. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/test_prompt.py +0 -0
  572. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/test_stream.py +0 -0
  573. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/test_structured_stream.py +0 -0
  574. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/test_tool.py +0 -0
  575. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/base/test_toolkit.py +0 -0
  576. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/bedrock/__init__.py +0 -0
  577. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/bedrock/_utils/__init__.py +0 -0
  578. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/bedrock/_utils/test_convert_common_call_params.py +0 -0
  579. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/bedrock/_utils/test_convert_message_params.py +0 -0
  580. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/bedrock/_utils/test_get_json_output.py +0 -0
  581. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/bedrock/_utils/test_handle_stream.py +0 -0
  582. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/bedrock/_utils/test_setup_call.py +0 -0
  583. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/bedrock/conftest.py +0 -0
  584. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/bedrock/test_call.py +0 -0
  585. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/bedrock/test_call_response_chunk.py +0 -0
  586. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/bedrock/test_stream.py +0 -0
  587. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/cohere/__init__.py +0 -0
  588. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/cohere/_utils/__init__.py +0 -0
  589. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/cohere/_utils/test_convert_common_call_params.py +0 -0
  590. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/cohere/_utils/test_convert_message_params.py +0 -0
  591. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/cohere/_utils/test_get_json_output.py +0 -0
  592. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/cohere/_utils/test_handle_stream.py +0 -0
  593. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/cohere/_utils/test_message_param_converter.py +0 -0
  594. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/cohere/_utils/test_setup_call.py +0 -0
  595. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/cohere/test_call.py +0 -0
  596. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/cohere/test_call_response.py +0 -0
  597. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/cohere/test_call_response_chunk.py +0 -0
  598. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/cohere/test_stream.py +0 -0
  599. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/cohere/test_tool.py +0 -0
  600. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/costs/__init__.py +0 -0
  601. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/costs/test_anthropic_calculate_cost.py +0 -0
  602. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/costs/test_azure_calculate_cost.py +0 -0
  603. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/costs/test_bedrock_calculate_cost.py +0 -0
  604. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/costs/test_calculation_cost.py +0 -0
  605. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/costs/test_cohere_calculate_cost.py +0 -0
  606. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/costs/test_gemini_calculate_cost.py +0 -0
  607. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/costs/test_google_calculate_cost.py +0 -0
  608. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/costs/test_groq_calculate_cost.py +0 -0
  609. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/costs/test_mistral_calculate_cost.py +0 -0
  610. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/costs/test_openai_calculate_cost.py +0 -0
  611. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/costs/test_vertex_calculate_cost.py +0 -0
  612. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/costs/test_xai_calculate_cost.py +0 -0
  613. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/gemini/__init__.py +0 -0
  614. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/gemini/_utils/__init__.py +0 -0
  615. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/gemini/_utils/test_convert_common_call_params.py +0 -0
  616. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/gemini/_utils/test_convert_message_params.py +0 -0
  617. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/gemini/_utils/test_get_json_output.py +0 -0
  618. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/gemini/_utils/test_handle_stream.py +0 -0
  619. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/gemini/_utils/test_message_param_converter.py +0 -0
  620. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/gemini/_utils/test_setup_call.py +0 -0
  621. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/gemini/test_call.py +0 -0
  622. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/gemini/test_call_response.py +0 -0
  623. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/gemini/test_call_response_chunk.py +0 -0
  624. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/gemini/test_stream.py +0 -0
  625. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/gemini/test_tool.py +0 -0
  626. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/google/__init__.py +0 -0
  627. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/google/_utils/__init__.py +0 -0
  628. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/google/_utils/test_convert_common_call_params.py +0 -0
  629. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/google/_utils/test_get_json_output.py +0 -0
  630. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/google/_utils/test_handle_stream.py +0 -0
  631. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/google/_utils/test_setup_call.py +0 -0
  632. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/google/test_call.py +0 -0
  633. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/google/test_call_response.py +0 -0
  634. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/google/test_call_response_chunk.py +0 -0
  635. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/google/test_stream.py +0 -0
  636. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/google/test_tool.py +0 -0
  637. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/groq/__init__.py +0 -0
  638. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/groq/_utils/__init__.py +0 -0
  639. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/groq/_utils/test_convert_common_call_params.py +0 -0
  640. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/groq/_utils/test_convert_message_params.py +0 -0
  641. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/groq/_utils/test_get_json_output.py +0 -0
  642. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/groq/_utils/test_handle_stream.py +0 -0
  643. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/groq/_utils/test_message_param_converter.py +0 -0
  644. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/groq/_utils/test_setup_call.py +0 -0
  645. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/groq/test_call.py +0 -0
  646. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/groq/test_call_response.py +0 -0
  647. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/groq/test_call_response_chunk.py +0 -0
  648. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/groq/test_stream.py +0 -0
  649. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/groq/test_tool.py +0 -0
  650. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/litellm/__init__.py +0 -0
  651. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/litellm/_utils/__init__.py +0 -0
  652. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/litellm/_utils/test_setup_call.py +0 -0
  653. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/litellm/test_call.py +0 -0
  654. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/litellm/test_call_response.py +0 -0
  655. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/litellm/test_stream.py +0 -0
  656. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/mistral/__init__.py +0 -0
  657. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/mistral/_utils/__init__.py +0 -0
  658. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/mistral/_utils/test_convert_common_call_params.py +0 -0
  659. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/mistral/_utils/test_convert_message_params.py +0 -0
  660. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/mistral/_utils/test_get_json_output.py +0 -0
  661. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/mistral/_utils/test_handle_stream.py +0 -0
  662. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/mistral/_utils/test_message_param_converter.py +0 -0
  663. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/mistral/_utils/test_setup_call.py +0 -0
  664. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/mistral/test_call.py +0 -0
  665. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/mistral/test_call_response.py +0 -0
  666. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/mistral/test_call_response_chunk.py +0 -0
  667. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/mistral/test_stream.py +0 -0
  668. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/mistral/test_tool.py +0 -0
  669. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/openai/__init__.py +0 -0
  670. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/openai/_utils/__init__.py +0 -0
  671. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/openai/_utils/test_convert_common_call_params.py +0 -0
  672. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/openai/_utils/test_convert_message_params.py +0 -0
  673. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/openai/_utils/test_get_json_output.py +0 -0
  674. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/openai/_utils/test_handle_stream.py +0 -0
  675. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/openai/_utils/test_message_param_converter.py +0 -0
  676. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/openai/_utils/test_setup_call.py +0 -0
  677. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/openai/test_call.py +0 -0
  678. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/openai/test_call_response.py +0 -0
  679. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/openai/test_call_response_chunk.py +0 -0
  680. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/openai/test_stream.py +0 -0
  681. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/openai/test_tool.py +0 -0
  682. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/vertex/__init__.py +0 -0
  683. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/vertex/_utils/__init__.py +0 -0
  684. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/vertex/_utils/test_convert_common_call_params.py +0 -0
  685. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/vertex/_utils/test_convert_message_params.py +0 -0
  686. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/vertex/_utils/test_get_json_output.py +0 -0
  687. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/vertex/_utils/test_handle_stream.py +0 -0
  688. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/vertex/_utils/test_message_param_converter.py +0 -0
  689. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/vertex/_utils/test_setup_call.py +0 -0
  690. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/vertex/test_call.py +0 -0
  691. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/vertex/test_call_response.py +0 -0
  692. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/vertex/test_call_response_chunk.py +0 -0
  693. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/vertex/test_stream.py +0 -0
  694. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/vertex/test_tool.py +0 -0
  695. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/xai/__init__.py +0 -0
  696. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/xai/_utils/__init__.py +0 -0
  697. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/xai/_utils/test_setup_call.py +0 -0
  698. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/xai/test_call.py +0 -0
  699. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/xai/test_call_response.py +0 -0
  700. {mirascope-1.23.4 → mirascope-1.24.1}/tests/core/xai/test_stream.py +0 -0
  701. {mirascope-1.23.4 → mirascope-1.24.1}/tests/integrations/__init__.py +0 -0
  702. {mirascope-1.23.4 → mirascope-1.24.1}/tests/integrations/langfuse/__init__.py +0 -0
  703. {mirascope-1.23.4 → mirascope-1.24.1}/tests/integrations/langfuse/test_utils.py +0 -0
  704. {mirascope-1.23.4 → mirascope-1.24.1}/tests/integrations/langfuse/test_with_langfuse.py +0 -0
  705. {mirascope-1.23.4 → mirascope-1.24.1}/tests/integrations/logfire/__init__.py +0 -0
  706. {mirascope-1.23.4 → mirascope-1.24.1}/tests/integrations/logfire/test_utils.py +0 -0
  707. {mirascope-1.23.4 → mirascope-1.24.1}/tests/integrations/logfire/test_with_logfire.py +0 -0
  708. {mirascope-1.23.4 → mirascope-1.24.1}/tests/integrations/otel/__init__.py +0 -0
  709. {mirascope-1.23.4 → mirascope-1.24.1}/tests/integrations/otel/test_utils.py +0 -0
  710. {mirascope-1.23.4 → mirascope-1.24.1}/tests/integrations/otel/test_with_hyperdx.py +0 -0
  711. {mirascope-1.23.4 → mirascope-1.24.1}/tests/integrations/otel/test_with_otel.py +0 -0
  712. {mirascope-1.23.4 → mirascope-1.24.1}/tests/integrations/test_middleware_factory.py +0 -0
  713. {mirascope-1.23.4 → mirascope-1.24.1}/tests/llm/__init__.py +0 -0
  714. {mirascope-1.23.4 → mirascope-1.24.1}/tests/llm/test_call.py +0 -0
  715. {mirascope-1.23.4 → mirascope-1.24.1}/tests/llm/test_call_response_chunk.py +0 -0
  716. {mirascope-1.23.4 → mirascope-1.24.1}/tests/llm/test_context.py +0 -0
  717. {mirascope-1.23.4 → mirascope-1.24.1}/tests/llm/test_override.py +0 -0
  718. {mirascope-1.23.4 → mirascope-1.24.1}/tests/llm/test_response_metaclass.py +0 -0
  719. {mirascope-1.23.4 → mirascope-1.24.1}/tests/llm/test_stream.py +0 -0
  720. {mirascope-1.23.4 → mirascope-1.24.1}/tests/llm/test_tool.py +0 -0
  721. {mirascope-1.23.4 → mirascope-1.24.1}/tests/mcp/__init__.py +0 -0
  722. {mirascope-1.23.4 → mirascope-1.24.1}/tests/mcp/test_client.py +0 -0
  723. {mirascope-1.23.4 → mirascope-1.24.1}/tests/mcp/test_server.py +0 -0
  724. {mirascope-1.23.4 → mirascope-1.24.1}/tests/retries/__init__.py +0 -0
  725. {mirascope-1.23.4 → mirascope-1.24.1}/tests/retries/test_fallback.py +0 -0
  726. {mirascope-1.23.4 → mirascope-1.24.1}/tests/retries/test_tenacity.py +0 -0
  727. {mirascope-1.23.4 → mirascope-1.24.1}/tests/tools/__init__.py +0 -0
  728. {mirascope-1.23.4 → mirascope-1.24.1}/tests/tools/test_base.py +0 -0
  729. {mirascope-1.23.4 → mirascope-1.24.1}/tests/tools/test_docker_operation_toolkit.py +0 -0
  730. {mirascope-1.23.4 → mirascope-1.24.1}/tests/tools/test_filesystem_toolkit.py +0 -0
  731. {mirascope-1.23.4 → mirascope-1.24.1}/tests/tools/web/__init__.py +0 -0
  732. {mirascope-1.23.4 → mirascope-1.24.1}/tests/tools/web/test_duckduckgo.py +0 -0
  733. {mirascope-1.23.4 → mirascope-1.24.1}/tests/tools/web/test_httpx.py +0 -0
  734. {mirascope-1.23.4 → mirascope-1.24.1}/tests/tools/web/test_parse_url_content.py +0 -0
  735. {mirascope-1.23.4 → mirascope-1.24.1}/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.23.4
3
+ Version: 1.24.1
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
@@ -154,7 +154,7 @@ print(book)
154
154
 
155
155
  ## Tutorials
156
156
 
157
- Check out our [quickstart tutorial](https://mirascope.com/tutorials/getting_started/quickstart) and many other tutorials for an interactive way to getting started with Mirascope.
157
+ Check out our [quickstart tutorial](https://mirascope.com/docs/mirascope/getting-started/quickstart) and many other tutorials for an interactive way to getting started with Mirascope.
158
158
 
159
159
  ## Usage
160
160
 
@@ -166,4 +166,4 @@ Mirascope uses [Semantic Versioning](https://semver.org/).
166
166
 
167
167
  ## Licence
168
168
 
169
- This project is licensed under the terms of the [MIT License](https://github.com/Mirascope/mirascope/blob/dev/LICENSE).
169
+ This project is licensed under the terms of the [MIT License](https://github.com/Mirascope/mirascope/tree/main/LICENSE).
@@ -51,7 +51,7 @@ print(book)
51
51
 
52
52
  ## Tutorials
53
53
 
54
- Check out our [quickstart tutorial](https://mirascope.com/tutorials/getting_started/quickstart) and many other tutorials for an interactive way to getting started with Mirascope.
54
+ Check out our [quickstart tutorial](https://mirascope.com/docs/mirascope/getting-started/quickstart) and many other tutorials for an interactive way to getting started with Mirascope.
55
55
 
56
56
  ## Usage
57
57
 
@@ -63,4 +63,4 @@ Mirascope uses [Semantic Versioning](https://semver.org/).
63
63
 
64
64
  ## Licence
65
65
 
66
- This project is licensed under the terms of the [MIT License](https://github.com/Mirascope/mirascope/blob/dev/LICENSE).
66
+ This project is licensed under the terms of the [MIT License](https://github.com/Mirascope/mirascope/tree/main/LICENSE).
@@ -0,0 +1,3 @@
1
+ # mirascope.llm.call_response
2
+
3
+ ::: mirascope.llm.call_response
@@ -0,0 +1,3 @@
1
+ # mirascope.llm.call_response_chunk
2
+
3
+ ::: mirascope.llm.call_response_chunk
@@ -15,6 +15,7 @@ from .core import (
15
15
  BaseToolKit,
16
16
  CacheControlPart,
17
17
  DocumentPart,
18
+ DocumentURLPart,
18
19
  ImagePart,
19
20
  ImageURLPart,
20
21
  LocalProvider,
@@ -43,6 +44,7 @@ __all__ = [
43
44
  "BaseToolKit",
44
45
  "CacheControlPart",
45
46
  "DocumentPart",
47
+ "DocumentURLPart",
46
48
  "ImagePart",
47
49
  "ImageURLPart",
48
50
  "LocalProvider",
@@ -16,6 +16,7 @@ from .base import (
16
16
  CacheControlPart,
17
17
  CostMetadata,
18
18
  DocumentPart,
19
+ DocumentURLPart,
19
20
  FromCallArgs,
20
21
  ImagePart,
21
22
  ImageURLPart,
@@ -77,6 +78,7 @@ __all__ = [
77
78
  "CacheControlPart",
78
79
  "CostMetadata",
79
80
  "DocumentPart",
81
+ "DocumentURLPart",
80
82
  "FromCallArgs",
81
83
  "ImagePart",
82
84
  "ImageURLPart",
@@ -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:
@@ -16,6 +16,7 @@ from .message_param import (
16
16
  BaseMessageParam,
17
17
  CacheControlPart,
18
18
  DocumentPart,
19
+ DocumentURLPart,
19
20
  ImagePart,
20
21
  ImageURLPart,
21
22
  TextPart,
@@ -59,6 +60,7 @@ __all__ = [
59
60
  "CommonCallParams",
60
61
  "CostMetadata",
61
62
  "DocumentPart",
63
+ "DocumentURLPart",
62
64
  "FromCallArgs",
63
65
  "GenerateJsonSchemaNoTitles",
64
66
  "ImagePart",
@@ -14,6 +14,7 @@ from ..message_param import (
14
14
  BaseMessageParam,
15
15
  CacheControlPart,
16
16
  DocumentPart,
17
+ DocumentURLPart,
17
18
  ImagePart,
18
19
  ImageURLPart,
19
20
  TextPart,
@@ -37,7 +38,8 @@ def _convert_message_sequence_part_to_content_part(
37
38
  | AudioURLPart
38
39
  | AudioSegment
39
40
  | Wave_read
40
- | DocumentPart,
41
+ | DocumentPart
42
+ | DocumentURLPart,
41
43
  ) -> (
42
44
  TextPart
43
45
  | ImagePart
@@ -45,6 +47,7 @@ def _convert_message_sequence_part_to_content_part(
45
47
  | AudioPart
46
48
  | AudioURLPart
47
49
  | CacheControlPart
50
+ | DocumentURLPart
48
51
  | DocumentPart
49
52
  ):
50
53
  if isinstance(message_sequence_part, str):
@@ -57,7 +60,8 @@ def _convert_message_sequence_part_to_content_part(
57
60
  | AudioPart
58
61
  | AudioURLPart
59
62
  | CacheControlPart
60
- | DocumentPart,
63
+ | DocumentPart
64
+ | DocumentURLPart,
61
65
  ):
62
66
  return message_sequence_part
63
67
  elif has_pil_module and isinstance(message_sequence_part, Image.Image):
@@ -107,6 +111,7 @@ def convert_message_content_to_message_param_content(
107
111
  | AudioSegment
108
112
  | Wave_read
109
113
  | DocumentPart
114
+ | DocumentURLPart,
110
115
  ],
111
116
  ) -> (
112
117
  list[
@@ -117,6 +122,7 @@ def convert_message_content_to_message_param_content(
117
122
  | AudioURLPart
118
123
  | CacheControlPart
119
124
  | DocumentPart
125
+ | DocumentURLPart,
120
126
  ]
121
127
  | str
122
128
  ):
@@ -151,6 +157,7 @@ def convert_messages_to_message_params(
151
157
  | AudioSegment
152
158
  | Wave_read
153
159
  | DocumentPart
160
+ | DocumentURLPart,
154
161
  ]
155
162
  | list[BaseMessageParam]
156
163
  | BaseMessageParam,
@@ -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):
@@ -103,6 +103,18 @@ class DocumentPart(BaseModel):
103
103
  document: bytes
104
104
 
105
105
 
106
+ class DocumentURLPart(BaseModel):
107
+ """A content part for documents with a URL.
108
+
109
+ Attributes:
110
+ type: Always "document_url"
111
+ url: The URL to the document
112
+ """
113
+
114
+ type: Literal["document_url"]
115
+ url: str
116
+
117
+
106
118
  class ToolCallPart(BaseModel):
107
119
  """A content part for tool.
108
120
 
@@ -156,6 +168,7 @@ class BaseMessageParam(BaseModel):
156
168
  | AudioURLPart
157
169
  | CacheControlPart
158
170
  | DocumentPart
171
+ | DocumentURLPart
159
172
  | ToolCallPart
160
173
  | ToolResultPart
161
174
  ]
@@ -14,6 +14,7 @@ from .message_param import (
14
14
  BaseMessageParam,
15
15
  CacheControlPart,
16
16
  DocumentPart,
17
+ DocumentURLPart,
17
18
  ImagePart,
18
19
  ImageURLPart,
19
20
  TextPart,
@@ -36,6 +37,7 @@ class Messages:
36
37
  | AudioSegment
37
38
  | Wave_read
38
39
  | DocumentPart
40
+ | DocumentURLPart
39
41
  ]
40
42
  | list[BaseMessageParam | Any]
41
43
  | BaseMessageParam
@@ -57,6 +59,7 @@ class Messages:
57
59
  | AudioSegment
58
60
  | Wave_read
59
61
  | DocumentPart
62
+ | DocumentURLPart
60
63
  ],
61
64
  ) -> BaseMessageParam:
62
65
  return BaseMessageParam(
@@ -80,6 +83,7 @@ class Messages:
80
83
  | AudioSegment
81
84
  | Wave_read
82
85
  | DocumentPart
86
+ | DocumentURLPart
83
87
  ],
84
88
  ) -> BaseMessageParam:
85
89
  return BaseMessageParam(
@@ -103,6 +107,7 @@ class Messages:
103
107
  | AudioSegment
104
108
  | Wave_read
105
109
  | DocumentPart
110
+ | DocumentURLPart
106
111
  ],
107
112
  ) -> BaseMessageParam:
108
113
  return BaseMessageParam(
@@ -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.
@@ -16,9 +16,13 @@ from google.genai.types import (
16
16
  )
17
17
 
18
18
  from ...base import BaseMessageParam
19
- from ...base._utils import get_audio_type, get_image_type
19
+ from ...base._utils import get_audio_type, get_document_type, get_image_type
20
20
  from ...base._utils._parse_content_template import _load_media
21
- from ._validate_media_type import _check_audio_media_type, _check_image_media_type
21
+ from ._validate_media_type import (
22
+ _check_audio_media_type,
23
+ _check_document_media_type,
24
+ _check_image_media_type,
25
+ )
22
26
 
23
27
 
24
28
  def _over_file_size_limit(size: int) -> bool:
@@ -154,9 +158,78 @@ async def _convert_message_params_async(
154
158
  if _over_file_size_limit(total_payload_size):
155
159
  must_upload[index] = blob_dict
156
160
  total_payload_size -= audio_size
161
+ elif part.type == "document":
162
+ _check_document_media_type(part.media_type)
163
+ blob_dict = BlobDict(data=part.document, mime_type=part.media_type)
164
+ converted_content.append(PartDict(inline_data=blob_dict))
165
+ document_size = len(part.document)
166
+ total_payload_size += document_size
167
+ if _over_file_size_limit(total_payload_size):
168
+ must_upload[index] = blob_dict
169
+ total_payload_size -= document_size
170
+ elif part.type == "document_url":
171
+ if (
172
+ client.vertexai
173
+ or not part.url.startswith(("https://", "http://"))
174
+ or "generativelanguage.googleapis.com" in part.url
175
+ ):
176
+ converted_content.append(
177
+ PartDict(
178
+ file_data=FileDataDict(
179
+ file_uri=part.url, mime_type=None
180
+ )
181
+ )
182
+ )
183
+ else:
184
+ media_type = None
185
+ try:
186
+ downloaded_document = _load_media(part.url)
187
+ document_types = {
188
+ "pdf": "application/pdf",
189
+ "html": "text/html",
190
+ "xml": "text/xml",
191
+ "rtf": "text/rtf",
192
+ }
193
+
194
+ try:
195
+ document_type_ext = get_document_type(
196
+ downloaded_document
197
+ )
198
+ media_type = document_types.get(document_type_ext)
199
+ except ValueError:
200
+ try:
201
+ downloaded_document.decode("utf-8")
202
+ media_type = "text/plain"
203
+ except UnicodeDecodeError:
204
+ pass
205
+
206
+ if media_type is None:
207
+ raise ValueError(
208
+ f"Unsupported document format detected for URL: {part.url}. "
209
+ "Google API only supports the following document formats: "
210
+ "PDF, JavaScript, Python, TXT, HTML, CSS, Markdown, CSV, XML and RTF. "
211
+ "Please provide a document in one of these supported formats."
212
+ )
213
+
214
+ _check_document_media_type(media_type)
215
+ blob_dict = BlobDict(
216
+ data=downloaded_document, mime_type=media_type
217
+ )
218
+ converted_content.append(PartDict(inline_data=blob_dict))
219
+ document_size = len(downloaded_document)
220
+ total_payload_size += document_size
221
+ if _over_file_size_limit(total_payload_size):
222
+ must_upload[index] = blob_dict
223
+ total_payload_size -= document_size
224
+ except ValueError as e:
225
+ raise ValueError(
226
+ f"Failed to process document from URL: {part.url}. "
227
+ f"Error details: {str(e)}. "
228
+ "Please ensure the URL is accessible and points to a supported document format."
229
+ )
157
230
  else:
158
231
  raise ValueError(
159
- "Google currently only supports text, tool_call, tool_result, image, and audio parts. "
232
+ "Google currently only supports text, tool_call, tool_result, image, audio, and document parts. "
160
233
  f"Part provided: {part.type}"
161
234
  )
162
235
 
@@ -8,7 +8,7 @@ from google.genai.types import (
8
8
  )
9
9
 
10
10
  from mirascope.core import BaseMessageParam
11
- from mirascope.core.base import DocumentPart, ImagePart, TextPart
11
+ from mirascope.core.base import DocumentPart, DocumentURLPart, ImagePart, TextPart
12
12
  from mirascope.core.base._utils._base_message_param_converter import (
13
13
  BaseMessageParamConverter,
14
14
  )
@@ -21,7 +21,11 @@ from mirascope.core.base.message_param import (
21
21
  )
22
22
  from mirascope.core.google._utils import convert_message_params
23
23
 
24
- from ._validate_media_type import _check_audio_media_type, _check_image_media_type
24
+ from ._validate_media_type import (
25
+ _check_audio_media_type,
26
+ _check_document_media_type,
27
+ _check_image_media_type,
28
+ )
25
29
 
26
30
 
27
31
  class GoogleMessageParamConverter(BaseMessageParamConverter):
@@ -78,7 +82,21 @@ class GoogleMessageParamConverter(BaseMessageParamConverter):
78
82
  audio=data,
79
83
  )
80
84
  )
81
- elif mime_type == "application/pdf":
85
+ elif mime_type in [
86
+ "application/pdf",
87
+ "application/x-javascript",
88
+ "text/javascript",
89
+ "application/x-python",
90
+ "text/x-python",
91
+ "text/plain",
92
+ "text/html",
93
+ "text/css",
94
+ "text/csv",
95
+ "text/xml",
96
+ "text/rtf",
97
+ "text/md",
98
+ ]:
99
+ _check_document_media_type(mime_type)
82
100
  content_list.append(
83
101
  DocumentPart(
84
102
  type="document", media_type=mime_type, document=data
@@ -106,6 +124,26 @@ class GoogleMessageParamConverter(BaseMessageParamConverter):
106
124
  url=cast(str, part.file_data.file_uri),
107
125
  )
108
126
  )
127
+ elif mime_type in [
128
+ "application/pdf",
129
+ "application/x-javascript",
130
+ "text/javascript",
131
+ "application/x-python",
132
+ "text/x-python",
133
+ "text/plain",
134
+ "text/html",
135
+ "text/css",
136
+ "text/csv",
137
+ "text/xml",
138
+ "text/rtf",
139
+ "text/md",
140
+ ]:
141
+ content_list.append(
142
+ DocumentURLPart(
143
+ type="document_url",
144
+ url=cast(str, part.file_data.file_uri),
145
+ )
146
+ )
109
147
  else:
110
148
  # Since `FileDataDict` handles any file data, we use
111
149
  # `ImageURLPart` for unknown mime types
@@ -148,7 +186,7 @@ class GoogleMessageParamConverter(BaseMessageParamConverter):
148
186
  )
149
187
  else:
150
188
  raise ValueError(
151
- "Part does not contain any supported content (text, image, or document)."
189
+ "Part does not contain any supported content (text, image, audio, or document)."
152
190
  )
153
191
 
154
192
  if len(content_list) == 1 and isinstance(content_list[0], TextPart):
@@ -32,3 +32,27 @@ def _check_audio_media_type(media_type: str) -> None:
32
32
  "Google currently only supports WAV, MP3, AIFF, AAC, OGG, "
33
33
  "and FLAC audio file types."
34
34
  )
35
+
36
+
37
+ def _check_document_media_type(media_type: str) -> None:
38
+ """Raises a `ValueError` if the document media type is not supported."""
39
+
40
+ if media_type not in [
41
+ "application/pdf",
42
+ "application/x-javascript",
43
+ "text/javascript",
44
+ "application/x-python",
45
+ "text/x-python",
46
+ "text/plain",
47
+ "text/html",
48
+ "text/css",
49
+ "text/csv",
50
+ "text/xml",
51
+ "text/rtf",
52
+ "text/md",
53
+ ]:
54
+ raise ValueError(
55
+ f"Unsupported document media type: {media_type}. "
56
+ "Google currently only supports PDF, JavaScript, Python, TXT, HTML, CSS, "
57
+ "CSV, XML, RTF, and Markdown document types."
58
+ )
@@ -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
  )
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mirascope"
3
- version = "1.23.4"
3
+ version = "1.24.1"
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(