praisonai-code 0.0.3__tar.gz → 0.0.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (314) hide show
  1. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/PKG-INFO +1 -1
  2. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/app.py +20 -7
  3. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code.egg-info/PKG-INFO +1 -1
  4. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/pyproject.toml +1 -1
  5. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/README.md +0 -0
  6. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/__init__.py +0 -0
  7. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/__init__.py +0 -0
  8. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/_forward_shim.py +0 -0
  9. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/_paths.py +0 -0
  10. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/_warnings.py +0 -0
  11. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/approval_backend.py +0 -0
  12. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/branding.py +0 -0
  13. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/__init__.py +0 -0
  14. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/acp.py +0 -0
  15. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/agent.py +0 -0
  16. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/agents.py +0 -0
  17. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/app.py +0 -0
  18. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/attach.py +0 -0
  19. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/audit.py +0 -0
  20. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/auth.py +0 -0
  21. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/batch.py +0 -0
  22. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/benchmark.py +0 -0
  23. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/browser.py +0 -0
  24. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/call.py +0 -0
  25. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/chat.py +0 -0
  26. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/checkpoint.py +0 -0
  27. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/code.py +0 -0
  28. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/command.py +0 -0
  29. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/commit.py +0 -0
  30. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/completion.py +0 -0
  31. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/config.py +0 -0
  32. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/context.py +0 -0
  33. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/daemon.py +0 -0
  34. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/debug.py +0 -0
  35. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/deploy.py +0 -0
  36. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/diag.py +0 -0
  37. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/docs.py +0 -0
  38. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/doctor.py +0 -0
  39. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/endpoints.py +0 -0
  40. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/environment.py +0 -0
  41. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/eval.py +0 -0
  42. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/examples.py +0 -0
  43. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/flow.py +0 -0
  44. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/github.py +0 -0
  45. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/hooks.py +0 -0
  46. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/init.py +0 -0
  47. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/knowledge.py +0 -0
  48. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/langextract.py +0 -0
  49. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/langfuse.py +0 -0
  50. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/loop.py +0 -0
  51. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/lsp.py +0 -0
  52. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/managed.py +0 -0
  53. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/mcp.py +0 -0
  54. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/memory.py +0 -0
  55. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/models.py +0 -0
  56. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/n8n.py +0 -0
  57. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/obs.py +0 -0
  58. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/package.py +0 -0
  59. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/paths.py +0 -0
  60. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/permissions.py +0 -0
  61. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/plugins.py +0 -0
  62. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/port.py +0 -0
  63. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/profile.py +0 -0
  64. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/publish.py +0 -0
  65. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/rag.py +0 -0
  66. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/realtime.py +0 -0
  67. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/recipe.py +0 -0
  68. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/registry.py +0 -0
  69. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/replay.py +0 -0
  70. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/research.py +0 -0
  71. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/retrieval.py +0 -0
  72. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/rules.py +0 -0
  73. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/run.py +0 -0
  74. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/sandbox.py +0 -0
  75. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/schedule.py +0 -0
  76. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/serve.py +0 -0
  77. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/session.py +0 -0
  78. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/setup.py +0 -0
  79. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/skills.py +0 -0
  80. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/standardise.py +0 -0
  81. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/templates.py +0 -0
  82. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/test.py +0 -0
  83. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/todo.py +0 -0
  84. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/tools.py +0 -0
  85. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/traces.py +0 -0
  86. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/tracker.py +0 -0
  87. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/train.py +0 -0
  88. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/ui.py +0 -0
  89. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/up.py +0 -0
  90. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/validate.py +0 -0
  91. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/version.py +0 -0
  92. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/commands/workflow.py +0 -0
  93. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/config_loader.py +0 -0
  94. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/configuration/__init__.py +0 -0
  95. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/configuration/config.schema.json +0 -0
  96. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/configuration/credentials.py +0 -0
  97. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/configuration/loader.py +0 -0
  98. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/configuration/model_resolver.py +0 -0
  99. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/configuration/oauth.py +0 -0
  100. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/configuration/paths.py +0 -0
  101. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/configuration/resolver.py +0 -0
  102. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/configuration/schema.py +0 -0
  103. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/execution/__init__.py +0 -0
  104. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/execution/core.py +0 -0
  105. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/execution/profiler.py +0 -0
  106. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/execution/request.py +0 -0
  107. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/execution/result.py +0 -0
  108. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/fallback_schema.py +0 -0
  109. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/__init__.py +0 -0
  110. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/_endpoint_registry.py +0 -0
  111. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/_search_registry.py +0 -0
  112. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/acp.py +0 -0
  113. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/action_orchestrator.py +0 -0
  114. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/agent_scheduler.py +0 -0
  115. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/agent_tools.py +0 -0
  116. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/agents.py +0 -0
  117. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/at_mentions.py +0 -0
  118. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/audit_cli.py +0 -0
  119. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/auto_memory.py +0 -0
  120. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/auto_mode.py +0 -0
  121. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/autonomy_mode.py +0 -0
  122. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/background.py +0 -0
  123. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/base.py +0 -0
  124. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/benchmark.py +0 -0
  125. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/capabilities.py +0 -0
  126. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/checkpoints.py +0 -0
  127. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/cli_profiler.py +0 -0
  128. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/code_intelligence.py +0 -0
  129. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/compaction.py +0 -0
  130. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/compare.py +0 -0
  131. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/config_hierarchy.py +0 -0
  132. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/context_manager.py +0 -0
  133. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/cost_tracker.py +0 -0
  134. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/csv_test_runner.py +0 -0
  135. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/custom_definitions.py +0 -0
  136. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/debug.py +0 -0
  137. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/deploy.py +0 -0
  138. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/diag.py +0 -0
  139. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/display_jsonl.py +0 -0
  140. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/doctor/__init__.py +0 -0
  141. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/doctor/checks/__init__.py +0 -0
  142. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/doctor/checks/acp_checks.py +0 -0
  143. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/doctor/checks/bot_checks.py +0 -0
  144. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/doctor/checks/config_checks.py +0 -0
  145. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/doctor/checks/db_checks.py +0 -0
  146. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/doctor/checks/env_checks.py +0 -0
  147. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/doctor/checks/gateway_checks.py +0 -0
  148. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/doctor/checks/lsp_checks.py +0 -0
  149. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/doctor/checks/mcp_checks.py +0 -0
  150. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/doctor/checks/memory_checks.py +0 -0
  151. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/doctor/checks/network_checks.py +0 -0
  152. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/doctor/checks/obs_checks.py +0 -0
  153. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/doctor/checks/packaging_checks.py +0 -0
  154. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/doctor/checks/performance_checks.py +0 -0
  155. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/doctor/checks/permissions_checks.py +0 -0
  156. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/doctor/checks/runtime_checks.py +0 -0
  157. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/doctor/checks/runtime_migration_checks.py +0 -0
  158. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/doctor/checks/selftest_checks.py +0 -0
  159. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/doctor/checks/serve_checks.py +0 -0
  160. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/doctor/checks/skills_checks.py +0 -0
  161. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/doctor/checks/tools_checks.py +0 -0
  162. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/doctor/engine.py +0 -0
  163. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/doctor/formatters.py +0 -0
  164. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/doctor/handler.py +0 -0
  165. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/doctor/models.py +0 -0
  166. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/doctor/registry.py +0 -0
  167. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/endpoints.py +0 -0
  168. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/eval.py +0 -0
  169. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/examples.py +0 -0
  170. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/external_agents.py +0 -0
  171. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/fast_context.py +0 -0
  172. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/file_history.py +0 -0
  173. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/flow_display.py +0 -0
  174. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/git_attribution.py +0 -0
  175. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/git_integration.py +0 -0
  176. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/guardrail.py +0 -0
  177. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/handoff.py +0 -0
  178. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/hooks.py +0 -0
  179. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/hybrid_workflow.py +0 -0
  180. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/image.py +0 -0
  181. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/interactive_core_headless.py +0 -0
  182. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/interactive_runtime.py +0 -0
  183. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/interactive_test_harness.py +0 -0
  184. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/interactive_tools.py +0 -0
  185. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/interactive_tui.py +0 -0
  186. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/job_workflow.py +0 -0
  187. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/jobs.py +0 -0
  188. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/knowledge.py +0 -0
  189. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/knowledge_cli.py +0 -0
  190. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/lite.py +0 -0
  191. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/logs.py +0 -0
  192. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/lsp_cli.py +0 -0
  193. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/lsp_diagnostics.py +0 -0
  194. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/mcp.py +0 -0
  195. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/message_queue.py +0 -0
  196. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/metrics.py +0 -0
  197. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/migrate.py +0 -0
  198. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/migration_flow.py +0 -0
  199. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/migration_spec.py +0 -0
  200. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/n8n.py +0 -0
  201. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/observability.py +0 -0
  202. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/ollama.py +0 -0
  203. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/output_modes.py +0 -0
  204. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/output_style.py +0 -0
  205. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/package.py +0 -0
  206. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/performance.py +0 -0
  207. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/persistence.py +0 -0
  208. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/profiler/__init__.py +0 -0
  209. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/profiler/core.py +0 -0
  210. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/profiler/optimizations.py +0 -0
  211. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/profiler/suite.py +0 -0
  212. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/queue/__init__.py +0 -0
  213. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/queue/manager.py +0 -0
  214. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/queue/models.py +0 -0
  215. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/queue/persistence.py +0 -0
  216. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/queue/scheduler.py +0 -0
  217. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/queue/worker.py +0 -0
  218. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/recipe.py +0 -0
  219. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/recipe_creator.py +0 -0
  220. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/recipe_optimizer.py +0 -0
  221. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/recipe_prompts.py +0 -0
  222. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/registry.py +0 -0
  223. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/repo_map.py +0 -0
  224. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/router.py +0 -0
  225. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/safe_shell.py +0 -0
  226. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/sandbox_cli.py +0 -0
  227. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/sandbox_executor.py +0 -0
  228. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/sdk_knowledge.py +0 -0
  229. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/session.py +0 -0
  230. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/session_checkpoints.py +0 -0
  231. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/setup/__init__.py +0 -0
  232. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/setup/handler.py +0 -0
  233. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/setup/templates.py +0 -0
  234. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/skills.py +0 -0
  235. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/slash_commands.py +0 -0
  236. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/telemetry.py +0 -0
  237. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/templates.py +0 -0
  238. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/thinking.py +0 -0
  239. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/todo.py +0 -0
  240. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/tools.py +0 -0
  241. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/tui/__init__.py +0 -0
  242. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/tui/app.py +0 -0
  243. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/tui/cli.py +0 -0
  244. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/tui/config.py +0 -0
  245. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/tui/debug.py +0 -0
  246. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/tui/events.py +0 -0
  247. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/tui/mock_provider.py +0 -0
  248. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/tui/orchestrator.py +0 -0
  249. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/tui/screens/__init__.py +0 -0
  250. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/tui/screens/help.py +0 -0
  251. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/tui/screens/main.py +0 -0
  252. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/tui/screens/queue.py +0 -0
  253. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/tui/screens/session.py +0 -0
  254. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/tui/screens/settings.py +0 -0
  255. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/tui/session_store.py +0 -0
  256. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/tui/widgets/__init__.py +0 -0
  257. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/tui/widgets/chat.py +0 -0
  258. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/tui/widgets/command_popup.py +0 -0
  259. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/tui/widgets/composer.py +0 -0
  260. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/tui/widgets/file_popup.py +0 -0
  261. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/tui/widgets/queue_panel.py +0 -0
  262. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/tui/widgets/status.py +0 -0
  263. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/tui/widgets/tool_panel.py +0 -0
  264. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/wizard.py +0 -0
  265. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/workflow.py +0 -0
  266. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/features/yaml_utils.py +0 -0
  267. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/interactive/__init__.py +0 -0
  268. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/interactive/async_tui.py +0 -0
  269. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/interactive/config.py +0 -0
  270. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/interactive/core.py +0 -0
  271. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/interactive/events.py +0 -0
  272. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/interactive/frontends/__init__.py +0 -0
  273. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/interactive/frontends/rich_frontend.py +0 -0
  274. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/interactive/frontends/textual_frontend.py +0 -0
  275. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/interactive/praison_io.py +0 -0
  276. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/interactive/repl.py +0 -0
  277. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/interactive/split_tui.py +0 -0
  278. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/interactive/tui_app.py +0 -0
  279. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/langfuse_client.py +0 -0
  280. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/main.py +0 -0
  281. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/output/__init__.py +0 -0
  282. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/output/console.py +0 -0
  283. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/output/event_bridge.py +0 -0
  284. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/schedule_cli.py +0 -0
  285. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/schema_provider.py +0 -0
  286. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/session/__init__.py +0 -0
  287. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/session/resume.py +0 -0
  288. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/session/unified.py +0 -0
  289. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/state/__init__.py +0 -0
  290. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/state/identifiers.py +0 -0
  291. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/state/project_sessions.py +0 -0
  292. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/state/sessions.py +0 -0
  293. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/ui/__init__.py +0 -0
  294. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/ui/config.py +0 -0
  295. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/ui/events.py +0 -0
  296. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/ui/mg_backend.py +0 -0
  297. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/ui/plain.py +0 -0
  298. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/ui/rich_backend.py +0 -0
  299. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/unified_schema.py +0 -0
  300. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/utils/env_utils.py +0 -0
  301. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli/utils/project.py +0 -0
  302. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli_backends/__init__.py +0 -0
  303. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli_backends/claude.py +0 -0
  304. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/cli_backends/registry.py +0 -0
  305. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/runtime/__init__.py +0 -0
  306. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/runtime/__main__.py +0 -0
  307. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/runtime/client.py +0 -0
  308. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/runtime/descriptor.py +0 -0
  309. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code/runtime/server.py +0 -0
  310. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code.egg-info/SOURCES.txt +0 -0
  311. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code.egg-info/dependency_links.txt +0 -0
  312. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code.egg-info/requires.txt +0 -0
  313. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/praisonai_code.egg-info/top_level.txt +0 -0
  314. {praisonai_code-0.0.3 → praisonai_code-0.0.4}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: praisonai-code
3
- Version: 0.0.3
3
+ Version: 0.0.4
4
4
  Summary: Agentic terminal CLI for PraisonAI — the terminal-native agent (run, chat, code, runtime, cli backends) extracted from the praisonai wrapper.
5
5
  Author: Mervin Praison
6
6
  License: MIT
@@ -135,7 +135,6 @@ _LAZY_COMMANDS: Dict[str, Tuple[str, str, str]] = {
135
135
  "daemon": (".commands.daemon", "app", "Warm local runtime (keeps MCP/provider clients hot)"),
136
136
  "attach": (".commands.attach", "app", "Attach to a live session on the warm runtime"),
137
137
  "schedule": (".commands.schedule", "app", "Scheduler management"),
138
- "kanban": (".commands.kanban", "app", "Kanban task management"),
139
138
  "run": (".commands.run", "app", "Run agents"),
140
139
  "checkpoint": (".commands.checkpoint", "app", "File-level checkpoint management (save/restore/diff)"),
141
140
  "profile": (".commands.profile", "app", "Performance profiling and diagnostics"),
@@ -184,25 +183,37 @@ _LAZY_COMMANDS: Dict[str, Tuple[str, str, str]] = {
184
183
  "github": (".commands.github", "app", "GitHub native context tracking and Issue triage"),
185
184
  "managed": (".commands.managed", "app", "Managed Agents (Anthropic cloud-hosted backend)"),
186
185
  "models": (".commands.models", "app", "List and describe available models"),
187
-
188
- # Moltbot-inspired commands
186
+
187
+ # Bot/channel commands — see ``_WRAPPER_COMMANDS`` below. These entries keep
188
+ # relative ``.commands.*`` paths so they are advertised in ``--help``, but
189
+ # ``get_command()`` re-routes them to the absolute ``praisonai.cli.commands.*``
190
+ # path at invocation time (the modules live in the main wrapper).
189
191
  "bot": (".commands.bot", "app", "Messaging bots with full agent capabilities"),
190
192
  "gateway": (".commands.gateway", "app", "Multi-bot WebSocket gateway server"),
191
193
  "pairing": (".commands.pairing", "app", "Manage bot user pairing"),
192
194
  "identity": (".commands.identity", "app", "Manage cross-platform user identity links"),
195
+ "kanban": (".commands.kanban", "app", "Kanban task management"),
196
+ "claw": (".commands.claw", "app", "🦞 PraisonAI Dashboard (full UI)"),
197
+ "dashboard": (".commands.dashboard", "app", "🌟 Unified Dashboard (Flow + Claw + UI)"),
198
+
193
199
  "browser": (".commands.browser", "app", "Browser control for agent automation"),
194
200
  "plugins": (".commands.plugins", "app", "Plugin management and inspection"),
195
201
  "sandbox": (".commands.sandbox", "app", "Sandbox container management"),
196
- "claw": (".commands.claw", "app", "🦞 PraisonAI Dashboard (full UI)"),
197
202
  "flow": (".commands.flow", "app", "Visual workflow builder (Langflow)"),
198
- "dashboard": (".commands.dashboard", "app", "🌟 Unified Dashboard (Flow + Claw + UI)"),
199
203
  "langfuse": (".commands.langfuse", "app", "🔍 Langfuse observability platform"),
200
204
  "langextract": (".commands.langextract", "app", "🧠 Langextract visual trace layer"),
201
205
  "port": (".commands.port", "app", "🔌 Manage port usage and resolve conflicts"),
202
206
  "up": (".commands.up", "app", "🚀 Start unified PraisonAI stack (Langfuse + Langflow)"),
203
207
  }
204
208
 
205
- # Bot/channel commands that remain in the ``praisonai`` wrapper (not ``praisonai_code``).
209
+ # Bot/channel commands that intentionally stay in the main ``praisonai``
210
+ # wrapper (they import ``praisonai.bots`` / ``praisonai.gateway``). Their
211
+ # entries remain in ``_LAZY_COMMANDS`` above (so ``--help`` and command
212
+ # discovery advertise them), but ``get_command()`` intercepts these names and
213
+ # imports them via the *absolute* ``praisonai.cli.commands.*`` path — the
214
+ # relative ``.commands.*`` path would resolve to ``praisonai_code`` where the
215
+ # modules do not live. The import happens lazily at invocation time only, so
216
+ # ``praisonai_code`` keeps no static dependency on ``praisonai``.
206
217
  _WRAPPER_COMMANDS = frozenset({
207
218
  "bot",
208
219
  "gateway",
@@ -280,7 +291,7 @@ class LazyCommandGroup(TyperGroup):
280
291
  except (ImportError, AttributeError) as e:
281
292
  typer.echo(f"Error loading command '{name}': {e}", err=True)
282
293
  return None
283
-
294
+
284
295
  # Check special commands
285
296
  if name in _SPECIAL_COMMANDS:
286
297
  module_path, func_name, _ = _SPECIAL_COMMANDS[name]
@@ -752,6 +763,8 @@ def get_command_names():
752
763
  commands that are not in ``_LAZY_COMMANDS`` are added explicitly.
753
764
  """
754
765
  names = set(_LAZY_COMMANDS.keys())
766
+ # Bot/channel commands are already part of ``_LAZY_COMMANDS`` (re-routed to
767
+ # the main wrapper at invocation time via ``_WRAPPER_COMMANDS``).
755
768
  # Special commands with custom handling (tui, queue)
756
769
  names.update(_SPECIAL_COMMANDS.keys())
757
770
  # Inline special commands handled outside the registries
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: praisonai-code
3
- Version: 0.0.3
3
+ Version: 0.0.4
4
4
  Summary: Agentic terminal CLI for PraisonAI — the terminal-native agent (run, chat, code, runtime, cli backends) extracted from the praisonai wrapper.
5
5
  Author: Mervin Praison
6
6
  License: MIT
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "praisonai-code"
3
- version = "0.0.3"
3
+ version = "0.0.4"
4
4
  description = "Agentic terminal CLI for PraisonAI — the terminal-native agent (run, chat, code, runtime, cli backends) extracted from the praisonai wrapper."
5
5
  readme = "README.md"
6
6
  license = {text = "MIT"}
File without changes