PraisonAI 4.6.142__tar.gz → 4.6.143__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 (643) hide show
  1. {praisonai-4.6.142 → praisonai-4.6.143}/PKG-INFO +4 -4
  2. {praisonai-4.6.142 → praisonai-4.6.143}/PraisonAI.egg-info/PKG-INFO +4 -4
  3. {praisonai-4.6.142 → praisonai-4.6.143}/PraisonAI.egg-info/SOURCES.txt +0 -1
  4. {praisonai-4.6.142 → praisonai-4.6.143}/PraisonAI.egg-info/requires.txt +3 -3
  5. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/auto.py +111 -44
  6. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/legacy/workflow_commands.py +19 -1
  7. praisonai-4.6.143/praisonai/version.py +1 -0
  8. {praisonai-4.6.142 → praisonai-4.6.143}/pyproject.toml +3 -3
  9. praisonai-4.6.142/praisonai/_lockmap.py +0 -143
  10. praisonai-4.6.142/praisonai/version.py +0 -1
  11. {praisonai-4.6.142 → praisonai-4.6.143}/PraisonAI.egg-info/dependency_links.txt +0 -0
  12. {praisonai-4.6.142 → praisonai-4.6.143}/PraisonAI.egg-info/entry_points.txt +0 -0
  13. {praisonai-4.6.142 → praisonai-4.6.143}/PraisonAI.egg-info/top_level.txt +0 -0
  14. {praisonai-4.6.142 → praisonai-4.6.143}/README.md +0 -0
  15. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/__init__.py +0 -0
  16. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/__main__.py +0 -0
  17. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/_approval_spec.py +0 -0
  18. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/_async_bridge.py +0 -0
  19. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/_bootstrap.py +0 -0
  20. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/_dev/__init__.py +0 -0
  21. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/_dev/api_md.py +0 -0
  22. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/_dev/parity/__init__.py +0 -0
  23. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/_dev/parity/docs_extractor.py +0 -0
  24. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/_dev/parity/docs_generator.py +0 -0
  25. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/_dev/parity/generator.py +0 -0
  26. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/_dev/parity/python_docs_extractor.py +0 -0
  27. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/_dev/parity/python_extractor.py +0 -0
  28. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/_dev/parity/rust_docs_extractor.py +0 -0
  29. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/_dev/parity/rust_extractor.py +0 -0
  30. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/_dev/parity/topic_normalizer.py +0 -0
  31. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/_dev/parity/ts_docs_extractor.py +0 -0
  32. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/_dev/parity/typescript_extractor.py +0 -0
  33. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/_entrypoint.py +0 -0
  34. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/_framework_availability.py +0 -0
  35. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/_lazy_cache.py +0 -0
  36. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/_logging.py +0 -0
  37. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/_registry.py +0 -0
  38. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/_safe_loader.py +0 -0
  39. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/acp/__init__.py +0 -0
  40. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/acp/config.py +0 -0
  41. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/acp/safe_edit.py +0 -0
  42. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/acp/server.py +0 -0
  43. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/acp/session.py +0 -0
  44. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/adapters/__init__.py +0 -0
  45. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/adapters/readers.py +0 -0
  46. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/adapters/rerankers.py +0 -0
  47. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/adapters/retrievers.py +0 -0
  48. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/adapters/vector_stores.py +0 -0
  49. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/agent.py +0 -0
  50. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/agent_scheduler.py +0 -0
  51. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/agents_generator.py +0 -0
  52. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/api/agent_invoke.py +0 -0
  53. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/api/call.py +0 -0
  54. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/app/__init__.py +0 -0
  55. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/app/agentos.py +0 -0
  56. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/async_agent_scheduler.py +0 -0
  57. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/audit/__init__.py +0 -0
  58. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/audit/agent_centric.py +0 -0
  59. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/bots/__init__.py +0 -0
  60. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/browser/__init__.py +0 -0
  61. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/browser/agent.py +0 -0
  62. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/browser/benchmark.py +0 -0
  63. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/browser/cdp_agent.py +0 -0
  64. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/browser/cdp_utils.py +0 -0
  65. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/browser/cli.py +0 -0
  66. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/browser/diagnostics.py +0 -0
  67. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/browser/launcher.py +0 -0
  68. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/browser/playwright_agent.py +0 -0
  69. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/browser/profiling.py +0 -0
  70. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/browser/protocol.py +0 -0
  71. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/browser/report.py +0 -0
  72. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/browser/server.py +0 -0
  73. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/browser/sessions.py +0 -0
  74. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/browser/video.py +0 -0
  75. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/capabilities/__init__.py +0 -0
  76. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/capabilities/a2a.py +0 -0
  77. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/capabilities/assistants.py +0 -0
  78. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/capabilities/audio.py +0 -0
  79. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/capabilities/batches.py +0 -0
  80. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/capabilities/completions.py +0 -0
  81. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/capabilities/container_files.py +0 -0
  82. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/capabilities/containers.py +0 -0
  83. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/capabilities/embeddings.py +0 -0
  84. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/capabilities/files.py +0 -0
  85. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/capabilities/fine_tuning.py +0 -0
  86. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/capabilities/guardrails.py +0 -0
  87. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/capabilities/images.py +0 -0
  88. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/capabilities/mcp.py +0 -0
  89. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/capabilities/messages.py +0 -0
  90. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/capabilities/moderations.py +0 -0
  91. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/capabilities/ocr.py +0 -0
  92. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/capabilities/passthrough.py +0 -0
  93. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/capabilities/rag.py +0 -0
  94. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/capabilities/realtime.py +0 -0
  95. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/capabilities/rerank.py +0 -0
  96. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/capabilities/responses.py +0 -0
  97. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/capabilities/search.py +0 -0
  98. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/capabilities/skills.py +0 -0
  99. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/capabilities/vector_store_files.py +0 -0
  100. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/capabilities/vector_stores.py +0 -0
  101. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/capabilities/videos.py +0 -0
  102. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/claw/__init__.py +0 -0
  103. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/__init__.py +0 -0
  104. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/_paths.py +0 -0
  105. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/_shim.py +0 -0
  106. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/_warnings.py +0 -0
  107. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/app.py +0 -0
  108. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/approval_backend.py +0 -0
  109. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/branding.py +0 -0
  110. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/__init__.py +0 -0
  111. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/acp.py +0 -0
  112. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/agent.py +0 -0
  113. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/agents.py +0 -0
  114. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/app.py +0 -0
  115. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/attach.py +0 -0
  116. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/audit.py +0 -0
  117. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/auth.py +0 -0
  118. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/batch.py +0 -0
  119. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/benchmark.py +0 -0
  120. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/bot.py +0 -0
  121. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/browser.py +0 -0
  122. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/call.py +0 -0
  123. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/chat.py +0 -0
  124. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/checkpoint.py +0 -0
  125. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/claw.py +0 -0
  126. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/code.py +0 -0
  127. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/command.py +0 -0
  128. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/commit.py +0 -0
  129. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/completion.py +0 -0
  130. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/config.py +0 -0
  131. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/context.py +0 -0
  132. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/daemon.py +0 -0
  133. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/dashboard.py +0 -0
  134. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/debug.py +0 -0
  135. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/deploy.py +0 -0
  136. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/diag.py +0 -0
  137. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/docs.py +0 -0
  138. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/doctor.py +0 -0
  139. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/endpoints.py +0 -0
  140. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/environment.py +0 -0
  141. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/eval.py +0 -0
  142. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/examples.py +0 -0
  143. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/flow.py +0 -0
  144. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/gateway.py +0 -0
  145. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/github.py +0 -0
  146. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/hooks.py +0 -0
  147. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/identity.py +0 -0
  148. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/init.py +0 -0
  149. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/kanban.py +0 -0
  150. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/knowledge.py +0 -0
  151. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/langextract.py +0 -0
  152. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/langfuse.py +0 -0
  153. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/loop.py +0 -0
  154. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/lsp.py +0 -0
  155. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/managed.py +0 -0
  156. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/mcp.py +0 -0
  157. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/memory.py +0 -0
  158. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/mint_link.py +0 -0
  159. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/models.py +0 -0
  160. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/n8n.py +0 -0
  161. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/obs.py +0 -0
  162. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/onboard.py +0 -0
  163. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/package.py +0 -0
  164. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/pairing.py +0 -0
  165. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/paths.py +0 -0
  166. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/permissions.py +0 -0
  167. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/plugins.py +0 -0
  168. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/port.py +0 -0
  169. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/profile.py +0 -0
  170. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/publish.py +0 -0
  171. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/rag.py +0 -0
  172. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/realtime.py +0 -0
  173. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/recipe.py +0 -0
  174. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/registry.py +0 -0
  175. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/replay.py +0 -0
  176. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/research.py +0 -0
  177. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/retrieval.py +0 -0
  178. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/rules.py +0 -0
  179. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/run.py +0 -0
  180. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/sandbox.py +0 -0
  181. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/schedule.py +0 -0
  182. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/serve.py +0 -0
  183. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/session.py +0 -0
  184. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/setup.py +0 -0
  185. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/skills.py +0 -0
  186. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/standardise.py +0 -0
  187. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/templates.py +0 -0
  188. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/test.py +0 -0
  189. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/todo.py +0 -0
  190. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/tools.py +0 -0
  191. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/traces.py +0 -0
  192. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/tracker.py +0 -0
  193. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/train.py +0 -0
  194. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/ui.py +0 -0
  195. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/up.py +0 -0
  196. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/validate.py +0 -0
  197. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/version.py +0 -0
  198. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/commands/workflow.py +0 -0
  199. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/config_loader.py +0 -0
  200. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/configuration/__init__.py +0 -0
  201. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/configuration/config.schema.json +0 -0
  202. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/execution/__init__.py +0 -0
  203. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/fallback_schema.py +0 -0
  204. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/features/__init__.py +0 -0
  205. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/features/acp.py +0 -0
  206. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/features/agent_scheduler.py +0 -0
  207. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/features/agent_tools.py +0 -0
  208. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/features/approval.py +0 -0
  209. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/features/background.py +0 -0
  210. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/features/bots_cli.py +0 -0
  211. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/features/deploy.py +0 -0
  212. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/features/endpoints.py +0 -0
  213. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/features/eval.py +0 -0
  214. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/features/gateway.py +0 -0
  215. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/features/ollama.py +0 -0
  216. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/features/onboard.py +0 -0
  217. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/features/persistence.py +0 -0
  218. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/features/recipe.py +0 -0
  219. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/features/recipe_optimizer.py +0 -0
  220. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/features/registry.py +0 -0
  221. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/features/sandbox_cli.py +0 -0
  222. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/features/serve.py +0 -0
  223. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/features/templates.py +0 -0
  224. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/features/tools.py +0 -0
  225. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/features/tui/__init__.py +0 -0
  226. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/features/tui/app.py +0 -0
  227. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/features/workflow.py +0 -0
  228. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/interactive/__init__.py +0 -0
  229. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/interactive/async_tui.py +0 -0
  230. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/interactive/core.py +0 -0
  231. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/langfuse_client.py +0 -0
  232. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/legacy/__init__.py +0 -0
  233. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/legacy/direct_prompt.py +0 -0
  234. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/legacy/dispatch/__init__.py +0 -0
  235. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/legacy/dispatch/argparse_builder.py +0 -0
  236. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/legacy/dispatch/legacy_dispatch.py +0 -0
  237. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/legacy/framework_run.py +0 -0
  238. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/legacy/inbuilt_tools.py +0 -0
  239. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/legacy/interactive_legacy.py +0 -0
  240. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/legacy/subcommand_handlers.py +0 -0
  241. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/main.py +0 -0
  242. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/output/__init__.py +0 -0
  243. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/schedule_cli.py +0 -0
  244. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/schema_provider.py +0 -0
  245. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/session/__init__.py +0 -0
  246. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/state/__init__.py +0 -0
  247. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/ui/__init__.py +0 -0
  248. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/unified_schema.py +0 -0
  249. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli/utils/__init__.py +0 -0
  250. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/cli_backends/__init__.py +0 -0
  251. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/code/__init__.py +0 -0
  252. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/code/agent_tools.py +0 -0
  253. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/code/diff/__init__.py +0 -0
  254. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/code/diff/diff_strategy.py +0 -0
  255. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/code/tools/__init__.py +0 -0
  256. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/code/tools/apply_diff.py +0 -0
  257. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/code/tools/execute_command.py +0 -0
  258. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/code/tools/list_files.py +0 -0
  259. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/code/tools/read_file.py +0 -0
  260. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/code/tools/search_replace.py +0 -0
  261. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/code/tools/write_file.py +0 -0
  262. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/code/utils/__init__.py +0 -0
  263. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/code/utils/file_utils.py +0 -0
  264. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/code/utils/ignore_utils.py +0 -0
  265. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/code/utils/text_utils.py +0 -0
  266. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/config/__init__.py +0 -0
  267. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/config/schema.py +0 -0
  268. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/config/validator.py +0 -0
  269. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/context/__init__.py +0 -0
  270. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/context/_storage_path.py +0 -0
  271. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/context/artifact_store.py +0 -0
  272. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/context/config.py +0 -0
  273. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/context/history_store.py +0 -0
  274. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/context/queue.py +0 -0
  275. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/context/setup.py +0 -0
  276. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/context/terminal_logger.py +0 -0
  277. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/daemon/__init__.py +0 -0
  278. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/db/__init__.py +0 -0
  279. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/db/adapter.py +0 -0
  280. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/deploy/__init__.py +0 -0
  281. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/deploy/api.py +0 -0
  282. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/deploy/docker.py +0 -0
  283. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/deploy/doctor.py +0 -0
  284. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/deploy/main.py +0 -0
  285. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/deploy/models.py +0 -0
  286. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/deploy/providers/__init__.py +0 -0
  287. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/deploy/providers/_registry.py +0 -0
  288. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/deploy/providers/aws.py +0 -0
  289. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/deploy/providers/azure.py +0 -0
  290. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/deploy/providers/base.py +0 -0
  291. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/deploy/providers/gcp.py +0 -0
  292. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/deploy/schema.py +0 -0
  293. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/endpoints/__init__.py +0 -0
  294. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/endpoints/a2u_server.py +0 -0
  295. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/endpoints/discovery.py +0 -0
  296. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/endpoints/providers/__init__.py +0 -0
  297. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/endpoints/providers/a2a.py +0 -0
  298. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/endpoints/providers/a2u.py +0 -0
  299. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/endpoints/providers/agents_api.py +0 -0
  300. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/endpoints/providers/base.py +0 -0
  301. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/endpoints/providers/mcp.py +0 -0
  302. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/endpoints/providers/openai_compat.py +0 -0
  303. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/endpoints/providers/recipe.py +0 -0
  304. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/endpoints/providers/tools_mcp.py +0 -0
  305. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/endpoints/registry.py +0 -0
  306. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/endpoints/server.py +0 -0
  307. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/flow/__init__.py +0 -0
  308. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/flow/client.py +0 -0
  309. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/flow/components/PraisonAI/praisonai_agent.py +0 -0
  310. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/flow/components/PraisonAI/praisonai_agents.py +0 -0
  311. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/flow/components/__init__.py +0 -0
  312. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/flow/converter.py +0 -0
  313. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/flow/helpers.py +0 -0
  314. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/framework_adapters/__init__.py +0 -0
  315. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/framework_adapters/_config_builder.py +0 -0
  316. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/framework_adapters/autogen_adapter.py +0 -0
  317. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/framework_adapters/base.py +0 -0
  318. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/framework_adapters/crewai_adapter.py +0 -0
  319. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/framework_adapters/praisonai_adapter.py +0 -0
  320. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/framework_adapters/registry.py +0 -0
  321. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/framework_adapters/validators.py +0 -0
  322. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/framework_adapters/workflow_framework.py +0 -0
  323. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/gateway/__init__.py +0 -0
  324. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/inbuilt_tools/__init__.py +0 -0
  325. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/inbuilt_tools/autogen_tools.py +0 -0
  326. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/inc/__init__.py +0 -0
  327. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/inc/config.py +0 -0
  328. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/inc/models.py +0 -0
  329. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integration/__init__.py +0 -0
  330. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integration/bridges/__init__.py +0 -0
  331. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integration/bridges/approvals_bridge.py +0 -0
  332. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integration/bridges/hooks_query.py +0 -0
  333. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integration/bridges/kanban_bridge.py +0 -0
  334. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integration/bridges/schedules_runner.py +0 -0
  335. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integration/bridges/usage_bridge.py +0 -0
  336. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integration/bridges/workflows_service.py +0 -0
  337. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integration/context_files.py +0 -0
  338. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integration/gateway_host.py +0 -0
  339. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integration/host_app.py +0 -0
  340. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integration/pages/__init__.py +0 -0
  341. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integration/pages/bot_health.py +0 -0
  342. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integration/pages/workflow_runs.py +0 -0
  343. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integrations/__init__.py +0 -0
  344. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integrations/_cli_loaders.py +0 -0
  345. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integrations/_session_info.py +0 -0
  346. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integrations/_tool_aliases.py +0 -0
  347. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integrations/_unified_registry.py +0 -0
  348. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integrations/backend_registry.py +0 -0
  349. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integrations/base.py +0 -0
  350. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integrations/claude_code.py +0 -0
  351. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integrations/codex_cli.py +0 -0
  352. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integrations/compute/__init__.py +0 -0
  353. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integrations/compute/daytona.py +0 -0
  354. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integrations/compute/docker.py +0 -0
  355. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integrations/compute/e2b.py +0 -0
  356. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integrations/compute/flyio.py +0 -0
  357. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integrations/compute/local.py +0 -0
  358. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integrations/compute/modal_compute.py +0 -0
  359. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integrations/cursor_cli.py +0 -0
  360. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integrations/db_session_adapter.py +0 -0
  361. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integrations/gemini_cli.py +0 -0
  362. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integrations/hosted_agent.py +0 -0
  363. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integrations/local_agent.py +0 -0
  364. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integrations/managed_agents.py +0 -0
  365. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integrations/managed_local.py +0 -0
  366. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integrations/registry.py +0 -0
  367. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/integrations/sandboxed_agent.py +0 -0
  368. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/jobs/__init__.py +0 -0
  369. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/jobs/executor.py +0 -0
  370. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/jobs/models.py +0 -0
  371. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/jobs/path_validation.py +0 -0
  372. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/jobs/router.py +0 -0
  373. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/jobs/server.py +0 -0
  374. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/jobs/store.py +0 -0
  375. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/kanban/__init__.py +0 -0
  376. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/llm/__init__.py +0 -0
  377. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/llm/catalogue.py +0 -0
  378. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/llm/config.py +0 -0
  379. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/llm/credentials.py +0 -0
  380. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/llm/env.py +0 -0
  381. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/llm/gateways.py +0 -0
  382. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/llm/registry.py +0 -0
  383. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/mcp_server/__init__.py +0 -0
  384. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/mcp_server/adapters/__init__.py +0 -0
  385. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/mcp_server/adapters/agents.py +0 -0
  386. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/mcp_server/adapters/capabilities.py +0 -0
  387. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/mcp_server/adapters/cli_tools.py +0 -0
  388. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/mcp_server/adapters/extended_capabilities.py +0 -0
  389. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/mcp_server/adapters/knowledge.py +0 -0
  390. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/mcp_server/adapters/memory.py +0 -0
  391. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/mcp_server/adapters/prompts.py +0 -0
  392. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/mcp_server/adapters/resources.py +0 -0
  393. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/mcp_server/adapters/tools_bridge.py +0 -0
  394. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/mcp_server/auth/__init__.py +0 -0
  395. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/mcp_server/auth/api_key.py +0 -0
  396. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/mcp_server/auth/oauth.py +0 -0
  397. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/mcp_server/auth/oidc.py +0 -0
  398. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/mcp_server/auth/scopes.py +0 -0
  399. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/mcp_server/cli.py +0 -0
  400. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/mcp_server/elicitation.py +0 -0
  401. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/mcp_server/icons.py +0 -0
  402. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/mcp_server/recipe_adapter.py +0 -0
  403. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/mcp_server/recipe_cli.py +0 -0
  404. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/mcp_server/registry.py +0 -0
  405. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/mcp_server/sampling.py +0 -0
  406. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/mcp_server/server.py +0 -0
  407. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/mcp_server/tasks.py +0 -0
  408. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/mcp_server/tool_index.py +0 -0
  409. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/mcp_server/transports/__init__.py +0 -0
  410. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/mcp_server/transports/http_stream.py +0 -0
  411. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/mcp_server/transports/stdio.py +0 -0
  412. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/n8n/__init__.py +0 -0
  413. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/n8n/client.py +0 -0
  414. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/n8n/converter.py +0 -0
  415. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/n8n/preview.py +0 -0
  416. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/n8n/reverse_converter.py +0 -0
  417. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/observability/__init__.py +0 -0
  418. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/observability/hooks.py +0 -0
  419. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/observability/langextract.py +0 -0
  420. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/observability/langfuse.py +0 -0
  421. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/__init__.py +0 -0
  422. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/_valkey_client.py +0 -0
  423. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/config.py +0 -0
  424. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/conversation/__init__.py +0 -0
  425. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/conversation/_sql_base.py +0 -0
  426. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/conversation/_sqlite_base.py +0 -0
  427. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/conversation/async_mysql.py +0 -0
  428. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/conversation/async_postgres.py +0 -0
  429. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/conversation/async_sqlite.py +0 -0
  430. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/conversation/base.py +0 -0
  431. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/conversation/json_store.py +0 -0
  432. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/conversation/mysql.py +0 -0
  433. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/conversation/postgres.py +0 -0
  434. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/conversation/singlestore.py +0 -0
  435. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/conversation/sqlite.py +0 -0
  436. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/conversation/supabase.py +0 -0
  437. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/conversation/surrealdb.py +0 -0
  438. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/conversation/sync_sqlite.py +0 -0
  439. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/conversation/turso.py +0 -0
  440. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/factory.py +0 -0
  441. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/hooks/__init__.py +0 -0
  442. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/hooks/agent_hooks.py +0 -0
  443. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/knowledge/__init__.py +0 -0
  444. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/knowledge/base.py +0 -0
  445. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/knowledge/cassandra.py +0 -0
  446. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/knowledge/chroma.py +0 -0
  447. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/knowledge/clickhouse.py +0 -0
  448. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/knowledge/cosmosdb_vector.py +0 -0
  449. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/knowledge/couchbase.py +0 -0
  450. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/knowledge/lancedb.py +0 -0
  451. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/knowledge/langchain_adapter.py +0 -0
  452. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/knowledge/lightrag_adapter.py +0 -0
  453. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/knowledge/llamaindex_adapter.py +0 -0
  454. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/knowledge/milvus.py +0 -0
  455. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/knowledge/mongodb_vector.py +0 -0
  456. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/knowledge/pgvector.py +0 -0
  457. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/knowledge/pinecone.py +0 -0
  458. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/knowledge/qdrant.py +0 -0
  459. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/knowledge/redis_vector.py +0 -0
  460. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/knowledge/singlestore_vector.py +0 -0
  461. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/knowledge/surrealdb_vector.py +0 -0
  462. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/knowledge/upstash_vector.py +0 -0
  463. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/knowledge/valkey_vector.py +0 -0
  464. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/knowledge/weaviate.py +0 -0
  465. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/migrations/__init__.py +0 -0
  466. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/migrations/manager.py +0 -0
  467. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/orchestrator.py +0 -0
  468. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/registry.py +0 -0
  469. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/state/__init__.py +0 -0
  470. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/state/async_mongodb.py +0 -0
  471. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/state/base.py +0 -0
  472. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/state/dynamodb.py +0 -0
  473. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/state/firestore.py +0 -0
  474. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/state/gcs.py +0 -0
  475. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/state/memory.py +0 -0
  476. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/state/mongodb.py +0 -0
  477. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/state/redis.py +0 -0
  478. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/state/upstash.py +0 -0
  479. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/state/valkey.py +0 -0
  480. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/tests/__init__.py +0 -0
  481. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/tests/test_all_backends.py +0 -0
  482. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/tests/test_registry_lazy.py +0 -0
  483. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/persistence/tests/test_valkey_backends.py +0 -0
  484. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/profiler.py +0 -0
  485. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/push/__init__.py +0 -0
  486. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/push/client.py +0 -0
  487. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/push/transports.py +0 -0
  488. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/recipe/__init__.py +0 -0
  489. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/recipe/bridge.py +0 -0
  490. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/recipe/core.py +0 -0
  491. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/recipe/exceptions.py +0 -0
  492. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/recipe/history.py +0 -0
  493. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/recipe/models.py +0 -0
  494. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/recipe/operations.py +0 -0
  495. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/recipe/policy.py +0 -0
  496. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/recipe/registry.py +0 -0
  497. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/recipe/runtime.py +0 -0
  498. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/recipe/security.py +0 -0
  499. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/recipe/serve.py +0 -0
  500. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/recipe/server.py +0 -0
  501. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/replay/__init__.py +0 -0
  502. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/replay/analyzer.py +0 -0
  503. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/replay/applier.py +0 -0
  504. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/replay/judge.py +0 -0
  505. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/replay/plan.py +0 -0
  506. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/replay/player.py +0 -0
  507. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/replay/reader.py +0 -0
  508. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/replay/storage.py +0 -0
  509. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/replay/writer.py +0 -0
  510. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/runtime/__init__.py +0 -0
  511. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/runtime/__main__.py +0 -0
  512. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/sandbox/__init__.py +0 -0
  513. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/sandbox/_compat.py +0 -0
  514. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/sandbox/_registry.py +0 -0
  515. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/sandbox/_shell.py +0 -0
  516. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/sandbox/daytona.py +0 -0
  517. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/sandbox/docker.py +0 -0
  518. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/sandbox/e2b.py +0 -0
  519. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/sandbox/modal.py +0 -0
  520. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/sandbox/sandlock.py +0 -0
  521. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/sandbox/ssh.py +0 -0
  522. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/sandbox/subprocess.py +0 -0
  523. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/scheduler/__init__.py +0 -0
  524. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/scheduler/_base_scheduler.py +0 -0
  525. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/scheduler/_dispatch.py +0 -0
  526. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/scheduler/agent_scheduler.py +0 -0
  527. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/scheduler/async_agent_scheduler.py +0 -0
  528. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/scheduler/base.py +0 -0
  529. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/scheduler/blueprint_catalogue.py +0 -0
  530. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/scheduler/condition_gate.py +0 -0
  531. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/scheduler/daemon_manager.py +0 -0
  532. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/scheduler/deployment.py +0 -0
  533. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/scheduler/executor.py +0 -0
  534. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/scheduler/run_policy.py +0 -0
  535. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/scheduler/shared.py +0 -0
  536. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/scheduler/state_manager.py +0 -0
  537. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/scheduler/suggestion_engine.py +0 -0
  538. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/scheduler/yaml_loader.py +0 -0
  539. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/security/__init__.py +0 -0
  540. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/security/audit.py +0 -0
  541. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/security/injection.py +0 -0
  542. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/security/protected.py +0 -0
  543. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/setup/__init__.py +0 -0
  544. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/setup/build.py +0 -0
  545. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/setup/post_install.py +0 -0
  546. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/setup/setup_conda_env.py +0 -0
  547. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/setup.py +0 -0
  548. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/standardise/__init__.py +0 -0
  549. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/standardise/ai_generator.py +0 -0
  550. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/standardise/config.py +0 -0
  551. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/standardise/dedupe.py +0 -0
  552. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/standardise/discovery.py +0 -0
  553. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/standardise/drift.py +0 -0
  554. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/standardise/engine.py +0 -0
  555. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/standardise/enhanced_templates.py +0 -0
  556. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/standardise/example_verifier.py +0 -0
  557. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/standardise/manifest.py +0 -0
  558. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/standardise/models.py +0 -0
  559. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/standardise/reports.py +0 -0
  560. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/standardise/templates.py +0 -0
  561. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/standardise/undo_redo.py +0 -0
  562. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/standardise/validator.py +0 -0
  563. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/storage/__init__.py +0 -0
  564. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/storage/dynamodb_adapter.py +0 -0
  565. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/storage/mongodb_adapter.py +0 -0
  566. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/storage/postgresql_adapter.py +0 -0
  567. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/storage/redis_adapter.py +0 -0
  568. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/storage/valkey_adapter.py +0 -0
  569. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/suite_runner/__init__.py +0 -0
  570. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/suite_runner/batch_source.py +0 -0
  571. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/suite_runner/cli_docs_source.py +0 -0
  572. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/suite_runner/discovery.py +0 -0
  573. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/suite_runner/docs_source.py +0 -0
  574. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/suite_runner/examples_source.py +0 -0
  575. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/suite_runner/executor.py +0 -0
  576. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/suite_runner/models.py +0 -0
  577. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/suite_runner/report_viewer.py +0 -0
  578. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/suite_runner/reporter.py +0 -0
  579. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/suite_runner/runner.py +0 -0
  580. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/templates/__init__.py +0 -0
  581. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/templates/cache.py +0 -0
  582. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/templates/dependency_checker.py +0 -0
  583. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/templates/discovery.py +0 -0
  584. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/templates/loader.py +0 -0
  585. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/templates/registry.py +0 -0
  586. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/templates/resolver.py +0 -0
  587. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/templates/security.py +0 -0
  588. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/templates/tool_override.py +0 -0
  589. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/templates/tools_doctor.py +0 -0
  590. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/tool_registry.py +0 -0
  591. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/tool_resolver.py +0 -0
  592. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/tools/__init__.py +0 -0
  593. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/tools/audio.py +0 -0
  594. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/tools/glob_tool.py +0 -0
  595. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/tools/grep_tool.py +0 -0
  596. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/tools/kanban_tools.py +0 -0
  597. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/tools/multiedit.py +0 -0
  598. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/tools/skill_manage.py +0 -0
  599. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/train/__init__.py +0 -0
  600. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/train/_ollama.py +0 -0
  601. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/train/agents/__init__.py +0 -0
  602. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/train/agents/grader.py +0 -0
  603. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/train/agents/hook.py +0 -0
  604. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/train/agents/models.py +0 -0
  605. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/train/agents/orchestrator.py +0 -0
  606. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/train/agents/storage.py +0 -0
  607. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/train/llm/__init__.py +0 -0
  608. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/train/llm/trainer.py +0 -0
  609. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/train.py +0 -0
  610. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/train_vision.py +0 -0
  611. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/ui/_aiui_datastore.py +0 -0
  612. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/ui/_external_agents.py +0 -0
  613. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/ui/callbacks.py +0 -0
  614. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/ui/components/aicoder.py +0 -0
  615. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/ui/context.py +0 -0
  616. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/ui/database_config.py +0 -0
  617. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/ui_agents/__init__.py +0 -0
  618. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/ui_agents/default_app.py +0 -0
  619. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/ui_bot/__init__.py +0 -0
  620. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/ui_bot/default_app.py +0 -0
  621. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/ui_chat/__init__.py +0 -0
  622. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/ui_chat/default_app.py +0 -0
  623. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/ui_dashboard/default_app.py +0 -0
  624. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/ui_realtime/__init__.py +0 -0
  625. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/ui_realtime/default_app.py +0 -0
  626. {praisonai-4.6.142 → praisonai-4.6.143}/praisonai/upload_vision.py +0 -0
  627. {praisonai-4.6.142 → praisonai-4.6.143}/setup.cfg +0 -0
  628. {praisonai-4.6.142 → praisonai-4.6.143}/tests/test.py +0 -0
  629. {praisonai-4.6.142 → praisonai-4.6.143}/tests/test_agents_playbook.py +0 -0
  630. {praisonai-4.6.142 → praisonai-4.6.143}/tests/test_approval_system.py +0 -0
  631. {praisonai-4.6.142 → praisonai-4.6.143}/tests/test_basic.py +0 -0
  632. {praisonai-4.6.142 → praisonai-4.6.143}/tests/test_cli_features.py +0 -0
  633. {praisonai-4.6.142 → praisonai-4.6.143}/tests/test_custom_tools_fix.py +0 -0
  634. {praisonai-4.6.142 → praisonai-4.6.143}/tests/test_double_api_fix.py +0 -0
  635. {praisonai-4.6.142 → praisonai-4.6.143}/tests/test_n8n_agent_invoke.py +0 -0
  636. {praisonai-4.6.142 → praisonai-4.6.143}/tests/test_n8n_cli_feature.py +0 -0
  637. {praisonai-4.6.142 → praisonai-4.6.143}/tests/test_n8n_integration.py +0 -0
  638. {praisonai-4.6.142 → praisonai-4.6.143}/tests/test_phase2_refactor.py +0 -0
  639. {praisonai-4.6.142 → praisonai-4.6.143}/tests/test_recipe.py +0 -0
  640. {praisonai-4.6.142 → praisonai-4.6.143}/tests/test_registry.py +0 -0
  641. {praisonai-4.6.142 → praisonai-4.6.143}/tests/test_runner.py +0 -0
  642. {praisonai-4.6.142 → praisonai-4.6.143}/tests/test_sandboxed_agent_compatibility.py +0 -0
  643. {praisonai-4.6.142 → praisonai-4.6.143}/tests/test_serve_features.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PraisonAI
3
- Version: 4.6.142
3
+ Version: 4.6.143
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,9 +11,9 @@ 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>=1.6.145
15
- Requires-Dist: praisonai-code>=0.0.41
16
- Requires-Dist: praisonai-bot>=0.0.26
14
+ Requires-Dist: praisonaiagents>=1.6.146
15
+ Requires-Dist: praisonai-code>=0.0.42
16
+ Requires-Dist: praisonai-bot>=0.0.27
17
17
  Requires-Dist: python-dotenv>=0.19.0
18
18
  Requires-Dist: litellm<2,>=1.83.14
19
19
  Requires-Dist: PyYAML>=6.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PraisonAI
3
- Version: 4.6.142
3
+ Version: 4.6.143
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,9 +11,9 @@ 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>=1.6.145
15
- Requires-Dist: praisonai-code>=0.0.41
16
- Requires-Dist: praisonai-bot>=0.0.26
14
+ Requires-Dist: praisonaiagents>=1.6.146
15
+ Requires-Dist: praisonai-code>=0.0.42
16
+ Requires-Dist: praisonai-bot>=0.0.27
17
17
  Requires-Dist: python-dotenv>=0.19.0
18
18
  Requires-Dist: litellm<2,>=1.83.14
19
19
  Requires-Dist: PyYAML>=6.0
@@ -14,7 +14,6 @@ praisonai/_bootstrap.py
14
14
  praisonai/_entrypoint.py
15
15
  praisonai/_framework_availability.py
16
16
  praisonai/_lazy_cache.py
17
- praisonai/_lockmap.py
18
17
  praisonai/_logging.py
19
18
  praisonai/_registry.py
20
19
  praisonai/_safe_loader.py
@@ -1,9 +1,9 @@
1
1
  rich>=13.7
2
2
  markdown>=3.5
3
3
  pyparsing>=3.0.0
4
- praisonaiagents>=1.6.145
5
- praisonai-code>=0.0.41
6
- praisonai-bot>=0.0.26
4
+ praisonaiagents>=1.6.146
5
+ praisonai-code>=0.0.42
6
+ praisonai-bot>=0.0.27
7
7
  python-dotenv>=0.19.0
8
8
  litellm<2,>=1.83.14
9
9
  PyYAML>=6.0
@@ -10,7 +10,7 @@ This module uses FULL LAZY LOADING for all heavy dependencies:
10
10
 
11
11
  This ensures minimal import-time overhead.
12
12
  """
13
- from typing import Any, Dict, List, Optional, Type, TypeVar
13
+ from typing import Any, Awaitable, Dict, List, Optional, Type, TypeVar
14
14
  import os
15
15
  import json
16
16
  import asyncio
@@ -620,7 +620,61 @@ class BaseAutoGenerator:
620
620
  ImportError: If neither litellm nor openai is installed
621
621
  """
622
622
  return await self._completion_impl(response_model, messages, is_async=True, **kwargs)
623
-
623
+
624
+ async def _structured_completion_async(
625
+ self, response_model: Type[T], messages: List[Dict], *, is_async: bool, **kwargs
626
+ ) -> T:
627
+ """Await the structured-completion ladder with an explicit provider path.
628
+
629
+ Lets a single generation coroutine be driven either through the async
630
+ provider clients (``is_async=True``, from ``agenerate()``) or the sync
631
+ provider clients (``is_async=False``, from the sync ``generate()``
632
+ bridge). This preserves the historical behavior where a sync
633
+ ``generate()`` call used the blocking sync client/network stack, while
634
+ still routing both entry points through one shared body.
635
+ """
636
+ return await self._completion_impl(
637
+ response_model, messages, is_async=is_async, **kwargs
638
+ )
639
+
640
+ def _run_coro_sync(self, coro: Awaitable[T]) -> T:
641
+ """Drive an async coroutine to completion from a sync caller.
642
+
643
+ Single source of truth so the sync ``generate()`` twins can delegate to
644
+ their ``agenerate()`` implementation instead of duplicating the body.
645
+
646
+ Mirrors the running-loop handling in ``_structured_completion``: when no
647
+ event loop is running we use the shared async bridge; when a loop is
648
+ already running (FastAPI handler, Jupyter, async test) ``run_sync``
649
+ would raise, so we drive the coroutine on a dedicated worker thread with
650
+ its own loop instead.
651
+ """
652
+ try:
653
+ asyncio.get_running_loop()
654
+ except RuntimeError:
655
+ running_loop = False
656
+ else:
657
+ running_loop = True
658
+
659
+ if not running_loop:
660
+ return run_sync(coro)
661
+
662
+ result: List[Any] = []
663
+ error: List[BaseException] = []
664
+
665
+ def _runner() -> None:
666
+ try:
667
+ result.append(asyncio.run(coro))
668
+ except BaseException as e: # noqa: BLE001 - re-raised on caller thread
669
+ error.append(e)
670
+
671
+ thread = threading.Thread(target=_runner, name="praisonai-sync-generate")
672
+ thread.start()
673
+ thread.join()
674
+ if error:
675
+ raise error[0]
676
+ return result[0]
677
+
624
678
  @staticmethod
625
679
  def get_available_tools() -> List[str]:
626
680
  """Return list of available tools for agent assignment."""
@@ -850,18 +904,8 @@ class AutoGenerator(BaseAutoGenerator):
850
904
  path = generator.generate()
851
905
  _rich_print(path)
852
906
  """
853
- response = self._structured_completion(
854
- response_model=_get_team_models()['TeamStructure'],
855
- messages=[
856
- {"role": "system", "content": "You are a helpful assistant designed to output complex team structures."},
857
- {"role": "user", "content": self.get_user_content()}
858
- ]
859
- )
860
- json_data = json.loads(response.model_dump_json())
861
- self.convert_and_save(json_data, merge=merge)
862
- full_path = os.path.abspath(self.agent_file)
863
- return full_path
864
-
907
+ return self._run_coro_sync(self._agenerate_impl(merge=merge, is_async=False))
908
+
865
909
  async def agenerate(self, merge=False):
866
910
  """
867
911
  Async version of generate() - generates a team structure for the specified topic.
@@ -880,12 +924,23 @@ class AutoGenerator(BaseAutoGenerator):
880
924
  path = await gen.agenerate()
881
925
  _rich_print(path)
882
926
  """
883
- response = await self._astructured_completion(
927
+ return await self._agenerate_impl(merge=merge, is_async=True)
928
+
929
+ async def _agenerate_impl(self, merge=False, *, is_async: bool):
930
+ """Shared generation body for both sync and async entry points.
931
+
932
+ The only divergence is ``is_async``, which selects the async provider
933
+ clients (``agenerate()``) or the blocking sync clients driven on the
934
+ bridge (sync ``generate()``), preserving the historical sync provider
935
+ path while keeping merge/save/path-resolution logic in one place.
936
+ """
937
+ response = await self._structured_completion_async(
884
938
  response_model=_get_team_models()['TeamStructure'],
885
939
  messages=[
886
940
  {"role": "system", "content": "You are a helpful assistant designed to output complex team structures."},
887
941
  {"role": "user", "content": self.get_user_content()}
888
- ]
942
+ ],
943
+ is_async=is_async,
889
944
  )
890
945
  json_data = json.loads(response.model_dump_json())
891
946
  self.convert_and_save(json_data, merge=merge)
@@ -1354,20 +1409,10 @@ Respond with:
1354
1409
  Returns:
1355
1410
  Path to the generated workflow file
1356
1411
  """
1357
- response = self._structured_completion(
1358
- response_model=_get_workflow_models()['WorkflowStructure'],
1359
- messages=[
1360
- {"role": "system", "content": "You are a helpful assistant that designs workflow structures."},
1361
- {"role": "user", "content": self._get_prompt(pattern)}
1362
- ]
1412
+ return self._run_coro_sync(
1413
+ self._agenerate_impl(pattern=pattern, merge=merge, is_async=False)
1363
1414
  )
1364
-
1365
- json_data = json.loads(response.model_dump_json())
1366
-
1367
- if merge and os.path.exists(self.workflow_file):
1368
- return self._save_workflow(self.merge_with_existing_workflow(json_data), pattern)
1369
- return self._save_workflow(json_data, pattern)
1370
-
1415
+
1371
1416
  async def agenerate(self, pattern: str = "sequential", merge: bool = False) -> str:
1372
1417
  """
1373
1418
  Async version of generate() - Generate a workflow YAML file.
@@ -1380,12 +1425,25 @@ Respond with:
1380
1425
  Returns:
1381
1426
  Path to the generated workflow file
1382
1427
  """
1383
- response = await self._astructured_completion(
1428
+ return await self._agenerate_impl(pattern=pattern, merge=merge, is_async=True)
1429
+
1430
+ async def _agenerate_impl(
1431
+ self, pattern: str = "sequential", merge: bool = False, *, is_async: bool
1432
+ ) -> str:
1433
+ """Shared generation body for both sync and async entry points.
1434
+
1435
+ ``is_async`` selects the async provider clients (``agenerate()``) or the
1436
+ blocking sync clients driven on the bridge (sync ``generate()``),
1437
+ preserving the historical sync provider path while keeping merge/save
1438
+ logic in one place.
1439
+ """
1440
+ response = await self._structured_completion_async(
1384
1441
  response_model=_get_workflow_models()['WorkflowStructure'],
1385
1442
  messages=[
1386
1443
  {"role": "system", "content": "You are a helpful assistant that designs workflow structures."},
1387
1444
  {"role": "user", "content": self._get_prompt(pattern)}
1388
- ]
1445
+ ],
1446
+ is_async=is_async,
1389
1447
  )
1390
1448
 
1391
1449
  json_data = json.loads(response.model_dump_json())
@@ -1708,18 +1766,12 @@ class JobWorkflowAutoGenerator(BaseAutoGenerator):
1708
1766
  Returns:
1709
1767
  Path to the generated workflow file
1710
1768
  """
1711
- prompt = self._get_prompt(include_judge, include_approve)
1712
-
1713
- response = self._structured_completion(
1714
- response_model=_get_job_workflow_models()['JobWorkflowStructure'],
1715
- messages=[
1716
- {"role": "system", "content": "You are a helpful assistant that designs job workflow structures with AI agent steps."},
1717
- {"role": "user", "content": prompt}
1718
- ]
1769
+ return self._run_coro_sync(
1770
+ self._agenerate_impl(
1771
+ include_judge=include_judge, include_approve=include_approve, is_async=False
1772
+ )
1719
1773
  )
1720
-
1721
- return self._save_workflow(response)
1722
-
1774
+
1723
1775
  async def agenerate(self, include_judge: bool = True, include_approve: bool = False) -> str:
1724
1776
  """
1725
1777
  Async version of generate() - Generate a job workflow YAML file.
@@ -1731,14 +1783,29 @@ class JobWorkflowAutoGenerator(BaseAutoGenerator):
1731
1783
  Returns:
1732
1784
  Path to the generated workflow file
1733
1785
  """
1786
+ return await self._agenerate_impl(
1787
+ include_judge=include_judge, include_approve=include_approve, is_async=True
1788
+ )
1789
+
1790
+ async def _agenerate_impl(
1791
+ self, include_judge: bool = True, include_approve: bool = False, *, is_async: bool
1792
+ ) -> str:
1793
+ """Shared generation body for both sync and async entry points.
1794
+
1795
+ ``is_async`` selects the async provider clients (``agenerate()``) or the
1796
+ blocking sync clients driven on the bridge (sync ``generate()``),
1797
+ preserving the historical sync provider path while keeping prompt/save
1798
+ logic in one place.
1799
+ """
1734
1800
  prompt = self._get_prompt(include_judge, include_approve)
1735
1801
 
1736
- response = await self._astructured_completion(
1802
+ response = await self._structured_completion_async(
1737
1803
  response_model=_get_job_workflow_models()['JobWorkflowStructure'],
1738
1804
  messages=[
1739
1805
  {"role": "system", "content": "You are a helpful assistant that designs job workflow structures with AI agent steps."},
1740
1806
  {"role": "user", "content": prompt}
1741
- ]
1807
+ ],
1808
+ is_async=is_async,
1742
1809
  )
1743
1810
 
1744
1811
  return self._save_workflow(response)
@@ -398,9 +398,27 @@ def _run_yaml_workflow(self, yaml_file: str, action_args: list, variables: dict
398
398
  except ImportError:
399
399
  print("[yellow]Warning: Context management not available[/yellow]")
400
400
 
401
+ # Determine workflow input: CLI --var input takes precedence, then the
402
+ # YAML top-level `input:` field (stored on workflow.default_input).
403
+ # An explicit `--var input=` (empty) is respected and NOT replaced by
404
+ # the default; only an absent input key falls back to default_input.
405
+ default_input = getattr(workflow, "default_input", "") or ""
406
+ input_overridden = bool(parsed_vars) and "input" in parsed_vars
407
+ start_input = parsed_vars["input"] if input_overridden else default_input
408
+
409
+ # Seed the runtime `{{input}}` variable when it is not overridden via --var
410
+ if start_input and not input_overridden:
411
+ workflow.variables.setdefault("input", start_input)
412
+
413
+ if start_input:
414
+ preview = start_input[:80] + ("..." if len(start_input) > 80 else "")
415
+ print(f"[cyan]Workflow input: {preview}[/cyan]")
416
+ else:
417
+ print("[yellow]Warning: no workflow input — {{input}} will be empty unless --var input=... is set[/yellow]")
418
+
401
419
  # Execute
402
420
  print("\n[bold]Executing workflow...[/bold]\n")
403
- result = workflow.start("")
421
+ result = workflow.start(start_input)
404
422
 
405
423
  if result.get("status") == "completed":
406
424
  print("\n[green]✅ Workflow completed successfully![/green]")
@@ -0,0 +1 @@
1
+ __version__ = "4.6.143"
@@ -12,9 +12,9 @@ dependencies = [
12
12
  "rich>=13.7",
13
13
  "markdown>=3.5",
14
14
  "pyparsing>=3.0.0",
15
- "praisonaiagents>=1.6.145",
16
- "praisonai-code>=0.0.41",
17
- "praisonai-bot>=0.0.26",
15
+ "praisonaiagents>=1.6.146",
16
+ "praisonai-code>=0.0.42",
17
+ "praisonai-bot>=0.0.27",
18
18
  "python-dotenv>=0.19.0",
19
19
  "litellm>=1.83.14,<2",
20
20
  "PyYAML>=6.0",
@@ -1,143 +0,0 @@
1
- """Per-key asyncio.Lock map with bounded LRU eviction and optional TTL.
2
-
3
- Use this anywhere you need 'a lock per (user_id|chat_id|key)' instead of
4
- re-implementing the dict-of-Lock pattern.
5
- """
6
- from __future__ import annotations
7
- import asyncio
8
- import threading
9
- import time
10
- import weakref
11
- from collections import OrderedDict
12
- from typing import Hashable, Dict
13
-
14
-
15
- class LockMap:
16
- """Asyncio-safe per-key asyncio.Lock map with automatic cleanup.
17
-
18
- Provides a lock per key with LRU eviction and TTL-based cleanup to prevent
19
- unbounded memory growth in long-running applications.
20
-
21
- Buckets are keyed by event loop (one loop per OS thread). Structural
22
- mutations of the bucket/loop maps are guarded by a ``threading.Lock`` so
23
- the same instance can be safely shared across multiple OS threads, each
24
- running its own event loop. Per-loop buckets are only ever touched from
25
- their owning loop, so intra-loop access remains lock-free.
26
- """
27
-
28
- def __init__(self, *, max_entries: int = 10_000, ttl_seconds: float = 3600.0):
29
- """Initialize LockMap with bounds.
30
-
31
- Args:
32
- max_entries: Maximum number of locks to cache (LRU eviction)
33
- ttl_seconds: Time-to-live for unused locks in seconds
34
- """
35
- # Bucket locks by event loop to avoid cross-loop issues
36
- self._buckets: Dict[int, "OrderedDict[Hashable, tuple[asyncio.Lock, float]]"] = {}
37
- self._loop_refs: Dict[int, weakref.ref] = {}
38
- # Guards structural mutations of _buckets / _loop_refs across OS threads.
39
- self._struct_lock = threading.Lock()
40
- self._max = max_entries
41
- self._ttl = ttl_seconds
42
-
43
- def get(self, key: Hashable) -> asyncio.Lock:
44
- """Get or create a lock for the given key.
45
-
46
- Args:
47
- key: The key to get a lock for
48
-
49
- Returns:
50
- asyncio.Lock for the key
51
- """
52
- # Get the current running loop
53
- loop = asyncio.get_running_loop()
54
- loop_id = id(loop)
55
-
56
- # Fast path: a bucket for this loop already exists. The bucket is only
57
- # ever mutated by its owning loop's thread, so a single dict read is
58
- # safe under CPython's GIL without taking the cross-thread struct lock.
59
- bucket = self._buckets.get(loop_id)
60
- if bucket is None:
61
- # Slow path: structural mutation shared across threads needs the lock.
62
- with self._struct_lock:
63
- # Clean up dead loops (only on first-touch to avoid per-call cost)
64
- self._cleanup_dead_loops_locked()
65
-
66
- # Re-check after acquiring the lock (another thread may have raced).
67
- bucket = self._buckets.get(loop_id)
68
- if bucket is None:
69
- bucket = OrderedDict()
70
- self._buckets[loop_id] = bucket
71
- self._loop_refs[loop_id] = weakref.ref(loop)
72
-
73
- # From here on only this loop's owning thread touches the bucket.
74
- now = time.monotonic()
75
-
76
- entry = bucket.get(key)
77
- if entry is not None:
78
- lock, _ = entry
79
- # Move to end (most recently used) and update timestamp
80
- bucket.move_to_end(key)
81
- bucket[key] = (lock, now)
82
- return lock
83
-
84
- # Create new lock + insert + LRU/TTL evict
85
- lock = asyncio.Lock()
86
- bucket[key] = (lock, now)
87
- self._evict_stale_from_bucket(bucket, now)
88
- return lock
89
-
90
- def _evict_stale_from_bucket(self, bucket: "OrderedDict", now: float) -> None:
91
- """Evict expired and excess entries from a bucket."""
92
- # Expire by TTL (only if not currently locked)
93
- expired = [
94
- k for k, (lock, ts) in bucket.items()
95
- if (now - ts) > self._ttl and not lock.locked()
96
- ]
97
- for k in expired:
98
- bucket.pop(k, None)
99
-
100
- # Cap by LRU (don't evict locks currently held)
101
- seen = set()
102
- while len(bucket) > self._max:
103
- k, (lock, _) = next(iter(bucket.items()))
104
- if k in seen:
105
- # All remaining locks are held; give up to avoid infinite loop
106
- break
107
- if lock.locked():
108
- # Don't evict locks currently held; bump them to the end
109
- bucket.move_to_end(k)
110
- seen.add(k)
111
- # Continue trying to evict other unlocked entries
112
- continue
113
- bucket.popitem(last=False)
114
- break
115
-
116
- def _cleanup_dead_loops_locked(self) -> None:
117
- """Remove buckets for event loops that no longer exist.
118
-
119
- Caller must hold ``self._struct_lock``.
120
- """
121
- dead_loops = [
122
- loop_id
123
- for loop_id, ref in self._loop_refs.items()
124
- if (loop := ref()) is None or loop.is_closed()
125
- ]
126
- for loop_id in dead_loops:
127
- self._loop_refs.pop(loop_id, None)
128
- self._buckets.pop(loop_id, None)
129
-
130
- def drop(self, key: Hashable) -> None:
131
- """Manually remove a lock for the given key."""
132
- # Get the current running loop
133
- loop = asyncio.get_running_loop()
134
- loop_id = id(loop)
135
- with self._struct_lock:
136
- bucket = self._buckets.get(loop_id)
137
- if bucket is not None:
138
- bucket.pop(key, None)
139
-
140
- def size(self) -> int:
141
- """Return current number of cached locks across all buckets."""
142
- with self._struct_lock:
143
- return sum(len(bucket) for bucket in self._buckets.values())
@@ -1 +0,0 @@
1
- __version__ = "4.6.142"
File without changes