lionagi 0.14.6__py3-none-any.whl → 0.14.7__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.
- lionagi/libs/hash/__init__.py +3 -0
- lionagi/libs/hash/hash_dict.py +108 -0
- lionagi/libs/hash/manager.py +26 -0
- lionagi/models/hashable_model.py +2 -1
- lionagi/protocols/messages/message.py +3 -1
- lionagi/service/connections/providers/_claude_code/models.py +2 -3
- lionagi/service/connections/providers/_claude_code/stream_cli.py +9 -0
- lionagi/service/types.py +2 -1
- lionagi/version.py +1 -1
- {lionagi-0.14.6.dist-info → lionagi-0.14.7.dist-info}/METADATA +9 -19
- {lionagi-0.14.6.dist-info → lionagi-0.14.7.dist-info}/RECORD +13 -10
- {lionagi-0.14.6.dist-info → lionagi-0.14.7.dist-info}/WHEEL +0 -0
- {lionagi-0.14.6.dist-info → lionagi-0.14.7.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,108 @@
|
|
1
|
+
import copy
|
2
|
+
|
3
|
+
from pydantic import BaseModel as PydanticBaseModel
|
4
|
+
|
5
|
+
__all__ = ("hash_dict",)
|
6
|
+
|
7
|
+
# --- Canonical Representation Generator ---
|
8
|
+
_PRIMITIVE_TYPES = (str, int, float, bool, type(None))
|
9
|
+
_TYPE_MARKER_DICT = 0
|
10
|
+
_TYPE_MARKER_LIST = 1
|
11
|
+
_TYPE_MARKER_TUPLE = 2
|
12
|
+
_TYPE_MARKER_SET = 3
|
13
|
+
_TYPE_MARKER_FROZENSET = 4
|
14
|
+
_TYPE_MARKER_PYDANTIC = 5 # Distinguishes dumped Pydantic models
|
15
|
+
|
16
|
+
|
17
|
+
def _generate_hashable_representation(item: any) -> any:
|
18
|
+
"""
|
19
|
+
Recursively converts a Python object into a stable, hashable representation.
|
20
|
+
This ensures that logically identical but structurally different inputs
|
21
|
+
(e.g., dicts with different key orders) produce the same representation.
|
22
|
+
"""
|
23
|
+
if isinstance(item, _PRIMITIVE_TYPES):
|
24
|
+
return item
|
25
|
+
|
26
|
+
if isinstance(item, PydanticBaseModel):
|
27
|
+
# Process the Pydantic model by first dumping it to a dict, then processing that dict.
|
28
|
+
# The type marker distinguishes this from a regular dictionary.
|
29
|
+
return (
|
30
|
+
_TYPE_MARKER_PYDANTIC,
|
31
|
+
_generate_hashable_representation(item.model_dump()),
|
32
|
+
)
|
33
|
+
|
34
|
+
if isinstance(item, dict):
|
35
|
+
# Sort dictionary items by key (stringified) for order-insensitivity.
|
36
|
+
return (
|
37
|
+
_TYPE_MARKER_DICT,
|
38
|
+
tuple(
|
39
|
+
(str(k), _generate_hashable_representation(v))
|
40
|
+
for k, v in sorted(item.items(), key=lambda x: str(x[0]))
|
41
|
+
),
|
42
|
+
)
|
43
|
+
|
44
|
+
if isinstance(item, list):
|
45
|
+
return (
|
46
|
+
_TYPE_MARKER_LIST,
|
47
|
+
tuple(_generate_hashable_representation(elem) for elem in item),
|
48
|
+
)
|
49
|
+
|
50
|
+
if isinstance(item, tuple):
|
51
|
+
return (
|
52
|
+
_TYPE_MARKER_TUPLE,
|
53
|
+
tuple(_generate_hashable_representation(elem) for elem in item),
|
54
|
+
)
|
55
|
+
|
56
|
+
# frozenset must be checked before set
|
57
|
+
if isinstance(item, frozenset):
|
58
|
+
try: # Attempt direct sort for comparable elements
|
59
|
+
sorted_elements = sorted(list(item))
|
60
|
+
except TypeError: # Fallback for unorderable mixed types
|
61
|
+
sorted_elements = sorted(
|
62
|
+
list(item), key=lambda x: (str(type(x)), str(x))
|
63
|
+
)
|
64
|
+
return (
|
65
|
+
_TYPE_MARKER_FROZENSET,
|
66
|
+
tuple(
|
67
|
+
_generate_hashable_representation(elem)
|
68
|
+
for elem in sorted_elements
|
69
|
+
),
|
70
|
+
)
|
71
|
+
|
72
|
+
if isinstance(item, set):
|
73
|
+
try:
|
74
|
+
sorted_elements = sorted(list(item))
|
75
|
+
except TypeError:
|
76
|
+
sorted_elements = sorted(
|
77
|
+
list(item), key=lambda x: (str(type(x)), str(x))
|
78
|
+
)
|
79
|
+
return (
|
80
|
+
_TYPE_MARKER_SET,
|
81
|
+
tuple(
|
82
|
+
_generate_hashable_representation(elem)
|
83
|
+
for elem in sorted_elements
|
84
|
+
),
|
85
|
+
)
|
86
|
+
|
87
|
+
# Fallback for other types (e.g., custom objects not derived from the above)
|
88
|
+
try:
|
89
|
+
return str(item)
|
90
|
+
except Exception: # If str() fails for some reason
|
91
|
+
return repr(item)
|
92
|
+
|
93
|
+
|
94
|
+
def hash_dict(data: any, strict: bool = False) -> int:
|
95
|
+
data_to_process = data
|
96
|
+
if strict:
|
97
|
+
data_to_process = copy.deepcopy(data)
|
98
|
+
|
99
|
+
hashable_repr = _generate_hashable_representation(data_to_process)
|
100
|
+
|
101
|
+
try:
|
102
|
+
return hash(hashable_repr)
|
103
|
+
except TypeError as e:
|
104
|
+
raise TypeError(
|
105
|
+
f"The generated representation for the input data was not hashable. "
|
106
|
+
f"Input type: {type(data).__name__}, Representation type: {type(hashable_repr).__name__}. "
|
107
|
+
f"Original error: {e}"
|
108
|
+
)
|
@@ -0,0 +1,26 @@
|
|
1
|
+
class HashUtils:
|
2
|
+
@staticmethod
|
3
|
+
def hash_dict(data: any, strict: bool = False) -> int:
|
4
|
+
"""
|
5
|
+
Computes a deterministic hash for various Python data structures including
|
6
|
+
dictionaries, Pydantic BaseModels, lists, tuples, sets, frozensets, and primitives.
|
7
|
+
|
8
|
+
The hash is deterministic within the same Python process run (respecting
|
9
|
+
PYTHONHASHSEED for built-in hash behavior on strings, bytes, etc.).
|
10
|
+
It's suitable for tasks like finding unique objects within a collection
|
11
|
+
during a single program execution.
|
12
|
+
|
13
|
+
Args:
|
14
|
+
data: The Python object to hash.
|
15
|
+
strict: if True, will make a deep copy of the input data to ensure immutability.
|
16
|
+
|
17
|
+
Returns:
|
18
|
+
An integer hash value.
|
19
|
+
|
20
|
+
Raises:
|
21
|
+
TypeError: If the generated internal representation of the data is not hashable,
|
22
|
+
though this is unlikely with the current _generate_hashable_representation.
|
23
|
+
"""
|
24
|
+
from .hash_dict import hash_dict as _hash_dict
|
25
|
+
|
26
|
+
return _hash_dict(data, strict=strict)
|
lionagi/models/hashable_model.py
CHANGED
@@ -2,6 +2,8 @@
|
|
2
2
|
#
|
3
3
|
# SPDX-License-Identifier: Apache-2.0
|
4
4
|
|
5
|
+
from __future__ import annotations
|
6
|
+
|
5
7
|
import json
|
6
8
|
from pathlib import Path
|
7
9
|
from typing import Any
|
@@ -147,7 +149,7 @@ class RoledMessage(Node, Sendable):
|
|
147
149
|
"""
|
148
150
|
return self._flag == MessageFlag.MESSAGE_CLONE
|
149
151
|
|
150
|
-
def clone(self, keep_role: bool = True) ->
|
152
|
+
def clone(self, keep_role: bool = True) -> RoledMessage:
|
151
153
|
"""
|
152
154
|
Create a shallow copy of this message, possibly resetting the role.
|
153
155
|
|
@@ -43,7 +43,7 @@ CLAUDE_CODE_OPTION_PARAMS = {
|
|
43
43
|
# --------------------------------------------------------------------------- request model
|
44
44
|
class ClaudeCodeRequest(BaseModel):
|
45
45
|
# -- conversational bits -------------------------------------------------
|
46
|
-
prompt: str = Field(description="The prompt for Claude
|
46
|
+
prompt: str = Field(description="The prompt for Claude Code")
|
47
47
|
system_prompt: str | None = None
|
48
48
|
append_system_prompt: str | None = None
|
49
49
|
max_turns: int | None = None
|
@@ -68,10 +68,9 @@ class ClaudeCodeRequest(BaseModel):
|
|
68
68
|
# -- internal use --------------------------------------------------------
|
69
69
|
auto_finish: bool = Field(
|
70
70
|
default=False,
|
71
|
-
exclude=True,
|
72
71
|
description="Automatically finish the conversation after the first response",
|
73
72
|
)
|
74
|
-
verbose_output: bool = Field(default=False
|
73
|
+
verbose_output: bool = Field(default=False)
|
75
74
|
cli_display_theme: Literal["light", "dark"] = "light"
|
76
75
|
|
77
76
|
# ------------------------ validators & helpers --------------------------
|
@@ -348,3 +348,12 @@ async def stream_claude_code_cli( # noqa: C901 (complexity from branching is f
|
|
348
348
|
_pp_final(session, theme)
|
349
349
|
|
350
350
|
yield session
|
351
|
+
|
352
|
+
|
353
|
+
__all__ = (
|
354
|
+
"CLAUDE",
|
355
|
+
"stream_claude_code_cli",
|
356
|
+
"ndjson_from_cli",
|
357
|
+
"ClaudeChunk",
|
358
|
+
"ClaudeSession",
|
359
|
+
)
|
lionagi/service/types.py
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
# SPDX-License-Identifier: Apache-2.0
|
4
4
|
|
5
5
|
from .connections.api_calling import APICalling
|
6
|
-
from .connections.endpoint import Endpoint
|
6
|
+
from .connections.endpoint import Endpoint, EndpointConfig
|
7
7
|
from .imodel import iModel
|
8
8
|
from .manager import iModelManager
|
9
9
|
from .rate_limited_processor import RateLimitedAPIExecutor
|
@@ -12,6 +12,7 @@ from .token_calculator import TokenCalculator
|
|
12
12
|
__all__ = (
|
13
13
|
"APICalling",
|
14
14
|
"Endpoint",
|
15
|
+
"EndpointConfig",
|
15
16
|
"RateLimitedAPIExecutor",
|
16
17
|
"TokenCalculator",
|
17
18
|
"iModel",
|
lionagi/version.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
__version__ = "0.14.
|
1
|
+
__version__ = "0.14.7"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: lionagi
|
3
|
-
Version: 0.14.
|
3
|
+
Version: 0.14.7
|
4
4
|
Summary: An Intelligence Operating System.
|
5
5
|
Author-email: HaiyangLi <quantocean.li@gmail.com>, Liangbingyan Luo <llby_luo@outlook.com>
|
6
6
|
License: Apache License
|
@@ -234,9 +234,9 @@ Requires-Dist: tiktoken>=0.8.0
|
|
234
234
|
Requires-Dist: toml>=0.9.0
|
235
235
|
Provides-Extra: all
|
236
236
|
Requires-Dist: aiosqlite>=0.21.0; extra == 'all'
|
237
|
-
Requires-Dist: claude-code-sdk>=0.0.
|
237
|
+
Requires-Dist: claude-code-sdk>=0.0.15; extra == 'all'
|
238
238
|
Requires-Dist: datamodel-code-generator>=0.31.2; extra == 'all'
|
239
|
-
Requires-Dist: docling>=2.15.
|
239
|
+
Requires-Dist: docling>=2.15.0; extra == 'all'
|
240
240
|
Requires-Dist: fastmcp>=2.10.5; extra == 'all'
|
241
241
|
Requires-Dist: matplotlib>=3.7.0; extra == 'all'
|
242
242
|
Requires-Dist: networkx>=3.0.0; extra == 'all'
|
@@ -244,36 +244,26 @@ Requires-Dist: ollama>=0.4.0; extra == 'all'
|
|
244
244
|
Requires-Dist: pydapter[postgres]; extra == 'all'
|
245
245
|
Requires-Dist: rich>=13.0.0; extra == 'all'
|
246
246
|
Provides-Extra: claude-code
|
247
|
-
Requires-Dist: claude-code-sdk>=0.0.
|
248
|
-
Provides-Extra: docs
|
249
|
-
Requires-Dist: furo>=2024.8.6; extra == 'docs'
|
250
|
-
Requires-Dist: sphinx-autobuild>=2024.10.3; extra == 'docs'
|
251
|
-
Requires-Dist: sphinx>=8.1.3; extra == 'docs'
|
247
|
+
Requires-Dist: claude-code-sdk>=0.0.15; extra == 'claude-code'
|
252
248
|
Provides-Extra: graph
|
253
249
|
Requires-Dist: matplotlib>=3.7.0; extra == 'graph'
|
254
250
|
Requires-Dist: networkx>=3.0.0; extra == 'graph'
|
255
|
-
Provides-Extra: lint
|
256
|
-
Requires-Dist: black[jupyter]>=24.10.0; extra == 'lint'
|
257
|
-
Requires-Dist: isort>=5.13.2; extra == 'lint'
|
258
|
-
Requires-Dist: pre-commit>=4.0.1; extra == 'lint'
|
259
251
|
Provides-Extra: mcp
|
260
252
|
Requires-Dist: fastmcp>=2.10.5; extra == 'mcp'
|
261
253
|
Provides-Extra: ollama
|
262
254
|
Requires-Dist: ollama>=0.4.0; extra == 'ollama'
|
263
255
|
Provides-Extra: postgres
|
264
|
-
Requires-Dist: aiosqlite>=0.21.0; extra == 'postgres'
|
265
256
|
Requires-Dist: pydapter[postgres]; extra == 'postgres'
|
266
257
|
Provides-Extra: reader
|
267
|
-
Requires-Dist: docling>=2.15.
|
258
|
+
Requires-Dist: docling>=2.15.0; extra == 'reader'
|
268
259
|
Provides-Extra: rich
|
269
260
|
Requires-Dist: rich>=13.0.0; extra == 'rich'
|
270
261
|
Provides-Extra: schema
|
271
262
|
Requires-Dist: datamodel-code-generator>=0.31.2; extra == 'schema'
|
272
|
-
Provides-Extra:
|
273
|
-
Requires-Dist:
|
274
|
-
Requires-Dist: pytest>=8.3.4; extra == 'test'
|
263
|
+
Provides-Extra: sqlite
|
264
|
+
Requires-Dist: aiosqlite>=0.21.0; extra == 'sqlite'
|
275
265
|
Provides-Extra: tools
|
276
|
-
Requires-Dist: docling>=2.15.
|
266
|
+
Requires-Dist: docling>=2.15.0; extra == 'tools'
|
277
267
|
Description-Content-Type: text/markdown
|
278
268
|
|
279
269
|

|
@@ -416,7 +406,7 @@ Seamlessly route to different models in the same workflow.
|
|
416
406
|
|
417
407
|
### Claude Code Integration
|
418
408
|
|
419
|
-
LionAGI now supports Anthropic's [Claude Code SDK](https://github.com/anthropics/claude-code-sdk), enabling autonomous coding capabilities with persistent session management:
|
409
|
+
LionAGI now supports Anthropic's [Claude Code Python SDK](https://github.com/anthropics/claude-code-sdk-python), enabling autonomous coding capabilities with persistent session management:
|
420
410
|
|
421
411
|
```python
|
422
412
|
from lionagi import iModel, Branch
|
@@ -6,7 +6,7 @@ lionagi/config.py,sha256=Dxs5FA9UCv1YX5H54qOJcPsDrIF9wFokWEPZ212eH-k,3715
|
|
6
6
|
lionagi/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
7
7
|
lionagi/settings.py,sha256=HDuKCEJCpc4HudKodBnhoQUGuTGhRHdlIFhbtf3VBtY,1633
|
8
8
|
lionagi/utils.py,sha256=n2aUMSnLLgy7HWFlfzDV1OqMDbatLNX0QYc7jIjXwQA,75023
|
9
|
-
lionagi/version.py,sha256=
|
9
|
+
lionagi/version.py,sha256=yNRy8QmCVyuml0ju8L9u6swkKYhN3lS8nPbf2IWPDOU,23
|
10
10
|
lionagi/adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
11
11
|
lionagi/adapters/async_postgres_adapter.py,sha256=Kf2YCzwRqKpEHY3GQCXEiMl201CCIkDvXcvddwZNkkE,12723
|
12
12
|
lionagi/adapters/postgres_model_adapter.py,sha256=e_wfJNyihbpLCXuAs_W9tbLoMXAXbAXtkQDaHfqWz3o,4555
|
@@ -35,6 +35,9 @@ lionagi/libs/file/file_ops.py,sha256=HBiIh1EljIJ5VTIXuyvJM0ppSs0YYOPUWmgDMJT634U
|
|
35
35
|
lionagi/libs/file/params.py,sha256=SZ5DkoffWfxWudOAYCfCxpL8UIm-1UjeyTtploo-Lqs,5824
|
36
36
|
lionagi/libs/file/process.py,sha256=EsnEJcQUm4ReP7qkCeMvL4Qe6fLRcENVWZndh9TSUsc,8692
|
37
37
|
lionagi/libs/file/save.py,sha256=5PvX1o1danZEq6S7V-GHIbZ6n-m-1IDdWhXPRbUXSVE,2865
|
38
|
+
lionagi/libs/hash/__init__.py,sha256=z3H4Wu7VBiyZe54vMIA_Kpcbexl-GY0KGEJkIcP1S6M,57
|
39
|
+
lionagi/libs/hash/hash_dict.py,sha256=g20yJfuVhAsfsBOWlkO889DHte6cbUCl6vV5QMT8nUo,3499
|
40
|
+
lionagi/libs/hash/manager.py,sha256=DhFHC_yh5p9_yCgc8QNgsUDFOJAQY2qNxjw8rhh69G8,1089
|
38
41
|
lionagi/libs/nested/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
39
42
|
lionagi/libs/nested/flatten.py,sha256=sB4jxZRoaUbjak9RbIWVWNKz2hzkhQJPFffV_Ws1GA0,5479
|
40
43
|
lionagi/libs/nested/nfilter.py,sha256=kF7AWjLFHr22SOjRBSTx-7iRPaR7gs0FY5Y4XF2sWJ8,1768
|
@@ -87,7 +90,7 @@ lionagi/libs/validate/string_similarity.py,sha256=ymuqTKd95_h8ywD9VTzf24gIPyMz1M
|
|
87
90
|
lionagi/libs/validate/validate_boolean.py,sha256=bjiX_WZ3Bg8XcqoWLzE1G9BpO0AisrlZUxrpye_mlGk,3614
|
88
91
|
lionagi/models/__init__.py,sha256=R7DEGWuhH-izP7eN6SOw24-I4Mr2IVPXF4gNysmF2zQ,457
|
89
92
|
lionagi/models/field_model.py,sha256=pRFUYs72BRB6jo4NkgeqslCp0xwqzvh00ibh8uaMAws,23674
|
90
|
-
lionagi/models/hashable_model.py,sha256=
|
93
|
+
lionagi/models/hashable_model.py,sha256=fpBv4_BcD5F5Laxa_uQ13EPMnVUBP-J0IMxzV9-35Cc,868
|
91
94
|
lionagi/models/model_params.py,sha256=zVU-PHp3skjK5ZVjpsPs1k_VJiS8X0hgct0xs6Z6W_Y,10955
|
92
95
|
lionagi/models/note.py,sha256=okWJL4mGqt0bUVxHRyqsfJr7tEh6wwgYhF1CegxudIA,12202
|
93
96
|
lionagi/models/operable_model.py,sha256=fXbcpBjO-SoaeF8fn-F1_KIcYw9_L73VIUM1BDg5hj4,19905
|
@@ -163,7 +166,7 @@ lionagi/protocols/messages/assistant_response.py,sha256=jrzRPVHHDnPw86Xp0IHnPy0t
|
|
163
166
|
lionagi/protocols/messages/base.py,sha256=Ng1Q8yIIIFauUv53LnwDeyOrM-cSCfsHM1GwkxChf2o,2317
|
164
167
|
lionagi/protocols/messages/instruction.py,sha256=0dUsUYd6xYsbOHU7GafvqBkpDQQoFOXJXT-UoJArYWU,21146
|
165
168
|
lionagi/protocols/messages/manager.py,sha256=e1jW5JH_3jZpZbFCvWZX0TG0DCgzANRUejW_6NqbtDc,17182
|
166
|
-
lionagi/protocols/messages/message.py,sha256=
|
169
|
+
lionagi/protocols/messages/message.py,sha256=RPP-zLs1Ly_-bBua9FIzSnDyyK9s4X0_WaQVyZJqToM,7757
|
167
170
|
lionagi/protocols/messages/system.py,sha256=x0F1C57SFHaO2-Z9cy1QshYlxv8wjl7VppooaGKbMIg,4658
|
168
171
|
lionagi/protocols/messages/templates/README.md,sha256=Ch4JrKSjd85fLitAYO1OhZjNOGKHoEwaKQlcV16jiUI,1286
|
169
172
|
lionagi/protocols/messages/templates/action_request.jinja2,sha256=d6OmxHKyvvNDSK4bnBM3TGSUk_HeE_Q2EtLAQ0ZBEJg,120
|
@@ -181,7 +184,7 @@ lionagi/service/manager.py,sha256=tN3p0kM7pg_CEs6wXK62_B_h49Q3nrU-9qniFhw2ABE,11
|
|
181
184
|
lionagi/service/rate_limited_processor.py,sha256=JhkuzJMHUCdndkRbAUf9wUQI9zOw-dutRy_nHf8EE5I,6101
|
182
185
|
lionagi/service/resilience.py,sha256=uYJYZQ9M-tje8ME3vJmYabXwKHF1c3Ij4-WrdCwogcs,18742
|
183
186
|
lionagi/service/token_calculator.py,sha256=piTidArzUkIMCtOLC_HBLoZNYZcENQywgeKM31bxezM,6457
|
184
|
-
lionagi/service/types.py,sha256=
|
187
|
+
lionagi/service/types.py,sha256=zZQL9tTTuqAPbUTi2U4wl5tKBNWl51qbPKwDVGhTeqs,546
|
185
188
|
lionagi/service/connections/__init__.py,sha256=yHQZ7OJpCftd6CStYR8inbxjJydYdmv9kCvbUBhJ2zU,362
|
186
189
|
lionagi/service/connections/api_calling.py,sha256=XetCrjMhOHNKGGv-NzHhBhVS7XjKPalrS_iExzU-4S4,8005
|
187
190
|
lionagi/service/connections/endpoint.py,sha256=yNIjq9wETMnytynGbq3qY_dkyaMlaHrcfiZjS-tnmLg,14756
|
@@ -197,8 +200,8 @@ lionagi/service/connections/providers/oai_.py,sha256=FmQMEmOY7H7dZd4og-_cdd1Unzy
|
|
197
200
|
lionagi/service/connections/providers/ollama_.py,sha256=jdx6dGeChwVk5TFfFRbpnrpKzj8YQZw6D5iWJ6zYmfk,4096
|
198
201
|
lionagi/service/connections/providers/perplexity_.py,sha256=9MH9YmMy9Jg7JDMJHQxxMYHyjJ4NP0OlN7sCuhla85I,917
|
199
202
|
lionagi/service/connections/providers/_claude_code/__init__.py,sha256=3lzOakDoBWmMaNnT2g-YwktPKa_Wme4lnPRSmOQfayY,105
|
200
|
-
lionagi/service/connections/providers/_claude_code/models.py,sha256=
|
201
|
-
lionagi/service/connections/providers/_claude_code/stream_cli.py,sha256=
|
203
|
+
lionagi/service/connections/providers/_claude_code/models.py,sha256=vMY2QoGpW2_hv_49IZiFzqiite8gCPKkkYzN6QqWPFQ,7995
|
204
|
+
lionagi/service/connections/providers/_claude_code/stream_cli.py,sha256=0brD9mWRXPIiRSmha5n77JudW5tmhLNZmsjGgUWM060,12388
|
202
205
|
lionagi/service/third_party/README.md,sha256=qFjWnI8rmLivIyr6Tc-hRZh-rQwntROp76af4MBNJJc,2214
|
203
206
|
lionagi/service/third_party/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
204
207
|
lionagi/service/third_party/anthropic_models.py,sha256=oqSPSlcayYG-fS5BLiLeTtkrpaxgkPhEK_YgneumrOo,4004
|
@@ -215,7 +218,7 @@ lionagi/tools/types.py,sha256=XtJLY0m-Yi_ZLWhm0KycayvqMCZd--HxfQ0x9vFUYDE,230
|
|
215
218
|
lionagi/tools/file/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
216
219
|
lionagi/tools/file/reader.py,sha256=0TdnfVGVCKuM58MmGM-NyVjhU9BFoitkNYEepdc0z_Y,9529
|
217
220
|
lionagi/tools/memory/tools.py,sha256=zTGBenVsF8Wuh303kWntmQSGlAFKonHNdh5ePuQ26KE,15948
|
218
|
-
lionagi-0.14.
|
219
|
-
lionagi-0.14.
|
220
|
-
lionagi-0.14.
|
221
|
-
lionagi-0.14.
|
221
|
+
lionagi-0.14.7.dist-info/METADATA,sha256=LIGnpV3vzJiX-2RNPyjWuuNBm1u7ww0kZtjMsWN2Mgs,20803
|
222
|
+
lionagi-0.14.7.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
223
|
+
lionagi-0.14.7.dist-info/licenses/LICENSE,sha256=VXFWsdoN5AAknBCgFqQNgPWYx7OPp-PFEP961zGdOjc,11288
|
224
|
+
lionagi-0.14.7.dist-info/RECORD,,
|
File without changes
|
File without changes
|