praisonai-code 0.0.1__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 (314) hide show
  1. praisonai_code-0.0.1/PKG-INFO +80 -0
  2. praisonai_code-0.0.1/README.md +59 -0
  3. praisonai_code-0.0.1/praisonai_code/__init__.py +17 -0
  4. praisonai_code-0.0.1/praisonai_code/cli/__init__.py +12 -0
  5. praisonai_code-0.0.1/praisonai_code/cli/_forward_shim.py +10 -0
  6. praisonai_code-0.0.1/praisonai_code/cli/_paths.py +88 -0
  7. praisonai_code-0.0.1/praisonai_code/cli/_warnings.py +58 -0
  8. praisonai_code-0.0.1/praisonai_code/cli/app.py +757 -0
  9. praisonai_code-0.0.1/praisonai_code/cli/approval_backend.py +272 -0
  10. praisonai_code-0.0.1/praisonai_code/cli/branding.py +94 -0
  11. praisonai_code-0.0.1/praisonai_code/cli/commands/__init__.py +114 -0
  12. praisonai_code-0.0.1/praisonai_code/cli/commands/acp.py +80 -0
  13. praisonai_code-0.0.1/praisonai_code/cli/commands/agent.py +116 -0
  14. praisonai_code-0.0.1/praisonai_code/cli/commands/agents.py +80 -0
  15. praisonai_code-0.0.1/praisonai_code/cli/commands/app.py +139 -0
  16. praisonai_code-0.0.1/praisonai_code/cli/commands/attach.py +95 -0
  17. praisonai_code-0.0.1/praisonai_code/cli/commands/audit.py +102 -0
  18. praisonai_code-0.0.1/praisonai_code/cli/commands/auth.py +508 -0
  19. praisonai_code-0.0.1/praisonai_code/cli/commands/batch.py +848 -0
  20. praisonai_code-0.0.1/praisonai_code/cli/commands/benchmark.py +286 -0
  21. praisonai_code-0.0.1/praisonai_code/cli/commands/browser.py +299 -0
  22. praisonai_code-0.0.1/praisonai_code/cli/commands/call.py +45 -0
  23. praisonai_code-0.0.1/praisonai_code/cli/commands/chat.py +332 -0
  24. praisonai_code-0.0.1/praisonai_code/cli/commands/checkpoint.py +170 -0
  25. praisonai_code-0.0.1/praisonai_code/cli/commands/code.py +276 -0
  26. praisonai_code-0.0.1/praisonai_code/cli/commands/command.py +114 -0
  27. praisonai_code-0.0.1/praisonai_code/cli/commands/commit.py +47 -0
  28. praisonai_code-0.0.1/praisonai_code/cli/commands/completion.py +333 -0
  29. praisonai_code-0.0.1/praisonai_code/cli/commands/config.py +681 -0
  30. praisonai_code-0.0.1/praisonai_code/cli/commands/context.py +414 -0
  31. praisonai_code-0.0.1/praisonai_code/cli/commands/daemon.py +203 -0
  32. praisonai_code-0.0.1/praisonai_code/cli/commands/debug.py +142 -0
  33. praisonai_code-0.0.1/praisonai_code/cli/commands/deploy.py +71 -0
  34. praisonai_code-0.0.1/praisonai_code/cli/commands/diag.py +55 -0
  35. praisonai_code-0.0.1/praisonai_code/cli/commands/docs.py +1575 -0
  36. praisonai_code-0.0.1/praisonai_code/cli/commands/doctor.py +332 -0
  37. praisonai_code-0.0.1/praisonai_code/cli/commands/endpoints.py +51 -0
  38. praisonai_code-0.0.1/praisonai_code/cli/commands/environment.py +179 -0
  39. praisonai_code-0.0.1/praisonai_code/cli/commands/eval.py +131 -0
  40. praisonai_code-0.0.1/praisonai_code/cli/commands/examples.py +953 -0
  41. praisonai_code-0.0.1/praisonai_code/cli/commands/flow.py +436 -0
  42. praisonai_code-0.0.1/praisonai_code/cli/commands/github.py +752 -0
  43. praisonai_code-0.0.1/praisonai_code/cli/commands/hooks.py +74 -0
  44. praisonai_code-0.0.1/praisonai_code/cli/commands/init.py +174 -0
  45. praisonai_code-0.0.1/praisonai_code/cli/commands/knowledge.py +440 -0
  46. praisonai_code-0.0.1/praisonai_code/cli/commands/langextract.py +120 -0
  47. praisonai_code-0.0.1/praisonai_code/cli/commands/langfuse.py +984 -0
  48. praisonai_code-0.0.1/praisonai_code/cli/commands/loop.py +211 -0
  49. praisonai_code-0.0.1/praisonai_code/cli/commands/lsp.py +112 -0
  50. praisonai_code-0.0.1/praisonai_code/cli/commands/managed.py +659 -0
  51. praisonai_code-0.0.1/praisonai_code/cli/commands/mcp.py +763 -0
  52. praisonai_code-0.0.1/praisonai_code/cli/commands/memory.py +298 -0
  53. praisonai_code-0.0.1/praisonai_code/cli/commands/models.py +264 -0
  54. praisonai_code-0.0.1/praisonai_code/cli/commands/n8n.py +326 -0
  55. praisonai_code-0.0.1/praisonai_code/cli/commands/obs.py +19 -0
  56. praisonai_code-0.0.1/praisonai_code/cli/commands/package.py +76 -0
  57. praisonai_code-0.0.1/praisonai_code/cli/commands/paths.py +106 -0
  58. praisonai_code-0.0.1/praisonai_code/cli/commands/permissions.py +272 -0
  59. praisonai_code-0.0.1/praisonai_code/cli/commands/plugins.py +609 -0
  60. praisonai_code-0.0.1/praisonai_code/cli/commands/port.py +530 -0
  61. praisonai_code-0.0.1/praisonai_code/cli/commands/profile.py +466 -0
  62. praisonai_code-0.0.1/praisonai_code/cli/commands/publish.py +193 -0
  63. praisonai_code-0.0.1/praisonai_code/cli/commands/rag.py +913 -0
  64. praisonai_code-0.0.1/praisonai_code/cli/commands/realtime.py +52 -0
  65. praisonai_code-0.0.1/praisonai_code/cli/commands/recipe.py +684 -0
  66. praisonai_code-0.0.1/praisonai_code/cli/commands/registry.py +59 -0
  67. praisonai_code-0.0.1/praisonai_code/cli/commands/replay.py +830 -0
  68. praisonai_code-0.0.1/praisonai_code/cli/commands/research.py +49 -0
  69. praisonai_code-0.0.1/praisonai_code/cli/commands/retrieval.py +377 -0
  70. praisonai_code-0.0.1/praisonai_code/cli/commands/rules.py +71 -0
  71. praisonai_code-0.0.1/praisonai_code/cli/commands/run.py +1573 -0
  72. praisonai_code-0.0.1/praisonai_code/cli/commands/sandbox.py +371 -0
  73. praisonai_code-0.0.1/praisonai_code/cli/commands/schedule.py +529 -0
  74. praisonai_code-0.0.1/praisonai_code/cli/commands/serve.py +690 -0
  75. praisonai_code-0.0.1/praisonai_code/cli/commands/session.py +450 -0
  76. praisonai_code-0.0.1/praisonai_code/cli/commands/setup.py +174 -0
  77. praisonai_code-0.0.1/praisonai_code/cli/commands/skills.py +545 -0
  78. praisonai_code-0.0.1/praisonai_code/cli/commands/standardise.py +711 -0
  79. praisonai_code-0.0.1/praisonai_code/cli/commands/templates.py +54 -0
  80. praisonai_code-0.0.1/praisonai_code/cli/commands/test.py +558 -0
  81. praisonai_code-0.0.1/praisonai_code/cli/commands/todo.py +74 -0
  82. praisonai_code-0.0.1/praisonai_code/cli/commands/tools.py +205 -0
  83. praisonai_code-0.0.1/praisonai_code/cli/commands/traces.py +145 -0
  84. praisonai_code-0.0.1/praisonai_code/cli/commands/tracker.py +852 -0
  85. praisonai_code-0.0.1/praisonai_code/cli/commands/train.py +613 -0
  86. praisonai_code-0.0.1/praisonai_code/cli/commands/ui.py +172 -0
  87. praisonai_code-0.0.1/praisonai_code/cli/commands/up.py +354 -0
  88. praisonai_code-0.0.1/praisonai_code/cli/commands/validate.py +291 -0
  89. praisonai_code-0.0.1/praisonai_code/cli/commands/version.py +101 -0
  90. praisonai_code-0.0.1/praisonai_code/cli/commands/workflow.py +97 -0
  91. praisonai_code-0.0.1/praisonai_code/cli/config_loader.py +437 -0
  92. praisonai_code-0.0.1/praisonai_code/cli/configuration/__init__.py +27 -0
  93. praisonai_code-0.0.1/praisonai_code/cli/configuration/config.schema.json +57 -0
  94. praisonai_code-0.0.1/praisonai_code/cli/configuration/credentials.py +446 -0
  95. praisonai_code-0.0.1/praisonai_code/cli/configuration/loader.py +364 -0
  96. praisonai_code-0.0.1/praisonai_code/cli/configuration/model_resolver.py +161 -0
  97. praisonai_code-0.0.1/praisonai_code/cli/configuration/oauth.py +389 -0
  98. praisonai_code-0.0.1/praisonai_code/cli/configuration/paths.py +224 -0
  99. praisonai_code-0.0.1/praisonai_code/cli/configuration/resolver.py +687 -0
  100. praisonai_code-0.0.1/praisonai_code/cli/configuration/schema.py +317 -0
  101. praisonai_code-0.0.1/praisonai_code/cli/execution/__init__.py +99 -0
  102. praisonai_code-0.0.1/praisonai_code/cli/execution/core.py +208 -0
  103. praisonai_code-0.0.1/praisonai_code/cli/execution/profiler.py +898 -0
  104. praisonai_code-0.0.1/praisonai_code/cli/execution/request.py +85 -0
  105. praisonai_code-0.0.1/praisonai_code/cli/execution/result.py +74 -0
  106. praisonai_code-0.0.1/praisonai_code/cli/fallback_schema.py +416 -0
  107. praisonai_code-0.0.1/praisonai_code/cli/features/__init__.py +278 -0
  108. praisonai_code-0.0.1/praisonai_code/cli/features/_endpoint_registry.py +64 -0
  109. praisonai_code-0.0.1/praisonai_code/cli/features/_search_registry.py +43 -0
  110. praisonai_code-0.0.1/praisonai_code/cli/features/acp.py +236 -0
  111. praisonai_code-0.0.1/praisonai_code/cli/features/action_orchestrator.py +576 -0
  112. praisonai_code-0.0.1/praisonai_code/cli/features/agent_scheduler.py +773 -0
  113. praisonai_code-0.0.1/praisonai_code/cli/features/agent_tools.py +603 -0
  114. praisonai_code-0.0.1/praisonai_code/cli/features/agents.py +397 -0
  115. praisonai_code-0.0.1/praisonai_code/cli/features/at_mentions.py +471 -0
  116. praisonai_code-0.0.1/praisonai_code/cli/features/audit_cli.py +270 -0
  117. praisonai_code-0.0.1/praisonai_code/cli/features/auto_memory.py +182 -0
  118. praisonai_code-0.0.1/praisonai_code/cli/features/auto_mode.py +552 -0
  119. praisonai_code-0.0.1/praisonai_code/cli/features/autonomy_mode.py +546 -0
  120. praisonai_code-0.0.1/praisonai_code/cli/features/background.py +356 -0
  121. praisonai_code-0.0.1/praisonai_code/cli/features/base.py +168 -0
  122. praisonai_code-0.0.1/praisonai_code/cli/features/benchmark.py +1462 -0
  123. praisonai_code-0.0.1/praisonai_code/cli/features/capabilities.py +1326 -0
  124. praisonai_code-0.0.1/praisonai_code/cli/features/checkpoints.py +345 -0
  125. praisonai_code-0.0.1/praisonai_code/cli/features/cli_profiler.py +335 -0
  126. praisonai_code-0.0.1/praisonai_code/cli/features/code_intelligence.py +666 -0
  127. praisonai_code-0.0.1/praisonai_code/cli/features/compaction.py +294 -0
  128. praisonai_code-0.0.1/praisonai_code/cli/features/compare.py +534 -0
  129. praisonai_code-0.0.1/praisonai_code/cli/features/config_hierarchy.py +366 -0
  130. praisonai_code-0.0.1/praisonai_code/cli/features/context_manager.py +597 -0
  131. praisonai_code-0.0.1/praisonai_code/cli/features/cost_tracker.py +514 -0
  132. praisonai_code-0.0.1/praisonai_code/cli/features/csv_test_runner.py +736 -0
  133. praisonai_code-0.0.1/praisonai_code/cli/features/custom_definitions.py +790 -0
  134. praisonai_code-0.0.1/praisonai_code/cli/features/debug.py +810 -0
  135. praisonai_code-0.0.1/praisonai_code/cli/features/deploy.py +605 -0
  136. praisonai_code-0.0.1/praisonai_code/cli/features/diag.py +289 -0
  137. praisonai_code-0.0.1/praisonai_code/cli/features/display_jsonl.py +173 -0
  138. praisonai_code-0.0.1/praisonai_code/cli/features/doctor/__init__.py +63 -0
  139. praisonai_code-0.0.1/praisonai_code/cli/features/doctor/checks/__init__.py +29 -0
  140. praisonai_code-0.0.1/praisonai_code/cli/features/doctor/checks/acp_checks.py +220 -0
  141. praisonai_code-0.0.1/praisonai_code/cli/features/doctor/checks/bot_checks.py +340 -0
  142. praisonai_code-0.0.1/praisonai_code/cli/features/doctor/checks/config_checks.py +373 -0
  143. praisonai_code-0.0.1/praisonai_code/cli/features/doctor/checks/db_checks.py +366 -0
  144. praisonai_code-0.0.1/praisonai_code/cli/features/doctor/checks/env_checks.py +637 -0
  145. praisonai_code-0.0.1/praisonai_code/cli/features/doctor/checks/gateway_checks.py +387 -0
  146. praisonai_code-0.0.1/praisonai_code/cli/features/doctor/checks/lsp_checks.py +231 -0
  147. praisonai_code-0.0.1/praisonai_code/cli/features/doctor/checks/mcp_checks.py +367 -0
  148. praisonai_code-0.0.1/praisonai_code/cli/features/doctor/checks/memory_checks.py +268 -0
  149. praisonai_code-0.0.1/praisonai_code/cli/features/doctor/checks/network_checks.py +251 -0
  150. praisonai_code-0.0.1/praisonai_code/cli/features/doctor/checks/obs_checks.py +328 -0
  151. praisonai_code-0.0.1/praisonai_code/cli/features/doctor/checks/packaging_checks.py +422 -0
  152. praisonai_code-0.0.1/praisonai_code/cli/features/doctor/checks/performance_checks.py +235 -0
  153. praisonai_code-0.0.1/praisonai_code/cli/features/doctor/checks/permissions_checks.py +259 -0
  154. praisonai_code-0.0.1/praisonai_code/cli/features/doctor/checks/runtime_checks.py +650 -0
  155. praisonai_code-0.0.1/praisonai_code/cli/features/doctor/checks/runtime_migration_checks.py +220 -0
  156. praisonai_code-0.0.1/praisonai_code/cli/features/doctor/checks/selftest_checks.py +322 -0
  157. praisonai_code-0.0.1/praisonai_code/cli/features/doctor/checks/serve_checks.py +426 -0
  158. praisonai_code-0.0.1/praisonai_code/cli/features/doctor/checks/skills_checks.py +327 -0
  159. praisonai_code-0.0.1/praisonai_code/cli/features/doctor/checks/tools_checks.py +371 -0
  160. praisonai_code-0.0.1/praisonai_code/cli/features/doctor/engine.py +266 -0
  161. praisonai_code-0.0.1/praisonai_code/cli/features/doctor/formatters.py +377 -0
  162. praisonai_code-0.0.1/praisonai_code/cli/features/doctor/handler.py +564 -0
  163. praisonai_code-0.0.1/praisonai_code/cli/features/doctor/models.py +276 -0
  164. praisonai_code-0.0.1/praisonai_code/cli/features/doctor/registry.py +239 -0
  165. praisonai_code-0.0.1/praisonai_code/cli/features/endpoints.py +1016 -0
  166. praisonai_code-0.0.1/praisonai_code/cli/features/eval.py +559 -0
  167. praisonai_code-0.0.1/praisonai_code/cli/features/examples.py +707 -0
  168. praisonai_code-0.0.1/praisonai_code/cli/features/external_agents.py +231 -0
  169. praisonai_code-0.0.1/praisonai_code/cli/features/fast_context.py +410 -0
  170. praisonai_code-0.0.1/praisonai_code/cli/features/file_history.py +320 -0
  171. praisonai_code-0.0.1/praisonai_code/cli/features/flow_display.py +566 -0
  172. praisonai_code-0.0.1/praisonai_code/cli/features/git_attribution.py +159 -0
  173. praisonai_code-0.0.1/praisonai_code/cli/features/git_integration.py +651 -0
  174. praisonai_code-0.0.1/praisonai_code/cli/features/guardrail.py +171 -0
  175. praisonai_code-0.0.1/praisonai_code/cli/features/handoff.py +252 -0
  176. praisonai_code-0.0.1/praisonai_code/cli/features/hooks.py +583 -0
  177. praisonai_code-0.0.1/praisonai_code/cli/features/hybrid_workflow.py +391 -0
  178. praisonai_code-0.0.1/praisonai_code/cli/features/image.py +384 -0
  179. praisonai_code-0.0.1/praisonai_code/cli/features/interactive_core_headless.py +450 -0
  180. praisonai_code-0.0.1/praisonai_code/cli/features/interactive_runtime.py +600 -0
  181. praisonai_code-0.0.1/praisonai_code/cli/features/interactive_test_harness.py +537 -0
  182. praisonai_code-0.0.1/praisonai_code/cli/features/interactive_tools.py +428 -0
  183. praisonai_code-0.0.1/praisonai_code/cli/features/interactive_tui.py +603 -0
  184. praisonai_code-0.0.1/praisonai_code/cli/features/job_workflow.py +906 -0
  185. praisonai_code-0.0.1/praisonai_code/cli/features/jobs.py +632 -0
  186. praisonai_code-0.0.1/praisonai_code/cli/features/knowledge.py +531 -0
  187. praisonai_code-0.0.1/praisonai_code/cli/features/knowledge_cli.py +438 -0
  188. praisonai_code-0.0.1/praisonai_code/cli/features/lite.py +244 -0
  189. praisonai_code-0.0.1/praisonai_code/cli/features/logs.py +200 -0
  190. praisonai_code-0.0.1/praisonai_code/cli/features/lsp_cli.py +225 -0
  191. praisonai_code-0.0.1/praisonai_code/cli/features/lsp_diagnostics.py +185 -0
  192. praisonai_code-0.0.1/praisonai_code/cli/features/mcp.py +344 -0
  193. praisonai_code-0.0.1/praisonai_code/cli/features/message_queue.py +587 -0
  194. praisonai_code-0.0.1/praisonai_code/cli/features/metrics.py +210 -0
  195. praisonai_code-0.0.1/praisonai_code/cli/features/migrate.py +1329 -0
  196. praisonai_code-0.0.1/praisonai_code/cli/features/migration_flow.py +463 -0
  197. praisonai_code-0.0.1/praisonai_code/cli/features/migration_spec.py +276 -0
  198. praisonai_code-0.0.1/praisonai_code/cli/features/n8n.py +703 -0
  199. praisonai_code-0.0.1/praisonai_code/cli/features/observability.py +293 -0
  200. praisonai_code-0.0.1/praisonai_code/cli/features/ollama.py +361 -0
  201. praisonai_code-0.0.1/praisonai_code/cli/features/output_modes.py +155 -0
  202. praisonai_code-0.0.1/praisonai_code/cli/features/output_style.py +273 -0
  203. praisonai_code-0.0.1/praisonai_code/cli/features/package.py +631 -0
  204. praisonai_code-0.0.1/praisonai_code/cli/features/performance.py +308 -0
  205. praisonai_code-0.0.1/praisonai_code/cli/features/persistence.py +636 -0
  206. praisonai_code-0.0.1/praisonai_code/cli/features/profiler/__init__.py +81 -0
  207. praisonai_code-0.0.1/praisonai_code/cli/features/profiler/core.py +558 -0
  208. praisonai_code-0.0.1/praisonai_code/cli/features/profiler/optimizations.py +652 -0
  209. praisonai_code-0.0.1/praisonai_code/cli/features/profiler/suite.py +386 -0
  210. praisonai_code-0.0.1/praisonai_code/cli/features/queue/__init__.py +73 -0
  211. praisonai_code-0.0.1/praisonai_code/cli/features/queue/manager.py +435 -0
  212. praisonai_code-0.0.1/praisonai_code/cli/features/queue/models.py +289 -0
  213. praisonai_code-0.0.1/praisonai_code/cli/features/queue/persistence.py +564 -0
  214. praisonai_code-0.0.1/praisonai_code/cli/features/queue/scheduler.py +529 -0
  215. praisonai_code-0.0.1/praisonai_code/cli/features/queue/worker.py +400 -0
  216. praisonai_code-0.0.1/praisonai_code/cli/features/recipe.py +2187 -0
  217. praisonai_code-0.0.1/praisonai_code/cli/features/recipe_creator.py +996 -0
  218. praisonai_code-0.0.1/praisonai_code/cli/features/recipe_optimizer.py +1364 -0
  219. praisonai_code-0.0.1/praisonai_code/cli/features/recipe_prompts.py +226 -0
  220. praisonai_code-0.0.1/praisonai_code/cli/features/registry.py +229 -0
  221. praisonai_code-0.0.1/praisonai_code/cli/features/repo_map.py +860 -0
  222. praisonai_code-0.0.1/praisonai_code/cli/features/router.py +466 -0
  223. praisonai_code-0.0.1/praisonai_code/cli/features/safe_shell.py +427 -0
  224. praisonai_code-0.0.1/praisonai_code/cli/features/sandbox_cli.py +283 -0
  225. praisonai_code-0.0.1/praisonai_code/cli/features/sandbox_executor.py +536 -0
  226. praisonai_code-0.0.1/praisonai_code/cli/features/sdk_knowledge.py +500 -0
  227. praisonai_code-0.0.1/praisonai_code/cli/features/session.py +222 -0
  228. praisonai_code-0.0.1/praisonai_code/cli/features/session_checkpoints.py +208 -0
  229. praisonai_code-0.0.1/praisonai_code/cli/features/setup/__init__.py +9 -0
  230. praisonai_code-0.0.1/praisonai_code/cli/features/setup/handler.py +355 -0
  231. praisonai_code-0.0.1/praisonai_code/cli/features/setup/templates.py +62 -0
  232. praisonai_code-0.0.1/praisonai_code/cli/features/skills.py +940 -0
  233. praisonai_code-0.0.1/praisonai_code/cli/features/slash_commands.py +692 -0
  234. praisonai_code-0.0.1/praisonai_code/cli/features/telemetry.py +179 -0
  235. praisonai_code-0.0.1/praisonai_code/cli/features/templates.py +1390 -0
  236. praisonai_code-0.0.1/praisonai_code/cli/features/thinking.py +343 -0
  237. praisonai_code-0.0.1/praisonai_code/cli/features/todo.py +334 -0
  238. praisonai_code-0.0.1/praisonai_code/cli/features/tools.py +680 -0
  239. praisonai_code-0.0.1/praisonai_code/cli/features/tui/__init__.py +83 -0
  240. praisonai_code-0.0.1/praisonai_code/cli/features/tui/app.py +871 -0
  241. praisonai_code-0.0.1/praisonai_code/cli/features/tui/cli.py +580 -0
  242. praisonai_code-0.0.1/praisonai_code/cli/features/tui/config.py +150 -0
  243. praisonai_code-0.0.1/praisonai_code/cli/features/tui/debug.py +526 -0
  244. praisonai_code-0.0.1/praisonai_code/cli/features/tui/events.py +99 -0
  245. praisonai_code-0.0.1/praisonai_code/cli/features/tui/mock_provider.py +328 -0
  246. praisonai_code-0.0.1/praisonai_code/cli/features/tui/orchestrator.py +652 -0
  247. praisonai_code-0.0.1/praisonai_code/cli/features/tui/screens/__init__.py +50 -0
  248. praisonai_code-0.0.1/praisonai_code/cli/features/tui/screens/help.py +157 -0
  249. praisonai_code-0.0.1/praisonai_code/cli/features/tui/screens/main.py +568 -0
  250. praisonai_code-0.0.1/praisonai_code/cli/features/tui/screens/queue.py +174 -0
  251. praisonai_code-0.0.1/praisonai_code/cli/features/tui/screens/session.py +124 -0
  252. praisonai_code-0.0.1/praisonai_code/cli/features/tui/screens/settings.py +148 -0
  253. praisonai_code-0.0.1/praisonai_code/cli/features/tui/session_store.py +198 -0
  254. praisonai_code-0.0.1/praisonai_code/cli/features/tui/widgets/__init__.py +56 -0
  255. praisonai_code-0.0.1/praisonai_code/cli/features/tui/widgets/chat.py +263 -0
  256. praisonai_code-0.0.1/praisonai_code/cli/features/tui/widgets/command_popup.py +258 -0
  257. praisonai_code-0.0.1/praisonai_code/cli/features/tui/widgets/composer.py +292 -0
  258. praisonai_code-0.0.1/praisonai_code/cli/features/tui/widgets/file_popup.py +207 -0
  259. praisonai_code-0.0.1/praisonai_code/cli/features/tui/widgets/queue_panel.py +223 -0
  260. praisonai_code-0.0.1/praisonai_code/cli/features/tui/widgets/status.py +181 -0
  261. praisonai_code-0.0.1/praisonai_code/cli/features/tui/widgets/tool_panel.py +307 -0
  262. praisonai_code-0.0.1/praisonai_code/cli/features/wizard.py +289 -0
  263. praisonai_code-0.0.1/praisonai_code/cli/features/workflow.py +802 -0
  264. praisonai_code-0.0.1/praisonai_code/cli/features/yaml_utils.py +321 -0
  265. praisonai_code-0.0.1/praisonai_code/cli/interactive/__init__.py +48 -0
  266. praisonai_code-0.0.1/praisonai_code/cli/interactive/async_tui.py +1218 -0
  267. praisonai_code-0.0.1/praisonai_code/cli/interactive/config.py +139 -0
  268. praisonai_code-0.0.1/praisonai_code/cli/interactive/core.py +618 -0
  269. praisonai_code-0.0.1/praisonai_code/cli/interactive/events.py +131 -0
  270. praisonai_code-0.0.1/praisonai_code/cli/interactive/frontends/__init__.py +31 -0
  271. praisonai_code-0.0.1/praisonai_code/cli/interactive/frontends/rich_frontend.py +462 -0
  272. praisonai_code-0.0.1/praisonai_code/cli/interactive/frontends/textual_frontend.py +157 -0
  273. praisonai_code-0.0.1/praisonai_code/cli/interactive/praison_io.py +502 -0
  274. praisonai_code-0.0.1/praisonai_code/cli/interactive/repl.py +297 -0
  275. praisonai_code-0.0.1/praisonai_code/cli/interactive/split_tui.py +456 -0
  276. praisonai_code-0.0.1/praisonai_code/cli/interactive/tui_app.py +457 -0
  277. praisonai_code-0.0.1/praisonai_code/cli/langfuse_client.py +360 -0
  278. praisonai_code-0.0.1/praisonai_code/cli/main.py +7421 -0
  279. praisonai_code-0.0.1/praisonai_code/cli/output/__init__.py +25 -0
  280. praisonai_code-0.0.1/praisonai_code/cli/output/console.py +456 -0
  281. praisonai_code-0.0.1/praisonai_code/cli/output/event_bridge.py +191 -0
  282. praisonai_code-0.0.1/praisonai_code/cli/schedule_cli.py +54 -0
  283. praisonai_code-0.0.1/praisonai_code/cli/schema_provider.py +23 -0
  284. praisonai_code-0.0.1/praisonai_code/cli/session/__init__.py +16 -0
  285. praisonai_code-0.0.1/praisonai_code/cli/session/resume.py +148 -0
  286. praisonai_code-0.0.1/praisonai_code/cli/session/unified.py +548 -0
  287. praisonai_code-0.0.1/praisonai_code/cli/state/__init__.py +31 -0
  288. praisonai_code-0.0.1/praisonai_code/cli/state/identifiers.py +161 -0
  289. praisonai_code-0.0.1/praisonai_code/cli/state/project_sessions.py +383 -0
  290. praisonai_code-0.0.1/praisonai_code/cli/state/sessions.py +390 -0
  291. praisonai_code-0.0.1/praisonai_code/cli/ui/__init__.py +160 -0
  292. praisonai_code-0.0.1/praisonai_code/cli/ui/config.py +46 -0
  293. praisonai_code-0.0.1/praisonai_code/cli/ui/events.py +61 -0
  294. praisonai_code-0.0.1/praisonai_code/cli/ui/mg_backend.py +342 -0
  295. praisonai_code-0.0.1/praisonai_code/cli/ui/plain.py +133 -0
  296. praisonai_code-0.0.1/praisonai_code/cli/ui/rich_backend.py +162 -0
  297. praisonai_code-0.0.1/praisonai_code/cli/unified_schema.py +655 -0
  298. praisonai_code-0.0.1/praisonai_code/cli/utils/env_utils.py +126 -0
  299. praisonai_code-0.0.1/praisonai_code/cli/utils/project.py +131 -0
  300. praisonai_code-0.0.1/praisonai_code/cli_backends/__init__.py +73 -0
  301. praisonai_code-0.0.1/praisonai_code/cli_backends/claude.py +373 -0
  302. praisonai_code-0.0.1/praisonai_code/cli_backends/registry.py +113 -0
  303. praisonai_code-0.0.1/praisonai_code/runtime/__init__.py +36 -0
  304. praisonai_code-0.0.1/praisonai_code/runtime/__main__.py +81 -0
  305. praisonai_code-0.0.1/praisonai_code/runtime/client.py +131 -0
  306. praisonai_code-0.0.1/praisonai_code/runtime/descriptor.py +209 -0
  307. praisonai_code-0.0.1/praisonai_code/runtime/server.py +356 -0
  308. praisonai_code-0.0.1/praisonai_code.egg-info/PKG-INFO +80 -0
  309. praisonai_code-0.0.1/praisonai_code.egg-info/SOURCES.txt +312 -0
  310. praisonai_code-0.0.1/praisonai_code.egg-info/dependency_links.txt +1 -0
  311. praisonai_code-0.0.1/praisonai_code.egg-info/requires.txt +10 -0
  312. praisonai_code-0.0.1/praisonai_code.egg-info/top_level.txt +1 -0
  313. praisonai_code-0.0.1/pyproject.toml +40 -0
  314. praisonai_code-0.0.1/setup.cfg +4 -0
@@ -0,0 +1,80 @@
1
+ Metadata-Version: 2.4
2
+ Name: praisonai-code
3
+ Version: 0.0.1
4
+ Summary: Agentic terminal CLI for PraisonAI — the terminal-native agent (run, chat, code, runtime, cli backends) extracted from the praisonai wrapper.
5
+ Author: Mervin Praison
6
+ License: MIT
7
+ Project-URL: Homepage, https://docs.praison.ai
8
+ Project-URL: Repository, https://github.com/mervinpraison/PraisonAI
9
+ Requires-Python: <3.15,>=3.10
10
+ Description-Content-Type: text/markdown
11
+ Requires-Dist: praisonaiagents>=1.6.101
12
+ Requires-Dist: rich>=13.7
13
+ Requires-Dist: typer>=0.12.0
14
+ Requires-Dist: click>=8.4.2
15
+ Requires-Dist: textual>=0.47.0
16
+ Requires-Dist: PyYAML>=6.0
17
+ Requires-Dist: python-dotenv>=0.19.0
18
+ Requires-Dist: litellm<2,>=1.83.14
19
+ Requires-Dist: mcp>=1.20.0
20
+ Requires-Dist: pydantic>=2.0.0
21
+
22
+ # praisonai-code
23
+
24
+ Agentic terminal CLI for PraisonAI — the terminal-native agent product
25
+ (`run`, `chat`, `code`, warm runtime, CLI backends) extracted from the
26
+ `praisonai` wrapper.
27
+
28
+ **Analogues:** opencode, codex, gemini-cli.
29
+
30
+ ## Status
31
+
32
+ Migration in progress. `runtime/` and `cli_backends/` have moved into
33
+ `praisonai_code` (step C1); the remaining terminal-agent modules follow
34
+ incrementally in steps C2–C6 (see issue #2512):
35
+
36
+ | Step | Scope |
37
+ |------|-------|
38
+ | C0 | Scaffold |
39
+ | C1 | `runtime/` + `cli_backends/` |
40
+ | C2 | `interactive/`, `execution/`, `ui/`, `output/`, `state/` |
41
+ | C3 | Agentic commands |
42
+ | C4 | Agentic features |
43
+ | C5 | `main.py`, `app.py`, config/session/utils + shims |
44
+ | C6 | Integration gate |
45
+
46
+ - `praisonai_code.runtime` — warm local runtime (daemon + thin client).
47
+ - `praisonai_code.cli_backends` — CLI backend implementations (e.g. Claude Code).
48
+
49
+ ## Dependency rules
50
+
51
+ ```
52
+ praisonai (main) → depends on praisonai-code
53
+ praisonai-code → depends on praisonaiagents (core SDK)
54
+ ```
55
+
56
+ `praisonai-code` also pulls in its own third-party runtime deps (rich, typer,
57
+ click, textual, PyYAML, python-dotenv, litellm, mcp, pydantic — see
58
+ `pyproject.toml`). The rules above govern the **inter-package** direction.
59
+
60
+ > **Migration note (C1):** `cli_backends/registry.py` still imports
61
+ > `PluginRegistry` from the `praisonai` main package (same "keep main-package
62
+ > import" pattern as `runtime/descriptor.py`'s `from praisonai.version`).
63
+ > `praisonai-code` is wired via an editable path dependency and `praisonai` is
64
+ > always present at runtime during migration, so this residual back-import is a
65
+ > deliberate C1 tradeoff to be removed in a later step — not a standalone-publish
66
+ > guarantee yet.
67
+
68
+ Backward compatibility is preserved via PEP 562 shims at the old
69
+ `praisonai.*` import paths, so `pip install praisonai` and
70
+ `from praisonai.cli.main import PraisonAI` keep working unchanged.
71
+
72
+ ## Install (development)
73
+
74
+ ```bash
75
+ pip install -e src/praisonai-code
76
+ python -c "import praisonai_code; print(praisonai_code.__version__)"
77
+ ```
78
+
79
+ `praisonai-code` is **not** published standalone to PyPI during migration;
80
+ `praisonai` remains the user-facing install.
@@ -0,0 +1,59 @@
1
+ # praisonai-code
2
+
3
+ Agentic terminal CLI for PraisonAI — the terminal-native agent product
4
+ (`run`, `chat`, `code`, warm runtime, CLI backends) extracted from the
5
+ `praisonai` wrapper.
6
+
7
+ **Analogues:** opencode, codex, gemini-cli.
8
+
9
+ ## Status
10
+
11
+ Migration in progress. `runtime/` and `cli_backends/` have moved into
12
+ `praisonai_code` (step C1); the remaining terminal-agent modules follow
13
+ incrementally in steps C2–C6 (see issue #2512):
14
+
15
+ | Step | Scope |
16
+ |------|-------|
17
+ | C0 | Scaffold |
18
+ | C1 | `runtime/` + `cli_backends/` |
19
+ | C2 | `interactive/`, `execution/`, `ui/`, `output/`, `state/` |
20
+ | C3 | Agentic commands |
21
+ | C4 | Agentic features |
22
+ | C5 | `main.py`, `app.py`, config/session/utils + shims |
23
+ | C6 | Integration gate |
24
+
25
+ - `praisonai_code.runtime` — warm local runtime (daemon + thin client).
26
+ - `praisonai_code.cli_backends` — CLI backend implementations (e.g. Claude Code).
27
+
28
+ ## Dependency rules
29
+
30
+ ```
31
+ praisonai (main) → depends on praisonai-code
32
+ praisonai-code → depends on praisonaiagents (core SDK)
33
+ ```
34
+
35
+ `praisonai-code` also pulls in its own third-party runtime deps (rich, typer,
36
+ click, textual, PyYAML, python-dotenv, litellm, mcp, pydantic — see
37
+ `pyproject.toml`). The rules above govern the **inter-package** direction.
38
+
39
+ > **Migration note (C1):** `cli_backends/registry.py` still imports
40
+ > `PluginRegistry` from the `praisonai` main package (same "keep main-package
41
+ > import" pattern as `runtime/descriptor.py`'s `from praisonai.version`).
42
+ > `praisonai-code` is wired via an editable path dependency and `praisonai` is
43
+ > always present at runtime during migration, so this residual back-import is a
44
+ > deliberate C1 tradeoff to be removed in a later step — not a standalone-publish
45
+ > guarantee yet.
46
+
47
+ Backward compatibility is preserved via PEP 562 shims at the old
48
+ `praisonai.*` import paths, so `pip install praisonai` and
49
+ `from praisonai.cli.main import PraisonAI` keep working unchanged.
50
+
51
+ ## Install (development)
52
+
53
+ ```bash
54
+ pip install -e src/praisonai-code
55
+ python -c "import praisonai_code; print(praisonai_code.__version__)"
56
+ ```
57
+
58
+ `praisonai-code` is **not** published standalone to PyPI during migration;
59
+ `praisonai` remains the user-facing install.
@@ -0,0 +1,17 @@
1
+ """praisonai-code — agentic terminal CLI for PraisonAI.
2
+
3
+ This package hosts the terminal-native agent product (``run``, ``chat``,
4
+ ``code``, warm runtime, CLI backends) extracted from the ``praisonai``
5
+ wrapper. It depends on ``praisonaiagents`` only — never on ``praisonai`` —
6
+ to avoid a PyPI dependency cycle.
7
+
8
+ Migration in progress: ``runtime/`` and ``cli_backends/`` have moved here
9
+ (step C1), and the ``interactive``/``execution``/``ui``/``output``/``state``
10
+ CLI sub-packages have moved here (step C2). Subsequent steps (C3–C6) migrate
11
+ the remaining terminal-agent modules, with PEP 562 shims left behind at the
12
+ old ``praisonai.*`` paths for backward compatibility.
13
+ """
14
+
15
+ __version__ = "0.0.0"
16
+
17
+ __all__ = ["__version__"]
@@ -0,0 +1,12 @@
1
+ """praisonai_code.cli: terminal agent CLI package.
2
+
3
+ Sub-packages are moved here incrementally (see parent migration issue). During
4
+ the migration, old import paths under ``praisonai.cli`` remain valid through
5
+ shims in the main package, and not-yet-moved siblings (``configuration``,
6
+ ``utils``, ``session``, ``features``) are forwarded back to ``praisonai.cli``
7
+ via a temporary meta-path shim.
8
+ """
9
+
10
+ from ._forward_shim import install as _install_forward_shim
11
+
12
+ _install_forward_shim()
@@ -0,0 +1,10 @@
1
+ """Temporary forward shims removed in C5 — configuration, session, and utils
2
+ now live in ``praisonai_code.cli``. Bot-channel feature modules remain under
3
+ ``praisonai.cli.features`` and are reached via that package's ``__path__`` extension.
4
+ """
5
+
6
+ from __future__ import annotations
7
+
8
+
9
+ def install() -> None:
10
+ """No-op — forward shims no longer required after C5."""
@@ -0,0 +1,88 @@
1
+ """Canonical filesystem paths for PraisonAI user state.
2
+
3
+ Mirrors the conventions used by ``hermes-agent`` (``~/.hermes``) and
4
+ ``openclaw`` (``~/.openclaw``): one user-home directory per tool, with
5
+ configurable overrides via environment variables, so ``bot.yaml`` and
6
+ ``.env`` don't pollute whatever working directory the user happened to
7
+ run ``praisonai onboard`` from.
8
+
9
+ Layout::
10
+
11
+ ~/.praisonai/
12
+ ├── .env # secrets (chmod 600) — managed by onboard
13
+ ├── bot.yaml # default bot / gateway config
14
+ └── logs/ # daemon stdout / stderr (created by launchd helper)
15
+
16
+ Overrides (first match wins for each key):
17
+
18
+ * ``PRAISONAI_HOME`` — full path for the directory (e.g. Nix store)
19
+ * ``PRAISONAI_ENV_FILE`` — full path for the ``.env`` file
20
+ * ``PRAISONAI_BOT_CONFIG`` — full path for the default ``bot.yaml``
21
+ """
22
+
23
+ from __future__ import annotations
24
+
25
+ import os
26
+ from pathlib import Path
27
+
28
+ __all__ = [
29
+ "praison_home",
30
+ "default_env_file",
31
+ "default_bot_config_path",
32
+ "resolve_bot_config_path",
33
+ ]
34
+
35
+
36
+ def praison_home() -> Path:
37
+ """Return the canonical PraisonAI home directory.
38
+
39
+ Honours ``PRAISONAI_HOME`` so packaging systems (Nix, Docker) can
40
+ relocate state. Defaults to ``~/.praisonai``.
41
+ """
42
+ override = os.environ.get("PRAISONAI_HOME")
43
+ return Path(override).expanduser() if override else Path.home() / ".praisonai"
44
+
45
+
46
+ def default_env_file() -> Path:
47
+ """Return the path to the canonical ``.env`` file."""
48
+ override = os.environ.get("PRAISONAI_ENV_FILE")
49
+ return Path(override).expanduser() if override else praison_home() / ".env"
50
+
51
+
52
+ def default_bot_config_path() -> Path:
53
+ """Return the path where ``praisonai onboard`` writes ``bot.yaml``.
54
+
55
+ Users can force a custom path with ``PRAISONAI_BOT_CONFIG``.
56
+ """
57
+ override = os.environ.get("PRAISONAI_BOT_CONFIG")
58
+ return Path(override).expanduser() if override else praison_home() / "bot.yaml"
59
+
60
+
61
+ def resolve_bot_config_path(cli_value: str = "bot.yaml") -> str:
62
+ """Resolve the bot config path for CLI commands with sensible fallback.
63
+
64
+ Precedence:
65
+
66
+ 1. ``cli_value`` if it is not the sentinel ``"bot.yaml"`` (i.e. user
67
+ passed an explicit ``--config X``).
68
+ 2. ``./bot.yaml`` if it exists in the current working directory
69
+ (back-compat for projects that already keep bot.yaml checked in).
70
+ 3. ``~/.praisonai/bot.yaml`` (or ``PRAISONAI_BOT_CONFIG``) — the
71
+ canonical location written by ``praisonai onboard``.
72
+ 4. Fall back to ``cli_value`` unchanged so existing error messages
73
+ ("config not found at bot.yaml") keep working.
74
+ """
75
+ # (1) explicit override from the caller
76
+ if cli_value and cli_value != "bot.yaml":
77
+ return cli_value
78
+ # (2) honour an existing cwd file (back-compat)
79
+ cwd_path = Path.cwd() / "bot.yaml"
80
+ if cwd_path.is_file():
81
+ return str(cwd_path)
82
+ # (3) canonical home location
83
+ home_path = default_bot_config_path()
84
+ if home_path.is_file():
85
+ return str(home_path)
86
+ # (4) give up — return the caller's value so their own error handling
87
+ # surfaces a useful "not found" message.
88
+ return cli_value
@@ -0,0 +1,58 @@
1
+ # praisonai/cli/_warnings.py
2
+ """Lightweight warning filter support for CLI usage.
3
+
4
+ This module contains self-contained warning filter functions that were
5
+ previously in cli/main.py. Extracted to avoid importing the heavy 7000-line
6
+ main.py module (with its yaml/rich/dotenv dependencies) just to set up
7
+ warning filters.
8
+ """
9
+
10
+ import warnings
11
+ import atexit
12
+
13
+ _SUPPRESSED_PATTERNS = (
14
+ "Pydantic serializer warnings",
15
+ "PydanticSerializationUnexpectedValue",
16
+ "Expected ", # Narrowed from just "Expected" to avoid false positives
17
+ "StreamingChoices",
18
+ "serialized value may not be as expected",
19
+ "duckduckgo_search",
20
+ )
21
+
22
+ _installed = False
23
+ _original_showwarning = None
24
+ _original_filters = None
25
+
26
+ def install_warning_filters() -> None:
27
+ """Install PraisonAI's noise filters. Idempotent. CLI-only."""
28
+ global _installed, _original_showwarning, _original_filters
29
+ if _installed:
30
+ return
31
+ _original_showwarning = warnings.showwarning
32
+ _original_filters = list(warnings.filters)
33
+
34
+ # Install filterwarnings for common patterns
35
+ for pattern in _SUPPRESSED_PATTERNS:
36
+ warnings.filterwarnings("ignore", message=f".*{pattern}.*")
37
+ warnings.filterwarnings("ignore", category=UserWarning, module="pydantic.*")
38
+
39
+ def _filtered_showwarning(message, category, filename, lineno, file=None, line=None):
40
+ msg_str = str(message)
41
+ if any(pattern in msg_str for pattern in _SUPPRESSED_PATTERNS):
42
+ return
43
+ if category is UserWarning and "pydantic" in filename.lower():
44
+ return
45
+ _original_showwarning(message, category, filename, lineno, file, line)
46
+
47
+ warnings.showwarning = _filtered_showwarning
48
+ atexit.register(_uninstall_warning_filters)
49
+ _installed = True
50
+
51
+ def _uninstall_warning_filters() -> None:
52
+ """Restore original warnings behavior on exit."""
53
+ global _installed, _original_filters, _original_showwarning
54
+ if _installed and _original_showwarning is not None:
55
+ warnings.showwarning = _original_showwarning
56
+ if _original_filters is not None:
57
+ warnings.filters[:] = _original_filters
58
+ _installed = False