ara-cli 0.1.9.57__tar.gz → 0.1.9.59__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 (164) hide show
  1. ara_cli-0.1.9.59/PKG-INFO +15 -0
  2. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/artefact_creator.py +5 -1
  3. ara_cli-0.1.9.59/ara_cli/artefact_renamer.py +93 -0
  4. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/tests/test_file_creator.py +3 -1
  5. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/version.py +1 -1
  6. ara_cli-0.1.9.59/ara_cli.egg-info/PKG-INFO +15 -0
  7. ara_cli-0.1.9.57/PKG-INFO +0 -3
  8. ara_cli-0.1.9.57/ara_cli/artefact_renamer.py +0 -127
  9. ara_cli-0.1.9.57/ara_cli.egg-info/PKG-INFO +0 -3
  10. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/MANIFEST.in +0 -0
  11. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/README.md +0 -0
  12. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/__init__.py +0 -0
  13. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/__main__.py +0 -0
  14. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/analyse_artefacts.py +0 -0
  15. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/ara_command_action.py +0 -0
  16. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/ara_command_parser.py +0 -0
  17. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/ara_config.py +0 -0
  18. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/artefact_deleter.py +0 -0
  19. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/artefact_fuzzy_search.py +0 -0
  20. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/artefact_link_updater.py +0 -0
  21. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/artefact_lister.py +0 -0
  22. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/artefact_models/artefact_load.py +0 -0
  23. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/artefact_models/artefact_mapping.py +0 -0
  24. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/artefact_models/artefact_model.py +0 -0
  25. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/artefact_models/artefact_templates.py +0 -0
  26. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/artefact_models/businessgoal_artefact_model.py +0 -0
  27. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/artefact_models/capability_artefact_model.py +0 -0
  28. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/artefact_models/epic_artefact_model.py +0 -0
  29. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/artefact_models/example_artefact_model.py +0 -0
  30. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/artefact_models/feature_artefact_model.py +0 -0
  31. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/artefact_models/issue_artefact_model.py +0 -0
  32. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/artefact_models/keyfeature_artefact_model.py +0 -0
  33. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/artefact_models/task_artefact_model.py +0 -0
  34. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/artefact_models/userstory_artefact_model.py +0 -0
  35. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/artefact_models/vision_artefact_model.py +0 -0
  36. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/artefact_reader.py +0 -0
  37. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/artefact_scan.py +0 -0
  38. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/chat.py +0 -0
  39. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/classifier.py +0 -0
  40. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/codefusionretriever.py +0 -0
  41. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/codehierachieretriever.py +0 -0
  42. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/commandline_completer.py +0 -0
  43. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/directory_navigator.py +0 -0
  44. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/file_classifier.py +0 -0
  45. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/file_lister.py +0 -0
  46. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/filename_validator.py +0 -0
  47. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/list_filter.py +0 -0
  48. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/output_suppressor.py +0 -0
  49. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/prompt_chat.py +0 -0
  50. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/prompt_extractor.py +0 -0
  51. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/prompt_handler.py +0 -0
  52. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/prompt_rag.py +0 -0
  53. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/run_file_lister.py +0 -0
  54. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/tag_extractor.py +0 -0
  55. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/template_manager.py +0 -0
  56. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/agile.artefacts +0 -0
  57. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/blueprints/complete_pytest_unittest.blueprint.md +0 -0
  58. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/blueprints/empty.blueprint.md +0 -0
  59. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/blueprints/task_todo_list_C4_architecture_analysis.blueprint.md +0 -0
  60. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/blueprints/task_todo_list_implement_feature_BDD_way.blueprint.md +0 -0
  61. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/commands/architecture_C4_analysis.commands.md +0 -0
  62. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/commands/architecture_radon_cc_score.commands.md +0 -0
  63. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/commands/architecture_radon_halstead_v.commands.md +0 -0
  64. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/commands/architecture_radon_maintainability_score.commands.md +0 -0
  65. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/commands/artefact_classification.commands.md +0 -0
  66. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/commands/artefact_extension.commands.md +0 -0
  67. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/commands/artefact_formulation.commands.md +0 -0
  68. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/commands/behave_step_generation.commands.md +0 -0
  69. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/commands/code_generation_complex.commands.md +0 -0
  70. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/commands/code_generation_simple.commands.md +0 -0
  71. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/commands/empty.commands.md +0 -0
  72. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/commands/error_fixing.commands.md +0 -0
  73. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/commands/feature_file_update.commands.md +0 -0
  74. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/commands/feature_formulation.commands.md +0 -0
  75. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/commands/js_code_generation_simple.commands.md +0 -0
  76. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/commands/refactoring.commands.md +0 -0
  77. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/commands/refactoring_analysis.commands.md +0 -0
  78. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/commands/reverse_engineer_feature_file.commands.md +0 -0
  79. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/commands/reverse_engineer_program_flow.commands.md +0 -0
  80. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/intentions/classify_task.intention.md +0 -0
  81. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/intentions/empty.intention.md +0 -0
  82. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/intentions/error_fixing.intention.md +0 -0
  83. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/intentions/feature_fix_steps_for_scenario.intention.md +0 -0
  84. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/intentions/feature_formulation.intention.md +0 -0
  85. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/intentions/feature_reverse_formulation_from_code.intention.md +0 -0
  86. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/intentions/feature_scenario_implementation.intention.md +0 -0
  87. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/intentions/feature_scenario_implementation_update.intention.md +0 -0
  88. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/intentions/feature_scenario_outline_extension.intention.md +0 -0
  89. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/intentions/feature_update_formulation.intention.md +0 -0
  90. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/intentions/fibonacci_example_implementation.intention.md +0 -0
  91. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/intentions/js_implementation_from_task_description.intention.md +0 -0
  92. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/intentions/js_steps_implementation.intention.md +0 -0
  93. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/intentions/python_cli_implementation_with_test.intention.md +0 -0
  94. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/intentions/python_code_understanding.intention.md +0 -0
  95. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/intentions/task_implementation.intention.md +0 -0
  96. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/intentions/task_prompt_control_by_status.intention.md +0 -0
  97. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/intentions/task_stepwise_implementation_by_number.intention.md +0 -0
  98. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/intentions/task_stepwise_implementation_by_status.intention.md +0 -0
  99. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/rules/architecture_analyst.rules.md +0 -0
  100. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/rules/code_analyst.rules.md +0 -0
  101. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/rules/empty.rules.md +0 -0
  102. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/rules/error_analyst.rules.md +0 -0
  103. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/rules/gherkin_expert.rules.md +0 -0
  104. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/rules/js_expert_developer.rules.md +0 -0
  105. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/rules/product_owner.rules.md +0 -0
  106. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/rules/python_behave.rules.md +0 -0
  107. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/prompt-modules/rules/python_developer.rules.md +0 -0
  108. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/specification_breakdown_files/template.concept.exploration.md +0 -0
  109. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/specification_breakdown_files/template.concept.md +0 -0
  110. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/specification_breakdown_files/template.customer.exploration.md +0 -0
  111. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/specification_breakdown_files/template.customer.md +0 -0
  112. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/specification_breakdown_files/template.persona.exploration.md +0 -0
  113. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/specification_breakdown_files/template.persona.md +0 -0
  114. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/specification_breakdown_files/template.step.exploration.md +0 -0
  115. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/specification_breakdown_files/template.step.md +0 -0
  116. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/specification_breakdown_files/template.technology.exploration.md +0 -0
  117. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/specification_breakdown_files/template.technology.md +0 -0
  118. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/template.businessgoal +0 -0
  119. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/template.businessgoal.prompt_log.md +0 -0
  120. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/template.capability +0 -0
  121. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/template.capability.prompt_log.md +0 -0
  122. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/template.epic +0 -0
  123. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/template.epic.prompt_log.md +0 -0
  124. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/template.example +0 -0
  125. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/template.example.prompt_log.md +0 -0
  126. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/template.feature +0 -0
  127. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/template.feature.prompt_log.md +0 -0
  128. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/template.issue +0 -0
  129. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/template.issue.prompt_log.md +0 -0
  130. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/template.keyfeature +0 -0
  131. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/template.keyfeature.prompt_log.md +0 -0
  132. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/template.steps.prompt_log.md +0 -0
  133. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/template.task +0 -0
  134. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/template.task.prompt_log.md +0 -0
  135. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/template.userstory +0 -0
  136. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/template.userstory.prompt_log.md +0 -0
  137. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/template.vision +0 -0
  138. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/templates/template.vision.prompt_log.md +0 -0
  139. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/tests/__init__.py +0 -0
  140. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/tests/test_ara_command_action.py +0 -0
  141. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/tests/test_ara_config.py +0 -0
  142. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/tests/test_artefact_fuzzy_search.py +0 -0
  143. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/tests/test_artefact_link_updater.py +0 -0
  144. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/tests/test_artefact_lister.py +0 -0
  145. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/tests/test_artefact_reader.py +0 -0
  146. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/tests/test_artefact_renamer.py +0 -0
  147. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/tests/test_artefact_scan.py +0 -0
  148. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/tests/test_chat.py +0 -0
  149. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/tests/test_classifier.py +0 -0
  150. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/tests/test_directory_navigator.py +0 -0
  151. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/tests/test_file_classifier.py +0 -0
  152. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/tests/test_file_lister.py +0 -0
  153. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/tests/test_list_filter.py +0 -0
  154. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/tests/test_tag_extractor.py +0 -0
  155. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/tests/test_template_manager.py +0 -0
  156. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/tests/test_update_config_prompt.py +0 -0
  157. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli/update_config_prompt.py +0 -0
  158. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli.egg-info/SOURCES.txt +0 -0
  159. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli.egg-info/dependency_links.txt +0 -0
  160. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli.egg-info/entry_points.txt +0 -0
  161. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli.egg-info/requires.txt +0 -0
  162. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/ara_cli.egg-info/top_level.txt +0 -0
  163. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/setup.cfg +0 -0
  164. {ara_cli-0.1.9.57 → ara_cli-0.1.9.59}/setup.py +0 -0
@@ -0,0 +1,15 @@
1
+ Metadata-Version: 2.4
2
+ Name: ara_cli
3
+ Version: 0.1.9.59
4
+ Requires-Dist: litellm
5
+ Requires-Dist: llama-index
6
+ Requires-Dist: llama-index-llms-openai
7
+ Requires-Dist: llama-index-retrievers-bm25
8
+ Requires-Dist: openai
9
+ Requires-Dist: markdown-it-py
10
+ Requires-Dist: json-repair
11
+ Requires-Dist: argparse
12
+ Requires-Dist: argcomplete
13
+ Requires-Dist: cmd2>=2.5
14
+ Requires-Dist: pydantic
15
+ Dynamic: requires-dist
@@ -7,7 +7,7 @@ from ara_cli.artefact_models.artefact_model import Artefact
7
7
  from ara_cli.artefact_models.artefact_templates import template_artefact_of_type
8
8
  from ara_cli.artefact_fuzzy_search import suggest_close_name_matches
9
9
  from pathlib import Path
10
- from shutil import copyfile
10
+ from shutil import copyfile, rmtree
11
11
 
12
12
 
13
13
  class ArtefactCreator:
@@ -104,6 +104,9 @@ class ArtefactCreator:
104
104
  file_exists = self.file_system.path.exists(file_path)
105
105
  dir_exists = self.file_system.path.exists(dir_path)
106
106
 
107
+ if dir_exists and not os.listdir(dir_path):
108
+ dir_exists = False
109
+
107
110
  if not self.handle_existing_files(file_exists, dir_exists):
108
111
  return
109
112
 
@@ -116,6 +119,7 @@ class ArtefactCreator:
116
119
  )
117
120
 
118
121
  artefact_content = artefact.serialize()
122
+ rmtree(dir_path)
119
123
  os.makedirs(dir_path, exist_ok=True)
120
124
  with open(file_path, 'w') as artefact_file:
121
125
  artefact_file.write(artefact_content)
@@ -0,0 +1,93 @@
1
+ import os
2
+ from functools import lru_cache
3
+ from ara_cli.classifier import Classifier
4
+ from ara_cli.artefact_link_updater import ArtefactLinkUpdater
5
+ from ara_cli.template_manager import DirectoryNavigator
6
+ import re
7
+
8
+
9
+ class ArtefactRenamer:
10
+ def __init__(self, file_system=None):
11
+ self.file_system = file_system or os
12
+ self.link_updater = ArtefactLinkUpdater()
13
+
14
+ @lru_cache(maxsize=None)
15
+ def navigate_to_target(self) -> str:
16
+ navigator = DirectoryNavigator()
17
+ original_directory = navigator.navigate_to_target()
18
+ return original_directory
19
+
20
+ @lru_cache(maxsize=None)
21
+ def compile_pattern(self, pattern):
22
+ return re.compile(pattern)
23
+
24
+ def rename(self, old_name, new_name, classifier):
25
+ original_directory = self.navigate_to_target()
26
+
27
+ if not new_name:
28
+ raise ValueError("New name must be provided for renaming.")
29
+
30
+ if not Classifier.is_valid_classifier(classifier):
31
+ raise ValueError("Invalid classifier provided. Please provide a valid classifier.")
32
+
33
+ sub_directory = Classifier.get_sub_directory(classifier)
34
+ old_file_path = self.file_system.path.join(sub_directory, f"{old_name}.{classifier}")
35
+ new_file_path = self.file_system.path.join(sub_directory, f"{new_name}.{classifier}")
36
+
37
+ old_dir_path = self.file_system.path.join(sub_directory, f"{old_name}.data")
38
+ new_dir_path = self.file_system.path.join(sub_directory, f"{new_name}.data")
39
+
40
+ old_dir_exists = self.file_system.path.exists(old_dir_path)
41
+
42
+ # Check if the original file exists
43
+ if not self.file_system.path.exists(old_file_path):
44
+ raise FileNotFoundError(f"The file {old_file_path} does not exist.")
45
+
46
+ # Check if the new file name and directory already exist
47
+ if self.file_system.path.exists(new_file_path):
48
+ raise FileExistsError(f"The new file name {new_file_path} already exists.")
49
+ if self.file_system.path.exists(new_dir_path):
50
+ raise FileExistsError(f"The new directory name {new_dir_path} already exists.")
51
+
52
+ # Perform the renaming of the file and directory
53
+ self.file_system.rename(old_file_path, new_file_path)
54
+ print(f"Renamed file: ara/{old_file_path} to ara/{new_file_path}")
55
+ if old_dir_exists:
56
+ self.file_system.rename(old_dir_path, new_dir_path)
57
+ print(f"Renamed directory: ara/{old_dir_path} to ara/{new_dir_path}")
58
+
59
+ # Update the title within the artefact file
60
+ self._update_title_in_artefact(new_file_path, new_name, classifier)
61
+
62
+ # Update links in related artefact files
63
+ self.link_updater.update_links_in_related_artefacts(old_name, new_name)
64
+
65
+ os.chdir(original_directory)
66
+
67
+ def _update_title_in_artefact(self, artefact_path, new_title, classifier):
68
+ # Format the new title: replace underscores with spaces
69
+ formatted_new_title = new_title.replace('_', ' ')
70
+
71
+ # Get the artefact title prefix using the classifier
72
+ title_prefix = Classifier.get_artefact_title(classifier.lower())
73
+
74
+ if not title_prefix:
75
+ raise ValueError(f"Invalid classifier: {classifier}")
76
+
77
+ # Read the file content
78
+ with open(artefact_path, 'r') as file:
79
+ content = file.read()
80
+
81
+ # Find the old title line
82
+ old_title_line = next((line for line in content.split('\n') if self.compile_pattern(f"^{title_prefix}").match(line)), None)
83
+ if old_title_line is None:
84
+ raise ValueError(f"The artefact file does not contain the title prefix '{title_prefix}'.")
85
+
86
+ # Construct the new title line without adding an extra colon
87
+ new_title_line = f"{title_prefix}: {formatted_new_title}"
88
+ # Replace the old title line with the new title line in the content
89
+ new_content = content.replace(old_title_line, new_title_line, 1)
90
+
91
+ # Write the updated content back to the file
92
+ with open(artefact_path, 'w') as file:
93
+ file.write(new_content)
@@ -25,7 +25,8 @@ def test_run_with_invalid_classifier_prints_error_message(capfd):
25
25
 
26
26
  @patch("ara_cli.artefact_creator.input", return_value="n")
27
27
  @patch("ara_cli.artefact_creator.os.path.exists", return_value=True)
28
- def test_run_with_existing_file_does_not_overwrite(mock_input, mock_exists, capfd):
28
+ @patch("ara_cli.artefact_creator.os.listdir", return_value=["data_folder_content"])
29
+ def test_run_with_existing_file_does_not_overwrite(mock_input, mock_exists, mock_list, capfd):
29
30
  fc = ArtefactCreator()
30
31
  fc.run("filename", "vision")
31
32
 
@@ -42,6 +43,7 @@ def test_create_artefact_exploration_success():
42
43
  creator.create_artefact_prompt_files("./dest", "./source", "sample")
43
44
 
44
45
 
46
+
45
47
  def test_create_artefact_exploration_source_not_found():
46
48
  creator = ArtefactCreator()
47
49
 
@@ -1,2 +1,2 @@
1
1
  # version.py
2
- __version__ = "0.1.9.57" # fith parameter like .0 for local install test purposes only. official numbers should be 4 digit numbers
2
+ __version__ = "0.1.9.59" # fith parameter like .0 for local install test purposes only. official numbers should be 4 digit numbers
@@ -0,0 +1,15 @@
1
+ Metadata-Version: 2.4
2
+ Name: ara_cli
3
+ Version: 0.1.9.59
4
+ Requires-Dist: litellm
5
+ Requires-Dist: llama-index
6
+ Requires-Dist: llama-index-llms-openai
7
+ Requires-Dist: llama-index-retrievers-bm25
8
+ Requires-Dist: openai
9
+ Requires-Dist: markdown-it-py
10
+ Requires-Dist: json-repair
11
+ Requires-Dist: argparse
12
+ Requires-Dist: argcomplete
13
+ Requires-Dist: cmd2>=2.5
14
+ Requires-Dist: pydantic
15
+ Dynamic: requires-dist
ara_cli-0.1.9.57/PKG-INFO DELETED
@@ -1,3 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: ara_cli
3
- Version: 0.1.9.57
@@ -1,127 +0,0 @@
1
- import os
2
- from functools import lru_cache
3
- from ara_cli.classifier import Classifier
4
- from ara_cli.artefact_link_updater import ArtefactLinkUpdater
5
- from ara_cli.artefact_reader import ArtefactReader
6
- from ara_cli.artefact_models.artefact_model import Contribution
7
- from ara_cli.template_manager import DirectoryNavigator
8
- from ara_cli.artefact_fuzzy_search import suggest_close_name_matches
9
- import re
10
-
11
-
12
- class ArtefactRenamer:
13
- def __init__(self, file_system=None):
14
- self.file_system = file_system or os
15
- self.link_updater = ArtefactLinkUpdater()
16
-
17
- @lru_cache(maxsize=None)
18
- def navigate_to_target(self) -> str:
19
- navigator = DirectoryNavigator()
20
- original_directory = navigator.navigate_to_target()
21
- return original_directory
22
-
23
- @lru_cache(maxsize=None)
24
- def compile_pattern(self, pattern):
25
- return re.compile(pattern)
26
-
27
- def rename(self, old_name, new_name, classifier):
28
- if not new_name:
29
- raise ValueError("New name must be provided for renaming.")
30
- if not Classifier.is_valid_classifier(classifier):
31
- raise ValueError("Invalid classifier provided. Please provide a valid classifier.")
32
-
33
- fs = self.file_system
34
- original_directory = self.navigate_to_target()
35
- original_directory = fs.path.abspath(original_directory)
36
-
37
- classified_artefacts = ArtefactReader.read_artefacts()
38
-
39
- artefacts_by_current_classifier = classified_artefacts.get(classifier, [])
40
- matching_artefacts = list(filter(lambda a: a.title == old_name, artefacts_by_current_classifier))
41
-
42
- if not matching_artefacts:
43
- all_artefact_names = [artefact.title for artefact in artefacts_by_current_classifier]
44
- suggest_close_name_matches(old_name, all_artefact_names)
45
- return
46
-
47
- matching_artefact = matching_artefacts[0]
48
-
49
- old_file_path = matching_artefact.file_path
50
- old_base_path = fs.path.dirname(old_file_path)
51
- old_dir_path = f"{old_base_path}/{old_name}.data"
52
-
53
- old_file_path_display = old_file_path.replace('./', 'ara/')
54
- old_dir_path_display = old_dir_path.replace('./', 'ara/')
55
-
56
- old_dir_exists = fs.path.exists(old_dir_path)
57
-
58
- if not fs.path.exists(old_file_path):
59
- raise FileNotFoundError(f"The file {old_file_path} does not exist.")
60
-
61
- children_by_classifier = ArtefactReader.find_children(
62
- artefact_name=old_name,
63
- classifier=classifier,
64
- classified_artefacts=classified_artefacts
65
- )
66
-
67
- matching_artefact.title = new_name
68
- new_file_path = matching_artefact.file_path
69
- new_base_path = fs.path.dirname(new_file_path)
70
- new_dir_path = f"{new_base_path}/{new_name}.data"
71
- if fs.path.exists(new_file_path):
72
- raise FileExistsError(f"The new file name {new_file_path} already exists.")
73
- if fs.path.exists(new_dir_path):
74
- raise FileExistsError(f"The new directory name {new_dir_path} already exists.")
75
-
76
- new_file_path_display = new_file_path.replace('./', 'ara/')
77
- new_dir_path_display = new_dir_path.replace('./', 'ara/')
78
-
79
- serialized_artefact = matching_artefact.serialize()
80
- with open(matching_artefact.file_path, 'w') as file:
81
- file.write(serialized_artefact)
82
- fs.remove(old_file_path)
83
-
84
- print(f"Renamed file: {old_file_path_display} to {new_file_path_display}")
85
-
86
- if old_dir_exists:
87
- fs.rename(old_dir_path, new_dir_path)
88
- print(f"Renamed directory: {old_dir_path_display} to {new_dir_path_display}")
89
-
90
- for children in children_by_classifier.values():
91
- for child in children:
92
- contribution = child.contribution
93
- contribution.artefact_name = new_name
94
- child.contribution = contribution
95
- serialized_artefact = child.serialize()
96
- with open(child.file_path, 'w') as file:
97
- file.write(serialized_artefact)
98
-
99
- fs.chdir(original_directory)
100
-
101
- def _update_title_in_artefact(self, artefact_path, new_title, classifier):
102
- # Format the new title: replace underscores with spaces
103
- formatted_new_title = new_title.replace('_', ' ')
104
-
105
- # Get the artefact title prefix using the classifier
106
- title_prefix = Classifier.get_artefact_title(classifier.lower())
107
-
108
- if not title_prefix:
109
- raise ValueError(f"Invalid classifier: {classifier}")
110
-
111
- # Read the file content
112
- with open(artefact_path, 'r') as file:
113
- content = file.read()
114
-
115
- # Find the old title line
116
- old_title_line = next((line for line in content.split('\n') if self.compile_pattern(f"^{title_prefix}").match(line)), None)
117
- if old_title_line is None:
118
- raise ValueError(f"The artefact file does not contain the title prefix '{title_prefix}'.")
119
-
120
- # Construct the new title line without adding an extra colon
121
- new_title_line = f"{title_prefix}: {formatted_new_title}"
122
- # Replace the old title line with the new title line in the content
123
- new_content = content.replace(old_title_line, new_title_line, 1)
124
-
125
- # Write the updated content back to the file
126
- with open(artefact_path, 'w') as file:
127
- file.write(new_content)
@@ -1,3 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: ara-cli
3
- Version: 0.1.9.57
File without changes
File without changes
File without changes
File without changes
File without changes