PraisonAI 4.6.82__tar.gz → 4.6.95__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 (916) hide show
  1. {praisonai-4.6.82 → praisonai-4.6.95}/PKG-INFO +18 -4
  2. {praisonai-4.6.82 → praisonai-4.6.95}/PraisonAI.egg-info/PKG-INFO +18 -4
  3. {praisonai-4.6.82 → praisonai-4.6.95}/PraisonAI.egg-info/SOURCES.txt +10 -6
  4. {praisonai-4.6.82 → praisonai-4.6.95}/PraisonAI.egg-info/requires.txt +19 -2
  5. {praisonai-4.6.82 → praisonai-4.6.95}/README.md +1 -1
  6. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/_async_bridge.py +91 -2
  7. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/_framework_availability.py +25 -0
  8. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/agents_generator.py +88 -30
  9. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/auto.py +143 -84
  10. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/__init__.py +19 -0
  11. praisonai-4.6.95/praisonai/bots/_admission.py +283 -0
  12. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_commands.py +260 -0
  13. praisonai-4.6.95/praisonai/bots/_dead_targets.py +274 -0
  14. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_delivery.py +43 -4
  15. praisonai-4.6.95/praisonai/bots/_outbound_media.py +418 -0
  16. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_outbound_messenger.py +88 -8
  17. praisonai-4.6.95/praisonai/bots/_outbound_resilience.py +146 -0
  18. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_outbox.py +19 -3
  19. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_presentation_approval.py +20 -1
  20. praisonai-4.6.95/praisonai/bots/_presentation_approval_backend.py +153 -0
  21. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_presentation_renderer.py +32 -4
  22. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_protocol_mixin.py +39 -1
  23. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_rate_limit.py +50 -0
  24. praisonai-4.6.95/praisonai/bots/_relay_adapter.py +231 -0
  25. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_resilience.py +208 -9
  26. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_session.py +145 -3
  27. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/agentmail.py +24 -10
  28. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/bot.py +62 -1
  29. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/botos.py +131 -0
  30. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/delivery.py +121 -2
  31. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/discord.py +13 -2
  32. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/email.py +14 -3
  33. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/linear.py +14 -2
  34. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/slack.py +14 -2
  35. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/telegram.py +104 -2
  36. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/whatsapp.py +38 -17
  37. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/app.py +4 -0
  38. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/checkpoint.py +24 -1
  39. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/code.py +110 -1
  40. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/config.py +1 -1
  41. praisonai-4.6.95/praisonai/cli/commands/deploy.py +71 -0
  42. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/gateway.py +178 -2
  43. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/run.py +110 -5
  44. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/serve.py +5 -1
  45. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/session.py +57 -5
  46. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/skills.py +83 -0
  47. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/tools.py +27 -26
  48. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/configuration/resolver.py +2 -0
  49. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/approval.py +29 -1
  50. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/checkpoints.py +7 -4
  51. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/config_hierarchy.py +54 -6
  52. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/deploy.py +88 -0
  53. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/doctor/checks/config_checks.py +9 -2
  54. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/doctor/checks/runtime_checks.py +58 -12
  55. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/gateway.py +187 -32
  56. praisonai-4.6.95/praisonai/cli/features/session_checkpoints.py +208 -0
  57. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/skills.py +85 -0
  58. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/thinking.py +39 -1
  59. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/main.py +337 -118
  60. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/session/resume.py +31 -0
  61. praisonai-4.6.95/praisonai/cli/state/project_sessions.py +383 -0
  62. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/config/schema.py +41 -2
  63. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/db/adapter.py +124 -40
  64. praisonai-4.6.95/praisonai/framework_adapters/__init__.py +75 -0
  65. praisonai-4.6.95/praisonai/framework_adapters/_config_builder.py +102 -0
  66. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/framework_adapters/autogen_adapter.py +131 -73
  67. praisonai-4.6.95/praisonai/framework_adapters/base.py +66 -0
  68. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/framework_adapters/crewai_adapter.py +25 -30
  69. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/framework_adapters/praisonai_adapter.py +36 -44
  70. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/framework_adapters/registry.py +76 -9
  71. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/framework_adapters/validators.py +6 -14
  72. praisonai-4.6.95/praisonai/framework_adapters/workflow_framework.py +51 -0
  73. praisonai-4.6.95/praisonai/gateway/forensics.py +201 -0
  74. praisonai-4.6.95/praisonai/gateway/kanban_dispatcher.py +797 -0
  75. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/gateway/server.py +233 -8
  76. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/kanban/__init__.py +3 -1
  77. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/kanban/models.py +110 -0
  78. praisonai-4.6.95/praisonai/kanban/sqlite_store.py +1175 -0
  79. praisonai-4.6.95/praisonai/runtime/__main__.py +81 -0
  80. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/tool_resolver.py +145 -18
  81. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/tools/kanban_tools.py +108 -14
  82. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/tools/skill_manage.py +42 -12
  83. praisonai-4.6.95/praisonai/version.py +1 -0
  84. {praisonai-4.6.82 → praisonai-4.6.95}/pyproject.toml +24 -4
  85. praisonai-4.6.82/praisonai/bots/_auth.py +0 -140
  86. praisonai-4.6.82/praisonai/cli/commands/deploy.py +0 -109
  87. praisonai-4.6.82/praisonai/cli/features/plugin_cli.py +0 -295
  88. praisonai-4.6.82/praisonai/cli/features/profile.py +0 -226
  89. praisonai-4.6.82/praisonai/cli/features/profiling.py +0 -350
  90. praisonai-4.6.82/praisonai/cli/features/recipes.py +0 -449
  91. praisonai-4.6.82/praisonai/cli/state/project_sessions.py +0 -179
  92. praisonai-4.6.82/praisonai/framework_adapters/__init__.py +0 -14
  93. praisonai-4.6.82/praisonai/framework_adapters/base.py +0 -218
  94. praisonai-4.6.82/praisonai/gateway/kanban_dispatcher.py +0 -439
  95. praisonai-4.6.82/praisonai/kanban/sqlite_store.py +0 -565
  96. praisonai-4.6.82/praisonai/runtime/__main__.py +0 -43
  97. praisonai-4.6.82/praisonai/scheduler/enhanced_executor.py +0 -232
  98. praisonai-4.6.82/praisonai/version.py +0 -1
  99. {praisonai-4.6.82 → praisonai-4.6.95}/PraisonAI.egg-info/dependency_links.txt +0 -0
  100. {praisonai-4.6.82 → praisonai-4.6.95}/PraisonAI.egg-info/entry_points.txt +0 -0
  101. {praisonai-4.6.82 → praisonai-4.6.95}/PraisonAI.egg-info/top_level.txt +0 -0
  102. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/__init__.py +0 -0
  103. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/__main__.py +0 -0
  104. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/_approval_spec.py +0 -0
  105. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/_dev/__init__.py +0 -0
  106. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/_dev/api_md.py +0 -0
  107. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/_dev/parity/__init__.py +0 -0
  108. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/_dev/parity/docs_extractor.py +0 -0
  109. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/_dev/parity/docs_generator.py +0 -0
  110. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/_dev/parity/generator.py +0 -0
  111. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/_dev/parity/python_docs_extractor.py +0 -0
  112. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/_dev/parity/python_extractor.py +0 -0
  113. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/_dev/parity/rust_docs_extractor.py +0 -0
  114. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/_dev/parity/rust_extractor.py +0 -0
  115. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/_dev/parity/topic_normalizer.py +0 -0
  116. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/_dev/parity/ts_docs_extractor.py +0 -0
  117. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/_dev/parity/typescript_extractor.py +0 -0
  118. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/_entrypoint.py +0 -0
  119. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/_lazy_cache.py +0 -0
  120. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/_lockmap.py +0 -0
  121. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/_logging.py +0 -0
  122. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/_registry.py +0 -0
  123. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/_safe_loader.py +0 -0
  124. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/acp/__init__.py +0 -0
  125. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/acp/config.py +0 -0
  126. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/acp/safe_edit.py +0 -0
  127. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/acp/server.py +0 -0
  128. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/acp/session.py +0 -0
  129. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/adapters/__init__.py +0 -0
  130. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/adapters/readers.py +0 -0
  131. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/adapters/rerankers.py +0 -0
  132. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/adapters/retrievers.py +0 -0
  133. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/adapters/vector_stores.py +0 -0
  134. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/agent.py +0 -0
  135. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/agent_scheduler.py +0 -0
  136. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/api/agent_invoke.py +0 -0
  137. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/api/call.py +0 -0
  138. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/app/__init__.py +0 -0
  139. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/app/agentos.py +0 -0
  140. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/async_agent_scheduler.py +0 -0
  141. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/audit/__init__.py +0 -0
  142. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/audit/agent_centric.py +0 -0
  143. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_ack.py +0 -0
  144. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_approval.py +0 -0
  145. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_approval_base.py +0 -0
  146. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_approval_store.py +0 -0
  147. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_chunk.py +0 -0
  148. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_config_schema.py +0 -0
  149. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_correlation.py +0 -0
  150. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_debounce.py +0 -0
  151. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_defaults.py +0 -0
  152. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_discord_approval.py +0 -0
  153. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_dlq.py +0 -0
  154. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_durable_adapter.py +0 -0
  155. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_email_utils.py +0 -0
  156. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_http_approval.py +0 -0
  157. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_identity.py +0 -0
  158. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_ingress.py +0 -0
  159. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_media.py +0 -0
  160. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_metrics.py +0 -0
  161. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_mirror.py +0 -0
  162. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_pairing_ui.py +0 -0
  163. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_registry.py +0 -0
  164. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_reset_policy.py +0 -0
  165. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_run_control.py +0 -0
  166. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_slack_approval.py +0 -0
  167. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_status.py +0 -0
  168. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_streaming.py +0 -0
  169. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_telegram_approval.py +0 -0
  170. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_typing.py +0 -0
  171. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_typing_indicator.py +0 -0
  172. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_unknown_user.py +0 -0
  173. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_webhook_approval.py +0 -0
  174. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/_whatsapp_web_adapter.py +0 -0
  175. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/media.py +0 -0
  176. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/bots/webhook_security.py +0 -0
  177. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/browser/__init__.py +0 -0
  178. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/browser/agent.py +0 -0
  179. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/browser/benchmark.py +0 -0
  180. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/browser/cdp_agent.py +0 -0
  181. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/browser/cdp_utils.py +0 -0
  182. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/browser/cli.py +0 -0
  183. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/browser/diagnostics.py +0 -0
  184. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/browser/launcher.py +0 -0
  185. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/browser/playwright_agent.py +0 -0
  186. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/browser/profiling.py +0 -0
  187. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/browser/protocol.py +0 -0
  188. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/browser/report.py +0 -0
  189. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/browser/server.py +0 -0
  190. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/browser/sessions.py +0 -0
  191. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/browser/video.py +0 -0
  192. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/capabilities/__init__.py +0 -0
  193. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/capabilities/a2a.py +0 -0
  194. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/capabilities/assistants.py +0 -0
  195. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/capabilities/audio.py +0 -0
  196. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/capabilities/batches.py +0 -0
  197. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/capabilities/completions.py +0 -0
  198. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/capabilities/container_files.py +0 -0
  199. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/capabilities/containers.py +0 -0
  200. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/capabilities/embeddings.py +0 -0
  201. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/capabilities/files.py +0 -0
  202. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/capabilities/fine_tuning.py +0 -0
  203. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/capabilities/guardrails.py +0 -0
  204. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/capabilities/images.py +0 -0
  205. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/capabilities/mcp.py +0 -0
  206. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/capabilities/messages.py +0 -0
  207. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/capabilities/moderations.py +0 -0
  208. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/capabilities/ocr.py +0 -0
  209. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/capabilities/passthrough.py +0 -0
  210. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/capabilities/rag.py +0 -0
  211. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/capabilities/realtime.py +0 -0
  212. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/capabilities/rerank.py +0 -0
  213. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/capabilities/responses.py +0 -0
  214. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/capabilities/search.py +0 -0
  215. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/capabilities/skills.py +0 -0
  216. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/capabilities/vector_store_files.py +0 -0
  217. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/capabilities/vector_stores.py +0 -0
  218. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/capabilities/videos.py +0 -0
  219. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/claw/__init__.py +0 -0
  220. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/claw/default_app.py +0 -0
  221. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/__init__.py +0 -0
  222. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/_paths.py +0 -0
  223. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/_warnings.py +0 -0
  224. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/approval_backend.py +0 -0
  225. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/branding.py +0 -0
  226. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/__init__.py +0 -0
  227. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/acp.py +0 -0
  228. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/agent.py +0 -0
  229. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/agents.py +0 -0
  230. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/app.py +0 -0
  231. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/attach.py +0 -0
  232. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/audit.py +0 -0
  233. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/auth.py +0 -0
  234. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/batch.py +0 -0
  235. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/benchmark.py +0 -0
  236. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/bot.py +0 -0
  237. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/browser.py +0 -0
  238. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/call.py +0 -0
  239. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/chat.py +0 -0
  240. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/claw.py +0 -0
  241. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/command.py +0 -0
  242. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/commit.py +0 -0
  243. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/completion.py +0 -0
  244. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/context.py +0 -0
  245. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/daemon.py +0 -0
  246. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/dashboard.py +0 -0
  247. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/debug.py +0 -0
  248. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/diag.py +0 -0
  249. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/docs.py +0 -0
  250. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/doctor.py +0 -0
  251. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/endpoints.py +0 -0
  252. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/environment.py +0 -0
  253. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/eval.py +0 -0
  254. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/examples.py +0 -0
  255. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/flow.py +0 -0
  256. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/github.py +0 -0
  257. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/hooks.py +0 -0
  258. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/identity.py +0 -0
  259. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/init.py +0 -0
  260. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/kanban.py +0 -0
  261. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/knowledge.py +0 -0
  262. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/langextract.py +0 -0
  263. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/langfuse.py +0 -0
  264. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/loop.py +0 -0
  265. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/lsp.py +0 -0
  266. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/managed.py +0 -0
  267. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/mcp.py +0 -0
  268. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/memory.py +0 -0
  269. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/mint_link.py +0 -0
  270. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/models.py +0 -0
  271. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/n8n.py +0 -0
  272. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/obs.py +0 -0
  273. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/onboard.py +0 -0
  274. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/package.py +0 -0
  275. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/pairing.py +0 -0
  276. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/paths.py +0 -0
  277. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/permissions.py +0 -0
  278. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/plugins.py +0 -0
  279. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/port.py +0 -0
  280. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/profile.py +0 -0
  281. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/publish.py +0 -0
  282. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/rag.py +0 -0
  283. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/realtime.py +0 -0
  284. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/recipe.py +0 -0
  285. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/registry.py +0 -0
  286. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/replay.py +0 -0
  287. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/research.py +0 -0
  288. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/retrieval.py +0 -0
  289. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/rules.py +0 -0
  290. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/sandbox.py +0 -0
  291. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/schedule.py +0 -0
  292. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/setup.py +0 -0
  293. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/standardise.py +0 -0
  294. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/templates.py +0 -0
  295. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/test.py +0 -0
  296. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/todo.py +0 -0
  297. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/traces.py +0 -0
  298. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/tracker.py +0 -0
  299. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/train.py +0 -0
  300. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/ui.py +0 -0
  301. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/up.py +0 -0
  302. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/validate.py +0 -0
  303. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/version.py +0 -0
  304. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/commands/workflow.py +0 -0
  305. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/config_loader.py +0 -0
  306. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/configuration/__init__.py +0 -0
  307. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/configuration/config.schema.json +0 -0
  308. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/configuration/credentials.py +0 -0
  309. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/configuration/loader.py +0 -0
  310. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/configuration/model_resolver.py +0 -0
  311. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/configuration/oauth.py +0 -0
  312. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/configuration/paths.py +0 -0
  313. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/configuration/schema.py +0 -0
  314. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/execution/__init__.py +0 -0
  315. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/execution/core.py +0 -0
  316. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/execution/profiler.py +0 -0
  317. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/execution/request.py +0 -0
  318. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/execution/result.py +0 -0
  319. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/fallback_schema.py +0 -0
  320. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/__init__.py +0 -0
  321. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/_endpoint_registry.py +0 -0
  322. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/_search_registry.py +0 -0
  323. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/acp.py +0 -0
  324. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/action_orchestrator.py +0 -0
  325. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/agent_scheduler.py +0 -0
  326. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/agent_tools.py +0 -0
  327. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/agents.py +0 -0
  328. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/at_mentions.py +0 -0
  329. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/audit_cli.py +0 -0
  330. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/auto_memory.py +0 -0
  331. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/auto_mode.py +0 -0
  332. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/autonomy_mode.py +0 -0
  333. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/background.py +0 -0
  334. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/base.py +0 -0
  335. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/benchmark.py +0 -0
  336. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/bots_cli.py +0 -0
  337. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/capabilities.py +0 -0
  338. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/cli_profiler.py +0 -0
  339. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/code_intelligence.py +0 -0
  340. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/compaction.py +0 -0
  341. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/compare.py +0 -0
  342. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/context_manager.py +0 -0
  343. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/cost_tracker.py +0 -0
  344. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/csv_test_runner.py +0 -0
  345. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/custom_definitions.py +0 -0
  346. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/debug.py +0 -0
  347. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/diag.py +0 -0
  348. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/display_jsonl.py +0 -0
  349. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/doctor/__init__.py +0 -0
  350. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/doctor/checks/__init__.py +0 -0
  351. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/doctor/checks/acp_checks.py +0 -0
  352. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/doctor/checks/bot_checks.py +0 -0
  353. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/doctor/checks/db_checks.py +0 -0
  354. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/doctor/checks/env_checks.py +0 -0
  355. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/doctor/checks/gateway_checks.py +0 -0
  356. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/doctor/checks/lsp_checks.py +0 -0
  357. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/doctor/checks/mcp_checks.py +0 -0
  358. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/doctor/checks/memory_checks.py +0 -0
  359. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/doctor/checks/network_checks.py +0 -0
  360. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/doctor/checks/obs_checks.py +0 -0
  361. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/doctor/checks/packaging_checks.py +0 -0
  362. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/doctor/checks/performance_checks.py +0 -0
  363. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/doctor/checks/permissions_checks.py +0 -0
  364. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/doctor/checks/runtime_migration_checks.py +0 -0
  365. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/doctor/checks/selftest_checks.py +0 -0
  366. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/doctor/checks/serve_checks.py +0 -0
  367. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/doctor/checks/skills_checks.py +0 -0
  368. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/doctor/checks/tools_checks.py +0 -0
  369. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/doctor/engine.py +0 -0
  370. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/doctor/formatters.py +0 -0
  371. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/doctor/handler.py +0 -0
  372. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/doctor/models.py +0 -0
  373. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/doctor/registry.py +0 -0
  374. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/endpoints.py +0 -0
  375. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/eval.py +0 -0
  376. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/examples.py +0 -0
  377. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/external_agents.py +0 -0
  378. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/fast_context.py +0 -0
  379. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/file_history.py +0 -0
  380. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/flow_display.py +0 -0
  381. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/git_attribution.py +0 -0
  382. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/git_integration.py +0 -0
  383. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/guardrail.py +0 -0
  384. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/handoff.py +0 -0
  385. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/hooks.py +0 -0
  386. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/hybrid_workflow.py +0 -0
  387. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/image.py +0 -0
  388. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/interactive_core_headless.py +0 -0
  389. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/interactive_runtime.py +0 -0
  390. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/interactive_test_harness.py +0 -0
  391. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/interactive_tools.py +0 -0
  392. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/interactive_tui.py +0 -0
  393. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/job_workflow.py +0 -0
  394. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/jobs.py +0 -0
  395. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/knowledge.py +0 -0
  396. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/knowledge_cli.py +0 -0
  397. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/lite.py +0 -0
  398. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/logs.py +0 -0
  399. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/lsp_cli.py +0 -0
  400. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/lsp_diagnostics.py +0 -0
  401. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/mcp.py +0 -0
  402. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/message_queue.py +0 -0
  403. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/metrics.py +0 -0
  404. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/migrate.py +0 -0
  405. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/migration_flow.py +0 -0
  406. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/migration_spec.py +0 -0
  407. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/n8n.py +0 -0
  408. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/observability.py +0 -0
  409. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/ollama.py +0 -0
  410. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/onboard.py +0 -0
  411. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/output_modes.py +0 -0
  412. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/output_style.py +0 -0
  413. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/package.py +0 -0
  414. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/performance.py +0 -0
  415. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/persistence.py +0 -0
  416. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/profiler/__init__.py +0 -0
  417. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/profiler/core.py +0 -0
  418. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/profiler/optimizations.py +0 -0
  419. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/profiler/suite.py +0 -0
  420. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/queue/__init__.py +0 -0
  421. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/queue/manager.py +0 -0
  422. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/queue/models.py +0 -0
  423. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/queue/persistence.py +0 -0
  424. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/queue/scheduler.py +0 -0
  425. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/queue/worker.py +0 -0
  426. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/recipe.py +0 -0
  427. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/recipe_creator.py +0 -0
  428. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/recipe_optimizer.py +0 -0
  429. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/recipe_prompts.py +0 -0
  430. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/registry.py +0 -0
  431. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/repo_map.py +0 -0
  432. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/router.py +0 -0
  433. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/safe_shell.py +0 -0
  434. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/sandbox_cli.py +0 -0
  435. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/sandbox_executor.py +0 -0
  436. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/sdk_knowledge.py +0 -0
  437. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/serve.py +0 -0
  438. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/session.py +0 -0
  439. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/setup/__init__.py +0 -0
  440. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/setup/handler.py +0 -0
  441. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/setup/templates.py +0 -0
  442. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/slash_commands.py +0 -0
  443. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/telemetry.py +0 -0
  444. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/templates.py +0 -0
  445. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/todo.py +0 -0
  446. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/tools.py +0 -0
  447. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/tui/__init__.py +0 -0
  448. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/tui/app.py +0 -0
  449. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/tui/cli.py +0 -0
  450. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/tui/config.py +0 -0
  451. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/tui/debug.py +0 -0
  452. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/tui/events.py +0 -0
  453. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/tui/mock_provider.py +0 -0
  454. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/tui/orchestrator.py +0 -0
  455. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/tui/screens/__init__.py +0 -0
  456. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/tui/screens/help.py +0 -0
  457. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/tui/screens/main.py +0 -0
  458. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/tui/screens/queue.py +0 -0
  459. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/tui/screens/session.py +0 -0
  460. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/tui/screens/settings.py +0 -0
  461. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/tui/session_store.py +0 -0
  462. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/tui/widgets/__init__.py +0 -0
  463. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/tui/widgets/chat.py +0 -0
  464. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/tui/widgets/command_popup.py +0 -0
  465. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/tui/widgets/composer.py +0 -0
  466. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/tui/widgets/file_popup.py +0 -0
  467. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/tui/widgets/queue_panel.py +0 -0
  468. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/tui/widgets/status.py +0 -0
  469. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/tui/widgets/tool_panel.py +0 -0
  470. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/wizard.py +0 -0
  471. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/workflow.py +0 -0
  472. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/features/yaml_utils.py +0 -0
  473. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/interactive/__init__.py +0 -0
  474. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/interactive/async_tui.py +0 -0
  475. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/interactive/config.py +0 -0
  476. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/interactive/core.py +0 -0
  477. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/interactive/events.py +0 -0
  478. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/interactive/frontends/__init__.py +0 -0
  479. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/interactive/frontends/rich_frontend.py +0 -0
  480. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/interactive/frontends/textual_frontend.py +0 -0
  481. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/interactive/praison_io.py +0 -0
  482. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/interactive/repl.py +0 -0
  483. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/interactive/split_tui.py +0 -0
  484. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/interactive/tui_app.py +0 -0
  485. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/langfuse_client.py +0 -0
  486. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/output/__init__.py +0 -0
  487. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/output/console.py +0 -0
  488. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/output/event_bridge.py +0 -0
  489. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/schedule_cli.py +0 -0
  490. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/schema_provider.py +0 -0
  491. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/session/__init__.py +0 -0
  492. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/session/unified.py +0 -0
  493. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/state/__init__.py +0 -0
  494. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/state/identifiers.py +0 -0
  495. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/state/sessions.py +0 -0
  496. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/ui/__init__.py +0 -0
  497. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/ui/config.py +0 -0
  498. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/ui/events.py +0 -0
  499. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/ui/mg_backend.py +0 -0
  500. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/ui/plain.py +0 -0
  501. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/ui/rich_backend.py +0 -0
  502. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/unified_schema.py +0 -0
  503. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/utils/env_utils.py +0 -0
  504. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli/utils/project.py +0 -0
  505. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli_backends/__init__.py +0 -0
  506. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli_backends/claude.py +0 -0
  507. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/cli_backends/registry.py +0 -0
  508. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/code/__init__.py +0 -0
  509. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/code/agent_tools.py +0 -0
  510. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/code/diff/__init__.py +0 -0
  511. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/code/diff/diff_strategy.py +0 -0
  512. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/code/tools/__init__.py +0 -0
  513. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/code/tools/apply_diff.py +0 -0
  514. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/code/tools/execute_command.py +0 -0
  515. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/code/tools/list_files.py +0 -0
  516. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/code/tools/read_file.py +0 -0
  517. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/code/tools/search_replace.py +0 -0
  518. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/code/tools/write_file.py +0 -0
  519. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/code/utils/__init__.py +0 -0
  520. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/code/utils/file_utils.py +0 -0
  521. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/code/utils/ignore_utils.py +0 -0
  522. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/code/utils/text_utils.py +0 -0
  523. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/config/__init__.py +0 -0
  524. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/config/validator.py +0 -0
  525. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/context/__init__.py +0 -0
  526. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/context/_storage_path.py +0 -0
  527. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/context/artifact_store.py +0 -0
  528. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/context/config.py +0 -0
  529. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/context/history_store.py +0 -0
  530. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/context/queue.py +0 -0
  531. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/context/setup.py +0 -0
  532. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/context/terminal_logger.py +0 -0
  533. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/daemon/__init__.py +0 -0
  534. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/daemon/launchd.py +0 -0
  535. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/daemon/systemd.py +0 -0
  536. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/daemon/windows.py +0 -0
  537. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/db/__init__.py +0 -0
  538. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/deploy/__init__.py +0 -0
  539. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/deploy/api.py +0 -0
  540. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/deploy/docker.py +0 -0
  541. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/deploy/doctor.py +0 -0
  542. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/deploy/main.py +0 -0
  543. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/deploy/models.py +0 -0
  544. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/deploy/providers/__init__.py +0 -0
  545. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/deploy/providers/_registry.py +0 -0
  546. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/deploy/providers/aws.py +0 -0
  547. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/deploy/providers/azure.py +0 -0
  548. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/deploy/providers/base.py +0 -0
  549. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/deploy/providers/gcp.py +0 -0
  550. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/deploy/schema.py +0 -0
  551. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/docs_runner/__init__.py +0 -0
  552. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/docs_runner/classifier.py +0 -0
  553. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/docs_runner/executor.py +0 -0
  554. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/docs_runner/extractor.py +0 -0
  555. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/docs_runner/reporter.py +0 -0
  556. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/docs_runner/runner.py +0 -0
  557. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/docs_runner/workspace.py +0 -0
  558. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/endpoints/__init__.py +0 -0
  559. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/endpoints/a2u_server.py +0 -0
  560. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/endpoints/discovery.py +0 -0
  561. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/endpoints/providers/__init__.py +0 -0
  562. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/endpoints/providers/a2a.py +0 -0
  563. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/endpoints/providers/a2u.py +0 -0
  564. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/endpoints/providers/agents_api.py +0 -0
  565. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/endpoints/providers/base.py +0 -0
  566. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/endpoints/providers/mcp.py +0 -0
  567. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/endpoints/providers/openai_compat.py +0 -0
  568. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/endpoints/providers/recipe.py +0 -0
  569. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/endpoints/providers/tools_mcp.py +0 -0
  570. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/endpoints/registry.py +0 -0
  571. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/endpoints/server.py +0 -0
  572. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/flow/__init__.py +0 -0
  573. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/flow/client.py +0 -0
  574. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/flow/components/PraisonAI/praisonai_agent.py +0 -0
  575. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/flow/components/PraisonAI/praisonai_agents.py +0 -0
  576. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/flow/components/__init__.py +0 -0
  577. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/flow/converter.py +0 -0
  578. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/flow/helpers.py +0 -0
  579. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/gateway/__init__.py +0 -0
  580. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/gateway/auth.py +0 -0
  581. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/gateway/client.py +0 -0
  582. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/gateway/cookie_auth.py +0 -0
  583. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/gateway/exec_approval.py +0 -0
  584. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/gateway/gateway_approval.py +0 -0
  585. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/gateway/health_monitor.py +0 -0
  586. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/gateway/home_channels.py +0 -0
  587. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/gateway/magic_link.py +0 -0
  588. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/gateway/origin_check.py +0 -0
  589. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/gateway/pairing.py +0 -0
  590. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/gateway/pairing_routes.py +0 -0
  591. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/gateway/port_utils.py +0 -0
  592. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/gateway/push_channels.py +0 -0
  593. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/gateway/push_delivery.py +0 -0
  594. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/gateway/push_polling.py +0 -0
  595. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/gateway/push_presence.py +0 -0
  596. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/gateway/rate_limiter.py +0 -0
  597. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/gateway/redis_pubsub.py +0 -0
  598. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/gateway/supervisor.py +0 -0
  599. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/gateway/unicode_utils.py +0 -0
  600. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/inbuilt_tools/__init__.py +0 -0
  601. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/inbuilt_tools/autogen_tools.py +0 -0
  602. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/inc/__init__.py +0 -0
  603. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/inc/config.py +0 -0
  604. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/inc/models.py +0 -0
  605. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integration/__init__.py +0 -0
  606. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integration/bridges/__init__.py +0 -0
  607. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integration/bridges/approvals_bridge.py +0 -0
  608. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integration/bridges/hooks_query.py +0 -0
  609. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integration/bridges/kanban_bridge.py +0 -0
  610. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integration/bridges/schedules_runner.py +0 -0
  611. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integration/bridges/usage_bridge.py +0 -0
  612. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integration/bridges/workflows_service.py +0 -0
  613. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integration/context_files.py +0 -0
  614. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integration/gateway_host.py +0 -0
  615. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integration/host_app.py +0 -0
  616. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integration/pages/__init__.py +0 -0
  617. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integration/pages/bot_health.py +0 -0
  618. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integration/pages/workflow_runs.py +0 -0
  619. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integrations/__init__.py +0 -0
  620. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integrations/_session_info.py +0 -0
  621. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integrations/_tool_aliases.py +0 -0
  622. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integrations/_unified_registry.py +0 -0
  623. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integrations/backend_registry.py +0 -0
  624. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integrations/base.py +0 -0
  625. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integrations/claude_code.py +0 -0
  626. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integrations/codex_cli.py +0 -0
  627. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integrations/compute/__init__.py +0 -0
  628. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integrations/compute/daytona.py +0 -0
  629. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integrations/compute/docker.py +0 -0
  630. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integrations/compute/e2b.py +0 -0
  631. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integrations/compute/flyio.py +0 -0
  632. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integrations/compute/local.py +0 -0
  633. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integrations/compute/modal_compute.py +0 -0
  634. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integrations/cursor_cli.py +0 -0
  635. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integrations/db_session_adapter.py +0 -0
  636. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integrations/gemini_cli.py +0 -0
  637. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integrations/hosted_agent.py +0 -0
  638. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integrations/local_agent.py +0 -0
  639. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integrations/managed_agents.py +0 -0
  640. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integrations/managed_local.py +0 -0
  641. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integrations/registry.py +0 -0
  642. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/integrations/sandboxed_agent.py +0 -0
  643. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/jobs/__init__.py +0 -0
  644. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/jobs/executor.py +0 -0
  645. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/jobs/models.py +0 -0
  646. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/jobs/path_validation.py +0 -0
  647. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/jobs/router.py +0 -0
  648. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/jobs/server.py +0 -0
  649. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/jobs/store.py +0 -0
  650. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/kanban/paths.py +0 -0
  651. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/llm/__init__.py +0 -0
  652. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/llm/catalogue.py +0 -0
  653. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/llm/config.py +0 -0
  654. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/llm/credentials.py +0 -0
  655. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/llm/env.py +0 -0
  656. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/llm/gateways.py +0 -0
  657. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/llm/registry.py +0 -0
  658. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/mcp_server/__init__.py +0 -0
  659. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/mcp_server/adapters/__init__.py +0 -0
  660. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/mcp_server/adapters/agents.py +0 -0
  661. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/mcp_server/adapters/capabilities.py +0 -0
  662. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/mcp_server/adapters/cli_tools.py +0 -0
  663. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/mcp_server/adapters/extended_capabilities.py +0 -0
  664. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/mcp_server/adapters/knowledge.py +0 -0
  665. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/mcp_server/adapters/memory.py +0 -0
  666. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/mcp_server/adapters/prompts.py +0 -0
  667. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/mcp_server/adapters/resources.py +0 -0
  668. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/mcp_server/adapters/tools_bridge.py +0 -0
  669. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/mcp_server/auth/__init__.py +0 -0
  670. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/mcp_server/auth/api_key.py +0 -0
  671. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/mcp_server/auth/oauth.py +0 -0
  672. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/mcp_server/auth/oidc.py +0 -0
  673. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/mcp_server/auth/scopes.py +0 -0
  674. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/mcp_server/cli.py +0 -0
  675. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/mcp_server/elicitation.py +0 -0
  676. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/mcp_server/icons.py +0 -0
  677. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/mcp_server/recipe_adapter.py +0 -0
  678. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/mcp_server/recipe_cli.py +0 -0
  679. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/mcp_server/registry.py +0 -0
  680. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/mcp_server/sampling.py +0 -0
  681. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/mcp_server/server.py +0 -0
  682. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/mcp_server/tasks.py +0 -0
  683. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/mcp_server/tool_index.py +0 -0
  684. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/mcp_server/transports/__init__.py +0 -0
  685. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/mcp_server/transports/http_stream.py +0 -0
  686. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/mcp_server/transports/stdio.py +0 -0
  687. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/n8n/__init__.py +0 -0
  688. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/n8n/client.py +0 -0
  689. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/n8n/converter.py +0 -0
  690. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/n8n/preview.py +0 -0
  691. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/n8n/reverse_converter.py +0 -0
  692. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/observability/__init__.py +0 -0
  693. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/observability/hooks.py +0 -0
  694. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/observability/langextract.py +0 -0
  695. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/observability/langfuse.py +0 -0
  696. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/__init__.py +0 -0
  697. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/_valkey_client.py +0 -0
  698. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/config.py +0 -0
  699. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/conversation/__init__.py +0 -0
  700. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/conversation/_sql_base.py +0 -0
  701. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/conversation/_sqlite_base.py +0 -0
  702. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/conversation/async_mysql.py +0 -0
  703. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/conversation/async_postgres.py +0 -0
  704. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/conversation/async_sqlite.py +0 -0
  705. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/conversation/base.py +0 -0
  706. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/conversation/json_store.py +0 -0
  707. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/conversation/mysql.py +0 -0
  708. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/conversation/postgres.py +0 -0
  709. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/conversation/singlestore.py +0 -0
  710. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/conversation/sqlite.py +0 -0
  711. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/conversation/supabase.py +0 -0
  712. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/conversation/surrealdb.py +0 -0
  713. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/conversation/sync_sqlite.py +0 -0
  714. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/conversation/turso.py +0 -0
  715. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/factory.py +0 -0
  716. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/hooks/__init__.py +0 -0
  717. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/hooks/agent_hooks.py +0 -0
  718. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/knowledge/__init__.py +0 -0
  719. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/knowledge/base.py +0 -0
  720. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/knowledge/cassandra.py +0 -0
  721. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/knowledge/chroma.py +0 -0
  722. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/knowledge/clickhouse.py +0 -0
  723. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/knowledge/cosmosdb_vector.py +0 -0
  724. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/knowledge/couchbase.py +0 -0
  725. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/knowledge/lancedb.py +0 -0
  726. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/knowledge/langchain_adapter.py +0 -0
  727. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/knowledge/lightrag_adapter.py +0 -0
  728. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/knowledge/llamaindex_adapter.py +0 -0
  729. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/knowledge/milvus.py +0 -0
  730. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/knowledge/mongodb_vector.py +0 -0
  731. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/knowledge/pgvector.py +0 -0
  732. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/knowledge/pinecone.py +0 -0
  733. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/knowledge/qdrant.py +0 -0
  734. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/knowledge/redis_vector.py +0 -0
  735. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/knowledge/singlestore_vector.py +0 -0
  736. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/knowledge/surrealdb_vector.py +0 -0
  737. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/knowledge/upstash_vector.py +0 -0
  738. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/knowledge/valkey_vector.py +0 -0
  739. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/knowledge/weaviate.py +0 -0
  740. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/migrations/__init__.py +0 -0
  741. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/migrations/manager.py +0 -0
  742. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/orchestrator.py +0 -0
  743. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/registry.py +0 -0
  744. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/state/__init__.py +0 -0
  745. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/state/async_mongodb.py +0 -0
  746. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/state/base.py +0 -0
  747. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/state/dynamodb.py +0 -0
  748. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/state/firestore.py +0 -0
  749. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/state/gcs.py +0 -0
  750. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/state/memory.py +0 -0
  751. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/state/mongodb.py +0 -0
  752. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/state/redis.py +0 -0
  753. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/state/upstash.py +0 -0
  754. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/state/valkey.py +0 -0
  755. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/tests/__init__.py +0 -0
  756. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/tests/test_all_backends.py +0 -0
  757. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/persistence/tests/test_valkey_backends.py +0 -0
  758. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/profiler.py +0 -0
  759. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/push/__init__.py +0 -0
  760. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/push/client.py +0 -0
  761. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/push/transports.py +0 -0
  762. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/recipe/__init__.py +0 -0
  763. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/recipe/bridge.py +0 -0
  764. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/recipe/core.py +0 -0
  765. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/recipe/exceptions.py +0 -0
  766. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/recipe/history.py +0 -0
  767. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/recipe/models.py +0 -0
  768. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/recipe/operations.py +0 -0
  769. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/recipe/policy.py +0 -0
  770. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/recipe/registry.py +0 -0
  771. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/recipe/runtime.py +0 -0
  772. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/recipe/security.py +0 -0
  773. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/recipe/serve.py +0 -0
  774. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/recipe/server.py +0 -0
  775. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/replay/__init__.py +0 -0
  776. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/replay/analyzer.py +0 -0
  777. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/replay/applier.py +0 -0
  778. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/replay/judge.py +0 -0
  779. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/replay/plan.py +0 -0
  780. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/replay/player.py +0 -0
  781. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/replay/reader.py +0 -0
  782. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/replay/storage.py +0 -0
  783. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/replay/writer.py +0 -0
  784. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/runtime/__init__.py +0 -0
  785. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/runtime/client.py +0 -0
  786. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/runtime/descriptor.py +0 -0
  787. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/runtime/server.py +0 -0
  788. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/sandbox/__init__.py +0 -0
  789. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/sandbox/_compat.py +0 -0
  790. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/sandbox/_registry.py +0 -0
  791. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/sandbox/_shell.py +0 -0
  792. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/sandbox/daytona.py +0 -0
  793. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/sandbox/docker.py +0 -0
  794. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/sandbox/e2b.py +0 -0
  795. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/sandbox/modal.py +0 -0
  796. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/sandbox/sandlock.py +0 -0
  797. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/sandbox/ssh.py +0 -0
  798. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/sandbox/subprocess.py +0 -0
  799. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/scheduler/__init__.py +0 -0
  800. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/scheduler/_base_scheduler.py +0 -0
  801. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/scheduler/_dispatch.py +0 -0
  802. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/scheduler/agent_scheduler.py +0 -0
  803. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/scheduler/async_agent_scheduler.py +0 -0
  804. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/scheduler/base.py +0 -0
  805. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/scheduler/blueprint_catalogue.py +0 -0
  806. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/scheduler/condition_gate.py +0 -0
  807. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/scheduler/daemon_manager.py +0 -0
  808. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/scheduler/deployment.py +0 -0
  809. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/scheduler/executor.py +0 -0
  810. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/scheduler/run_policy.py +0 -0
  811. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/scheduler/shared.py +0 -0
  812. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/scheduler/state_manager.py +0 -0
  813. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/scheduler/suggestion_engine.py +0 -0
  814. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/scheduler/yaml_loader.py +0 -0
  815. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/security/__init__.py +0 -0
  816. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/security/audit.py +0 -0
  817. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/security/injection.py +0 -0
  818. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/security/protected.py +0 -0
  819. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/setup/__init__.py +0 -0
  820. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/setup/build.py +0 -0
  821. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/setup/post_install.py +0 -0
  822. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/setup/setup_conda_env.py +0 -0
  823. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/setup.py +0 -0
  824. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/standardise/__init__.py +0 -0
  825. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/standardise/ai_generator.py +0 -0
  826. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/standardise/config.py +0 -0
  827. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/standardise/dedupe.py +0 -0
  828. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/standardise/discovery.py +0 -0
  829. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/standardise/drift.py +0 -0
  830. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/standardise/engine.py +0 -0
  831. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/standardise/enhanced_templates.py +0 -0
  832. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/standardise/example_verifier.py +0 -0
  833. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/standardise/manifest.py +0 -0
  834. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/standardise/models.py +0 -0
  835. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/standardise/reports.py +0 -0
  836. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/standardise/templates.py +0 -0
  837. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/standardise/undo_redo.py +0 -0
  838. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/standardise/validator.py +0 -0
  839. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/storage/__init__.py +0 -0
  840. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/storage/dynamodb_adapter.py +0 -0
  841. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/storage/mongodb_adapter.py +0 -0
  842. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/storage/postgresql_adapter.py +0 -0
  843. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/storage/redis_adapter.py +0 -0
  844. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/storage/valkey_adapter.py +0 -0
  845. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/suite_runner/__init__.py +0 -0
  846. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/suite_runner/batch_source.py +0 -0
  847. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/suite_runner/cli_docs_source.py +0 -0
  848. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/suite_runner/discovery.py +0 -0
  849. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/suite_runner/docs_source.py +0 -0
  850. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/suite_runner/examples_source.py +0 -0
  851. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/suite_runner/executor.py +0 -0
  852. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/suite_runner/models.py +0 -0
  853. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/suite_runner/report_viewer.py +0 -0
  854. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/suite_runner/reporter.py +0 -0
  855. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/suite_runner/runner.py +0 -0
  856. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/templates/__init__.py +0 -0
  857. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/templates/cache.py +0 -0
  858. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/templates/dependency_checker.py +0 -0
  859. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/templates/discovery.py +0 -0
  860. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/templates/loader.py +0 -0
  861. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/templates/registry.py +0 -0
  862. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/templates/resolver.py +0 -0
  863. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/templates/security.py +0 -0
  864. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/templates/tool_override.py +0 -0
  865. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/templates/tools_doctor.py +0 -0
  866. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/tool_registry.py +0 -0
  867. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/tools/__init__.py +0 -0
  868. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/tools/audio.py +0 -0
  869. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/tools/glob_tool.py +0 -0
  870. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/tools/grep_tool.py +0 -0
  871. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/tools/multiedit.py +0 -0
  872. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/train/__init__.py +0 -0
  873. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/train/_ollama.py +0 -0
  874. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/train/agents/__init__.py +0 -0
  875. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/train/agents/grader.py +0 -0
  876. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/train/agents/hook.py +0 -0
  877. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/train/agents/models.py +0 -0
  878. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/train/agents/orchestrator.py +0 -0
  879. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/train/agents/storage.py +0 -0
  880. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/train/llm/__init__.py +0 -0
  881. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/train/llm/trainer.py +0 -0
  882. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/train.py +0 -0
  883. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/train_vision.py +0 -0
  884. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/ui/_aiui_datastore.py +0 -0
  885. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/ui/_external_agents.py +0 -0
  886. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/ui/callbacks.py +0 -0
  887. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/ui/components/aicoder.py +0 -0
  888. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/ui/context.py +0 -0
  889. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/ui/database_config.py +0 -0
  890. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/ui_agents/__init__.py +0 -0
  891. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/ui_agents/default_app.py +0 -0
  892. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/ui_bot/__init__.py +0 -0
  893. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/ui_bot/default_app.py +0 -0
  894. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/ui_chat/__init__.py +0 -0
  895. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/ui_chat/default_app.py +0 -0
  896. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/ui_dashboard/default_app.py +0 -0
  897. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/ui_realtime/__init__.py +0 -0
  898. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/ui_realtime/default_app.py +0 -0
  899. {praisonai-4.6.82 → praisonai-4.6.95}/praisonai/upload_vision.py +0 -0
  900. {praisonai-4.6.82 → praisonai-4.6.95}/setup.cfg +0 -0
  901. {praisonai-4.6.82 → praisonai-4.6.95}/tests/test.py +0 -0
  902. {praisonai-4.6.82 → praisonai-4.6.95}/tests/test_agents_playbook.py +0 -0
  903. {praisonai-4.6.82 → praisonai-4.6.95}/tests/test_approval_system.py +0 -0
  904. {praisonai-4.6.82 → praisonai-4.6.95}/tests/test_basic.py +0 -0
  905. {praisonai-4.6.82 → praisonai-4.6.95}/tests/test_cli_features.py +0 -0
  906. {praisonai-4.6.82 → praisonai-4.6.95}/tests/test_custom_tools_fix.py +0 -0
  907. {praisonai-4.6.82 → praisonai-4.6.95}/tests/test_double_api_fix.py +0 -0
  908. {praisonai-4.6.82 → praisonai-4.6.95}/tests/test_n8n_agent_invoke.py +0 -0
  909. {praisonai-4.6.82 → praisonai-4.6.95}/tests/test_n8n_cli_feature.py +0 -0
  910. {praisonai-4.6.82 → praisonai-4.6.95}/tests/test_n8n_integration.py +0 -0
  911. {praisonai-4.6.82 → praisonai-4.6.95}/tests/test_phase2_refactor.py +0 -0
  912. {praisonai-4.6.82 → praisonai-4.6.95}/tests/test_recipe.py +0 -0
  913. {praisonai-4.6.82 → praisonai-4.6.95}/tests/test_registry.py +0 -0
  914. {praisonai-4.6.82 → praisonai-4.6.95}/tests/test_runner.py +0 -0
  915. {praisonai-4.6.82 → praisonai-4.6.95}/tests/test_sandboxed_agent_compatibility.py +0 -0
  916. {praisonai-4.6.82 → praisonai-4.6.95}/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.82
3
+ Version: 4.6.95
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,14 +11,16 @@ 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.82
14
+ Requires-Dist: praisonaiagents>=1.6.95
15
15
  Requires-Dist: python-dotenv>=0.19.0
16
16
  Requires-Dist: litellm<2,>=1.83.14
17
17
  Requires-Dist: PyYAML>=6.0
18
18
  Requires-Dist: mcp>=1.20.0
19
- Requires-Dist: typer>=0.9.0
19
+ Requires-Dist: typer>=0.12.0
20
+ Requires-Dist: click>=8.4.2
20
21
  Requires-Dist: textual>=0.47.0
21
22
  Requires-Dist: pydantic>=2.0.0
23
+ Requires-Dist: toml>=0.10.2
22
24
  Provides-Extra: ui
23
25
  Requires-Dist: aiui<0.4,>=0.3.121; extra == "ui"
24
26
  Provides-Extra: gradio
@@ -91,8 +93,20 @@ Requires-Dist: autogen-ext[openai]>=0.4.0; extra == "autogen-v4"
91
93
  Requires-Dist: autogen-core>=0.4.0; extra == "autogen-v4"
92
94
  Requires-Dist: praisonai-tools>=0.1.0; extra == "autogen-v4"
93
95
  Requires-Dist: crewai; extra == "autogen-v4"
96
+ Provides-Extra: langgraph
97
+ Requires-Dist: langgraph<2,>=0.2.0; extra == "langgraph"
98
+ Requires-Dist: langgraph-prebuilt<2,>=0.2.0; extra == "langgraph"
99
+ Requires-Dist: langchain-core<2,>=0.3.0; extra == "langgraph"
100
+ Requires-Dist: langchain-openai<2,>=0.2.0; extra == "langgraph"
101
+ Requires-Dist: praisonai-tools>=0.1.0; extra == "langgraph"
102
+ Provides-Extra: openai-agents
103
+ Requires-Dist: praisonai-frameworks[openai-agents]>=0.1.3; extra == "openai-agents"
104
+ Requires-Dist: praisonai-tools>=0.1.0; extra == "openai-agents"
94
105
  Provides-Extra: acp
95
106
  Requires-Dist: agent-client-protocol>=0.7.0; extra == "acp"
107
+ Provides-Extra: flow
108
+ Requires-Dist: langflow>=1.0.0; extra == "flow"
109
+ Requires-Dist: requests>=2.31.0; extra == "flow"
96
110
  Provides-Extra: lite
97
111
  Provides-Extra: all
98
112
  Requires-Dist: fastapi>=0.115.0; extra == "all"
@@ -751,7 +765,7 @@ praisonai agents.yaml
751
765
  | Query Rewriter Agent | [Example](examples/python/agents/query-rewriter-agent.py) | [📖](https://docs.praison.ai/docs/agents/query-rewriter) |
752
766
  | Native Web Search | [Example](examples/python/agents/websearch-agent.py) | [📖](https://docs.praison.ai/docs/agents/websearch) |
753
767
  | Built-in Search Tools | [Example](examples/python/agents/websearch-agent.py) | [📖](https://docs.praison.ai/docs/tools/tavily) |
754
- | Unified Web Search | [Example](src/praisonai-agents/examples/web_search_example.py) | [📖](https://docs.praison.ai/docs/tools/web-search) |
768
+ | Unified Web Search | [Example](examples/python/web_search_example.py) | [📖](https://docs.praison.ai/docs/tools/web-search) |
755
769
  | Web Fetch (Anthropic) | [Example](examples/python/agents/web-fetch-agent.py) | [📖](https://docs.praison.ai/docs/features/model-capabilities) |
756
770
 
757
771
  </details>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PraisonAI
3
- Version: 4.6.82
3
+ Version: 4.6.95
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,14 +11,16 @@ 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.82
14
+ Requires-Dist: praisonaiagents>=1.6.95
15
15
  Requires-Dist: python-dotenv>=0.19.0
16
16
  Requires-Dist: litellm<2,>=1.83.14
17
17
  Requires-Dist: PyYAML>=6.0
18
18
  Requires-Dist: mcp>=1.20.0
19
- Requires-Dist: typer>=0.9.0
19
+ Requires-Dist: typer>=0.12.0
20
+ Requires-Dist: click>=8.4.2
20
21
  Requires-Dist: textual>=0.47.0
21
22
  Requires-Dist: pydantic>=2.0.0
23
+ Requires-Dist: toml>=0.10.2
22
24
  Provides-Extra: ui
23
25
  Requires-Dist: aiui<0.4,>=0.3.121; extra == "ui"
24
26
  Provides-Extra: gradio
@@ -91,8 +93,20 @@ Requires-Dist: autogen-ext[openai]>=0.4.0; extra == "autogen-v4"
91
93
  Requires-Dist: autogen-core>=0.4.0; extra == "autogen-v4"
92
94
  Requires-Dist: praisonai-tools>=0.1.0; extra == "autogen-v4"
93
95
  Requires-Dist: crewai; extra == "autogen-v4"
96
+ Provides-Extra: langgraph
97
+ Requires-Dist: langgraph<2,>=0.2.0; extra == "langgraph"
98
+ Requires-Dist: langgraph-prebuilt<2,>=0.2.0; extra == "langgraph"
99
+ Requires-Dist: langchain-core<2,>=0.3.0; extra == "langgraph"
100
+ Requires-Dist: langchain-openai<2,>=0.2.0; extra == "langgraph"
101
+ Requires-Dist: praisonai-tools>=0.1.0; extra == "langgraph"
102
+ Provides-Extra: openai-agents
103
+ Requires-Dist: praisonai-frameworks[openai-agents]>=0.1.3; extra == "openai-agents"
104
+ Requires-Dist: praisonai-tools>=0.1.0; extra == "openai-agents"
94
105
  Provides-Extra: acp
95
106
  Requires-Dist: agent-client-protocol>=0.7.0; extra == "acp"
107
+ Provides-Extra: flow
108
+ Requires-Dist: langflow>=1.0.0; extra == "flow"
109
+ Requires-Dist: requests>=2.31.0; extra == "flow"
96
110
  Provides-Extra: lite
97
111
  Provides-Extra: all
98
112
  Requires-Dist: fastapi>=0.115.0; extra == "all"
@@ -751,7 +765,7 @@ praisonai agents.yaml
751
765
  | Query Rewriter Agent | [Example](examples/python/agents/query-rewriter-agent.py) | [📖](https://docs.praison.ai/docs/agents/query-rewriter) |
752
766
  | Native Web Search | [Example](examples/python/agents/websearch-agent.py) | [📖](https://docs.praison.ai/docs/agents/websearch) |
753
767
  | Built-in Search Tools | [Example](examples/python/agents/websearch-agent.py) | [📖](https://docs.praison.ai/docs/tools/tavily) |
754
- | Unified Web Search | [Example](src/praisonai-agents/examples/web_search_example.py) | [📖](https://docs.praison.ai/docs/tools/web-search) |
768
+ | Unified Web Search | [Example](examples/python/web_search_example.py) | [📖](https://docs.praison.ai/docs/tools/web-search) |
755
769
  | Web Fetch (Anthropic) | [Example](examples/python/agents/web-fetch-agent.py) | [📖](https://docs.praison.ai/docs/features/model-capabilities) |
756
770
 
757
771
  </details>
@@ -61,14 +61,15 @@ praisonai/audit/__init__.py
61
61
  praisonai/audit/agent_centric.py
62
62
  praisonai/bots/__init__.py
63
63
  praisonai/bots/_ack.py
64
+ praisonai/bots/_admission.py
64
65
  praisonai/bots/_approval.py
65
66
  praisonai/bots/_approval_base.py
66
67
  praisonai/bots/_approval_store.py
67
- praisonai/bots/_auth.py
68
68
  praisonai/bots/_chunk.py
69
69
  praisonai/bots/_commands.py
70
70
  praisonai/bots/_config_schema.py
71
71
  praisonai/bots/_correlation.py
72
+ praisonai/bots/_dead_targets.py
72
73
  praisonai/bots/_debounce.py
73
74
  praisonai/bots/_defaults.py
74
75
  praisonai/bots/_delivery.py
@@ -82,14 +83,18 @@ praisonai/bots/_ingress.py
82
83
  praisonai/bots/_media.py
83
84
  praisonai/bots/_metrics.py
84
85
  praisonai/bots/_mirror.py
86
+ praisonai/bots/_outbound_media.py
85
87
  praisonai/bots/_outbound_messenger.py
88
+ praisonai/bots/_outbound_resilience.py
86
89
  praisonai/bots/_outbox.py
87
90
  praisonai/bots/_pairing_ui.py
88
91
  praisonai/bots/_presentation_approval.py
92
+ praisonai/bots/_presentation_approval_backend.py
89
93
  praisonai/bots/_presentation_renderer.py
90
94
  praisonai/bots/_protocol_mixin.py
91
95
  praisonai/bots/_rate_limit.py
92
96
  praisonai/bots/_registry.py
97
+ praisonai/bots/_relay_adapter.py
93
98
  praisonai/bots/_reset_policy.py
94
99
  praisonai/bots/_resilience.py
95
100
  praisonai/bots/_run_control.py
@@ -351,14 +356,10 @@ praisonai/cli/features/output_style.py
351
356
  praisonai/cli/features/package.py
352
357
  praisonai/cli/features/performance.py
353
358
  praisonai/cli/features/persistence.py
354
- praisonai/cli/features/plugin_cli.py
355
- praisonai/cli/features/profile.py
356
- praisonai/cli/features/profiling.py
357
359
  praisonai/cli/features/recipe.py
358
360
  praisonai/cli/features/recipe_creator.py
359
361
  praisonai/cli/features/recipe_optimizer.py
360
362
  praisonai/cli/features/recipe_prompts.py
361
- praisonai/cli/features/recipes.py
362
363
  praisonai/cli/features/registry.py
363
364
  praisonai/cli/features/repo_map.py
364
365
  praisonai/cli/features/router.py
@@ -368,6 +369,7 @@ praisonai/cli/features/sandbox_executor.py
368
369
  praisonai/cli/features/sdk_knowledge.py
369
370
  praisonai/cli/features/serve.py
370
371
  praisonai/cli/features/session.py
372
+ praisonai/cli/features/session_checkpoints.py
371
373
  praisonai/cli/features/skills.py
372
374
  praisonai/cli/features/slash_commands.py
373
375
  praisonai/cli/features/telemetry.py
@@ -548,17 +550,20 @@ praisonai/flow/components/__init__.py
548
550
  praisonai/flow/components/PraisonAI/praisonai_agent.py
549
551
  praisonai/flow/components/PraisonAI/praisonai_agents.py
550
552
  praisonai/framework_adapters/__init__.py
553
+ praisonai/framework_adapters/_config_builder.py
551
554
  praisonai/framework_adapters/autogen_adapter.py
552
555
  praisonai/framework_adapters/base.py
553
556
  praisonai/framework_adapters/crewai_adapter.py
554
557
  praisonai/framework_adapters/praisonai_adapter.py
555
558
  praisonai/framework_adapters/registry.py
556
559
  praisonai/framework_adapters/validators.py
560
+ praisonai/framework_adapters/workflow_framework.py
557
561
  praisonai/gateway/__init__.py
558
562
  praisonai/gateway/auth.py
559
563
  praisonai/gateway/client.py
560
564
  praisonai/gateway/cookie_auth.py
561
565
  praisonai/gateway/exec_approval.py
566
+ praisonai/gateway/forensics.py
562
567
  praisonai/gateway/gateway_approval.py
563
568
  praisonai/gateway/health_monitor.py
564
569
  praisonai/gateway/home_channels.py
@@ -789,7 +794,6 @@ praisonai/scheduler/blueprint_catalogue.py
789
794
  praisonai/scheduler/condition_gate.py
790
795
  praisonai/scheduler/daemon_manager.py
791
796
  praisonai/scheduler/deployment.py
792
- praisonai/scheduler/enhanced_executor.py
793
797
  praisonai/scheduler/executor.py
794
798
  praisonai/scheduler/run_policy.py
795
799
  praisonai/scheduler/shared.py
@@ -1,14 +1,16 @@
1
1
  rich>=13.7
2
2
  markdown>=3.5
3
3
  pyparsing>=3.0.0
4
- praisonaiagents>=1.6.82
4
+ praisonaiagents>=1.6.95
5
5
  python-dotenv>=0.19.0
6
6
  litellm<2,>=1.83.14
7
7
  PyYAML>=6.0
8
8
  mcp>=1.20.0
9
- typer>=0.9.0
9
+ typer>=0.12.0
10
+ click>=8.4.2
10
11
  textual>=0.47.0
11
12
  pydantic>=2.0.0
13
+ toml>=0.10.2
12
14
 
13
15
  [acp]
14
16
  agent-client-protocol>=0.7.0
@@ -141,6 +143,10 @@ pytest-asyncio>=0.21.0
141
143
  [dynamodb]
142
144
  boto3>=1.35.0
143
145
 
146
+ [flow]
147
+ langflow>=1.0.0
148
+ requests>=2.31.0
149
+
144
150
  [gradio]
145
151
  gradio>=4.26.0
146
152
 
@@ -150,6 +156,13 @@ langextract>=1.0.0
150
156
  [langfuse]
151
157
  langfuse>=3.0.0
152
158
 
159
+ [langgraph]
160
+ langgraph<2,>=0.2.0
161
+ langgraph-prebuilt<2,>=0.2.0
162
+ langchain-core<2,>=0.3.0
163
+ langchain-openai<2,>=0.2.0
164
+ praisonai-tools>=0.1.0
165
+
153
166
  [lite]
154
167
 
155
168
  [modal]
@@ -167,6 +180,10 @@ psycopg2-binary>=2.9.0
167
180
  [observability]
168
181
  langfuse>=3.0.0
169
182
 
183
+ [openai-agents]
184
+ praisonai-frameworks[openai-agents]>=0.1.3
185
+ praisonai-tools>=0.1.0
186
+
170
187
  [os]
171
188
  fastapi>=0.115.0
172
189
  uvicorn>=0.34.0
@@ -568,7 +568,7 @@ praisonai agents.yaml
568
568
  | Query Rewriter Agent | [Example](examples/python/agents/query-rewriter-agent.py) | [📖](https://docs.praison.ai/docs/agents/query-rewriter) |
569
569
  | Native Web Search | [Example](examples/python/agents/websearch-agent.py) | [📖](https://docs.praison.ai/docs/agents/websearch) |
570
570
  | Built-in Search Tools | [Example](examples/python/agents/websearch-agent.py) | [📖](https://docs.praison.ai/docs/tools/tavily) |
571
- | Unified Web Search | [Example](src/praisonai-agents/examples/web_search_example.py) | [📖](https://docs.praison.ai/docs/tools/web-search) |
571
+ | Unified Web Search | [Example](examples/python/web_search_example.py) | [📖](https://docs.praison.ai/docs/tools/web-search) |
572
572
  | Web Fetch (Anthropic) | [Example](examples/python/agents/web-fetch-agent.py) | [📖](https://docs.praison.ai/docs/features/model-capabilities) |
573
573
 
574
574
  </details>
@@ -7,11 +7,13 @@ on every call (which is expensive and breaks multi-agent workflows).
7
7
  """
8
8
  import asyncio
9
9
  import atexit
10
+ import contextlib
11
+ import contextvars
10
12
  import os
11
13
  import threading
12
14
  import concurrent.futures
13
15
  from concurrent.futures import CancelledError as FutureCancelledError, Future
14
- from typing import Awaitable, TypeVar
16
+ from typing import Awaitable, Iterator, Optional, TypeVar
15
17
 
16
18
  T = TypeVar("T")
17
19
 
@@ -25,6 +27,13 @@ class AsyncBridge:
25
27
  self._loop: asyncio.AbstractEventLoop | None = None
26
28
  self._thread: threading.Thread | None = None
27
29
  self._lock = threading.Lock()
30
+ # Permanently-closed flag. Set by ``shutdown(permanent=True)`` for
31
+ # scope-owned bridges so a leaked context (e.g. an ``asyncio.Task`` that
32
+ # copied the ContextVar inside a ``scoped_bridge`` block) cannot silently
33
+ # resurrect an orphaned loop+thread after the scope exits. The shared
34
+ # default is never marked permanent so its only teardown is the atexit
35
+ # hook at process exit.
36
+ self._closed = False
28
37
  # Identity of the thread currently holding ``self._lock``. Set under the
29
38
  # lock by ``get()``/``submit()`` so ``_spawn_locked()`` can verify the
30
39
  # *caller* (not merely *someone*) owns the lock.
@@ -47,6 +56,16 @@ class AsyncBridge:
47
56
  raise AssertionError(
48
57
  "_spawn_locked() must be called while holding self._lock"
49
58
  )
59
+ # Refuse to resurrect a permanently-closed (scope-owned) bridge. This
60
+ # guards the case where a context copied inside ``scoped_bridge`` outlives
61
+ # the ``with`` block and later tries to run work through the now-shut-down
62
+ # bridge: instead of silently starting an orphaned loop+thread that no
63
+ # scope or atexit hook owns, fail loudly.
64
+ if self._closed:
65
+ raise RuntimeError(
66
+ "AsyncBridge has been shut down and cannot be reused; "
67
+ "this usually means a context outlived its scoped_bridge() block"
68
+ )
50
69
  if self._loop is None or self._loop.is_closed():
51
70
  self._loop = asyncio.new_event_loop()
52
71
  self._thread = threading.Thread(
@@ -103,9 +122,22 @@ class AsyncBridge:
103
122
  fut.cancel()
104
123
  raise
105
124
 
106
- def shutdown(self, timeout: float = 5.0) -> None:
125
+ def shutdown(self, timeout: float = 5.0, *, permanent: bool = False) -> None:
126
+ """Tear down the loop+thread.
127
+
128
+ Args:
129
+ timeout: Seconds to wait for in-flight tasks to cancel and the
130
+ background thread to join.
131
+ permanent: When ``True`` the bridge is marked closed and may not be
132
+ reused; a later ``run_sync``/``submit`` raises ``RuntimeError``
133
+ rather than silently resurrecting an orphaned loop. Used by
134
+ :func:`scoped_bridge` for the bridges it owns. The shared default
135
+ is shut down with ``permanent=False`` so it never poisons callers.
136
+ """
107
137
  # Snapshot loop and thread outside lock to avoid holding lock during wait
108
138
  with self._lock:
139
+ if permanent:
140
+ self._closed = True
109
141
  loop, thread = self._loop, self._thread
110
142
  if loop is None:
111
143
  return
@@ -149,10 +181,67 @@ class AsyncBridge:
149
181
  _BG: AsyncBridge = AsyncBridge()
150
182
 
151
183
 
184
+ # Context-scoped override. When set (via :func:`scoped_bridge`), callers in that
185
+ # context — and any code they transitively invoke, including async tasks that
186
+ # copy the context — resolve to the scoped bridge instead of the shared default.
187
+ # This lets server/gateway/managed callers bind a per-session loop+thread
188
+ # without rewriting internal modules that import ``run_sync`` directly.
189
+ _bridge_var: contextvars.ContextVar[Optional[AsyncBridge]] = contextvars.ContextVar(
190
+ "praisonai_async_bridge", default=None
191
+ )
192
+
193
+
152
194
  def _default_bridge() -> AsyncBridge:
195
+ """Resolve the active bridge: context-scoped override, else shared default."""
196
+ scoped = _bridge_var.get()
197
+ if scoped is not None:
198
+ return scoped
153
199
  return _BG
154
200
 
155
201
 
202
+ def current_bridge() -> AsyncBridge:
203
+ """Return the :class:`AsyncBridge` active in the current context.
204
+
205
+ Returns the bridge bound by an enclosing :func:`scoped_bridge` block, or the
206
+ process-wide shared default when no scope is active. Prefer this over reaching
207
+ for the module-level ``_BG`` so embedders can override the bridge via
208
+ dependency injection.
209
+ """
210
+ return _default_bridge()
211
+
212
+
213
+ @contextlib.contextmanager
214
+ def scoped_bridge(bridge: Optional[AsyncBridge] = None) -> Iterator[AsyncBridge]:
215
+ """Bind a per-scope :class:`AsyncBridge` for the duration of the ``with`` block.
216
+
217
+ Server callers (``praisonai serve``, gateway, managed agents) can isolate a
218
+ session's sync→async work onto its own loop+thread so a stuck coroutine in one
219
+ session does not park the shared default loop for every other session::
220
+
221
+ with scoped_bridge() as bridge:
222
+ run_sync(some_coro()) # uses ``bridge`` instead of the global default
223
+ ...
224
+ # bridge is shut down automatically on exit when created here.
225
+
226
+ Args:
227
+ bridge: An existing bridge to bind. When ``None`` a fresh bridge is created
228
+ for the scope and shut down on exit. A caller-provided bridge is left
229
+ untouched (the caller owns its lifecycle).
230
+ """
231
+ owns = bridge is None
232
+ if bridge is None:
233
+ bridge = AsyncBridge()
234
+ token = _bridge_var.set(bridge)
235
+ try:
236
+ yield bridge
237
+ finally:
238
+ _bridge_var.reset(token)
239
+ if owns:
240
+ # ``permanent=True`` poisons the bridge so a context that copied the
241
+ # ContextVar inside this block cannot resurrect it after we exit.
242
+ bridge.shutdown(permanent=True)
243
+
244
+
156
245
  def _shutdown_default() -> None:
157
246
  """Private process-exit hook: tear down the shared default bridge.
158
247
 
@@ -20,6 +20,29 @@ def _autogen_v4_probe() -> bool:
20
20
  return (importlib.util.find_spec("autogen_agentchat") is not None
21
21
  and importlib.util.find_spec("autogen_ext") is not None)
22
22
 
23
+ def _langgraph_probe() -> bool:
24
+ # find_spec on a submodule imports the parent package; guard against
25
+ # import-time errors in langgraph/its deps crashing the availability check.
26
+ try:
27
+ if importlib.util.find_spec("langgraph") is None:
28
+ return False
29
+ return importlib.util.find_spec("langgraph.prebuilt") is not None
30
+ except Exception:
31
+ return False
32
+
33
+ def _openai_agents_probe() -> bool:
34
+ try:
35
+ importlib.metadata.distribution("openai-agents")
36
+ except importlib.metadata.PackageNotFoundError:
37
+ return False
38
+ if importlib.util.find_spec("agents") is None:
39
+ return False
40
+ try:
41
+ from agents import Runner # noqa: F401
42
+ return True
43
+ except ImportError:
44
+ return False
45
+
23
46
  _PROBES: dict[str, Callable[[], bool]] = {
24
47
  "crewai": lambda: importlib.util.find_spec("crewai") is not None,
25
48
  "autogen": lambda: importlib.util.find_spec("autogen") is not None,
@@ -40,6 +63,8 @@ _PROBES: dict[str, Callable[[], bool]] = {
40
63
  "pinecone": lambda: importlib.util.find_spec("pinecone") is not None,
41
64
  "qdrant_client": lambda: importlib.util.find_spec("qdrant_client") is not None,
42
65
  "weaviate": lambda: importlib.util.find_spec("weaviate") is not None,
66
+ "langgraph": _langgraph_probe,
67
+ "openai_agents": _openai_agents_probe,
43
68
  }
44
69
 
45
70
  def is_available(name: str) -> bool:
@@ -80,10 +80,6 @@ def __dir__():
80
80
 
81
81
 
82
82
 
83
- _TOOL_TIMEOUT_EXECUTOR = None
84
- # Eagerly initialised so concurrent first-callers always share one lock (and
85
- # therefore one executor); a lazily-created lock would itself race.
86
- _TOOL_TIMEOUT_EXECUTOR_LOCK = threading.Lock()
87
83
  _DEFAULT_TOOL_TIMEOUT_WORKERS = 32
88
84
 
89
85
 
@@ -113,33 +109,15 @@ def _resolve_tool_timeout_workers():
113
109
  return workers
114
110
 
115
111
 
116
- def _get_tool_timeout_executor():
117
- """Lazily create a bounded, observable thread pool for sync tool timeouts.
118
-
119
- Using a bounded pool (instead of unbounded bare daemon threads) means any
120
- background work left running after a timeout is at least capped and named,
121
- so operators can enumerate it rather than accumulating phantom threads.
122
- """
123
- global _TOOL_TIMEOUT_EXECUTOR
124
- import concurrent.futures
125
-
126
- with _TOOL_TIMEOUT_EXECUTOR_LOCK:
127
- if _TOOL_TIMEOUT_EXECUTOR is None:
128
- _TOOL_TIMEOUT_EXECUTOR = concurrent.futures.ThreadPoolExecutor(
129
- max_workers=_resolve_tool_timeout_workers(),
130
- thread_name_prefix="praisonai-tool-timeout",
131
- )
132
- return _TOOL_TIMEOUT_EXECUTOR
133
-
134
-
135
- def _wrap_with_timeout(tool, timeout_seconds: float):
112
+ def _wrap_with_timeout(tool, timeout_seconds: float, executor_factory):
136
113
  """Enforce a per-call timeout on a tool, sync or async.
137
114
 
138
115
  For async tools the underlying task is cancelled on timeout. For sync tools
139
- the call runs in a bounded thread pool; on timeout we best-effort cancel the
140
- future and log a warning. Note: a synchronous call that has already started
141
- cannot be forcibly interrupted, so background work may continue executing
142
- the returned payload flags this with ``background_work_may_continue``.
116
+ the call runs in an instance-owned bounded thread pool obtained from
117
+ ``executor_factory``; on timeout we best-effort cancel the future and log a
118
+ warning. Note: a synchronous call that has already started cannot be forcibly
119
+ interrupted, so background work may continue executing — the returned payload
120
+ flags this with ``background_work_may_continue``.
143
121
  """
144
122
  if timeout_seconds is None or timeout_seconds <= 0 or not callable(tool):
145
123
  return tool
@@ -165,7 +143,7 @@ def _wrap_with_timeout(tool, timeout_seconds: float):
165
143
 
166
144
  @functools.wraps(tool)
167
145
  def _sync_wrapped(*args, **kwargs):
168
- executor = _get_tool_timeout_executor()
146
+ executor = executor_factory()
169
147
  future = executor.submit(tool, *args, **kwargs)
170
148
  try:
171
149
  return future.result(timeout=timeout_seconds)
@@ -235,7 +213,7 @@ def _resolve_yaml_cli_backend(cli_backend_config, logger):
235
213
 
236
214
 
237
215
  class AgentsGenerator:
238
- def __init__(self, agent_file, framework, config_list, log_level=None, agent_callback=None, task_callback=None, agent_yaml=None, tools=None, cli_config=None, adapter_registry=None):
216
+ def __init__(self, agent_file, framework, config_list, log_level=None, agent_callback=None, task_callback=None, agent_yaml=None, tools=None, cli_config=None, adapter_registry=None, tool_timeout_executor=None):
239
217
  """
240
218
  Initialize the AgentsGenerator object.
241
219
 
@@ -289,11 +267,56 @@ class AgentsGenerator:
289
267
  # DI-friendly: tests/multi-tenant runtimes pass their own registry;
290
268
  # CLI users get the process default.
291
269
  self._adapter_registry = adapter_registry or _get_default_adapter_registry()
270
+
271
+ # Instance-owned tool-timeout executor so multi-tenant runtimes can scope
272
+ # it per session (no process-wide singleton). Created lazily on first use
273
+ # to avoid spawning threads for generators that never time a sync tool.
274
+ # A caller-supplied executor is treated as borrowed and never shut down.
275
+ self._tool_timeout_executor = tool_timeout_executor
276
+ self._owns_tool_timeout_executor = tool_timeout_executor is None
277
+ self._tool_timeout_executor_lock = threading.Lock()
292
278
 
293
279
  # Defer framework adapter creation until YAML is loaded
294
280
  # This fixes the issue where empty framework string fails before YAML framework is read
295
281
  self.framework_adapter = None
296
282
 
283
+ def _get_tool_timeout_executor(self):
284
+ """Lazily create this generator's bounded sync-tool-timeout thread pool.
285
+
286
+ The pool is owned by the instance (not a module global), so concurrent
287
+ sessions / tenants never share workers and a stuck tool in one session
288
+ cannot starve another.
289
+ """
290
+ import concurrent.futures
291
+
292
+ with self._tool_timeout_executor_lock:
293
+ if self._tool_timeout_executor is None:
294
+ self._tool_timeout_executor = concurrent.futures.ThreadPoolExecutor(
295
+ max_workers=_resolve_tool_timeout_workers(),
296
+ thread_name_prefix=f"praisonai-tool-timeout-{id(self):x}",
297
+ )
298
+ # Capture the reference inside the lock so a concurrent close() can
299
+ # never null the attribute out between the check and the return.
300
+ return self._tool_timeout_executor
301
+
302
+ def _wrap_tool_with_timeout(self, tool, timeout_seconds):
303
+ """Wrap a tool with this generator's instance-owned timeout executor."""
304
+ return _wrap_with_timeout(tool, timeout_seconds, self._get_tool_timeout_executor)
305
+
306
+ def close(self):
307
+ """Release the owned tool-timeout executor; safe to call repeatedly."""
308
+ with self._tool_timeout_executor_lock:
309
+ if self._owns_tool_timeout_executor and self._tool_timeout_executor is not None:
310
+ self._tool_timeout_executor.shutdown(wait=False, cancel_futures=True)
311
+ self._tool_timeout_executor = None
312
+
313
+ def __enter__(self):
314
+ return self
315
+
316
+ def __exit__(self, exc_type, exc, tb):
317
+ self.close()
318
+ return False
319
+
297
320
  def _get_framework_adapter(self, framework: str) -> FrameworkAdapter:
298
321
  """
299
322
  Get the appropriate framework adapter for the given framework.
@@ -339,6 +362,21 @@ class AgentsGenerator:
339
362
  # Handle agent-level overrides using unified approach
340
363
  agent_level_fields = ['tool_timeout', 'tool_retry_policy', 'planning_tools', 'autonomy', 'planning', 'web', 'web_fetch']
341
364
  agent_overrides = {k: v for k, v in cli_config.items() if k in agent_level_fields}
365
+
366
+ if "tool_retry_policy" in agent_overrides:
367
+ policy = agent_overrides["tool_retry_policy"]
368
+ try:
369
+ from praisonaiagents.tools.retry import RetryPolicy
370
+
371
+ if isinstance(policy, RetryPolicy):
372
+ agent_overrides["tool_retry_policy"] = {
373
+ "max_attempts": policy.max_attempts,
374
+ "delay": policy.initial_delay_ms / 1000.0,
375
+ "backoff_factor": policy.backoff_factor,
376
+ "max_delay": policy.max_delay_ms / 1000.0,
377
+ }
378
+ except (ImportError, AttributeError, TypeError):
379
+ pass
342
380
 
343
381
  # Handle handoff configuration - convert CLI flags into handoff dict
344
382
  handoff_fields = ['handoff', 'handoff_policy', 'handoff_timeout', 'handoff_max_depth', 'handoff_max_concurrent', 'handoff_detect_cycles']
@@ -708,6 +746,16 @@ class AgentsGenerator:
708
746
  # Ensure name is present
709
747
  if 'name' not in config:
710
748
  config['name'] = config.get('topic', 'Workflow')
749
+
750
+ from .framework_adapters.workflow_framework import (
751
+ framework_from_config,
752
+ validate_workflow_framework,
753
+ )
754
+ effective_framework = (self.framework or framework_from_config(config))
755
+ validate_workflow_framework(
756
+ effective_framework,
757
+ source="agents.yaml workflow section",
758
+ )
711
759
 
712
760
  # Pass model from config_list to workflow as default_llm
713
761
  if self.config_list and self.config_list[0].get('model'):
@@ -763,6 +811,16 @@ class AgentsGenerator:
763
811
  # Ensure name is present (YAMLWorkflowParser handles roles->agents conversion)
764
812
  if 'name' not in config:
765
813
  config['name'] = config.get('topic', 'Workflow')
814
+
815
+ from .framework_adapters.workflow_framework import (
816
+ framework_from_config,
817
+ validate_workflow_framework,
818
+ )
819
+ effective_framework = (self.framework or framework_from_config(config))
820
+ validate_workflow_framework(
821
+ effective_framework,
822
+ source="agents.yaml workflow section",
823
+ )
766
824
 
767
825
  # Pass model from config_list to workflow as default_llm
768
826
  if self.config_list and self.config_list[0].get('model'):