lionagi 0.10.1__tar.gz → 0.10.2__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 (281) hide show
  1. {lionagi-0.10.1 → lionagi-0.10.2}/PKG-INFO +1 -1
  2. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/_types.py +1 -0
  3. lionagi-0.10.2/lionagi/fields/__init__.py +35 -0
  4. {lionagi-0.10.1/lionagi/libs → lionagi-0.10.2/lionagi}/fields/action.py +0 -2
  5. lionagi-0.10.2/lionagi/fields/base.py +151 -0
  6. {lionagi-0.10.1/lionagi/libs → lionagi-0.10.2/lionagi}/fields/file.py +9 -26
  7. {lionagi-0.10.1/lionagi/libs → lionagi-0.10.2/lionagi}/fields/instruct.py +1 -3
  8. {lionagi-0.10.1/lionagi/libs → lionagi-0.10.2/lionagi}/fields/reason.py +2 -16
  9. lionagi-0.10.2/lionagi/libs/package/imports.py +21 -0
  10. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/operations/ReAct/ReAct.py +1 -1
  11. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/operations/_act/act.py +1 -1
  12. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/operations/brainstorm/brainstorm.py +1 -1
  13. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/operations/instruct/instruct.py +1 -1
  14. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/operations/operate/operate.py +1 -1
  15. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/operations/plan/plan.py +1 -1
  16. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/operations/select/select.py +1 -1
  17. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/operations/utils.py +1 -1
  18. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/action/manager.py +1 -1
  19. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/operatives/step.py +2 -2
  20. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/session/branch.py +6 -60
  21. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/utils.py +214 -0
  22. lionagi-0.10.2/lionagi/version.py +1 -0
  23. {lionagi-0.10.1 → lionagi-0.10.2}/pyproject.toml +1 -1
  24. {lionagi-0.10.1 → lionagi-0.10.2}/uv.lock +1 -1
  25. lionagi-0.10.1/lionagi/libs/fields/__init__.py +0 -36
  26. lionagi-0.10.1/lionagi/libs/package/imports.py +0 -166
  27. lionagi-0.10.1/lionagi/version.py +0 -1
  28. {lionagi-0.10.1 → lionagi-0.10.2}/.env.example +0 -0
  29. {lionagi-0.10.1 → lionagi-0.10.2}/.github/FUNDING.yml +0 -0
  30. {lionagi-0.10.1 → lionagi-0.10.2}/.github/dependabot.yml +0 -0
  31. {lionagi-0.10.1 → lionagi-0.10.2}/.github/workflows/ci.yml +0 -0
  32. {lionagi-0.10.1 → lionagi-0.10.2}/.github/workflows/codeql.yml +0 -0
  33. {lionagi-0.10.1 → lionagi-0.10.2}/.github/workflows/docs.yml +0 -0
  34. {lionagi-0.10.1 → lionagi-0.10.2}/.github/workflows/release.yml +0 -0
  35. {lionagi-0.10.1 → lionagi-0.10.2}/.gitignore +0 -0
  36. {lionagi-0.10.1 → lionagi-0.10.2}/.pre-commit-config.yaml +0 -0
  37. {lionagi-0.10.1 → lionagi-0.10.2}/CODE_OF_CONDUCT.md +0 -0
  38. {lionagi-0.10.1 → lionagi-0.10.2}/CONTRIBUTING.md +0 -0
  39. {lionagi-0.10.1 → lionagi-0.10.2}/LICENSE +0 -0
  40. {lionagi-0.10.1 → lionagi-0.10.2}/README.md +0 -0
  41. {lionagi-0.10.1 → lionagi-0.10.2}/cookbooks/ch01_get_started.md +0 -0
  42. {lionagi-0.10.1 → lionagi-0.10.2}/cookbooks/ch02_concepts.md +0 -0
  43. {lionagi-0.10.1 → lionagi-0.10.2}/dev_tools/count_code_base_lines.py +0 -0
  44. {lionagi-0.10.1 → lionagi-0.10.2}/docs/Makefile +0 -0
  45. {lionagi-0.10.1 → lionagi-0.10.2}/docs/_static/custom.css +0 -0
  46. {lionagi-0.10.1 → lionagi-0.10.2}/docs/_templates/layout.html +0 -0
  47. {lionagi-0.10.1 → lionagi-0.10.2}/docs/conf.py +0 -0
  48. {lionagi-0.10.1 → lionagi-0.10.2}/docs/index.rst +0 -0
  49. {lionagi-0.10.1 → lionagi-0.10.2}/docs/modules/action.rst +0 -0
  50. {lionagi-0.10.1 → lionagi-0.10.2}/docs/modules/adapter.rst +0 -0
  51. {lionagi-0.10.1 → lionagi-0.10.2}/docs/modules/branch.rst +0 -0
  52. {lionagi-0.10.1 → lionagi-0.10.2}/docs/modules/branch_operations.rst +0 -0
  53. {lionagi-0.10.1 → lionagi-0.10.2}/docs/modules/concepts.rst +0 -0
  54. {lionagi-0.10.1 → lionagi-0.10.2}/docs/modules/element_id.rst +0 -0
  55. {lionagi-0.10.1 → lionagi-0.10.2}/docs/modules/event.rst +0 -0
  56. {lionagi-0.10.1 → lionagi-0.10.2}/docs/modules/form.rst +0 -0
  57. {lionagi-0.10.1 → lionagi-0.10.2}/docs/modules/graph.rst +0 -0
  58. {lionagi-0.10.1 → lionagi-0.10.2}/docs/modules/index.rst +0 -0
  59. {lionagi-0.10.1 → lionagi-0.10.2}/docs/modules/instruct.rst +0 -0
  60. {lionagi-0.10.1 → lionagi-0.10.2}/docs/modules/lib_file.rst +0 -0
  61. {lionagi-0.10.1 → lionagi-0.10.2}/docs/modules/lib_nested.rst +0 -0
  62. {lionagi-0.10.1 → lionagi-0.10.2}/docs/modules/lib_package.rst +0 -0
  63. {lionagi-0.10.1 → lionagi-0.10.2}/docs/modules/lib_schema.rst +0 -0
  64. {lionagi-0.10.1 → lionagi-0.10.2}/docs/modules/lib_validate.rst +0 -0
  65. {lionagi-0.10.1 → lionagi-0.10.2}/docs/modules/log.rst +0 -0
  66. {lionagi-0.10.1 → lionagi-0.10.2}/docs/modules/mail.rst +0 -0
  67. {lionagi-0.10.1 → lionagi-0.10.2}/docs/modules/message.rst +0 -0
  68. {lionagi-0.10.1 → lionagi-0.10.2}/docs/modules/models.rst +0 -0
  69. {lionagi-0.10.1 → lionagi-0.10.2}/docs/modules/operative_step.rst +0 -0
  70. {lionagi-0.10.1 → lionagi-0.10.2}/docs/modules/pile.rst +0 -0
  71. {lionagi-0.10.1 → lionagi-0.10.2}/docs/modules/processor.rst +0 -0
  72. {lionagi-0.10.1 → lionagi-0.10.2}/docs/modules/progression.rst +0 -0
  73. {lionagi-0.10.1 → lionagi-0.10.2}/docs/modules/service.rst +0 -0
  74. {lionagi-0.10.1 → lionagi-0.10.2}/docs/modules/session.rst +0 -0
  75. {lionagi-0.10.1 → lionagi-0.10.2}/docs/modules/utils.rst +0 -0
  76. {lionagi-0.10.1 → lionagi-0.10.2}/docs/tutorials/get_started.rst +0 -0
  77. {lionagi-0.10.1 → lionagi-0.10.2}/docs/tutorials/get_started_pt2.rst +0 -0
  78. {lionagi-0.10.1 → lionagi-0.10.2}/docs/tutorials/get_started_pt3.rst +0 -0
  79. {lionagi-0.10.1 → lionagi-0.10.2}/docs/tutorials/index.rst +0 -0
  80. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/__init__.py +0 -0
  81. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/_class_registry.py +0 -0
  82. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/_errors.py +0 -0
  83. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/adapters/__init__.py +0 -0
  84. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/adapters/adapter.py +0 -0
  85. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/adapters/json_adapter.py +0 -0
  86. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/adapters/pandas_/__init__.py +0 -0
  87. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/adapters/pandas_/csv_adapter.py +0 -0
  88. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/adapters/pandas_/excel_adapter.py +0 -0
  89. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/adapters/pandas_/pd_dataframe_adapter.py +0 -0
  90. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/adapters/pandas_/pd_series_adapter.py +0 -0
  91. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/adapters/toml_adapter.py +0 -0
  92. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/adapters/types.py +0 -0
  93. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/__init__.py +0 -0
  94. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/file/__init__.py +0 -0
  95. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/file/chunk.py +0 -0
  96. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/file/concat_files.py +0 -0
  97. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/file/file_ops.py +0 -0
  98. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/file/params.py +0 -0
  99. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/file/process.py +0 -0
  100. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/file/save.py +0 -0
  101. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/nested/__init__.py +0 -0
  102. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/nested/flatten.py +0 -0
  103. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/nested/nfilter.py +0 -0
  104. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/nested/nget.py +0 -0
  105. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/nested/ninsert.py +0 -0
  106. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/nested/nmerge.py +0 -0
  107. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/nested/npop.py +0 -0
  108. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/nested/nset.py +0 -0
  109. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/nested/unflatten.py +0 -0
  110. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/nested/utils.py +0 -0
  111. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/package/__init__.py +0 -0
  112. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/package/management.py +0 -0
  113. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/package/params.py +0 -0
  114. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/package/system.py +0 -0
  115. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/parse.py +0 -0
  116. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/schema/__init__.py +0 -0
  117. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/schema/as_readable.py +0 -0
  118. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/schema/extract_code_block.py +0 -0
  119. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/schema/extract_docstring.py +0 -0
  120. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/schema/function_to_schema.py +0 -0
  121. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/schema/json_schema.py +0 -0
  122. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/token_transform/__init__.py +0 -0
  123. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/token_transform/base.py +0 -0
  124. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/token_transform/llmlingua.py +0 -0
  125. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/token_transform/perplexity.py +0 -0
  126. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/token_transform/symbolic_compress_context.py +0 -0
  127. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/token_transform/synthlang.py +0 -0
  128. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/token_transform/synthlang_/base.py +0 -0
  129. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/token_transform/synthlang_/resources/frameworks/abstract_algebra.toml +0 -0
  130. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/token_transform/synthlang_/resources/frameworks/category_theory.toml +0 -0
  131. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/token_transform/synthlang_/resources/frameworks/complex_analysis.toml +0 -0
  132. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/token_transform/synthlang_/resources/frameworks/framework_options.json +0 -0
  133. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/token_transform/synthlang_/resources/frameworks/group_theory.toml +0 -0
  134. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/token_transform/synthlang_/resources/frameworks/math_logic.toml +0 -0
  135. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/token_transform/synthlang_/resources/frameworks/reflective_patterns.toml +0 -0
  136. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/token_transform/synthlang_/resources/frameworks/set_theory.toml +0 -0
  137. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/token_transform/synthlang_/resources/frameworks/topology_fundamentals.toml +0 -0
  138. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/token_transform/synthlang_/resources/mapping/lion_emoji_mapping.toml +0 -0
  139. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/token_transform/synthlang_/resources/mapping/python_math_mapping.toml +0 -0
  140. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/token_transform/synthlang_/resources/mapping/rust_chinese_mapping.toml +0 -0
  141. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/token_transform/synthlang_/resources/utility/base_synthlang_system_prompt.toml +0 -0
  142. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/token_transform/synthlang_/translate_to_synthlang.py +0 -0
  143. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/token_transform/types.py +0 -0
  144. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/validate/__init__.py +0 -0
  145. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/validate/common_field_validators.py +0 -0
  146. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/validate/fuzzy_match_keys.py +0 -0
  147. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/validate/fuzzy_validate_mapping.py +0 -0
  148. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/validate/string_similarity.py +0 -0
  149. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/libs/validate/validate_boolean.py +0 -0
  150. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/models/__init__.py +0 -0
  151. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/models/field_model.py +0 -0
  152. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/models/hashable_model.py +0 -0
  153. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/models/model_params.py +0 -0
  154. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/models/note.py +0 -0
  155. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/models/operable_model.py +0 -0
  156. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/models/schema_model.py +0 -0
  157. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/operations/ReAct/__init__.py +0 -0
  158. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/operations/ReAct/utils.py +0 -0
  159. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/operations/__init__.py +0 -0
  160. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/operations/_act/__init__.py +0 -0
  161. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/operations/brainstorm/__init__.py +0 -0
  162. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/operations/brainstorm/prompt.py +0 -0
  163. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/operations/chat/__init__.py +0 -0
  164. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/operations/chat/chat.py +0 -0
  165. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/operations/communicate/__init__.py +0 -0
  166. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/operations/communicate/communicate.py +0 -0
  167. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/operations/instruct/__init__.py +0 -0
  168. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/operations/interpret/__init__.py +0 -0
  169. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/operations/interpret/interpret.py +0 -0
  170. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/operations/manager.py +0 -0
  171. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/operations/operate/__init__.py +0 -0
  172. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/operations/parse/__init__.py +0 -0
  173. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/operations/parse/parse.py +0 -0
  174. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/operations/plan/__init__.py +0 -0
  175. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/operations/plan/prompt.py +0 -0
  176. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/operations/select/__init__.py +0 -0
  177. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/operations/select/utils.py +0 -0
  178. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/operations/translate/__init__.py +0 -0
  179. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/operations/translate/translate.py +0 -0
  180. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/operations/types.py +0 -0
  181. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/__init__.py +0 -0
  182. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/_concepts.py +0 -0
  183. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/action/__init__.py +0 -0
  184. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/action/function_calling.py +0 -0
  185. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/action/tool.py +0 -0
  186. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/forms/__init__.py +0 -0
  187. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/forms/base.py +0 -0
  188. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/forms/flow.py +0 -0
  189. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/forms/form.py +0 -0
  190. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/forms/report.py +0 -0
  191. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/generic/__init__.py +0 -0
  192. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/generic/element.py +0 -0
  193. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/generic/event.py +0 -0
  194. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/generic/log.py +0 -0
  195. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/generic/pile.py +0 -0
  196. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/generic/processor.py +0 -0
  197. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/generic/progression.py +0 -0
  198. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/graph/__init__.py +0 -0
  199. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/graph/edge.py +0 -0
  200. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/graph/graph.py +0 -0
  201. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/graph/node.py +0 -0
  202. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/mail/__init__.py +0 -0
  203. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/mail/exchange.py +0 -0
  204. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/mail/mail.py +0 -0
  205. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/mail/mailbox.py +0 -0
  206. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/mail/manager.py +0 -0
  207. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/mail/package.py +0 -0
  208. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/messages/__init__.py +0 -0
  209. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/messages/action_request.py +0 -0
  210. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/messages/action_response.py +0 -0
  211. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/messages/assistant_response.py +0 -0
  212. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/messages/base.py +0 -0
  213. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/messages/instruction.py +0 -0
  214. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/messages/manager.py +0 -0
  215. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/messages/message.py +0 -0
  216. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/messages/system.py +0 -0
  217. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/messages/templates/README.md +0 -0
  218. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/messages/templates/action_request.jinja2 +0 -0
  219. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/messages/templates/action_response.jinja2 +0 -0
  220. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/messages/templates/assistant_response.jinja2 +0 -0
  221. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/messages/templates/instruction_message.jinja2 +0 -0
  222. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/messages/templates/system_message.jinja2 +0 -0
  223. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/messages/templates/tool_schemas.jinja2 +0 -0
  224. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/operatives/__init__.py +0 -0
  225. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/operatives/operative.py +0 -0
  226. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/protocols/types.py +0 -0
  227. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/service/__init__.py +0 -0
  228. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/service/endpoints/__init__.py +0 -0
  229. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/service/endpoints/base.py +0 -0
  230. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/service/endpoints/chat_completion.py +0 -0
  231. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/service/endpoints/match_endpoint.py +0 -0
  232. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/service/endpoints/rate_limited_processor.py +0 -0
  233. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/service/endpoints/token_calculator.py +0 -0
  234. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/service/imodel.py +0 -0
  235. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/service/manager.py +0 -0
  236. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/service/providers/__init__.py +0 -0
  237. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/service/providers/anthropic_/__init__.py +0 -0
  238. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/service/providers/anthropic_/messages.py +0 -0
  239. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/service/providers/exa_/__init__.py +0 -0
  240. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/service/providers/exa_/models.py +0 -0
  241. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/service/providers/exa_/search.py +0 -0
  242. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/service/providers/exa_/types.py +0 -0
  243. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/service/providers/groq_/__init__.py +0 -0
  244. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/service/providers/groq_/chat_completions.py +0 -0
  245. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/service/providers/ollama_/__init__.py +0 -0
  246. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/service/providers/ollama_/chat_completions.py +0 -0
  247. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/service/providers/openai_/__init__.py +0 -0
  248. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/service/providers/openai_/chat_completions.py +0 -0
  249. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/service/providers/openai_/spec.py +0 -0
  250. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/service/providers/openrouter_/__init__.py +0 -0
  251. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/service/providers/openrouter_/chat_completions.py +0 -0
  252. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/service/providers/perplexity_/__init__.py +0 -0
  253. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/service/providers/perplexity_/chat_completions.py +0 -0
  254. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/service/providers/perplexity_/models.py +0 -0
  255. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/service/providers/types.py +0 -0
  256. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/service/types.py +0 -0
  257. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/session/__init__.py +0 -0
  258. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/session/prompts.py +0 -0
  259. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/session/session.py +0 -0
  260. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/settings.py +0 -0
  261. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/tools/__init__.py +0 -0
  262. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/tools/base.py +0 -0
  263. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/tools/browser/__init__.py +0 -0
  264. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/tools/browser/providers/__init__.py +0 -0
  265. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/tools/browser/providers/browser_use_.py +0 -0
  266. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/tools/code/__init__.py +0 -0
  267. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/tools/code/coder.py +0 -0
  268. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/tools/code/manager.py +0 -0
  269. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/tools/code/providers/__init__.py +0 -0
  270. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/tools/code/providers/aider_.py +0 -0
  271. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/tools/code/providers/e2b_.py +0 -0
  272. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/tools/code/sandbox.py +0 -0
  273. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/tools/file/__init__.py +0 -0
  274. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/tools/file/manager.py +0 -0
  275. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/tools/file/providers/__init__.py +0 -0
  276. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/tools/file/providers/docling_.py +0 -0
  277. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/tools/file/reader.py +0 -0
  278. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/tools/file/writer.py +0 -0
  279. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/tools/query/__init__.py +0 -0
  280. {lionagi-0.10.1 → lionagi-0.10.2}/lionagi/tools/types.py +0 -0
  281. {lionagi-0.10.1 → lionagi-0.10.2}/prompts/doc_style.md +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lionagi
3
- Version: 0.10.1
3
+ Version: 0.10.2
4
4
  Summary: An Intelligence Operating System.
5
5
  Author-email: HaiyangLi <quantocean.li@gmail.com>
6
6
  License: Apache License
@@ -1 +1,2 @@
1
+ from .fields import *
1
2
  from .protocols.types import *
@@ -0,0 +1,35 @@
1
+ from .action import (
2
+ ActionRequestModel,
3
+ ActionResponseModel,
4
+ )
5
+ from .base import (
6
+ CodeSnippet,
7
+ Outline,
8
+ OutlineItem,
9
+ Section,
10
+ Source,
11
+ TextSnippet,
12
+ )
13
+ from .file import CodeFile, Documentation, File
14
+ from .instruct import (
15
+ Instruct,
16
+ InstructResponse,
17
+ )
18
+ from .reason import Reason
19
+
20
+ __all__ = (
21
+ "ActionRequestModel",
22
+ "ActionResponseModel",
23
+ "Source",
24
+ "TextSnippet",
25
+ "CodeSnippet",
26
+ "Section",
27
+ "OutlineItem",
28
+ "Outline",
29
+ "File",
30
+ "CodeFile",
31
+ "Documentation",
32
+ "Instruct",
33
+ "InstructResponse",
34
+ "Reason",
35
+ )
@@ -16,9 +16,7 @@ from lionagi.utils import to_dict, to_json, to_list
16
16
 
17
17
  __all__ = (
18
18
  "ActionRequestModel",
19
- "ACTION_REQUESTS_FIELD",
20
19
  "ActionResponseModel",
21
- "ACTION_RESPONSES_FIELD",
22
20
  )
23
21
 
24
22
 
@@ -0,0 +1,151 @@
1
+ from enum import Enum
2
+
3
+ from pydantic import Field, HttpUrl
4
+
5
+ from lionagi.models import HashableModel
6
+
7
+ __all__ = (
8
+ "Source",
9
+ "TextSnippet",
10
+ "CodeSnippet",
11
+ "Section",
12
+ "OutlineItem",
13
+ "Outline",
14
+ )
15
+
16
+
17
+ class Source(HashableModel):
18
+ """
19
+ Represents a citation or external source, such as:
20
+ - a website,
21
+ - documentation link,
22
+ - research paper,
23
+ - or any external resource.
24
+ """
25
+
26
+ title: str = Field(
27
+ ...,
28
+ description="Short label or title for the reference (e.g. 'Pydantic Docs', 'RFC 3986').",
29
+ )
30
+
31
+ url: str | HttpUrl | None = Field(
32
+ None,
33
+ description="Full URL or local path pointing to the resource. Must conform to standard URL format.",
34
+ )
35
+
36
+ note: str | None = Field(
37
+ default=None,
38
+ description=(
39
+ "Optional additional note explaining why this reference is relevant or what it contains."
40
+ ),
41
+ )
42
+
43
+
44
+ class SnippetType(str, Enum):
45
+ TEXT = "text"
46
+ CODE = "code"
47
+
48
+
49
+ class TextSnippet(HashableModel):
50
+ """
51
+ Specialized snippet for textual/prose content.
52
+ """
53
+
54
+ type: SnippetType = Field(
55
+ SnippetType.TEXT,
56
+ description=(
57
+ "Must be 'text' for textual snippets. Ensures explicit type distinction."
58
+ ),
59
+ )
60
+ content: str = Field(
61
+ ...,
62
+ description=(
63
+ "The actual text. Can be a paragraph, bullet list, or any narrative content."
64
+ ),
65
+ )
66
+
67
+
68
+ class CodeSnippet(HashableModel):
69
+ """
70
+ Specialized snippet for source code or command-line examples.
71
+ """
72
+
73
+ type: SnippetType = Field(
74
+ SnippetType.CODE,
75
+ description=(
76
+ "Must be 'code' for code snippets. Allows separate handling or formatting."
77
+ ),
78
+ )
79
+ content: str = Field(
80
+ ...,
81
+ description=(
82
+ "The actual code or command sequence. Should be well-formatted so it can be rendered properly."
83
+ ),
84
+ )
85
+
86
+
87
+ class Section(HashableModel):
88
+ """
89
+ A single section of a document or article. Each section has:
90
+ - A title
91
+ - A sequential list of content snippets (text or code),
92
+ which appear in the intended reading order.
93
+ - Optional sources specifically cited in this section.
94
+ """
95
+
96
+ title: str = Field(
97
+ ...,
98
+ description=(
99
+ "The section heading or label, e.g., 'Introduction', 'Implementation Steps'."
100
+ ),
101
+ )
102
+ snippets: list[TextSnippet | CodeSnippet] = Field(
103
+ default_factory=list,
104
+ description=(
105
+ "Ordered list of content snippets. Could be multiple text blocks, code examples, etc."
106
+ ),
107
+ )
108
+
109
+ sources: list[Source] = Field(
110
+ default_factory=list,
111
+ description=(
112
+ "References specifically cited in this section. "
113
+ "If sources are stored at the doc-level, this can be omitted."
114
+ ),
115
+ )
116
+
117
+
118
+ class OutlineItem(HashableModel):
119
+ """
120
+ Represents a single outline item, which could become a full section later.
121
+ """
122
+
123
+ heading: str = Field(
124
+ ...,
125
+ description="Short name or label for this item, e.g., 'Chapter 1: Basics'.",
126
+ )
127
+ summary: str | None = Field(
128
+ default=None,
129
+ description=(
130
+ "A brief description of what this section will cover, if known."
131
+ ),
132
+ )
133
+
134
+
135
+ class Outline(HashableModel):
136
+ """
137
+ A top-level outline for a document or article.
138
+ Usually used in early planning stages.
139
+ """
140
+
141
+ topic: str = Field(
142
+ ..., description="Working title or overarching topic of the document."
143
+ )
144
+ items: list[OutlineItem] = Field(
145
+ default_factory=list,
146
+ description="List of major outline points or sections planned.",
147
+ )
148
+ notes: str | None = Field(
149
+ default=None,
150
+ description="Any additional remarks, questions, or brainstorming notes for the outline.",
151
+ )
@@ -1,16 +1,17 @@
1
1
  from pathlib import Path
2
2
 
3
- from pydantic import BaseModel, Field, field_validator
3
+ from pydantic import Field, field_validator
4
4
 
5
- from lionagi.models import FieldModel
5
+ from .base import HashableModel, Source
6
6
 
7
-
8
- class Source(BaseModel):
9
- title: str | None = None
10
- url: str | None = None
7
+ __all__ = (
8
+ "File",
9
+ "CodeFile",
10
+ "Documentation",
11
+ )
11
12
 
12
13
 
13
- class File(BaseModel):
14
+ class File(HashableModel):
14
15
  """
15
16
  Represents a generic file with an optional name, content, and brief description.
16
17
  Useful for capturing and validating metadata about any kind of file within a project.
@@ -126,22 +127,4 @@ class Documentation(File):
126
127
  )
127
128
 
128
129
 
129
- FILE_FIELD = FieldModel(
130
- name="file",
131
- annotation=File | None,
132
- default=None,
133
- )
134
-
135
- CODE_FILE_FIELD = FieldModel(
136
- name="code_file",
137
- annotation=CodeFile | None,
138
- default=None,
139
- )
140
-
141
- DOCUMENTATION_FIELD = FieldModel(
142
- name="documentation",
143
- annotation=Documentation | None,
144
- default=None,
145
- )
146
-
147
- # File: lionagi/libs/fields/file.py
130
+ # File: lionagi/fields/file.py
@@ -16,8 +16,6 @@ from lionagi.utils import to_num
16
16
  __all__ = (
17
17
  "Instruct",
18
18
  "InstructResponse",
19
- "INSTRUCT_FIELD",
20
- "LIST_INSTRUCT_FIELD",
21
19
  )
22
20
 
23
21
 
@@ -150,4 +148,4 @@ LIST_INSTRUCT_FIELD_MODEL = FieldModel(
150
148
  default=None,
151
149
  )
152
150
 
153
- # File: lionagi/libs/fields/instruct.py
151
+ # File: lionagi/fields/instruct.py
@@ -7,12 +7,7 @@ from pydantic import BaseModel, Field, field_validator
7
7
  from lionagi.models import FieldModel
8
8
  from lionagi.utils import to_num
9
9
 
10
- __all__ = (
11
- "Reason",
12
- "REASON_FIELD",
13
- "CONFIDENCE_SCORE_FIELD",
14
- "validate_confidence_score",
15
- )
10
+ __all__ = ("Reason",)
16
11
 
17
12
 
18
13
  class Reason(BaseModel):
@@ -51,15 +46,6 @@ def validate_confidence_score(cls, v):
51
46
  return -1
52
47
 
53
48
 
54
- CONFIDENCE_SCORE_FIELD = FieldModel(
55
- name="confidence_score",
56
- annotation=float | None,
57
- default=None,
58
- validator=validate_confidence_score,
59
- validator_kwargs={"mode": "before"},
60
- )
61
-
62
-
63
49
  REASON_FIELD = FieldModel(
64
50
  name="reason",
65
51
  annotation=Reason | None,
@@ -67,4 +53,4 @@ REASON_FIELD = FieldModel(
67
53
  description="**Provide a concise reason for the decision made.**",
68
54
  )
69
55
 
70
- # File: lionagi/libs/fields/reason.py
56
+ # File: lionagi/fields/reason.py
@@ -0,0 +1,21 @@
1
+ # Copyright (c) 2023 - 2025, HaiyangLi <quantocean.li at gmail dot com>
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
5
+ from lionagi.utils import (
6
+ check_import,
7
+ import_module,
8
+ install_import,
9
+ is_import_installed,
10
+ run_package_manager_command,
11
+ )
12
+
13
+ # backward compatibility
14
+
15
+ __all__ = (
16
+ "run_package_manager_command",
17
+ "check_import",
18
+ "import_module",
19
+ "install_import",
20
+ "is_import_installed",
21
+ )
@@ -8,7 +8,7 @@ from typing import TYPE_CHECKING, Any, Literal
8
8
 
9
9
  from pydantic import BaseModel
10
10
 
11
- from lionagi.libs.fields.instruct import Instruct
11
+ from lionagi.fields.instruct import Instruct
12
12
  from lionagi.libs.schema.as_readable import as_readable
13
13
  from lionagi.libs.validate.common_field_validators import (
14
14
  validate_model_to_type,
@@ -7,7 +7,7 @@ from typing import TYPE_CHECKING
7
7
 
8
8
  from pydantic import BaseModel
9
9
 
10
- from lionagi.libs.fields.action import ActionResponseModel
10
+ from lionagi.fields.action import ActionResponseModel
11
11
  from lionagi.protocols.types import ActionRequest, Log
12
12
 
13
13
  if TYPE_CHECKING:
@@ -7,7 +7,7 @@ from typing import Any, Literal
7
7
 
8
8
  from pydantic import BaseModel
9
9
 
10
- from lionagi.libs.fields.instruct import (
10
+ from lionagi.fields.instruct import (
11
11
  LIST_INSTRUCT_FIELD_MODEL,
12
12
  Instruct,
13
13
  InstructResponse,
@@ -4,7 +4,7 @@
4
4
 
5
5
  from typing import TYPE_CHECKING, Any
6
6
 
7
- from lionagi.libs.fields.instruct import Instruct
7
+ from lionagi.fields.instruct import Instruct
8
8
 
9
9
  if TYPE_CHECKING:
10
10
  from lionagi.session.branch import Branch
@@ -7,7 +7,7 @@ from typing import TYPE_CHECKING, Literal
7
7
 
8
8
  from pydantic import BaseModel, JsonValue
9
9
 
10
- from lionagi.libs.fields.instruct import Instruct
10
+ from lionagi.fields.instruct import Instruct
11
11
  from lionagi.models import FieldModel, ModelParams
12
12
  from lionagi.protocols.types import (
13
13
  Instruction,
@@ -6,7 +6,7 @@ from typing import Any, Literal
6
6
 
7
7
  from pydantic import BaseModel
8
8
 
9
- from lionagi.libs.fields.instruct import (
9
+ from lionagi.fields.instruct import (
10
10
  LIST_INSTRUCT_FIELD_MODEL,
11
11
  Instruct,
12
12
  InstructResponse,
@@ -7,7 +7,7 @@ from typing import TYPE_CHECKING, Any
7
7
 
8
8
  from pydantic import BaseModel
9
9
 
10
- from lionagi.libs.fields.instruct import Instruct
10
+ from lionagi.fields.instruct import Instruct
11
11
 
12
12
  from .utils import SelectionModel
13
13
 
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # SPDX-License-Identifier: Apache-2.0
4
4
 
5
- from lionagi.libs.fields.instruct import Instruct
5
+ from lionagi.fields.instruct import Instruct
6
6
  from lionagi.session.session import Branch, Session
7
7
 
8
8
 
@@ -4,11 +4,11 @@
4
4
 
5
5
  from typing import Any
6
6
 
7
+ from lionagi.fields.action import ActionRequestModel
7
8
  from lionagi.protocols._concepts import Manager
8
9
  from lionagi.protocols.messages.action_request import ActionRequest
9
10
  from lionagi.utils import to_list
10
11
 
11
- from ...libs.fields.action import ActionRequestModel
12
12
  from .function_calling import FunctionCalling
13
13
  from .tool import FuncTool, FuncToolRef, Tool, ToolRef
14
14
 
@@ -5,14 +5,14 @@
5
5
  from pydantic import BaseModel, Field
6
6
  from pydantic.fields import FieldInfo
7
7
 
8
- from lionagi.libs.fields.action import (
8
+ from lionagi.fields.action import (
9
9
  ACTION_REQUESTS_FIELD,
10
10
  ACTION_REQUIRED_FIELD,
11
11
  ACTION_RESPONSES_FIELD,
12
12
  ActionRequestModel,
13
13
  ActionResponseModel,
14
14
  )
15
- from lionagi.libs.fields.reason import REASON_FIELD, Reason
15
+ from lionagi.fields.reason import REASON_FIELD, Reason
16
16
  from lionagi.models import FieldModel, ModelParams
17
17
  from lionagi.protocols.operatives.operative import Operative
18
18
 
@@ -4,25 +4,20 @@
4
4
 
5
5
  from collections.abc import AsyncGenerator
6
6
  from enum import Enum
7
- from typing import TYPE_CHECKING, Any, Literal
7
+ from typing import Any, Literal
8
8
 
9
9
  import pandas as pd
10
10
  from jinja2 import Template
11
11
  from pydantic import BaseModel, Field, JsonValue, PrivateAttr
12
12
 
13
+ from lionagi.fields import Instruct
13
14
  from lionagi.libs.schema.as_readable import as_readable
14
15
  from lionagi.models.field_model import FieldModel
15
- from lionagi.models.model_params import ModelParams
16
- from lionagi.protocols.action.manager import ActionManager
17
16
  from lionagi.protocols.action.tool import FuncTool, Tool, ToolRef
18
- from lionagi.protocols.operatives.operative import Operative
19
-
20
- # Forward reference for Instruct which will be imported in the methods that use it
21
- # to avoid circular imports
22
- Instruct = Any
23
17
  from lionagi.protocols.types import (
24
18
  ID,
25
19
  MESSAGE_FIELDS,
20
+ ActionManager,
26
21
  ActionRequest,
27
22
  ActionResponse,
28
23
  AssistantResponse,
@@ -37,6 +32,7 @@ from lionagi.protocols.types import (
37
32
  Mailbox,
38
33
  MessageManager,
39
34
  MessageRole,
35
+ Operative,
40
36
  Package,
41
37
  PackageCategory,
42
38
  Pile,
@@ -54,10 +50,6 @@ from lionagi.utils import UNDEFINED, alcall, bcall, copy
54
50
 
55
51
  from .prompts import LION_SYSTEM_MESSAGE
56
52
 
57
- if TYPE_CHECKING:
58
- # Forward references for type checking (e.g., in operations or extended modules)
59
- from lionagi.session.branch import Branch
60
-
61
53
  __all__ = ("Branch",)
62
54
 
63
55
 
@@ -907,7 +899,6 @@ class Branch(Element, Communicatable, Relational):
907
899
  sender: SenderRecipient = None,
908
900
  recipient: SenderRecipient = None,
909
901
  progression: Progression = None,
910
- imodel: iModel = None, # deprecated, alias of chat_model
911
902
  chat_model: iModel = None,
912
903
  invoke_actions: bool = True,
913
904
  tool_schemas: list[dict] = None,
@@ -920,7 +911,6 @@ class Branch(Element, Communicatable, Relational):
920
911
  response_format: type[
921
912
  BaseModel
922
913
  ] = None, # alias of operative.request_type
923
- return_operative: bool = False,
924
914
  actions: bool = False,
925
915
  reason: bool = False,
926
916
  action_kwargs: dict = None,
@@ -931,15 +921,9 @@ class Branch(Element, Communicatable, Relational):
931
921
  verbose_action: bool = False,
932
922
  field_models: list[FieldModel] = None,
933
923
  exclude_fields: list | dict | None = None,
934
- request_params: ModelParams = None,
935
- request_param_kwargs: dict = None,
936
- response_params: ModelParams = None,
937
- response_param_kwargs: dict = None,
938
924
  handle_validation: Literal[
939
925
  "raise", "return_value", "return_none"
940
926
  ] = "return_value",
941
- operative_model: type[BaseModel] = None,
942
- request_model: type[BaseModel] = None,
943
927
  include_token_usage_to_model: bool = False,
944
928
  **kwargs,
945
929
  ) -> list | BaseModel | None | dict | str:
@@ -973,8 +957,7 @@ class Branch(Element, Communicatable, Relational):
973
957
  The recipient ID for newly added messages.
974
958
  progression (Progression, optional):
975
959
  Custom ordering of conversation messages.
976
- imodel (iModel, deprecated):
977
- Alias of `chat_model`.
960
+
978
961
  chat_model (iModel, optional):
979
962
  The LLM used for the main chat operation. Defaults to `branch.chat_model`.
980
963
  invoke_actions (bool, optional):
@@ -995,8 +978,6 @@ class Branch(Element, Communicatable, Relational):
995
978
  If provided, reuses an existing operative's config for parsing/validation.
996
979
  response_format (type[BaseModel], optional):
997
980
  Expected Pydantic model for the final response (alias for `operative.request_type`).
998
- return_operative (bool, optional):
999
- If `True`, returns the entire `Operative` object after processing
1000
981
  rather than the structured or raw output.
1001
982
  actions (bool, optional):
1002
983
  If `True`, signals that function-calling or "action" usage is expected.
@@ -1014,20 +995,8 @@ class Branch(Element, Communicatable, Relational):
1014
995
  Field-level definitions or overrides for the model schema.
1015
996
  exclude_fields (list|dict|None, optional):
1016
997
  Which fields to exclude from final validation or model building.
1017
- request_params (ModelParams | None, optional):
1018
- Extra config for building the request model in the operative.
1019
- request_param_kwargs (dict|None, optional):
1020
- Additional kwargs passed to the `ModelParams` constructor for the request.
1021
- response_params (ModelParams | None, optional):
1022
- Config for building the response model after actions.
1023
- response_param_kwargs (dict|None, optional):
1024
- Additional kwargs passed to the `ModelParams` constructor for the response.
1025
998
  handle_validation (Literal["raise","return_value","return_none"], optional):
1026
999
  How to handle parsing failures (default: "return_value").
1027
- operative_model (type[BaseModel], deprecated):
1028
- Alias for `response_format`.
1029
- request_model (type[BaseModel], optional):
1030
- Another alias for `response_format`.
1031
1000
  include_token_usage_to_model:
1032
1001
  If `True`, includes token usage in the model messages.
1033
1002
  **kwargs:
@@ -1065,7 +1034,6 @@ class Branch(Element, Communicatable, Relational):
1065
1034
  tools=tools,
1066
1035
  operative=operative,
1067
1036
  response_format=response_format,
1068
- return_operative=return_operative,
1069
1037
  actions=actions,
1070
1038
  reason=reason,
1071
1039
  action_kwargs=action_kwargs,
@@ -1074,14 +1042,7 @@ class Branch(Element, Communicatable, Relational):
1074
1042
  verbose_action=verbose_action,
1075
1043
  field_models=field_models,
1076
1044
  exclude_fields=exclude_fields,
1077
- request_params=request_params,
1078
- request_param_kwargs=request_param_kwargs,
1079
- response_params=response_params,
1080
- response_param_kwargs=response_param_kwargs,
1081
1045
  handle_validation=handle_validation,
1082
- operative_model=operative_model,
1083
- request_model=request_model,
1084
- imodel=imodel,
1085
1046
  include_token_usage_to_model=include_token_usage_to_model,
1086
1047
  **kwargs,
1087
1048
  )
@@ -1096,19 +1057,15 @@ class Branch(Element, Communicatable, Relational):
1096
1057
  sender: SenderRecipient = None,
1097
1058
  recipient: SenderRecipient = None,
1098
1059
  progression: ID.IDSeq = None,
1099
- request_model: type[BaseModel] | BaseModel | None = None,
1100
1060
  response_format: type[BaseModel] = None,
1101
1061
  request_fields: dict | list[str] = None,
1102
- imodel: iModel = None, # alias of chat_model
1103
1062
  chat_model: iModel = None,
1104
1063
  parse_model: iModel = None,
1105
1064
  skip_validation: bool = False,
1106
1065
  images: list = None,
1107
1066
  image_detail: Literal["low", "high", "auto"] = None,
1108
1067
  num_parse_retries: int = 3,
1109
- fuzzy_match_kwargs: dict = None,
1110
1068
  clear_messages: bool = False,
1111
- operative_model: type[BaseModel] = None,
1112
1069
  include_token_usage_to_model: bool = False,
1113
1070
  **kwargs,
1114
1071
  ):
@@ -1135,14 +1092,10 @@ class Branch(Element, Communicatable, Relational):
1135
1092
  Recipient ID (defaults to `self.id`).
1136
1093
  progression (ID.IDSeq, optional):
1137
1094
  Custom ordering of messages.
1138
- request_model (type[BaseModel] | BaseModel | None, optional):
1139
- Model for validating or structuring the LLM's response.
1140
1095
  response_format (type[BaseModel], optional):
1141
1096
  Alias for `request_model`. If both are provided, raises ValueError.
1142
1097
  request_fields (dict|list[str], optional):
1143
1098
  If you only need certain fields from the LLM's response.
1144
- imodel (iModel, optional):
1145
- Deprecated alias for `chat_model`.
1146
1099
  chat_model (iModel, optional):
1147
1100
  An alternative to the default chat model.
1148
1101
  parse_model (iModel, optional):
@@ -1155,12 +1108,8 @@ class Branch(Element, Communicatable, Relational):
1155
1108
  Image detail level (if used).
1156
1109
  num_parse_retries (int, optional):
1157
1110
  Maximum parsing retries (capped at 5).
1158
- fuzzy_match_kwargs (dict, optional):
1159
- Additional settings for fuzzy field matching (if used).
1160
1111
  clear_messages (bool, optional):
1161
1112
  Whether to clear stored messages before sending.
1162
- operative_model (type[BaseModel], optional):
1163
- Deprecated, alias for `response_format`.
1164
1113
  **kwargs:
1165
1114
  Additional arguments for the underlying LLM call.
1166
1115
 
@@ -1182,18 +1131,15 @@ class Branch(Element, Communicatable, Relational):
1182
1131
  sender=sender,
1183
1132
  recipient=recipient,
1184
1133
  progression=progression,
1185
- request_model=request_model,
1186
1134
  response_format=response_format,
1187
1135
  request_fields=request_fields,
1188
- chat_model=kwargs.pop("chat_model", None) or chat_model or imodel,
1136
+ chat_model=chat_model,
1189
1137
  parse_model=parse_model,
1190
1138
  skip_validation=skip_validation,
1191
1139
  images=images,
1192
1140
  image_detail=image_detail,
1193
1141
  num_parse_retries=num_parse_retries,
1194
- fuzzy_match_kwargs=fuzzy_match_kwargs,
1195
1142
  clear_messages=clear_messages,
1196
- operative_model=operative_model,
1197
1143
  include_token_usage_to_model=include_token_usage_to_model,
1198
1144
  **kwargs,
1199
1145
  )