praisonAI 2.6.2__tar.gz → 2.6.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 (255) hide show
  1. {praisonai-2.6.2 → praisonai-2.6.4}/PKG-INFO +15 -11
  2. {praisonai-2.6.2 → praisonai-2.6.4}/PraisonAI.egg-info/PKG-INFO +15 -11
  3. {praisonai-2.6.2 → praisonai-2.6.4}/PraisonAI.egg-info/SOURCES.txt +29 -0
  4. {praisonai-2.6.2 → praisonai-2.6.4}/PraisonAI.egg-info/requires.txt +1 -1
  5. {praisonai-2.6.2 → praisonai-2.6.4}/README.md +13 -9
  6. praisonai-2.6.4/praisonai/capabilities/__init__.py +275 -0
  7. praisonai-2.6.4/praisonai/capabilities/a2a.py +140 -0
  8. praisonai-2.6.4/praisonai/capabilities/assistants.py +283 -0
  9. praisonai-2.6.4/praisonai/capabilities/audio.py +320 -0
  10. praisonai-2.6.4/praisonai/capabilities/batches.py +469 -0
  11. praisonai-2.6.4/praisonai/capabilities/completions.py +336 -0
  12. praisonai-2.6.4/praisonai/capabilities/container_files.py +155 -0
  13. praisonai-2.6.4/praisonai/capabilities/containers.py +93 -0
  14. praisonai-2.6.4/praisonai/capabilities/embeddings.py +158 -0
  15. praisonai-2.6.4/praisonai/capabilities/files.py +467 -0
  16. praisonai-2.6.4/praisonai/capabilities/fine_tuning.py +293 -0
  17. praisonai-2.6.4/praisonai/capabilities/guardrails.py +182 -0
  18. praisonai-2.6.4/praisonai/capabilities/images.py +330 -0
  19. praisonai-2.6.4/praisonai/capabilities/mcp.py +190 -0
  20. praisonai-2.6.4/praisonai/capabilities/messages.py +270 -0
  21. praisonai-2.6.4/praisonai/capabilities/moderations.py +154 -0
  22. praisonai-2.6.4/praisonai/capabilities/ocr.py +217 -0
  23. praisonai-2.6.4/praisonai/capabilities/passthrough.py +204 -0
  24. praisonai-2.6.4/praisonai/capabilities/rag.py +207 -0
  25. praisonai-2.6.4/praisonai/capabilities/realtime.py +160 -0
  26. praisonai-2.6.4/praisonai/capabilities/rerank.py +165 -0
  27. praisonai-2.6.4/praisonai/capabilities/responses.py +266 -0
  28. praisonai-2.6.4/praisonai/capabilities/search.py +109 -0
  29. praisonai-2.6.4/praisonai/capabilities/skills.py +133 -0
  30. praisonai-2.6.4/praisonai/capabilities/vector_store_files.py +334 -0
  31. praisonai-2.6.4/praisonai/capabilities/vector_stores.py +304 -0
  32. praisonai-2.6.4/praisonai/capabilities/videos.py +141 -0
  33. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/__init__.py +11 -0
  34. praisonai-2.6.4/praisonai/cli/features/capabilities.py +1326 -0
  35. praisonai-2.6.4/praisonai/cli/features/ollama.py +361 -0
  36. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/templates.py +55 -9
  37. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/tools.py +202 -1
  38. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/main.py +104 -20
  39. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/deploy.py +1 -1
  40. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/templates/tool_override.py +166 -9
  41. praisonai-2.6.4/praisonai/version.py +1 -0
  42. {praisonai-2.6.2 → praisonai-2.6.4}/pyproject.toml +1 -1
  43. praisonai-2.6.2/praisonai/version.py +0 -1
  44. {praisonai-2.6.2 → praisonai-2.6.4}/PraisonAI.egg-info/dependency_links.txt +0 -0
  45. {praisonai-2.6.2 → praisonai-2.6.4}/PraisonAI.egg-info/entry_points.txt +0 -0
  46. {praisonai-2.6.2 → praisonai-2.6.4}/PraisonAI.egg-info/top_level.txt +0 -0
  47. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/__init__.py +0 -0
  48. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/__main__.py +0 -0
  49. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/adapters/__init__.py +0 -0
  50. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/adapters/readers.py +0 -0
  51. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/adapters/rerankers.py +0 -0
  52. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/adapters/retrievers.py +0 -0
  53. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/adapters/vector_stores.py +0 -0
  54. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/agent_scheduler.py +0 -0
  55. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/agents_generator.py +0 -0
  56. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/api/call.py +0 -0
  57. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/auto.py +0 -0
  58. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/chainlit_ui.py +0 -0
  59. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/chat/__init__.py +0 -0
  60. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/chat/app.py +0 -0
  61. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/__init__.py +0 -0
  62. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/agent_scheduler.py +0 -0
  63. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/agents.py +0 -0
  64. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/at_mentions.py +0 -0
  65. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/auto_memory.py +0 -0
  66. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/autonomy_mode.py +0 -0
  67. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/background.py +0 -0
  68. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/base.py +0 -0
  69. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/checkpoints.py +0 -0
  70. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/compaction.py +0 -0
  71. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/compare.py +0 -0
  72. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/cost_tracker.py +0 -0
  73. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/deploy.py +0 -0
  74. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/eval.py +0 -0
  75. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/external_agents.py +0 -0
  76. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/fast_context.py +0 -0
  77. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/flow_display.py +0 -0
  78. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/git_integration.py +0 -0
  79. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/guardrail.py +0 -0
  80. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/handoff.py +0 -0
  81. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/hooks.py +0 -0
  82. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/image.py +0 -0
  83. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/interactive_tui.py +0 -0
  84. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/jobs.py +0 -0
  85. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/knowledge.py +0 -0
  86. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/mcp.py +0 -0
  87. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/message_queue.py +0 -0
  88. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/metrics.py +0 -0
  89. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/n8n.py +0 -0
  90. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/observability.py +0 -0
  91. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/output_style.py +0 -0
  92. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/persistence.py +0 -0
  93. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/profile.py +0 -0
  94. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/profiling.py +0 -0
  95. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/repo_map.py +0 -0
  96. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/router.py +0 -0
  97. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/sandbox_executor.py +0 -0
  98. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/session.py +0 -0
  99. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/skills.py +0 -0
  100. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/slash_commands.py +0 -0
  101. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/telemetry.py +0 -0
  102. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/thinking.py +0 -0
  103. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/todo.py +0 -0
  104. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/features/workflow.py +0 -0
  105. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/cli/schedule_cli.py +0 -0
  106. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/code/__init__.py +0 -0
  107. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/code/agent_tools.py +0 -0
  108. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/code/diff/__init__.py +0 -0
  109. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/code/diff/diff_strategy.py +0 -0
  110. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/code/tools/__init__.py +0 -0
  111. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/code/tools/apply_diff.py +0 -0
  112. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/code/tools/execute_command.py +0 -0
  113. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/code/tools/list_files.py +0 -0
  114. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/code/tools/read_file.py +0 -0
  115. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/code/tools/search_replace.py +0 -0
  116. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/code/tools/write_file.py +0 -0
  117. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/code/utils/__init__.py +0 -0
  118. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/code/utils/file_utils.py +0 -0
  119. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/code/utils/ignore_utils.py +0 -0
  120. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/code/utils/text_utils.py +0 -0
  121. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/db/__init__.py +0 -0
  122. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/db/adapter.py +0 -0
  123. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/deploy/__init__.py +0 -0
  124. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/deploy/api.py +0 -0
  125. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/deploy/docker.py +0 -0
  126. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/deploy/doctor.py +0 -0
  127. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/deploy/main.py +0 -0
  128. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/deploy/models.py +0 -0
  129. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/deploy/providers/__init__.py +0 -0
  130. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/deploy/providers/aws.py +0 -0
  131. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/deploy/providers/azure.py +0 -0
  132. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/deploy/providers/base.py +0 -0
  133. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/deploy/providers/gcp.py +0 -0
  134. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/deploy/schema.py +0 -0
  135. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/inbuilt_tools/__init__.py +0 -0
  136. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/inbuilt_tools/autogen_tools.py +0 -0
  137. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/inc/__init__.py +0 -0
  138. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/inc/config.py +0 -0
  139. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/inc/models.py +0 -0
  140. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/integrations/__init__.py +0 -0
  141. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/integrations/base.py +0 -0
  142. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/integrations/claude_code.py +0 -0
  143. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/integrations/codex_cli.py +0 -0
  144. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/integrations/cursor_cli.py +0 -0
  145. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/integrations/gemini_cli.py +0 -0
  146. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/jobs/__init__.py +0 -0
  147. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/jobs/executor.py +0 -0
  148. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/jobs/models.py +0 -0
  149. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/jobs/router.py +0 -0
  150. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/jobs/server.py +0 -0
  151. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/jobs/store.py +0 -0
  152. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/__init__.py +0 -0
  153. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/config.py +0 -0
  154. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/conversation/__init__.py +0 -0
  155. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/conversation/async_mysql.py +0 -0
  156. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/conversation/async_postgres.py +0 -0
  157. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/conversation/async_sqlite.py +0 -0
  158. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/conversation/base.py +0 -0
  159. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/conversation/json_store.py +0 -0
  160. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/conversation/mysql.py +0 -0
  161. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/conversation/postgres.py +0 -0
  162. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/conversation/singlestore.py +0 -0
  163. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/conversation/sqlite.py +0 -0
  164. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/conversation/supabase.py +0 -0
  165. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/conversation/surrealdb.py +0 -0
  166. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/factory.py +0 -0
  167. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/hooks/__init__.py +0 -0
  168. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/hooks/agent_hooks.py +0 -0
  169. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/knowledge/__init__.py +0 -0
  170. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/knowledge/base.py +0 -0
  171. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/knowledge/cassandra.py +0 -0
  172. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/knowledge/chroma.py +0 -0
  173. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/knowledge/clickhouse.py +0 -0
  174. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/knowledge/cosmosdb_vector.py +0 -0
  175. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/knowledge/couchbase.py +0 -0
  176. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/knowledge/lancedb.py +0 -0
  177. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/knowledge/langchain_adapter.py +0 -0
  178. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/knowledge/lightrag_adapter.py +0 -0
  179. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/knowledge/llamaindex_adapter.py +0 -0
  180. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/knowledge/milvus.py +0 -0
  181. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/knowledge/mongodb_vector.py +0 -0
  182. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/knowledge/pgvector.py +0 -0
  183. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/knowledge/pinecone.py +0 -0
  184. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/knowledge/qdrant.py +0 -0
  185. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/knowledge/redis_vector.py +0 -0
  186. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/knowledge/singlestore_vector.py +0 -0
  187. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/knowledge/surrealdb_vector.py +0 -0
  188. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/knowledge/upstash_vector.py +0 -0
  189. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/knowledge/weaviate.py +0 -0
  190. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/migrations/__init__.py +0 -0
  191. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/migrations/manager.py +0 -0
  192. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/orchestrator.py +0 -0
  193. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/state/__init__.py +0 -0
  194. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/state/async_mongodb.py +0 -0
  195. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/state/base.py +0 -0
  196. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/state/dynamodb.py +0 -0
  197. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/state/firestore.py +0 -0
  198. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/state/gcs.py +0 -0
  199. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/state/memory.py +0 -0
  200. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/state/mongodb.py +0 -0
  201. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/state/redis.py +0 -0
  202. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/state/upstash.py +0 -0
  203. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/tests/__init__.py +0 -0
  204. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/persistence/tests/test_all_backends.py +0 -0
  205. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/profiler.py +0 -0
  206. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/scheduler/__init__.py +0 -0
  207. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/scheduler/agent_scheduler.py +0 -0
  208. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/scheduler/base.py +0 -0
  209. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/scheduler/daemon_manager.py +0 -0
  210. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/scheduler/state_manager.py +0 -0
  211. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/scheduler/yaml_loader.py +0 -0
  212. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/scheduler.py +0 -0
  213. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/setup/__init__.py +0 -0
  214. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/setup/build.py +0 -0
  215. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/setup/post_install.py +0 -0
  216. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/setup/setup_conda_env.py +0 -0
  217. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/setup.py +0 -0
  218. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/templates/__init__.py +0 -0
  219. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/templates/cache.py +0 -0
  220. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/templates/dependency_checker.py +0 -0
  221. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/templates/discovery.py +0 -0
  222. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/templates/loader.py +0 -0
  223. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/templates/registry.py +0 -0
  224. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/templates/resolver.py +0 -0
  225. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/templates/security.py +0 -0
  226. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/templates/tools_doctor.py +0 -0
  227. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/test.py +0 -0
  228. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/train.py +0 -0
  229. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/train_vision.py +0 -0
  230. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/ui/agents.py +0 -0
  231. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/ui/callbacks.py +0 -0
  232. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/ui/chat.py +0 -0
  233. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/ui/code.py +0 -0
  234. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/ui/colab.py +0 -0
  235. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/ui/colab_chainlit.py +0 -0
  236. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/ui/components/aicoder.py +0 -0
  237. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/ui/context.py +0 -0
  238. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/ui/database_config.py +0 -0
  239. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/ui/db.py +0 -0
  240. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/ui/realtime.py +0 -0
  241. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/ui/realtimeclient/__init__.py +0 -0
  242. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/ui/realtimeclient/tools.py +0 -0
  243. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/ui/sql_alchemy.py +0 -0
  244. {praisonai-2.6.2 → praisonai-2.6.4}/praisonai/upload_vision.py +0 -0
  245. {praisonai-2.6.2 → praisonai-2.6.4}/setup.cfg +0 -0
  246. {praisonai-2.6.2 → praisonai-2.6.4}/tests/test.py +0 -0
  247. {praisonai-2.6.2 → praisonai-2.6.4}/tests/test_agents_playbook.py +0 -0
  248. {praisonai-2.6.2 → praisonai-2.6.4}/tests/test_approval_system.py +0 -0
  249. {praisonai-2.6.2 → praisonai-2.6.4}/tests/test_basic.py +0 -0
  250. {praisonai-2.6.2 → praisonai-2.6.4}/tests/test_cli_features.py +0 -0
  251. {praisonai-2.6.2 → praisonai-2.6.4}/tests/test_custom_tools_fix.py +0 -0
  252. {praisonai-2.6.2 → praisonai-2.6.4}/tests/test_double_api_fix.py +0 -0
  253. {praisonai-2.6.2 → praisonai-2.6.4}/tests/test_n8n_integration.py +0 -0
  254. {praisonai-2.6.2 → praisonai-2.6.4}/tests/test_phase2_refactor.py +0 -0
  255. {praisonai-2.6.2 → praisonai-2.6.4}/tests/test_runner.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PraisonAI
3
- Version: 2.6.2
3
+ Version: 2.6.4
4
4
  Summary: PraisonAI is an AI Agents Framework with Self Reflection. PraisonAI application combines PraisonAI Agents, AutoGen, and CrewAI into a low-code solution for building and managing multi-agent LLM systems, focusing on simplicity, customisation, and efficient human-agent collaboration.
5
5
  Author: Mervin Praison
6
6
  License: MIT
@@ -11,7 +11,7 @@ Description-Content-Type: text/markdown
11
11
  Requires-Dist: rich>=13.7
12
12
  Requires-Dist: markdown>=3.5
13
13
  Requires-Dist: pyparsing>=3.0.0
14
- Requires-Dist: praisonaiagents>=0.4.0
14
+ Requires-Dist: praisonaiagents>=0.4.1
15
15
  Requires-Dist: python-dotenv>=0.19.0
16
16
  Requires-Dist: instructor>=1.3.3
17
17
  Requires-Dist: PyYAML>=6.0
@@ -2091,18 +2091,22 @@ manager.delete_checkpoint("deploy-v1")
2091
2091
 
2092
2092
  ### Tools CLI:
2093
2093
  ```bash
2094
- # List all available tools
2095
2094
  praisonai tools list
2096
-
2097
- # Get info about a specific tool
2098
2095
  praisonai tools info internet_search
2099
-
2100
- # Search for tools
2101
2096
  praisonai tools search "web"
2102
-
2103
- # Show all commands
2104
- praisonai tools help
2105
- ```
2097
+ praisonai tools doctor
2098
+ praisonai tools resolve shell_tool
2099
+ praisonai tools discover
2100
+ praisonai tools show-sources
2101
+ praisonai tools show-sources --template ai-video-editor
2102
+ ```
2103
+
2104
+ | Command | Example | Docs |
2105
+ |---------|---------|------|
2106
+ | `tools list` | [example](examples/tools/) | [docs](https://docs.praison.ai/docs/cli/tools) |
2107
+ | `tools resolve` | [example](examples/tools/example_tools_resolve.py) | [docs](https://docs.praison.ai/docs/cli/tools-resolve) |
2108
+ | `tools discover` | [example](examples/tools/example_tools_discover.py) | [docs](https://docs.praison.ai/docs/cli/tools-discover) |
2109
+ | `tools show-sources` | [example](examples/tools/example_tools_sources.py) | [docs](https://docs.praison.ai/docs/cli/tools-show-sources) |
2106
2110
 
2107
2111
  ### Handoff CLI:
2108
2112
  ```bash
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PraisonAI
3
- Version: 2.6.2
3
+ Version: 2.6.4
4
4
  Summary: PraisonAI is an AI Agents Framework with Self Reflection. PraisonAI application combines PraisonAI Agents, AutoGen, and CrewAI into a low-code solution for building and managing multi-agent LLM systems, focusing on simplicity, customisation, and efficient human-agent collaboration.
5
5
  Author: Mervin Praison
6
6
  License: MIT
@@ -11,7 +11,7 @@ Description-Content-Type: text/markdown
11
11
  Requires-Dist: rich>=13.7
12
12
  Requires-Dist: markdown>=3.5
13
13
  Requires-Dist: pyparsing>=3.0.0
14
- Requires-Dist: praisonaiagents>=0.4.0
14
+ Requires-Dist: praisonaiagents>=0.4.1
15
15
  Requires-Dist: python-dotenv>=0.19.0
16
16
  Requires-Dist: instructor>=1.3.3
17
17
  Requires-Dist: PyYAML>=6.0
@@ -2091,18 +2091,22 @@ manager.delete_checkpoint("deploy-v1")
2091
2091
 
2092
2092
  ### Tools CLI:
2093
2093
  ```bash
2094
- # List all available tools
2095
2094
  praisonai tools list
2096
-
2097
- # Get info about a specific tool
2098
2095
  praisonai tools info internet_search
2099
-
2100
- # Search for tools
2101
2096
  praisonai tools search "web"
2102
-
2103
- # Show all commands
2104
- praisonai tools help
2105
- ```
2097
+ praisonai tools doctor
2098
+ praisonai tools resolve shell_tool
2099
+ praisonai tools discover
2100
+ praisonai tools show-sources
2101
+ praisonai tools show-sources --template ai-video-editor
2102
+ ```
2103
+
2104
+ | Command | Example | Docs |
2105
+ |---------|---------|------|
2106
+ | `tools list` | [example](examples/tools/) | [docs](https://docs.praison.ai/docs/cli/tools) |
2107
+ | `tools resolve` | [example](examples/tools/example_tools_resolve.py) | [docs](https://docs.praison.ai/docs/cli/tools-resolve) |
2108
+ | `tools discover` | [example](examples/tools/example_tools_discover.py) | [docs](https://docs.praison.ai/docs/cli/tools-discover) |
2109
+ | `tools show-sources` | [example](examples/tools/example_tools_sources.py) | [docs](https://docs.praison.ai/docs/cli/tools-show-sources) |
2106
2110
 
2107
2111
  ### Handoff CLI:
2108
2112
  ```bash
@@ -27,6 +27,33 @@ praisonai/adapters/rerankers.py
27
27
  praisonai/adapters/retrievers.py
28
28
  praisonai/adapters/vector_stores.py
29
29
  praisonai/api/call.py
30
+ praisonai/capabilities/__init__.py
31
+ praisonai/capabilities/a2a.py
32
+ praisonai/capabilities/assistants.py
33
+ praisonai/capabilities/audio.py
34
+ praisonai/capabilities/batches.py
35
+ praisonai/capabilities/completions.py
36
+ praisonai/capabilities/container_files.py
37
+ praisonai/capabilities/containers.py
38
+ praisonai/capabilities/embeddings.py
39
+ praisonai/capabilities/files.py
40
+ praisonai/capabilities/fine_tuning.py
41
+ praisonai/capabilities/guardrails.py
42
+ praisonai/capabilities/images.py
43
+ praisonai/capabilities/mcp.py
44
+ praisonai/capabilities/messages.py
45
+ praisonai/capabilities/moderations.py
46
+ praisonai/capabilities/ocr.py
47
+ praisonai/capabilities/passthrough.py
48
+ praisonai/capabilities/rag.py
49
+ praisonai/capabilities/realtime.py
50
+ praisonai/capabilities/rerank.py
51
+ praisonai/capabilities/responses.py
52
+ praisonai/capabilities/search.py
53
+ praisonai/capabilities/skills.py
54
+ praisonai/capabilities/vector_store_files.py
55
+ praisonai/capabilities/vector_stores.py
56
+ praisonai/capabilities/videos.py
30
57
  praisonai/chat/__init__.py
31
58
  praisonai/chat/app.py
32
59
  praisonai/cli/__init__.py
@@ -40,6 +67,7 @@ praisonai/cli/features/auto_memory.py
40
67
  praisonai/cli/features/autonomy_mode.py
41
68
  praisonai/cli/features/background.py
42
69
  praisonai/cli/features/base.py
70
+ praisonai/cli/features/capabilities.py
43
71
  praisonai/cli/features/checkpoints.py
44
72
  praisonai/cli/features/compaction.py
45
73
  praisonai/cli/features/compare.py
@@ -62,6 +90,7 @@ praisonai/cli/features/message_queue.py
62
90
  praisonai/cli/features/metrics.py
63
91
  praisonai/cli/features/n8n.py
64
92
  praisonai/cli/features/observability.py
93
+ praisonai/cli/features/ollama.py
65
94
  praisonai/cli/features/output_style.py
66
95
  praisonai/cli/features/persistence.py
67
96
  praisonai/cli/features/profile.py
@@ -1,7 +1,7 @@
1
1
  rich>=13.7
2
2
  markdown>=3.5
3
3
  pyparsing>=3.0.0
4
- praisonaiagents>=0.4.0
4
+ praisonaiagents>=0.4.1
5
5
  python-dotenv>=0.19.0
6
6
  instructor>=1.3.3
7
7
  PyYAML>=6.0
@@ -1994,18 +1994,22 @@ manager.delete_checkpoint("deploy-v1")
1994
1994
 
1995
1995
  ### Tools CLI:
1996
1996
  ```bash
1997
- # List all available tools
1998
1997
  praisonai tools list
1999
-
2000
- # Get info about a specific tool
2001
1998
  praisonai tools info internet_search
2002
-
2003
- # Search for tools
2004
1999
  praisonai tools search "web"
2005
-
2006
- # Show all commands
2007
- praisonai tools help
2008
- ```
2000
+ praisonai tools doctor
2001
+ praisonai tools resolve shell_tool
2002
+ praisonai tools discover
2003
+ praisonai tools show-sources
2004
+ praisonai tools show-sources --template ai-video-editor
2005
+ ```
2006
+
2007
+ | Command | Example | Docs |
2008
+ |---------|---------|------|
2009
+ | `tools list` | [example](examples/tools/) | [docs](https://docs.praison.ai/docs/cli/tools) |
2010
+ | `tools resolve` | [example](examples/tools/example_tools_resolve.py) | [docs](https://docs.praison.ai/docs/cli/tools-resolve) |
2011
+ | `tools discover` | [example](examples/tools/example_tools_discover.py) | [docs](https://docs.praison.ai/docs/cli/tools-discover) |
2012
+ | `tools show-sources` | [example](examples/tools/example_tools_sources.py) | [docs](https://docs.praison.ai/docs/cli/tools-show-sources) |
2009
2013
 
2010
2014
  ### Handoff CLI:
2011
2015
  ```bash
@@ -0,0 +1,275 @@
1
+ """
2
+ PraisonAI Capabilities Module
3
+
4
+ This module provides LiteLLM endpoint capability parity for PraisonAI.
5
+ All capabilities are lazy-loaded to minimize import overhead.
6
+
7
+ Capabilities:
8
+ - audio: Transcription and text-to-speech
9
+ - images: Image generation and editing
10
+ - videos: Video generation
11
+ - files: File upload and management
12
+ - batches: Batch processing
13
+ - vector_stores: Vector store management
14
+ - embeddings: Text embeddings
15
+ - rerank: Document reranking
16
+ - moderations: Content moderation
17
+ - ocr: Optical character recognition
18
+ - assistants: OpenAI-style assistants
19
+ - fine_tuning: Model fine-tuning
20
+ - responses: Response management
21
+ - passthrough: Generic API passthrough
22
+ - containers: Container management
23
+ - search: Search capabilities
24
+ - a2a: Agent-to-agent gateway
25
+ """
26
+
27
+ __all__ = [
28
+ # Audio
29
+ 'transcribe',
30
+ 'atranscribe',
31
+ 'speech',
32
+ 'aspeech',
33
+ # Images
34
+ 'image_generate',
35
+ 'aimage_generate',
36
+ 'image_edit',
37
+ 'aimage_edit',
38
+ # Videos
39
+ 'video_generate',
40
+ 'avideo_generate',
41
+ # Files
42
+ 'file_create',
43
+ 'afile_create',
44
+ 'file_list',
45
+ 'afile_list',
46
+ 'file_retrieve',
47
+ 'afile_retrieve',
48
+ 'file_delete',
49
+ 'afile_delete',
50
+ 'file_content',
51
+ 'afile_content',
52
+ # Batches
53
+ 'batch_create',
54
+ 'abatch_create',
55
+ 'batch_list',
56
+ 'abatch_list',
57
+ 'batch_retrieve',
58
+ 'abatch_retrieve',
59
+ 'batch_cancel',
60
+ 'abatch_cancel',
61
+ # Vector Stores
62
+ 'vector_store_create',
63
+ 'avector_store_create',
64
+ 'vector_store_search',
65
+ 'avector_store_search',
66
+ # Embeddings
67
+ 'embed',
68
+ 'aembed',
69
+ # Rerank
70
+ 'rerank',
71
+ 'arerank',
72
+ # Moderations
73
+ 'moderate',
74
+ 'amoderate',
75
+ # OCR
76
+ 'ocr',
77
+ 'aocr',
78
+ # Assistants
79
+ 'assistant_create',
80
+ 'aassistant_create',
81
+ 'assistant_list',
82
+ 'aassistant_list',
83
+ # Fine-tuning
84
+ 'fine_tuning_create',
85
+ 'afine_tuning_create',
86
+ 'fine_tuning_list',
87
+ 'afine_tuning_list',
88
+ # Responses
89
+ 'responses_create',
90
+ 'aresponses_create',
91
+ # Passthrough
92
+ 'passthrough',
93
+ 'apassthrough',
94
+ # Containers
95
+ 'container_create',
96
+ 'acontainer_create',
97
+ # Search
98
+ 'search',
99
+ 'asearch',
100
+ # A2A
101
+ 'a2a_send',
102
+ 'aa2a_send',
103
+ # Completions
104
+ 'chat_completion',
105
+ 'achat_completion',
106
+ 'text_completion',
107
+ 'atext_completion',
108
+ # Messages
109
+ 'messages_create',
110
+ 'amessages_create',
111
+ 'count_tokens',
112
+ 'acount_tokens',
113
+ # Guardrails
114
+ 'apply_guardrail',
115
+ 'aapply_guardrail',
116
+ # RAG
117
+ 'rag_query',
118
+ 'arag_query',
119
+ # Realtime
120
+ 'realtime_connect',
121
+ 'arealtime_connect',
122
+ 'realtime_send',
123
+ 'arealtime_send',
124
+ # Skills
125
+ 'skill_list',
126
+ 'askill_list',
127
+ 'skill_load',
128
+ 'askill_load',
129
+ # MCP
130
+ 'mcp_list_tools',
131
+ 'amcp_list_tools',
132
+ 'mcp_call_tool',
133
+ 'amcp_call_tool',
134
+ # Vector Store Files
135
+ 'vector_store_file_create',
136
+ 'avector_store_file_create',
137
+ 'vector_store_file_list',
138
+ 'avector_store_file_list',
139
+ 'vector_store_file_delete',
140
+ 'avector_store_file_delete',
141
+ # Container Files
142
+ 'container_file_read',
143
+ 'acontainer_file_read',
144
+ 'container_file_write',
145
+ 'acontainer_file_write',
146
+ 'container_file_list',
147
+ 'acontainer_file_list',
148
+ # Result types
149
+ 'TranscriptionResult',
150
+ 'SpeechResult',
151
+ 'ImageResult',
152
+ 'FileResult',
153
+ 'BatchResult',
154
+ 'VectorStoreResult',
155
+ 'EmbeddingResult',
156
+ 'RerankResult',
157
+ 'ModerationResult',
158
+ 'OCRResult',
159
+ 'CompletionResult',
160
+ 'MessageResult',
161
+ 'TokenCountResult',
162
+ 'GuardrailResult',
163
+ 'RAGResult',
164
+ 'RealtimeSession',
165
+ 'RealtimeEvent',
166
+ 'SkillResult',
167
+ 'MCPResult',
168
+ 'MCPToolCallResult',
169
+ 'VectorStoreFileResult',
170
+ 'ContainerFileResult',
171
+ ]
172
+
173
+ _ATTR_TO_MODULE = {
174
+ # Audio
175
+ 'transcribe': 'audio', 'atranscribe': 'audio', 'speech': 'audio', 'aspeech': 'audio',
176
+ 'TranscriptionResult': 'audio', 'SpeechResult': 'audio',
177
+ # Images
178
+ 'image_generate': 'images', 'aimage_generate': 'images', 'image_edit': 'images',
179
+ 'aimage_edit': 'images', 'ImageResult': 'images',
180
+ # Videos
181
+ 'video_generate': 'videos', 'avideo_generate': 'videos',
182
+ # Files
183
+ 'file_create': 'files', 'afile_create': 'files', 'file_list': 'files',
184
+ 'afile_list': 'files', 'file_retrieve': 'files', 'afile_retrieve': 'files',
185
+ 'file_delete': 'files', 'afile_delete': 'files', 'file_content': 'files',
186
+ 'afile_content': 'files', 'FileResult': 'files',
187
+ # Batches
188
+ 'batch_create': 'batches', 'abatch_create': 'batches', 'batch_list': 'batches',
189
+ 'abatch_list': 'batches', 'batch_retrieve': 'batches', 'abatch_retrieve': 'batches',
190
+ 'batch_cancel': 'batches', 'abatch_cancel': 'batches', 'BatchResult': 'batches',
191
+ # Vector Stores
192
+ 'vector_store_create': 'vector_stores', 'avector_store_create': 'vector_stores',
193
+ 'vector_store_search': 'vector_stores', 'avector_store_search': 'vector_stores',
194
+ 'VectorStoreResult': 'vector_stores',
195
+ # Embeddings
196
+ 'embed': 'embeddings', 'aembed': 'embeddings', 'EmbeddingResult': 'embeddings',
197
+ # Rerank
198
+ 'rerank': 'rerank_module', 'arerank': 'rerank_module', 'RerankResult': 'rerank_module',
199
+ # Moderations
200
+ 'moderate': 'moderations', 'amoderate': 'moderations', 'ModerationResult': 'moderations',
201
+ # OCR
202
+ 'ocr': 'ocr_module', 'aocr': 'ocr_module', 'OCRResult': 'ocr_module',
203
+ # Assistants
204
+ 'assistant_create': 'assistants', 'aassistant_create': 'assistants',
205
+ 'assistant_list': 'assistants', 'aassistant_list': 'assistants',
206
+ # Fine-tuning
207
+ 'fine_tuning_create': 'fine_tuning', 'afine_tuning_create': 'fine_tuning',
208
+ 'fine_tuning_list': 'fine_tuning', 'afine_tuning_list': 'fine_tuning',
209
+ # Responses
210
+ 'responses_create': 'responses', 'aresponses_create': 'responses',
211
+ # Passthrough
212
+ 'passthrough': 'passthrough_module', 'apassthrough': 'passthrough_module',
213
+ # Containers
214
+ 'container_create': 'containers', 'acontainer_create': 'containers',
215
+ # Search
216
+ 'search': 'search_module', 'asearch': 'search_module',
217
+ # A2A
218
+ 'a2a_send': 'a2a', 'aa2a_send': 'a2a',
219
+ # Completions
220
+ 'chat_completion': 'completions', 'achat_completion': 'completions',
221
+ 'text_completion': 'completions', 'atext_completion': 'completions',
222
+ 'CompletionResult': 'completions',
223
+ # Messages
224
+ 'messages_create': 'messages', 'amessages_create': 'messages',
225
+ 'count_tokens': 'messages', 'acount_tokens': 'messages',
226
+ 'MessageResult': 'messages', 'TokenCountResult': 'messages',
227
+ # Guardrails
228
+ 'apply_guardrail': 'guardrails', 'aapply_guardrail': 'guardrails',
229
+ 'GuardrailResult': 'guardrails',
230
+ # RAG
231
+ 'rag_query': 'rag', 'arag_query': 'rag', 'RAGResult': 'rag',
232
+ # Realtime
233
+ 'realtime_connect': 'realtime', 'arealtime_connect': 'realtime',
234
+ 'realtime_send': 'realtime', 'arealtime_send': 'realtime',
235
+ 'RealtimeSession': 'realtime', 'RealtimeEvent': 'realtime',
236
+ # Skills
237
+ 'skill_list': 'skills_module', 'askill_list': 'skills_module',
238
+ 'skill_load': 'skills_module', 'askill_load': 'skills_module',
239
+ 'SkillResult': 'skills_module',
240
+ # MCP
241
+ 'mcp_list_tools': 'mcp', 'amcp_list_tools': 'mcp',
242
+ 'mcp_call_tool': 'mcp', 'amcp_call_tool': 'mcp',
243
+ 'MCPResult': 'mcp', 'MCPToolCallResult': 'mcp',
244
+ # Vector Store Files
245
+ 'vector_store_file_create': 'vector_store_files', 'avector_store_file_create': 'vector_store_files',
246
+ 'vector_store_file_list': 'vector_store_files', 'avector_store_file_list': 'vector_store_files',
247
+ 'vector_store_file_delete': 'vector_store_files', 'avector_store_file_delete': 'vector_store_files',
248
+ 'VectorStoreFileResult': 'vector_store_files',
249
+ # Container Files
250
+ 'container_file_read': 'container_files', 'acontainer_file_read': 'container_files',
251
+ 'container_file_write': 'container_files', 'acontainer_file_write': 'container_files',
252
+ 'container_file_list': 'container_files', 'acontainer_file_list': 'container_files',
253
+ 'ContainerFileResult': 'container_files',
254
+ }
255
+
256
+ # Module name mapping (for modules that conflict with function names)
257
+ _MODULE_ALIASES = {
258
+ 'rerank_module': 'rerank',
259
+ 'ocr_module': 'ocr',
260
+ 'passthrough_module': 'passthrough',
261
+ 'search_module': 'search',
262
+ 'skills_module': 'skills',
263
+ }
264
+
265
+ def __getattr__(name):
266
+ """Lazy load capabilities to minimize import overhead."""
267
+ if name in _ATTR_TO_MODULE:
268
+ import importlib
269
+ module_name = _ATTR_TO_MODULE[name]
270
+ # Handle module aliases
271
+ actual_module = _MODULE_ALIASES.get(module_name, module_name)
272
+ module = importlib.import_module(f'.{actual_module}', __package__)
273
+ return getattr(module, name)
274
+
275
+ raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
@@ -0,0 +1,140 @@
1
+ """
2
+ A2A (Agent-to-Agent) Capabilities Module
3
+
4
+ Provides agent-to-agent communication gateway functionality.
5
+ """
6
+
7
+ from dataclasses import dataclass, field
8
+ from typing import Optional, Any, Dict, List
9
+
10
+
11
+ @dataclass
12
+ class A2AResult:
13
+ """Result from A2A operations."""
14
+ id: str
15
+ status: str = "sent"
16
+ response: Optional[Any] = None
17
+ target_agent: Optional[str] = None
18
+ metadata: Dict[str, Any] = field(default_factory=dict)
19
+
20
+
21
+ def a2a_send(
22
+ message: str,
23
+ target_agent: str,
24
+ source_agent: Optional[str] = None,
25
+ context: Optional[Dict[str, Any]] = None,
26
+ timeout: float = 600.0,
27
+ api_key: Optional[str] = None,
28
+ api_base: Optional[str] = None,
29
+ metadata: Optional[Dict[str, Any]] = None,
30
+ **kwargs
31
+ ) -> A2AResult:
32
+ """
33
+ Send a message to another agent via A2A protocol.
34
+
35
+ Args:
36
+ message: Message to send
37
+ target_agent: Target agent identifier
38
+ source_agent: Source agent identifier
39
+ context: Additional context
40
+ timeout: Request timeout in seconds
41
+ api_key: Optional API key override
42
+ api_base: Optional API base URL override
43
+ metadata: Optional metadata for tracing
44
+
45
+ Returns:
46
+ A2AResult with response
47
+
48
+ Example:
49
+ >>> result = a2a_send(
50
+ ... "Please analyze this data",
51
+ ... target_agent="data-analyst"
52
+ ... )
53
+ >>> print(result.response)
54
+ """
55
+ import uuid
56
+
57
+ # A2A protocol implementation
58
+ # This integrates with PraisonAI's handoff mechanism
59
+
60
+ message_id = f"a2a-{uuid.uuid4().hex[:12]}"
61
+
62
+ # Try to use handoff if available
63
+ try:
64
+ from praisonaiagents import Agent
65
+
66
+ # Create a simple agent to handle the message
67
+ agent = Agent(
68
+ name=target_agent,
69
+ instructions=f"You are {target_agent}. Process the following request.",
70
+ )
71
+
72
+ response = agent.chat(message)
73
+
74
+ return A2AResult(
75
+ id=message_id,
76
+ status="completed",
77
+ response=response,
78
+ target_agent=target_agent,
79
+ metadata=metadata or {},
80
+ )
81
+ except Exception:
82
+ # Return pending status if agent not available
83
+ return A2AResult(
84
+ id=message_id,
85
+ status="pending",
86
+ response=None,
87
+ target_agent=target_agent,
88
+ metadata=metadata or {},
89
+ )
90
+
91
+
92
+ async def aa2a_send(
93
+ message: str,
94
+ target_agent: str,
95
+ source_agent: Optional[str] = None,
96
+ context: Optional[Dict[str, Any]] = None,
97
+ timeout: float = 600.0,
98
+ api_key: Optional[str] = None,
99
+ api_base: Optional[str] = None,
100
+ metadata: Optional[Dict[str, Any]] = None,
101
+ **kwargs
102
+ ) -> A2AResult:
103
+ """
104
+ Async: Send a message to another agent via A2A protocol.
105
+
106
+ See a2a_send() for full documentation.
107
+ """
108
+ import uuid
109
+
110
+ message_id = f"a2a-{uuid.uuid4().hex[:12]}"
111
+
112
+ try:
113
+ from praisonaiagents import Agent
114
+
115
+ agent = Agent(
116
+ name=target_agent,
117
+ instructions=f"You are {target_agent}. Process the following request.",
118
+ )
119
+
120
+ # Use async chat if available
121
+ if hasattr(agent, 'achat'):
122
+ response = await agent.achat(message)
123
+ else:
124
+ response = agent.chat(message)
125
+
126
+ return A2AResult(
127
+ id=message_id,
128
+ status="completed",
129
+ response=response,
130
+ target_agent=target_agent,
131
+ metadata=metadata or {},
132
+ )
133
+ except Exception:
134
+ return A2AResult(
135
+ id=message_id,
136
+ status="pending",
137
+ response=None,
138
+ target_agent=target_agent,
139
+ metadata=metadata or {},
140
+ )