lionagi 0.15.0__py3-none-any.whl → 0.15.2__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/ln/_async_call.py +2 -1
- lionagi/ln/_list_call.py +2 -1
- lionagi/ln/_to_list.py +2 -1
- lionagi/ln/_types.py +1 -1
- lionagi/ln/concurrency/utils.py +2 -1
- lionagi/operations/manager.py +10 -8
- lionagi/operations/node.py +2 -3
- lionagi/protocols/generic/event.py +47 -6
- lionagi/session/branch.py +11 -2
- lionagi/session/session.py +80 -25
- lionagi/version.py +1 -1
- {lionagi-0.15.0.dist-info → lionagi-0.15.2.dist-info}/METADATA +2 -2
- {lionagi-0.15.0.dist-info → lionagi-0.15.2.dist-info}/RECORD +15 -15
- {lionagi-0.15.0.dist-info → lionagi-0.15.2.dist-info}/WHEEL +0 -0
- {lionagi-0.15.0.dist-info → lionagi-0.15.2.dist-info}/licenses/LICENSE +0 -0
lionagi/ln/_async_call.py
CHANGED
lionagi/ln/_list_call.py
CHANGED
lionagi/ln/_to_list.py
CHANGED
@@ -1,6 +1,7 @@
|
|
1
|
+
from collections.abc import Iterable, Mapping
|
1
2
|
from dataclasses import dataclass
|
2
3
|
from enum import Enum as _Enum
|
3
|
-
from typing import Any, ClassVar
|
4
|
+
from typing import Any, ClassVar
|
4
5
|
|
5
6
|
from pydantic import BaseModel
|
6
7
|
from pydantic_core import PydanticUndefinedType
|
lionagi/ln/_types.py
CHANGED
lionagi/ln/concurrency/utils.py
CHANGED
lionagi/operations/manager.py
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
from collections.abc import Callable
|
2
2
|
|
3
3
|
from lionagi.protocols._concepts import Manager
|
4
|
+
from lionagi.utils import is_coro_func
|
4
5
|
|
5
6
|
"""
|
6
7
|
experimental
|
@@ -8,14 +9,15 @@ experimental
|
|
8
9
|
|
9
10
|
|
10
11
|
class OperationManager(Manager):
|
11
|
-
def __init__(self
|
12
|
+
def __init__(self):
|
12
13
|
super().__init__()
|
13
14
|
self.registry: dict[str, Callable] = {}
|
14
|
-
self.register_operations(*args, **kwargs)
|
15
15
|
|
16
|
-
def
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
16
|
+
def register(self, operation: str, func: Callable, update: bool = False):
|
17
|
+
if operation in self.registry and not update:
|
18
|
+
raise ValueError(f"Operation '{operation}' is already registered.")
|
19
|
+
if not is_coro_func(func):
|
20
|
+
raise ValueError(
|
21
|
+
f"Operation '{operation}' must be an async function."
|
22
|
+
)
|
23
|
+
self.registry[operation] = func
|
lionagi/operations/node.py
CHANGED
@@ -26,7 +26,7 @@ logger = logging.getLogger("operation")
|
|
26
26
|
|
27
27
|
|
28
28
|
class Operation(Node, Event):
|
29
|
-
operation: BranchOperations
|
29
|
+
operation: BranchOperations | str
|
30
30
|
parameters: dict[str, Any] | BaseModel = Field(
|
31
31
|
default_factory=dict,
|
32
32
|
description="Parameters for the operation",
|
@@ -74,12 +74,11 @@ class Operation(Node, Event):
|
|
74
74
|
return self.execution.response if self.execution else None
|
75
75
|
|
76
76
|
async def invoke(self, branch: Branch):
|
77
|
-
meth =
|
77
|
+
meth = branch.get_operation(self.operation)
|
78
78
|
if meth is None:
|
79
79
|
raise ValueError(f"Unsupported operation type: {self.operation}")
|
80
80
|
|
81
81
|
start = asyncio.get_event_loop().time()
|
82
|
-
|
83
82
|
try:
|
84
83
|
self.execution.status = EventStatus.PROCESSING
|
85
84
|
self.branch_id = branch.id
|
@@ -2,11 +2,16 @@
|
|
2
2
|
#
|
3
3
|
# SPDX-License-Identifier: Apache-2.0
|
4
4
|
|
5
|
+
import contextlib
|
6
|
+
import json
|
5
7
|
from enum import Enum
|
6
8
|
from typing import Any
|
7
9
|
|
8
10
|
from pydantic import Field, field_serializer
|
9
11
|
|
12
|
+
from lionagi.ln import Unset
|
13
|
+
from lionagi.utils import to_dict
|
14
|
+
|
10
15
|
from .element import Element
|
11
16
|
|
12
17
|
__all__ = (
|
@@ -16,6 +21,9 @@ __all__ = (
|
|
16
21
|
)
|
17
22
|
|
18
23
|
|
24
|
+
_SIMPLE_TYPE = (str, bytes, bytearray, int, float, type(None), Enum)
|
25
|
+
|
26
|
+
|
19
27
|
class EventStatus(str, Enum):
|
20
28
|
"""Status states for tracking action execution progress.
|
21
29
|
|
@@ -79,6 +87,44 @@ class Execution:
|
|
79
87
|
f"response={self.response}, error={self.error})"
|
80
88
|
)
|
81
89
|
|
90
|
+
def to_dict(self) -> dict:
|
91
|
+
"""Converts the execution state to a dictionary.
|
92
|
+
|
93
|
+
Returns:
|
94
|
+
dict: A dictionary representation of the execution state.
|
95
|
+
"""
|
96
|
+
res_ = Unset
|
97
|
+
json_serializable = True
|
98
|
+
|
99
|
+
if not isinstance(self.response, _SIMPLE_TYPE):
|
100
|
+
json_serializable = False
|
101
|
+
try:
|
102
|
+
# check whether response is JSON serializable
|
103
|
+
json.dumps(self.response)
|
104
|
+
res_ = self.response
|
105
|
+
json_serializable = True
|
106
|
+
except Exception:
|
107
|
+
with contextlib.suppress(Exception):
|
108
|
+
# attempt to convert to dict
|
109
|
+
d_ = to_dict(
|
110
|
+
self.response,
|
111
|
+
recursive=True,
|
112
|
+
recursive_python_only=False,
|
113
|
+
)
|
114
|
+
json.dumps(d_)
|
115
|
+
res_ = d_
|
116
|
+
json_serializable = True
|
117
|
+
|
118
|
+
if res_ is Unset and not json_serializable:
|
119
|
+
res_ = "<unserializable>"
|
120
|
+
|
121
|
+
return {
|
122
|
+
"status": self.status.value,
|
123
|
+
"duration": self.duration,
|
124
|
+
"response": res_ or self.response,
|
125
|
+
"error": self.error,
|
126
|
+
}
|
127
|
+
|
82
128
|
|
83
129
|
class Event(Element):
|
84
130
|
"""Extends Element with an execution state.
|
@@ -101,12 +147,7 @@ class Event(Element):
|
|
101
147
|
dict: The serialized data containing status, duration, response,
|
102
148
|
and error fields.
|
103
149
|
"""
|
104
|
-
return
|
105
|
-
"status": val.status.value,
|
106
|
-
"duration": val.duration,
|
107
|
-
"response": val.response,
|
108
|
-
"error": val.error,
|
109
|
-
}
|
150
|
+
return val.to_dict()
|
110
151
|
|
111
152
|
@property
|
112
153
|
def response(self) -> Any:
|
lionagi/session/branch.py
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
#
|
3
3
|
# SPDX-License-Identifier: Apache-2.0
|
4
4
|
|
5
|
-
from collections.abc import AsyncGenerator
|
5
|
+
from collections.abc import AsyncGenerator, Callable
|
6
6
|
from enum import Enum
|
7
7
|
from typing import Any, Literal
|
8
8
|
|
@@ -14,6 +14,7 @@ from lionagi.config import settings
|
|
14
14
|
from lionagi.fields import Instruct
|
15
15
|
from lionagi.libs.schema.as_readable import as_readable
|
16
16
|
from lionagi.models.field_model import FieldModel
|
17
|
+
from lionagi.operations.manager import OperationManager
|
17
18
|
from lionagi.protocols.action.tool import FuncTool, Tool, ToolRef
|
18
19
|
from lionagi.protocols.types import (
|
19
20
|
ID,
|
@@ -49,7 +50,7 @@ from lionagi.settings import Settings
|
|
49
50
|
from lionagi.tools.base import LionTool
|
50
51
|
from lionagi.utils import UNDEFINED
|
51
52
|
from lionagi.utils import alcall as alcall_legacy
|
52
|
-
from lionagi.utils import copy
|
53
|
+
from lionagi.utils import copy, is_coro_func
|
53
54
|
|
54
55
|
from .prompts import LION_SYSTEM_MESSAGE
|
55
56
|
|
@@ -111,6 +112,7 @@ class Branch(Element, Communicatable, Relational):
|
|
111
112
|
_action_manager: ActionManager | None = PrivateAttr(None)
|
112
113
|
_imodel_manager: iModelManager | None = PrivateAttr(None)
|
113
114
|
_log_manager: LogManager | None = PrivateAttr(None)
|
115
|
+
_operation_manager: OperationManager | None = PrivateAttr(None)
|
114
116
|
|
115
117
|
def __init__(
|
116
118
|
self,
|
@@ -231,6 +233,8 @@ class Branch(Element, Communicatable, Relational):
|
|
231
233
|
else:
|
232
234
|
self._log_manager = LogManager(**Settings.Config.LOG, logs=logs)
|
233
235
|
|
236
|
+
self._operation_manager = OperationManager()
|
237
|
+
|
234
238
|
# -------------------------------------------------------------------------
|
235
239
|
# Properties to expose managers and core data
|
236
240
|
# -------------------------------------------------------------------------
|
@@ -304,6 +308,11 @@ class Branch(Element, Communicatable, Relational):
|
|
304
308
|
"""
|
305
309
|
return self._action_manager.registry
|
306
310
|
|
311
|
+
def get_operation(self, operation: str) -> Callable | None:
|
312
|
+
if hasattr(self, operation):
|
313
|
+
return getattr(self, operation)
|
314
|
+
return self._operation_manager.registry.get(operation)
|
315
|
+
|
307
316
|
# -------------------------------------------------------------------------
|
308
317
|
# Cloning
|
309
318
|
# -------------------------------------------------------------------------
|
lionagi/session/session.py
CHANGED
@@ -7,7 +7,7 @@ from collections.abc import Callable
|
|
7
7
|
from typing import Any
|
8
8
|
|
9
9
|
import pandas as pd
|
10
|
-
from pydantic import Field, JsonValue, model_validator
|
10
|
+
from pydantic import Field, JsonValue, PrivateAttr, model_validator
|
11
11
|
from typing_extensions import Self
|
12
12
|
|
13
13
|
from lionagi.protocols.types import (
|
@@ -31,9 +31,9 @@ from lionagi.protocols.types import (
|
|
31
31
|
)
|
32
32
|
|
33
33
|
from .._errors import ItemNotFoundError
|
34
|
+
from ..ln import lcall
|
34
35
|
from ..service.imodel import iModel
|
35
|
-
from
|
36
|
-
from .branch import Branch
|
36
|
+
from .branch import Branch, OperationManager
|
37
37
|
|
38
38
|
|
39
39
|
class Session(Node, Communicatable, Relational):
|
@@ -56,6 +56,60 @@ class Session(Node, Communicatable, Relational):
|
|
56
56
|
default_factory=MailManager, exclude=True
|
57
57
|
)
|
58
58
|
name: str = Field(default="Session")
|
59
|
+
user: SenderRecipient | None = None
|
60
|
+
_operation_manager: OperationManager = PrivateAttr(
|
61
|
+
default_factory=OperationManager
|
62
|
+
)
|
63
|
+
|
64
|
+
async def ainclude_branches(self, branches: ID[Branch].ItemSeq):
|
65
|
+
async with self.branches:
|
66
|
+
self.include_branches(branches)
|
67
|
+
|
68
|
+
def include_branches(self, branches: ID[Branch].ItemSeq):
|
69
|
+
def _take_in_branch(branch: Branch):
|
70
|
+
if not branch in self.branches:
|
71
|
+
self.branches.include(branch)
|
72
|
+
self.mail_manager.add_sources(branch)
|
73
|
+
|
74
|
+
branch.user = self.id
|
75
|
+
branch._operation_manager = self._operation_manager
|
76
|
+
if self.default_branch is None:
|
77
|
+
self.default_branch = branch
|
78
|
+
|
79
|
+
branches = [branches] if isinstance(branches, Branch) else branches
|
80
|
+
|
81
|
+
for i in branches:
|
82
|
+
_take_in_branch(i)
|
83
|
+
|
84
|
+
def register_operation(
|
85
|
+
self, operation: str, func: Callable, *, update: bool = False
|
86
|
+
):
|
87
|
+
self._operation_manager.register(operation, func, update=update)
|
88
|
+
|
89
|
+
def operation(self, name: str = None, *, update: bool = False):
|
90
|
+
"""
|
91
|
+
Decorator to automatically register functions as operations.
|
92
|
+
|
93
|
+
Args:
|
94
|
+
name: Operation name. If None, uses the function's __name__.
|
95
|
+
update: Whether to update if operation already exists.
|
96
|
+
|
97
|
+
Usage:
|
98
|
+
@session.operation()
|
99
|
+
async def read_issue():
|
100
|
+
...
|
101
|
+
|
102
|
+
@session.operation("custom_name")
|
103
|
+
async def some_function():
|
104
|
+
...
|
105
|
+
"""
|
106
|
+
|
107
|
+
def decorator(func: Callable) -> Callable:
|
108
|
+
operation_name = name if name is not None else func.__name__
|
109
|
+
self.register_operation(operation_name, func, update=update)
|
110
|
+
return func
|
111
|
+
|
112
|
+
return decorator
|
59
113
|
|
60
114
|
@model_validator(mode="after")
|
61
115
|
def _add_mail_sources(self) -> Self:
|
@@ -64,7 +118,7 @@ class Session(Node, Communicatable, Relational):
|
|
64
118
|
if self.default_branch not in self.branches:
|
65
119
|
self.branches.include(self.default_branch)
|
66
120
|
if self.branches:
|
67
|
-
self.
|
121
|
+
self.include_branches(self.branches)
|
68
122
|
return self
|
69
123
|
|
70
124
|
def _lookup_branch_by_name(self, name: str) -> Branch | None:
|
@@ -102,7 +156,8 @@ class Session(Node, Communicatable, Relational):
|
|
102
156
|
progress: Progression = None,
|
103
157
|
tool_manager: ActionManager = None,
|
104
158
|
tools: Tool | Callable | list = None,
|
105
|
-
|
159
|
+
as_default_branch: bool = False,
|
160
|
+
**kwargs,
|
106
161
|
) -> Branch:
|
107
162
|
kwargs["system"] = system
|
108
163
|
kwargs["system_sender"] = system_sender
|
@@ -116,13 +171,9 @@ class Session(Node, Communicatable, Relational):
|
|
116
171
|
kwargs["tools"] = tools
|
117
172
|
kwargs = {k: v for k, v in kwargs.items() if v is not None}
|
118
173
|
|
119
|
-
from .branch import Branch
|
120
|
-
|
121
174
|
branch = Branch(**kwargs) # type: ignore
|
122
|
-
|
123
|
-
|
124
|
-
self.mail_manager.add_sources(branch)
|
125
|
-
if self.default_branch is None:
|
175
|
+
self.include_branches(branch)
|
176
|
+
if as_default_branch:
|
126
177
|
self.default_branch = branch
|
127
178
|
return branch
|
128
179
|
|
@@ -179,7 +230,7 @@ class Session(Node, Communicatable, Relational):
|
|
179
230
|
"""
|
180
231
|
branch: Branch = self.branches[branch]
|
181
232
|
branch_clone = branch.clone(sender=self.id)
|
182
|
-
self.
|
233
|
+
self.include_branches(branch_clone)
|
183
234
|
return branch_clone
|
184
235
|
|
185
236
|
def change_default_branch(self, branch: ID.Ref):
|
@@ -230,10 +281,11 @@ class Session(Node, Communicatable, Relational):
|
|
230
281
|
lambda x: [
|
231
282
|
i for i in self.branches[x].messages if i not in exclude_flag
|
232
283
|
],
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
284
|
+
input_unique=True,
|
285
|
+
input_flatten=True,
|
286
|
+
input_dropna=True,
|
287
|
+
output_flatten=True,
|
288
|
+
output_unique=True,
|
237
289
|
)
|
238
290
|
return Pile(
|
239
291
|
collections=messages, item_type={RoledMessage}, strict_type=False
|
@@ -269,14 +321,15 @@ class Session(Node, Communicatable, Relational):
|
|
269
321
|
lcall(
|
270
322
|
to_,
|
271
323
|
lambda x: self.mail_manager.send(ID.get_id(x)),
|
272
|
-
|
273
|
-
|
274
|
-
|
324
|
+
input_unique=True,
|
325
|
+
input_flatten=True,
|
326
|
+
input_dropna=True,
|
327
|
+
input_use_values=True,
|
275
328
|
)
|
276
329
|
except Exception as e:
|
277
330
|
raise ValueError(f"Failed to send mail. Error: {e}")
|
278
331
|
|
279
|
-
async def acollect_send_all(self, receive_all: bool =
|
332
|
+
async def acollect_send_all(self, receive_all: bool = True):
|
280
333
|
"""
|
281
334
|
Collect and send mail for all branches, optionally receiving all mail.
|
282
335
|
|
@@ -286,7 +339,7 @@ class Session(Node, Communicatable, Relational):
|
|
286
339
|
async with self.mail_manager.sources:
|
287
340
|
self.collect_send_all(receive_all)
|
288
341
|
|
289
|
-
def collect_send_all(self, receive_all: bool =
|
342
|
+
def collect_send_all(self, receive_all: bool = True):
|
290
343
|
"""
|
291
344
|
Collect and send mail for all branches, optionally receiving all mail.
|
292
345
|
|
@@ -296,7 +349,8 @@ class Session(Node, Communicatable, Relational):
|
|
296
349
|
self.collect()
|
297
350
|
self.send()
|
298
351
|
if receive_all:
|
299
|
-
|
352
|
+
for i in self.branches:
|
353
|
+
i.receive_all()
|
300
354
|
|
301
355
|
def collect(self, from_: ID.RefSeq = None):
|
302
356
|
"""
|
@@ -316,9 +370,10 @@ class Session(Node, Communicatable, Relational):
|
|
316
370
|
lcall(
|
317
371
|
from_,
|
318
372
|
lambda x: self.mail_manager.collect(ID.get_id(x)),
|
319
|
-
|
320
|
-
|
321
|
-
|
373
|
+
input_flatten=True,
|
374
|
+
input_dropna=True,
|
375
|
+
input_unique=True,
|
376
|
+
input_use_values=True,
|
322
377
|
)
|
323
378
|
except Exception as e:
|
324
379
|
raise ValueError(f"Failed to collect mail. Error: {e}")
|
lionagi/version.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
__version__ = "0.15.
|
1
|
+
__version__ = "0.15.2"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: lionagi
|
3
|
-
Version: 0.15.
|
3
|
+
Version: 0.15.2
|
4
4
|
Summary: An Intelligence Operating System.
|
5
5
|
Author-email: HaiyangLi <quantocean.li@gmail.com>
|
6
6
|
License: Apache License
|
@@ -497,7 +497,7 @@ We welcome issues, ideas, and pull requests:
|
|
497
497
|
|
498
498
|
```
|
499
499
|
@software{Li_LionAGI_2023,
|
500
|
-
author = {Haiyang Li
|
500
|
+
author = {Haiyang Li},
|
501
501
|
month = {12},
|
502
502
|
year = {2023},
|
503
503
|
title = {LionAGI: Towards Automated General Intelligence},
|
@@ -6,7 +6,7 @@ lionagi/config.py,sha256=W3JOC_TFad8hFkpTG8yv0-GNupa7x3wX4NAUfWpB59U,3763
|
|
6
6
|
lionagi/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
7
7
|
lionagi/settings.py,sha256=HDuKCEJCpc4HudKodBnhoQUGuTGhRHdlIFhbtf3VBtY,1633
|
8
8
|
lionagi/utils.py,sha256=Adtr1wyrU9Ra-HfHDoHLWasD6V88Z8sqkg2CQ8i8nzI,38686
|
9
|
-
lionagi/version.py,sha256=
|
9
|
+
lionagi/version.py,sha256=BOC5JUFbzkhCG96hrOtH7kEDXF3aNOg4kZ97OzGzruI,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
|
@@ -85,12 +85,12 @@ lionagi/libs/validate/to_num.py,sha256=ZRHDjpTCykPfDIZZa4rZKNaR_8ZHbPDFlw9rc02Dr
|
|
85
85
|
lionagi/libs/validate/validate_boolean.py,sha256=bjiX_WZ3Bg8XcqoWLzE1G9BpO0AisrlZUxrpye_mlGk,3614
|
86
86
|
lionagi/libs/validate/xml_parser.py,sha256=PHBYAre4hhthPpDP9Yrp3UYSWdANPx60F1qhxe0m4uw,7004
|
87
87
|
lionagi/ln/__init__.py,sha256=N2wBLrZWUTfLAXFU2b0VbbByAmbW5Xwl42eIu0RaYWg,906
|
88
|
-
lionagi/ln/_async_call.py,sha256=
|
88
|
+
lionagi/ln/_async_call.py,sha256=O4eY4UehsaamueWVCl6asfs8QAx3FXeVWTB4Nbwnpqk,9291
|
89
89
|
lionagi/ln/_hash.py,sha256=g20yJfuVhAsfsBOWlkO889DHte6cbUCl6vV5QMT8nUo,3499
|
90
|
-
lionagi/ln/_list_call.py,sha256=
|
90
|
+
lionagi/ln/_list_call.py,sha256=oDCyTzz7F7KVAMjekKftJp7qgIZ9Yo8BUNMHasKoJhU,3935
|
91
91
|
lionagi/ln/_models.py,sha256=23RD2PPMfGNN0JqeHy0s1haRF2H3iF8Vb-_xz9Idvmc,3985
|
92
|
-
lionagi/ln/_to_list.py,sha256=
|
93
|
-
lionagi/ln/_types.py,sha256=
|
92
|
+
lionagi/ln/_to_list.py,sha256=DKjZAah6pm6frHls773yTMVK1I3OY7qxwLemOjRPr5A,5600
|
93
|
+
lionagi/ln/_types.py,sha256=usVaL2tGnYVQ2W12eUhJYiXY-m55b_5e0tUOFcuDtkc,3607
|
94
94
|
lionagi/ln/concurrency/__init__.py,sha256=cW3Hw5DvV6AVUdC7N6QI0iTF2cIJMjH8Hp5jCBggBbU,1237
|
95
95
|
lionagi/ln/concurrency/cancel.py,sha256=TYLxQ1D7mqhs8J4qJ_yTqP0j01zBe-Qed8-YnJlgKi0,4018
|
96
96
|
lionagi/ln/concurrency/errors.py,sha256=FhLgXGFSbKZYPNfXjdnkV-0ShPF_S34RBLyTO_Pk5C8,938
|
@@ -99,7 +99,7 @@ lionagi/ln/concurrency/primitives.py,sha256=fgml37nggaEGuvAJHQY6-rpSuAuei56YVSjT
|
|
99
99
|
lionagi/ln/concurrency/resource_tracker.py,sha256=52Rq7yMWK7DlebBW90imSjYeEAp8Gp9nL0dG2PD8Ivs,5464
|
100
100
|
lionagi/ln/concurrency/task.py,sha256=nVts_yPylkZVSk3l3I4MkUdC7rhoN2qQeFfrsvekVgE,3146
|
101
101
|
lionagi/ln/concurrency/throttle.py,sha256=Ho5zh_3beSXi9cMDDj70xz447BLzBJVopnUlQ18k9Lc,2198
|
102
|
-
lionagi/ln/concurrency/utils.py,sha256=
|
102
|
+
lionagi/ln/concurrency/utils.py,sha256=4TvDnPKhtbesb6YWZ9QlhskiOb07ai_eJ-PrmqY14IE,346
|
103
103
|
lionagi/models/__init__.py,sha256=R7DEGWuhH-izP7eN6SOw24-I4Mr2IVPXF4gNysmF2zQ,457
|
104
104
|
lionagi/models/field_model.py,sha256=pRFUYs72BRB6jo4NkgeqslCp0xwqzvh00ibh8uaMAws,23674
|
105
105
|
lionagi/models/hashable_model.py,sha256=oOqR3OJCU9cJfWHiG0WaEw0GMqfE2WTt4cy7WsAsiRg,829
|
@@ -110,8 +110,8 @@ lionagi/models/schema_model.py,sha256=ghRIM8aBNaToAknwNlhQKpuKXcwzyCw5pDE31bVKxs
|
|
110
110
|
lionagi/operations/__init__.py,sha256=L22n8rRls9oVdzHoDlznHFGiKJMNw3ZhbwVQbm1Fn6M,584
|
111
111
|
lionagi/operations/builder.py,sha256=_fIW5OqPTTond1VUapMMtEwsWmIuTAKy34K24uuK6EQ,22790
|
112
112
|
lionagi/operations/flow.py,sha256=PNEIGVVTKoXVPbtNcoNNO72-NgtGCx1xMsL7JATeH0M,17561
|
113
|
-
lionagi/operations/manager.py,sha256=
|
114
|
-
lionagi/operations/node.py,sha256=
|
113
|
+
lionagi/operations/manager.py,sha256=YZr3VjPAZVVFd_bIjF1aoQqzzKZHNA1kcqefNi5QFFM,683
|
114
|
+
lionagi/operations/node.py,sha256=1cKcuAWwbuR5VJqF9oh9o898wO31ky0ev69m3UmnBAI,3135
|
115
115
|
lionagi/operations/types.py,sha256=fM8HphnbBifMzhoKKvdl3JxGCBHlEGPJEYkLWj9b7vE,704
|
116
116
|
lionagi/operations/utils.py,sha256=b8HmpF5vRgmf6PTzg3_fZCIKMnhoGa0HCyOlX6JCz7g,1263
|
117
117
|
lionagi/operations/ReAct/ReAct.py,sha256=UzW3MClv9_w1AqrZIuATOZ9ASTb8HPD0Rlotlp0mYOg,13388
|
@@ -156,7 +156,7 @@ lionagi/protocols/forms/form.py,sha256=B4903km_Ljz-OxYkb1ZT_cpHZSaAYYJpZMsffWloo
|
|
156
156
|
lionagi/protocols/forms/report.py,sha256=SvJJjOSCTfVuqK7AKaY8ldQIGJeSK2zoyPWUV41ge2c,1609
|
157
157
|
lionagi/protocols/generic/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
158
158
|
lionagi/protocols/generic/element.py,sha256=Eaij2YpTWsGk28Tqjazmjmc_tOnalH7_iGFZrL6QJb4,14420
|
159
|
-
lionagi/protocols/generic/event.py,sha256=
|
159
|
+
lionagi/protocols/generic/event.py,sha256=hoMWMnis2Ih6xbkBGVydP_TzfDurcJUDovkdZjEseN0,6517
|
160
160
|
lionagi/protocols/generic/log.py,sha256=Y06zAQewkNlaIWjut_c6c45KY_LJfLHwzUaDGLULaas,8212
|
161
161
|
lionagi/protocols/generic/pile.py,sha256=rzhKytyizb5xoyBOeAtDwvLZQhGR04NkgLyr3O_XzS8,30418
|
162
162
|
lionagi/protocols/generic/processor.py,sha256=c_a7HB9WAaCY-HoI19YyStef8WOXcDj9UeiQb5bz_TM,11759
|
@@ -225,16 +225,16 @@ lionagi/service/third_party/exa_models.py,sha256=G_hnekcy-DillPLzMoDQ8ZisVAL8Mp7
|
|
225
225
|
lionagi/service/third_party/openai_model_names.py,sha256=C44tnqexgc4ZU2-3I_sn5d688hf3WWx-25xBd50bvas,5121
|
226
226
|
lionagi/service/third_party/pplx_models.py,sha256=-EhyJgOWR6rzSv3zczUtk80X6c19p18Dg9KC6l8BFRQ,6473
|
227
227
|
lionagi/session/__init__.py,sha256=kDypY6L3kGPnatAw7YNQAykgg-9MlIBnlhHExaXvt-c,202
|
228
|
-
lionagi/session/branch.py,sha256=
|
228
|
+
lionagi/session/branch.py,sha256=yfOtMITbtKzGAcxwZ5JjkXrKtb2PBGRPt53xqbR0lAs,68329
|
229
229
|
lionagi/session/prompts.py,sha256=GPr0jibyAAqS3awDzGC8SoCL6aWJLLCCbXY0JUuxOC0,3170
|
230
|
-
lionagi/session/session.py,sha256=
|
230
|
+
lionagi/session/session.py,sha256=FzsUsqEQ6cnGd57E4HmEucftz5nMKsfj9kemRDqsXwU,13257
|
231
231
|
lionagi/tools/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
232
232
|
lionagi/tools/base.py,sha256=hEGnE4MD0CM4UqnF0xsDRKB0aM-pyrTFHl8utHhyJLU,1897
|
233
233
|
lionagi/tools/types.py,sha256=XtJLY0m-Yi_ZLWhm0KycayvqMCZd--HxfQ0x9vFUYDE,230
|
234
234
|
lionagi/tools/file/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
235
235
|
lionagi/tools/file/reader.py,sha256=jnSHVSQ66AHZXQrgRuGmlbwKT5JHYoo-1zv1hKgTEfc,9544
|
236
236
|
lionagi/tools/memory/tools.py,sha256=earYkKxSOz_iXkqVZYTEDfE3dwZYIWPXZrqQ1DYGz4I,15941
|
237
|
-
lionagi-0.15.
|
238
|
-
lionagi-0.15.
|
239
|
-
lionagi-0.15.
|
240
|
-
lionagi-0.15.
|
237
|
+
lionagi-0.15.2.dist-info/METADATA,sha256=Q8mXAz46uEMUXIU-VbSsuhXH5yXUcmUkgRvoFkkgz1s,22895
|
238
|
+
lionagi-0.15.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
239
|
+
lionagi-0.15.2.dist-info/licenses/LICENSE,sha256=VXFWsdoN5AAknBCgFqQNgPWYx7OPp-PFEP961zGdOjc,11288
|
240
|
+
lionagi-0.15.2.dist-info/RECORD,,
|
File without changes
|
File without changes
|