lionagi 0.10.5__py3-none-any.whl → 0.10.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/fields/research.py +4 -4
- lionagi/libs/file/concat.py +121 -0
- lionagi/libs/file/process.py +1 -1
- lionagi/libs/token_transform/synthlang_/resources/frameworks/framework_options.json +46 -46
- lionagi/protocols/messages/templates/README.md +10 -6
- lionagi/version.py +1 -1
- {lionagi-0.10.5.dist-info → lionagi-0.10.7.dist-info}/METADATA +34 -21
- {lionagi-0.10.5.dist-info → lionagi-0.10.7.dist-info}/RECORD +10 -9
- {lionagi-0.10.5.dist-info → lionagi-0.10.7.dist-info}/WHEEL +0 -0
- {lionagi-0.10.5.dist-info → lionagi-0.10.7.dist-info}/licenses/LICENSE +0 -0
lionagi/fields/research.py
CHANGED
@@ -16,8 +16,8 @@ class ResearchFinding(HashableModel):
|
|
16
16
|
A single piece of information or insight from the research phase.
|
17
17
|
"""
|
18
18
|
|
19
|
-
summary: str = Field(
|
20
|
-
|
19
|
+
summary: str | None = Field(
|
20
|
+
None,
|
21
21
|
description="Concise text describing the discovered fact, concept, or best practice.",
|
22
22
|
)
|
23
23
|
snippets: list[TextSnippet | CodeSnippet] = Field(
|
@@ -35,8 +35,8 @@ class PotentialRisk(HashableModel):
|
|
35
35
|
Identifies a risk or challenge discovered during research.
|
36
36
|
"""
|
37
37
|
|
38
|
-
description: str = Field(
|
39
|
-
|
38
|
+
description: str | None = Field(
|
39
|
+
None,
|
40
40
|
description="Short text describing the risk. E.g., 'Scalability concerns with chosen DB'.",
|
41
41
|
)
|
42
42
|
impact: str | None = Field(
|
@@ -0,0 +1,121 @@
|
|
1
|
+
from pathlib import Path
|
2
|
+
from typing import Any
|
3
|
+
|
4
|
+
from lionagi.utils import create_path, lcall
|
5
|
+
|
6
|
+
from .process import dir_to_files
|
7
|
+
|
8
|
+
|
9
|
+
def concat(
|
10
|
+
data_path: str | Path | list,
|
11
|
+
file_types: list[str],
|
12
|
+
output_dir: str | Path = None,
|
13
|
+
output_filename: str = None,
|
14
|
+
file_exist_ok: bool = True,
|
15
|
+
recursive: bool = True,
|
16
|
+
verbose: bool = True,
|
17
|
+
threshold: int = 0,
|
18
|
+
return_fps: bool = False,
|
19
|
+
return_files: bool = False,
|
20
|
+
exclude_patterns: list[str] = None,
|
21
|
+
**kwargs,
|
22
|
+
) -> dict[str, Any]:
|
23
|
+
"""
|
24
|
+
data_path: str or Path or list of str or Path, the directory or file paths to concatenate.
|
25
|
+
file_types: list of str, the file types to concatenate. [e.g. ['.txt', '.md']]
|
26
|
+
output_dir: str or Path, the directory to save the concatenated file. If provided, will save the file.
|
27
|
+
output_filename: str, the filename to save the concatenated file.
|
28
|
+
file_exist_ok: bool, if True, overwrite the existing file. Default is True.
|
29
|
+
recursive: bool, if True, search files recursively. Default is True.
|
30
|
+
verbose: bool, if True, print the output path. Default is True.
|
31
|
+
threshold: int, the minimum number of chars for the file to be considered valid to concatenate.
|
32
|
+
exclude_patterns: list of str, patterns to exclude files from concatenation (e.g. ['log', 'temp', '.venv']).
|
33
|
+
kwargs: additional keyword arguments to pass to create_path.
|
34
|
+
"""
|
35
|
+
persist_path = None
|
36
|
+
if output_dir:
|
37
|
+
if not output_filename:
|
38
|
+
output_filename = "concatenated_text.txt"
|
39
|
+
kwargs["timestamp"] = kwargs.get("timestamp", True)
|
40
|
+
kwargs["random_hash_digits"] = kwargs.get("random_hash_digits", 6)
|
41
|
+
output_filename = output_filename or "concatenated_text.txt"
|
42
|
+
persist_path = create_path(
|
43
|
+
output_dir, output_filename, file_exist_ok=file_exist_ok, **kwargs
|
44
|
+
)
|
45
|
+
|
46
|
+
texts = []
|
47
|
+
|
48
|
+
def _check_existence(_p: str) -> Path | list[Path] | None:
|
49
|
+
if exclude_patterns:
|
50
|
+
_str_p = str(_p)
|
51
|
+
for pattern in exclude_patterns:
|
52
|
+
if pattern in _str_p:
|
53
|
+
return None
|
54
|
+
|
55
|
+
if not Path(_p).exists():
|
56
|
+
# if the path doesn't exist, return None
|
57
|
+
if verbose:
|
58
|
+
print(f"Path {_p} does not exist, skipping...")
|
59
|
+
return None
|
60
|
+
|
61
|
+
p = Path(_p)
|
62
|
+
if p.is_dir():
|
63
|
+
return dir_to_files(
|
64
|
+
p,
|
65
|
+
recursive=recursive,
|
66
|
+
file_types=file_types,
|
67
|
+
ignore_errors=True,
|
68
|
+
max_workers=5,
|
69
|
+
)
|
70
|
+
if p.is_file():
|
71
|
+
return p
|
72
|
+
|
73
|
+
data_path: list[Path] = lcall(
|
74
|
+
data_path,
|
75
|
+
_check_existence,
|
76
|
+
sanitize_input=True,
|
77
|
+
unique_input=True,
|
78
|
+
flatten=True,
|
79
|
+
dropna=True,
|
80
|
+
unique_output=True,
|
81
|
+
flatten_tuple_set=True,
|
82
|
+
)
|
83
|
+
|
84
|
+
contents = {}
|
85
|
+
fps = []
|
86
|
+
for dp in data_path:
|
87
|
+
try:
|
88
|
+
text = dp.read_text(encoding="utf-8")
|
89
|
+
|
90
|
+
except Exception:
|
91
|
+
# if we cannot read the file, skip it
|
92
|
+
print(f"Could not read file: {dp}. Skipping...")
|
93
|
+
continue
|
94
|
+
|
95
|
+
if threshold > 0 and len(text) < threshold:
|
96
|
+
continue
|
97
|
+
|
98
|
+
fps.append(dp)
|
99
|
+
contents[str(dp)] = text
|
100
|
+
|
101
|
+
for k, text in sorted(contents.items(), key=lambda x: x[0]):
|
102
|
+
texts.extend(["---", k, "---\n", text])
|
103
|
+
|
104
|
+
text = "\n".join(texts)
|
105
|
+
if persist_path:
|
106
|
+
persist_path.write_text(text, encoding="utf-8")
|
107
|
+
if verbose:
|
108
|
+
print(
|
109
|
+
f"Concatenated {len(fps)} files to {persist_path}."
|
110
|
+
f" The file contains {len(text)} characters."
|
111
|
+
)
|
112
|
+
|
113
|
+
out = {"text": text} # default output
|
114
|
+
if persist_path:
|
115
|
+
out["persist_path"] = persist_path
|
116
|
+
if return_files:
|
117
|
+
out["texts"] = texts
|
118
|
+
if return_fps:
|
119
|
+
out["fps"] = fps
|
120
|
+
|
121
|
+
return out
|
lionagi/libs/file/process.py
CHANGED
@@ -203,7 +203,7 @@ def chunk(
|
|
203
203
|
)
|
204
204
|
|
205
205
|
if reader_tool is None:
|
206
|
-
reader_tool = lambda x: x.read_text(encoding="utf-8")
|
206
|
+
reader_tool = lambda x: Path(x).read_text(encoding="utf-8")
|
207
207
|
|
208
208
|
if reader_tool == "docling":
|
209
209
|
from lionagi.libs.package.imports import check_import
|
@@ -1,52 +1,52 @@
|
|
1
1
|
{
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
},
|
12
|
-
{
|
13
|
-
"symbol": "\u03a3",
|
14
|
-
"name": "Summarize",
|
15
|
-
"description": "Condense large sets of data"
|
16
|
-
},
|
17
|
-
{
|
18
|
-
"symbol": "\u2295",
|
19
|
-
"name": "Combine/Merge",
|
20
|
-
"description": "Merge multiple data sources"
|
21
|
-
},
|
22
|
-
{
|
23
|
-
"symbol": "\u2022",
|
24
|
-
"name": "Group Operation",
|
25
|
-
"description": "Binary operation in group theory"
|
26
|
-
}
|
27
|
-
]
|
2
|
+
"options": {
|
3
|
+
"math": {
|
4
|
+
"name": "Mathematical Framework",
|
5
|
+
"description": "Offers a suite of math glyphs and notation rules.",
|
6
|
+
"glyphs": [
|
7
|
+
{
|
8
|
+
"symbol": "\u21b9",
|
9
|
+
"name": "Focus/Filter",
|
10
|
+
"description": "Used for focusing instructions"
|
28
11
|
},
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
{
|
34
|
-
"symbol": "IF",
|
35
|
-
"name": "Conditional Operator",
|
36
|
-
"description": "Represents branching logic"
|
37
|
-
}
|
38
|
-
]
|
12
|
+
{
|
13
|
+
"symbol": "\u03a3",
|
14
|
+
"name": "Summarize",
|
15
|
+
"description": "Condense large sets of data"
|
39
16
|
},
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
17
|
+
{
|
18
|
+
"symbol": "\u2295",
|
19
|
+
"name": "Combine/Merge",
|
20
|
+
"description": "Merge multiple data sources"
|
21
|
+
},
|
22
|
+
{
|
23
|
+
"symbol": "\u2022",
|
24
|
+
"name": "Group Operation",
|
25
|
+
"description": "Binary operation in group theory"
|
26
|
+
}
|
27
|
+
]
|
28
|
+
},
|
29
|
+
"optim": {
|
30
|
+
"name": "Optimization Framework",
|
31
|
+
"description": "Compression and optimization for code/math expressions.",
|
32
|
+
"glyphs": [
|
33
|
+
{
|
34
|
+
"symbol": "IF",
|
35
|
+
"name": "Conditional Operator",
|
36
|
+
"description": "Represents branching logic"
|
37
|
+
}
|
38
|
+
]
|
39
|
+
},
|
40
|
+
"custom_algebra": {
|
41
|
+
"name": "Custom Algebraic Framework",
|
42
|
+
"description": "Extra rules for ring, group, field expansions.",
|
43
|
+
"glyphs": [
|
44
|
+
{
|
45
|
+
"symbol": "\u221e",
|
46
|
+
"name": "Infinite Operator",
|
47
|
+
"description": "Represents unbounded algebraic ops"
|
50
48
|
}
|
49
|
+
]
|
51
50
|
}
|
51
|
+
}
|
52
52
|
}
|
@@ -19,10 +19,14 @@ message_text = template.render(**args)
|
|
19
19
|
print(message_text)
|
20
20
|
```
|
21
21
|
|
22
|
-
Benefits and Customization
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
22
|
+
Benefits and Customization • You can easily rearrange sections within these
|
23
|
+
templates without changing your code logic. • Each message type is clearly
|
24
|
+
separated, making it simpler to maintain or adjust one message format without
|
25
|
+
affecting the others. • If you find that you use some snippet (like rendering a
|
26
|
+
schema) in multiple templates, you can factor it out into its own partial
|
27
|
+
template (like tool_schemas.jinja2) and include it where needed. • Over time,
|
28
|
+
you can add more templates or split existing ones if certain messages become too
|
29
|
+
complex.
|
27
30
|
|
28
|
-
By establishing this set of base templates and arguments, you have a starting
|
31
|
+
By establishing this set of base templates and arguments, you have a starting
|
32
|
+
point. You can expand or refine as your requirements evolve.
|
lionagi/version.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
__version__ = "0.10.
|
1
|
+
__version__ = "0.10.7"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: lionagi
|
3
|
-
Version: 0.10.
|
3
|
+
Version: 0.10.7
|
4
4
|
Summary: An Intelligence Operating System.
|
5
5
|
Author-email: HaiyangLi <quantocean.li@gmail.com>
|
6
6
|
License: Apache License
|
@@ -220,7 +220,7 @@ Classifier: Programming Language :: Python :: 3.12
|
|
220
220
|
Classifier: Programming Language :: Python :: 3.13
|
221
221
|
Requires-Python: >=3.10
|
222
222
|
Requires-Dist: aiocache>=0.12.0
|
223
|
-
Requires-Dist: aiohttp>=3.11.
|
223
|
+
Requires-Dist: aiohttp>=3.11.14
|
224
224
|
Requires-Dist: jinja2>=3.0.0
|
225
225
|
Requires-Dist: pandas>=2.0.0
|
226
226
|
Requires-Dist: pillow>=10.0.0
|
@@ -241,21 +241,28 @@ Description-Content-Type: text/markdown
|
|
241
241
|

|
242
242
|

|
243
243
|
|
244
|
-
[Documentation](https://lion-agi.github.io/lionagi/) |
|
244
|
+
[Documentation](https://lion-agi.github.io/lionagi/) |
|
245
|
+
[Discord](https://discord.gg/aqSJ2v46vu) |
|
246
|
+
[PyPI](https://pypi.org/project/lionagi/) |
|
247
|
+
[Roadmap](https://trello.com/b/3seomsrI/lionagi)
|
245
248
|
|
246
249
|
# LION - Language InterOperable Network
|
247
250
|
|
248
251
|
## An Intelligence Operating System
|
249
252
|
|
250
|
-
LionAGI is a robust framework for orchestrating multi-step AI operations with
|
253
|
+
LionAGI is a robust framework for orchestrating multi-step AI operations with
|
254
|
+
precise control. Bring together multiple models, advanced ReAct reasoning, tool
|
255
|
+
integrations, and custom validations in a single coherent pipeline.
|
251
256
|
|
252
257
|
## Why LionAGI?
|
253
258
|
|
254
259
|
- **Structured**: LLM interactions are validated and typed (via Pydantic).
|
255
|
-
- **Expandable**: Integrate multiple providers (OpenAI, Anthropic, Perplexity,
|
256
|
-
|
257
|
-
- **
|
258
|
-
|
260
|
+
- **Expandable**: Integrate multiple providers (OpenAI, Anthropic, Perplexity,
|
261
|
+
custom) with minimal friction.
|
262
|
+
- **Controlled**: Built-in safety checks, concurrency strategies, and advanced
|
263
|
+
multi-step flows—like ReAct with verbose outputs.
|
264
|
+
- **Transparent**: Real-time logging, message introspection, and easy debugging
|
265
|
+
of tool usage.
|
259
266
|
|
260
267
|
## Installation
|
261
268
|
|
@@ -263,17 +270,11 @@ LionAGI is a robust framework for orchestrating multi-step AI operations with pr
|
|
263
270
|
pip install lionagi
|
264
271
|
```
|
265
272
|
|
266
|
-
Dependencies:
|
267
|
-
•
|
268
|
-
• aiohttp
|
269
|
-
• jinja2
|
270
|
-
• pandas
|
271
|
-
• pillow
|
272
|
-
• pydantic
|
273
|
-
• python-dotenv
|
274
|
-
• tiktoken
|
273
|
+
Dependencies: • aiocahce • aiohttp • jinja2 • pandas • pillow • pydantic
|
274
|
+
• python-dotenv • tiktoken
|
275
275
|
|
276
276
|
## Quick Start
|
277
|
+
|
277
278
|
```python
|
278
279
|
from lionagi import Branch, iModel
|
279
280
|
|
@@ -294,6 +295,7 @@ print(response)
|
|
294
295
|
```
|
295
296
|
You claim to be a dragon, oh what a braggin'!
|
296
297
|
```
|
298
|
+
|
297
299
|
### Structured Responses
|
298
300
|
|
299
301
|
Use Pydantic to keep outputs structured:
|
@@ -311,6 +313,7 @@ res = await hunter.communicate(
|
|
311
313
|
print(type(response))
|
312
314
|
print(response.joke)
|
313
315
|
```
|
316
|
+
|
314
317
|
```
|
315
318
|
<class '__main__.Joke'>
|
316
319
|
With fiery claws, dragons hide their laughter flaws!
|
@@ -318,7 +321,8 @@ With fiery claws, dragons hide their laughter flaws!
|
|
318
321
|
|
319
322
|
### ReAct and Tools
|
320
323
|
|
321
|
-
LionAGI supports advanced multi-step reasoning with ReAct. Tools let the LLM
|
324
|
+
LionAGI supports advanced multi-step reasoning with ReAct. Tools let the LLM
|
325
|
+
invoke external actions:
|
322
326
|
|
323
327
|
```python
|
324
328
|
from lionagi.tools.types import ReaderTool
|
@@ -336,16 +340,21 @@ result = await branch.ReAct(
|
|
336
340
|
print(result)
|
337
341
|
```
|
338
342
|
|
339
|
-
The LLM can now open the PDF, read in slices, fetch references, and produce a
|
343
|
+
The LLM can now open the PDF, read in slices, fetch references, and produce a
|
344
|
+
final structured summary.
|
340
345
|
|
341
346
|
### Observability & Debugging
|
347
|
+
|
342
348
|
- Inspect messages:
|
349
|
+
|
343
350
|
```python
|
344
351
|
df = branch.to_df()
|
345
352
|
print(df.tail())
|
346
353
|
```
|
354
|
+
|
347
355
|
- Action logs show each tool call, arguments, and outcomes.
|
348
|
-
- Verbose ReAct provides chain-of-thought analysis (helpful for debugging
|
356
|
+
- Verbose ReAct provides chain-of-thought analysis (helpful for debugging
|
357
|
+
multi-step flows).
|
349
358
|
|
350
359
|
### Example: Multi-Model Orchestration
|
351
360
|
|
@@ -377,10 +386,12 @@ pip install "lionagi[ollama]"
|
|
377
386
|
## Community & Contributing
|
378
387
|
|
379
388
|
We welcome issues, ideas, and pull requests:
|
389
|
+
|
380
390
|
- Discord: Join to chat or get help
|
381
391
|
- Issues / PRs: GitHub
|
382
392
|
|
383
393
|
### Citation
|
394
|
+
|
384
395
|
```
|
385
396
|
@software{Li_LionAGI_2023,
|
386
397
|
author = {Haiyang Li},
|
@@ -392,4 +403,6 @@ We welcome issues, ideas, and pull requests:
|
|
392
403
|
```
|
393
404
|
|
394
405
|
**🦁 LionAGI**
|
395
|
-
|
406
|
+
|
407
|
+
> Because real AI orchestration demands more than a single prompt. Try it out
|
408
|
+
> and discover the next evolution in structured, multi-model, safe AI.
|
@@ -4,7 +4,7 @@ lionagi/_errors.py,sha256=JlBTFJnRWtVYcRxKb7fWFiJHLbykl1E19mSJ8sXYVxg,455
|
|
4
4
|
lionagi/_types.py,sha256=iDdYewsP9rDrM7QY19_NDTcWUk7swp8vnGCrloHMtUM,53
|
5
5
|
lionagi/settings.py,sha256=W52mM34E6jXF3GyqCFzVREKZrmnUqtZm_BVDsUiDI_s,1627
|
6
6
|
lionagi/utils.py,sha256=uLTJKl7aTnFXV6ehA6zwiwEB7G2nQYKsO2pZ6mqFzUk,78908
|
7
|
-
lionagi/version.py,sha256=
|
7
|
+
lionagi/version.py,sha256=0tXlefZZVkpPOSdzPCMF-P32mDAIZaCt77gWQCpBAjY,23
|
8
8
|
lionagi/adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
9
9
|
lionagi/adapters/adapter.py,sha256=aW7s1OKAdxHd8HBv2UcThn-r2Q08EyArssNyFobMLuA,3357
|
10
10
|
lionagi/adapters/json_adapter.py,sha256=EJj0Jev46ZhU3ZMnlYwyzN2rLxjLCVrMDpHkEuggBvk,4561
|
@@ -22,15 +22,16 @@ lionagi/fields/code.py,sha256=TFym51obzaSfCmeRoHZJyBtjfDI4tvl9F-1sjFc9rMw,7713
|
|
22
22
|
lionagi/fields/file.py,sha256=DhQ_HE0RvTNzkvBGQHRgbMYSokDkzE8GEu814i6jw5Q,7297
|
23
23
|
lionagi/fields/instruct.py,sha256=sMbCxEv0HQLa31JkJDmdrWWEzIfeKbcmN2hYOehz3Q0,4773
|
24
24
|
lionagi/fields/reason.py,sha256=3Ksz9_40dI-oQ9VtmpnYAmJdeDDIO-TwLDrf1ijbXGM,1438
|
25
|
-
lionagi/fields/research.py,sha256=
|
25
|
+
lionagi/fields/research.py,sha256=eEPKocx8eQy2E9FExRWVIo6MK_xvmwBAoRZciBY3RG0,1421
|
26
26
|
lionagi/libs/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
27
27
|
lionagi/libs/parse.py,sha256=JRS3bql0InHJqATnAatl-hQv4N--XXw4P77JHhTFnrc,1011
|
28
28
|
lionagi/libs/file/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
29
29
|
lionagi/libs/file/chunk.py,sha256=XeVMwM33JF0X1W6udz_nhlb3DCevA_EK6A50Hn_e5SY,9300
|
30
|
+
lionagi/libs/file/concat.py,sha256=YSauXVBL3WWx5Mvpn208Cj7q9TLt_aq-0M9J1fm-ins,3864
|
30
31
|
lionagi/libs/file/concat_files.py,sha256=FoI983oWFzp9VfFDP7kmbRb3t1CPe5F5LCtsux0ASAs,3089
|
31
32
|
lionagi/libs/file/file_ops.py,sha256=HBiIh1EljIJ5VTIXuyvJM0ppSs0YYOPUWmgDMJT634U,3430
|
32
33
|
lionagi/libs/file/params.py,sha256=SZ5DkoffWfxWudOAYCfCxpL8UIm-1UjeyTtploo-Lqs,5824
|
33
|
-
lionagi/libs/file/process.py,sha256=
|
34
|
+
lionagi/libs/file/process.py,sha256=EsnEJcQUm4ReP7qkCeMvL4Qe6fLRcENVWZndh9TSUsc,8692
|
34
35
|
lionagi/libs/file/save.py,sha256=TCxVlKxFFnr3xZ-HAXPpTomQoyiVrp6nKRoj-bcQt4k,2863
|
35
36
|
lionagi/libs/nested/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
36
37
|
lionagi/libs/nested/flatten.py,sha256=sB4jxZRoaUbjak9RbIWVWNKz2hzkhQJPFffV_Ws1GA0,5479
|
@@ -65,7 +66,7 @@ lionagi/libs/token_transform/synthlang_/translate_to_synthlang.py,sha256=lRBpeKG
|
|
65
66
|
lionagi/libs/token_transform/synthlang_/resources/frameworks/abstract_algebra.toml,sha256=2TuOAo97g8mNhdPH96HP8vYZpnC8neiP-KlhVqbp1Us,970
|
66
67
|
lionagi/libs/token_transform/synthlang_/resources/frameworks/category_theory.toml,sha256=Stg9W3h8o7VkQ9tdAfSZmR3LctFqcH6OhOPdaw9BlIg,1064
|
67
68
|
lionagi/libs/token_transform/synthlang_/resources/frameworks/complex_analysis.toml,sha256=iE6FS7Cn5_uJRG5-StLuMM4XVAk95bxhbYWwlstw_tA,1044
|
68
|
-
lionagi/libs/token_transform/synthlang_/resources/frameworks/framework_options.json,sha256=
|
69
|
+
lionagi/libs/token_transform/synthlang_/resources/frameworks/framework_options.json,sha256=_MQcXWBcgzPM6F13e_JDoF7rzTbi_zlXOXutyyYahBY,1384
|
69
70
|
lionagi/libs/token_transform/synthlang_/resources/frameworks/group_theory.toml,sha256=iVlcS250YMosNRv3l8bz3BT9Tx1xCmiwhfNt4CjjRYc,713
|
70
71
|
lionagi/libs/token_transform/synthlang_/resources/frameworks/math_logic.toml,sha256=jeFOF8gjRhb4hYXpW7AxTX8uk9c6DvGulJK5Bowxhq4,1037
|
71
72
|
lionagi/libs/token_transform/synthlang_/resources/frameworks/reflective_patterns.toml,sha256=LxBIVLHNLfvVdXjLAzqivrYaHNix514DLNYsbA-VSQ4,5730
|
@@ -158,7 +159,7 @@ lionagi/protocols/messages/instruction.py,sha256=0dUsUYd6xYsbOHU7GafvqBkpDQQoFOX
|
|
158
159
|
lionagi/protocols/messages/manager.py,sha256=e1jW5JH_3jZpZbFCvWZX0TG0DCgzANRUejW_6NqbtDc,17182
|
159
160
|
lionagi/protocols/messages/message.py,sha256=rrGbya6rF86UB8xZcRP1YjgfJIFCxEWPQfHDcMuyBnM,7724
|
160
161
|
lionagi/protocols/messages/system.py,sha256=x0F1C57SFHaO2-Z9cy1QshYlxv8wjl7VppooaGKbMIg,4658
|
161
|
-
lionagi/protocols/messages/templates/README.md,sha256=
|
162
|
+
lionagi/protocols/messages/templates/README.md,sha256=Ux1ua0lN8AP2Ry5_6_eyiPCBtcFHV6e-GdpmEFu3XCs,1282
|
162
163
|
lionagi/protocols/messages/templates/action_request.jinja2,sha256=d6OmxHKyvvNDSK4bnBM3TGSUk_HeE_Q2EtLAQ0ZBEJg,120
|
163
164
|
lionagi/protocols/messages/templates/action_response.jinja2,sha256=Mg0UxmXlIvtP_KPB0GcJxE1TP6lml9BwdPkW1PZxkg8,142
|
164
165
|
lionagi/protocols/messages/templates/assistant_response.jinja2,sha256=oKOX4myBy7it1J1f92mvTS1iBUUlZfsJsY2fC42ygvc,119
|
@@ -222,7 +223,7 @@ lionagi/tools/file/writer.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,
|
|
222
223
|
lionagi/tools/file/providers/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
223
224
|
lionagi/tools/file/providers/docling_.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
224
225
|
lionagi/tools/query/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
225
|
-
lionagi-0.10.
|
226
|
-
lionagi-0.10.
|
227
|
-
lionagi-0.10.
|
228
|
-
lionagi-0.10.
|
226
|
+
lionagi-0.10.7.dist-info/METADATA,sha256=LXQN1lR4oZDrgH-hM7Lje0d-yPkP7CCDa-l8VN1KXBQ,18472
|
227
|
+
lionagi-0.10.7.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
228
|
+
lionagi-0.10.7.dist-info/licenses/LICENSE,sha256=VXFWsdoN5AAknBCgFqQNgPWYx7OPp-PFEP961zGdOjc,11288
|
229
|
+
lionagi-0.10.7.dist-info/RECORD,,
|
File without changes
|
File without changes
|