lionagi 0.13.2__py3-none-any.whl → 0.13.4__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/config.py +1 -1
- lionagi/fields/action.py +0 -1
- lionagi/fields/reason.py +0 -1
- lionagi/libs/file/save.py +1 -1
- lionagi/libs/schema/as_readable.py +142 -196
- lionagi/libs/schema/extract_docstring.py +1 -2
- lionagi/libs/token_transform/synthlang_/base.py +0 -2
- lionagi/libs/validate/string_similarity.py +1 -2
- lionagi/models/hashable_model.py +0 -1
- lionagi/models/schema_model.py +0 -1
- lionagi/operations/ReAct/utils.py +0 -1
- lionagi/operations/__init__.py +2 -0
- lionagi/operations/_act/act.py +0 -1
- lionagi/operations/flow.py +436 -0
- lionagi/operations/interpret/interpret.py +1 -4
- lionagi/operations/manager.py +0 -1
- lionagi/operations/node.py +107 -0
- lionagi/operations/plan/plan.py +0 -1
- lionagi/operations/select/utils.py +0 -2
- lionagi/protocols/forms/flow.py +3 -1
- lionagi/protocols/generic/pile.py +1 -2
- lionagi/protocols/generic/processor.py +0 -1
- lionagi/protocols/graph/__init__.py +6 -0
- lionagi/protocols/graph/graph.py +1 -3
- lionagi/protocols/mail/package.py +0 -1
- lionagi/protocols/messages/assistant_response.py +0 -2
- lionagi/protocols/messages/message.py +0 -1
- lionagi/service/connections/endpoint_config.py +6 -0
- lionagi/service/connections/match_endpoint.py +26 -8
- lionagi/service/connections/providers/claude_code_.py +8 -9
- lionagi/service/connections/providers/claude_code_cli.py +411 -0
- lionagi/service/connections/providers/oai_.py +1 -1
- lionagi/service/manager.py +0 -1
- lionagi/service/rate_limited_processor.py +0 -2
- lionagi/service/token_calculator.py +0 -3
- lionagi/session/__init__.py +5 -0
- lionagi/session/branch.py +0 -2
- lionagi/session/session.py +47 -1
- lionagi/settings.py +2 -3
- lionagi/utils.py +6 -9
- lionagi/version.py +1 -1
- {lionagi-0.13.2.dist-info → lionagi-0.13.4.dist-info}/METADATA +15 -10
- {lionagi-0.13.2.dist-info → lionagi-0.13.4.dist-info}/RECORD +45 -47
- lionagi/traits/__init__.py +0 -58
- lionagi/traits/base.py +0 -216
- lionagi/traits/composer.py +0 -343
- lionagi/traits/protocols.py +0 -495
- lionagi/traits/registry.py +0 -1071
- {lionagi-0.13.2.dist-info → lionagi-0.13.4.dist-info}/WHEEL +0 -0
- {lionagi-0.13.2.dist-info → lionagi-0.13.4.dist-info}/licenses/LICENSE +0 -0
lionagi/settings.py
CHANGED
@@ -18,7 +18,7 @@ CACHED_CONFIG = {
|
|
18
18
|
|
19
19
|
CHAT_IMODEL_CONFIG = {
|
20
20
|
"provider": "openai",
|
21
|
-
"model": "gpt-
|
21
|
+
"model": "gpt-4.1-nano",
|
22
22
|
"base_url": "https://api.openai.com/v1",
|
23
23
|
"endpoint": "chat/completions",
|
24
24
|
"api_key": "OPENAI_API_KEY",
|
@@ -31,7 +31,7 @@ CHAT_IMODEL_CONFIG = {
|
|
31
31
|
|
32
32
|
PARSE_IMODEL_CONFIG = {
|
33
33
|
"provider": "openai",
|
34
|
-
"model": "gpt-
|
34
|
+
"model": "gpt-4.1-nano",
|
35
35
|
"base_url": "https://api.openai.com/v1",
|
36
36
|
"endpoint": "chat/completions",
|
37
37
|
"api_key": "OPENAI_API_KEY",
|
@@ -56,7 +56,6 @@ LOG_CONFIG = {
|
|
56
56
|
|
57
57
|
|
58
58
|
class Settings:
|
59
|
-
|
60
59
|
class Config:
|
61
60
|
TIMEZONE: timezone = timezone.utc
|
62
61
|
LOG: dict = LOG_CONFIG
|
lionagi/utils.py
CHANGED
@@ -5,6 +5,7 @@
|
|
5
5
|
import asyncio
|
6
6
|
import contextlib
|
7
7
|
import copy as _copy
|
8
|
+
import dataclasses
|
8
9
|
import functools
|
9
10
|
import importlib.metadata
|
10
11
|
import importlib.util
|
@@ -134,7 +135,6 @@ def hash_dict(data) -> int:
|
|
134
135
|
|
135
136
|
|
136
137
|
class Params(BaseModel):
|
137
|
-
|
138
138
|
def keys(self):
|
139
139
|
return self.model_fields.keys()
|
140
140
|
|
@@ -900,7 +900,6 @@ async def bcall(
|
|
900
900
|
flatten_tuple_set: bool = False,
|
901
901
|
**kwargs: Any,
|
902
902
|
) -> AsyncGenerator[list[T | tuple[T, float]], None]:
|
903
|
-
|
904
903
|
input_ = to_list(input_, flatten=True, dropna=True)
|
905
904
|
|
906
905
|
for i in range(0, len(input_), batch_size):
|
@@ -1372,7 +1371,6 @@ def xml_to_dict(
|
|
1372
1371
|
|
1373
1372
|
|
1374
1373
|
def dict_to_xml(data: dict, /, root_tag: str = "root") -> str:
|
1375
|
-
|
1376
1374
|
root = ET.Element(root_tag)
|
1377
1375
|
|
1378
1376
|
def convert(dict_obj: dict, parent: Any) -> None:
|
@@ -1471,7 +1469,6 @@ def recursive_to_dict(
|
|
1471
1469
|
recursive_custom_types: bool = False,
|
1472
1470
|
**kwargs: Any,
|
1473
1471
|
) -> Any:
|
1474
|
-
|
1475
1472
|
if not isinstance(max_recursive_depth, int):
|
1476
1473
|
max_recursive_depth = 5
|
1477
1474
|
else:
|
@@ -1504,7 +1501,6 @@ def _recur_to_dict(
|
|
1504
1501
|
recursive_custom_types: bool = False,
|
1505
1502
|
**kwargs: Any,
|
1506
1503
|
) -> Any:
|
1507
|
-
|
1508
1504
|
if current_depth >= max_recursive_depth:
|
1509
1505
|
return input_
|
1510
1506
|
|
@@ -1675,7 +1671,6 @@ def _to_dict(
|
|
1675
1671
|
use_enum_values: bool = True,
|
1676
1672
|
**kwargs: Any,
|
1677
1673
|
) -> dict[str, Any]:
|
1678
|
-
|
1679
1674
|
if isinstance(input_, set):
|
1680
1675
|
return _set_to_dict(input_)
|
1681
1676
|
|
@@ -1705,6 +1700,9 @@ def _to_dict(
|
|
1705
1700
|
if isinstance(input_, Iterable):
|
1706
1701
|
return _iterable_to_dict(input_)
|
1707
1702
|
|
1703
|
+
with contextlib.suppress(Exception):
|
1704
|
+
return dataclasses.asdict(input_)
|
1705
|
+
|
1708
1706
|
return dict(input_)
|
1709
1707
|
|
1710
1708
|
|
@@ -2307,7 +2305,6 @@ def parse_number(type_and_value: tuple[str, str]) -> float | complex:
|
|
2307
2305
|
def breakdown_pydantic_annotation(
|
2308
2306
|
model: type[B], max_depth: int | None = None, current_depth: int = 0
|
2309
2307
|
) -> dict[str, Any]:
|
2310
|
-
|
2311
2308
|
if not _is_pydantic_model(model):
|
2312
2309
|
raise TypeError("Input must be a Pydantic model")
|
2313
2310
|
|
@@ -2397,7 +2394,7 @@ def check_import(
|
|
2397
2394
|
if not is_import_installed(package_name):
|
2398
2395
|
if attempt_install:
|
2399
2396
|
logging.info(
|
2400
|
-
f"Package {package_name} not found. Attempting
|
2397
|
+
f"Package {package_name} not found. Attempting to install.",
|
2401
2398
|
)
|
2402
2399
|
try:
|
2403
2400
|
return install_import(
|
@@ -2576,7 +2573,7 @@ def pdf_to_images(
|
|
2576
2573
|
saved_paths = []
|
2577
2574
|
for i, image in enumerate(images):
|
2578
2575
|
# Construct the output file name
|
2579
|
-
image_file = os.path.join(output_folder, f"page_{i+1}.{fmt}")
|
2576
|
+
image_file = os.path.join(output_folder, f"page_{i + 1}.{fmt}")
|
2580
2577
|
image.save(image_file, fmt.upper())
|
2581
2578
|
saved_paths.append(image_file)
|
2582
2579
|
|
lionagi/version.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
__version__ = "0.13.
|
1
|
+
__version__ = "0.13.4"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: lionagi
|
3
|
-
Version: 0.13.
|
3
|
+
Version: 0.13.4
|
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
|
@@ -221,8 +221,11 @@ Classifier: Programming Language :: Python :: 3.13
|
|
221
221
|
Requires-Python: >=3.10
|
222
222
|
Requires-Dist: aiocache>=0.12.0
|
223
223
|
Requires-Dist: aiohttp>=3.12.0
|
224
|
+
Requires-Dist: anyio>=4.8.0
|
224
225
|
Requires-Dist: backoff>=2.2.1
|
225
226
|
Requires-Dist: jinja2>=3.1.0
|
227
|
+
Requires-Dist: json-repair>=0.47.8
|
228
|
+
Requires-Dist: matplotlib>=3.9.0
|
226
229
|
Requires-Dist: pillow>=11.0.0
|
227
230
|
Requires-Dist: psutil>=7.0.0
|
228
231
|
Requires-Dist: pydantic-settings>=2.8.0
|
@@ -234,7 +237,7 @@ Provides-Extra: all
|
|
234
237
|
Requires-Dist: claude-code-sdk>=0.0.14; extra == 'all'
|
235
238
|
Requires-Dist: docling>=2.15.1; extra == 'all'
|
236
239
|
Requires-Dist: fastmcp>=2.10.5; extra == 'all'
|
237
|
-
Requires-Dist: ollama>=0.
|
240
|
+
Requires-Dist: ollama>=0.4.0; extra == 'all'
|
238
241
|
Requires-Dist: rich>=13.0.0; extra == 'all'
|
239
242
|
Provides-Extra: claude-code
|
240
243
|
Requires-Dist: claude-code-sdk>=0.0.14; extra == 'claude-code'
|
@@ -249,7 +252,7 @@ Requires-Dist: pre-commit>=4.0.1; extra == 'lint'
|
|
249
252
|
Provides-Extra: mcp
|
250
253
|
Requires-Dist: fastmcp>=2.10.5; extra == 'mcp'
|
251
254
|
Provides-Extra: ollama
|
252
|
-
Requires-Dist: ollama>=0.
|
255
|
+
Requires-Dist: ollama>=0.4.0; extra == 'ollama'
|
253
256
|
Provides-Extra: reader
|
254
257
|
Requires-Dist: docling>=2.15.1; extra == 'reader'
|
255
258
|
Provides-Extra: rich
|
@@ -271,7 +274,7 @@ Description-Content-Type: text/markdown
|
|
271
274
|
|
272
275
|
# LION - Language InterOperable Network
|
273
276
|
|
274
|
-
## An Intelligence
|
277
|
+
## An Agentic Intelligence SDK
|
275
278
|
|
276
279
|
LionAGI is a robust framework for orchestrating multi-step AI operations with
|
277
280
|
precise control. Bring together multiple models, advanced ReAct reasoning, tool
|
@@ -407,19 +410,21 @@ LionAGI now supports Anthropic's [Claude Code SDK](https://github.com/anthropics
|
|
407
410
|
from lionagi import iModel, Branch
|
408
411
|
|
409
412
|
# Create a Claude Code model
|
410
|
-
|
413
|
+
model = iModel(
|
411
414
|
provider="claude_code",
|
412
|
-
endpoint="
|
413
|
-
model="
|
415
|
+
endpoint="query_cli",
|
416
|
+
model="sonnet",
|
414
417
|
allowed_tools=["Write", "Read", "Edit"], # Control which tools Claude can use
|
418
|
+
permission_mode = "bypassPermissions", # Bypass tool permission checks (use with caution!),
|
419
|
+
verbose_output=True, # Enable detailed output for debugging
|
415
420
|
)
|
416
421
|
|
417
422
|
# Start a coding session
|
418
|
-
branch = Branch(chat_model=
|
419
|
-
response = await branch.
|
423
|
+
branch = Branch(chat_model=model)
|
424
|
+
response = await branch.communicate("Explain the architecture of protocols, operations, and branch")
|
420
425
|
|
421
426
|
# Claude Code maintains session context automatically
|
422
|
-
response2 = await branch.
|
427
|
+
response2 = await branch.communicate("how do these parts form lionagi system")
|
423
428
|
```
|
424
429
|
|
425
430
|
Key features:
|
@@ -2,18 +2,18 @@ lionagi/__init__.py,sha256=wg2mLxXbJ5pQKrRMIEoQ0_BlHrxjuR1zmc3SAYN7PBc,513
|
|
2
2
|
lionagi/_class_registry.py,sha256=pfUO1DjFZIqr3OwnNMkFqL_fiEBrrf8-swkGmP_KDLE,3112
|
3
3
|
lionagi/_errors.py,sha256=S02keQTY2IMkTvpLe00v7P7b8QNJ0PrZ1KWmQWCEQAA,500
|
4
4
|
lionagi/_types.py,sha256=iDdYewsP9rDrM7QY19_NDTcWUk7swp8vnGCrloHMtUM,53
|
5
|
-
lionagi/config.py,sha256=
|
5
|
+
lionagi/config.py,sha256=Dxs5FA9UCv1YX5H54qOJcPsDrIF9wFokWEPZ212eH-k,3715
|
6
6
|
lionagi/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
7
|
-
lionagi/settings.py,sha256=
|
8
|
-
lionagi/utils.py,sha256=
|
9
|
-
lionagi/version.py,sha256=
|
7
|
+
lionagi/settings.py,sha256=HDuKCEJCpc4HudKodBnhoQUGuTGhRHdlIFhbtf3VBtY,1633
|
8
|
+
lionagi/utils.py,sha256=8zCdJHKbDJv2WSzAAiFnMSpvfyZb9RnmfSNaMEqdTJE,79003
|
9
|
+
lionagi/version.py,sha256=6QrvAtwvKbCiayGvUAi82njNCcPWhkMC4sBk4mXPkIc,23
|
10
10
|
lionagi/fields/__init__.py,sha256=8oU7Vfk-fKiULFKqhM6VpJMqdZcVXPTM7twVfNDN_SQ,603
|
11
|
-
lionagi/fields/action.py,sha256=
|
11
|
+
lionagi/fields/action.py,sha256=OziEpbaUeEVo34KdtbzDxXJBgkf3QLxlcKIQAfHe4O0,5791
|
12
12
|
lionagi/fields/base.py,sha256=5CJc7j8kTTWzXwpYzkSAFzx4BglABfx3AElIATKB7bg,3857
|
13
13
|
lionagi/fields/code.py,sha256=TFym51obzaSfCmeRoHZJyBtjfDI4tvl9F-1sjFc9rMw,7713
|
14
14
|
lionagi/fields/file.py,sha256=DhQ_HE0RvTNzkvBGQHRgbMYSokDkzE8GEu814i6jw5Q,7297
|
15
15
|
lionagi/fields/instruct.py,sha256=sMbCxEv0HQLa31JkJDmdrWWEzIfeKbcmN2hYOehz3Q0,4773
|
16
|
-
lionagi/fields/reason.py,sha256=
|
16
|
+
lionagi/fields/reason.py,sha256=eTGI9jDaaZJInUjCR9lEpYvw2_1UUF-xzCVCFP3-JRI,1437
|
17
17
|
lionagi/fields/research.py,sha256=eEPKocx8eQy2E9FExRWVIo6MK_xvmwBAoRZciBY3RG0,1421
|
18
18
|
lionagi/libs/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
19
19
|
lionagi/libs/parse.py,sha256=JRS3bql0InHJqATnAatl-hQv4N--XXw4P77JHhTFnrc,1011
|
@@ -24,7 +24,7 @@ lionagi/libs/file/concat_files.py,sha256=FoI983oWFzp9VfFDP7kmbRb3t1CPe5F5LCtsux0
|
|
24
24
|
lionagi/libs/file/file_ops.py,sha256=HBiIh1EljIJ5VTIXuyvJM0ppSs0YYOPUWmgDMJT634U,3430
|
25
25
|
lionagi/libs/file/params.py,sha256=SZ5DkoffWfxWudOAYCfCxpL8UIm-1UjeyTtploo-Lqs,5824
|
26
26
|
lionagi/libs/file/process.py,sha256=EsnEJcQUm4ReP7qkCeMvL4Qe6fLRcENVWZndh9TSUsc,8692
|
27
|
-
lionagi/libs/file/save.py,sha256=
|
27
|
+
lionagi/libs/file/save.py,sha256=5PvX1o1danZEq6S7V-GHIbZ6n-m-1IDdWhXPRbUXSVE,2865
|
28
28
|
lionagi/libs/nested/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
29
29
|
lionagi/libs/nested/flatten.py,sha256=sB4jxZRoaUbjak9RbIWVWNKz2hzkhQJPFffV_Ws1GA0,5479
|
30
30
|
lionagi/libs/nested/nfilter.py,sha256=kF7AWjLFHr22SOjRBSTx-7iRPaR7gs0FY5Y4XF2sWJ8,1768
|
@@ -41,9 +41,9 @@ lionagi/libs/package/management.py,sha256=zgzZ1lNpUhunu_QExiobSYWlvBbR0EORXW4jrt
|
|
41
41
|
lionagi/libs/package/params.py,sha256=4dJiuaTlnhho6OHmBv-02cHx89XRCjnKqpMhVRvTse8,1056
|
42
42
|
lionagi/libs/package/system.py,sha256=UW8Y6tEPRCy_pBv_Q8CXJAIbuo7CJDDoWEDdnP0ixp4,564
|
43
43
|
lionagi/libs/schema/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
44
|
-
lionagi/libs/schema/as_readable.py,sha256=
|
44
|
+
lionagi/libs/schema/as_readable.py,sha256=p8ke8ZxLwLQxmsJWD_N7Q_AYDYK60nuHztUREbTa5sk,12027
|
45
45
|
lionagi/libs/schema/extract_code_block.py,sha256=PuJbJj1JnqR5fSZudowPcVPpEoKISLr0MjTOOVXSzwY,2394
|
46
|
-
lionagi/libs/schema/extract_docstring.py,sha256=
|
46
|
+
lionagi/libs/schema/extract_docstring.py,sha256=uWyUevXS4JSN60tfouoBBAyE4_jyE-fz45CiS-fvKeI,5714
|
47
47
|
lionagi/libs/schema/function_to_schema.py,sha256=XAB031WbYu3a7eFJyYjXVMAjmtWYSYr5kC_DYgjiuyM,5604
|
48
48
|
lionagi/libs/schema/json_schema.py,sha256=cuHcaMr748O9g6suNGmRx4tRXcidd5-c7AMGjTIZyHM,7670
|
49
49
|
lionagi/libs/schema/load_pydantic_model_from_schema.py,sha256=VGrmnMb26JNcB9LaQcqTwW--sUljqqlqqsPD69zjcEc,10183
|
@@ -54,7 +54,7 @@ lionagi/libs/token_transform/perplexity.py,sha256=EcINACZyMZfWyU9ESS0eBaFby9y44Y
|
|
54
54
|
lionagi/libs/token_transform/symbolic_compress_context.py,sha256=J8UleoCRDBvbFvmss2JjOvJfuBT7LXUW7AsRB-oQq7c,4598
|
55
55
|
lionagi/libs/token_transform/synthlang.py,sha256=W6e-_265UXqVosM9X0TLKW53rNHvWCKhsWbVAop49Ac,259
|
56
56
|
lionagi/libs/token_transform/types.py,sha256=4HgAfNDlJ_Hu18kLt59GHr_76eF3xLpNCTbOXlAYVlA,491
|
57
|
-
lionagi/libs/token_transform/synthlang_/base.py,sha256=
|
57
|
+
lionagi/libs/token_transform/synthlang_/base.py,sha256=djsR3Lc0UH1PYy2q4fpqL9tp-ZNKOYbmVTDP-_d1Poo,4107
|
58
58
|
lionagi/libs/token_transform/synthlang_/translate_to_synthlang.py,sha256=guA5v8CQRdAOsznsUSoK_x2JFzGbHE079AijDqqPPOw,4946
|
59
59
|
lionagi/libs/token_transform/synthlang_/resources/frameworks/abstract_algebra.toml,sha256=2TuOAo97g8mNhdPH96HP8vYZpnC8neiP-KlhVqbp1Us,970
|
60
60
|
lionagi/libs/token_transform/synthlang_/resources/frameworks/category_theory.toml,sha256=Stg9W3h8o7VkQ9tdAfSZmR3LctFqcH6OhOPdaw9BlIg,1064
|
@@ -73,24 +73,26 @@ lionagi/libs/validate/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZU
|
|
73
73
|
lionagi/libs/validate/common_field_validators.py,sha256=1BHznXnJYcLQrHqvHKUnP6aqCptuQ0qN7KJRCExcJBU,4778
|
74
74
|
lionagi/libs/validate/fuzzy_match_keys.py,sha256=M4EfpeWKE1eACLxeC4K-VDmHZXMRHeGUkDFbfny80AM,6255
|
75
75
|
lionagi/libs/validate/fuzzy_validate_mapping.py,sha256=MZpRop3whCQQtgYwJgg66nbN0KxNuKXqulaAgA0Y1_g,4935
|
76
|
-
lionagi/libs/validate/string_similarity.py,sha256=
|
76
|
+
lionagi/libs/validate/string_similarity.py,sha256=ymuqTKd95_h8ywD9VTzf24gIPyMz1Mm6Lve350yJ_NY,8718
|
77
77
|
lionagi/libs/validate/validate_boolean.py,sha256=bjiX_WZ3Bg8XcqoWLzE1G9BpO0AisrlZUxrpye_mlGk,3614
|
78
78
|
lionagi/models/__init__.py,sha256=R7DEGWuhH-izP7eN6SOw24-I4Mr2IVPXF4gNysmF2zQ,457
|
79
79
|
lionagi/models/field_model.py,sha256=pRFUYs72BRB6jo4NkgeqslCp0xwqzvh00ibh8uaMAws,23674
|
80
|
-
lionagi/models/hashable_model.py,sha256=
|
80
|
+
lionagi/models/hashable_model.py,sha256=oOqR3OJCU9cJfWHiG0WaEw0GMqfE2WTt4cy7WsAsiRg,829
|
81
81
|
lionagi/models/model_params.py,sha256=zVU-PHp3skjK5ZVjpsPs1k_VJiS8X0hgct0xs6Z6W_Y,10955
|
82
82
|
lionagi/models/note.py,sha256=okWJL4mGqt0bUVxHRyqsfJr7tEh6wwgYhF1CegxudIA,12202
|
83
83
|
lionagi/models/operable_model.py,sha256=fXbcpBjO-SoaeF8fn-F1_KIcYw9_L73VIUM1BDg5hj4,19905
|
84
|
-
lionagi/models/schema_model.py,sha256=
|
85
|
-
lionagi/operations/__init__.py,sha256=
|
86
|
-
lionagi/operations/
|
84
|
+
lionagi/models/schema_model.py,sha256=ghRIM8aBNaToAknwNlhQKpuKXcwzyCw5pDE31bVKxs0,667
|
85
|
+
lionagi/operations/__init__.py,sha256=CwqpPnj6C53mFFu86VtA_JYpVFPBvKKTiA_VwKxLGKk,203
|
86
|
+
lionagi/operations/flow.py,sha256=iERw_owbu3tgh_6a35aV2US7r2KaztQ0e54Fu2ETm1w,15074
|
87
|
+
lionagi/operations/manager.py,sha256=7KD6NMWqYJHCPI2LumDRwGinF8WYKFjrr3bsNUi9xzI,564
|
88
|
+
lionagi/operations/node.py,sha256=JNJpn_LUP_46F7C8DcvwAg6rzlaRKzs9RcVGQakARyU,3066
|
87
89
|
lionagi/operations/types.py,sha256=fM8HphnbBifMzhoKKvdl3JxGCBHlEGPJEYkLWj9b7vE,704
|
88
90
|
lionagi/operations/utils.py,sha256=Cl4HuWQ1nCGkTexwOtDx7fpEWMc2L3ZQMCqylRBDy74,1219
|
89
91
|
lionagi/operations/ReAct/ReAct.py,sha256=uoJnFMoPP1kzzmgLDFNBwEbWdfGNfG37IT22N1AM-hE,13504
|
90
92
|
lionagi/operations/ReAct/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
91
|
-
lionagi/operations/ReAct/utils.py,sha256=
|
93
|
+
lionagi/operations/ReAct/utils.py,sha256=FKb0v-1tboN17imxef9jLKWhet0Iz049eqvZCcJKNX8,4436
|
92
94
|
lionagi/operations/_act/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
93
|
-
lionagi/operations/_act/act.py,sha256=
|
95
|
+
lionagi/operations/_act/act.py,sha256=LfN4UqTTHVvO1h9tqmDhVfVafVUOry4YGEivIZbmLqc,2810
|
94
96
|
lionagi/operations/brainstorm/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
95
97
|
lionagi/operations/brainstorm/brainstorm.py,sha256=N9LpFZCdYn8L8AnTFOoMnjK7nkFrjgrfj2Vhz759dXM,18701
|
96
98
|
lionagi/operations/brainstorm/prompt.py,sha256=Dqi4NNeztdI4iutggRqjnOrG4a4E2JtwIAtRnjZ_ghQ,610
|
@@ -101,17 +103,17 @@ lionagi/operations/communicate/communicate.py,sha256=J23XkCk_oUD-cGYOuy4stwrwbei
|
|
101
103
|
lionagi/operations/instruct/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
102
104
|
lionagi/operations/instruct/instruct.py,sha256=7pxhyP5jxwpgqjmQNb1rnGF4QAVlbMENpsyl22mbKRM,794
|
103
105
|
lionagi/operations/interpret/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
104
|
-
lionagi/operations/interpret/interpret.py,sha256=
|
106
|
+
lionagi/operations/interpret/interpret.py,sha256=yl1NSp2iOm3dbycVLEcnV3absnqKoubfH15v6lQgySU,1500
|
105
107
|
lionagi/operations/operate/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
106
108
|
lionagi/operations/operate/operate.py,sha256=cMc-n_uBPC8L8URIHHdR9N2LiwFlOiVv8yazmrFxX8g,7358
|
107
109
|
lionagi/operations/parse/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
108
110
|
lionagi/operations/parse/parse.py,sha256=xS9uIxBzHLGD-1VpBVgGUhxF-tQDkF2KLmIpErM47RQ,6661
|
109
111
|
lionagi/operations/plan/__init__.py,sha256=yGBPll6lOqVjadbTvDLGrTlMx3FfBW-e00z7AMvg7Uo,156
|
110
|
-
lionagi/operations/plan/plan.py,sha256=
|
112
|
+
lionagi/operations/plan/plan.py,sha256=s1XagpAA9ke71W0rJE23rERV4sixOGxS3lJtz3BL_XY,15304
|
111
113
|
lionagi/operations/plan/prompt.py,sha256=GUNZ8RpHIa89D-_y7GK--Spg0JADI3K13sjf_w3a2mI,993
|
112
114
|
lionagi/operations/select/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
113
115
|
lionagi/operations/select/select.py,sha256=2l16ySPiqp5vyAMYm0CNBpNRVB0zvS76QwNAyFQ7tB4,2491
|
114
|
-
lionagi/operations/select/utils.py,sha256=
|
116
|
+
lionagi/operations/select/utils.py,sha256=1S4Wo59hr0rbZG72EPnVExfx4G72sIeUh2vlqVtslqE,3711
|
115
117
|
lionagi/operations/translate/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
116
118
|
lionagi/operations/translate/translate.py,sha256=6eBVoQRarGEJ8Tfcl6Z__PLHQTTIbM5MaPVYNeKHRIs,1397
|
117
119
|
lionagi/protocols/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
@@ -123,34 +125,34 @@ lionagi/protocols/action/manager.py,sha256=XmdQIaVgSpmFBFW9kbW_rdwdQmlBteP4VRanx
|
|
123
125
|
lionagi/protocols/action/tool.py,sha256=h2FAY1b8y3LXrvAtfFhvdv1nu8cwz2knUeRCi2G9k1E,5243
|
124
126
|
lionagi/protocols/forms/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
125
127
|
lionagi/protocols/forms/base.py,sha256=1J8UU2LXm1Lax5McJos0xjZTzMVLYQWd_hwtxI2wSuM,2838
|
126
|
-
lionagi/protocols/forms/flow.py,sha256=
|
128
|
+
lionagi/protocols/forms/flow.py,sha256=t9Ycvmb-stj0rCyvXXwd7WBcDtuCCTEKYst2aqFDVag,2702
|
127
129
|
lionagi/protocols/forms/form.py,sha256=B4903km_Ljz-OxYkb1ZT_cpHZSaAYYJpZMsffWlooo8,3062
|
128
130
|
lionagi/protocols/forms/report.py,sha256=SvJJjOSCTfVuqK7AKaY8ldQIGJeSK2zoyPWUV41ge2c,1609
|
129
131
|
lionagi/protocols/generic/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
130
132
|
lionagi/protocols/generic/element.py,sha256=Eaij2YpTWsGk28Tqjazmjmc_tOnalH7_iGFZrL6QJb4,14420
|
131
133
|
lionagi/protocols/generic/event.py,sha256=InjBd2K9aSYxgai1c20d4jaJOkEx5VGFfb7iZbiMiNA,5200
|
132
134
|
lionagi/protocols/generic/log.py,sha256=vepclOaY3fdR1QgFDj9usOffsx9T-9PbgwXjTvm6twQ,7441
|
133
|
-
lionagi/protocols/generic/pile.py,sha256=
|
134
|
-
lionagi/protocols/generic/processor.py,sha256=
|
135
|
+
lionagi/protocols/generic/pile.py,sha256=SVy4fk4pVDv3jS1GiLZo9fO_Nk53_ojfsQbUzM_Bkao,33531
|
136
|
+
lionagi/protocols/generic/processor.py,sha256=GQ_j_5f4UE-jJeqIJ9L2NdicpZnu50DSP1mvxlc7O_4,10381
|
135
137
|
lionagi/protocols/generic/progression.py,sha256=qlITq1qzV119iR5qR__fBAzV489S7d4t20E8uDRicEw,15189
|
136
|
-
lionagi/protocols/graph/__init__.py,sha256=
|
138
|
+
lionagi/protocols/graph/__init__.py,sha256=UPu3OmUpjSgX2aBuBJUdG2fppGlfqAH96hU0qIMBMp0,253
|
137
139
|
lionagi/protocols/graph/edge.py,sha256=lgxeceoazM4Jl2Un_owLpJOanqw2m4XPk3-dXGp1u8g,5229
|
138
|
-
lionagi/protocols/graph/graph.py,sha256=
|
140
|
+
lionagi/protocols/graph/graph.py,sha256=fhPc_ogXkxbBrM0_En9QTDVM7fHA_LzURCdmDRuBlHE,10217
|
139
141
|
lionagi/protocols/graph/node.py,sha256=_bQ9h_s_X6dVyV4pueEfiKiFapOkDL-HuH2MboUekYI,4250
|
140
142
|
lionagi/protocols/mail/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
141
143
|
lionagi/protocols/mail/exchange.py,sha256=P1PcrFylIBeiQa8kox9H1qyJ4kjhUlbLiTUT8rs1OXg,7041
|
142
144
|
lionagi/protocols/mail/mail.py,sha256=RB5CUft_4J85H9nM9g6aRXomTaqKwF5xVjJacPAhoa8,1356
|
143
145
|
lionagi/protocols/mail/mailbox.py,sha256=RFQ3oi7n0ufRgeUoXwOC2Upvagf7vUspC7rTpASXNyA,2733
|
144
146
|
lionagi/protocols/mail/manager.py,sha256=Ldk2Kj3Z_N1__q0xUXWshw31pVT9s4mNndoHYM_3dSU,6964
|
145
|
-
lionagi/protocols/mail/package.py,sha256=
|
147
|
+
lionagi/protocols/mail/package.py,sha256=qcKRWP5Lk3wTK_rJhRsXFQhWz0pb2Clcs7vJcMwgzzI,2661
|
146
148
|
lionagi/protocols/messages/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
147
149
|
lionagi/protocols/messages/action_request.py,sha256=-tG9ViTSiZ2beM0onE6C552H5oth-sHLHP6KsBV8OMk,6868
|
148
150
|
lionagi/protocols/messages/action_response.py,sha256=SM3_vA9QPXz3Gc9uPhXm3zOXYheHZZGtl67Yff48Vu8,5272
|
149
|
-
lionagi/protocols/messages/assistant_response.py,sha256=
|
151
|
+
lionagi/protocols/messages/assistant_response.py,sha256=jrzRPVHHDnPw86Xp0IHnPy0tOZdsk7rBwhG5xnBXAjs,6912
|
150
152
|
lionagi/protocols/messages/base.py,sha256=Ng1Q8yIIIFauUv53LnwDeyOrM-cSCfsHM1GwkxChf2o,2317
|
151
153
|
lionagi/protocols/messages/instruction.py,sha256=0dUsUYd6xYsbOHU7GafvqBkpDQQoFOXJXT-UoJArYWU,21146
|
152
154
|
lionagi/protocols/messages/manager.py,sha256=e1jW5JH_3jZpZbFCvWZX0TG0DCgzANRUejW_6NqbtDc,17182
|
153
|
-
lionagi/protocols/messages/message.py,sha256=
|
155
|
+
lionagi/protocols/messages/message.py,sha256=GJLDgluTc_dBikTjGM3Im73kQQaCGsvSoJcaxAJwtFo,7723
|
154
156
|
lionagi/protocols/messages/system.py,sha256=x0F1C57SFHaO2-Z9cy1QshYlxv8wjl7VppooaGKbMIg,4658
|
155
157
|
lionagi/protocols/messages/templates/README.md,sha256=Ch4JrKSjd85fLitAYO1OhZjNOGKHoEwaKQlcV16jiUI,1286
|
156
158
|
lionagi/protocols/messages/templates/action_request.jinja2,sha256=d6OmxHKyvvNDSK4bnBM3TGSUk_HeE_Q2EtLAQ0ZBEJg,120
|
@@ -164,22 +166,23 @@ lionagi/protocols/operatives/operative.py,sha256=l417XukoI_ZRyVqjHy8q1BtTKBvlFxf
|
|
164
166
|
lionagi/protocols/operatives/step.py,sha256=PHKehsJESx0I2PnWQG8lHgX7mPp3jX1eiLAQ22FUV3w,9835
|
165
167
|
lionagi/service/__init__.py,sha256=DMGXIqPsmut9H5GT0ZeSzQIzYzzPwI-2gLXydpbwiV8,21
|
166
168
|
lionagi/service/imodel.py,sha256=jE1Y3JzGwJZesHQtRSadVTAHA2TGdBAwfmzQoOA5Meg,12651
|
167
|
-
lionagi/service/manager.py,sha256=
|
168
|
-
lionagi/service/rate_limited_processor.py,sha256=
|
169
|
+
lionagi/service/manager.py,sha256=tN3p0kM7pg_CEs6wXK62_B_h49Q3nrU-9qniFhw2ABE,1164
|
170
|
+
lionagi/service/rate_limited_processor.py,sha256=MUgMgcOXFbzLmQmDyKxnvQv0M06kzJI9rJXwf5WLVDU,5228
|
169
171
|
lionagi/service/resilience.py,sha256=uYJYZQ9M-tje8ME3vJmYabXwKHF1c3Ij4-WrdCwogcs,18742
|
170
|
-
lionagi/service/token_calculator.py,sha256=
|
172
|
+
lionagi/service/token_calculator.py,sha256=piTidArzUkIMCtOLC_HBLoZNYZcENQywgeKM31bxezM,6457
|
171
173
|
lionagi/service/types.py,sha256=6zavqBxK1Fj0nB9eZgJn3JICxmdT-n0nn8YWZFzM5LU,508
|
172
174
|
lionagi/service/connections/__init__.py,sha256=yHQZ7OJpCftd6CStYR8inbxjJydYdmv9kCvbUBhJ2zU,362
|
173
175
|
lionagi/service/connections/api_calling.py,sha256=XetCrjMhOHNKGGv-NzHhBhVS7XjKPalrS_iExzU-4S4,8005
|
174
176
|
lionagi/service/connections/endpoint.py,sha256=yNIjq9wETMnytynGbq3qY_dkyaMlaHrcfiZjS-tnmLg,14756
|
175
|
-
lionagi/service/connections/endpoint_config.py,sha256=
|
177
|
+
lionagi/service/connections/endpoint_config.py,sha256=mu-5KoETd4Y2RcRmc6MWJ2-FJyxYLjJhebBGYfWgjRs,4758
|
176
178
|
lionagi/service/connections/header_factory.py,sha256=22sG4ian3MiNklF6SdQqkEYgtWKOZik_yDE0Lna6BiE,1754
|
177
|
-
lionagi/service/connections/match_endpoint.py,sha256=
|
179
|
+
lionagi/service/connections/match_endpoint.py,sha256=K3I4vU6GH6utlEArlyDFUmNdnp94CEPxqKrehAx29J4,2410
|
178
180
|
lionagi/service/connections/providers/__init__.py,sha256=3lzOakDoBWmMaNnT2g-YwktPKa_Wme4lnPRSmOQfayY,105
|
179
181
|
lionagi/service/connections/providers/anthropic_.py,sha256=SUPnw2UqjY5wuHXLHas6snMTzhQ-UuixvPYbkVnXn34,3083
|
180
|
-
lionagi/service/connections/providers/claude_code_.py,sha256=
|
182
|
+
lionagi/service/connections/providers/claude_code_.py,sha256=KAx7zK_mUwroPHwB5NfkHl0VYOxarM_LOOJUyD4NBQQ,17437
|
183
|
+
lionagi/service/connections/providers/claude_code_cli.py,sha256=C9gjZ_LzhlEBLZptlRjnlkVRIdPcPys5Aa1uKsPeAdg,14582
|
181
184
|
lionagi/service/connections/providers/exa_.py,sha256=GGWaD9jd5gKM257OfUaIBBKIqR1NrNcBE67p_7JbK7g,938
|
182
|
-
lionagi/service/connections/providers/oai_.py,sha256=
|
185
|
+
lionagi/service/connections/providers/oai_.py,sha256=FmQMEmOY7H7dZd4og-_cdd1Unzy4lkIzMsTtEsm-yVE,4782
|
183
186
|
lionagi/service/connections/providers/ollama_.py,sha256=jdx6dGeChwVk5TFfFRbpnrpKzj8YQZw6D5iWJ6zYmfk,4096
|
184
187
|
lionagi/service/connections/providers/perplexity_.py,sha256=9MH9YmMy9Jg7JDMJHQxxMYHyjJ4NP0OlN7sCuhla85I,917
|
185
188
|
lionagi/service/third_party/README.md,sha256=qFjWnI8rmLivIyr6Tc-hRZh-rQwntROp76af4MBNJJc,2214
|
@@ -188,22 +191,17 @@ lionagi/service/third_party/anthropic_models.py,sha256=oqSPSlcayYG-fS5BLiLeTtkrp
|
|
188
191
|
lionagi/service/third_party/exa_models.py,sha256=G_hnekcy-DillPLzMoDQ8ZisVAL8Mp7iMAK4xqAT_3w,5470
|
189
192
|
lionagi/service/third_party/openai_models.py,sha256=sF-fQ726CnaDBgLY_r2NdPqc3GicPKhZjh5F8IfjBO0,501904
|
190
193
|
lionagi/service/third_party/pplx_models.py,sha256=Nkm1ftESBa_NwP9ITBUNqLmAZ3Jh92aL732g_i6T8LQ,5947
|
191
|
-
lionagi/session/__init__.py,sha256=
|
192
|
-
lionagi/session/branch.py,sha256=
|
194
|
+
lionagi/session/__init__.py,sha256=kDypY6L3kGPnatAw7YNQAykgg-9MlIBnlhHExaXvt-c,202
|
195
|
+
lionagi/session/branch.py,sha256=OzF8lftHXuI8ovS8I4iWet96XKHmJ0tA0rh7qvimw-0,69940
|
193
196
|
lionagi/session/prompts.py,sha256=vLoodSB1vosCTujtU1hUWrm_OgsBAR_QZmru0yTIQ5A,3236
|
194
|
-
lionagi/session/session.py,sha256=
|
197
|
+
lionagi/session/session.py,sha256=otln9YGw-YBxkeW7N2qlhFztO9PpPP-erIW86_rSAzg,10770
|
195
198
|
lionagi/tools/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
196
199
|
lionagi/tools/base.py,sha256=cld32pyjaTUdyiqZ8hNyJjWKAhcJ8RQNhgImI7R8b-E,1940
|
197
200
|
lionagi/tools/types.py,sha256=XtJLY0m-Yi_ZLWhm0KycayvqMCZd--HxfQ0x9vFUYDE,230
|
198
201
|
lionagi/tools/file/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
199
202
|
lionagi/tools/file/reader.py,sha256=0TdnfVGVCKuM58MmGM-NyVjhU9BFoitkNYEepdc0z_Y,9529
|
200
203
|
lionagi/tools/memory/tools.py,sha256=zTGBenVsF8Wuh303kWntmQSGlAFKonHNdh5ePuQ26KE,15948
|
201
|
-
lionagi/
|
202
|
-
lionagi/
|
203
|
-
lionagi/
|
204
|
-
lionagi
|
205
|
-
lionagi/traits/registry.py,sha256=hsQaDE4INsHTwD2ZvYpmPZ92k0i-grgC6PQXbscF5Qc,38465
|
206
|
-
lionagi-0.13.2.dist-info/METADATA,sha256=OSa_9xutEW5Eb8UhrMmMoV247VDjVtJHX2ay0QJI4VA,20457
|
207
|
-
lionagi-0.13.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
208
|
-
lionagi-0.13.2.dist-info/licenses/LICENSE,sha256=VXFWsdoN5AAknBCgFqQNgPWYx7OPp-PFEP961zGdOjc,11288
|
209
|
-
lionagi-0.13.2.dist-info/RECORD,,
|
204
|
+
lionagi-0.13.4.dist-info/METADATA,sha256=FW6nor2rxEtx_JZpmDx1Q5LGMYMH1ekB-qRVScIcVkE,20719
|
205
|
+
lionagi-0.13.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
206
|
+
lionagi-0.13.4.dist-info/licenses/LICENSE,sha256=VXFWsdoN5AAknBCgFqQNgPWYx7OPp-PFEP961zGdOjc,11288
|
207
|
+
lionagi-0.13.4.dist-info/RECORD,,
|
lionagi/traits/__init__.py
DELETED
@@ -1,58 +0,0 @@
|
|
1
|
-
"""
|
2
|
-
LionAGI v2 Trait System
|
3
|
-
|
4
|
-
Protocol-based trait composition system for creating composable, type-safe behaviors.
|
5
|
-
|
6
|
-
Research-validated approach:
|
7
|
-
- Protocol-based traits: 9.25/10 weighted score vs alternatives
|
8
|
-
- Performance: 145ns isinstance checks (fastest available)
|
9
|
-
- Debugging: 8/10 debugging experience score
|
10
|
-
- Type safety: Excellent IDE/mypy integration
|
11
|
-
|
12
|
-
Core Components:
|
13
|
-
- Trait: Enum of available trait types
|
14
|
-
- TraitDefinition: Metadata for trait definitions
|
15
|
-
- TraitRegistry: Global trait tracking and dependency resolution
|
16
|
-
- Protocols: Type-safe interfaces for each trait
|
17
|
-
|
18
|
-
Usage:
|
19
|
-
>>> from lionagi.traits import Trait, TraitRegistry
|
20
|
-
>>> from lionagi.traits.protocols import Identifiable
|
21
|
-
>>>
|
22
|
-
>>> # Register a trait implementation
|
23
|
-
>>> TraitRegistry.register_trait(MyClass, Trait.IDENTIFIABLE)
|
24
|
-
>>>
|
25
|
-
>>> # Check trait support
|
26
|
-
>>> assert isinstance(instance, Identifiable)
|
27
|
-
"""
|
28
|
-
|
29
|
-
from .base import Trait, TraitDefinition
|
30
|
-
from .composer import (
|
31
|
-
TraitComposer,
|
32
|
-
TraitComposition,
|
33
|
-
compose,
|
34
|
-
create_trait_composition,
|
35
|
-
generate_model,
|
36
|
-
)
|
37
|
-
from .registry import (
|
38
|
-
TraitRegistry,
|
39
|
-
as_trait,
|
40
|
-
get_global_registry,
|
41
|
-
implement,
|
42
|
-
seal_trait,
|
43
|
-
)
|
44
|
-
|
45
|
-
__all__ = [
|
46
|
-
"Trait",
|
47
|
-
"TraitComposer",
|
48
|
-
"TraitComposition",
|
49
|
-
"TraitDefinition",
|
50
|
-
"TraitRegistry",
|
51
|
-
"as_trait",
|
52
|
-
"compose",
|
53
|
-
"create_trait_composition",
|
54
|
-
"generate_model",
|
55
|
-
"get_global_registry",
|
56
|
-
"implement",
|
57
|
-
"seal_trait",
|
58
|
-
]
|