lionagi 0.9.7__tar.gz → 0.9.9__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 (273) hide show
  1. {lionagi-0.9.7 → lionagi-0.9.9}/PKG-INFO +1 -1
  2. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/file/chunk.py +17 -0
  3. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/file/process.py +108 -7
  4. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/service/providers/anthropic_/messages.py +16 -0
  5. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/service/providers/openai_/chat_completions.py +5 -3
  6. lionagi-0.9.9/lionagi/service/providers/openai_/spec.py +14 -0
  7. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/tools/types.py +3 -1
  8. lionagi-0.9.9/lionagi/version.py +1 -0
  9. {lionagi-0.9.7 → lionagi-0.9.9}/pyproject.toml +1 -1
  10. {lionagi-0.9.7 → lionagi-0.9.9}/uv.lock +1 -1
  11. lionagi-0.9.7/lionagi/version.py +0 -1
  12. {lionagi-0.9.7 → lionagi-0.9.9}/.env.example +0 -0
  13. {lionagi-0.9.7 → lionagi-0.9.9}/.github/FUNDING.yml +0 -0
  14. {lionagi-0.9.7 → lionagi-0.9.9}/.github/dependabot.yml +0 -0
  15. {lionagi-0.9.7 → lionagi-0.9.9}/.github/workflows/ci.yml +0 -0
  16. {lionagi-0.9.7 → lionagi-0.9.9}/.github/workflows/codeql.yml +0 -0
  17. {lionagi-0.9.7 → lionagi-0.9.9}/.github/workflows/docs.yml +0 -0
  18. {lionagi-0.9.7 → lionagi-0.9.9}/.github/workflows/release.yml +0 -0
  19. {lionagi-0.9.7 → lionagi-0.9.9}/.gitignore +0 -0
  20. {lionagi-0.9.7 → lionagi-0.9.9}/.pre-commit-config.yaml +0 -0
  21. {lionagi-0.9.7 → lionagi-0.9.9}/CODE_OF_CONDUCT.md +0 -0
  22. {lionagi-0.9.7 → lionagi-0.9.9}/CONTRIBUTING.md +0 -0
  23. {lionagi-0.9.7 → lionagi-0.9.9}/LICENSE +0 -0
  24. {lionagi-0.9.7 → lionagi-0.9.9}/README.md +0 -0
  25. {lionagi-0.9.7 → lionagi-0.9.9}/cookbooks/ch01_get_started.md +0 -0
  26. {lionagi-0.9.7 → lionagi-0.9.9}/cookbooks/ch02_concepts.md +0 -0
  27. {lionagi-0.9.7 → lionagi-0.9.9}/dev_tools/count_code_base_lines.py +0 -0
  28. {lionagi-0.9.7 → lionagi-0.9.9}/docs/Makefile +0 -0
  29. {lionagi-0.9.7 → lionagi-0.9.9}/docs/_static/custom.css +0 -0
  30. {lionagi-0.9.7 → lionagi-0.9.9}/docs/_templates/layout.html +0 -0
  31. {lionagi-0.9.7 → lionagi-0.9.9}/docs/conf.py +0 -0
  32. {lionagi-0.9.7 → lionagi-0.9.9}/docs/index.rst +0 -0
  33. {lionagi-0.9.7 → lionagi-0.9.9}/docs/modules/action.rst +0 -0
  34. {lionagi-0.9.7 → lionagi-0.9.9}/docs/modules/adapter.rst +0 -0
  35. {lionagi-0.9.7 → lionagi-0.9.9}/docs/modules/branch.rst +0 -0
  36. {lionagi-0.9.7 → lionagi-0.9.9}/docs/modules/branch_operations.rst +0 -0
  37. {lionagi-0.9.7 → lionagi-0.9.9}/docs/modules/concepts.rst +0 -0
  38. {lionagi-0.9.7 → lionagi-0.9.9}/docs/modules/element_id.rst +0 -0
  39. {lionagi-0.9.7 → lionagi-0.9.9}/docs/modules/event.rst +0 -0
  40. {lionagi-0.9.7 → lionagi-0.9.9}/docs/modules/form.rst +0 -0
  41. {lionagi-0.9.7 → lionagi-0.9.9}/docs/modules/graph.rst +0 -0
  42. {lionagi-0.9.7 → lionagi-0.9.9}/docs/modules/index.rst +0 -0
  43. {lionagi-0.9.7 → lionagi-0.9.9}/docs/modules/instruct.rst +0 -0
  44. {lionagi-0.9.7 → lionagi-0.9.9}/docs/modules/lib_file.rst +0 -0
  45. {lionagi-0.9.7 → lionagi-0.9.9}/docs/modules/lib_nested.rst +0 -0
  46. {lionagi-0.9.7 → lionagi-0.9.9}/docs/modules/lib_package.rst +0 -0
  47. {lionagi-0.9.7 → lionagi-0.9.9}/docs/modules/lib_schema.rst +0 -0
  48. {lionagi-0.9.7 → lionagi-0.9.9}/docs/modules/lib_validate.rst +0 -0
  49. {lionagi-0.9.7 → lionagi-0.9.9}/docs/modules/log.rst +0 -0
  50. {lionagi-0.9.7 → lionagi-0.9.9}/docs/modules/mail.rst +0 -0
  51. {lionagi-0.9.7 → lionagi-0.9.9}/docs/modules/message.rst +0 -0
  52. {lionagi-0.9.7 → lionagi-0.9.9}/docs/modules/models.rst +0 -0
  53. {lionagi-0.9.7 → lionagi-0.9.9}/docs/modules/operative_step.rst +0 -0
  54. {lionagi-0.9.7 → lionagi-0.9.9}/docs/modules/pile.rst +0 -0
  55. {lionagi-0.9.7 → lionagi-0.9.9}/docs/modules/processor.rst +0 -0
  56. {lionagi-0.9.7 → lionagi-0.9.9}/docs/modules/progression.rst +0 -0
  57. {lionagi-0.9.7 → lionagi-0.9.9}/docs/modules/service.rst +0 -0
  58. {lionagi-0.9.7 → lionagi-0.9.9}/docs/modules/session.rst +0 -0
  59. {lionagi-0.9.7 → lionagi-0.9.9}/docs/modules/utils.rst +0 -0
  60. {lionagi-0.9.7 → lionagi-0.9.9}/docs/tutorials/get_started.rst +0 -0
  61. {lionagi-0.9.7 → lionagi-0.9.9}/docs/tutorials/get_started_pt2.rst +0 -0
  62. {lionagi-0.9.7 → lionagi-0.9.9}/docs/tutorials/get_started_pt3.rst +0 -0
  63. {lionagi-0.9.7 → lionagi-0.9.9}/docs/tutorials/index.rst +0 -0
  64. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/__init__.py +0 -0
  65. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/_class_registry.py +0 -0
  66. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/_errors.py +0 -0
  67. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/_types.py +0 -0
  68. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/__init__.py +0 -0
  69. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/file/__init__.py +0 -0
  70. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/file/file_ops.py +0 -0
  71. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/file/params.py +0 -0
  72. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/file/save.py +0 -0
  73. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/nested/__init__.py +0 -0
  74. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/nested/flatten.py +0 -0
  75. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/nested/nfilter.py +0 -0
  76. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/nested/nget.py +0 -0
  77. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/nested/ninsert.py +0 -0
  78. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/nested/nmerge.py +0 -0
  79. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/nested/npop.py +0 -0
  80. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/nested/nset.py +0 -0
  81. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/nested/unflatten.py +0 -0
  82. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/nested/utils.py +0 -0
  83. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/package/__init__.py +0 -0
  84. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/package/imports.py +0 -0
  85. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/package/management.py +0 -0
  86. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/package/params.py +0 -0
  87. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/package/system.py +0 -0
  88. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/parse.py +0 -0
  89. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/schema/__init__.py +0 -0
  90. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/schema/as_readable.py +0 -0
  91. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/schema/extract_code_block.py +0 -0
  92. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/schema/extract_docstring.py +0 -0
  93. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/schema/function_to_schema.py +0 -0
  94. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/schema/json_schema.py +0 -0
  95. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/token_transform/__init__.py +0 -0
  96. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/token_transform/llmlingua.py +0 -0
  97. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/token_transform/perplexity.py +0 -0
  98. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/token_transform/synthlang.py +0 -0
  99. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/validate/__init__.py +0 -0
  100. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/validate/common_field_validators.py +0 -0
  101. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/validate/fuzzy_match_keys.py +0 -0
  102. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/validate/fuzzy_validate_mapping.py +0 -0
  103. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/validate/string_similarity.py +0 -0
  104. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/libs/validate/validate_boolean.py +0 -0
  105. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operations/ReAct/ReAct.py +0 -0
  106. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operations/ReAct/__init__.py +0 -0
  107. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operations/ReAct/utils.py +0 -0
  108. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operations/__init__.py +0 -0
  109. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operations/_act/__init__.py +0 -0
  110. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operations/_act/act.py +0 -0
  111. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operations/brainstorm/__init__.py +0 -0
  112. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operations/brainstorm/brainstorm.py +0 -0
  113. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operations/brainstorm/prompt.py +0 -0
  114. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operations/chat/__init__.py +0 -0
  115. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operations/chat/chat.py +0 -0
  116. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operations/communicate/__init__.py +0 -0
  117. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operations/communicate/communicate.py +0 -0
  118. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operations/instruct/__init__.py +0 -0
  119. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operations/instruct/instruct.py +0 -0
  120. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operations/interpret/__init__.py +0 -0
  121. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operations/interpret/interpret.py +0 -0
  122. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operations/manager.py +0 -0
  123. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operations/operate/__init__.py +0 -0
  124. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operations/operate/operate.py +0 -0
  125. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operations/parse/__init__.py +0 -0
  126. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operations/parse/parse.py +0 -0
  127. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operations/plan/__init__.py +0 -0
  128. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operations/plan/plan.py +0 -0
  129. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operations/plan/prompt.py +0 -0
  130. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operations/select/__init__.py +0 -0
  131. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operations/select/select.py +0 -0
  132. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operations/select/utils.py +0 -0
  133. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operations/translate/__init__.py +0 -0
  134. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operations/translate/translate.py +0 -0
  135. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operations/types.py +0 -0
  136. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operations/utils.py +0 -0
  137. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/__init__.py +0 -0
  138. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/action/__init__.py +0 -0
  139. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/action/function_calling.py +0 -0
  140. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/action/manager.py +0 -0
  141. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/action/request_response_model.py +0 -0
  142. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/action/tool.py +0 -0
  143. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/action/utils.py +0 -0
  144. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/forms/__init__.py +0 -0
  145. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/forms/base.py +0 -0
  146. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/forms/flow.py +0 -0
  147. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/forms/form.py +0 -0
  148. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/forms/report.py +0 -0
  149. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/instruct/__init__.py +0 -0
  150. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/instruct/base.py +0 -0
  151. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/instruct/instruct.py +0 -0
  152. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/instruct/instruct_collection.py +0 -0
  153. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/instruct/node.py +0 -0
  154. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/instruct/prompts.py +0 -0
  155. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/instruct/reason.py +0 -0
  156. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/manager.py +0 -0
  157. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/models/__init__.py +0 -0
  158. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/models/field_model.py +0 -0
  159. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/models/model_params.py +0 -0
  160. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/models/note.py +0 -0
  161. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/models/operable_model.py +0 -0
  162. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/models/schema_model.py +0 -0
  163. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/operative.py +0 -0
  164. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/step.py +0 -0
  165. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/strategies/__init__.py +0 -0
  166. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/strategies/base.py +0 -0
  167. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/strategies/concurrent.py +0 -0
  168. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/strategies/concurrent_chunk.py +0 -0
  169. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/strategies/concurrent_sequential_chunk.py +0 -0
  170. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/strategies/params.py +0 -0
  171. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/strategies/sequential.py +0 -0
  172. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/strategies/sequential_chunk.py +0 -0
  173. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/strategies/sequential_concurrent_chunk.py +0 -0
  174. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/strategies/utils.py +0 -0
  175. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/operatives/types.py +0 -0
  176. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/__init__.py +0 -0
  177. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/_concepts.py +0 -0
  178. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/adapters/__init__.py +0 -0
  179. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/adapters/adapter.py +0 -0
  180. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/adapters/json_adapter.py +0 -0
  181. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/adapters/pandas_/__init__.py +0 -0
  182. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/adapters/pandas_/csv_adapter.py +0 -0
  183. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/adapters/pandas_/excel_adapter.py +0 -0
  184. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/adapters/pandas_/pd_dataframe_adapter.py +0 -0
  185. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/adapters/pandas_/pd_series_adapter.py +0 -0
  186. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/adapters/types.py +0 -0
  187. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/generic/__init__.py +0 -0
  188. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/generic/element.py +0 -0
  189. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/generic/event.py +0 -0
  190. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/generic/log.py +0 -0
  191. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/generic/pile.py +0 -0
  192. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/generic/processor.py +0 -0
  193. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/generic/progression.py +0 -0
  194. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/graph/__init__.py +0 -0
  195. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/graph/edge.py +0 -0
  196. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/graph/graph.py +0 -0
  197. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/graph/node.py +0 -0
  198. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/mail/__init__.py +0 -0
  199. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/mail/exchange.py +0 -0
  200. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/mail/mail.py +0 -0
  201. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/mail/mailbox.py +0 -0
  202. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/mail/manager.py +0 -0
  203. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/mail/package.py +0 -0
  204. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/messages/__init__.py +0 -0
  205. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/messages/action_request.py +0 -0
  206. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/messages/action_response.py +0 -0
  207. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/messages/assistant_response.py +0 -0
  208. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/messages/base.py +0 -0
  209. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/messages/instruction.py +0 -0
  210. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/messages/manager.py +0 -0
  211. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/messages/message.py +0 -0
  212. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/messages/system.py +0 -0
  213. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/messages/templates/README.md +0 -0
  214. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/messages/templates/action_request.jinja2 +0 -0
  215. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/messages/templates/action_response.jinja2 +0 -0
  216. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/messages/templates/assistant_response.jinja2 +0 -0
  217. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/messages/templates/instruction_message.jinja2 +0 -0
  218. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/messages/templates/system_message.jinja2 +0 -0
  219. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/messages/templates/tool_schemas.jinja2 +0 -0
  220. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/protocols/types.py +0 -0
  221. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/service/__init__.py +0 -0
  222. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/service/endpoints/__init__.py +0 -0
  223. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/service/endpoints/base.py +0 -0
  224. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/service/endpoints/chat_completion.py +0 -0
  225. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/service/endpoints/match_endpoint.py +0 -0
  226. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/service/endpoints/rate_limited_processor.py +0 -0
  227. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/service/endpoints/token_calculator.py +0 -0
  228. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/service/imodel.py +0 -0
  229. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/service/manager.py +0 -0
  230. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/service/providers/__init__.py +0 -0
  231. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/service/providers/anthropic_/__init__.py +0 -0
  232. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/service/providers/exa_/__init__.py +0 -0
  233. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/service/providers/exa_/models.py +0 -0
  234. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/service/providers/exa_/search.py +0 -0
  235. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/service/providers/exa_/types.py +0 -0
  236. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/service/providers/groq_/__init__.py +0 -0
  237. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/service/providers/groq_/chat_completions.py +0 -0
  238. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/service/providers/ollama_/__init__.py +0 -0
  239. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/service/providers/ollama_/chat_completions.py +0 -0
  240. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/service/providers/openai_/__init__.py +0 -0
  241. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/service/providers/openrouter_/__init__.py +0 -0
  242. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/service/providers/openrouter_/chat_completions.py +0 -0
  243. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/service/providers/perplexity_/__init__.py +0 -0
  244. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/service/providers/perplexity_/chat_completions.py +0 -0
  245. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/service/providers/perplexity_/models.py +0 -0
  246. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/service/providers/types.py +0 -0
  247. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/service/types.py +0 -0
  248. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/session/__init__.py +0 -0
  249. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/session/branch.py +0 -0
  250. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/session/prompts.py +0 -0
  251. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/session/session.py +0 -0
  252. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/settings.py +0 -0
  253. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/tools/__init__.py +0 -0
  254. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/tools/base.py +0 -0
  255. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/tools/browser/__init__.py +0 -0
  256. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/tools/browser/providers/__init__.py +0 -0
  257. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/tools/browser/providers/browser_use_.py +0 -0
  258. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/tools/code/__init__.py +0 -0
  259. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/tools/code/coder.py +0 -0
  260. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/tools/code/manager.py +0 -0
  261. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/tools/code/providers/__init__.py +0 -0
  262. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/tools/code/providers/aider_.py +0 -0
  263. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/tools/code/providers/e2b_.py +0 -0
  264. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/tools/code/sandbox.py +0 -0
  265. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/tools/file/__init__.py +0 -0
  266. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/tools/file/manager.py +0 -0
  267. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/tools/file/providers/__init__.py +0 -0
  268. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/tools/file/providers/docling_.py +0 -0
  269. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/tools/file/reader.py +0 -0
  270. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/tools/file/writer.py +0 -0
  271. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/tools/query/__init__.py +0 -0
  272. {lionagi-0.9.7 → lionagi-0.9.9}/lionagi/utils.py +0 -0
  273. {lionagi-0.9.7 → lionagi-0.9.9}/prompts/doc_style.md +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lionagi
3
- Version: 0.9.7
3
+ Version: 0.9.9
4
4
  Summary: An Intelligence Operating System.
5
5
  Author-email: HaiyangLi <quantocean.li@gmail.com>
6
6
  License: Apache License
@@ -218,6 +218,7 @@ def chunk_content(
218
218
  threshold: int = 256,
219
219
  metadata: dict[str, Any] = {},
220
220
  return_tokens: bool = False,
221
+ as_node: bool = False,
221
222
  **kwargs: Any,
222
223
  ) -> list[dict[str, Any]]:
223
224
  """
@@ -257,6 +258,22 @@ def chunk_content(
257
258
  threshold=threshold,
258
259
  )
259
260
 
261
+ if as_node:
262
+ from lionagi.protocols.graph.node import Node
263
+
264
+ return [
265
+ Node(
266
+ content=chunk,
267
+ metadata={
268
+ "chunk_id": i + 1,
269
+ "total_chunks": len(chunks),
270
+ "chunk_size": len(chunk),
271
+ **metadata,
272
+ },
273
+ )
274
+ for i, chunk in enumerate(chunks)
275
+ ]
276
+
260
277
  return [
261
278
  {
262
279
  "chunk_content": chunk,
@@ -6,7 +6,9 @@ import logging
6
6
  from collections.abc import Callable
7
7
  from concurrent.futures import ThreadPoolExecutor, as_completed
8
8
  from pathlib import Path
9
- from typing import Any
9
+ from typing import Any, Literal
10
+
11
+ from lionagi.utils import lcall
10
12
 
11
13
  from .chunk import chunk_content
12
14
  from .save import save_chunks
@@ -87,7 +89,7 @@ def dir_to_files(
87
89
 
88
90
  def file_to_chunks(
89
91
  file_path: str | Path,
90
- chunk_func: Callable[[str, int, float, int], list[str]],
92
+ chunk_by: Literal["chars", "tokens"] = "chars",
91
93
  chunk_size: int = 1500,
92
94
  overlap: float = 0.1,
93
95
  threshold: int = 200,
@@ -97,6 +99,7 @@ def file_to_chunks(
97
99
  verbose: bool = False,
98
100
  timestamp: bool = True,
99
101
  random_hash_digits: int = 4,
102
+ as_node: bool = False,
100
103
  ) -> list[dict[str, Any]]:
101
104
  """
102
105
  Process a file and split its content into chunks.
@@ -124,9 +127,10 @@ def file_to_chunks(
124
127
  ValueError: If there's an error processing the file.
125
128
  """
126
129
  try:
127
- file_path = Path(file_path)
128
- with open(file_path, encoding=encoding) as f:
129
- content = f.read()
130
+ if isinstance(file_path, str):
131
+ file_path = Path(file_path)
132
+
133
+ text = file_path.read_text(encoding=encoding)
130
134
 
131
135
  metadata = {
132
136
  "file_path": str(file_path),
@@ -136,14 +140,111 @@ def file_to_chunks(
136
140
  }
137
141
 
138
142
  chunks = chunk_content(
139
- content, chunk_func, chunk_size, overlap, threshold, metadata
143
+ text,
144
+ chunk_by=chunk_by,
145
+ chunk_size=chunk_size,
146
+ overlap=overlap,
147
+ threshold=threshold,
148
+ metadata=metadata,
149
+ as_node=as_node,
140
150
  )
141
151
 
142
152
  if output_dir:
143
153
  save_chunks(
144
- chunks, output_dir, verbose, timestamp, random_hash_digits
154
+ chunks=chunks,
155
+ output_dir=output_dir,
156
+ verbose=verbose,
157
+ timestamp=timestamp,
158
+ random_hash_digits=random_hash_digits,
145
159
  )
146
160
 
147
161
  return chunks
148
162
  except Exception as e:
149
163
  raise ValueError(f"Error processing file {file_path}: {e}") from e
164
+
165
+
166
+ def chunk(
167
+ url_or_path: str | Path,
168
+ *,
169
+ file_types: list[str] | None = None, # only local files
170
+ recursive: bool = False, # only local files
171
+ chunk_by: Literal["chars", "tokens"] = "chars",
172
+ chunk_size: int = 1500,
173
+ overlap: float = 0.1,
174
+ threshold: int = 200,
175
+ output_file: str | Path | None = None,
176
+ metadata: dict[str, Any] | None = None,
177
+ reader_tool: Callable = None,
178
+ ):
179
+ if isinstance(url_or_path, str):
180
+ url_or_path = Path(url_or_path)
181
+
182
+ chunks = None
183
+ files = None
184
+ if url_or_path.exists():
185
+ if url_or_path.is_dir():
186
+ files = dir_to_files(
187
+ directory=url_or_path,
188
+ file_types=file_types,
189
+ recursive=recursive,
190
+ )
191
+ elif url_or_path.is_file():
192
+ files = [url_or_path]
193
+ else:
194
+ files = (
195
+ [str(url_or_path)]
196
+ if not isinstance(url_or_path, list)
197
+ else url_or_path
198
+ )
199
+
200
+ if reader_tool is None:
201
+ reader_tool = lambda x: x.read_text(encoding="utf-8")
202
+
203
+ if reader_tool == "docling":
204
+ from lionagi.libs.package.imports import check_import
205
+
206
+ DocumentConverter = check_import(
207
+ "docling",
208
+ module_name="document_converter",
209
+ import_name="DocumentConverter",
210
+ )
211
+ converter = DocumentConverter()
212
+ reader_tool = lambda x: converter.convert(
213
+ x
214
+ ).document.export_to_markdown()
215
+
216
+ texts = lcall(files, reader_tool)
217
+ chunks = lcall(
218
+ texts,
219
+ chunk_content,
220
+ chunk_by=chunk_by,
221
+ chunk_size=chunk_size,
222
+ overlap=overlap,
223
+ threshold=threshold,
224
+ metadata=metadata,
225
+ as_node=True,
226
+ flatten=True,
227
+ )
228
+ if threshold:
229
+ chunks = [c for c in chunks if len(c.content) > threshold]
230
+
231
+ if output_file:
232
+ from lionagi.protocols.generic.pile import Pile
233
+
234
+ output_file = Path(output_file)
235
+ if output_file.suffix == ".csv":
236
+ p = Pile(chunks)
237
+ p.to_csv_file(output_file)
238
+
239
+ elif output_file.suffix == ".json":
240
+ p = Pile(chunks)
241
+ p.to_json_file(output_file, use_pd=True)
242
+
243
+ elif output_file.suffix in Pile.list_adapters():
244
+ p = Pile(chunks)
245
+ p.adapt_to(output_file.suffix, fp=output_file)
246
+
247
+ else:
248
+ raise ValueError(f"Unsupported output file format: {output_file}")
249
+
250
+ return chunks
@@ -29,6 +29,7 @@ CHAT_COMPLETION_CONFIG = {
29
29
  "tools",
30
30
  "top_p",
31
31
  "top_k",
32
+ "cache_control",
32
33
  },
33
34
  "allowed_roles": ["user", "assistant"],
34
35
  }
@@ -49,6 +50,21 @@ class AnthropicChatCompletionEndPoint(ChatCompletionEndPoint):
49
50
  for k, v in kwargs.items():
50
51
  if k in self.acceptable_kwargs:
51
52
  payload[k] = v
53
+ if "cache_control" in payload:
54
+ cache_control = payload.pop("cache_control")
55
+ if cache_control:
56
+ cache_control = "ephemeral"
57
+ last_message = payload["messages"][-1]["content"]
58
+ if isinstance(last_message, str):
59
+ last_message = {
60
+ "type": "text",
61
+ "text": last_message,
62
+ "cache_control": cache_control,
63
+ }
64
+ elif isinstance(last_message, list) and isinstance(
65
+ last_message[-1], dict
66
+ ):
67
+ last_message[-1]["cache_control"] = cache_control
52
68
  if "api_key" in kwargs:
53
69
  headers["x-api-key"] = kwargs["api_key"]
54
70
  headers["anthropic-version"] = kwargs.pop(
@@ -4,6 +4,8 @@
4
4
 
5
5
  from lionagi.service.endpoints.chat_completion import ChatCompletionEndPoint
6
6
 
7
+ from .spec import reasoning_models, reasoning_not_support_params
8
+
7
9
  CHAT_COMPLETION_CONFIG = {
8
10
  "provider": "openai",
9
11
  "base_url": "https://api.openai.com/v1",
@@ -84,9 +86,9 @@ class OpenAIChatCompletionEndPoint(ChatCompletionEndPoint):
84
86
  if "api_key" in kwargs:
85
87
  headers["Authorization"] = f"Bearer {kwargs['api_key']}"
86
88
 
87
- if payload.get("model") in ["o1", "o1-2024-12-17"]:
88
- payload.pop("temperature", None)
89
- payload.pop("top_p", None)
89
+ if payload.get("model") in reasoning_models:
90
+ for param in reasoning_not_support_params:
91
+ payload.pop(param, None)
90
92
  if payload["messages"][0].get("role") == "system":
91
93
  payload["messages"][0]["role"] = "developer"
92
94
  else:
@@ -0,0 +1,14 @@
1
+ reasoning_models = (
2
+ "o3-mini-2025-01-31",
3
+ "o3-mini",
4
+ "o1",
5
+ "o1-2024-12-17",
6
+ )
7
+
8
+ reasoning_not_support_params = (
9
+ "temperature",
10
+ "top_p",
11
+ "logit_bias",
12
+ "logprobs",
13
+ "top_logprobs",
14
+ )
@@ -3,6 +3,8 @@
3
3
  # SPDX-License-Identifier: Apache-2.0
4
4
 
5
5
 
6
+ from lionagi.libs.file.process import chunk
7
+
6
8
  from .file.reader import ReaderTool
7
9
 
8
- __all__ = ("ReaderTool",)
10
+ __all__ = ("ReaderTool", "chunk")
@@ -0,0 +1 @@
1
+ __version__ = "0.9.9"
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "lionagi"
3
- version = "0.9.7"
3
+ version = "0.9.9"
4
4
  description = "An Intelligence Operating System."
5
5
  authors = [
6
6
  { name = "HaiyangLi", email = "quantocean.li@gmail.com" },
@@ -1208,7 +1208,7 @@ wheels = [
1208
1208
 
1209
1209
  [[package]]
1210
1210
  name = "lionagi"
1211
- version = "0.9.7"
1211
+ version = "0.9.9"
1212
1212
  source = { editable = "." }
1213
1213
  dependencies = [
1214
1214
  { name = "aiocache" },
@@ -1 +0,0 @@
1
- __version__ = "0.9.7"
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
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes