lionagi 0.0.306__py3-none-any.whl → 0.0.308__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.
Files changed (78) hide show
  1. lionagi/__init__.py +2 -5
  2. lionagi/core/__init__.py +7 -5
  3. lionagi/core/agent/__init__.py +3 -0
  4. lionagi/core/agent/base_agent.py +10 -12
  5. lionagi/core/branch/__init__.py +4 -0
  6. lionagi/core/branch/base_branch.py +81 -81
  7. lionagi/core/branch/branch.py +16 -28
  8. lionagi/core/branch/branch_flow_mixin.py +3 -7
  9. lionagi/core/branch/executable_branch.py +86 -56
  10. lionagi/core/branch/util.py +77 -162
  11. lionagi/core/{flow/direct → direct}/__init__.py +1 -1
  12. lionagi/core/{flow/direct/predict.py → direct/parallel_predict.py} +39 -17
  13. lionagi/core/direct/parallel_react.py +0 -0
  14. lionagi/core/direct/parallel_score.py +0 -0
  15. lionagi/core/direct/parallel_select.py +0 -0
  16. lionagi/core/direct/parallel_sentiment.py +0 -0
  17. lionagi/core/direct/predict.py +174 -0
  18. lionagi/core/{flow/direct → direct}/react.py +2 -2
  19. lionagi/core/{flow/direct → direct}/score.py +28 -23
  20. lionagi/core/{flow/direct → direct}/select.py +48 -45
  21. lionagi/core/direct/utils.py +83 -0
  22. lionagi/core/flow/monoflow/ReAct.py +6 -5
  23. lionagi/core/flow/monoflow/__init__.py +9 -0
  24. lionagi/core/flow/monoflow/chat.py +10 -10
  25. lionagi/core/flow/monoflow/chat_mixin.py +11 -10
  26. lionagi/core/flow/monoflow/followup.py +6 -5
  27. lionagi/core/flow/polyflow/__init__.py +1 -0
  28. lionagi/core/flow/polyflow/chat.py +15 -3
  29. lionagi/core/mail/mail_manager.py +18 -19
  30. lionagi/core/mail/schema.py +5 -4
  31. lionagi/core/messages/schema.py +18 -20
  32. lionagi/core/prompt/__init__.py +0 -0
  33. lionagi/core/prompt/prompt_template.py +0 -0
  34. lionagi/core/schema/__init__.py +2 -2
  35. lionagi/core/schema/action_node.py +11 -3
  36. lionagi/core/schema/base_mixin.py +56 -59
  37. lionagi/core/schema/base_node.py +34 -37
  38. lionagi/core/schema/condition.py +24 -0
  39. lionagi/core/schema/data_logger.py +96 -99
  40. lionagi/core/schema/data_node.py +19 -19
  41. lionagi/core/schema/prompt_template.py +0 -0
  42. lionagi/core/schema/structure.py +171 -169
  43. lionagi/core/session/__init__.py +1 -3
  44. lionagi/core/session/session.py +196 -214
  45. lionagi/core/tool/tool_manager.py +95 -103
  46. lionagi/integrations/__init__.py +1 -3
  47. lionagi/integrations/bridge/langchain_/documents.py +17 -18
  48. lionagi/integrations/bridge/langchain_/langchain_bridge.py +14 -14
  49. lionagi/integrations/bridge/llamaindex_/llama_index_bridge.py +22 -22
  50. lionagi/integrations/bridge/llamaindex_/node_parser.py +12 -12
  51. lionagi/integrations/bridge/llamaindex_/reader.py +11 -11
  52. lionagi/integrations/bridge/llamaindex_/textnode.py +7 -7
  53. lionagi/integrations/config/openrouter_configs.py +0 -1
  54. lionagi/integrations/provider/oai.py +26 -26
  55. lionagi/integrations/provider/services.py +38 -38
  56. lionagi/libs/__init__.py +34 -1
  57. lionagi/libs/ln_api.py +211 -221
  58. lionagi/libs/ln_async.py +53 -60
  59. lionagi/libs/ln_convert.py +118 -120
  60. lionagi/libs/ln_dataframe.py +32 -33
  61. lionagi/libs/ln_func_call.py +334 -342
  62. lionagi/libs/ln_nested.py +99 -107
  63. lionagi/libs/ln_parse.py +161 -165
  64. lionagi/libs/sys_util.py +52 -52
  65. lionagi/tests/test_core/test_session.py +254 -266
  66. lionagi/tests/test_core/test_session_base_util.py +299 -300
  67. lionagi/tests/test_core/test_tool_manager.py +70 -74
  68. lionagi/tests/test_libs/test_nested.py +2 -7
  69. lionagi/tests/test_libs/test_parse.py +2 -2
  70. lionagi/version.py +1 -1
  71. {lionagi-0.0.306.dist-info → lionagi-0.0.308.dist-info}/METADATA +4 -2
  72. lionagi-0.0.308.dist-info/RECORD +115 -0
  73. lionagi/core/flow/direct/utils.py +0 -43
  74. lionagi-0.0.306.dist-info/RECORD +0 -106
  75. /lionagi/core/{flow/direct → direct}/sentiment.py +0 -0
  76. {lionagi-0.0.306.dist-info → lionagi-0.0.308.dist-info}/LICENSE +0 -0
  77. {lionagi-0.0.306.dist-info → lionagi-0.0.308.dist-info}/WHEEL +0 -0
  78. {lionagi-0.0.306.dist-info → lionagi-0.0.308.dist-info}/top_level.txt +0 -0
@@ -1,99 +1,95 @@
1
- from lionagi.core.tool.tool_manager import ToolManager
2
- from lionagi.core.schema import Tool
1
+ # from lionagi.core.tool.tool_manager import ToolManager
2
+ # from lionagi.core.schema import Tool
3
3
 
4
- import unittest
5
- from unittest.mock import patch, AsyncMock
6
- import asyncio
7
- import json
4
+ # import unittest
5
+ # from unittest.mock import patch, AsyncMock
6
+ # import asyncio
7
+ # import json
8
8
 
9
9
 
10
- class TestToolManager(unittest.TestCase):
11
- def setUp(self):
12
- self.manager = ToolManager()
13
- self.tool = Tool(func=lambda x: x, schema_={"function": {"name": "test_func"}})
10
+ # class TestToolManager(unittest.TestCase):
11
+ # def setUp(self):
12
+ # self.manager = ToolManager()
13
+ # self.tool = Tool(
14
+ # func=lambda x: x, schema_={"function": {"name": "test_func"}}
15
+ # )
14
16
 
15
- def test_register_and_check_tool(self):
16
- """Test registering a tool and checking its existence."""
17
- self.manager._register_tool(self.tool)
18
- self.assertTrue(self.manager.name_existed("test_func"))
17
+ # def test_register_and_check_tool(self):
18
+ # """Test registering a tool and checking its existence."""
19
+ # self.manager._register_tool(self.tool)
20
+ # self.assertTrue(self.manager.name_existed("test_func"))
19
21
 
20
- def test_register_tool_type_error(self):
21
- """Test that registering a non-Tool object raises a TypeError."""
22
- with self.assertRaises(TypeError):
23
- self.manager._register_tool("not_a_tool")
22
+ # def test_register_tool_type_error(self):
23
+ # """Test that registering a non-Tool object raises a TypeError."""
24
+ # with self.assertRaises(TypeError):
25
+ # self.manager._register_tool("not_a_tool")
24
26
 
25
- def test_name_not_existed(self):
26
- """Test querying a non-registered tool's existence."""
27
- self.assertFalse(self.manager.name_existed("non_existent_func"))
27
+ # def test_name_not_existed(self):
28
+ # """Test querying a non-registered tool's existence."""
29
+ # self.assertFalse(self.manager.name_existed("non_existent_func"))
28
30
 
29
31
 
30
- class TestToolInvocation(unittest.TestCase):
32
+ # class TestToolInvocation(unittest.TestCase):
31
33
 
32
- def setUp(self):
33
- self.manager = ToolManager()
34
+ # def setUp(self):
35
+ # self.manager = ToolManager()
34
36
 
35
- async def async_tool_func(x):
36
- return x
37
+ # async def async_tool_func(x):
38
+ # return x
37
39
 
38
- self.async_tool = Tool(
39
- func=async_tool_func, schema_={"function": {"name": "async_test_func"}}
40
- )
41
- self.sync_tool = Tool(
42
- func=lambda x: x, schema_={"function": {"name": "sync_test_func"}}
43
- )
40
+ # self.async_tool = Tool(
41
+ # func=async_tool_func,
42
+ # schema_={"function": {"name": "async_test_func"}}
43
+ # )
44
+ # self.sync_tool = Tool(
45
+ # func=lambda x: x, schema_={"function": {"name": "sync_test_func"}}
46
+ # )
44
47
 
45
- # @patch('lionagi.core.tool.tool_manager', return_value=False)
46
- # def test_invoke_sync_tool(self, mock_is_coroutine):
47
- # """Test invoking a synchronous tool."""
48
- # self.manager._register_tool(self.sync_tool)
49
- # result = asyncio.run(self.manager.invoke(('sync_test_func', {'x': 10})))
50
- # self.assertEqual(result, 10)
48
+ # # @patch('lionagi.core.tool.tool_manager', return_value=False) # def test_invoke_sync_tool(self, mock_is_coroutine): # """Test invoking a synchronous tool.""" # self.manager._register_tool(self.sync_tool) # result = asyncio.run(self.manager.invoke(('sync_test_func', {'x': 10}))) # self.assertEqual(result, 10)
51
49
 
52
- # @patch('lionagi.core.tool.tool_manager', return_value=True)
53
- # def test_invoke_async_tool(self, mock_call_handler, mock_is_coroutine):
54
- # """Test invoking an asynchronous tool."""
55
- # mock_call_handler.return_value = 10
56
- # self.manager._register_tool(self.async_tool)
57
- # result = asyncio.run(self.manager.invoke(('async_test_func', {'x': 10})))
58
- # self.assertEqual(result, 10)
50
+ # # @patch('lionagi.core.tool.tool_manager', return_value=True) # def test_invoke_async_tool(self, mock_call_handler, mock_is_coroutine): # """Test invoking an asynchronous tool.""" # mock_call_handler.return_value = 10 # self.manager._register_tool(self.async_tool) # result = asyncio.run(self.manager.invoke(('async_test_func', {'x': 10}))) # self.assertEqual(result, 10)
59
51
 
60
52
 
61
- class TestFunctionCallExtraction(unittest.TestCase):
53
+ # class TestFunctionCallExtraction(unittest.TestCase):
62
54
 
63
- def setUp(self):
64
- self.manager = ToolManager()
55
+ # def setUp(self):
56
+ # self.manager = ToolManager()
65
57
 
66
- def test_get_function_call_valid(self):
67
- """Test extracting a valid function call."""
68
- response = {"action": "action_test_func", "arguments": json.dumps({"x": 10})}
69
- func_call = self.manager.get_function_call(response)
70
- self.assertEqual(func_call, ("test_func", {"x": 10}))
58
+ # def test_get_function_call_valid(self):
59
+ # """Test extracting a valid function call."""
60
+ # response = {
61
+ # "action": "action_test_func", "arguments": json.dumps({"x": 10})
62
+ # }
63
+ # func_call = self.manager.get_function_call(response)
64
+ # self.assertEqual(func_call, ("test_func", {"x": 10}))
71
65
 
72
- def test_get_function_call_invalid(self):
73
- """Test handling an invalid function call."""
74
- with self.assertRaises(ValueError):
75
- self.manager.get_function_call({})
66
+ # def test_get_function_call_invalid(self):
67
+ # """Test handling an invalid function call."""
68
+ # with self.assertRaises(ValueError):
69
+ # self.manager.get_function_call({})
76
70
 
77
71
 
78
- class TestToolParser(unittest.TestCase):
72
+ # class TestToolParser(unittest.TestCase):
79
73
 
80
- def setUp(self):
81
- self.manager = ToolManager()
82
- self.tool = Tool(func=lambda x: x, schema_={"function": {"name": "test_func"}})
83
- self.manager._register_tool(self.tool)
74
+ # def setUp(self):
75
+ # self.manager = ToolManager()
76
+ # self.tool = Tool(
77
+ # func=lambda x: x, schema_={"function": {"name": "test_func"}}
78
+ # )
79
+ # self.manager._register_tool(self.tool)
84
80
 
85
- def test_tool_parser_single_tool(self):
86
- """Test parsing a single tool name."""
87
- parsed = self.manager.parse_tool("test_func")
88
- self.assertIn("tools", parsed)
89
- self.assertEqual(len(parsed["tools"]), 1)
90
- self.assertEqual(parsed["tools"][0]["function"]["name"], "test_func")
81
+ # def test_tool_parser_single_tool(self):
82
+ # """Test parsing a single tool name."""
83
+ # parsed = self.manager.parse_tool("test_func")
84
+ # self.assertIn("tools", parsed)
85
+ # self.assertEqual(len(parsed["tools"]), 1)
86
+ # self.assertEqual(parsed["tools"][0]["function"]["name"], "test_func")
91
87
 
92
- def test_tool_parser_unregistered_tool(self):
93
- """Test parsing an unregistered tool name."""
94
- with self.assertRaises(ValueError):
95
- self.manager.parse_tool("unregistered_func")
88
+ # def test_tool_parser_unregistered_tool(self):
89
+ # """Test parsing an unregistered tool name."""
90
+ # with self.assertRaises(ValueError):
91
+ # self.manager.parse_tool("unregistered_func")
96
92
 
97
93
 
98
- if __name__ == "__main__":
99
- unittest.main()
94
+ # if __name__ == "__main__":
95
+ # unittest.main()
@@ -172,14 +172,9 @@ class TestNGet(unittest.TestCase):
172
172
  result = nget(nested_structure, ["a", 1, "b"])
173
173
  self.assertEqual(result, 2)
174
174
 
175
- # def test_get_with_invalid_structure_type(self):
176
- # result = nget(1, [0]) # Attempting to retrieve from an integer, not a list/dict
177
- # self.assertIsNone(result)
175
+ # def test_get_with_invalid_structure_type(self): # result = nget(1, [0]) # Attempting to retrieve from an integer, not a list/dict # self.assertIsNone(result)
178
176
 
179
- # def test_get_with_index_out_of_bounds(self):
180
- # test_list = [1, 2, 3]
181
- # result = nget(test_list, [5])
182
- # self.assertIsNone(result)
177
+ # def test_get_with_index_out_of_bounds(self): # test_list = [1, 2, 3] # result = nget(test_list, [5]) # self.assertIsNone(result)
183
178
 
184
179
 
185
180
  class TestNMerge(unittest.TestCase):
@@ -113,8 +113,8 @@ class TestFuzzyParseJson(unittest.TestCase):
113
113
  Sample function.
114
114
 
115
115
  Args:
116
- param1 (int): Description of param1.
117
- param2 (str): Description of param2.
116
+ param1 (int): Description of param1.
117
+ param2 (str): Description of param2.
118
118
  """
119
119
  pass
120
120
 
lionagi/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.0.306"
1
+ __version__ = "0.0.308"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lionagi
3
- Version: 0.0.306
3
+ Version: 0.0.308
4
4
  Summary: Towards automated general intelligence.
5
5
  Author: HaiyangLi
6
6
  Author-email: Haiyang Li <ocean@lionagi.ai>
@@ -229,7 +229,9 @@ Requires-Dist: pandas >=2.1.0
229
229
  [PyPI](https://pypi.org/project/lionagi/) | [Documentation](https://ocean-lion.com/Welcome) | [Discord](https://discord.gg/xCkA5ErGmV)
230
230
 
231
231
  ```
232
- Documentation for v0.0.302 is in progress
232
+ Documentation for v0.0.300+ is in progress
233
+
234
+ To contribute, you need to make a fork first, and then make pull request from your fork.
233
235
  ```
234
236
 
235
237
  # LionAGI
@@ -0,0 +1,115 @@
1
+ lionagi/__init__.py,sha256=g2Iz44VWVeQmiDGQPpMjDXvITIs4fju9qx6BxFbVqRE,342
2
+ lionagi/version.py,sha256=ut4RxUu7Kie3WrktEjuCGAuJy8quyKdqx-pMXiV80eE,24
3
+ lionagi/core/__init__.py,sha256=TPltnT7e33IMQ9JxkO0cjNJDHuzqWKMcr7Cj7qax6EA,265
4
+ lionagi/core/agent/__init__.py,sha256=IVcw9yn_QMBJGBou1Atck98Us9uwPGFs-gERTv0RWew,59
5
+ lionagi/core/agent/base_agent.py,sha256=KKfIFlycAH_f7L3wdF2hfVk2GA1N2hXyGxSpzZMk14Y,1583
6
+ lionagi/core/branch/__init__.py,sha256=Ol4ob1p1ysLitT8m-qPCHBzx1PuhwpCAv2rTIbq_v4Q,117
7
+ lionagi/core/branch/base_branch.py,sha256=8iWFoXnVY3PNWwli6873YjuqKxqjzrPSfLyOx6Wy1Ag,22198
8
+ lionagi/core/branch/branch.py,sha256=PROgT6D6NJhvpn2jeLMgFwzNBfLMZ5wjbqxbuML9GI8,9999
9
+ lionagi/core/branch/branch_flow_mixin.py,sha256=R9IWuXpSYLEW9pZDSFb-dVgXzNWzXPSLBsMuyYz0h-o,2495
10
+ lionagi/core/branch/executable_branch.py,sha256=lr65A3ORmcfJj1YCdztmmHlEfNeaD5U115q2qLR6Mm0,7143
11
+ lionagi/core/branch/util.py,sha256=os7Qp7HpDfyyCvdkbBTyIQ3AYHfzUP0M684W4XMDHN4,11813
12
+ lionagi/core/branch/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
+ lionagi/core/direct/__init__.py,sha256=i7R5j-30yIdcHsSz2suGt0AZW2quHHQAdqiQtbyaPk0,226
14
+ lionagi/core/direct/parallel_predict.py,sha256=H4Ghbb4LYxy0nB_DPi3x7RSel9SDcqRzLvNSRdV1MaM,2974
15
+ lionagi/core/direct/parallel_react.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
+ lionagi/core/direct/parallel_score.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
+ lionagi/core/direct/parallel_select.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
+ lionagi/core/direct/parallel_sentiment.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
+ lionagi/core/direct/predict.py,sha256=GfQKN7gnHqEtG6-O-b8diLDK0VDd1rKHb0E0CMZtCt4,4215
20
+ lionagi/core/direct/react.py,sha256=OepwvEN_wKL60Ih_fRTyauFXhAFRdMvNyXmV005Xy3c,816
21
+ lionagi/core/direct/score.py,sha256=adS8OIXXczCG5fLyD0eL77t2QBDtRLErn0EE_kHKSwI,3984
22
+ lionagi/core/direct/select.py,sha256=as6dT3l9kzi_V4mouL0HAtGzJPIfgzazr3OiY6u3te0,3421
23
+ lionagi/core/direct/sentiment.py,sha256=EXLe5Waexfz-dAqy9j9VH99SGzTDACvnIGXWP-ZsYfs,1185
24
+ lionagi/core/direct/utils.py,sha256=_KuQrPAd_FDR2sGobbIDVATJuZya8tVJAAaQUI9Bqls,2179
25
+ lionagi/core/flow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
+ lionagi/core/flow/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
+ lionagi/core/flow/base/baseflow.py,sha256=rbxDYfBCUt0ctja4zN85Y6sAh7BznR3MxteP4xa9izw,396
28
+ lionagi/core/flow/monoflow/ReAct.py,sha256=ql4d6o7Phf6Aw4oQrArX6E_8M8XfmKka6Kfj7xozX6g,6336
29
+ lionagi/core/flow/monoflow/__init__.py,sha256=naNpq-RWnNfVytUgn61xbRYe8Pt0qz8jYy_CRrpUojw,159
30
+ lionagi/core/flow/monoflow/chat.py,sha256=n38iFdp7wJp_r89iOaEmvoCbnomnKNWOCdrcBDElTPw,1854
31
+ lionagi/core/flow/monoflow/chat_mixin.py,sha256=jrOFS4jgeu_-QIsbR18pdc8IFW3XPsl-75K_txaFfVo,4348
32
+ lionagi/core/flow/monoflow/followup.py,sha256=AuBZNUL2nPLO9Brz4-NTyION_1ODhxMOvmavJ6LFg3Q,4561
33
+ lionagi/core/flow/polyflow/__init__.py,sha256=Ti4HTyIagaZa-Mu7DBnid246BuvXtTuGhBdlVfDaBnM,27
34
+ lionagi/core/flow/polyflow/chat.py,sha256=n2gCEbSDXOiLewllSZawhbiwx9G1XnNdjg2DGMeFQyk,5450
35
+ lionagi/core/mail/__init__.py,sha256=FTMSvImGo3dQVnY1FYC_K0Ido9VwJa0DDJogR3nqSeM,145
36
+ lionagi/core/mail/mail_manager.py,sha256=M1l0eWdSj0oMLBeKIVqCJQ1Vn4GdIyf8tABagrsgwxc,3866
37
+ lionagi/core/mail/schema.py,sha256=qA5MsjJGeXQodEWOnKNF3l0_xnssNU3lroorUYuHq0Y,1625
38
+ lionagi/core/messages/__init__.py,sha256=NmK1xeR7xMgsbWxW-wm7d82QXKrRu6t7PKO5REpwO_k,99
39
+ lionagi/core/messages/schema.py,sha256=yzVOKSBDFqFNXvKuZVdwpF7rI1EJ6Sc1Gsst5yQVXow,18644
40
+ lionagi/core/prompt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
41
+ lionagi/core/prompt/prompt_template.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
+ lionagi/core/schema/__init__.py,sha256=-68dGT_rvviUlfG94PGYoK2UJncOm7hNYAmzPLyI6Uo,431
43
+ lionagi/core/schema/action_node.py,sha256=uTjHLe-GmR1p_9rT_BCF0JC4FB9Dd1Rr5c_2pAL01o8,736
44
+ lionagi/core/schema/base_mixin.py,sha256=c4YAxN5pOvmBZqvL-0bBGrJ7T9LPItVqPNrTwkP0FHk,11059
45
+ lionagi/core/schema/base_node.py,sha256=3nQ_Bl27LulcFQ9bS1N26nNpf5xQ5ahdFF1hVl2AuQU,6308
46
+ lionagi/core/schema/condition.py,sha256=D-P-lPLUCPTP8-CbeDCJGsKSmiFvWJRCGyUi7m8g1W0,631
47
+ lionagi/core/schema/data_logger.py,sha256=LkhLbWomGd-6OHTGcEn3AV_SwHZH1-IzAFTi2NGawcc,15702
48
+ lionagi/core/schema/data_node.py,sha256=JhmGRS8ijvrdnEKBiF4z2ZojR_BDJpR5yqaw2Z_l3zo,3231
49
+ lionagi/core/schema/prompt_template.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
50
+ lionagi/core/schema/structure.py,sha256=J8SGbRTZuf7a5bp2UPVJv85NKBtA2NePJDV8OM-9Xtg,21868
51
+ lionagi/core/session/__init__.py,sha256=A1W67UXOGAIRuSmFZPtGRqoPq0spTkjSiGCucOEEhTE,52
52
+ lionagi/core/session/session.py,sha256=vNqq5DbEEGfVaMPG8x8LAVnOXlZZ7jUeHgWnQtCRbqY,37975
53
+ lionagi/core/tool/__init__.py,sha256=hpv1NzjiPtpng2Ie_fXgIP-lVCSG1fTub-gO9Q41ee0,95
54
+ lionagi/core/tool/manual.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
+ lionagi/core/tool/tool_manager.py,sha256=KKFPZj9qCILJIc2k1UPiHWbRwejQnOAP42NcMT8Z0DQ,11215
56
+ lionagi/integrations/__init__.py,sha256=Il5Q9ATdX8yXqVxtP_nYqUhExzxPC_qk_WXQ_4h0exg,16
57
+ lionagi/integrations/bridge/__init__.py,sha256=ee5IeCkDOD2uhbzqxg_xDxaG-Q3BPPZCYltBjzg2gSs,169
58
+ lionagi/integrations/bridge/langchain_/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
59
+ lionagi/integrations/bridge/langchain_/documents.py,sha256=jpKtaQFaBDdiLqkrOjXIm-ddJVHb8JOKO-Wjm0SkoqY,4804
60
+ lionagi/integrations/bridge/langchain_/langchain_bridge.py,sha256=-lnJtyf4iJEwHKQAwBRN6YZ7CTsyFLetl5e8_9UGouY,3163
61
+ lionagi/integrations/bridge/llamaindex_/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
62
+ lionagi/integrations/bridge/llamaindex_/index.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
+ lionagi/integrations/bridge/llamaindex_/llama_index_bridge.py,sha256=SSnLSIu06xVsghTios01QKGrc2xCq3oC8fVNGO4QkF8,5064
64
+ lionagi/integrations/bridge/llamaindex_/node_parser.py,sha256=cDbMqPT9cAXGVPCOPE5HrXxtTZ5ko2Wiw6m8hIaWoGA,3486
65
+ lionagi/integrations/bridge/llamaindex_/reader.py,sha256=VxdTk5h3a3_5RQzN15q75XGli52umhz9gLUrKk1Sg90,8235
66
+ lionagi/integrations/bridge/llamaindex_/textnode.py,sha256=OszGitHZ36zbG4DCGWUnSV6EO7wChEH2VA5M50iBojs,2322
67
+ lionagi/integrations/bridge/pydantic_/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
68
+ lionagi/integrations/bridge/pydantic_/base_model.py,sha256=leAJmpNTFIOUgTe0nawCSW9V5oTecCsCPr_K6C4MSBM,237
69
+ lionagi/integrations/bridge/pydantic_/pydantic_bridge.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
+ lionagi/integrations/config/__init__.py,sha256=zzQGZe3H5vofcNWSjjoqe_gqHpCO8Yl7FefmrUpLqnw,133
71
+ lionagi/integrations/config/mlx_configs.py,sha256=xbostqjnk3aAN-qKyC54YBprHPA38C8YDevXMMEHXWY,44
72
+ lionagi/integrations/config/oai_configs.py,sha256=aoKx91Nv5eQU2F8v8EsALXQCEEfy3sfCgUYjCYEGJPU,2754
73
+ lionagi/integrations/config/ollama_configs.py,sha256=Np73p86bTJtxYwAj3lr5l8V9IMu7rHJPdyzHEqyzI2Q,17
74
+ lionagi/integrations/config/openrouter_configs.py,sha256=Sz4IHrriXoB8RQ0Pj23Q13Ps4AnZ0BWrh5DhL18NLwQ,1379
75
+ lionagi/integrations/provider/__init__.py,sha256=MJhnq2tkBRcMH-3utc0G-Co20MmsxLBbp3fUwHrJGQ8,198
76
+ lionagi/integrations/provider/litellm.py,sha256=l3sTtIPDeM_9soTLj9gpVfFWWDzFfIZ7rbVcuzeql2w,1181
77
+ lionagi/integrations/provider/mistralai.py,sha256=G-StbfrnUcWZvl0eRby6CZYXxmJf6BRMFzDaix-brmU,7
78
+ lionagi/integrations/provider/mlx_service.py,sha256=ilbBupRs3HeOeO2iwW0prVq57krPu9db8aYLgq_cN0A,1325
79
+ lionagi/integrations/provider/oai.py,sha256=ZxfVz-ZdpeYqXQFq_1_Lqlz4sG8zmp48MosGIpV5ggU,4222
80
+ lionagi/integrations/provider/ollama.py,sha256=1oQ9B3GAIqjG79KKA1rL6oD7qGwdZZbAlVqBe_jAnGM,1312
81
+ lionagi/integrations/provider/openrouter.py,sha256=ZEG2lLbp-qb7r95CFAuPz7EqAdsMuJxMJXfgWhaBHsk,1856
82
+ lionagi/integrations/provider/services.py,sha256=zLX_C0p1eI5cfxkxlxIVEsU0k_fknhV1-LoXPJZFE4w,5388
83
+ lionagi/integrations/provider/transformers.py,sha256=E6CTtm7pa3aa0IqYklWvhXz9YWlh3p_lgKaJXYfXeyA,3397
84
+ lionagi/libs/__init__.py,sha256=OF_HuVdyTiTx5hkiMqe8oce1J2u7GOKxiVFqCbZW3_I,768
85
+ lionagi/libs/ln_api.py,sha256=VUKrOyKyo4Vvsrqh3UOkEmzM0Eb3FXxeXMwBN4pNfDc,34556
86
+ lionagi/libs/ln_async.py,sha256=fOlFmg2nTYHzFKwJNIPQNJRr_hB7HXRKEhsN7j-XPLg,6074
87
+ lionagi/libs/ln_convert.py,sha256=3eYIOkt-xHOide5lmIUKgeQUBEQm20R3pX2ROuP3SAc,23469
88
+ lionagi/libs/ln_dataframe.py,sha256=d6oJQ1Xk7Mnl8FZj0lBCPf3QdFfPQpPqnnXsiG-ubUI,5539
89
+ lionagi/libs/ln_func_call.py,sha256=4V91ZLkoRJFdPHdfq44ZBgl_PqbL1qxVCGkOrRS8Spk,48437
90
+ lionagi/libs/ln_nested.py,sha256=Xu7xiOWLs0n5kwTR8uGXQ380o1-SnCS7SHJZv9chp90,29640
91
+ lionagi/libs/ln_parse.py,sha256=Eh1VrZZQAjF7_EL4jl0KYaYkszBnQtBzQYnFq9laJ60,23520
92
+ lionagi/libs/sys_util.py,sha256=jSc1HNxAI-Lg3bD3ZZyn0A4w_hM_FXz7OXg0GxZNDaw,16045
93
+ lionagi/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
94
+ lionagi/tests/test_core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
95
+ lionagi/tests/test_core/test_base_branch.py,sha256=jt7iFZMERpSOC6LPvBqrxwWz-Non-El0grsr2zanMkY,18629
96
+ lionagi/tests/test_core/test_branch.py,sha256=aimjQkoETvytpDx06PslWNGGs-zjbMi2lAqlW-HYTaw,11710
97
+ lionagi/tests/test_core/test_chat_flow.py,sha256=mjG7LV4yora7HG2_rIraxxpMROettQzZs6Eb85vaFS8,2596
98
+ lionagi/tests/test_core/test_mail_manager.py,sha256=yT7Hw-9BEMIlva8FvFu6843i1fQKbu98q8StLK7TTvo,2887
99
+ lionagi/tests/test_core/test_session.py,sha256=ErAkQe4ZK2yy6nouc0G6srhj8-1Gw8PAEF3SJ-KY0kc,9335
100
+ lionagi/tests/test_core/test_session_base_util.py,sha256=aLYzgjAtlsANG3npYkiClKlDhva3KV6nrrtmBI4O680,10618
101
+ lionagi/tests/test_core/test_tool_manager.py,sha256=WwQ2M900f3a76LQQVX7I-wgREj_rwARBnsIIZGqbeW0,3431
102
+ lionagi/tests/test_integrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
103
+ lionagi/tests/test_libs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
104
+ lionagi/tests/test_libs/test_api.py,sha256=wi8uEsV7vO-stJxvdajtOGBdnO76nGsZ_wjN0qXESEQ,1681
105
+ lionagi/tests/test_libs/test_async.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
106
+ lionagi/tests/test_libs/test_convert.py,sha256=o8xqmrd3RtSQ5Rrrujek8-RWdikhxwMbn4nyUmujoWI,2796
107
+ lionagi/tests/test_libs/test_func_call.py,sha256=xvs19YBNxqh3RbWLjQXY19L06b1_uZY611J6_JhNgcM,20782
108
+ lionagi/tests/test_libs/test_nested.py,sha256=eEcE4BXJEkjoPZsd9-0rUxOJHjmu8W2hgVClUTwXEFY,13106
109
+ lionagi/tests/test_libs/test_parse.py,sha256=aa74kfOoJwDU7L7-59EcgBGYc5-OtafPIP2oGTI3Zrk,6814
110
+ lionagi/tests/test_libs/test_sys_util.py,sha256=Y-9jxLGxgbFNp78Z0PJyGUjRROMuRAG3Vo3i5LAH8Hs,7849
111
+ lionagi-0.0.308.dist-info/LICENSE,sha256=TBnSyG8fs_tMRtK805GzA1cIyExleKyzoN_kuVxT9IY,11358
112
+ lionagi-0.0.308.dist-info/METADATA,sha256=MX4mtH-hZMML5DBjmD6OKgP1ERQUvYlGOWhKPelWDP8,18774
113
+ lionagi-0.0.308.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
114
+ lionagi-0.0.308.dist-info/top_level.txt,sha256=szvch_d2jE1Lu9ZIKsl26Ll6BGfYfbOgt5lm-UpFSo4,8
115
+ lionagi-0.0.308.dist-info/RECORD,,
@@ -1,43 +0,0 @@
1
- from lionagi.core.branch.branch import Branch
2
- from lionagi.libs.ln_parse import ParseUtil, StringMatch
3
- import lionagi.libs.ln_convert as convert
4
-
5
-
6
- def _parse_out(out_):
7
- if isinstance(out_, str):
8
- try:
9
- out_ = ParseUtil.md_to_json(out_)
10
- except:
11
- try:
12
- out_ = ParseUtil.fuzzy_parse_json(out_.strip("```json").strip("```"))
13
- except:
14
- pass
15
- return out_
16
-
17
-
18
- def _handle_single_out(
19
- out_, default_key, choices=None, to_type="dict", to_type_kwargs={}, to_default=True
20
- ):
21
-
22
- out_ = _parse_out(out_)
23
-
24
- if default_key not in out_:
25
- raise ValueError(f"Key {default_key} not found in output")
26
-
27
- answer = out_[default_key]
28
-
29
- if choices is not None:
30
- if answer not in choices:
31
- if convert.strip_lower(out_) in ["", "none", "null", "na", "n/a"]:
32
- raise ValueError(f"Answer {answer} not in choices {choices}")
33
-
34
- if to_type == 'str':
35
- out_[default_key] = convert.to_str(answer, **to_type_kwargs)
36
-
37
- elif to_type == 'num':
38
- out_[default_key] = convert.to_num(answer, **to_type_kwargs)
39
-
40
- if to_default and len(out_.keys()) == 1:
41
- return out_[default_key]
42
-
43
- return out_
@@ -1,106 +0,0 @@
1
- lionagi/__init__.py,sha256=py92TLbmT2yelG657hKxLmVC6RnwTsoJn42ZPOixUWM,289
2
- lionagi/version.py,sha256=7r1HzA9y9fwDMK01WA-_tQZsgGPDISub7vpgL7iq1KY,24
3
- lionagi/core/__init__.py,sha256=grjxPim25oth_joM980A9UAd0k-amyMF_eevb8_bGEs,153
4
- lionagi/core/agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
- lionagi/core/agent/base_agent.py,sha256=_PJJVIn6bVIesEu-H_IzS6dbipXTN2pU2tGBlGup4Ow,1556
6
- lionagi/core/branch/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
- lionagi/core/branch/base_branch.py,sha256=nYnKGGk1zTJfeGOSJ0b3Iq6gGl0OymIcdL1dFZ8kGRg,21852
8
- lionagi/core/branch/branch.py,sha256=GM-UFrL-RSWNjk3ATYEX8zrEs8No428SZEU_Z-X8mlI,10308
9
- lionagi/core/branch/branch_flow_mixin.py,sha256=B95zJbl6dCRUxGk9Oxxu0i-Am3u1162gagmHgog1Tws,2643
10
- lionagi/core/branch/executable_branch.py,sha256=QUSOl5prd9hoyqrU8MFlp7eHBl1ZCX1ueTf9x3Pooxk,5525
11
- lionagi/core/branch/util.py,sha256=l98_KE0iQ_Hy5aAtcfD4r78UyEMICkZ0rO921Azjm5k,15101
12
- lionagi/core/branch/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
- lionagi/core/flow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
- lionagi/core/flow/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
- lionagi/core/flow/base/baseflow.py,sha256=rbxDYfBCUt0ctja4zN85Y6sAh7BznR3MxteP4xa9izw,396
16
- lionagi/core/flow/direct/__init__.py,sha256=D8OFcsW8XIIpPvF9bYakKY0ll9k6kZn2jSMNB4Q-1_A,225
17
- lionagi/core/flow/direct/predict.py,sha256=y6aFtS8F3rSeUQVjF0DN5na05mGQ_RyPII_rxRpfMsI,2474
18
- lionagi/core/flow/direct/react.py,sha256=rDR1KXirC-a16tAdUwZWC8KP9NeqxvMD0zOWTkUVg0U,851
19
- lionagi/core/flow/direct/score.py,sha256=Sk7GJdOeefZmMW_SzklfdShAf48OM01qXEWlQTjqBzM,3982
20
- lionagi/core/flow/direct/select.py,sha256=hoDFVjKD3_SSAmSGrg0ccS3SUpDI6Pa03GgFClypB-w,3484
21
- lionagi/core/flow/direct/sentiment.py,sha256=EXLe5Waexfz-dAqy9j9VH99SGzTDACvnIGXWP-ZsYfs,1185
22
- lionagi/core/flow/direct/utils.py,sha256=4vTtC8qt-KVUUnu7REaSCcLVKVGE8ZNCNJdS2YhnIw8,1248
23
- lionagi/core/flow/monoflow/ReAct.py,sha256=MVe9U3fc1nhyZAhYqA4uTgpMw4700IbBpU-WYlZGnSc,6308
24
- lionagi/core/flow/monoflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
- lionagi/core/flow/monoflow/chat.py,sha256=Cdil0AT32gCGOZN0IX95Eijmy2X4NjqAbUOf9x0bCxY,1814
26
- lionagi/core/flow/monoflow/chat_mixin.py,sha256=By1tD0ilOtqakVruBX1dFEsBOZEw0q1aldtD686vfAo,4252
27
- lionagi/core/flow/monoflow/followup.py,sha256=2ySvz7cgWlls-3qPv_uemV3Pw9RJ5lUwdQDiP4KZizo,4533
28
- lionagi/core/flow/polyflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
- lionagi/core/flow/polyflow/chat.py,sha256=y--pMfC-1QgBeP_Bw-xv2au0tUSdjoLjO6NXWZjWXE8,5035
30
- lionagi/core/mail/__init__.py,sha256=FTMSvImGo3dQVnY1FYC_K0Ido9VwJa0DDJogR3nqSeM,145
31
- lionagi/core/mail/mail_manager.py,sha256=UhPGZdIfKQtAN3b0TiCX7iSHZwGXTIhzzyY6uacpz8Q,3958
32
- lionagi/core/mail/schema.py,sha256=YBUZajDwYLJ2nnLXt_4z-Cht0wAzLkGtJFkVMD_uWSc,1600
33
- lionagi/core/messages/__init__.py,sha256=NmK1xeR7xMgsbWxW-wm7d82QXKrRu6t7PKO5REpwO_k,99
34
- lionagi/core/messages/schema.py,sha256=rKSGHvHXBzFD-1CGF2EUkqBVmVY4Pp2tfvM5Jsh8iAY,18643
35
- lionagi/core/schema/__init__.py,sha256=AgVO1XB0_XHyiUI1I8IGLia7Jk2Yj8hFbet_tWyQpd8,404
36
- lionagi/core/schema/action_node.py,sha256=Aj4MW4XhfTTRvhaVXAVdbhKQj3hNW0wjBsAWbaQKN0Y,556
37
- lionagi/core/schema/base_mixin.py,sha256=cdcPVGw6utoR9voUIYghBqZecCFd0qCNi9t_p3b4GQY,10777
38
- lionagi/core/schema/base_node.py,sha256=hlliK1XR6aCrlZpcZKx4QTkhZl7SHhMoShY9srWoJ38,6302
39
- lionagi/core/schema/data_logger.py,sha256=bgPG8L4npC-MtvvEiyUe29CsT3tjX7Fh5An7aF9B3vs,15049
40
- lionagi/core/schema/data_node.py,sha256=bnPwbVRlNHonWnYgVKxI8EDnmQb75U_bbBjLmXpUlAk,3178
41
- lionagi/core/schema/structure.py,sha256=SuATGOJIVTD-QKNmOgzGMDI8s9TnFWtylzFzAuAHpIA,21252
42
- lionagi/core/session/__init__.py,sha256=Axy-btfkzmhtLdtU_LKDIROzJEQJMuArGsMsQSUsvWw,109
43
- lionagi/core/session/session.py,sha256=6dRcGrsVOfkDeGR0ijEkQa9dMl8X2_I5Q6aha2AV4e0,37646
44
- lionagi/core/tool/__init__.py,sha256=hpv1NzjiPtpng2Ie_fXgIP-lVCSG1fTub-gO9Q41ee0,95
45
- lionagi/core/tool/manual.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
- lionagi/core/tool/tool_manager.py,sha256=OARRwKLHIO7ty7g_aUIQPpgpyus2l0zH2DcFcma2jNU,11041
47
- lionagi/integrations/__init__.py,sha256=jyrgPw9sN0r3yxqgnYrF5i_f2ParHNildzVeSqlu02s,64
48
- lionagi/integrations/bridge/__init__.py,sha256=ee5IeCkDOD2uhbzqxg_xDxaG-Q3BPPZCYltBjzg2gSs,169
49
- lionagi/integrations/bridge/langchain_/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
50
- lionagi/integrations/bridge/langchain_/documents.py,sha256=uDiqt4BBiyOLypLx9R2MAHYsVCGmSTJLQggLmuentT4,4737
51
- lionagi/integrations/bridge/langchain_/langchain_bridge.py,sha256=C7ocwdUOG-yJsD8sIwxxkublB38WFkjTUyh8Q7kjd3I,3107
52
- lionagi/integrations/bridge/llamaindex_/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
53
- lionagi/integrations/bridge/llamaindex_/index.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
54
- lionagi/integrations/bridge/llamaindex_/llama_index_bridge.py,sha256=SJqLcMxXLv-iJn9G1IGAhjnCV2EFaLgBNqMJVG9lcsQ,4968
55
- lionagi/integrations/bridge/llamaindex_/node_parser.py,sha256=5Uc-1L5O6XdRhYzRMo63Xh93lTuA7Mq19mFS84cAiNI,3434
56
- lionagi/integrations/bridge/llamaindex_/reader.py,sha256=82BIulTA4lNB61UacchzH-rT9RmmezqKzq-Ga1Kd7Sg,8187
57
- lionagi/integrations/bridge/llamaindex_/textnode.py,sha256=4YbX22Jji96L_-stRxv4JCUI4Z0WQ4UlLf8ucHyqQjc,2290
58
- lionagi/integrations/bridge/pydantic_/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
59
- lionagi/integrations/bridge/pydantic_/base_model.py,sha256=leAJmpNTFIOUgTe0nawCSW9V5oTecCsCPr_K6C4MSBM,237
60
- lionagi/integrations/bridge/pydantic_/pydantic_bridge.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
61
- lionagi/integrations/config/__init__.py,sha256=zzQGZe3H5vofcNWSjjoqe_gqHpCO8Yl7FefmrUpLqnw,133
62
- lionagi/integrations/config/mlx_configs.py,sha256=xbostqjnk3aAN-qKyC54YBprHPA38C8YDevXMMEHXWY,44
63
- lionagi/integrations/config/oai_configs.py,sha256=aoKx91Nv5eQU2F8v8EsALXQCEEfy3sfCgUYjCYEGJPU,2754
64
- lionagi/integrations/config/ollama_configs.py,sha256=Np73p86bTJtxYwAj3lr5l8V9IMu7rHJPdyzHEqyzI2Q,17
65
- lionagi/integrations/config/openrouter_configs.py,sha256=y8szfK3tsq5b0FALHPLfMe9HLNHHvEMQo763PoRQUQA,1380
66
- lionagi/integrations/provider/__init__.py,sha256=MJhnq2tkBRcMH-3utc0G-Co20MmsxLBbp3fUwHrJGQ8,198
67
- lionagi/integrations/provider/litellm.py,sha256=l3sTtIPDeM_9soTLj9gpVfFWWDzFfIZ7rbVcuzeql2w,1181
68
- lionagi/integrations/provider/mistralai.py,sha256=G-StbfrnUcWZvl0eRby6CZYXxmJf6BRMFzDaix-brmU,7
69
- lionagi/integrations/provider/mlx_service.py,sha256=ilbBupRs3HeOeO2iwW0prVq57krPu9db8aYLgq_cN0A,1325
70
- lionagi/integrations/provider/oai.py,sha256=H7VndCaCJBtR_U5r-5ZwHOfmbjLsvILPDYO6aKRogyw,4118
71
- lionagi/integrations/provider/ollama.py,sha256=1oQ9B3GAIqjG79KKA1rL6oD7qGwdZZbAlVqBe_jAnGM,1312
72
- lionagi/integrations/provider/openrouter.py,sha256=ZEG2lLbp-qb7r95CFAuPz7EqAdsMuJxMJXfgWhaBHsk,1856
73
- lionagi/integrations/provider/services.py,sha256=9j7kcxHgfZJHQIUXf-j5jARK3jSkuP_pEfNlrIoAbCg,5212
74
- lionagi/integrations/provider/transformers.py,sha256=E6CTtm7pa3aa0IqYklWvhXz9YWlh3p_lgKaJXYfXeyA,3397
75
- lionagi/libs/__init__.py,sha256=Il5Q9ATdX8yXqVxtP_nYqUhExzxPC_qk_WXQ_4h0exg,16
76
- lionagi/libs/ln_api.py,sha256=NZF-Mb9s9BDUyUEFfgjEs9-E038LZPCMZhQsh8z-wY8,34520
77
- lionagi/libs/ln_async.py,sha256=jvNQT7-efZuEo3mqiMgei3oiSPi9Tpw8Htv_Q4lOE-c,6042
78
- lionagi/libs/ln_convert.py,sha256=IiqVvik_NwqsRQhloqsr1UFlwcpckswaY2msp2G8Fa8,23021
79
- lionagi/libs/ln_dataframe.py,sha256=bj8WPURlFcbi0v2sgZum1dNGBUVPjHCsTV-Gz8Ec0tE,5403
80
- lionagi/libs/ln_func_call.py,sha256=-iNhC98X4VmhBi8x_HmQnLXu5tbJLS1IRvuqMlFAXbA,47070
81
- lionagi/libs/ln_nested.py,sha256=DfeyPM0IscQuLIcXP5wIrDuRK4avwO9UZklPvyyblck,29474
82
- lionagi/libs/ln_parse.py,sha256=k8sTW0rSMBBQTjPdEcs1HvYLXISqSBASc7vVjqlkPAI,23160
83
- lionagi/libs/sys_util.py,sha256=vNx-FJO4YFWDPr3UlUDDGSPnWJ3uxTASIv50hFJiwvU,15775
84
- lionagi/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
85
- lionagi/tests/test_core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
86
- lionagi/tests/test_core/test_base_branch.py,sha256=jt7iFZMERpSOC6LPvBqrxwWz-Non-El0grsr2zanMkY,18629
87
- lionagi/tests/test_core/test_branch.py,sha256=aimjQkoETvytpDx06PslWNGGs-zjbMi2lAqlW-HYTaw,11710
88
- lionagi/tests/test_core/test_chat_flow.py,sha256=mjG7LV4yora7HG2_rIraxxpMROettQzZs6Eb85vaFS8,2596
89
- lionagi/tests/test_core/test_mail_manager.py,sha256=yT7Hw-9BEMIlva8FvFu6843i1fQKbu98q8StLK7TTvo,2887
90
- lionagi/tests/test_core/test_session.py,sha256=uk72vTYLS22Ho0cVkL2J_mYNXe6NOfg0IaYjVi6rjx8,10334
91
- lionagi/tests/test_core/test_session_base_util.py,sha256=MhfraXLqIRmTlgFKSz1ZbOXX1PvVtIio2Gn0-FUqyzk,11305
92
- lionagi/tests/test_core/test_tool_manager.py,sha256=3QkXEDY9B_2O2C1ljLl9XjYTENO8O8DTnSkLUy0gt5o,3586
93
- lionagi/tests/test_integrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
94
- lionagi/tests/test_libs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
95
- lionagi/tests/test_libs/test_api.py,sha256=wi8uEsV7vO-stJxvdajtOGBdnO76nGsZ_wjN0qXESEQ,1681
96
- lionagi/tests/test_libs/test_async.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
97
- lionagi/tests/test_libs/test_convert.py,sha256=o8xqmrd3RtSQ5Rrrujek8-RWdikhxwMbn4nyUmujoWI,2796
98
- lionagi/tests/test_libs/test_func_call.py,sha256=xvs19YBNxqh3RbWLjQXY19L06b1_uZY611J6_JhNgcM,20782
99
- lionagi/tests/test_libs/test_nested.py,sha256=_8IM0iOvWoyDMIR6430rBCtq7sgEkPb6q-ygmXDBIMc,13121
100
- lionagi/tests/test_libs/test_parse.py,sha256=K_wz1Oy-JyO8VoHX3ubfnbVsIOXrz9wXUTUEvg1dXq4,6806
101
- lionagi/tests/test_libs/test_sys_util.py,sha256=Y-9jxLGxgbFNp78Z0PJyGUjRROMuRAG3Vo3i5LAH8Hs,7849
102
- lionagi-0.0.306.dist-info/LICENSE,sha256=TBnSyG8fs_tMRtK805GzA1cIyExleKyzoN_kuVxT9IY,11358
103
- lionagi-0.0.306.dist-info/METADATA,sha256=OWrZWFcRyTMS-pm8dzrvyGysTiUOZJXLFv596lxDUeA,18682
104
- lionagi-0.0.306.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
105
- lionagi-0.0.306.dist-info/top_level.txt,sha256=szvch_d2jE1Lu9ZIKsl26Ll6BGfYfbOgt5lm-UpFSo4,8
106
- lionagi-0.0.306.dist-info/RECORD,,
File without changes