lionagi 0.14.3__tar.gz → 0.14.4__tar.gz

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 (283) hide show
  1. {lionagi-0.14.3 → lionagi-0.14.4}/PKG-INFO +2 -2
  2. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/adapters/async_postgres_adapter.py +172 -0
  3. lionagi-0.14.4/lionagi/version.py +1 -0
  4. {lionagi-0.14.3 → lionagi-0.14.4}/pyproject.toml +2 -2
  5. {lionagi-0.14.3 → lionagi-0.14.4}/uv.lock +2 -2
  6. lionagi-0.14.3/lionagi/version.py +0 -1
  7. {lionagi-0.14.3 → lionagi-0.14.4}/.coveragerc +0 -0
  8. {lionagi-0.14.3 → lionagi-0.14.4}/.env.example +0 -0
  9. {lionagi-0.14.3 → lionagi-0.14.4}/.github/FUNDING.yml +0 -0
  10. {lionagi-0.14.3 → lionagi-0.14.4}/.github/dependabot.yml +0 -0
  11. {lionagi-0.14.3 → lionagi-0.14.4}/.github/workflows/ci.yml +0 -0
  12. {lionagi-0.14.3 → lionagi-0.14.4}/.github/workflows/codeql.yml +0 -0
  13. {lionagi-0.14.3 → lionagi-0.14.4}/.github/workflows/docs.yml +0 -0
  14. {lionagi-0.14.3 → lionagi-0.14.4}/.github/workflows/release.yml +0 -0
  15. {lionagi-0.14.3 → lionagi-0.14.4}/.gitignore +0 -0
  16. {lionagi-0.14.3 → lionagi-0.14.4}/.pre-commit-config.yaml +0 -0
  17. {lionagi-0.14.3 → lionagi-0.14.4}/.python-version +0 -0
  18. {lionagi-0.14.3 → lionagi-0.14.4}/CODE_OF_CONDUCT.md +0 -0
  19. {lionagi-0.14.3 → lionagi-0.14.4}/CONTRIBUTING.md +0 -0
  20. {lionagi-0.14.3 → lionagi-0.14.4}/LICENSE +0 -0
  21. {lionagi-0.14.3 → lionagi-0.14.4}/README.md +0 -0
  22. {lionagi-0.14.3 → lionagi-0.14.4}/assets/operation_builder.gif +0 -0
  23. {lionagi-0.14.3 → lionagi-0.14.4}/cookbooks/001_branch_converse.ipynb +0 -0
  24. {lionagi-0.14.3 → lionagi-0.14.4}/cookbooks/002_branch_interact.ipynb +0 -0
  25. {lionagi-0.14.3 → lionagi-0.14.4}/cookbooks/003_branch_info.ipynb +0 -0
  26. {lionagi-0.14.3 → lionagi-0.14.4}/cookbooks/004_conversation_patterns.ipynb +0 -0
  27. {lionagi-0.14.3 → lionagi-0.14.4}/cookbooks/005_react_basics.ipynb +0 -0
  28. {lionagi-0.14.3 → lionagi-0.14.4}/cookbooks/006_operation_graphs_claim_extraction.ipynb +0 -0
  29. {lionagi-0.14.3 → lionagi-0.14.4}/cookbooks/data/002_comedian.json +0 -0
  30. {lionagi-0.14.3 → lionagi-0.14.4}/cookbooks/data/002_critic.json +0 -0
  31. {lionagi-0.14.3 → lionagi-0.14.4}/cookbooks/data/006_lion_proof_ch2.md +0 -0
  32. {lionagi-0.14.3 → lionagi-0.14.4}/cookbooks/using_claude_code.py +0 -0
  33. {lionagi-0.14.3 → lionagi-0.14.4}/docs/Makefile +0 -0
  34. {lionagi-0.14.3 → lionagi-0.14.4}/docs/_static/custom.css +0 -0
  35. {lionagi-0.14.3 → lionagi-0.14.4}/docs/_templates/layout.html +0 -0
  36. {lionagi-0.14.3 → lionagi-0.14.4}/docs/conf.py +0 -0
  37. {lionagi-0.14.3 → lionagi-0.14.4}/docs/index.rst +0 -0
  38. {lionagi-0.14.3 → lionagi-0.14.4}/docs/modules/action.rst +0 -0
  39. {lionagi-0.14.3 → lionagi-0.14.4}/docs/modules/adapter.rst +0 -0
  40. {lionagi-0.14.3 → lionagi-0.14.4}/docs/modules/branch.rst +0 -0
  41. {lionagi-0.14.3 → lionagi-0.14.4}/docs/modules/branch_operations.rst +0 -0
  42. {lionagi-0.14.3 → lionagi-0.14.4}/docs/modules/concepts.rst +0 -0
  43. {lionagi-0.14.3 → lionagi-0.14.4}/docs/modules/element_id.rst +0 -0
  44. {lionagi-0.14.3 → lionagi-0.14.4}/docs/modules/event.rst +0 -0
  45. {lionagi-0.14.3 → lionagi-0.14.4}/docs/modules/form.rst +0 -0
  46. {lionagi-0.14.3 → lionagi-0.14.4}/docs/modules/graph.rst +0 -0
  47. {lionagi-0.14.3 → lionagi-0.14.4}/docs/modules/index.rst +0 -0
  48. {lionagi-0.14.3 → lionagi-0.14.4}/docs/modules/instruct.rst +0 -0
  49. {lionagi-0.14.3 → lionagi-0.14.4}/docs/modules/lib_file.rst +0 -0
  50. {lionagi-0.14.3 → lionagi-0.14.4}/docs/modules/lib_nested.rst +0 -0
  51. {lionagi-0.14.3 → lionagi-0.14.4}/docs/modules/lib_package.rst +0 -0
  52. {lionagi-0.14.3 → lionagi-0.14.4}/docs/modules/lib_schema.rst +0 -0
  53. {lionagi-0.14.3 → lionagi-0.14.4}/docs/modules/lib_validate.rst +0 -0
  54. {lionagi-0.14.3 → lionagi-0.14.4}/docs/modules/log.rst +0 -0
  55. {lionagi-0.14.3 → lionagi-0.14.4}/docs/modules/mail.rst +0 -0
  56. {lionagi-0.14.3 → lionagi-0.14.4}/docs/modules/message.rst +0 -0
  57. {lionagi-0.14.3 → lionagi-0.14.4}/docs/modules/models.rst +0 -0
  58. {lionagi-0.14.3 → lionagi-0.14.4}/docs/modules/operative_step.rst +0 -0
  59. {lionagi-0.14.3 → lionagi-0.14.4}/docs/modules/pile.rst +0 -0
  60. {lionagi-0.14.3 → lionagi-0.14.4}/docs/modules/processor.rst +0 -0
  61. {lionagi-0.14.3 → lionagi-0.14.4}/docs/modules/progression.rst +0 -0
  62. {lionagi-0.14.3 → lionagi-0.14.4}/docs/modules/service.rst +0 -0
  63. {lionagi-0.14.3 → lionagi-0.14.4}/docs/modules/session.rst +0 -0
  64. {lionagi-0.14.3 → lionagi-0.14.4}/docs/modules/utils.rst +0 -0
  65. {lionagi-0.14.3 → lionagi-0.14.4}/docs/tutorials/get_started.rst +0 -0
  66. {lionagi-0.14.3 → lionagi-0.14.4}/docs/tutorials/get_started_pt2.rst +0 -0
  67. {lionagi-0.14.3 → lionagi-0.14.4}/docs/tutorials/get_started_pt3.rst +0 -0
  68. {lionagi-0.14.3 → lionagi-0.14.4}/docs/tutorials/index.rst +0 -0
  69. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/__init__.py +0 -0
  70. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/_class_registry.py +0 -0
  71. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/_errors.py +0 -0
  72. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/_types.py +0 -0
  73. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/adapters/__init__.py +0 -0
  74. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/adapters/postgres_model_adapter.py +0 -0
  75. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/config.py +0 -0
  76. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/fields/__init__.py +0 -0
  77. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/fields/action.py +0 -0
  78. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/fields/base.py +0 -0
  79. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/fields/code.py +0 -0
  80. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/fields/file.py +0 -0
  81. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/fields/instruct.py +0 -0
  82. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/fields/reason.py +0 -0
  83. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/fields/research.py +0 -0
  84. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/__init__.py +0 -0
  85. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/concurrency/__init__.py +0 -0
  86. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/concurrency/cancel.py +0 -0
  87. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/concurrency/errors.py +0 -0
  88. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/concurrency/patterns.py +0 -0
  89. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/concurrency/primitives.py +0 -0
  90. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/concurrency/task.py +0 -0
  91. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/file/__init__.py +0 -0
  92. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/file/chunk.py +0 -0
  93. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/file/concat.py +0 -0
  94. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/file/concat_files.py +0 -0
  95. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/file/file_ops.py +0 -0
  96. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/file/params.py +0 -0
  97. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/file/process.py +0 -0
  98. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/file/save.py +0 -0
  99. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/nested/__init__.py +0 -0
  100. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/nested/flatten.py +0 -0
  101. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/nested/nfilter.py +0 -0
  102. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/nested/nget.py +0 -0
  103. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/nested/ninsert.py +0 -0
  104. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/nested/nmerge.py +0 -0
  105. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/nested/npop.py +0 -0
  106. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/nested/nset.py +0 -0
  107. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/nested/unflatten.py +0 -0
  108. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/nested/utils.py +0 -0
  109. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/package/__init__.py +0 -0
  110. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/package/imports.py +0 -0
  111. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/package/management.py +0 -0
  112. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/package/params.py +0 -0
  113. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/package/system.py +0 -0
  114. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/parse.py +0 -0
  115. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/schema/__init__.py +0 -0
  116. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/schema/as_readable.py +0 -0
  117. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/schema/extract_code_block.py +0 -0
  118. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/schema/extract_docstring.py +0 -0
  119. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/schema/function_to_schema.py +0 -0
  120. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/schema/json_schema.py +0 -0
  121. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/schema/load_pydantic_model_from_schema.py +0 -0
  122. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/token_transform/__init__.py +0 -0
  123. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/token_transform/base.py +0 -0
  124. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/token_transform/llmlingua.py +0 -0
  125. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/token_transform/perplexity.py +0 -0
  126. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/token_transform/symbolic_compress_context.py +0 -0
  127. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/token_transform/synthlang.py +0 -0
  128. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/token_transform/synthlang_/base.py +0 -0
  129. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/token_transform/synthlang_/resources/frameworks/abstract_algebra.toml +0 -0
  130. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/token_transform/synthlang_/resources/frameworks/category_theory.toml +0 -0
  131. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/token_transform/synthlang_/resources/frameworks/complex_analysis.toml +0 -0
  132. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/token_transform/synthlang_/resources/frameworks/framework_options.json +0 -0
  133. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/token_transform/synthlang_/resources/frameworks/group_theory.toml +0 -0
  134. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/token_transform/synthlang_/resources/frameworks/math_logic.toml +0 -0
  135. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/token_transform/synthlang_/resources/frameworks/reflective_patterns.toml +0 -0
  136. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/token_transform/synthlang_/resources/frameworks/set_theory.toml +0 -0
  137. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/token_transform/synthlang_/resources/frameworks/topology_fundamentals.toml +0 -0
  138. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/token_transform/synthlang_/resources/mapping/lion_emoji_mapping.toml +0 -0
  139. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/token_transform/synthlang_/resources/mapping/python_math_mapping.toml +0 -0
  140. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/token_transform/synthlang_/resources/mapping/rust_chinese_mapping.toml +0 -0
  141. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/token_transform/synthlang_/resources/utility/base_synthlang_system_prompt.toml +0 -0
  142. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/token_transform/synthlang_/translate_to_synthlang.py +0 -0
  143. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/token_transform/types.py +0 -0
  144. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/validate/__init__.py +0 -0
  145. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/validate/common_field_validators.py +0 -0
  146. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/validate/fuzzy_match_keys.py +0 -0
  147. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/validate/fuzzy_validate_mapping.py +0 -0
  148. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/validate/string_similarity.py +0 -0
  149. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/libs/validate/validate_boolean.py +0 -0
  150. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/models/__init__.py +0 -0
  151. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/models/field_model.py +0 -0
  152. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/models/hashable_model.py +0 -0
  153. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/models/model_params.py +0 -0
  154. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/models/note.py +0 -0
  155. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/models/operable_model.py +0 -0
  156. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/models/schema_model.py +0 -0
  157. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/operations/ReAct/ReAct.py +0 -0
  158. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/operations/ReAct/__init__.py +0 -0
  159. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/operations/ReAct/utils.py +0 -0
  160. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/operations/__init__.py +0 -0
  161. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/operations/_act/__init__.py +0 -0
  162. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/operations/_act/act.py +0 -0
  163. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/operations/brainstorm/__init__.py +0 -0
  164. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/operations/brainstorm/brainstorm.py +0 -0
  165. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/operations/brainstorm/prompt.py +0 -0
  166. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/operations/builder.py +0 -0
  167. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/operations/chat/__init__.py +0 -0
  168. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/operations/chat/chat.py +0 -0
  169. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/operations/communicate/__init__.py +0 -0
  170. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/operations/communicate/communicate.py +0 -0
  171. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/operations/flow.py +0 -0
  172. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/operations/instruct/__init__.py +0 -0
  173. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/operations/instruct/instruct.py +0 -0
  174. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/operations/interpret/__init__.py +0 -0
  175. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/operations/interpret/interpret.py +0 -0
  176. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/operations/manager.py +0 -0
  177. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/operations/node.py +0 -0
  178. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/operations/operate/__init__.py +0 -0
  179. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/operations/operate/operate.py +0 -0
  180. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/operations/parse/__init__.py +0 -0
  181. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/operations/parse/parse.py +0 -0
  182. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/operations/plan/__init__.py +0 -0
  183. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/operations/plan/plan.py +0 -0
  184. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/operations/plan/prompt.py +0 -0
  185. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/operations/select/__init__.py +0 -0
  186. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/operations/select/select.py +0 -0
  187. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/operations/select/utils.py +0 -0
  188. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/operations/translate/__init__.py +0 -0
  189. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/operations/translate/translate.py +0 -0
  190. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/operations/types.py +0 -0
  191. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/operations/utils.py +0 -0
  192. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/__init__.py +0 -0
  193. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/_concepts.py +0 -0
  194. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/action/__init__.py +0 -0
  195. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/action/function_calling.py +0 -0
  196. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/action/manager.py +0 -0
  197. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/action/tool.py +0 -0
  198. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/forms/__init__.py +0 -0
  199. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/forms/base.py +0 -0
  200. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/forms/flow.py +0 -0
  201. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/forms/form.py +0 -0
  202. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/forms/report.py +0 -0
  203. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/generic/__init__.py +0 -0
  204. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/generic/element.py +0 -0
  205. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/generic/event.py +0 -0
  206. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/generic/log.py +0 -0
  207. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/generic/pile.py +0 -0
  208. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/generic/processor.py +0 -0
  209. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/generic/progression.py +0 -0
  210. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/graph/__init__.py +0 -0
  211. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/graph/edge.py +0 -0
  212. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/graph/graph.py +0 -0
  213. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/graph/node.py +0 -0
  214. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/mail/__init__.py +0 -0
  215. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/mail/exchange.py +0 -0
  216. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/mail/mail.py +0 -0
  217. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/mail/mailbox.py +0 -0
  218. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/mail/manager.py +0 -0
  219. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/mail/package.py +0 -0
  220. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/messages/__init__.py +0 -0
  221. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/messages/action_request.py +0 -0
  222. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/messages/action_response.py +0 -0
  223. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/messages/assistant_response.py +0 -0
  224. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/messages/base.py +0 -0
  225. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/messages/instruction.py +0 -0
  226. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/messages/manager.py +0 -0
  227. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/messages/message.py +0 -0
  228. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/messages/system.py +0 -0
  229. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/messages/templates/README.md +0 -0
  230. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/messages/templates/action_request.jinja2 +0 -0
  231. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/messages/templates/action_response.jinja2 +0 -0
  232. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/messages/templates/assistant_response.jinja2 +0 -0
  233. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/messages/templates/instruction_message.jinja2 +0 -0
  234. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/messages/templates/system_message.jinja2 +0 -0
  235. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/messages/templates/tool_schemas.jinja2 +0 -0
  236. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/operatives/__init__.py +0 -0
  237. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/operatives/operative.py +0 -0
  238. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/operatives/step.py +0 -0
  239. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/protocols/types.py +0 -0
  240. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/py.typed +0 -0
  241. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/service/__init__.py +0 -0
  242. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/service/connections/__init__.py +0 -0
  243. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/service/connections/api_calling.py +0 -0
  244. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/service/connections/endpoint.py +0 -0
  245. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/service/connections/endpoint_config.py +0 -0
  246. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/service/connections/header_factory.py +0 -0
  247. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/service/connections/match_endpoint.py +0 -0
  248. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/service/connections/providers/__init__.py +0 -0
  249. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/service/connections/providers/anthropic_.py +0 -0
  250. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/service/connections/providers/claude_code_.py +0 -0
  251. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/service/connections/providers/claude_code_cli.py +0 -0
  252. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/service/connections/providers/exa_.py +0 -0
  253. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/service/connections/providers/oai_.py +0 -0
  254. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/service/connections/providers/ollama_.py +0 -0
  255. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/service/connections/providers/perplexity_.py +0 -0
  256. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/service/imodel.py +0 -0
  257. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/service/manager.py +0 -0
  258. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/service/rate_limited_processor.py +0 -0
  259. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/service/resilience.py +0 -0
  260. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/service/third_party/README.md +0 -0
  261. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/service/third_party/__init__.py +0 -0
  262. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/service/third_party/anthropic_models.py +0 -0
  263. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/service/third_party/exa_models.py +0 -0
  264. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/service/third_party/openai_models.py +0 -0
  265. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/service/third_party/pplx_models.py +0 -0
  266. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/service/token_calculator.py +0 -0
  267. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/service/types.py +0 -0
  268. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/session/__init__.py +0 -0
  269. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/session/branch.py +0 -0
  270. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/session/prompts.py +0 -0
  271. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/session/session.py +0 -0
  272. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/settings.py +0 -0
  273. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/tools/__init__.py +0 -0
  274. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/tools/base.py +0 -0
  275. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/tools/file/__init__.py +0 -0
  276. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/tools/file/reader.py +0 -0
  277. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/tools/memory/tools.py +0 -0
  278. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/tools/types.py +0 -0
  279. {lionagi-0.14.3 → lionagi-0.14.4}/lionagi/utils.py +0 -0
  280. {lionagi-0.14.3 → lionagi-0.14.4}/main.py +0 -0
  281. {lionagi-0.14.3 → lionagi-0.14.4}/scripts/README.md +0 -0
  282. {lionagi-0.14.3 → lionagi-0.14.4}/scripts/concat.py +0 -0
  283. {lionagi-0.14.3 → lionagi-0.14.4}/scripts/config.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lionagi
3
- Version: 0.14.3
3
+ Version: 0.14.4
4
4
  Summary: An Intelligence Operating System.
5
5
  Author-email: HaiyangLi <quantocean.li@gmail.com>, Liangbingyan Luo <llby_luo@outlook.com>
6
6
  License: Apache License
@@ -224,7 +224,7 @@ Requires-Dist: aiohttp>=3.12.0
224
224
  Requires-Dist: anyio>=4.8.0
225
225
  Requires-Dist: backoff>=2.2.1
226
226
  Requires-Dist: jinja2>=3.1.0
227
- Requires-Dist: json-repair>=0.47.8
227
+ Requires-Dist: json-repair>=0.40.0
228
228
  Requires-Dist: matplotlib>=3.9.0
229
229
  Requires-Dist: pillow>=11.0.0
230
230
  Requires-Dist: psutil>=7.0.0
@@ -188,3 +188,175 @@ class LionAGIAsyncPostgresAdapter(AsyncPostgresAdapter[T]):
188
188
  return [cls._serialize_datetime_recursive(item) for item in obj]
189
189
  else:
190
190
  return obj
191
+
192
+ @classmethod
193
+ async def from_obj(
194
+ cls,
195
+ node_cls: type[T],
196
+ obj: Any,
197
+ /,
198
+ *,
199
+ adapt_meth: str = "from_dict",
200
+ many: bool = True,
201
+ **kw,
202
+ ) -> T | list[T] | None:
203
+ """
204
+ Read lionagi Node(s) from database with automatic data reconstruction.
205
+
206
+ Handles:
207
+ 1. Database querying with filters
208
+ 2. Reverse metadata field mapping (node_metadata → metadata)
209
+ 3. Reverse data serialization (ISO strings → datetime objects)
210
+ 4. Node object reconstruction
211
+
212
+ Args:
213
+ node_cls: The Node class to instantiate
214
+ obj: Database connection parameters (dict with dsn, table, etc.)
215
+ adapt_meth: Adaptation method (unused but required by pydapter)
216
+ many: Whether to return list or single object
217
+ **kw: Additional query parameters (where, limit, order_by)
218
+
219
+ Returns:
220
+ Single Node, list of Nodes, or None if no results found
221
+ """
222
+ try:
223
+ # Merge obj parameters with kw parameters
224
+ if isinstance(obj, dict):
225
+ params = {**obj, **kw}
226
+ else:
227
+ params = kw
228
+
229
+ # Validate required parameters
230
+ engine_url = params.get("dsn") or params.get("engine_url")
231
+ table = params.get("table")
232
+
233
+ if not engine_url or not table:
234
+ raise ValueError(
235
+ "Missing required 'dsn' and 'table' parameters"
236
+ )
237
+
238
+ # Build query
239
+ engine = create_async_engine(engine_url, future=True)
240
+ async with engine.begin() as conn:
241
+ meta = sa.MetaData()
242
+ meta.bind = conn
243
+ table_obj = cls._table(meta, table)
244
+
245
+ # Build SELECT query
246
+ query = sa.select(table_obj)
247
+
248
+ # Add WHERE conditions if provided
249
+ where_conditions = params.get("where")
250
+ if where_conditions:
251
+ if isinstance(where_conditions, dict):
252
+ # Convert dict to column conditions
253
+ for col_name, value in where_conditions.items():
254
+ if hasattr(table_obj.c, col_name):
255
+ query = query.where(
256
+ getattr(table_obj.c, col_name) == value
257
+ )
258
+ else:
259
+ # Assume it's already a SQLAlchemy condition
260
+ query = query.where(where_conditions)
261
+
262
+ # Add ordering if provided
263
+ order_by = params.get("order_by")
264
+ if order_by:
265
+ if isinstance(order_by, str):
266
+ if hasattr(table_obj.c, order_by):
267
+ query = query.order_by(
268
+ getattr(table_obj.c, order_by)
269
+ )
270
+ else:
271
+ query = query.order_by(order_by)
272
+
273
+ # Add limit if provided
274
+ limit = params.get("limit")
275
+ if limit:
276
+ query = query.limit(limit)
277
+
278
+ # Execute query
279
+ result = await conn.execute(query)
280
+ rows = result.fetchall()
281
+
282
+ # Use many parameter from params if provided, otherwise use method parameter
283
+ return_many = params.get("many", many)
284
+
285
+ if not rows:
286
+ return [] if return_many else None
287
+
288
+ # Convert database rows back to Node objects
289
+ nodes = []
290
+ for row in rows:
291
+ # Convert row to dict
292
+ row_dict = dict(row._mapping)
293
+
294
+ # Apply reverse lionagi data transformations
295
+ node_data = cls._reverse_lionagi_data(row_dict)
296
+
297
+ # Create Node instance
298
+ node = node_cls(**node_data)
299
+ nodes.append(node)
300
+
301
+ if return_many:
302
+ return nodes
303
+ else:
304
+ return nodes[-1] if nodes else None
305
+
306
+ except Exception as e:
307
+ raise QueryError(
308
+ f"Error reading from lionagi async adapter: {e}",
309
+ adapter="lionagi_async_pg",
310
+ ) from e
311
+
312
+ @classmethod
313
+ def _reverse_lionagi_data(cls, row_data: dict) -> dict:
314
+ """
315
+ Reverse lionagi data transformations from database storage.
316
+
317
+ Handles:
318
+ 1. Database field mapping (node_metadata → metadata)
319
+ 2. ISO string → datetime objects in content
320
+ 3. Proper lionagi Node field structure
321
+ """
322
+ # Create a copy to avoid modifying original
323
+ data = row_data.copy()
324
+
325
+ # Reverse field mapping: node_metadata → metadata
326
+ if "node_metadata" in data:
327
+ data["metadata"] = data.pop("node_metadata")
328
+
329
+ # Reverse datetime serialization in content
330
+ if "content" in data and isinstance(data["content"], dict):
331
+ data["content"] = cls._deserialize_datetime_recursive(
332
+ data["content"]
333
+ )
334
+
335
+ return data
336
+
337
+ @classmethod
338
+ def _deserialize_datetime_recursive(cls, obj: Any) -> Any:
339
+ """Recursively convert ISO datetime strings back to datetime objects."""
340
+ if isinstance(obj, str):
341
+ # Try to parse as ISO datetime string
342
+ try:
343
+ # Check if it looks like an ISO datetime string
344
+ if "T" in obj and (
345
+ obj.endswith("Z")
346
+ or "+" in obj[-10:]
347
+ or obj.count(":") >= 2
348
+ ):
349
+ return datetime.fromisoformat(obj.replace("Z", "+00:00"))
350
+ except (ValueError, AttributeError):
351
+ # Not a datetime string, return as-is
352
+ pass
353
+ return obj
354
+ elif isinstance(obj, dict):
355
+ return {
356
+ k: cls._deserialize_datetime_recursive(v)
357
+ for k, v in obj.items()
358
+ }
359
+ elif isinstance(obj, list):
360
+ return [cls._deserialize_datetime_recursive(item) for item in obj]
361
+ else:
362
+ return obj
@@ -0,0 +1 @@
1
+ __version__ = "0.14.4"
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "lionagi"
3
- version = "0.14.3"
3
+ version = "0.14.4"
4
4
  description = "An Intelligence Operating System."
5
5
  authors = [
6
6
  { name = "HaiyangLi", email = "quantocean.li@gmail.com" },
@@ -14,7 +14,7 @@ dependencies = [
14
14
  "anyio>=4.8.0",
15
15
  "backoff>=2.2.1",
16
16
  "jinja2>=3.1.0",
17
- "json-repair>=0.47.8",
17
+ "json-repair>=0.40.0",
18
18
  "matplotlib>=3.9.0",
19
19
  "pillow>=11.0.0",
20
20
  "psutil>=7.0.0",
@@ -1687,7 +1687,7 @@ wheels = [
1687
1687
 
1688
1688
  [[package]]
1689
1689
  name = "lionagi"
1690
- version = "0.14.3"
1690
+ version = "0.14.4"
1691
1691
  source = { editable = "." }
1692
1692
  dependencies = [
1693
1693
  { name = "aiocache" },
@@ -1783,7 +1783,7 @@ requires-dist = [
1783
1783
  { name = "furo", marker = "extra == 'docs'", specifier = ">=2024.8.6" },
1784
1784
  { name = "isort", marker = "extra == 'lint'", specifier = ">=5.13.2" },
1785
1785
  { name = "jinja2", specifier = ">=3.1.0" },
1786
- { name = "json-repair", specifier = ">=0.47.8" },
1786
+ { name = "json-repair", specifier = ">=0.40.0" },
1787
1787
  { name = "lionagi", extras = ["claude-code"], marker = "extra == 'all'" },
1788
1788
  { name = "lionagi", extras = ["mcp"], marker = "extra == 'all'" },
1789
1789
  { name = "lionagi", extras = ["ollama"], marker = "extra == 'all'" },
@@ -1 +0,0 @@
1
- __version__ = "0.14.3"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes