mirascope 1.22.2__py3-none-any.whl → 1.22.3__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.
- mirascope/core/anthropic/_utils/_convert_message_params.py +6 -1
- mirascope/core/anthropic/_utils/_message_param_converter.py +14 -39
- mirascope/core/anthropic/call_response.py +3 -2
- mirascope/core/azure/call_response.py +3 -2
- mirascope/core/base/call_response.py +6 -6
- mirascope/core/bedrock/call_response.py +3 -2
- mirascope/core/cohere/call_response.py +3 -2
- mirascope/core/gemini/call_response.py +3 -2
- mirascope/core/google/_utils/_convert_message_params.py +21 -1
- mirascope/core/google/_utils/_message_param_converter.py +1 -1
- mirascope/core/google/call_response.py +5 -5
- mirascope/core/groq/call_response.py +3 -2
- mirascope/core/mistral/call_response.py +3 -2
- mirascope/core/openai/call_response.py +3 -2
- mirascope/core/vertex/call_response.py +3 -2
- mirascope/llm/call_response.py +6 -5
- {mirascope-1.22.2.dist-info → mirascope-1.22.3.dist-info}/METADATA +1 -1
- {mirascope-1.22.2.dist-info → mirascope-1.22.3.dist-info}/RECORD +20 -20
- {mirascope-1.22.2.dist-info → mirascope-1.22.3.dist-info}/WHEEL +0 -0
- {mirascope-1.22.2.dist-info → mirascope-1.22.3.dist-info}/licenses/LICENSE +0 -0
|
@@ -92,6 +92,11 @@ def convert_message_params(
|
|
|
92
92
|
f"control parts. Part provided: {part.type}"
|
|
93
93
|
)
|
|
94
94
|
converted_message_params.append(
|
|
95
|
-
{
|
|
95
|
+
{
|
|
96
|
+
"role": "user"
|
|
97
|
+
if message_param.role == "tool"
|
|
98
|
+
else message_param.role,
|
|
99
|
+
"content": converted_content,
|
|
100
|
+
}
|
|
96
101
|
)
|
|
97
102
|
return converted_message_params
|
|
@@ -107,48 +107,23 @@ class AnthropicMessageParamConverter(BaseMessageParamConverter):
|
|
|
107
107
|
)
|
|
108
108
|
|
|
109
109
|
elif block["type"] == "tool_use":
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
converted_content = []
|
|
117
|
-
converted.append(
|
|
118
|
-
BaseMessageParam(
|
|
119
|
-
role="assistant",
|
|
120
|
-
content=[
|
|
121
|
-
ToolCallPart(
|
|
122
|
-
type="tool_call",
|
|
123
|
-
args=cast(dict, block["input"]),
|
|
124
|
-
id=block["id"],
|
|
125
|
-
name=block["name"],
|
|
126
|
-
)
|
|
127
|
-
],
|
|
110
|
+
converted_content.append(
|
|
111
|
+
ToolCallPart(
|
|
112
|
+
type="tool_call",
|
|
113
|
+
args=cast(dict, block["input"]),
|
|
114
|
+
id=block["id"],
|
|
115
|
+
name=block["name"],
|
|
128
116
|
)
|
|
129
117
|
)
|
|
130
|
-
|
|
131
118
|
elif block["type"] == "tool_result":
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
)
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
BaseMessageParam(
|
|
141
|
-
role="user",
|
|
142
|
-
content=[
|
|
143
|
-
ToolResultPart(
|
|
144
|
-
type="tool_result",
|
|
145
|
-
content=block["content"] # pyright: ignore [reportTypedDictNotRequiredAccess]
|
|
146
|
-
if isinstance(block["content"], str) # pyright: ignore [reportTypedDictNotRequiredAccess]
|
|
147
|
-
else list(block["content"])[0]["text"], # pyright: ignore [reportTypedDictNotRequiredAccess, reportGeneralTypeIssues]
|
|
148
|
-
id=block["tool_use_id"],
|
|
149
|
-
is_error=block.get("is_error", False),
|
|
150
|
-
)
|
|
151
|
-
],
|
|
119
|
+
converted_content.append(
|
|
120
|
+
ToolResultPart(
|
|
121
|
+
type="tool_result",
|
|
122
|
+
content=block["content"] # pyright: ignore [reportTypedDictNotRequiredAccess]
|
|
123
|
+
if isinstance(block["content"], str) # pyright: ignore [reportTypedDictNotRequiredAccess]
|
|
124
|
+
else list(block["content"])[0]["text"], # pyright: ignore [reportTypedDictNotRequiredAccess, reportGeneralTypeIssues]
|
|
125
|
+
id=block["tool_use_id"],
|
|
126
|
+
is_error=block.get("is_error", False),
|
|
152
127
|
)
|
|
153
128
|
)
|
|
154
129
|
else:
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
usage docs: learn/calls.md#handling-responses
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
|
+
from collections.abc import Sequence
|
|
6
7
|
from functools import cached_property
|
|
7
8
|
|
|
8
9
|
from anthropic.types import (
|
|
@@ -156,12 +157,12 @@ class AnthropicCallResponse(
|
|
|
156
157
|
@classmethod
|
|
157
158
|
@transform_tool_outputs
|
|
158
159
|
def tool_message_params(
|
|
159
|
-
cls, tools_and_outputs:
|
|
160
|
+
cls, tools_and_outputs: Sequence[tuple[AnthropicTool, str]]
|
|
160
161
|
) -> list[MessageParam]:
|
|
161
162
|
"""Returns the tool message parameters for tool call results.
|
|
162
163
|
|
|
163
164
|
Args:
|
|
164
|
-
tools_and_outputs: The
|
|
165
|
+
tools_and_outputs: The sequence of tools and their outputs from which the tool
|
|
165
166
|
message parameters should be constructed.
|
|
166
167
|
|
|
167
168
|
Returns:
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
usage docs: learn/calls.md#handling-responses
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
|
+
from collections.abc import Sequence
|
|
6
7
|
from functools import cached_property
|
|
7
8
|
from typing import cast
|
|
8
9
|
|
|
@@ -175,12 +176,12 @@ class AzureCallResponse(
|
|
|
175
176
|
@classmethod
|
|
176
177
|
@transform_tool_outputs
|
|
177
178
|
def tool_message_params(
|
|
178
|
-
cls, tools_and_outputs:
|
|
179
|
+
cls, tools_and_outputs: Sequence[tuple[AzureTool, str]]
|
|
179
180
|
) -> list[ToolMessage]:
|
|
180
181
|
"""Returns the tool message parameters for tool call results.
|
|
181
182
|
|
|
182
183
|
Args:
|
|
183
|
-
tools_and_outputs: The
|
|
184
|
+
tools_and_outputs: The sequence of tools and their outputs from which the tool
|
|
184
185
|
message parameters should be constructed.
|
|
185
186
|
|
|
186
187
|
Returns:
|
|
@@ -5,7 +5,7 @@ from __future__ import annotations
|
|
|
5
5
|
import base64
|
|
6
6
|
import json
|
|
7
7
|
from abc import ABC, abstractmethod
|
|
8
|
-
from collections.abc import Callable
|
|
8
|
+
from collections.abc import Callable, Sequence
|
|
9
9
|
from functools import cached_property, wraps
|
|
10
10
|
from typing import TYPE_CHECKING, Any, ClassVar, Generic, TypeVar, cast
|
|
11
11
|
|
|
@@ -47,17 +47,17 @@ _BaseMessageParamConverterT = TypeVar(
|
|
|
47
47
|
|
|
48
48
|
def transform_tool_outputs(
|
|
49
49
|
fn: Callable[
|
|
50
|
-
[type[_BaseCallResponseT],
|
|
50
|
+
[type[_BaseCallResponseT], Sequence[tuple[_BaseToolT, str]]],
|
|
51
51
|
list[_ToolMessageParamT],
|
|
52
52
|
],
|
|
53
53
|
) -> Callable[
|
|
54
|
-
[type[_BaseCallResponseT],
|
|
54
|
+
[type[_BaseCallResponseT], Sequence[tuple[_BaseToolT, JsonableType]]],
|
|
55
55
|
list[_ToolMessageParamT],
|
|
56
56
|
]:
|
|
57
57
|
@wraps(fn)
|
|
58
58
|
def wrapper(
|
|
59
59
|
cls: type[_BaseCallResponseT],
|
|
60
|
-
tools_and_outputs:
|
|
60
|
+
tools_and_outputs: Sequence[tuple[_BaseToolT, JsonableType]],
|
|
61
61
|
) -> list[_ToolMessageParamT]:
|
|
62
62
|
def recursive_serializer(value: JsonableType) -> BaseType:
|
|
63
63
|
if isinstance(value, str):
|
|
@@ -290,12 +290,12 @@ class BaseCallResponse(
|
|
|
290
290
|
@abstractmethod
|
|
291
291
|
@transform_tool_outputs
|
|
292
292
|
def tool_message_params(
|
|
293
|
-
cls, tools_and_outputs:
|
|
293
|
+
cls, tools_and_outputs: Sequence[tuple[_BaseToolT, str]]
|
|
294
294
|
) -> list[Any]:
|
|
295
295
|
"""Returns the tool message parameters for tool call results.
|
|
296
296
|
|
|
297
297
|
Args:
|
|
298
|
-
tools_and_outputs: The
|
|
298
|
+
tools_and_outputs: The sequence of tools and their outputs from which the tool
|
|
299
299
|
message parameters should be constructed.
|
|
300
300
|
"""
|
|
301
301
|
...
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
usage docs: learn/calls.md#handling-responses
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
|
+
from collections.abc import Sequence
|
|
6
7
|
from functools import cached_property
|
|
7
8
|
from typing import cast
|
|
8
9
|
|
|
@@ -197,12 +198,12 @@ class BedrockCallResponse(
|
|
|
197
198
|
@classmethod
|
|
198
199
|
@transform_tool_outputs
|
|
199
200
|
def tool_message_params(
|
|
200
|
-
cls, tools_and_outputs:
|
|
201
|
+
cls, tools_and_outputs: Sequence[tuple[BedrockTool, str]]
|
|
201
202
|
) -> list[ToolResultBlockMessageTypeDef]:
|
|
202
203
|
"""Returns the tool message parameters for tool call results.
|
|
203
204
|
|
|
204
205
|
Args:
|
|
205
|
-
tools_and_outputs: The
|
|
206
|
+
tools_and_outputs: The sequence of tools and their outputs from which the tool
|
|
206
207
|
message parameters should be constructed.
|
|
207
208
|
|
|
208
209
|
Returns:
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
usage docs: learn/calls.md#handling-responses
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
|
+
from collections.abc import Sequence
|
|
6
7
|
from functools import cached_property
|
|
7
8
|
|
|
8
9
|
from cohere.types import (
|
|
@@ -164,12 +165,12 @@ class CohereCallResponse(
|
|
|
164
165
|
@transform_tool_outputs
|
|
165
166
|
def tool_message_params(
|
|
166
167
|
cls,
|
|
167
|
-
tools_and_outputs:
|
|
168
|
+
tools_and_outputs: Sequence[tuple[CohereTool, str]],
|
|
168
169
|
) -> list[ToolResult]:
|
|
169
170
|
"""Returns the tool message parameters for tool call results.
|
|
170
171
|
|
|
171
172
|
Args:
|
|
172
|
-
tools_and_outputs: The
|
|
173
|
+
tools_and_outputs: The sequence of tools and their outputs from which the tool
|
|
173
174
|
message parameters should be constructed.
|
|
174
175
|
|
|
175
176
|
Returns:
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
usage docs: learn/calls.md#handling-responses
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
|
+
from collections.abc import Sequence
|
|
6
7
|
from functools import cached_property
|
|
7
8
|
|
|
8
9
|
from google.generativeai.protos import FunctionResponse
|
|
@@ -173,12 +174,12 @@ class GeminiCallResponse(
|
|
|
173
174
|
@classmethod
|
|
174
175
|
@transform_tool_outputs
|
|
175
176
|
def tool_message_params(
|
|
176
|
-
cls, tools_and_outputs:
|
|
177
|
+
cls, tools_and_outputs: Sequence[tuple[GeminiTool, str]]
|
|
177
178
|
) -> list[ContentDict]:
|
|
178
179
|
"""Returns the tool message parameters for tool call results.
|
|
179
180
|
|
|
180
181
|
Args:
|
|
181
|
-
tools_and_outputs: The
|
|
182
|
+
tools_and_outputs: The sequence of tools and their outputs from which the tool
|
|
182
183
|
message parameters should be constructed.
|
|
183
184
|
|
|
184
185
|
Returns:
|
|
@@ -10,6 +10,8 @@ from google.genai.types import (
|
|
|
10
10
|
BlobDict,
|
|
11
11
|
ContentDict,
|
|
12
12
|
FileDataDict,
|
|
13
|
+
FunctionCallDict,
|
|
14
|
+
FunctionResponseDict,
|
|
13
15
|
PartDict,
|
|
14
16
|
)
|
|
15
17
|
|
|
@@ -59,6 +61,24 @@ async def _convert_message_params_async(
|
|
|
59
61
|
for index, part in enumerate(content):
|
|
60
62
|
if part.type == "text":
|
|
61
63
|
converted_content.append(PartDict(text=part.text))
|
|
64
|
+
elif part.type == "tool_call":
|
|
65
|
+
converted_content.append(
|
|
66
|
+
PartDict(
|
|
67
|
+
function_call=FunctionCallDict(
|
|
68
|
+
name=part.name, args=part.args, id=part.id
|
|
69
|
+
)
|
|
70
|
+
)
|
|
71
|
+
)
|
|
72
|
+
elif part.type == "tool_result":
|
|
73
|
+
converted_content.append(
|
|
74
|
+
PartDict(
|
|
75
|
+
function_response=FunctionResponseDict(
|
|
76
|
+
name=part.name,
|
|
77
|
+
response={"content": part.content},
|
|
78
|
+
id=part.id,
|
|
79
|
+
)
|
|
80
|
+
)
|
|
81
|
+
)
|
|
62
82
|
elif part.type == "image":
|
|
63
83
|
_check_image_media_type(part.media_type)
|
|
64
84
|
blob_dict = BlobDict(data=part.image, mime_type=part.media_type)
|
|
@@ -136,7 +156,7 @@ async def _convert_message_params_async(
|
|
|
136
156
|
total_payload_size -= audio_size
|
|
137
157
|
else:
|
|
138
158
|
raise ValueError(
|
|
139
|
-
"Google currently only supports text, image, and audio parts. "
|
|
159
|
+
"Google currently only supports text, tool_call, tool_result, image, and audio parts. "
|
|
140
160
|
f"Part provided: {part.type}"
|
|
141
161
|
)
|
|
142
162
|
|
|
@@ -136,7 +136,7 @@ class GoogleMessageParamConverter(BaseMessageParamConverter):
|
|
|
136
136
|
type="tool_result",
|
|
137
137
|
name=part.function_response.name, # pyright: ignore [reportArgumentType]
|
|
138
138
|
content=part.function_response.response[ # pyright: ignore [reportArgumentType, reportOptionalSubscript]
|
|
139
|
-
"
|
|
139
|
+
"content"
|
|
140
140
|
],
|
|
141
141
|
id=None,
|
|
142
142
|
is_error=False,
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
usage docs: learn/calls.md#handling-responses
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
|
+
from collections.abc import Sequence
|
|
6
7
|
from functools import cached_property
|
|
7
8
|
|
|
8
9
|
from google.genai.types import (
|
|
@@ -155,13 +156,12 @@ class GoogleCallResponse(
|
|
|
155
156
|
|
|
156
157
|
@cached_property
|
|
157
158
|
def tools(self) -> list[GoogleTool] | None:
|
|
158
|
-
"""Returns the list of tools for the
|
|
159
|
+
"""Returns the list of tools for the response."""
|
|
159
160
|
if self.tool_types is None:
|
|
160
161
|
return None
|
|
161
162
|
|
|
162
163
|
extracted_tools = []
|
|
163
|
-
for
|
|
164
|
-
tool_call = part.function_call
|
|
164
|
+
for tool_call in self.response.function_calls or []:
|
|
165
165
|
for tool_type in self.tool_types:
|
|
166
166
|
if tool_call.name == tool_type._name(): # pyright: ignore [reportOptionalMemberAccess]
|
|
167
167
|
extracted_tools.append(tool_type.from_tool_call(tool_call)) # pyright: ignore [reportArgumentType]
|
|
@@ -184,12 +184,12 @@ class GoogleCallResponse(
|
|
|
184
184
|
@classmethod
|
|
185
185
|
@transform_tool_outputs
|
|
186
186
|
def tool_message_params(
|
|
187
|
-
cls, tools_and_outputs:
|
|
187
|
+
cls, tools_and_outputs: Sequence[tuple[GoogleTool, str]]
|
|
188
188
|
) -> list[ContentDict]:
|
|
189
189
|
"""Returns the tool message parameters for tool call results.
|
|
190
190
|
|
|
191
191
|
Args:
|
|
192
|
-
tools_and_outputs: The
|
|
192
|
+
tools_and_outputs: The sequence of tools and their outputs from which the tool
|
|
193
193
|
message parameters should be constructed.
|
|
194
194
|
|
|
195
195
|
Returns:
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
usage docs: learn/calls.md#handling-responses
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
|
+
from collections.abc import Sequence
|
|
6
7
|
from functools import cached_property
|
|
7
8
|
from typing import cast
|
|
8
9
|
|
|
@@ -155,12 +156,12 @@ class GroqCallResponse(
|
|
|
155
156
|
@classmethod
|
|
156
157
|
@transform_tool_outputs
|
|
157
158
|
def tool_message_params(
|
|
158
|
-
cls, tools_and_outputs:
|
|
159
|
+
cls, tools_and_outputs: Sequence[tuple[GroqTool, str]]
|
|
159
160
|
) -> list[ChatCompletionToolMessageParam]:
|
|
160
161
|
"""Returns the tool message parameters for tool call results.
|
|
161
162
|
|
|
162
163
|
Args:
|
|
163
|
-
tools_and_outputs: The
|
|
164
|
+
tools_and_outputs: The sequence of tools and their outputs from which the tool
|
|
164
165
|
message parameters should be constructed.
|
|
165
166
|
|
|
166
167
|
Returns:
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
usage docs: learn/calls.md#handling-responses
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
|
+
from collections.abc import Sequence
|
|
6
7
|
from functools import cached_property
|
|
7
8
|
from typing import Any, cast
|
|
8
9
|
|
|
@@ -163,12 +164,12 @@ class MistralCallResponse(
|
|
|
163
164
|
@classmethod
|
|
164
165
|
@transform_tool_outputs
|
|
165
166
|
def tool_message_params(
|
|
166
|
-
cls, tools_and_outputs:
|
|
167
|
+
cls, tools_and_outputs: Sequence[tuple[MistralTool, str]]
|
|
167
168
|
) -> list[ToolMessage]:
|
|
168
169
|
"""Returns the tool message parameters for tool call results.
|
|
169
170
|
|
|
170
171
|
Args:
|
|
171
|
-
tools_and_outputs: The
|
|
172
|
+
tools_and_outputs: The sequence of tools and their outputs from which the tool
|
|
172
173
|
message parameters should be constructed.
|
|
173
174
|
|
|
174
175
|
Returns:
|
|
@@ -4,6 +4,7 @@ usage docs: learn/calls.md#handling-responses
|
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
6
|
import base64
|
|
7
|
+
from collections.abc import Sequence
|
|
7
8
|
from functools import cached_property
|
|
8
9
|
from typing import cast
|
|
9
10
|
|
|
@@ -196,12 +197,12 @@ class OpenAICallResponse(
|
|
|
196
197
|
@classmethod
|
|
197
198
|
@transform_tool_outputs
|
|
198
199
|
def tool_message_params(
|
|
199
|
-
cls, tools_and_outputs:
|
|
200
|
+
cls, tools_and_outputs: Sequence[tuple[OpenAITool, str]]
|
|
200
201
|
) -> list[ChatCompletionToolMessageParam]:
|
|
201
202
|
"""Returns the tool message parameters for tool call results.
|
|
202
203
|
|
|
203
204
|
Args:
|
|
204
|
-
tools_and_outputs: The
|
|
205
|
+
tools_and_outputs: The sequence of tools and their outputs from which the tool
|
|
205
206
|
message parameters should be constructed.
|
|
206
207
|
|
|
207
208
|
Returns:
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
usage docs: learn/calls.md#handling-responses
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
|
+
from collections.abc import Sequence
|
|
6
7
|
from functools import cached_property
|
|
7
8
|
|
|
8
9
|
from google.cloud.aiplatform_v1beta1.types import GenerateContentResponse
|
|
@@ -163,12 +164,12 @@ class VertexCallResponse(
|
|
|
163
164
|
@classmethod
|
|
164
165
|
@transform_tool_outputs
|
|
165
166
|
def tool_message_params(
|
|
166
|
-
cls, tools_and_outputs:
|
|
167
|
+
cls, tools_and_outputs: Sequence[tuple[VertexTool, str]]
|
|
167
168
|
) -> list[Content]:
|
|
168
169
|
"""Returns the tool message parameters for tool call results.
|
|
169
170
|
|
|
170
171
|
Args:
|
|
171
|
-
tools_and_outputs: The
|
|
172
|
+
tools_and_outputs: The sequence of tools and their outputs from which the tool
|
|
172
173
|
message parameters should be constructed.
|
|
173
174
|
|
|
174
175
|
Returns:
|
mirascope/llm/call_response.py
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
+
from collections.abc import Sequence
|
|
5
6
|
from functools import cached_property
|
|
6
7
|
from typing import Any
|
|
7
8
|
|
|
@@ -26,7 +27,7 @@ from .tool import Tool
|
|
|
26
27
|
class CallResponse(
|
|
27
28
|
BaseCallResponse[
|
|
28
29
|
Any,
|
|
29
|
-
|
|
30
|
+
BaseTool,
|
|
30
31
|
Any,
|
|
31
32
|
BaseDynamicConfig[Any, Any, Any],
|
|
32
33
|
BaseMessageParam,
|
|
@@ -42,11 +43,11 @@ class CallResponse(
|
|
|
42
43
|
We rely on _response having `common_` methods or properties for normalization.
|
|
43
44
|
"""
|
|
44
45
|
|
|
45
|
-
_response: BaseCallResponse[Any,
|
|
46
|
+
_response: BaseCallResponse[Any, BaseTool, Any, Any, Any, Any, Any, Any]
|
|
46
47
|
|
|
47
48
|
def __init__(
|
|
48
49
|
self,
|
|
49
|
-
response: BaseCallResponse[Any,
|
|
50
|
+
response: BaseCallResponse[Any, BaseTool, Any, Any, Any, Any, Any, Any],
|
|
50
51
|
) -> None:
|
|
51
52
|
super().__init__(
|
|
52
53
|
**{
|
|
@@ -133,12 +134,12 @@ class CallResponse(
|
|
|
133
134
|
@classmethod
|
|
134
135
|
@transform_tool_outputs
|
|
135
136
|
def tool_message_params(
|
|
136
|
-
cls, tools_and_outputs:
|
|
137
|
+
cls, tools_and_outputs: Sequence[tuple[BaseTool, str]]
|
|
137
138
|
) -> list[BaseMessageParam]:
|
|
138
139
|
"""Returns the tool message parameters for tool call results.
|
|
139
140
|
|
|
140
141
|
Args:
|
|
141
|
-
tools_and_outputs: The
|
|
142
|
+
tools_and_outputs: The sequence of tools and their outputs from which the tool
|
|
142
143
|
message parameters should be constructed.
|
|
143
144
|
"""
|
|
144
145
|
|
|
@@ -47,7 +47,7 @@ mirascope/core/anthropic/__init__.py,sha256=GB-CULa3jYEPv1ZDyZjNCKQJbrc6ojqu8WNR
|
|
|
47
47
|
mirascope/core/anthropic/_call.py,sha256=LXUR__AyexD-hsPMPKpA7IFuh8Cfc0uAg1GrJSxiWnU,2358
|
|
48
48
|
mirascope/core/anthropic/_call_kwargs.py,sha256=EoXSl2B5FoLD_Nv03-ttXjiKlpBihZGXu6U-Ol3qwZ8,389
|
|
49
49
|
mirascope/core/anthropic/call_params.py,sha256=K51kCyIf6us3Tl2SPgkqrZoacZTNwaMuVj23hFJcVBk,1238
|
|
50
|
-
mirascope/core/anthropic/call_response.py,sha256=
|
|
50
|
+
mirascope/core/anthropic/call_response.py,sha256=xtXtsZ6Aze7fAgOMAtNQosa0wyURzc2kX8zZ06gHEp4,6390
|
|
51
51
|
mirascope/core/anthropic/call_response_chunk.py,sha256=Pzpc4nHUqA-OhMaBvdT7sJOexgRbrevNebqHm1HGrrA,4113
|
|
52
52
|
mirascope/core/anthropic/dynamic_config.py,sha256=kZV4ApAnm3P1X5gKPJ3hbr45K6tgaNX8L6Ca8NjTkxU,1192
|
|
53
53
|
mirascope/core/anthropic/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -56,16 +56,16 @@ mirascope/core/anthropic/tool.py,sha256=HtbYV5j4itV8v6lTyLDY72NMX2kxRaXVgpZ_m89H
|
|
|
56
56
|
mirascope/core/anthropic/_utils/__init__.py,sha256=GDO3G2dvWsE8UhFyQ1lKkRVMeOrqqogBISRKJYJmoEQ,493
|
|
57
57
|
mirascope/core/anthropic/_utils/_convert_common_call_params.py,sha256=ILd7AH_atmPUPj7I74EsmxG3rmWC7b5tgjnlR24jKUs,765
|
|
58
58
|
mirascope/core/anthropic/_utils/_convert_finish_reason_to_common_finish_reasons.py,sha256=UqqiDEaw20_nDbQUvRJC-ZneCd35f_2GEUpiUNMibr0,704
|
|
59
|
-
mirascope/core/anthropic/_utils/_convert_message_params.py,sha256=
|
|
59
|
+
mirascope/core/anthropic/_utils/_convert_message_params.py,sha256=paDIPksOzZK5yhckUX8-3y5czUIWDxdWCwJmzI6rmEE,4270
|
|
60
60
|
mirascope/core/anthropic/_utils/_get_json_output.py,sha256=vkHvhc96RLrGREYVCKr14Umq80EUa7pCtlcImjXB5gA,1157
|
|
61
61
|
mirascope/core/anthropic/_utils/_handle_stream.py,sha256=6Ll2FQt1KWrz5jqgeP1NikHEjlrSbfPUQCH4eoX4eVA,4010
|
|
62
|
-
mirascope/core/anthropic/_utils/_message_param_converter.py,sha256=
|
|
62
|
+
mirascope/core/anthropic/_utils/_message_param_converter.py,sha256=1Blj5YT-ifJw12Y9reUK740CO2Fwp-m21_bLEal2PHw,6205
|
|
63
63
|
mirascope/core/anthropic/_utils/_setup_call.py,sha256=tR-SFT_ZJd_Gk7RY4NOU3do536RRO3US4IfOuyAapOw,4340
|
|
64
64
|
mirascope/core/azure/__init__.py,sha256=7Dpkf10T-TGxk7Lstej6x6s6On7QjI0qeE2ABO7QWmQ,852
|
|
65
65
|
mirascope/core/azure/_call.py,sha256=SHqSJe6_4zgn4Y9PkpDl4vXvLuT4QmVnWUcws9e_RR8,2237
|
|
66
66
|
mirascope/core/azure/_call_kwargs.py,sha256=q38xKSgCBWi8DLScepG-KnUfgi67AU6xr2uOHwCZ2mI,435
|
|
67
67
|
mirascope/core/azure/call_params.py,sha256=NK_ggVJbactDip85DbfCaqSWRpO0CgwN1svY-KW4_Yg,1836
|
|
68
|
-
mirascope/core/azure/call_response.py,sha256
|
|
68
|
+
mirascope/core/azure/call_response.py,sha256=FzSqAunmZCeVhQIei2_YcUqZBnJUgmEFFT4jHiJFm28,7068
|
|
69
69
|
mirascope/core/azure/call_response_chunk.py,sha256=2NorPZ6szna3G-xDx63kuPuMQ7PCh5WNeGhiBRvwCYM,3155
|
|
70
70
|
mirascope/core/azure/dynamic_config.py,sha256=6SBMGFce7tuXdwHrlKNISpZxVxUnnumbIQB9lGR6nbs,1066
|
|
71
71
|
mirascope/core/azure/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -88,7 +88,7 @@ mirascope/core/base/_extract_with_tools.py,sha256=MW4v8D1xty7LqLb5RwMFkX-peQqA73
|
|
|
88
88
|
mirascope/core/base/_partial.py,sha256=w_ACCgsDKNLtMyAP-lNmfRdrFEPmzh2BT4aninajxyY,3240
|
|
89
89
|
mirascope/core/base/call_kwargs.py,sha256=0mznCsrj1dYxvdwYNF0RKbc9CiU5G6WvvcjPqOMsOE4,351
|
|
90
90
|
mirascope/core/base/call_params.py,sha256=wtuuOY-SwIZYCDBKfn_xRC0Kf1cUuI4eSQaXu6VrtaE,1331
|
|
91
|
-
mirascope/core/base/call_response.py,sha256=
|
|
91
|
+
mirascope/core/base/call_response.py,sha256=YBQvOrNcDKZG9H_aOlB88WJ4D9oIQiSybZhUTPMOxBY,10721
|
|
92
92
|
mirascope/core/base/call_response_chunk.py,sha256=ZfulgERwgva55TLrQI9XimX8bpgOqBNLs_I-_kELl-4,3606
|
|
93
93
|
mirascope/core/base/dynamic_config.py,sha256=V5IG2X5gPFpfQ47uO8JU1zoC2eNdRftsRZEmwhRPaYI,2859
|
|
94
94
|
mirascope/core/base/from_call_args.py,sha256=8ijMX7PN6a4o6uLdmXJlSRnE-rEVJU5NLxUmNrS8dvU,909
|
|
@@ -145,7 +145,7 @@ mirascope/core/bedrock/_call.py,sha256=8Z8sdzpTdJsMHBev35B1KH3O16_eMLbtTkOmPB7bz
|
|
|
145
145
|
mirascope/core/bedrock/_call_kwargs.py,sha256=N1d_iglnwZW3JrcaT8WTOeuLT5MYcVLU5vS8u8uyEL4,408
|
|
146
146
|
mirascope/core/bedrock/_types.py,sha256=ntmzYsgT6wuigv1GavkdqCvJnAYRsFvVuIwxafE4DFY,3229
|
|
147
147
|
mirascope/core/bedrock/call_params.py,sha256=3eKNYTteCTaPLqvAcy1vHU5aY9nMVNhmApL45ugPbrQ,1716
|
|
148
|
-
mirascope/core/bedrock/call_response.py,sha256=
|
|
148
|
+
mirascope/core/bedrock/call_response.py,sha256=86_AJOAsNORjADX7DV2pUiRuG8DWABOL07r804lOK4U,8413
|
|
149
149
|
mirascope/core/bedrock/call_response_chunk.py,sha256=EAs0mJseL-C4dlnEhggtUT8_s6L2d5lSAqrIjLxQepI,3524
|
|
150
150
|
mirascope/core/bedrock/dynamic_config.py,sha256=X6v93X9g14mfvkGLL08yX-xTFGgX8y8bVngNmExdUhQ,1166
|
|
151
151
|
mirascope/core/bedrock/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -164,7 +164,7 @@ mirascope/core/cohere/_call.py,sha256=y0nB_7h7FWCNxHRPywtAVCYXyeYX3uzTyYBPWnuLwU
|
|
|
164
164
|
mirascope/core/cohere/_call_kwargs.py,sha256=YmHwiofs0QADGp0wXUtOr_Z5Pt849zaCtIZmVyjw2OM,292
|
|
165
165
|
mirascope/core/cohere/_types.py,sha256=dMcep2mhuUUUmKvFUmdoxkq4Zg5AtB2xquROiBbwRvo,1017
|
|
166
166
|
mirascope/core/cohere/call_params.py,sha256=xtmELsLkjfyfUoNbZpn3JET-gJxo1EIvlcwxgMw3gcw,1860
|
|
167
|
-
mirascope/core/cohere/call_response.py,sha256=
|
|
167
|
+
mirascope/core/cohere/call_response.py,sha256=2nvT9tBqW0N6Kekf_W93rb8NBYdkT_lOvaXn57A9pXU,6362
|
|
168
168
|
mirascope/core/cohere/call_response_chunk.py,sha256=M-EkkGOuNFnYqzAxn5HbE9EFmU4IRUA4kNPFnzl-nBs,3806
|
|
169
169
|
mirascope/core/cohere/dynamic_config.py,sha256=noH36l6qGGnClVz0EtMqeW_0e4-oTCviU5SLIl8YS64,941
|
|
170
170
|
mirascope/core/cohere/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -196,7 +196,7 @@ mirascope/core/gemini/__init__.py,sha256=x7GxY48nHa6nNFhoaS3ED8NK_DwF2bNEGXiWU86
|
|
|
196
196
|
mirascope/core/gemini/_call.py,sha256=g47rUaE4V_onORvRUP9GlgnQKda28dV1Ge2YACvrD-c,2344
|
|
197
197
|
mirascope/core/gemini/_call_kwargs.py,sha256=4f34gl1BPM14wkd0fGJw_58jYzxgGgNvZkjVI5d1hgU,360
|
|
198
198
|
mirascope/core/gemini/call_params.py,sha256=aEXhgZVB0npcT6wL_p7GVGIE3vi_JOiMKdgWtpXTezQ,1723
|
|
199
|
-
mirascope/core/gemini/call_response.py,sha256=
|
|
199
|
+
mirascope/core/gemini/call_response.py,sha256=7A2S60Vq2cmI3HkbtW-d3j-WPty2OXGxUp8RrHMKFxg,6391
|
|
200
200
|
mirascope/core/gemini/call_response_chunk.py,sha256=YRyCrPLY5F79h_q3Yk6bg2ZiER_PpbAsg41ucy06QQ4,2915
|
|
201
201
|
mirascope/core/gemini/dynamic_config.py,sha256=_bmJUVHFyrr3zKea96lES20q4GPOelK3W7K1DcX0mZ8,836
|
|
202
202
|
mirascope/core/gemini/stream.py,sha256=1OIS-rrrDfRVRL86_HYatJ5uUKVLG2eRFx_PVb2YrCQ,3621
|
|
@@ -213,7 +213,7 @@ mirascope/core/google/__init__.py,sha256=5EhyiomPnjOS59FgfQP2uPCXS74ZJrGYvJ_CZbY
|
|
|
213
213
|
mirascope/core/google/_call.py,sha256=GJOPyvHzVlSXvJpgQhJFg4wFHFUYsvvrbjhNxU-nSl8,2344
|
|
214
214
|
mirascope/core/google/_call_kwargs.py,sha256=baCYcxWsmV06ATw6nuQhh6FPm3k6oWmKOn0MyjESDGc,372
|
|
215
215
|
mirascope/core/google/call_params.py,sha256=9Dt5m1pPVjpl5Qppz6Egl_9FyGjjz9aGCnXkVps7C_Q,538
|
|
216
|
-
mirascope/core/google/call_response.py,sha256=
|
|
216
|
+
mirascope/core/google/call_response.py,sha256=nAlH1XWQMiMfCKgi6sG3qIA0YccxIzLWzY_NNl2JtqM,7372
|
|
217
217
|
mirascope/core/google/call_response_chunk.py,sha256=oORYaGjOBv4U1IVhsR_ZS-Vr-B58I8G0-9d6Kcj9RM4,3427
|
|
218
218
|
mirascope/core/google/dynamic_config.py,sha256=O6j8F0fLVFuuNwURneu5OpPuu_bMEtbDEFHhJXRT6V0,857
|
|
219
219
|
mirascope/core/google/stream.py,sha256=bTxB8OUrKXxzmcX0C7_-LqtBfaAAazA5HjKZGSxxtLw,4466
|
|
@@ -221,17 +221,17 @@ mirascope/core/google/tool.py,sha256=61a9Ejdxz41pwaab9VE2yvP_J1Aebua3BeRPJ_GJSnE
|
|
|
221
221
|
mirascope/core/google/_utils/__init__.py,sha256=vL0hx6WKW5lqpUcFTFCFGvmwtR-pts0JzWgCXhaUVrI,388
|
|
222
222
|
mirascope/core/google/_utils/_convert_common_call_params.py,sha256=TF7GWBHcpfzb7XmrxKp3gnaONITYF93lqr4XkSVz_uU,1195
|
|
223
223
|
mirascope/core/google/_utils/_convert_finish_reason_to_common_finish_reasons.py,sha256=ig4tb7Zanz-tyZpvc9Ncd47a2FNTOS7-wl1PYBq-4cY,879
|
|
224
|
-
mirascope/core/google/_utils/_convert_message_params.py,sha256=
|
|
224
|
+
mirascope/core/google/_utils/_convert_message_params.py,sha256=9I7Q79Z8tBCLZtfjWJNQkuKgz0n2L43SzHB3cV3hNmY,8926
|
|
225
225
|
mirascope/core/google/_utils/_get_json_output.py,sha256=sxDgT0Ra6YJynL5_hhakf0dNJEhZm0DfAgfcvC_DAFU,1596
|
|
226
226
|
mirascope/core/google/_utils/_handle_stream.py,sha256=BxFuheAu1LKPrPsDxxiLWd2KoajkwJyx2_QT1NXwtWE,1212
|
|
227
|
-
mirascope/core/google/_utils/_message_param_converter.py,sha256=
|
|
227
|
+
mirascope/core/google/_utils/_message_param_converter.py,sha256=wvvxUY9lOhR_kFZ4JigjWmN8O8Vovu-fLoi-NDtyorE,6580
|
|
228
228
|
mirascope/core/google/_utils/_setup_call.py,sha256=UoV4McGgSS79PKErjArCmrq1HmpFvq2qegJYoyY4P5U,6469
|
|
229
229
|
mirascope/core/google/_utils/_validate_media_type.py,sha256=sUOjKpC498L-NCiECejAAfSzMUAvZT84rf-2Yo-JE58,1042
|
|
230
230
|
mirascope/core/groq/__init__.py,sha256=8jWCQScdei_TImGMWUwiKnlOwffQqaXdAL-bluFmEL0,798
|
|
231
231
|
mirascope/core/groq/_call.py,sha256=gR8VN5IaYWIFXc0csn995q59FM0nBs-xVFjkVycPjMM,2223
|
|
232
232
|
mirascope/core/groq/_call_kwargs.py,sha256=trT8AdQ-jdQPYKlGngIMRwwQuvKuvAbvI1yyozftOuI,425
|
|
233
233
|
mirascope/core/groq/call_params.py,sha256=FchtsaeohTzYKzY9f2fUIzjgG2y4OtsnRWiHsUBLdi0,1619
|
|
234
|
-
mirascope/core/groq/call_response.py,sha256=
|
|
234
|
+
mirascope/core/groq/call_response.py,sha256=wEcOeanmYjD9FmrvgBXs7h6ptbfZcQugjvBl7g2Nq_k,7045
|
|
235
235
|
mirascope/core/groq/call_response_chunk.py,sha256=lhlL7XelfBWzCY8SkCYHnstrTXo14s6aUsMRreuEYR0,3094
|
|
236
236
|
mirascope/core/groq/dynamic_config.py,sha256=AjcXBVeBdMiI6ObHanX3TVMKYxm4iWhXju3m6d-ZWMY,937
|
|
237
237
|
mirascope/core/groq/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -259,7 +259,7 @@ mirascope/core/mistral/__init__.py,sha256=75tjaJC9nioECzQumC0FYITjosMsXCO1VzPV1t
|
|
|
259
259
|
mirascope/core/mistral/_call.py,sha256=p9aSLYVSNgaIGA5SqCgGuT7iWN5WLfwmXubk4IF-w_I,2274
|
|
260
260
|
mirascope/core/mistral/_call_kwargs.py,sha256=vZxlADPx4muIePARGdfKOVQpxpIoaXT9tCG6kY5oxSQ,513
|
|
261
261
|
mirascope/core/mistral/call_params.py,sha256=wWHWI9hRnfloGhQurMwCcka9c1u_TwgcN84Ih6qVBXs,1054
|
|
262
|
-
mirascope/core/mistral/call_response.py,sha256=
|
|
262
|
+
mirascope/core/mistral/call_response.py,sha256=Qt4M9l5a7u7t2awISdm90SuWJzAhosXmqRj1R1AgfIY,6294
|
|
263
263
|
mirascope/core/mistral/call_response_chunk.py,sha256=HvoPONyOcbMQPWnrG0qBCfiT6PHLaPR9nrByUuT1Cro,3130
|
|
264
264
|
mirascope/core/mistral/dynamic_config.py,sha256=-pzTvXf870NxEhjpgjqPahFWqqifzMhSbvM0kXs2G_s,937
|
|
265
265
|
mirascope/core/mistral/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -277,7 +277,7 @@ mirascope/core/openai/__init__.py,sha256=lOzSimt1AaWyFW2s_w1So5lIn7K2rpj3bEFicjo
|
|
|
277
277
|
mirascope/core/openai/_call.py,sha256=ExXdY3rjBbil0ija2HlGMRvcOE2zOOj13rgliw8nmFc,2260
|
|
278
278
|
mirascope/core/openai/_call_kwargs.py,sha256=x53EZmxqroNewR194M_JkRP1Ejuh4BTtDL-b7XNSo2Q,435
|
|
279
279
|
mirascope/core/openai/call_params.py,sha256=DAjh2oZ2cLpBSh4wQAq24zsT9LBOJQLjev3AWIDcc2M,3052
|
|
280
|
-
mirascope/core/openai/call_response.py,sha256=
|
|
280
|
+
mirascope/core/openai/call_response.py,sha256=m-y7TePiy0SJALIeTR4Vy0Ph70FHyMwNaeEpaaKyrD0,9045
|
|
281
281
|
mirascope/core/openai/call_response_chunk.py,sha256=GLHiLEb-bRvTtBA9O2zlz8Dzqi7lwladRlNPwM0jv-g,4261
|
|
282
282
|
mirascope/core/openai/dynamic_config.py,sha256=D36E3CMpXSaj5I8FEmtzMJz9gtTsNz1pVW_iM3dOCcw,1045
|
|
283
283
|
mirascope/core/openai/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -294,7 +294,7 @@ mirascope/core/vertex/__init__.py,sha256=eg_kNX956OYABi3leev5GyDg0KK8QopgztBtrMX
|
|
|
294
294
|
mirascope/core/vertex/_call.py,sha256=ebQmWoQLnxScyxhnGKU3MmHkXXzzs_Sw2Yf-d3nZFwU,2323
|
|
295
295
|
mirascope/core/vertex/_call_kwargs.py,sha256=6JxQt1bAscbhPWTGESG1TiskB-i5imDHqLMgbMHmyfI,353
|
|
296
296
|
mirascope/core/vertex/call_params.py,sha256=ISBnMITxAtvuGmpLF9UdkqcDS43RwtuuVakk01YIHDs,706
|
|
297
|
-
mirascope/core/vertex/call_response.py,sha256=
|
|
297
|
+
mirascope/core/vertex/call_response.py,sha256=ATzIX1uSxMxzmh3R-PW_wmbxevyBEx6-Za9Fpf0epWM,6258
|
|
298
298
|
mirascope/core/vertex/call_response_chunk.py,sha256=MDCeDjzFonqRpFdoQnfJRGDPiJakLB9n-o2WyOGLKNw,2926
|
|
299
299
|
mirascope/core/vertex/dynamic_config.py,sha256=KISQf7c2Rf1EpaS_2Ik6beA1w9uz_dAvMBk4nQcrdaM,809
|
|
300
300
|
mirascope/core/vertex/stream.py,sha256=FYhCtYRfQ6lEccHO5ZKVrQJ8iafpelVFIzykO3xVjGE,3544
|
|
@@ -339,7 +339,7 @@ mirascope/llm/_context.py,sha256=vtHJkLlFfUwyR_hYEHXAw3xunpHhLn67k4kuFw50GR8,124
|
|
|
339
339
|
mirascope/llm/_override.py,sha256=m4MdOhM-aJRIGP7NBJhscq3ISNct6FBPn3jjmryFo_Q,112292
|
|
340
340
|
mirascope/llm/_protocols.py,sha256=HXspRAC0PduGqbh2BM0CGe5iVj7CC3ZKMPAYvFvbDNQ,16406
|
|
341
341
|
mirascope/llm/_response_metaclass.py,sha256=6DLQb5IrqMldyEXHT_pAsr2DlUVc9CmZuZiBXG37WK8,851
|
|
342
|
-
mirascope/llm/call_response.py,sha256=
|
|
342
|
+
mirascope/llm/call_response.py,sha256=cOOyONfkcBluk1m2FNliVcdGtiNnSZpz71nMyxsZko8,5232
|
|
343
343
|
mirascope/llm/call_response_chunk.py,sha256=bZwO43ipc6PO1VLgGSaAPRqCIUyZD_Ty5oxdJX62yno,1966
|
|
344
344
|
mirascope/llm/stream.py,sha256=GtUKyLBlKqqZTOKjdL9FLInCXJ0ZOEAe6nymbjKwyTQ,5293
|
|
345
345
|
mirascope/llm/tool.py,sha256=MQRJBPhP1d-OyOz3PE_VsKmSXca0chySyYO1U9OW8ck,1824
|
|
@@ -371,7 +371,7 @@ mirascope/v0/base/ops_utils.py,sha256=1Qq-VIwgHBaYutiZsS2MUQ4OgPC3APyywI5bTiTAmA
|
|
|
371
371
|
mirascope/v0/base/prompts.py,sha256=FM2Yz98cSnDceYogiwPrp4BALf3_F3d4fIOCGAkd-SE,1298
|
|
372
372
|
mirascope/v0/base/types.py,sha256=ZfatJoX0Yl0e3jhv0D_MhiSVHLYUeJsdN3um3iE10zY,352
|
|
373
373
|
mirascope/v0/base/utils.py,sha256=XREPENRQTu8gpMhHU8RC8qH_am3FfGUvY-dJ6x8i-mw,681
|
|
374
|
-
mirascope-1.22.
|
|
375
|
-
mirascope-1.22.
|
|
376
|
-
mirascope-1.22.
|
|
377
|
-
mirascope-1.22.
|
|
374
|
+
mirascope-1.22.3.dist-info/METADATA,sha256=FCTObICqUL1p5C3m5zBUJP2tvPnWlT_Rsumt0u90_H0,8783
|
|
375
|
+
mirascope-1.22.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
376
|
+
mirascope-1.22.3.dist-info/licenses/LICENSE,sha256=LAs5Q8mdawTsVdONpDGukwsoc4KEUBmmonDEL39b23Y,1072
|
|
377
|
+
mirascope-1.22.3.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|