lionagi 0.5.0__tar.gz → 0.5.2__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (395) hide show
  1. {lionagi-0.5.0 → lionagi-0.5.2}/.env.example +2 -3
  2. {lionagi-0.5.0 → lionagi-0.5.2}/PKG-INFO +214 -15
  3. lionagi-0.5.2/README.md +318 -0
  4. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/__init__.py +0 -1
  5. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/action/tool.py +3 -5
  6. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/communication/action_request.py +3 -3
  7. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/communication/message.py +3 -3
  8. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/communication/utils.py +3 -3
  9. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/generic/component.py +4 -4
  10. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/generic/element.py +51 -47
  11. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/generic/graph.py +1 -1
  12. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/generic/log.py +2 -2
  13. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/generic/pile.py +10 -11
  14. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/generic/progression.py +19 -12
  15. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/generic/utils.py +6 -3
  16. lionagi-0.5.2/lionagi/core/models/base.py +28 -0
  17. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/models/field_model.py +42 -19
  18. lionagi-0.5.0/lionagi/core/models/new_model_params.py → lionagi-0.5.2/lionagi/core/models/model_params.py +5 -6
  19. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/models/note.py +2 -2
  20. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/models/operable_model.py +8 -4
  21. lionagi-0.5.2/lionagi/core/models/schema_model.py +28 -0
  22. lionagi-0.5.2/lionagi/core/models/types.py +19 -0
  23. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/session/branch.py +10 -7
  24. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/session/branch_mixins.py +52 -15
  25. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/session/session.py +1 -2
  26. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/typing/__init__.py +4 -4
  27. lionagi-0.5.0/lionagi/core/typing/concepts.py → lionagi-0.5.2/lionagi/core/typing/_concepts.py +43 -2
  28. lionagi-0.5.2/lionagi/core/typing/_id.py +104 -0
  29. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/anthropic_/AnthropicModel.py +8 -3
  30. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/anthropic_/AnthropicService.py +4 -0
  31. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/groq_/GroqModel.py +11 -4
  32. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/groq_/GroqService.py +4 -0
  33. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/litellm_/imodel.py +10 -8
  34. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/ollama_/OllamaService.py +4 -0
  35. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/OpenAIModel.py +12 -3
  36. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/image_token_calculator/image_token_calculator.py +14 -8
  37. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/perplexity_/PerplexityModel.py +8 -3
  38. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/perplexity_/PerplexityService.py +4 -0
  39. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/func/async_calls/__init__.py +6 -3
  40. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/func/async_calls/alcall.py +46 -0
  41. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/func/async_calls/bcall.py +49 -1
  42. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/func/async_calls/rcall.py +32 -0
  43. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/utils.py +12 -1
  44. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/operations/brainstorm/brainstorm.py +3 -3
  45. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/operations/plan/plan.py +3 -3
  46. lionagi-0.5.2/lionagi/protocols/__init__.py +3 -0
  47. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/protocols/configs/branch_config.py +1 -1
  48. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/protocols/configs/imodel_config.py +2 -2
  49. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/protocols/configs/log_config.py +1 -1
  50. lionagi-0.5.2/lionagi/protocols/operatives/__init__.py +3 -0
  51. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/protocols/operatives/action.py +4 -0
  52. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/protocols/operatives/instruct.py +6 -2
  53. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/protocols/operatives/operative.py +9 -21
  54. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/protocols/operatives/prompts.py +4 -0
  55. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/protocols/operatives/reason.py +4 -0
  56. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/protocols/operatives/step.py +11 -23
  57. lionagi-0.5.0/lionagi/protocols/operatives/__init__.py → lionagi-0.5.2/lionagi/protocols/operatives/types.py +4 -0
  58. lionagi-0.5.2/lionagi/protocols/registries/__init__.py +3 -0
  59. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/protocols/registries/_component_registry.py +4 -0
  60. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/protocols/registries/_pile_registry.py +4 -0
  61. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/service/__init__.py +3 -0
  62. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/service/imodel.py +22 -7
  63. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/service/service.py +4 -0
  64. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/service/service_match_util.py +4 -4
  65. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/settings.py +10 -18
  66. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/strategies/base.py +4 -5
  67. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/strategies/concurrent.py +4 -3
  68. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/strategies/concurrent_chunk.py +3 -3
  69. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/strategies/concurrent_sequential_chunk.py +3 -3
  70. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/strategies/params.py +7 -4
  71. lionagi-0.5.2/lionagi/version.py +1 -0
  72. {lionagi-0.5.0 → lionagi-0.5.2}/pyproject.toml +4 -2
  73. {lionagi-0.5.0 → lionagi-0.5.2}/uv.lock +21 -17
  74. lionagi-0.5.0/README.md +0 -121
  75. lionagi-0.5.0/lionagi/core/models/base.py +0 -85
  76. lionagi-0.5.0/lionagi/core/models/schema_model.py +0 -50
  77. lionagi-0.5.0/lionagi/core/models/types.py +0 -10
  78. lionagi-0.5.0/lionagi/core/typing/config.py +0 -15
  79. lionagi-0.5.0/lionagi/core/typing/id.py +0 -221
  80. lionagi-0.5.0/lionagi/strategies/__init__.py +0 -0
  81. lionagi-0.5.0/lionagi/version.py +0 -1
  82. {lionagi-0.5.0 → lionagi-0.5.2}/.github/FUNDING.yml +0 -0
  83. {lionagi-0.5.0 → lionagi-0.5.2}/.github/dependabot.yml +0 -0
  84. {lionagi-0.5.0 → lionagi-0.5.2}/.github/workflows/ci.yml +0 -0
  85. {lionagi-0.5.0 → lionagi-0.5.2}/.github/workflows/codeql.yml +0 -0
  86. {lionagi-0.5.0 → lionagi-0.5.2}/.github/workflows/release.yml +0 -0
  87. {lionagi-0.5.0 → lionagi-0.5.2}/.gitignore +0 -0
  88. {lionagi-0.5.0 → lionagi-0.5.2}/.pre-commit-config.yaml +0 -0
  89. {lionagi-0.5.0 → lionagi-0.5.2}/.python-version +0 -0
  90. {lionagi-0.5.0 → lionagi-0.5.2}/CODE_OF_CONDUCT.md +0 -0
  91. {lionagi-0.5.0 → lionagi-0.5.2}/CONTRIBUTING.md +0 -0
  92. {lionagi-0.5.0 → lionagi-0.5.2}/LICENSE +0 -0
  93. {lionagi-0.5.0 → lionagi-0.5.2}/docs/api_reference/action.md +0 -0
  94. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/__init__.py +0 -0
  95. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/_class_registry.py +0 -0
  96. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/action/__init__.py +0 -0
  97. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/action/action_manager.py +0 -0
  98. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/action/base.py +0 -0
  99. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/action/function_calling.py +0 -0
  100. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/action/types.py +0 -0
  101. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/communication/__init__.py +0 -0
  102. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/communication/action_response.py +0 -0
  103. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/communication/assistant_response.py +0 -0
  104. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/communication/base_mail.py +0 -0
  105. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/communication/instruction.py +0 -0
  106. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/communication/message_manager.py +0 -0
  107. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/communication/system.py +0 -0
  108. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/communication/templates/README.md +0 -0
  109. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/communication/templates/action_request.jinja2 +0 -0
  110. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/communication/templates/action_response.jinja2 +0 -0
  111. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/communication/templates/assistant_response.jinja2 +0 -0
  112. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/communication/templates/instruction_message.jinja2 +0 -0
  113. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/communication/templates/system_message.jinja2 +0 -0
  114. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/communication/templates/tool_schemas.jinja2 +0 -0
  115. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/communication/types.py +0 -0
  116. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/forms/__init__.py +0 -0
  117. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/forms/base.py +0 -0
  118. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/forms/form.py +0 -0
  119. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/forms/report.py +0 -0
  120. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/forms/types.py +0 -0
  121. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/forms/utils.py +0 -0
  122. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/generic/__init__.py +0 -0
  123. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/generic/edge.py +0 -0
  124. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/generic/log_manager.py +0 -0
  125. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/generic/node.py +0 -0
  126. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/generic/types.py +0 -0
  127. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/models/__init__.py +0 -0
  128. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/session/__init__.py +0 -0
  129. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/core/session/types.py +0 -0
  130. /lionagi-0.5.0/lionagi/core/typing/pydantic_.py → /lionagi-0.5.2/lionagi/core/typing/_pydantic.py +0 -0
  131. /lionagi-0.5.0/lionagi/core/typing/typing_.py → /lionagi-0.5.2/lionagi/core/typing/_typing.py +0 -0
  132. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/__init__.py +0 -0
  133. /lionagi-0.5.0/lionagi/integrations/services.py → /lionagi-0.5.2/lionagi/integrations/_services.py +0 -0
  134. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/anthropic_/__init__.py +0 -0
  135. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/anthropic_/anthropic_max_output_token_data.yaml +0 -0
  136. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/anthropic_/anthropic_price_data.yaml +0 -0
  137. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/anthropic_/api_endpoints/__init__.py +0 -0
  138. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/anthropic_/api_endpoints/api_request.py +0 -0
  139. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/anthropic_/api_endpoints/data_models.py +0 -0
  140. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/anthropic_/api_endpoints/match_response.py +0 -0
  141. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/anthropic_/api_endpoints/messages/__init__.py +0 -0
  142. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/anthropic_/api_endpoints/messages/request/__init__.py +0 -0
  143. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/anthropic_/api_endpoints/messages/request/message_models.py +0 -0
  144. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/anthropic_/api_endpoints/messages/request/request_body.py +0 -0
  145. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/anthropic_/api_endpoints/messages/response/__init__.py +0 -0
  146. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/anthropic_/api_endpoints/messages/response/content_models.py +0 -0
  147. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/anthropic_/api_endpoints/messages/response/response_body.py +0 -0
  148. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/anthropic_/api_endpoints/messages/response/usage_models.py +0 -0
  149. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/anthropic_/version.py +0 -0
  150. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/groq_/__init__.py +0 -0
  151. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/groq_/api_endpoints/__init__.py +0 -0
  152. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/groq_/api_endpoints/data_models.py +0 -0
  153. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/groq_/api_endpoints/groq_request.py +0 -0
  154. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/groq_/api_endpoints/match_response.py +0 -0
  155. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/groq_/api_endpoints/response_utils.py +0 -0
  156. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/groq_/groq_max_output_token_data.yaml +0 -0
  157. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/groq_/groq_price_data.yaml +0 -0
  158. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/groq_/groq_rate_limits.yaml +0 -0
  159. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/groq_/version.py +0 -0
  160. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/litellm_/__init__.py +0 -0
  161. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/ollama_/OllamaModel.py +0 -0
  162. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/ollama_/__init__.py +0 -0
  163. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/ollama_/api_endpoints/__init__.py +0 -0
  164. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/ollama_/api_endpoints/api_request.py +0 -0
  165. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/ollama_/api_endpoints/chat_completion/__init__.py +0 -0
  166. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/ollama_/api_endpoints/chat_completion/message_models.py +0 -0
  167. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/ollama_/api_endpoints/chat_completion/request_body.py +0 -0
  168. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/ollama_/api_endpoints/chat_completion/response_body.py +0 -0
  169. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/ollama_/api_endpoints/chat_completion/tool_models.py +0 -0
  170. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/ollama_/api_endpoints/completion/__init__.py +0 -0
  171. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/ollama_/api_endpoints/completion/request_body.py +0 -0
  172. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/ollama_/api_endpoints/completion/response_body.py +0 -0
  173. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/ollama_/api_endpoints/data_models.py +0 -0
  174. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/ollama_/api_endpoints/embedding/__init__.py +0 -0
  175. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/ollama_/api_endpoints/embedding/request_body.py +0 -0
  176. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/ollama_/api_endpoints/embedding/response_body.py +0 -0
  177. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/ollama_/api_endpoints/match_data_model.py +0 -0
  178. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/ollama_/api_endpoints/match_response.py +0 -0
  179. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/ollama_/api_endpoints/model/__init__.py +0 -0
  180. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/ollama_/api_endpoints/model/copy_model.py +0 -0
  181. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/ollama_/api_endpoints/model/create_model.py +0 -0
  182. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/ollama_/api_endpoints/model/delete_model.py +0 -0
  183. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/ollama_/api_endpoints/model/list_model.py +0 -0
  184. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/ollama_/api_endpoints/model/pull_model.py +0 -0
  185. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/ollama_/api_endpoints/model/push_model.py +0 -0
  186. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/ollama_/api_endpoints/model/show_model.py +0 -0
  187. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/ollama_/api_endpoints/option_models.py +0 -0
  188. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/OpenAIService.py +0 -0
  189. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/__init__.py +0 -0
  190. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/__init__.py +0 -0
  191. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/api_request.py +0 -0
  192. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/audio/__init__.py +0 -0
  193. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/audio/speech_models.py +0 -0
  194. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/audio/transcription_models.py +0 -0
  195. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/audio/translation_models.py +0 -0
  196. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/audio/types.py +0 -0
  197. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/batch/__init__.py +0 -0
  198. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/batch/batch_models.py +0 -0
  199. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/batch/cancel_batch.py +0 -0
  200. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/batch/create_batch.py +0 -0
  201. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/batch/list_batch.py +0 -0
  202. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/batch/request_object_models.py +0 -0
  203. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/batch/retrieve_batch.py +0 -0
  204. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/batch/types.py +0 -0
  205. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/chat_completions/__init__.py +0 -0
  206. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/chat_completions/request/__init__.py +0 -0
  207. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/chat_completions/request/message_models.py +0 -0
  208. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/chat_completions/request/request_body.py +0 -0
  209. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/chat_completions/request/response_format.py +0 -0
  210. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/chat_completions/request/stream_options.py +0 -0
  211. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/chat_completions/request/tool_choice_models.py +0 -0
  212. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/chat_completions/request/tool_models.py +0 -0
  213. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/chat_completions/request/types.py +0 -0
  214. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/chat_completions/response/__init__.py +0 -0
  215. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/chat_completions/response/choice_models.py +0 -0
  216. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/chat_completions/response/function_models.py +0 -0
  217. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/chat_completions/response/log_prob_models.py +0 -0
  218. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/chat_completions/response/message_models.py +0 -0
  219. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/chat_completions/response/response_body.py +0 -0
  220. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/chat_completions/response/types.py +0 -0
  221. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/chat_completions/response/usage_models.py +0 -0
  222. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/chat_completions/util.py +0 -0
  223. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/data_models.py +0 -0
  224. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/embeddings/__init__.py +0 -0
  225. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/embeddings/request_body.py +0 -0
  226. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/embeddings/response_body.py +0 -0
  227. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/files/__init__.py +0 -0
  228. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/files/delete_file.py +0 -0
  229. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/files/file_models.py +0 -0
  230. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/files/list_files.py +0 -0
  231. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/files/retrieve_file.py +0 -0
  232. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/files/upload_file.py +0 -0
  233. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/fine_tuning/__init__.py +0 -0
  234. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/fine_tuning/cancel_jobs.py +0 -0
  235. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/fine_tuning/create_jobs.py +0 -0
  236. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/fine_tuning/fine_tuning_job_checkpoint_models.py +0 -0
  237. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/fine_tuning/fine_tuning_job_event_models.py +0 -0
  238. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/fine_tuning/fine_tuning_job_models.py +0 -0
  239. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/fine_tuning/list_fine_tuning_checkpoints.py +0 -0
  240. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/fine_tuning/list_fine_tuning_events.py +0 -0
  241. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/fine_tuning/list_fine_tuning_jobs.py +0 -0
  242. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/fine_tuning/retrieve_jobs.py +0 -0
  243. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/fine_tuning/training_format.py +0 -0
  244. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/images/__init__.py +0 -0
  245. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/images/image_edit_models.py +0 -0
  246. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/images/image_models.py +0 -0
  247. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/images/image_variation_models.py +0 -0
  248. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/images/response_body.py +0 -0
  249. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/match_data_model.py +0 -0
  250. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/match_response.py +0 -0
  251. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/models/__init__.py +0 -0
  252. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/models/delete_fine_tuned_model.py +0 -0
  253. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/models/models_models.py +0 -0
  254. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/models/retrieve_model.py +0 -0
  255. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/moderations/__init__.py +0 -0
  256. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/moderations/request_body.py +0 -0
  257. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/moderations/response_body.py +0 -0
  258. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/uploads/__init__.py +0 -0
  259. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/uploads/add_upload_part.py +0 -0
  260. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/uploads/cancel_upload.py +0 -0
  261. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/uploads/complete_upload.py +0 -0
  262. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/uploads/create_upload.py +0 -0
  263. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/api_endpoints/uploads/uploads_models.py +0 -0
  264. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/image_token_calculator/__init__.py +0 -0
  265. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/image_token_calculator/openai_image_token_data.yaml +0 -0
  266. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/openai_max_output_token_data.yaml +0 -0
  267. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/openai_price_data.yaml +0 -0
  268. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/openai_/version.py +0 -0
  269. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/pandas_/__init__.py +0 -0
  270. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/pandas_/extend_df.py +0 -0
  271. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/pandas_/read.py +0 -0
  272. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/pandas_/remove_rows.py +0 -0
  273. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/pandas_/replace_keywords.py +0 -0
  274. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/pandas_/save.py +0 -0
  275. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/pandas_/search_keywords.py +0 -0
  276. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/pandas_/to_df.py +0 -0
  277. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/pandas_/update_cells.py +0 -0
  278. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/perplexity_/__init__.py +0 -0
  279. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/perplexity_/api_endpoints/__init__.py +0 -0
  280. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/perplexity_/api_endpoints/api_request.py +0 -0
  281. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/perplexity_/api_endpoints/chat_completions/__init__.py +0 -0
  282. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/perplexity_/api_endpoints/chat_completions/request/__init__.py +0 -0
  283. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/perplexity_/api_endpoints/chat_completions/request/request_body.py +0 -0
  284. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/perplexity_/api_endpoints/chat_completions/response/__init__.py +0 -0
  285. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/perplexity_/api_endpoints/chat_completions/response/response_body.py +0 -0
  286. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/perplexity_/api_endpoints/data_models.py +0 -0
  287. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/perplexity_/api_endpoints/match_response.py +0 -0
  288. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/perplexity_/perplexity_max_output_token_data.yaml +0 -0
  289. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/perplexity_/perplexity_price_data.yaml +0 -0
  290. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/perplexity_/version.py +0 -0
  291. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/pydantic_/__init__.py +0 -0
  292. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/pydantic_/break_down_annotation.py +0 -0
  293. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/integrations/pydantic_/new_model.py +0 -0
  294. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/__init__.py +0 -0
  295. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/compress/__init__.py +0 -0
  296. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/compress/models.py +0 -0
  297. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/compress/utils.py +0 -0
  298. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/constants.py +0 -0
  299. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/file/__init__.py +0 -0
  300. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/file/chunk.py +0 -0
  301. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/file/file_ops.py +0 -0
  302. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/file/params.py +0 -0
  303. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/file/path.py +0 -0
  304. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/file/process.py +0 -0
  305. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/file/save.py +0 -0
  306. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/file/types.py +0 -0
  307. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/func/__init__.py +0 -0
  308. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/func/async_calls/mcall.py +0 -0
  309. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/func/async_calls/pcall.py +0 -0
  310. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/func/async_calls/tcall.py +0 -0
  311. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/func/async_calls/ucall.py +0 -0
  312. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/func/decorators.py +0 -0
  313. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/func/lcall.py +0 -0
  314. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/func/params.py +0 -0
  315. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/func/throttle.py +0 -0
  316. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/func/types.py +0 -0
  317. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/func/utils.py +0 -0
  318. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/package/__init__.py +0 -0
  319. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/package/imports.py +0 -0
  320. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/package/management.py +0 -0
  321. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/package/params.py +0 -0
  322. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/package/system.py +0 -0
  323. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/package/types.py +0 -0
  324. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/__init__.py +0 -0
  325. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/flatten/__init__.py +0 -0
  326. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/flatten/flatten.py +0 -0
  327. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/flatten/params.py +0 -0
  328. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/flatten/unflatten.py +0 -0
  329. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/json/__init__.py +0 -0
  330. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/json/as_readable.py +0 -0
  331. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/json/extract.py +0 -0
  332. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/json/parse.py +0 -0
  333. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/json/schema.py +0 -0
  334. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/json/to_json.py +0 -0
  335. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/nested/__init__.py +0 -0
  336. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/nested/nfilter.py +0 -0
  337. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/nested/nget.py +0 -0
  338. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/nested/ninsert.py +0 -0
  339. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/nested/nmerge.py +0 -0
  340. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/nested/npop.py +0 -0
  341. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/nested/nset.py +0 -0
  342. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/nested/to_flat_list.py +0 -0
  343. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/nested/utils.py +0 -0
  344. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/params.py +0 -0
  345. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/string_parse/__init__.py +0 -0
  346. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/string_parse/code_block.py +0 -0
  347. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/string_parse/docstring.py +0 -0
  348. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/string_parse/function_.py +0 -0
  349. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/type_convert/__init__.py +0 -0
  350. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/type_convert/params.py +0 -0
  351. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/type_convert/to_dict.py +0 -0
  352. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/type_convert/to_list.py +0 -0
  353. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/type_convert/to_num.py +0 -0
  354. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/type_convert/to_str.py +0 -0
  355. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/types.py +0 -0
  356. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/validate/__init__.py +0 -0
  357. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/validate/boolean.py +0 -0
  358. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/validate/keys.py +0 -0
  359. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/validate/mapping.py +0 -0
  360. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/validate/params.py +0 -0
  361. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/xml/__init__.py +0 -0
  362. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/xml/convert.py +0 -0
  363. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/parse/xml/parser.py +0 -0
  364. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/string_similarity/__init__.py +0 -0
  365. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/string_similarity/algorithms.py +0 -0
  366. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/string_similarity/matcher.py +0 -0
  367. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/libs/string_similarity/utils.py +0 -0
  368. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/operations/__init__.py +0 -0
  369. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/operations/brainstorm/__init__.py +0 -0
  370. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/operations/brainstorm/prompt.py +0 -0
  371. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/operations/plan/__init__.py +0 -0
  372. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/operations/plan/prompt.py +0 -0
  373. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/operations/select/__init__.py +0 -0
  374. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/operations/select/prompt.py +0 -0
  375. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/operations/select/select.py +0 -0
  376. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/operations/select/utils.py +0 -0
  377. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/operations/utils.py +0 -0
  378. {lionagi-0.5.0/lionagi/protocols → lionagi-0.5.2/lionagi/protocols/adapters}/__init__.py +0 -0
  379. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/protocols/adapters/adapter.py +0 -0
  380. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/protocols/adapters/json_adapter.py +0 -0
  381. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/protocols/adapters/pandas_adapter.py +0 -0
  382. {lionagi-0.5.0/lionagi/protocols/adapters → lionagi-0.5.2/lionagi/protocols/configs}/__init__.py +0 -0
  383. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/protocols/configs/id_config.py +0 -0
  384. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/protocols/configs/retry_config.py +0 -0
  385. /lionagi-0.5.0/lionagi/protocols/configs/__init__.py → /lionagi-0.5.2/lionagi/protocols/configs/types.py +0 -0
  386. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/service/complete_request_info.py +0 -0
  387. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/service/rate_limiter.py +0 -0
  388. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/service/service_util.py +0 -0
  389. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/service/token_calculator.py +0 -0
  390. {lionagi-0.5.0/lionagi/protocols/registries → lionagi-0.5.2/lionagi/strategies}/__init__.py +0 -0
  391. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/strategies/sequential.py +0 -0
  392. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/strategies/sequential_chunk.py +0 -0
  393. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/strategies/sequential_concurrent_chunk.py +0 -0
  394. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/strategies/types.py +0 -0
  395. {lionagi-0.5.0 → lionagi-0.5.2}/lionagi/strategies/utils.py +0 -0
@@ -2,6 +2,5 @@
2
2
  # model providers
3
3
  # OPENAI_API_KEY=
4
4
  # ANTHROPIC_API_KEY=
5
-
6
- # scrape youtube
7
- # RAPIDAPI_KEY=
5
+ # PERPLEXITY_API_KEY=
6
+ # GROK_API_KEY=
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lionagi
3
- Version: 0.5.0
3
+ Version: 0.5.2
4
4
  Summary: An AGentic Intelligence Operating System.
5
5
  Author-email: HaiyangLi <quantocean.li@gmail.com>
6
6
  License: Apache License
@@ -218,10 +218,12 @@ Classifier: Programming Language :: Python :: 3.11
218
218
  Classifier: Programming Language :: Python :: 3.12
219
219
  Classifier: Programming Language :: Python :: 3.13
220
220
  Requires-Python: >=3.11
221
+ Requires-Dist: aiohttp>=3.11.10
221
222
  Requires-Dist: jinja2>=3.1.4
222
- Requires-Dist: litellm>=1.55.2
223
+ Requires-Dist: litellm>=1.55.3
223
224
  Requires-Dist: pandas>=2.0.0
224
225
  Requires-Dist: pillow>=11.0.0
226
+ Requires-Dist: pydantic>=2.10.3
225
227
  Requires-Dist: python-dotenv>=1.0.1
226
228
  Description-Content-Type: text/markdown
227
229
 
@@ -246,17 +248,35 @@ LION is designed to be:
246
248
  - 🔧 **Flexible**: Build any workflow you need
247
249
  - 🚀 **Efficient**: Minimal dependencies, maximum performance
248
250
 
251
+
252
+
253
+ ## Installation
254
+
255
+ LION maintains minimal dependencies for maximum reliability:
256
+
257
+ ```bash
258
+ uv pip install lionagi
259
+ ```
260
+
261
+ Dependencies:
262
+ - litellm
263
+ - jinja2
264
+ - pandas
265
+ - pillow
266
+ - python-dotenv
267
+
268
+
249
269
  ## Quick Start
250
270
 
251
271
  ```python
252
272
  from lionagi import iModel, Branch
253
273
 
254
274
  # Initialize model
255
- gpt4o = iModel(provider="openai", model="gpt-4o")
275
+ gpt4o = iModel(provider="openai", task="chat", model="gpt-4o")
256
276
 
257
277
  hunter = Branch(
258
- system="you are a hilarious dragon hunter who responds in 10 words rhymes",
259
- imodel=gpt4o,
278
+ system="you are a hilarious dragon hunter who responds in 10 words rhymes",
279
+ imodel=gpt4o,
260
280
  )
261
281
 
262
282
  # Chat asynchronously
@@ -267,20 +287,199 @@ print(await hunter.communicate("I am a dragon"))
267
287
  You claim to be a dragon, oh what a braggin'!
268
288
  ```
269
289
 
270
- ## Installation
290
+ ## 📦 Features
271
291
 
272
- LION maintains minimal dependencies for maximum reliability:
292
+ ### 1. Model Agnostic Structured Output
273
293
 
274
- ```bash
275
- uv pip install lionagi
294
+ LION provides a unified interface for interacting with any AI model, regardless of the underlying architecture. This allows you to easily switch between models without changing your code.
295
+
296
+ ```python
297
+ from pydantic import BaseModel
298
+
299
+ class Joke(BaseModel):
300
+ joke: str
301
+
302
+ sonnet = iModel(
303
+ provider="anthropic",
304
+ model="claude-3-5-sonnet-20241022",
305
+ max_tokens=100, # max_tokens is required for anthropic models
306
+ )
307
+
308
+ response = await hunter.communicate(
309
+ instruction="I am a dragon",
310
+ response_format=Joke, # structured output in given pydantic model
311
+ clear_messages=True, # refresh the conversation
312
+ imodel=sonnet, # use sonnet model, which doesn't support structured output
313
+ )
314
+
315
+ print(type(response))
316
+ print(response.joke)
276
317
  ```
277
318
 
278
- Dependencies:
279
- - litellm
280
- - jinja2
281
- - pandas
282
- - pillow
283
- - python-dotenv
319
+ ```
320
+ <class '__main__.Joke'>
321
+ Joke(joke='With fiery claws, dragons hide their laughter flaws!')
322
+ ```
323
+
324
+
325
+ ### 2. Complete Observability
326
+
327
+ ```python
328
+ # using perplexity model
329
+ pplx_small = iModel(
330
+ provider="perplexity",
331
+ task="chat/completions",
332
+ model="llama-3.1-sonar-small-128k-online",
333
+ max_tokens=1000,
334
+ )
335
+
336
+ b = await hunter.communicate(
337
+ instruction="What makes a well-behaved dragon?",
338
+ clear_messages=True, # refresh the conversation
339
+ imodel=pplx_small, # use sonnet model
340
+ )
341
+
342
+ print(b)
343
+ ```
344
+
345
+ ```
346
+ A well-behaved dragon is one that's calm and bright,
347
+ No stress or fear, just a peaceful night.
348
+ It's active, not lethargic, with a happy face,
349
+ And behaviors like digging, not a frantic pace.
350
+ It's social, friendly, and never a fright,
351
+ Just a gentle soul, shining with delight
352
+ ```
353
+
354
+ ```python
355
+ hunter.msgs.last_response.model_response
356
+ ```
357
+
358
+ ```
359
+ {'id': '1be10f4c-0936-4050-ab48-91bd86ab11a5',
360
+ 'model': 'llama-3.1-sonar-small-128k-online',
361
+ 'object': 'chat.completion',
362
+ 'created': 1734369700,
363
+ 'choices': [{'index': 0,
364
+ 'message': {'role': 'assistant',
365
+ 'content': "A well-behaved dragon is one that's calm and bright,\nNo stress or fear, just a peaceful night.\nIt's active, not lethargic, with a happy face,\nAnd behaviors like digging, not a frantic pace.\nIt's social, friendly, and never a fright,\nJust a gentle soul, shining with delight"},
366
+ 'finish_reason': 'stop',
367
+ 'delta': {'role': 'assistant', 'content': ''}}],
368
+ 'usage': {'prompt_tokens': 40, 'completion_tokens': 69, 'total_tokens': 109},
369
+ 'citations': [{'url': 'https://dragonsdiet.com/blogs/dragon-care/15-bearded-dragon-behaviors-and-what-they-could-mean'},
370
+ {'url': 'https://masterbraeokk.tripod.com/dragons/behavior.html'},
371
+ {'url': 'https://files.eric.ed.gov/fulltext/ED247607.pdf'},
372
+ {'url': 'https://www.travelchinaguide.com/intro/social_customs/zodiac/dragon/five-elements.htm'},
373
+ {'url': 'https://www.travelchinaguide.com/intro/social_customs/zodiac/dragon/'}]}
374
+ ```
375
+
376
+
377
+ ### 3. Easy composition of complex workflows
378
+
379
+ ```python
380
+ # chain of thoughts
381
+ from pydantic import Field
382
+
383
+ class Reason(BaseModel):
384
+ reason: str
385
+ confidence_score: float
386
+
387
+ class Thought(BaseModel):
388
+ thought: str
389
+
390
+ class Analysis(BaseModel):
391
+ thought: list[Thought] = Field(
392
+ default_factory=list,
393
+ description="concise Chain of thoughts from you, 3 step, each in 8 words"
394
+ )
395
+ analysis: str = Field(
396
+ ...,
397
+ description="Final analysis of the dragon's psyche in 20 words",
398
+ )
399
+ reason: list[Reason] = Field(
400
+ default_factory=list,
401
+ description="Concise Reasoning behind the analysis, 3 support, each in 8 words"
402
+ )
403
+
404
+ context1 = "I am a dragon, I think therefore I am, I suffer from shiny objects syndrome"
405
+ context2 = "I like food and poetry, I use uv sometimes, it's cool but I am not familiar with pip"
406
+
407
+ async def analyze(context) -> Analysis:
408
+ psychologist = Branch(
409
+ system="you are a renowned dragon psychologist",
410
+ imodel=gpt4o,
411
+ )
412
+ return await psychologist.communicate(
413
+ instruction="analyze the dragon's psyche using chain of thoughts",
414
+ guidance="think step by step, reason with logic",
415
+ context=context,
416
+ response_format=Analysis,
417
+ )
418
+
419
+ ```
420
+
421
+ ```python
422
+ result1 = await analyze(context1)
423
+
424
+ print("\nThoughts:")
425
+ for i in result1.thought:
426
+ print(i.thought)
427
+
428
+ print("\nAnalysis:")
429
+ print(result1.analysis)
430
+
431
+ print("\nReasoning:")
432
+ for i in result1.reason:
433
+ print(i.reason)
434
+ ```
435
+
436
+ ```
437
+
438
+ Thoughts:
439
+ Dragons are attracted to shiny objects naturally.
440
+ This suggests a strong affinity for hoarding.
441
+ Reflects the dragon's inherent desire for possession.
442
+
443
+ Analysis:
444
+ The dragon demonstrates a compulsive hoarding behavior linked to attraction for shiny objects.
445
+
446
+ Reasoning:
447
+ Shiny objects trigger instinctual hoarding behavior.
448
+ Possession indicates a symbol of power and security.
449
+ Hoarding is reinforced by evolutionary survival mechanisms.
450
+ ```
451
+
452
+ ```python
453
+ result2 = await analyze(context2)
454
+
455
+ print("\nThoughts:")
456
+ for i in result2.thought:
457
+ print(i.thought)
458
+
459
+ print("\nAnalysis:")
460
+ print(result2.analysis)
461
+
462
+ print("\nReasoning:")
463
+ for i in result2.reason:
464
+ print(i.reason)
465
+ ```
466
+
467
+ ```
468
+ Thoughts:
469
+ Dragon enjoys both food and poetry regularly.
470
+ Dragon uses uv light with frequent interest.
471
+ Dragon is unfamiliar and not comfortable with pip.
472
+
473
+ Analysis:
474
+ The dragon is curious and exploratory, yet selectively cautious about unfamiliar methodologies.
475
+
476
+ Reasoning:
477
+ Preference for food and poetry suggests curiosity.
478
+ Frequent uv light use indicates exploratory nature.
479
+ Discomfort with pip usage shows selective caution.
480
+ ```
481
+
482
+
284
483
 
285
484
  ## 🌟 Example Workflow
286
485
 
@@ -0,0 +1,318 @@
1
+ ![PyPI - Version](https://img.shields.io/pypi/v/lionagi?labelColor=233476aa&color=231fc935)
2
+ ![PyPI - Downloads](https://img.shields.io/pypi/dm/lionagi?color=blue)
3
+ ![Python Version](https://img.shields.io/badge/python-3.11%2B-blue)
4
+
5
+ [Documentation](https://ocean-lion.com/Welcome) | [Discord](https://discord.gg/aqSJ2v46vu) | [PyPI](https://pypi.org/project/lionagi/) | [Roadmap](https://trello.com/b/3seomsrI/lionagi)
6
+
7
+ # LION Framework
8
+ ### Language InterOperable Network - The Future of Controlled AI Operations
9
+
10
+ > Harness the power of next-generation AI while maintaining complete control and reliability.
11
+
12
+ ## Why LION?
13
+
14
+ The AI revolution is transforming how we work - but with great power comes great responsibility. LION provides the control mechanisms and reliability features needed to safely integrate advanced AI capabilities into enterprise workflows.
15
+
16
+ LION is designed to be:
17
+ - 🔒 **Controlled**: Built-in safety mechanisms and verification
18
+ - 🎯 **Precise**: Exact control over AI behaviors
19
+ - 🔧 **Flexible**: Build any workflow you need
20
+ - 🚀 **Efficient**: Minimal dependencies, maximum performance
21
+
22
+
23
+
24
+ ## Installation
25
+
26
+ LION maintains minimal dependencies for maximum reliability:
27
+
28
+ ```bash
29
+ uv pip install lionagi
30
+ ```
31
+
32
+ Dependencies:
33
+ - litellm
34
+ - jinja2
35
+ - pandas
36
+ - pillow
37
+ - python-dotenv
38
+
39
+
40
+ ## Quick Start
41
+
42
+ ```python
43
+ from lionagi import iModel, Branch
44
+
45
+ # Initialize model
46
+ gpt4o = iModel(provider="openai", task="chat", model="gpt-4o")
47
+
48
+ hunter = Branch(
49
+ system="you are a hilarious dragon hunter who responds in 10 words rhymes",
50
+ imodel=gpt4o,
51
+ )
52
+
53
+ # Chat asynchronously
54
+ print(await hunter.communicate("I am a dragon"))
55
+ ```
56
+
57
+ ```
58
+ You claim to be a dragon, oh what a braggin'!
59
+ ```
60
+
61
+ ## 📦 Features
62
+
63
+ ### 1. Model Agnostic Structured Output
64
+
65
+ LION provides a unified interface for interacting with any AI model, regardless of the underlying architecture. This allows you to easily switch between models without changing your code.
66
+
67
+ ```python
68
+ from pydantic import BaseModel
69
+
70
+ class Joke(BaseModel):
71
+ joke: str
72
+
73
+ sonnet = iModel(
74
+ provider="anthropic",
75
+ model="claude-3-5-sonnet-20241022",
76
+ max_tokens=100, # max_tokens is required for anthropic models
77
+ )
78
+
79
+ response = await hunter.communicate(
80
+ instruction="I am a dragon",
81
+ response_format=Joke, # structured output in given pydantic model
82
+ clear_messages=True, # refresh the conversation
83
+ imodel=sonnet, # use sonnet model, which doesn't support structured output
84
+ )
85
+
86
+ print(type(response))
87
+ print(response.joke)
88
+ ```
89
+
90
+ ```
91
+ <class '__main__.Joke'>
92
+ Joke(joke='With fiery claws, dragons hide their laughter flaws!')
93
+ ```
94
+
95
+
96
+ ### 2. Complete Observability
97
+
98
+ ```python
99
+ # using perplexity model
100
+ pplx_small = iModel(
101
+ provider="perplexity",
102
+ task="chat/completions",
103
+ model="llama-3.1-sonar-small-128k-online",
104
+ max_tokens=1000,
105
+ )
106
+
107
+ b = await hunter.communicate(
108
+ instruction="What makes a well-behaved dragon?",
109
+ clear_messages=True, # refresh the conversation
110
+ imodel=pplx_small, # use sonnet model
111
+ )
112
+
113
+ print(b)
114
+ ```
115
+
116
+ ```
117
+ A well-behaved dragon is one that's calm and bright,
118
+ No stress or fear, just a peaceful night.
119
+ It's active, not lethargic, with a happy face,
120
+ And behaviors like digging, not a frantic pace.
121
+ It's social, friendly, and never a fright,
122
+ Just a gentle soul, shining with delight
123
+ ```
124
+
125
+ ```python
126
+ hunter.msgs.last_response.model_response
127
+ ```
128
+
129
+ ```
130
+ {'id': '1be10f4c-0936-4050-ab48-91bd86ab11a5',
131
+ 'model': 'llama-3.1-sonar-small-128k-online',
132
+ 'object': 'chat.completion',
133
+ 'created': 1734369700,
134
+ 'choices': [{'index': 0,
135
+ 'message': {'role': 'assistant',
136
+ 'content': "A well-behaved dragon is one that's calm and bright,\nNo stress or fear, just a peaceful night.\nIt's active, not lethargic, with a happy face,\nAnd behaviors like digging, not a frantic pace.\nIt's social, friendly, and never a fright,\nJust a gentle soul, shining with delight"},
137
+ 'finish_reason': 'stop',
138
+ 'delta': {'role': 'assistant', 'content': ''}}],
139
+ 'usage': {'prompt_tokens': 40, 'completion_tokens': 69, 'total_tokens': 109},
140
+ 'citations': [{'url': 'https://dragonsdiet.com/blogs/dragon-care/15-bearded-dragon-behaviors-and-what-they-could-mean'},
141
+ {'url': 'https://masterbraeokk.tripod.com/dragons/behavior.html'},
142
+ {'url': 'https://files.eric.ed.gov/fulltext/ED247607.pdf'},
143
+ {'url': 'https://www.travelchinaguide.com/intro/social_customs/zodiac/dragon/five-elements.htm'},
144
+ {'url': 'https://www.travelchinaguide.com/intro/social_customs/zodiac/dragon/'}]}
145
+ ```
146
+
147
+
148
+ ### 3. Easy composition of complex workflows
149
+
150
+ ```python
151
+ # chain of thoughts
152
+ from pydantic import Field
153
+
154
+ class Reason(BaseModel):
155
+ reason: str
156
+ confidence_score: float
157
+
158
+ class Thought(BaseModel):
159
+ thought: str
160
+
161
+ class Analysis(BaseModel):
162
+ thought: list[Thought] = Field(
163
+ default_factory=list,
164
+ description="concise Chain of thoughts from you, 3 step, each in 8 words"
165
+ )
166
+ analysis: str = Field(
167
+ ...,
168
+ description="Final analysis of the dragon's psyche in 20 words",
169
+ )
170
+ reason: list[Reason] = Field(
171
+ default_factory=list,
172
+ description="Concise Reasoning behind the analysis, 3 support, each in 8 words"
173
+ )
174
+
175
+ context1 = "I am a dragon, I think therefore I am, I suffer from shiny objects syndrome"
176
+ context2 = "I like food and poetry, I use uv sometimes, it's cool but I am not familiar with pip"
177
+
178
+ async def analyze(context) -> Analysis:
179
+ psychologist = Branch(
180
+ system="you are a renowned dragon psychologist",
181
+ imodel=gpt4o,
182
+ )
183
+ return await psychologist.communicate(
184
+ instruction="analyze the dragon's psyche using chain of thoughts",
185
+ guidance="think step by step, reason with logic",
186
+ context=context,
187
+ response_format=Analysis,
188
+ )
189
+
190
+ ```
191
+
192
+ ```python
193
+ result1 = await analyze(context1)
194
+
195
+ print("\nThoughts:")
196
+ for i in result1.thought:
197
+ print(i.thought)
198
+
199
+ print("\nAnalysis:")
200
+ print(result1.analysis)
201
+
202
+ print("\nReasoning:")
203
+ for i in result1.reason:
204
+ print(i.reason)
205
+ ```
206
+
207
+ ```
208
+
209
+ Thoughts:
210
+ Dragons are attracted to shiny objects naturally.
211
+ This suggests a strong affinity for hoarding.
212
+ Reflects the dragon's inherent desire for possession.
213
+
214
+ Analysis:
215
+ The dragon demonstrates a compulsive hoarding behavior linked to attraction for shiny objects.
216
+
217
+ Reasoning:
218
+ Shiny objects trigger instinctual hoarding behavior.
219
+ Possession indicates a symbol of power and security.
220
+ Hoarding is reinforced by evolutionary survival mechanisms.
221
+ ```
222
+
223
+ ```python
224
+ result2 = await analyze(context2)
225
+
226
+ print("\nThoughts:")
227
+ for i in result2.thought:
228
+ print(i.thought)
229
+
230
+ print("\nAnalysis:")
231
+ print(result2.analysis)
232
+
233
+ print("\nReasoning:")
234
+ for i in result2.reason:
235
+ print(i.reason)
236
+ ```
237
+
238
+ ```
239
+ Thoughts:
240
+ Dragon enjoys both food and poetry regularly.
241
+ Dragon uses uv light with frequent interest.
242
+ Dragon is unfamiliar and not comfortable with pip.
243
+
244
+ Analysis:
245
+ The dragon is curious and exploratory, yet selectively cautious about unfamiliar methodologies.
246
+
247
+ Reasoning:
248
+ Preference for food and poetry suggests curiosity.
249
+ Frequent uv light use indicates exploratory nature.
250
+ Discomfort with pip usage shows selective caution.
251
+ ```
252
+
253
+
254
+
255
+ ## 🌟 Example Workflow
256
+
257
+ Below is an example of what you can build with LION. Note that these are sample implementations - LION provides the building blocks, you create the workflows that fit your needs.
258
+
259
+ ```mermaid
260
+ sequenceDiagram
261
+ autonumber
262
+ participant Client
263
+ participant Orchestrator
264
+ participant ResearchAgent
265
+ participant AnalysisAgent
266
+ participant ValidationAgent
267
+ participant Tools
268
+
269
+ Client->>+Orchestrator: Submit Complex Task
270
+ Note over Orchestrator: Task Analysis & Planning
271
+
272
+ %% Research Phase
273
+ Orchestrator->>+ResearchAgent: Delegate Research
274
+ activate ResearchAgent
275
+ ResearchAgent->>Tools: Access Data Sources
276
+ Tools-->>ResearchAgent: Raw Data
277
+ ResearchAgent-->>-Orchestrator: Research Results
278
+ deactivate ResearchAgent
279
+
280
+ %% Analysis Phase
281
+ Orchestrator->>+AnalysisAgent: Process Data
282
+ activate AnalysisAgent
283
+ AnalysisAgent->>Tools: Apply Models
284
+ Tools-->>AnalysisAgent: Analysis Results
285
+ AnalysisAgent-->>-Orchestrator: Processed Insights
286
+ deactivate AnalysisAgent
287
+
288
+ %% Validation Phase
289
+ Orchestrator->>+ValidationAgent: Verify Results
290
+ activate ValidationAgent
291
+ ValidationAgent->>Tools: Apply Safety Checks
292
+ Tools-->>ValidationAgent: Validation Status
293
+ ValidationAgent-->>-Orchestrator: Verified Results
294
+ deactivate ValidationAgent
295
+
296
+ Orchestrator-->>-Client: Return Validated Output
297
+ ```
298
+
299
+
300
+ ## 🤝 Contributing
301
+
302
+ Join our [Discord community](https://discord.gg/aqSJ2v46vu) to:
303
+ - Share ideas
304
+ - Report issues
305
+ - Contribute code
306
+ - Learn from others
307
+
308
+ ## 📚 Citation
309
+
310
+ ```bibtex
311
+ @software{Li_LionAGI_2023,
312
+ author = {Haiyang Li},
313
+ month = {12},
314
+ year = {2023},
315
+ title = {LionAGI: Intelligent Integration Framework},
316
+ url = {https://github.com/lion-agi/lionagi},
317
+ }
318
+ ```
@@ -5,7 +5,6 @@ import logging
5
5
  from dotenv import load_dotenv
6
6
 
7
7
  from .core.session.types import Branch
8
- from .integrations.litellm_.imodel import LiteiModel
9
8
  from .protocols.operatives.step import Step
10
9
  from .service import iModel
11
10
  from .settings import Settings
@@ -138,12 +138,10 @@ class Tool(Element):
138
138
  Returns:
139
139
  str: A detailed string representation of the Tool.
140
140
  """
141
- timestamp_str = datetime.fromtimestamp(self.timestamp).isoformat(
142
- timespec="minutes"
143
- )
141
+ timestamp_str = self.created_datetime.strftime("%Y-%m-%d %H:%M:%S")
144
142
  return (
145
- f"{self.class_name()}(ln_id={self.ln_id[:6]}.., "
146
- f"timestamp={timestamp_str}), "
143
+ f"{self.class_name()}(ln_id={str(self.ln_id)[:6]}.., "
144
+ f"created_timestamp={timestamp_str}), "
147
145
  f"schema_={json.dumps(self.schema_, indent=4)}"
148
146
  )
149
147
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  from typing_extensions import override
6
6
 
7
- from lionagi.core.typing import ID, Any, Callable, LnID, Note
7
+ from lionagi.core.typing import ID, Any, Callable, IDType, Note
8
8
  from lionagi.libs.parse import to_dict
9
9
  from lionagi.libs.utils import copy
10
10
 
@@ -107,12 +107,12 @@ class ActionRequest(RoledMessage):
107
107
  )
108
108
 
109
109
  @property
110
- def action_response_id(self) -> LnID | None:
110
+ def action_response_id(self) -> IDType | None:
111
111
  """
112
112
  Get the ID of the corresponding action response.
113
113
 
114
114
  Returns:
115
- LnID | None: The ID of the action response, or None if not responded
115
+ IDType | None: The ID of the action response, or None if not responded
116
116
  """
117
117
  return self.content.get("action_response_id", None)
118
118
 
@@ -58,7 +58,7 @@ class MessageField(str, Enum):
58
58
  - LION_CLASS: Class identifier for LION system
59
59
  - ROLE: Message role (system/user/assistant)
60
60
  - CONTENT: Message content
61
- - ln_id: Unique message identifier
61
+ - id: Unique message identifier
62
62
  - SENDER: Message sender
63
63
  - RECIPIENT: Message recipient
64
64
  - METADATA: Additional message metadata
@@ -68,7 +68,7 @@ class MessageField(str, Enum):
68
68
  LION_CLASS = "lion_class"
69
69
  ROLE = "role"
70
70
  CONTENT = "content"
71
- ln_id = "ln_id"
71
+ id = "id"
72
72
  SENDER = "sender"
73
73
  RECIPIENT = "recipient"
74
74
  METADATA = "metadata"
@@ -248,7 +248,7 @@ class RoledMessage(Component, BaseMail):
248
248
  if origin_obj and isinstance(origin_obj, Communicatable):
249
249
  info_dict = {
250
250
  "clone_from_info": {
251
- "original_ln_id": origin_obj.ln_id,
251
+ "original_id": origin_obj.id,
252
252
  "original_timestamp": origin_obj.timestamp,
253
253
  "original_sender": origin_obj.sender,
254
254
  "original_recipient": origin_obj.recipient,
@@ -8,8 +8,8 @@ from lionagi.core.typing import (
8
8
  Any,
9
9
  BaseModel,
10
10
  IDError,
11
+ IDType,
11
12
  Literal,
12
- LnID,
13
13
  Note,
14
14
  )
15
15
  from lionagi.integrations.pydantic_ import break_down_pydantic_annotation
@@ -229,7 +229,7 @@ def prepare_instruction_content(
229
229
 
230
230
  def validate_sender_recipient(
231
231
  value: Any, /
232
- ) -> LnID | Literal["system", "user", "N/A", "assistant"]:
232
+ ) -> IDType | Literal["system", "user", "N/A", "assistant"]:
233
233
  """
234
234
  Validate sender and recipient fields for mail-like communication.
235
235
 
@@ -237,7 +237,7 @@ def validate_sender_recipient(
237
237
  value: The value to validate
238
238
 
239
239
  Returns:
240
- Union[LnID, Literal]: Valid sender/recipient value
240
+ Union[IDType, Literal]: Valid sender/recipient value
241
241
 
242
242
  Raises:
243
243
  ValueError: If value is not a valid sender or recipient