mirascope 1.16.9__py3-none-any.whl → 1.18.0__py3-none-any.whl

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 (54) hide show
  1. mirascope/__init__.py +20 -1
  2. mirascope/core/__init__.py +4 -0
  3. mirascope/core/anthropic/_utils/_convert_message_params.py +13 -0
  4. mirascope/core/azure/_utils/_convert_message_params.py +10 -0
  5. mirascope/core/azure/_utils/_message_param_converter.py +46 -12
  6. mirascope/core/base/__init__.py +4 -0
  7. mirascope/core/base/_utils/_convert_messages_to_message_params.py +36 -3
  8. mirascope/core/base/_utils/_parse_content_template.py +35 -9
  9. mirascope/core/base/message_param.py +30 -2
  10. mirascope/core/base/messages.py +10 -0
  11. mirascope/core/base/stream_config.py +1 -1
  12. mirascope/core/bedrock/_utils/_convert_message_params.py +18 -1
  13. mirascope/core/gemini/__init__.py +10 -0
  14. mirascope/core/gemini/_utils/_convert_message_params.py +48 -5
  15. mirascope/core/gemini/_utils/_message_param_converter.py +51 -5
  16. mirascope/core/gemini/_utils/_setup_call.py +12 -2
  17. mirascope/core/google/__init__.py +29 -0
  18. mirascope/core/google/_call.py +67 -0
  19. mirascope/core/google/_call_kwargs.py +13 -0
  20. mirascope/core/google/_utils/__init__.py +16 -0
  21. mirascope/core/google/_utils/_calculate_cost.py +88 -0
  22. mirascope/core/google/_utils/_convert_common_call_params.py +39 -0
  23. mirascope/core/google/_utils/_convert_finish_reason_to_common_finish_reasons.py +27 -0
  24. mirascope/core/google/_utils/_convert_message_params.py +177 -0
  25. mirascope/core/google/_utils/_get_json_output.py +37 -0
  26. mirascope/core/google/_utils/_handle_stream.py +35 -0
  27. mirascope/core/google/_utils/_message_param_converter.py +153 -0
  28. mirascope/core/google/_utils/_setup_call.py +180 -0
  29. mirascope/core/google/call_params.py +22 -0
  30. mirascope/core/google/call_response.py +202 -0
  31. mirascope/core/google/call_response_chunk.py +97 -0
  32. mirascope/core/google/dynamic_config.py +26 -0
  33. mirascope/core/google/stream.py +128 -0
  34. mirascope/core/google/tool.py +104 -0
  35. mirascope/core/groq/_utils/_convert_message_params.py +9 -0
  36. mirascope/core/groq/_utils/_message_param_converter.py +9 -2
  37. mirascope/core/mistral/_utils/_convert_message_params.py +7 -0
  38. mirascope/core/mistral/_utils/_message_param_converter.py +41 -35
  39. mirascope/core/openai/_utils/_convert_message_params.py +38 -1
  40. mirascope/core/openai/_utils/_message_param_converter.py +28 -4
  41. mirascope/core/vertex/__init__.py +15 -0
  42. mirascope/core/vertex/_utils/_convert_message_params.py +56 -6
  43. mirascope/core/vertex/_utils/_message_param_converter.py +13 -5
  44. mirascope/core/vertex/_utils/_setup_call.py +10 -1
  45. mirascope/llm/_protocols.py +1 -0
  46. mirascope/llm/call_response.py +5 -1
  47. mirascope/llm/llm_call.py +4 -0
  48. mirascope/llm/llm_override.py +16 -3
  49. mirascope/retries/__init__.py +5 -0
  50. mirascope/retries/fallback.py +128 -0
  51. {mirascope-1.16.9.dist-info → mirascope-1.18.0.dist-info}/METADATA +4 -1
  52. {mirascope-1.16.9.dist-info → mirascope-1.18.0.dist-info}/RECORD +54 -35
  53. {mirascope-1.16.9.dist-info → mirascope-1.18.0.dist-info}/WHEEL +0 -0
  54. {mirascope-1.16.9.dist-info → mirascope-1.18.0.dist-info}/licenses/LICENSE +0 -0
@@ -108,6 +108,7 @@ def setup_call(
108
108
  call_kwargs = cast(VertexCallKwargs, base_call_kwargs)
109
109
  messages = cast(list[BaseMessageParam | Content], messages)
110
110
  messages = convert_message_params(messages)
111
+
111
112
  if json_mode:
112
113
  generation_config = call_kwargs.get(
113
114
  "generation_config",
@@ -131,11 +132,19 @@ def setup_call(
131
132
  )
132
133
  )
133
134
  call_kwargs["tool_config"] = tool_config
134
- call_kwargs |= {"contents": messages}
135
135
 
136
136
  if client is None:
137
137
  client = GenerativeModel(model_name=model)
138
138
 
139
+ if messages and messages[0].role == "system":
140
+ system_instruction = client._system_instruction
141
+ if not isinstance(system_instruction, list):
142
+ system_instruction = [system_instruction] if system_instruction else []
143
+ system_instruction.extend(messages.pop(0).parts)
144
+ client._system_instruction = system_instruction
145
+
146
+ call_kwargs |= {"contents": messages}
147
+
139
148
  create = (
140
149
  cast(
141
150
  AsyncCreateFn[GenerationResponse, AsyncIterable[GenerationResponse]],
@@ -67,6 +67,7 @@ Provider: TypeAlias = Literal[
67
67
  "bedrock",
68
68
  "cohere",
69
69
  "gemini",
70
+ "google",
70
71
  "groq",
71
72
  "litellm",
72
73
  "mistral",
@@ -51,7 +51,11 @@ class CallResponse(
51
51
  response: BaseCallResponse[_ResponseT, _BaseToolT, Any, Any, Any, Any, Any],
52
52
  ) -> None:
53
53
  super().__init__(
54
- **{field: getattr(response, field) for field in response.model_fields}
54
+ **{
55
+ field: getattr(response, field)
56
+ for field in response.model_fields
57
+ if field != "user_message_param"
58
+ }
55
59
  )
56
60
  object.__setattr__(self, "_response", response)
57
61
  object.__setattr__(
mirascope/llm/llm_call.py CHANGED
@@ -74,6 +74,10 @@ def _get_provider_call(provider: str) -> Callable:
74
74
  from mirascope.core.gemini import gemini_call
75
75
 
76
76
  return gemini_call
77
+ elif provider == "google":
78
+ from mirascope.core.google import google_call
79
+
80
+ return google_call
77
81
  elif provider == "groq":
78
82
  from mirascope.core.groq import groq_call
79
83
 
@@ -15,6 +15,7 @@ if TYPE_CHECKING:
15
15
  from mirascope.core.bedrock import BedrockCallParams
16
16
  from mirascope.core.cohere import CohereCallParams
17
17
  from mirascope.core.gemini import GeminiCallParams
18
+ from mirascope.core.google import GoogleCallParams
18
19
  from mirascope.core.groq import GroqCallParams
19
20
  from mirascope.core.litellm import LiteLLMCallParams
20
21
  from mirascope.core.mistral import MistralCallParams
@@ -23,9 +24,9 @@ if TYPE_CHECKING:
23
24
  else:
24
25
  AnthropicCallParams = AzureCallParams = BedrockCallParams = CohereCallParams = (
25
26
  GeminiCallParams
26
- ) = GroqCallParams = LiteLLMCallParams = MistralCallParams = OpenAICallParams = (
27
- VertexCallParams
28
- ) = None
27
+ ) = GoogleCallParams = GroqCallParams = LiteLLMCallParams = MistralCallParams = (
28
+ OpenAICallParams
29
+ ) = VertexCallParams = None
29
30
 
30
31
 
31
32
  _P = ParamSpec("_P")
@@ -77,6 +78,17 @@ def override(
77
78
  call_params: CommonCallParams | GeminiCallParams | None = None,
78
79
  client: Any = None, # noqa: ANN401
79
80
  ) -> Callable[_P, _R]: ...
81
+ @overload
82
+ def override(
83
+ provider_agnostic_call: Callable[_P, _R],
84
+ *,
85
+ provider: Literal["google"],
86
+ model: str,
87
+ call_params: CommonCallParams | GoogleCallParams | None = None,
88
+ client: Any = None, # noqa: ANN401
89
+ ) -> Callable[_P, _R]: ...
90
+
91
+
80
92
  @overload
81
93
  def override(
82
94
  provider_agnostic_call: Callable[_P, _R],
@@ -150,6 +162,7 @@ def override(
150
162
  call_params: CommonCallParams
151
163
  | AnthropicCallParams
152
164
  | GeminiCallParams
165
+ | GoogleCallParams
153
166
  | AzureCallParams
154
167
  | BedrockCallParams
155
168
  | CohereCallParams
@@ -2,5 +2,10 @@
2
2
 
3
3
  from contextlib import suppress
4
4
 
5
+ from .fallback import FallbackError, fallback
6
+
5
7
  with suppress(ImportError):
6
8
  from . import tenacity as tenacity
9
+
10
+
11
+ __all__ = ["fallback", "FallbackError", "tenacity"]
@@ -0,0 +1,128 @@
1
+ """The `fallback` module provides a fallback retry strategy."""
2
+
3
+ import inspect
4
+ from collections.abc import Callable, Coroutine
5
+ from typing import Any, ParamSpec, Protocol, TypeVar, overload
6
+
7
+ from typing_extensions import NotRequired, Required, TypedDict
8
+
9
+ from .. import llm
10
+ from ..core.base import CommonCallParams
11
+ from ..llm._protocols import Provider
12
+
13
+ _P = ParamSpec("_P")
14
+ _R = TypeVar("_R")
15
+
16
+
17
+ class FallbackDecorator(Protocol):
18
+ @overload
19
+ def __call__(
20
+ self, fn: Callable[_P, Coroutine[_R, Any, Any]]
21
+ ) -> Callable[_P, Coroutine[_R, Any, Any]]: ...
22
+
23
+ @overload
24
+ def __call__(self, fn: Callable[_P, _R]) -> Callable[_P, _R]: ...
25
+
26
+ def __call__(
27
+ self,
28
+ fn: Callable[_P, _R] | Callable[_P, Coroutine[_R, Any, Any]],
29
+ ) -> Callable[_P, _R] | Callable[_P, Coroutine[_R, Any, Any]]: ...
30
+
31
+
32
+ class Fallback(TypedDict):
33
+ """The override arguments to use for this fallback attempt."""
34
+
35
+ catch: Required[type[Exception] | tuple[type[Exception]]]
36
+ provider: Required[Provider]
37
+ model: Required[str]
38
+ call_params: NotRequired[CommonCallParams]
39
+ client: NotRequired[Any]
40
+
41
+
42
+ class FallbackError(Exception):
43
+ """An error raised when all fallbacks fail."""
44
+
45
+
46
+ def fallback(
47
+ catch: type[Exception] | tuple[type[Exception]],
48
+ fallbacks: list[Fallback],
49
+ ) -> FallbackDecorator:
50
+ """A decorator that retries the function call with a fallback strategy.
51
+
52
+ This must use the provider-agnostic `llm.call` decorator.
53
+
54
+ Args:
55
+ catch: The exception(s) to catch for the original call.
56
+ backups: The list of backup providers to try in order. Each backup provider
57
+ is a tuple of the provider name, the model name, and the call params.
58
+ The call params may be `None` if no change is wanted.
59
+
60
+ Returns:
61
+ The decorated function.
62
+
63
+ Raises:
64
+ FallbackError: If all fallbacks fail.
65
+ """
66
+
67
+ @overload
68
+ def decorator(
69
+ fn: Callable[_P, Coroutine[_R, Any, Any]],
70
+ ) -> Callable[_P, Coroutine[_R, Any, Any]]: ...
71
+
72
+ @overload
73
+ def decorator(fn: Callable[_P, _R]) -> Callable[_P, _R]: ...
74
+
75
+ def decorator(
76
+ fn: Callable[_P, _R] | Callable[_P, Coroutine[_R, Any, Any]],
77
+ ) -> Callable[_P, _R] | Callable[_P, Coroutine[_R, Any, Any]]:
78
+ # TODO: figure out why llm call fn is not considered as coroutine at runtime
79
+ if inspect.iscoroutinefunction(fn._original_fn): # pyright: ignore [reportFunctionMemberAccess]
80
+
81
+ async def inner_async(*args: _P.args, **kwargs: _P.kwargs) -> _R:
82
+ caught: list[Exception] = []
83
+ try:
84
+ return await fn(*args, **kwargs) # pyright: ignore [reportReturnType,reportGeneralTypeIssues]
85
+ except catch as e:
86
+ caught.append(e)
87
+ for backup in fallbacks:
88
+ try:
89
+ response = await llm.override(
90
+ fn,
91
+ provider=backup["provider"],
92
+ model=backup["model"],
93
+ call_params=backup.get("call_params", None),
94
+ client=backup.get("client", None),
95
+ )(*args, **kwargs) # pyright: ignore [reportGeneralTypeIssues]
96
+ response._caught = caught # pyright: ignore [reportAttributeAccessIssue]
97
+ return response # pyright: ignore [reportReturnType]
98
+ except backup["catch"] as be:
99
+ caught.append(be)
100
+ raise FallbackError(f"All fallbacks failed:\n{caught}")
101
+
102
+ return inner_async
103
+ else:
104
+
105
+ def inner(*args: _P.args, **kwargs: _P.kwargs) -> _R:
106
+ caught: list[Exception] = []
107
+ try:
108
+ return fn(*args, **kwargs) # pyright: ignore [reportReturnType]
109
+ except catch as e:
110
+ caught.append(e)
111
+ for backup in fallbacks:
112
+ try:
113
+ response = llm.override(
114
+ fn,
115
+ provider=backup["provider"],
116
+ model=backup["model"],
117
+ call_params=backup.get("call_params", None),
118
+ client=backup.get("client", None),
119
+ )(*args, **kwargs)
120
+ response._caught = caught # pyright: ignore [reportAttributeAccessIssue]
121
+ return response # pyright: ignore [reportReturnType]
122
+ except backup["catch"] as be:
123
+ caught.append(be)
124
+ raise FallbackError(f"All fallbacks failed:\n{caught}")
125
+
126
+ return inner
127
+
128
+ return decorator
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mirascope
3
- Version: 1.16.9
3
+ Version: 1.18.0
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
@@ -65,6 +65,9 @@ Requires-Dist: cohere<6,>=5.5.8; extra == 'cohere'
65
65
  Provides-Extra: gemini
66
66
  Requires-Dist: google-generativeai<1,>=0.4.0; extra == 'gemini'
67
67
  Requires-Dist: pillow<11,>=10.4.0; extra == 'gemini'
68
+ Provides-Extra: google
69
+ Requires-Dist: google-genai<2,>=1.2.0; extra == 'google'
70
+ Requires-Dist: pillow<11,>=10.4.0; extra == 'google'
68
71
  Provides-Extra: groq
69
72
  Requires-Dist: groq<1,>=0.9.0; extra == 'groq'
70
73
  Provides-Extra: hyperdx
@@ -1,4 +1,4 @@
1
- mirascope/__init__.py,sha256=mWqDRiE9CFgK-GtVtSQn5wpV34iAVPLIJtQs5B8vJeE,403
1
+ mirascope/__init__.py,sha256=GmXpgePwtuO1kM9PY_c-08HMqiZSiM4gym8-yltey5o,663
2
2
  mirascope/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  mirascope/beta/__init__.py,sha256=YsIIE5w3nKj0Ywcs_Y5tSE6WlHKR-nQwwbhNF1R8UW8,43
4
4
  mirascope/beta/openai/__init__.py,sha256=_Ls_eRVz3gJ0Ufycr5rLur4r9h_m5pLH5D0-OWLLJ_0,257
@@ -41,7 +41,7 @@ mirascope/beta/rag/pinecone/vectorstores.py,sha256=ZcLwVmrxNMq5a2mLI-3F9XJ_UYDry
41
41
  mirascope/beta/rag/weaviate/__init__.py,sha256=GOkfDjECJhHb_3L2esTB-aZamtJNsLI0RRVD_BmeOY0,231
42
42
  mirascope/beta/rag/weaviate/types.py,sha256=-2r2Vy71kpLlRJgVqWoE3atub5a2eymHPSjTHuSqCfQ,2984
43
43
  mirascope/beta/rag/weaviate/vectorstores.py,sha256=8Nwy-QRHwSUdvMkqEhqmUkN7y_CzQN7bop7do1K8v4w,3606
44
- mirascope/core/__init__.py,sha256=ZobKhWiPcc5y8xDo2f9G4p7TrxlpAwQ91n33sI0eBI4,1330
44
+ mirascope/core/__init__.py,sha256=gZ69jq4ZQuTtz4Ae5eDrds-ElzpChBPlq6k4-1Y79l4,1408
45
45
  mirascope/core/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
46
  mirascope/core/anthropic/__init__.py,sha256=0ObxoxWzpsyf3tm5SldosVDxVWiIu1jxuGmcIWl0ZCY,918
47
47
  mirascope/core/anthropic/_call.py,sha256=LXUR__AyexD-hsPMPKpA7IFuh8Cfc0uAg1GrJSxiWnU,2358
@@ -57,7 +57,7 @@ mirascope/core/anthropic/_utils/__init__.py,sha256=xHjaWpLBcUOW_tuBrOBQ2MewFr5Kg
57
57
  mirascope/core/anthropic/_utils/_calculate_cost.py,sha256=dHM8t__tMmDdkzaR5PVUInoXh4r2HqDoM0q8wUEmd3U,3762
58
58
  mirascope/core/anthropic/_utils/_convert_common_call_params.py,sha256=ILd7AH_atmPUPj7I74EsmxG3rmWC7b5tgjnlR24jKUs,765
59
59
  mirascope/core/anthropic/_utils/_convert_finish_reason_to_common_finish_reasons.py,sha256=UqqiDEaw20_nDbQUvRJC-ZneCd35f_2GEUpiUNMibr0,704
60
- mirascope/core/anthropic/_utils/_convert_message_params.py,sha256=G2VZ_xZEs4HE3KFMgTeEpd2BOK8CNz8ac_KofifN8ws,3843
60
+ mirascope/core/anthropic/_utils/_convert_message_params.py,sha256=UVsrvgpZIRnzZzEE-HW3gfZBR7Y4Gvq1RDAWusc8wuM,4466
61
61
  mirascope/core/anthropic/_utils/_get_json_output.py,sha256=vkHvhc96RLrGREYVCKr14Umq80EUa7pCtlcImjXB5gA,1157
62
62
  mirascope/core/anthropic/_utils/_handle_stream.py,sha256=6Ll2FQt1KWrz5jqgeP1NikHEjlrSbfPUQCH4eoX4eVA,4010
63
63
  mirascope/core/anthropic/_utils/_message_param_converter.py,sha256=CIeOA0SXtuDnhpqBlt5_nkg14ASzBRk1-1JpHY4QDq0,6546
@@ -76,13 +76,13 @@ mirascope/core/azure/_utils/__init__.py,sha256=WrcNkwnIi8sioHEn5fzQ5UTN4thg21VPL
76
76
  mirascope/core/azure/_utils/_calculate_cost.py,sha256=ga1h8wZcr4JJuwWnvJNarpmwvITZjbq9YQv3_ecvnrw,269
77
77
  mirascope/core/azure/_utils/_convert_common_call_params.py,sha256=mDmrDIEOn2nm4mTFQvv8ErM0xDvjtupvIL9beycPx4I,790
78
78
  mirascope/core/azure/_utils/_convert_finish_reason_to_common_finish_reasons.py,sha256=Tn9tf--eJ1__iapf-D67UYwHFOBoEgTIJSVn8nqos3Q,823
79
- mirascope/core/azure/_utils/_convert_message_params.py,sha256=EmzO8BYyU41V3CJy5qmaja6f40PkEGBD3HrHrVN8Chk,4664
79
+ mirascope/core/azure/_utils/_convert_message_params.py,sha256=qUs88dNeUw57XpHW7ihk3HZ96phfPssPS-A_49eypw0,5085
80
80
  mirascope/core/azure/_utils/_get_credential.py,sha256=hEWoKtB27PLZtC35qvPx36CPvQ9eHzr4tDFcq-13rqI,970
81
81
  mirascope/core/azure/_utils/_get_json_output.py,sha256=Qec7WJY5is1Q63Vp9uUNNfkRwgxhdoLMCI7AF_e2t90,1017
82
82
  mirascope/core/azure/_utils/_handle_stream.py,sha256=M_BGnjBGWTPefNyIMuJSHiDxIvqmENmqfVlDx_qzL1c,4638
83
- mirascope/core/azure/_utils/_message_param_converter.py,sha256=iERtNnOpCPA9pkLY9upyoD0QaG7Oz_4U-AI_jg3-ntM,3419
83
+ mirascope/core/azure/_utils/_message_param_converter.py,sha256=JAUeHObtd_V225YyZqEruuih3HRozq43pqjYJCbJj8A,4443
84
84
  mirascope/core/azure/_utils/_setup_call.py,sha256=07fVPaM56CC-nNgf9hjIAxiNTGC9XD3bvADEEOCKJ9E,5936
85
- mirascope/core/base/__init__.py,sha256=LgtzMll6DhuIbzeJ1JpH8LPYCgGOwiHm-3lfkYacu74,1828
85
+ mirascope/core/base/__init__.py,sha256=iq8HMwrTt7MK-zgHg2JgBP4F7ruBTbDituFR2P4Jg2k,1904
86
86
  mirascope/core/base/_call_factory.py,sha256=YdFHAa9WtGfYeqVcM2xaDNh5gMg584rOe26_E51-1to,9663
87
87
  mirascope/core/base/_create.py,sha256=1UNRA6pwMguaiLyLiQkPzTk12ASaXT_hh7jlNw4UFX4,10016
88
88
  mirascope/core/base/_extract.py,sha256=QTqkArgmgR17OB5jTP86Wo-TW-BcouOcK9gdMy-EcNw,6799
@@ -95,13 +95,13 @@ mirascope/core/base/call_response_chunk.py,sha256=pvy6K2bM_wDiurfZ7M98SxEY--X6Yr
95
95
  mirascope/core/base/dynamic_config.py,sha256=V5IG2X5gPFpfQ47uO8JU1zoC2eNdRftsRZEmwhRPaYI,2859
96
96
  mirascope/core/base/from_call_args.py,sha256=8ijMX7PN6a4o6uLdmXJlSRnE-rEVJU5NLxUmNrS8dvU,909
97
97
  mirascope/core/base/merge_decorators.py,sha256=9pQYXuTxLh4mGKVIsnR5pYBkYCaQjg85TTelC6XDldE,1988
98
- mirascope/core/base/message_param.py,sha256=OPMctz-uWya5AdzKZT-TbEpggY7Tuw5dxxeFz38-8hE,2882
99
- mirascope/core/base/messages.py,sha256=C9iROJVivxmfDhmPWaWd4_drpFQV8YWsxiDtXekA5f8,2278
98
+ mirascope/core/base/message_param.py,sha256=DjyZTFbWpuBsrSJO2G2joT3klBLN6hoJNd5nA3GWjmU,3562
99
+ mirascope/core/base/messages.py,sha256=jD8SGjP3VQJsRfDo71ifHfwTMH4bHtYyjXQKyWRy_OY,2530
100
100
  mirascope/core/base/metadata.py,sha256=V9hgMkj6m3QGsu4H5LhCxBZBYQLoygJv0CeLIf1DF0M,382
101
101
  mirascope/core/base/prompt.py,sha256=M5PK9JoEsWTQ-kzNCpZKdDGzWAkb8MS267xEFCPfpAU,15414
102
102
  mirascope/core/base/response_model_config_dict.py,sha256=OUdx_YkV2vBzUSSB2OYLAAHf22T7jvF5tRuc6c-vhNQ,254
103
103
  mirascope/core/base/stream.py,sha256=Yc7z_TfzXCpUuPTNmpoWpQdFjdRWAL5xK28_qJkmgYM,16404
104
- mirascope/core/base/stream_config.py,sha256=fG-3oMYuz0VBQ32Ea8nGc9_jNpKtR_NvNt9Ub74VVCo,227
104
+ mirascope/core/base/stream_config.py,sha256=vwWqNh9NJhTYjiJmfDbC9D5O84je_lBRhNOt4wI3FHM,238
105
105
  mirascope/core/base/structured_stream.py,sha256=FIvLXXKninrpQ5P7MsLEqGrU4cfvEDiPbueZqgJ4Dlw,10395
106
106
  mirascope/core/base/tool.py,sha256=G3GTj0jP0YObWQGIHpvUa1hAGQUCaduOhqs0m1zYqoU,6735
107
107
  mirascope/core/base/toolkit.py,sha256=GmZquYPqvQL2J9Hd6StEwx6jfeFsqtcUyxKvp4iW_7Q,6271
@@ -112,7 +112,7 @@ mirascope/core/base/_utils/_base_type.py,sha256=x8ZabSxZZNAy6ER-VQEkB6mNyjWcGSCB
112
112
  mirascope/core/base/_utils/_convert_base_model_to_base_tool.py,sha256=JoHf1CbRwK91dABm5xLhdIPmeMSFS_nj-qW9OQu_YJ0,1750
113
113
  mirascope/core/base/_utils/_convert_base_type_to_base_tool.py,sha256=fAOfqqoT0_vk1i-h-lCdWQYYeTjZ3fTiCgwGmgtHk9o,734
114
114
  mirascope/core/base/_utils/_convert_function_to_base_tool.py,sha256=squjro0oxwXOiavcf4bSHjHS94uSeCBGpykacoFpKx8,5729
115
- mirascope/core/base/_utils/_convert_messages_to_message_params.py,sha256=Fony5qJRaLUJ3FAqI-8YRTz9vRzELKV6uEaSue8c-gg,3950
115
+ mirascope/core/base/_utils/_convert_messages_to_message_params.py,sha256=symOUsXkecoBKV8kB6bkubFW6pi34grUlTkJfnfpaYo,4360
116
116
  mirascope/core/base/_utils/_convert_provider_finish_reason_to_finish_reason.py,sha256=Mki5mYbYX8vUW-oosC4PaRNUHW_T5xAQWti3_1ndtTk,611
117
117
  mirascope/core/base/_utils/_default_tool_docstring.py,sha256=JLyryjGDaHMU-P7gUpnjkPyELCQsQgi8AP4Dp_yXPOM,277
118
118
  mirascope/core/base/_utils/_extract_tool_return.py,sha256=ZDBZJ4cacFd8nijSWZEhib7B58ZnSFD_rK1FiGNTYU0,1553
@@ -135,7 +135,7 @@ mirascope/core/base/_utils/_get_unsupported_tool_config_keys.py,sha256=fG34xCSnQ
135
135
  mirascope/core/base/_utils/_is_prompt_template.py,sha256=WfUYtvmlw-Yx5eYuechyQKo4DGVWRXNePoN3Bw70xvo,621
136
136
  mirascope/core/base/_utils/_json_mode_content.py,sha256=EMWnlmyEQV2VgX7D5lbovw1i3JKQKtpXt3TI6wP_vI4,675
137
137
  mirascope/core/base/_utils/_messages_decorator.py,sha256=dnvbhmwvzGcew8LU0Q_HlDrsIXai-4LuMeZ3Z2-z6wA,3873
138
- mirascope/core/base/_utils/_parse_content_template.py,sha256=uEI3c_UUQRCGsq5c_djBitmS-DNxiDKHmDLih2WwObs,9991
138
+ mirascope/core/base/_utils/_parse_content_template.py,sha256=U8VGe7RsOWfqB3P7aI1Dmm3KwiSon0wtnxlSmvcvCEA,10652
139
139
  mirascope/core/base/_utils/_parse_prompt_messages.py,sha256=lGDYxvwea--gnE3LChNF9b1uxKrAKlYkVb9Ep7fM_zo,2523
140
140
  mirascope/core/base/_utils/_pil_image_to_bytes.py,sha256=qN8nYwRU1hgX1TjEpLKk5i-GBtxBQjTIp2KlMIdbBe8,387
141
141
  mirascope/core/base/_utils/_protocols.py,sha256=GiONFDxXeko0TST012OvTY3hFjpxV9QoAhkJ3hg38Mo,28082
@@ -156,7 +156,7 @@ mirascope/core/bedrock/_utils/__init__.py,sha256=E3aGPg8HteKUPfTmkZhoukrnZUs2WA9
156
156
  mirascope/core/bedrock/_utils/_calculate_cost.py,sha256=Mcfh1ktMapQWb6dg5VJrO8Lfp3M-S3SllvaKj6IqnDg,558
157
157
  mirascope/core/bedrock/_utils/_convert_common_call_params.py,sha256=i17yrW-_7qdIsf-zS3OD5HIO0uykCdfanPsjV3WxTEY,1091
158
158
  mirascope/core/bedrock/_utils/_convert_finish_reason_to_common_finish_reasons.py,sha256=A67-Q3zgpXh9q0iub5IfJw9VRgHvK-pczt1Btot_jks,792
159
- mirascope/core/bedrock/_utils/_convert_message_params.py,sha256=B_oysurPBiIU43zbVZgbTbmFwSajfBW11lbmx68nm14,3976
159
+ mirascope/core/bedrock/_utils/_convert_message_params.py,sha256=ZPFj34ed0-4bmMldj4tR6EGb9RsuHkXzSwjmwEeN-KU,4680
160
160
  mirascope/core/bedrock/_utils/_get_json_output.py,sha256=hW-IBBQ5YW85VljjFJHDDtu66zsaF2ydTbFxgCX_j6A,1159
161
161
  mirascope/core/bedrock/_utils/_handle_stream.py,sha256=s8KNMNDKzvSIkFROtaZgbEJry78X_qCzTvGmHcL7UW0,3776
162
162
  mirascope/core/bedrock/_utils/_message_param_converter.py,sha256=T45kksn78idbqD9NZ3Omx1nS_IoYmTfA5y-bAHlX2fM,6846
@@ -181,7 +181,7 @@ mirascope/core/cohere/_utils/_get_json_output.py,sha256=65gJEpp2ThxGDXJQZyGACpyC
181
181
  mirascope/core/cohere/_utils/_handle_stream.py,sha256=X7sPmnhKlRr8j6-Ds8ZGkajriCEKMYxzDRYltmHYfWI,1181
182
182
  mirascope/core/cohere/_utils/_message_param_converter.py,sha256=IXuPK1mwA69LmcRFGzipwpn73YuKAnETtbUS0KAC_w0,1911
183
183
  mirascope/core/cohere/_utils/_setup_call.py,sha256=xdyXamNXYzjRldzQ-xyu-WvH7A7LjNuE2W-w9zP-f9U,4603
184
- mirascope/core/gemini/__init__.py,sha256=mJvRB06dJ2qTqmyPp3-RgZl4WInVxdkFglzapvBUoBI,835
184
+ mirascope/core/gemini/__init__.py,sha256=FQgSvAk-zcbqo19SdDHfzTZZTYFXadNIzWJlv8wWEW8,1105
185
185
  mirascope/core/gemini/_call.py,sha256=g47rUaE4V_onORvRUP9GlgnQKda28dV1Ge2YACvrD-c,2344
186
186
  mirascope/core/gemini/_call_kwargs.py,sha256=4f34gl1BPM14wkd0fGJw_58jYzxgGgNvZkjVI5d1hgU,360
187
187
  mirascope/core/gemini/call_params.py,sha256=aEXhgZVB0npcT6wL_p7GVGIE3vi_JOiMKdgWtpXTezQ,1723
@@ -194,11 +194,29 @@ mirascope/core/gemini/_utils/__init__.py,sha256=rRJHluu810Jel3Bu3ok_8uyfPWnXYC0r
194
194
  mirascope/core/gemini/_utils/_calculate_cost.py,sha256=vF1XWvNnp2cTv-JnM3x_htIJ4WMUthTqpH0Sb2lGmso,2254
195
195
  mirascope/core/gemini/_utils/_convert_common_call_params.py,sha256=1ZTpwqain90Va70xC9r9-_1YEIyvyZdjMiejN7E6yY4,1072
196
196
  mirascope/core/gemini/_utils/_convert_finish_reason_to_common_finish_reasons.py,sha256=jkZM8hpkZjR1izwSyKTVwkkN_nfLROwx0V_yQsVDiB8,761
197
- mirascope/core/gemini/_utils/_convert_message_params.py,sha256=a5WaerYG2INBtxGg3qkLsAwVtJVAvK79O_83zJmHH3A,4621
197
+ mirascope/core/gemini/_utils/_convert_message_params.py,sha256=ddB5PW0ri9mRBOSsP5XgOpkozlsD1zEpKOK0JkgXyoQ,6853
198
198
  mirascope/core/gemini/_utils/_get_json_output.py,sha256=C2aeeEmcC-mBnbRL8aq3yohdCZJWMJc78E2GYqefK9k,1240
199
199
  mirascope/core/gemini/_utils/_handle_stream.py,sha256=1JoRIjwuVehVIjkvT_U2r9TMvMZB96ldp1n1AGon-tw,1153
200
- mirascope/core/gemini/_utils/_message_param_converter.py,sha256=LgI4NJxoa_f2_eCjbe5OegkB43ififDO61jBE2l4T78,6862
201
- mirascope/core/gemini/_utils/_setup_call.py,sha256=jGem6lhpdEU6tLfqYDAs9z1-Uc9_2lxDj4hieZC-CS0,4546
200
+ mirascope/core/gemini/_utils/_message_param_converter.py,sha256=4r_H1xtJErtLsrui8sG8YTIEjOiqQq_QA6fsMStwG8I,8359
201
+ mirascope/core/gemini/_utils/_setup_call.py,sha256=QaboJO2k1D2ingfHuPSpb-YjMGRIcTIFN5Qe54eMCXM,4992
202
+ mirascope/core/google/__init__.py,sha256=pvcZnXk5dVpH1dYxkup3Xwp6qlZg17e1hjXAriiiiP4,790
203
+ mirascope/core/google/_call.py,sha256=GJOPyvHzVlSXvJpgQhJFg4wFHFUYsvvrbjhNxU-nSl8,2344
204
+ mirascope/core/google/_call_kwargs.py,sha256=baCYcxWsmV06ATw6nuQhh6FPm3k6oWmKOn0MyjESDGc,372
205
+ mirascope/core/google/call_params.py,sha256=9Dt5m1pPVjpl5Qppz6Egl_9FyGjjz9aGCnXkVps7C_Q,538
206
+ mirascope/core/google/call_response.py,sha256=vE-j725f_TQgCf-jZN-kRGSpOdY_u2wf6gQCnp11yDw,6454
207
+ mirascope/core/google/call_response_chunk.py,sha256=7anUmoz3xElWDpzaTOsqWwVAOliohrPAqODj-j47gn0,2838
208
+ mirascope/core/google/dynamic_config.py,sha256=O6j8F0fLVFuuNwURneu5OpPuu_bMEtbDEFHhJXRT6V0,857
209
+ mirascope/core/google/stream.py,sha256=YFPw8QH_u8uJK3UhLNKE96Vbcsb5d48PbtG31FVIDwY,3852
210
+ mirascope/core/google/tool.py,sha256=hHHKlC6CIfv55XqG0NUsBf8eEgUNpgvaBuljq5_NopE,3030
211
+ mirascope/core/google/_utils/__init__.py,sha256=5MKOhK3NFseq2AlapU8TtWS82f8Z0ayJCs3WMsDyc4E,454
212
+ mirascope/core/google/_utils/_calculate_cost.py,sha256=fUyi6QAEa_NpPhtoAgVdQ7PpUa0QykNghsODrDtAYvw,3069
213
+ mirascope/core/google/_utils/_convert_common_call_params.py,sha256=KA-z6uvRtdD4WydC0eXd3dzQuSh4x4WKNR8PAqFNUVY,1065
214
+ mirascope/core/google/_utils/_convert_finish_reason_to_common_finish_reasons.py,sha256=ig4tb7Zanz-tyZpvc9Ncd47a2FNTOS7-wl1PYBq-4cY,879
215
+ mirascope/core/google/_utils/_convert_message_params.py,sha256=Da2690Pvb1eGbnz0iHdTcsdtBzYADC_RUlNIkxIJGyQ,7632
216
+ mirascope/core/google/_utils/_get_json_output.py,sha256=sxDgT0Ra6YJynL5_hhakf0dNJEhZm0DfAgfcvC_DAFU,1596
217
+ mirascope/core/google/_utils/_handle_stream.py,sha256=BxFuheAu1LKPrPsDxxiLWd2KoajkwJyx2_QT1NXwtWE,1212
218
+ mirascope/core/google/_utils/_message_param_converter.py,sha256=FcPWdMdMcz3Th4q7-vATkPoRPYdT-WdT-sDXsTJO8zQ,6240
219
+ mirascope/core/google/_utils/_setup_call.py,sha256=LAoIrNTTF5EOHNLZroBcN8sNKOjMYKJ07hM49yBaUgE,5791
202
220
  mirascope/core/groq/__init__.py,sha256=wo-_txqiLC3iswnXmPX4C6IgsU-_wv1DbBlNDY4rEvo,798
203
221
  mirascope/core/groq/_call.py,sha256=gR8VN5IaYWIFXc0csn995q59FM0nBs-xVFjkVycPjMM,2223
204
222
  mirascope/core/groq/_call_kwargs.py,sha256=trT8AdQ-jdQPYKlGngIMRwwQuvKuvAbvI1yyozftOuI,425
@@ -212,10 +230,10 @@ mirascope/core/groq/tool.py,sha256=mCUkDHqcZX3Kb44p6gDF9psswWjEBjegCHHbIgoziVc,2
212
230
  mirascope/core/groq/_utils/__init__.py,sha256=SNhwvsAOc-vVHQrbZFmf1dGlGBFl42hqJrTW7Gjlrzw,452
213
231
  mirascope/core/groq/_utils/_calculate_cost.py,sha256=430-reYd55_3clLawLr_M3cCAQIsD9PxbKnsuy4WeIQ,2383
214
232
  mirascope/core/groq/_utils/_convert_common_call_params.py,sha256=vRvabHCsB5h-Bv-dpMpNAHrQ6rrbAyc52V09x-zXTx0,725
215
- mirascope/core/groq/_utils/_convert_message_params.py,sha256=K5c1V_kVV3aXo6yln_8CXhv5mcw2zGxgn6OEOh_VDCo,4337
233
+ mirascope/core/groq/_utils/_convert_message_params.py,sha256=23fMq7-hnDrYyNQ8AJowwygPxvX7cf4efsXAFMBttwg,4676
216
234
  mirascope/core/groq/_utils/_get_json_output.py,sha256=vMbXmHC6OIwkg0TjyCTTUtIww3lfbApNy6yWgoAijGA,1012
217
235
  mirascope/core/groq/_utils/_handle_stream.py,sha256=CsjFZYip-Xxo-ZP6dSdNrIW9xSl-feTnYiYv-r39U0s,4605
218
- mirascope/core/groq/_utils/_message_param_converter.py,sha256=wcUzgrtOOG8DAPpsbYh7eg_wvJ8wmBAFnvyi6rm4q1w,3265
236
+ mirascope/core/groq/_utils/_message_param_converter.py,sha256=znFVMmYHAMceHZ6ya9QEIZKVjDtYTj5ZU-TP29x0Uho,3587
219
237
  mirascope/core/groq/_utils/_setup_call.py,sha256=fsXbP1NpzpJ3rq3oMvNEvgN4TJzudYb2zrW7JwKhbBM,4424
220
238
  mirascope/core/litellm/__init__.py,sha256=eBLmGsbY2SNEf3DPLYS-WgpskwaWbBeonpcBc3Zxh94,779
221
239
  mirascope/core/litellm/_call.py,sha256=mSCU9nT0ZQTru6BppGJgtudAWqWFs0a6m5q-VYbM-ow,2391
@@ -242,10 +260,10 @@ mirascope/core/mistral/_utils/__init__.py,sha256=_3PFMvGOXngCCxBce_8ob0IkuMrHW9c
242
260
  mirascope/core/mistral/_utils/_calculate_cost.py,sha256=pnr0fAIBVmq7Y-EswrlaqFu63rcBB21M5OW6cmjrsao,1998
243
261
  mirascope/core/mistral/_utils/_convert_common_call_params.py,sha256=7nDwJ3vtzErHQHKmuNUpiq0yLkBS6mO_6X0JJpHzQbY,663
244
262
  mirascope/core/mistral/_utils/_convert_finish_reason_to_common_finish_reasons.py,sha256=ZxS1jyEweJYbjOdb543sPKSI17oUhATbs1JsIYVzKkA,720
245
- mirascope/core/mistral/_utils/_convert_message_params.py,sha256=0blDkCNqsWDDEphiipgklxESkYKuCJG0UFtn8RmXI3M,4470
263
+ mirascope/core/mistral/_utils/_convert_message_params.py,sha256=nW18Bh4wQ-Nc00hu86d6hE9nC5wk_76dV7CXahfyQHo,4737
246
264
  mirascope/core/mistral/_utils/_get_json_output.py,sha256=WxZqpaVec8J5hRYemEHjCK-VhQeAyZ2c-ipWMArXM4o,1243
247
265
  mirascope/core/mistral/_utils/_handle_stream.py,sha256=9HowP742tvtXDuq8jO3KGPEnOL92xSP3fMP4SqkjC9E,5083
248
- mirascope/core/mistral/_utils/_message_param_converter.py,sha256=dsy6mEooEp56oABlv2U6IWqJHV8jzhuPLTTrTrsU_nI,6986
266
+ mirascope/core/mistral/_utils/_message_param_converter.py,sha256=CCkL4iTei5Ce5ke0h_QnFOdjxulx4Vmyw3a0wDK_T0E,6889
249
267
  mirascope/core/mistral/_utils/_setup_call.py,sha256=bGXRJK1TqKRsCkzEi2vYwOLR02IIjNUPQGrr2JzIv-U,4801
250
268
  mirascope/core/openai/__init__.py,sha256=1-iKWt3nEk2GjB9UuH2WcAiPajsp9B3J6G-v5Ly7YQ0,882
251
269
  mirascope/core/openai/_call.py,sha256=ExXdY3rjBbil0ija2HlGMRvcOE2zOOj13rgliw8nmFc,2260
@@ -260,12 +278,12 @@ mirascope/core/openai/tool.py,sha256=iJWJQrY3-1Rq5OywzKFO9JUAcglneGD0UtkS3pcA0pg
260
278
  mirascope/core/openai/_utils/__init__.py,sha256=J4ZMAuU4X0PN-nbYj2ikX2EgYRq-T00GbontdmkTcH0,454
261
279
  mirascope/core/openai/_utils/_calculate_cost.py,sha256=jm7TlGdnDlcWIHPlPo1TzJW70WIFo8PjuHurnroUsB4,7587
262
280
  mirascope/core/openai/_utils/_convert_common_call_params.py,sha256=gvxsRdULxiC2137M9l53hUmF0ZkBxFQFurhWBcl_5Cg,739
263
- mirascope/core/openai/_utils/_convert_message_params.py,sha256=MmEqOPncCGSGpqcmkTB2LFNXJ-2GQnq_em3puis1Enc,4632
281
+ mirascope/core/openai/_utils/_convert_message_params.py,sha256=KHn6GWovhHLshwLa3szxc2OB3ymRpebGrjazSqRSrE8,6257
264
282
  mirascope/core/openai/_utils/_get_json_output.py,sha256=Q_5R6NFFDvmLoz9BQiymC5AEyYvxKPH2_XnOQZ8hIkU,1215
265
283
  mirascope/core/openai/_utils/_handle_stream.py,sha256=adsHAcTtGyMMFU9xnUsE4Yd2wrhSNSjcVddkS74mli0,5226
266
- mirascope/core/openai/_utils/_message_param_converter.py,sha256=2CBbNTe-QzJFS5Z1j1391_M1XCGXQaE87WSyvSCu6CU,3224
284
+ mirascope/core/openai/_utils/_message_param_converter.py,sha256=r6zJ54xHMxxJ-2daY8l5FyDIa0HsdXeP0cN1wHNt6-E,4101
267
285
  mirascope/core/openai/_utils/_setup_call.py,sha256=8zxNZrWcZgBxi4kwzeXHsxFoJW0n0MZYSmSAYj3ossk,5500
268
- mirascope/core/vertex/__init__.py,sha256=rhvMVCoN29wuryxGSD9JUKKSlLsWeOnw6Dkk2CqYDwk,839
286
+ mirascope/core/vertex/__init__.py,sha256=xnIwyE_ANzhuXMtNi1ESnE1lbf_X3lp4BP3I8k1IvXA,1435
269
287
  mirascope/core/vertex/_call.py,sha256=ebQmWoQLnxScyxhnGKU3MmHkXXzzs_Sw2Yf-d3nZFwU,2323
270
288
  mirascope/core/vertex/_call_kwargs.py,sha256=6JxQt1bAscbhPWTGESG1TiskB-i5imDHqLMgbMHmyfI,353
271
289
  mirascope/core/vertex/call_params.py,sha256=ISBnMITxAtvuGmpLF9UdkqcDS43RwtuuVakk01YIHDs,706
@@ -278,11 +296,11 @@ mirascope/core/vertex/_utils/__init__.py,sha256=LeQDo5oQqnblIh9AXJzFeMYnEkJkJAcg
278
296
  mirascope/core/vertex/_utils/_calculate_cost.py,sha256=lzRYW47fOkMY7iExe_CfmREnfBEd8HpmoABn6oDK620,2296
279
297
  mirascope/core/vertex/_utils/_convert_common_call_params.py,sha256=v-kKo6vQdlQiQQnA3hRaS7NWCdzheVE0OGbLV4-8XLE,1056
280
298
  mirascope/core/vertex/_utils/_convert_finish_reason_to_common_finish_reasons.py,sha256=jkZM8hpkZjR1izwSyKTVwkkN_nfLROwx0V_yQsVDiB8,761
281
- mirascope/core/vertex/_utils/_convert_message_params.py,sha256=R7FNeRUgFRPnEK6W_RkgEpp97zv3x0jUYawMrhbYd-o,5267
299
+ mirascope/core/vertex/_utils/_convert_message_params.py,sha256=Z67m_xm8ByyDyuRwZ3aBwjADoUfDDEUqIxYWHgRYbuY,7465
282
300
  mirascope/core/vertex/_utils/_get_json_output.py,sha256=NxbdPPde9lyWSaWQYNPFgmFfOLwNBuyLKwXcS6q6GHw,1298
283
301
  mirascope/core/vertex/_utils/_handle_stream.py,sha256=zUhwnkGUdQvfU8AJ3u975HoNR1BfaWH7_VBcmBaNmuU,1139
284
- mirascope/core/vertex/_utils/_message_param_converter.py,sha256=8lPfripx-qgN7-NCD5ps_furZJ2sfxdeTl7O7UT4Zko,5151
285
- mirascope/core/vertex/_utils/_setup_call.py,sha256=Xt2b0Rff2-B8jiIWK_rRVl57Wff_Kbom2ItQJ6fH0gI,4751
302
+ mirascope/core/vertex/_utils/_message_param_converter.py,sha256=wtysOaa9JsodMrAy1xUBWbIIjt9bIMTjBBfb3LpKFOc,5460
303
+ mirascope/core/vertex/_utils/_setup_call.py,sha256=9LXR-8sFumEJvUYm58VQTBMkZMOR45K86-sTkA7xuFY,5110
286
304
  mirascope/integrations/__init__.py,sha256=ieLWknpbkO_gABIVl9790YTTCCRO9ISQ35-1SeOSU0Q,392
287
305
  mirascope/integrations/_middleware_factory.py,sha256=MUd06zhJxwMnoyrPncrMQXL-qwhQsPqt27rf4NOCDnE,17309
288
306
  mirascope/integrations/tenacity.py,sha256=jk64MBncCMbgoQMaXQgjxg9Y9UstRqTt2RCeA86pdCU,326
@@ -297,19 +315,20 @@ mirascope/integrations/otel/_utils.py,sha256=SCVb3MpcpqLpCpumJEbEdINceNdusnyT6iu
297
315
  mirascope/integrations/otel/_with_hyperdx.py,sha256=f17uxXQk5zZPtyj6zwPwJz5i7atsnUPOoq1LqT8JO0E,1637
298
316
  mirascope/integrations/otel/_with_otel.py,sha256=tbjd6BEbcSfnsm5CWHBoHwbRNrHt6-t4or-SYGQSD-w,1659
299
317
  mirascope/llm/__init__.py,sha256=6JWQFeluDzPC4naQY2WneSwsS-LOTeP0NpmoJ2g8zps,94
300
- mirascope/llm/_protocols.py,sha256=adcuSqKmi7M-N8Yy6GWFBlE9wIgtdLbnTq8S6IdAt7g,16380
318
+ mirascope/llm/_protocols.py,sha256=rzqJ8J_XFO1GNwZr3RhnEyFsaY_4B-A1SJXCVKBxo2E,16394
301
319
  mirascope/llm/_response_metaclass.py,sha256=6DLQb5IrqMldyEXHT_pAsr2DlUVc9CmZuZiBXG37WK8,851
302
- mirascope/llm/call_response.py,sha256=_FNqaNPp3HVSUI6oNhJVs8b5ZTNXXyNAL14Ke1ld-M8,4620
320
+ mirascope/llm/call_response.py,sha256=EVndIqQyQeWFZ_XyObUhAKOmcR_jWjL44T5M677cqL0,4715
303
321
  mirascope/llm/call_response_chunk.py,sha256=9Vyi5_hpgill5CB8BwfSj33VR8sirY2ceTRbru0G3Sw,1820
304
- mirascope/llm/llm_call.py,sha256=6ErSt8mtT0GQUF92snNewy8TAYgo-gVu7Dd1KC-ob5o,8398
305
- mirascope/llm/llm_override.py,sha256=7L222CGbJjQPB-lCoGB29XYHyzCvqEyDtcPV-L4Ao7I,6163
322
+ mirascope/llm/llm_call.py,sha256=cJJe2wG-_4TndGx5-BLgW2hwHGR_MSbeCGzaCD6MW4A,8511
323
+ mirascope/llm/llm_override.py,sha256=xupkxlvzNSQvWpfmHpGze2CtmQqE1a3ZjCDdPznTeaQ,6523
306
324
  mirascope/llm/stream.py,sha256=mVcpBZqpAInVsUc3bO-jiAA5S9OfgyVErIyuz4xLzSE,5731
307
325
  mirascope/llm/tool.py,sha256=Rz9W2g0I9bnTHFdIzTIEje8VMe2Di4AZhrNhgQusSjA,1832
308
326
  mirascope/mcp/__init__.py,sha256=mGboroTrBbzuZ_8uBssOhkqiJOJ4mNCvaJvS7mhumhg,155
309
327
  mirascope/mcp/client.py,sha256=ZsjaT6E5i4Cdm3iVp2-JTuDniUlzynWeeJvnBAtuffQ,11123
310
328
  mirascope/mcp/server.py,sha256=7BjZO3DkaiokEOgJOY9fbEX3M6YwAExN6Kw9s-Dp7Sc,11737
311
329
  mirascope/mcp/tools.py,sha256=IKQZCiQHh_YxJM-V90U9Z6xPQTYIfWFDBj8khhHDiw4,2254
312
- mirascope/retries/__init__.py,sha256=mzJoS35zLmaeeGrpDuzrtO6r73WuNivAyoqyYP5TUmc,148
330
+ mirascope/retries/__init__.py,sha256=FN6IGLfWwzBnSyR5Lh-bAbLTFRdFJBs6behI7ZSlPII,249
331
+ mirascope/retries/fallback.py,sha256=xnN7CgQ2SaYMUNeeRoHAeFeola5DhgRd6O-0FRB95yE,4875
313
332
  mirascope/retries/tenacity.py,sha256=stBJPjEpUzP53IBVBFtqY2fUSgmOV1-sIIXZZJ9pvLY,1387
314
333
  mirascope/tools/__init__.py,sha256=yq6wpqwSuELVZ_IqkU7rzqOYm5vpG7Oxwbt3zPFLI0g,959
315
334
  mirascope/tools/base.py,sha256=Bdnf9Te2tnPnvBS-dEeXVPv_jn5-z9FY_MQmBwP1ijU,3429
@@ -331,7 +350,7 @@ mirascope/v0/base/ops_utils.py,sha256=1Qq-VIwgHBaYutiZsS2MUQ4OgPC3APyywI5bTiTAmA
331
350
  mirascope/v0/base/prompts.py,sha256=FM2Yz98cSnDceYogiwPrp4BALf3_F3d4fIOCGAkd-SE,1298
332
351
  mirascope/v0/base/types.py,sha256=ZfatJoX0Yl0e3jhv0D_MhiSVHLYUeJsdN3um3iE10zY,352
333
352
  mirascope/v0/base/utils.py,sha256=XREPENRQTu8gpMhHU8RC8qH_am3FfGUvY-dJ6x8i-mw,681
334
- mirascope-1.16.9.dist-info/METADATA,sha256=9jFiebPALIpG-G6PEXMz60nopXRdMoeZLmXhFpIgO1g,8545
335
- mirascope-1.16.9.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
336
- mirascope-1.16.9.dist-info/licenses/LICENSE,sha256=LAs5Q8mdawTsVdONpDGukwsoc4KEUBmmonDEL39b23Y,1072
337
- mirascope-1.16.9.dist-info/RECORD,,
353
+ mirascope-1.18.0.dist-info/METADATA,sha256=P63GzWcu4PhSMPV6Wie3XbEgz_Jpu1xu-FNl2yJeftk,8678
354
+ mirascope-1.18.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
355
+ mirascope-1.18.0.dist-info/licenses/LICENSE,sha256=LAs5Q8mdawTsVdONpDGukwsoc4KEUBmmonDEL39b23Y,1072
356
+ mirascope-1.18.0.dist-info/RECORD,,