lionagi 0.0.208__py3-none-any.whl → 0.0.210__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (104) hide show
  1. lionagi/__init__.py +4 -6
  2. lionagi/api_service/base_endpoint.py +65 -0
  3. lionagi/api_service/base_rate_limiter.py +121 -0
  4. lionagi/api_service/base_service.py +146 -0
  5. lionagi/api_service/chat_completion.py +6 -0
  6. lionagi/api_service/embeddings.py +6 -0
  7. lionagi/api_service/payload_package.py +47 -0
  8. lionagi/api_service/status_tracker.py +29 -0
  9. lionagi/core/__init__.py +5 -9
  10. lionagi/core/branch.py +1191 -0
  11. lionagi/core/flow.py +423 -0
  12. lionagi/core/{instruction_set/instruction_set.py → instruction_set.py} +3 -3
  13. lionagi/core/session.py +872 -0
  14. lionagi/schema/__init__.py +5 -8
  15. lionagi/schema/base_schema.py +821 -0
  16. lionagi/{_services → services}/base_service.py +4 -4
  17. lionagi/{_services → services}/oai.py +4 -4
  18. lionagi/structures/graph.py +1 -1
  19. lionagi/structures/relationship.py +1 -1
  20. lionagi/structures/structure.py +1 -1
  21. lionagi/tools/tool_manager.py +0 -163
  22. lionagi/tools/tool_util.py +2 -1
  23. lionagi/utils/__init__.py +7 -14
  24. lionagi/utils/api_util.py +63 -2
  25. lionagi/utils/core_utils.py +338 -0
  26. lionagi/utils/sys_util.py +3 -3
  27. lionagi/version.py +1 -1
  28. {lionagi-0.0.208.dist-info → lionagi-0.0.210.dist-info}/METADATA +28 -29
  29. lionagi-0.0.210.dist-info/RECORD +56 -0
  30. lionagi/_services/anthropic.py +0 -79
  31. lionagi/_services/anyscale.py +0 -0
  32. lionagi/_services/azure.py +0 -1
  33. lionagi/_services/bedrock.py +0 -0
  34. lionagi/_services/everlyai.py +0 -0
  35. lionagi/_services/gemini.py +0 -0
  36. lionagi/_services/gpt4all.py +0 -0
  37. lionagi/_services/huggingface.py +0 -0
  38. lionagi/_services/litellm.py +0 -33
  39. lionagi/_services/localai.py +0 -0
  40. lionagi/_services/openllm.py +0 -0
  41. lionagi/_services/openrouter.py +0 -44
  42. lionagi/_services/perplexity.py +0 -0
  43. lionagi/_services/predibase.py +0 -0
  44. lionagi/_services/rungpt.py +0 -0
  45. lionagi/_services/vllm.py +0 -0
  46. lionagi/_services/xinference.py +0 -0
  47. lionagi/agents/planner.py +0 -1
  48. lionagi/agents/prompter.py +0 -1
  49. lionagi/agents/scorer.py +0 -1
  50. lionagi/agents/summarizer.py +0 -1
  51. lionagi/agents/validator.py +0 -1
  52. lionagi/bridge/__init__.py +0 -22
  53. lionagi/bridge/langchain.py +0 -195
  54. lionagi/bridge/llama_index.py +0 -266
  55. lionagi/core/branch/__init__.py +0 -0
  56. lionagi/core/branch/branch.py +0 -841
  57. lionagi/core/branch/cluster.py +0 -1
  58. lionagi/core/branch/conversation.py +0 -787
  59. lionagi/core/core_util.py +0 -0
  60. lionagi/core/flow/__init__.py +0 -0
  61. lionagi/core/flow/flow.py +0 -19
  62. lionagi/core/flow/flow_util.py +0 -62
  63. lionagi/core/instruction_set/__init__.py +0 -0
  64. lionagi/core/messages/__init__.py +0 -0
  65. lionagi/core/sessions/__init__.py +0 -0
  66. lionagi/core/sessions/session.py +0 -504
  67. lionagi/datastores/__init__.py +0 -1
  68. lionagi/datastores/chroma.py +0 -1
  69. lionagi/datastores/deeplake.py +0 -1
  70. lionagi/datastores/elasticsearch.py +0 -1
  71. lionagi/datastores/lantern.py +0 -1
  72. lionagi/datastores/pinecone.py +0 -1
  73. lionagi/datastores/postgres.py +0 -1
  74. lionagi/datastores/qdrant.py +0 -1
  75. lionagi/loaders/__init__.py +0 -18
  76. lionagi/loaders/chunker.py +0 -166
  77. lionagi/loaders/load_util.py +0 -240
  78. lionagi/loaders/reader.py +0 -122
  79. lionagi/models/__init__.py +0 -0
  80. lionagi/models/base_model.py +0 -0
  81. lionagi/models/imodel.py +0 -53
  82. lionagi/schema/async_queue.py +0 -158
  83. lionagi/schema/base_condition.py +0 -1
  84. lionagi/schema/base_node.py +0 -422
  85. lionagi/schema/base_tool.py +0 -44
  86. lionagi/schema/data_logger.py +0 -126
  87. lionagi/schema/data_node.py +0 -88
  88. lionagi/schema/status_tracker.py +0 -37
  89. lionagi/tests/test_utils/test_encrypt_util.py +0 -323
  90. lionagi/utils/encrypt_util.py +0 -283
  91. lionagi/utils/url_util.py +0 -55
  92. lionagi-0.0.208.dist-info/RECORD +0 -106
  93. lionagi/{agents → api_service}/__init__.py +0 -0
  94. lionagi/core/{branch/branch_manager.py → branch_manager.py} +0 -0
  95. lionagi/core/{messages/messages.py → messages.py} +3 -3
  96. /lionagi/{_services → services}/__init__.py +0 -0
  97. /lionagi/{_services → services}/mistralai.py +0 -0
  98. /lionagi/{_services → services}/mlx_service.py +0 -0
  99. /lionagi/{_services → services}/ollama.py +0 -0
  100. /lionagi/{_services → services}/services.py +0 -0
  101. /lionagi/{_services → services}/transformers.py +0 -0
  102. {lionagi-0.0.208.dist-info → lionagi-0.0.210.dist-info}/LICENSE +0 -0
  103. {lionagi-0.0.208.dist-info → lionagi-0.0.210.dist-info}/WHEEL +0 -0
  104. {lionagi-0.0.208.dist-info → lionagi-0.0.210.dist-info}/top_level.txt +0 -0
@@ -1,283 +0,0 @@
1
- import base64
2
- import binascii
3
- import hashlib
4
- import os
5
- import zipfile
6
- from base64 import urlsafe_b64encode
7
- from cryptography.fernet import Fernet, InvalidToken
8
- from cryptography.hazmat.backends import default_backend
9
- from cryptography.hazmat.primitives import hashes
10
- from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC
11
- from typing import Optional
12
-
13
-
14
- class EncrytionUtil:
15
- """
16
- A utility class for handling encryption, decryption, file operations, and password strength checking.
17
- """
18
-
19
- @staticmethod
20
- def password_strength_checker(password: str) -> bool:
21
- """
22
- Check the strength of a password.
23
-
24
- Args:
25
- password (str): The password to check.
26
-
27
- Returns:
28
- bool: True if the password is strong, False otherwise.
29
-
30
- Examples:
31
- >>> password_strength_checker("Weakpass")
32
- False
33
- >>> password_strength_checker("Strongpass1")
34
- True
35
- """
36
- if len(password) < 8 or not any(char.isdigit() for char in password) or not any(char.isupper() for char in password):
37
- return False
38
- return True
39
-
40
- @staticmethod
41
- def generate_encryption_key(password: Optional[str] = None, salt: Optional[bytes] = None) -> str:
42
- """
43
- Generate an encryption key from a password and salt.
44
-
45
- Args:
46
- password (Optional[str]): The password to derive the key from. If None, a random key is generated.
47
- salt (Optional[bytes]): A salt for the key derivation. If None, a random salt is used.
48
-
49
- Returns:
50
- str: The generated encryption key as a URL-safe base64-encoded string.
51
-
52
- Raises:
53
- ValueError: If the password is too weak.
54
-
55
- Examples:
56
- >>> key = generate_encryption_key("Strongpass1")
57
- >>> isinstance(key, str)
58
- True
59
- """
60
- if password:
61
- if not EncrytionUtil.password_strength_checker(password):
62
- raise ValueError("Password is too weak.")
63
- if not salt:
64
- salt = os.urandom(16)
65
- kdf = PBKDF2HMAC(
66
- algorithm=hashes.SHA256(),
67
- length=32,
68
- salt=salt,
69
- iterations=100000,
70
- backend=default_backend()
71
- )
72
- key = kdf.derive(password.encode())
73
- return urlsafe_b64encode(key).decode()
74
- else:
75
- return Fernet.generate_key().decode()
76
-
77
- @staticmethod
78
- def encrypt(data: str, key: str) -> str:
79
- """
80
- Encrypt the provided data using the provided key.
81
-
82
- Args:
83
- data (str): The data to encrypt.
84
- key (str): The encryption key.
85
-
86
- Returns:
87
- str: The encrypted data.
88
-
89
- Example:
90
- >>> encrypt("This is some test data.", "esvCExTuhddRb8kSobU_gnNRYObyTRTI2LJF4nYai5I=")
91
- 'gAAAAABloX9m_S_G1VUtbfGUDB7ooHJNt8sPiSCwnp1ehe6dExvMEqtw_ua2ELk_uUbLoB6a1XkbKLOkM4UBvwmk6sMoY-yNvE-Lv-w-VNnfzf89zH82rgI='
92
- """
93
- fernet = Fernet(key.encode())
94
- return fernet.encrypt(data.encode()).decode()
95
-
96
- @staticmethod
97
- def decrypt(data: str, key: str) -> str:
98
- """
99
- Decrypt the provided data using the provided key.
100
-
101
- Args:
102
- data (str): The data to decrypt.
103
- key (str): The encryption key.
104
-
105
- Returns:
106
- str: The decrypted data.
107
-
108
- Example:
109
- >>> decrypt('gAAAAABloX9m_S_G1VUtbfGUDB7ooHJNt8sPiSCwnp1ehe6dExvMEqtw_ua2ELk_uUbLoB6a1XkbKLOkM4UBvwmk6sMoY-yNvE-Lv-w-VNnfzf89zH82rgI=', "esvCExTuhddRb8kSobU_gnNRYObyTRTI2LJF4nYai5I=")
110
- 'This is some test data.'
111
- """
112
- fernet = Fernet(key.encode())
113
- return fernet.decrypt(data.encode()).decode()
114
-
115
- @staticmethod
116
- def encrypt_file(file_path: str, key: str, output_path: str = None):
117
- """
118
- Encrypt a file.
119
-
120
- Args:
121
- file_path (str): The path of the file to encrypt.
122
- key (str): The encryption key.
123
- output_path (str, optional): The path to save the encrypted file. If not provided, '.enc' is appended to the input file path.
124
-
125
- Example:
126
- >>> encrypt_file("test_file.txt", "esvCExTuhddRb8kSobU_gnNRYObyTRTI2LJF4nYai5I=")
127
- """
128
- if not output_path:
129
- output_path = file_path + '.enc'
130
- with open(file_path, 'rb') as file_to_encrypt:
131
- encrypted_data = EncrytionUtil.encrypt(file_to_encrypt.read().decode(), key)
132
- with open(output_path, 'wb') as encrypted_file:
133
- encrypted_file.write(encrypted_data.encode())
134
-
135
- @staticmethod
136
- def decrypt_file(encrypted_file_path: str, key: str, output_path: str = None):
137
- """
138
- Decrypt a file.
139
-
140
- Args:
141
- encrypted_file_path (str): The path of the file to decrypt.
142
- key (str): The encryption key.
143
- output_path (str, optional): The path to save the decrypted file. If not provided, '.enc' is removed from the input file path.
144
-
145
- Example:
146
- >>> decrypt_file("test_file.txt.enc", "esvCExTuhddRb8kSobU_gnNRYObyTRTI2LJF4nYai5I=")
147
- """
148
- if not output_path:
149
- output_path = encrypted_file_path.replace('.enc', '')
150
- with open(encrypted_file_path, 'rb') as encrypted_file:
151
- decrypted_data = EncrytionUtil.decrypt(encrypted_file.read().decode(), key)
152
- with open(output_path, 'wb') as decrypted_file:
153
- decrypted_file.write(decrypted_data.encode())
154
-
155
- @staticmethod
156
- def is_encrypted(file_path: str, key: str) -> bool:
157
- """
158
- Check if a file is encrypted.
159
-
160
- Args:
161
- file_path (str): The path of the file to check.
162
- key (str): The encryption key.
163
-
164
- Returns:
165
- bool: True if the file is encrypted, False otherwise.
166
-
167
- Example:
168
- >>> is_encrypted("test_file.txt.enc", "esvCExTuhddRb8kSobU_gnNRYObyTRTI2LJF4nYai5I=")
169
- True
170
- """
171
- try:
172
- EncrytionUtil.decrypt_file(file_path, key, "temp_decrypted_file")
173
- os.remove("temp_decrypted_file")
174
- return True
175
- except InvalidToken:
176
- return False
177
-
178
- @staticmethod
179
- def decompress_file(file_path: str, output_path: str = None):
180
- """
181
- Decompress a file.
182
-
183
- Args:
184
- file_path (str): The path of the file to decompress.
185
- output_path (str, optional): The path to save the decompressed file. If not provided, the file is decompressed in the same directory.
186
-
187
- Example:
188
- >>> decompress_file("test_file.txt.zip")
189
- """
190
- if not output_path:
191
- output_path = os.path.dirname(file_path)
192
- with zipfile.ZipFile(file_path, 'r') as zipf:
193
- zipf.extractall(output_path)
194
-
195
- @staticmethod
196
- def compress_file(file_path: str, output_path: str = None):
197
- """
198
- Compress a file.
199
-
200
- Args:
201
- file_path (str): The path of the file to compress.
202
- output_path (str, optional): The path to save the compressed file. If not provided, '.zip' is appended to the input file path.
203
-
204
- Example:
205
- >>> compress_file("test_file.txt")
206
- """
207
- if not output_path:
208
- output_path = file_path + '.zip'
209
- with zipfile.ZipFile(output_path, 'w', zipfile.ZIP_DEFLATED) as zipf:
210
- zipf.write(file_path)
211
-
212
- @staticmethod
213
- def binary_to_hex(data: bytes) -> str:
214
- """
215
- Convert binary data to a hexadecimal string representation.
216
-
217
- Args:
218
- data: A bytes object containing binary data.
219
-
220
- Returns:
221
- A string containing the hexadecimal representation of the binary data.
222
-
223
- Examples:
224
- >>> binary_to_hex(b'\x00\x0F')
225
- '000f'
226
- >>> binary_to_hex(b'hello')
227
- '68656c6c6f'
228
- """
229
- return binascii.hexlify(data).decode()
230
-
231
- @staticmethod
232
- def create_hash(data: str, algorithm: str = 'sha256') -> str:
233
- """
234
- Create a hash of the given data using the specified algorithm.
235
-
236
- Args:
237
- data: The string to hash.
238
- algorithm: The hashing algorithm to use (default is 'sha256').
239
-
240
- Returns:
241
- The hexadecimal digest of the hash.
242
-
243
- Examples:
244
- >>> create_hash('hello')
245
- '2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824'
246
- """
247
- hasher = hashlib.new(algorithm)
248
- hasher.update(data.encode())
249
- return hasher.hexdigest()
250
-
251
- @staticmethod
252
- def decode_base64(data: str) -> str:
253
- """
254
- Decode a base64 encoded string.
255
-
256
- Args:
257
- data: A base64 encoded string.
258
-
259
- Returns:
260
- A decoded string.
261
-
262
- Examples:
263
- >>> decode_base64('SGVsbG8sIFdvcmxkIQ==')
264
- 'Hello, World!'
265
- """
266
- return base64.b64decode(data).decode()
267
-
268
- @staticmethod
269
- def encode_base64(data: str) -> str:
270
- """
271
- Encode a string using base64 encoding.
272
-
273
- Args:
274
- data: A string to be encoded.
275
-
276
- Returns:
277
- A base64 encoded string.
278
-
279
- Examples:
280
- >>> encode_base64("Hello, World!")
281
- 'SGVsbG8sIFdvcmxkIQ=='
282
- """
283
- return base64.b64encode(data.encode()).decode()
lionagi/utils/url_util.py DELETED
@@ -1,55 +0,0 @@
1
- from bs4 import BeautifulSoup
2
- import requests
3
-
4
- def get_url_response(url: str, timeout: tuple = (1, 1), **kwargs) -> requests.Response:
5
- """
6
- Sends a GET request to a URL and returns the response.
7
-
8
- Args:
9
- url (str): The URL to send the GET request to.
10
- timeout (tuple): A tuple specifying the connection and read timeouts in seconds.
11
- Defaults to (1, 1).
12
- **kwargs: Additional keyword arguments to be passed to the requests.get() function.
13
-
14
- Returns:
15
- requests.Response: A Response object containing the server's response to the GET request.
16
-
17
- Raises:
18
- TimeoutError: If a timeout occurs while requesting or reading the response.
19
- Exception: If an error other than a timeout occurs during the request.
20
- """
21
- try:
22
- response = requests.get(url, timeout=timeout, **kwargs)
23
- response.raise_for_status()
24
- return response
25
- except requests.exceptions.ConnectTimeout:
26
- raise TimeoutError(f"Timeout: requesting >{timeout[0]} seconds.")
27
- except requests.exceptions.ReadTimeout:
28
- raise TimeoutError(f"Timeout: reading >{timeout[1]} seconds.")
29
- except Exception as e:
30
- raise e
31
-
32
- def get_url_content(url: str) -> str:
33
- """
34
- Retrieve and parse the content from a given URL.
35
-
36
- Args:
37
- url (str): The URL to fetch and parse.
38
-
39
- Returns:
40
- str: The text content extracted from the URL.
41
-
42
- Raises:
43
- ValueError: If there is an issue during content retrieval or parsing.
44
- """
45
- try:
46
- response = requests.get(url)
47
- response.raise_for_status()
48
-
49
- soup = BeautifulSoup(response.text, 'html.parser')
50
-
51
- text_content = ' '.join([p.get_text() for p in soup.find_all('p')])
52
- return text_content
53
- except Exception as e:
54
- raise f"Error fetching content for {url}: {e}"
55
-
@@ -1,106 +0,0 @@
1
- lionagi/__init__.py,sha256=pRm9tnfYQnj_ZCan3xr3HQO7tbUeqwRhSBtwOvXJ-o8,886
2
- lionagi/version.py,sha256=h353Rt8oXc0TPbWsDOE_dqhFFQbJXj59Oix9Avy62ds,24
3
- lionagi/_services/__init__.py,sha256=zU5sxmSI9-Jtp_WsI-Zsb6hmT8y5zF9YtJ7XikAjnbs,60
4
- lionagi/_services/anthropic.py,sha256=pLebbnr2H1A41bzXrJrU7yQbZY35swKrSi4mktXoIyk,3195
5
- lionagi/_services/anyscale.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
- lionagi/_services/azure.py,sha256=chG3GNX2BBDTWIuSVfZUJ_YF_ZVBSoel2d_AN0OChS0,6
7
- lionagi/_services/base_service.py,sha256=bbPQ9xTaY5jxrHe6vW_PeyRkoxVaxWmpWlCqQxSfRI8,17314
8
- lionagi/_services/bedrock.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
- lionagi/_services/everlyai.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
- lionagi/_services/gemini.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
- lionagi/_services/gpt4all.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
- lionagi/_services/huggingface.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
- lionagi/_services/litellm.py,sha256=ho_iSwU6Zdez5fZV_UaSMK899iY-5tLRx1kepyOinGY,1118
14
- lionagi/_services/localai.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
- lionagi/_services/mistralai.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
- lionagi/_services/mlx_service.py,sha256=1AF_RcV4KQmpxC67n2E0zRbssSlsTFmdnojydUXdJn4,1285
17
- lionagi/_services/oai.py,sha256=Jiuw_TibpYhN6x1PmHYUMi_0Nugrxmi5G1eimAuw21I,3958
18
- lionagi/_services/ollama.py,sha256=I2GvWtWA9WMyq_bhLe2JQlrkP_mAeqm2Bhf8ItOpEzQ,1190
19
- lionagi/_services/openllm.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
- lionagi/_services/openrouter.py,sha256=MuuwoT2ro9FmY7O1jzCenRrL2YfiYUMM8-0kKoGZHAY,1799
21
- lionagi/_services/perplexity.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
- lionagi/_services/predibase.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
- lionagi/_services/rungpt.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
- lionagi/_services/services.py,sha256=TwjAizQCTFCv_I8XZbTvpcryJPGt4vQAGYkGdZqJST0,5077
25
- lionagi/_services/transformers.py,sha256=nGfQbcECKzA1biHe4i9l01aKCMgULKFQ4LZyqjtvSXk,2934
26
- lionagi/_services/vllm.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
- lionagi/_services/xinference.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
- lionagi/agents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
- lionagi/agents/planner.py,sha256=chG3GNX2BBDTWIuSVfZUJ_YF_ZVBSoel2d_AN0OChS0,6
30
- lionagi/agents/prompter.py,sha256=chG3GNX2BBDTWIuSVfZUJ_YF_ZVBSoel2d_AN0OChS0,6
31
- lionagi/agents/scorer.py,sha256=chG3GNX2BBDTWIuSVfZUJ_YF_ZVBSoel2d_AN0OChS0,6
32
- lionagi/agents/summarizer.py,sha256=chG3GNX2BBDTWIuSVfZUJ_YF_ZVBSoel2d_AN0OChS0,6
33
- lionagi/agents/validator.py,sha256=chG3GNX2BBDTWIuSVfZUJ_YF_ZVBSoel2d_AN0OChS0,6
34
- lionagi/bridge/__init__.py,sha256=YDKi-pniFEknEXTSEvX6yEe4Y69f0kLvbjvEQ0TdrTU,575
35
- lionagi/bridge/langchain.py,sha256=y15hTYUrmvDdEyGCSgaUgrp5OalTvlMfkQb_-XISnEA,7233
36
- lionagi/bridge/llama_index.py,sha256=PHoWPXuYuEX8PPfFFW509n7Tzq3RgNAtpu_EuXcryhA,9901
37
- lionagi/configs/__init__.py,sha256=QOd4Rs7vjIpNWvIocxWQeU-q-MPRC-AOxh-gM-eBJ2o,142
38
- lionagi/configs/oai_configs.py,sha256=Q2ESc5QiMprnRc_w7SeMlaTYUWl_Y4SEzZSE4iOkz4Q,2646
39
- lionagi/configs/openrouter_configs.py,sha256=IBQHqb8mo4Jb3kYAm_7NOHSKRPwSdGbPpDJoiwHxLYw,1269
40
- lionagi/core/__init__.py,sha256=6uDjq1WCWBahNiCpzGaUCJe7GDg6lwUD_cGNT86GhwM,200
41
- lionagi/core/core_util.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
- lionagi/core/branch/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
43
- lionagi/core/branch/branch.py,sha256=D6vbbbgAqFvgeYrM0vGAKEzRoibu03_YiIn8oZgcpbM,35691
44
- lionagi/core/branch/branch_manager.py,sha256=zA_dECz9XYKLk7kK6zDWfHLs1ttRGYDfyCj4B7XKDqo,4903
45
- lionagi/core/branch/cluster.py,sha256=chG3GNX2BBDTWIuSVfZUJ_YF_ZVBSoel2d_AN0OChS0,6
46
- lionagi/core/branch/conversation.py,sha256=cuRKo2m0T-HZir0HopozHeBK3nErJ-TPwjp57pGwp5Y,30158
47
- lionagi/core/flow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
48
- lionagi/core/flow/flow.py,sha256=Fd6xVZKgjjpr-rcVAjvuMGP04OxNK4LVkbB9VnEP21k,813
49
- lionagi/core/flow/flow_util.py,sha256=OoQ2-ktkpQs9f1m1VI1pucUeq75Mx1aKqz8KdINMt8M,2083
50
- lionagi/core/instruction_set/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
51
- lionagi/core/instruction_set/instruction_set.py,sha256=bxrxPxLJdaenvZ2CMaiucNB4fZ_5AWVz49MYs3mG2G8,13682
52
- lionagi/core/messages/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
53
- lionagi/core/messages/messages.py,sha256=bokGS8hu4wQxa-4Gsf2Eg7Q99ANccjjixZpE-DC0P7g,6533
54
- lionagi/core/sessions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
- lionagi/core/sessions/session.py,sha256=ak8Ys9qv7_oPx0aYAmw865Airi0r-An4y8nKzyGW1Kg,20772
56
- lionagi/datastores/__init__.py,sha256=chG3GNX2BBDTWIuSVfZUJ_YF_ZVBSoel2d_AN0OChS0,6
57
- lionagi/datastores/chroma.py,sha256=chG3GNX2BBDTWIuSVfZUJ_YF_ZVBSoel2d_AN0OChS0,6
58
- lionagi/datastores/deeplake.py,sha256=chG3GNX2BBDTWIuSVfZUJ_YF_ZVBSoel2d_AN0OChS0,6
59
- lionagi/datastores/elasticsearch.py,sha256=chG3GNX2BBDTWIuSVfZUJ_YF_ZVBSoel2d_AN0OChS0,6
60
- lionagi/datastores/lantern.py,sha256=chG3GNX2BBDTWIuSVfZUJ_YF_ZVBSoel2d_AN0OChS0,6
61
- lionagi/datastores/pinecone.py,sha256=chG3GNX2BBDTWIuSVfZUJ_YF_ZVBSoel2d_AN0OChS0,6
62
- lionagi/datastores/postgres.py,sha256=chG3GNX2BBDTWIuSVfZUJ_YF_ZVBSoel2d_AN0OChS0,6
63
- lionagi/datastores/qdrant.py,sha256=chG3GNX2BBDTWIuSVfZUJ_YF_ZVBSoel2d_AN0OChS0,6
64
- lionagi/loaders/__init__.py,sha256=vOOwHkdI0yIA_jV_pNyOrdkS5Ghs0k4od75S1U60jJE,451
65
- lionagi/loaders/chunker.py,sha256=noh7NagZ3PBYNgUTIjbYvLlHP9UvoLaShTfc843h7Co,6455
66
- lionagi/loaders/load_util.py,sha256=4fzhMk3H6OvcQcViUwlLPSTMpcY4alfdel16lJgXz8Y,8358
67
- lionagi/loaders/reader.py,sha256=xI1uxw9qGJ_rWev_s3vtW8Ep9YaK-15q7ts-Jy61PGg,4625
68
- lionagi/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
69
- lionagi/models/base_model.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
- lionagi/models/imodel.py,sha256=VultpAAZ5PBT6_Cps-LjgZqHEyuF-km6eVvT-sEPEgo,1491
71
- lionagi/schema/__init__.py,sha256=XRWXK9sztycoIMCTzwLEVMxxc1wgWKNUDRbWTpn5Ie0,208
72
- lionagi/schema/async_queue.py,sha256=e_wFyDvCeKTxW6MAIU6Q3jxw24uEQuahaZwNDzZMB4k,5674
73
- lionagi/schema/base_condition.py,sha256=chG3GNX2BBDTWIuSVfZUJ_YF_ZVBSoel2d_AN0OChS0,6
74
- lionagi/schema/base_node.py,sha256=Ol4Y6gn81Dm8FJb3fdKVkJlq4R-OAGIf891exnVv45I,13211
75
- lionagi/schema/base_tool.py,sha256=8LR-MYOGkv9zCHd8tWry296OZNYlbTpYeO1xd-oQcOM,1254
76
- lionagi/schema/data_logger.py,sha256=2rNPBYF29_2xgv2m226BzKdTfFIVU1YlzQ0PK8zLAvY,4313
77
- lionagi/schema/data_node.py,sha256=k80mv5DCqAHrGNlmaIHAkCA7JF4dkaRaRDh_oku4kUY,2272
78
- lionagi/schema/status_tracker.py,sha256=6otnTSMrH5jM0PUDiDeK3zG0VOSKfNBDzNN6Bts2tmA,1236
79
- lionagi/structures/__init__.py,sha256=wMPekT2vbWwUkJ5aW5o-lzJC9Fzhta6RHDiFPTNUm_0,120
80
- lionagi/structures/graph.py,sha256=dqhRq5j3SOQvelUOanC3_DC4TQ1wRv4qK0QmleoLUZs,7788
81
- lionagi/structures/relationship.py,sha256=IgiYHD87bc57hzSAYSo27WqLgtk8pzgGbIxfPYJCI-g,6059
82
- lionagi/structures/structure.py,sha256=YyL3LxgeQWgkWDhACRxo8GoDn0IjE7idh7B0r5U3mZ4,3485
83
- lionagi/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
84
- lionagi/tests/test_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
85
- lionagi/tests/test_utils/test_api_util.py,sha256=7Zyc0J1glZrIWI1HrTRSRhzw8jaUW1L2vVLFAlUhI4g,9721
86
- lionagi/tests/test_utils/test_call_util.py,sha256=7xmfFaWvniMQfaOyfwasA2enJQVuSlcAwc8gUyAR_7k,26277
87
- lionagi/tests/test_utils/test_encrypt_util.py,sha256=hlkbFjQs2jodr8fgtPli6f1MO3doQbTcsZfzGKVrG5k,12652
88
- lionagi/tests/test_utils/test_io_util.py,sha256=cFZCT6EikVeuXB13w-UbtO3YceCHBO5RlNXxGICqg_U,11002
89
- lionagi/tests/test_utils/test_nested_util.py,sha256=Z1boHufhjZryw51qW2lABOnnyJ1snAFp26KKzzzD8Bs,12612
90
- lionagi/tests/test_utils/test_sys_util.py,sha256=TDCkzll-JLa6NuBbN_-ay5Rw9KTa_HcSHHAq62RVwGI,13545
91
- lionagi/tools/__init__.py,sha256=ZEck-ReP5Co05nAA2gUXTpKoDN2QZqrL7DvU9Z09gqg,69
92
- lionagi/tools/tool_manager.py,sha256=PeGy_F_I4yefbv7YZQupxvPCVTJRFLXZ3rrxCoxktTI,5958
93
- lionagi/tools/tool_util.py,sha256=5ln7lnqC_rjhKDDwef10xrBrjP1yLzsQvphllD5crec,9252
94
- lionagi/utils/__init__.py,sha256=Lq6XgvQa6iBNveN_LS0leKE2SCipvMw1UDdMjj6S-lM,1059
95
- lionagi/utils/api_util.py,sha256=YV-DKPgR4lCKO_riroSKyq6mO-8vz-SilRo_gWtg4Zg,15282
96
- lionagi/utils/call_util.py,sha256=nqrqUjRtTAaOSnRoEyLy5j6B7Pauv-MgzApOv9xrVkc,33187
97
- lionagi/utils/encrypt_util.py,sha256=iZjZdXVvl0lw4Yw_YNzIWriM3F2qKtzai7PgSQ1TExc,9316
98
- lionagi/utils/io_util.py,sha256=xoVsq8sP5JGsosuC80Kad3GkGjm8Qm0OLYyTw-U5ru8,6455
99
- lionagi/utils/nested_util.py,sha256=67j-ySQtuMGxtjnC-Ty2mwQgqp2g1gZhXRy1MulUu1U,26656
100
- lionagi/utils/sys_util.py,sha256=B4GboyxEEd6h2KCnsXcS62oCG8upQxTJ6LEbEQ2rBdA,15887
101
- lionagi/utils/url_util.py,sha256=fu1uRFwSR9D3dO1nfSYVNRD1b1BZVClcbpgF7tA_U4s,1864
102
- lionagi-0.0.208.dist-info/LICENSE,sha256=TBnSyG8fs_tMRtK805GzA1cIyExleKyzoN_kuVxT9IY,11358
103
- lionagi-0.0.208.dist-info/METADATA,sha256=4UDo6ioLE1sfEvzRdoMxDYgXB_N9-e9WR2bc94zul6A,17894
104
- lionagi-0.0.208.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
105
- lionagi-0.0.208.dist-info/top_level.txt,sha256=szvch_d2jE1Lu9ZIKsl26Ll6BGfYfbOgt5lm-UpFSo4,8
106
- lionagi-0.0.208.dist-info/RECORD,,
File without changes
@@ -1,10 +1,10 @@
1
+ import json
1
2
  from typing import Any, Dict, Optional
2
- from lionagi.schema.base_node import BaseNode
3
+
3
4
 
4
5
  from lionagi.utils.sys_util import strip_lower
5
6
  from lionagi.utils.nested_util import nget
6
-
7
- import json
7
+ from lionagi.schema.base_node import BaseNode
8
8
 
9
9
 
10
10
  class Message(BaseNode):
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes