ara-cli 0.1.9.96__py3-none-any.whl → 0.1.10.1__py3-none-any.whl

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.

Potentially problematic release.


This version of ara-cli might be problematic. Click here for more details.

Files changed (48) hide show
  1. ara_cli/__init__.py +1 -1
  2. ara_cli/__main__.py +141 -103
  3. ara_cli/ara_command_action.py +65 -7
  4. ara_cli/ara_config.py +118 -94
  5. ara_cli/ara_subcommands/__init__.py +0 -0
  6. ara_cli/ara_subcommands/autofix.py +26 -0
  7. ara_cli/ara_subcommands/chat.py +27 -0
  8. ara_cli/ara_subcommands/classifier_directory.py +16 -0
  9. ara_cli/ara_subcommands/common.py +100 -0
  10. ara_cli/ara_subcommands/create.py +75 -0
  11. ara_cli/ara_subcommands/delete.py +22 -0
  12. ara_cli/ara_subcommands/extract.py +22 -0
  13. ara_cli/ara_subcommands/fetch_templates.py +14 -0
  14. ara_cli/ara_subcommands/list.py +65 -0
  15. ara_cli/ara_subcommands/list_tags.py +25 -0
  16. ara_cli/ara_subcommands/load.py +48 -0
  17. ara_cli/ara_subcommands/prompt.py +136 -0
  18. ara_cli/ara_subcommands/read.py +47 -0
  19. ara_cli/ara_subcommands/read_status.py +20 -0
  20. ara_cli/ara_subcommands/read_user.py +20 -0
  21. ara_cli/ara_subcommands/reconnect.py +27 -0
  22. ara_cli/ara_subcommands/rename.py +22 -0
  23. ara_cli/ara_subcommands/scan.py +14 -0
  24. ara_cli/ara_subcommands/set_status.py +22 -0
  25. ara_cli/ara_subcommands/set_user.py +22 -0
  26. ara_cli/ara_subcommands/template.py +16 -0
  27. ara_cli/artefact_models/artefact_model.py +88 -19
  28. ara_cli/artefact_models/artefact_templates.py +18 -9
  29. ara_cli/artefact_models/userstory_artefact_model.py +2 -2
  30. ara_cli/artefact_scan.py +2 -2
  31. ara_cli/chat.py +204 -142
  32. ara_cli/commands/read_command.py +17 -4
  33. ara_cli/completers.py +144 -0
  34. ara_cli/prompt_handler.py +268 -127
  35. ara_cli/tag_extractor.py +33 -16
  36. ara_cli/template_loader.py +245 -0
  37. ara_cli/version.py +1 -1
  38. {ara_cli-0.1.9.96.dist-info → ara_cli-0.1.10.1.dist-info}/METADATA +3 -1
  39. {ara_cli-0.1.9.96.dist-info → ara_cli-0.1.10.1.dist-info}/RECORD +47 -23
  40. tests/test_artefact_scan.py +1 -1
  41. tests/test_chat.py +1840 -574
  42. tests/test_prompt_handler.py +40 -4
  43. tests/test_tag_extractor.py +19 -13
  44. tests/test_template_loader.py +192 -0
  45. ara_cli/ara_command_parser.py +0 -565
  46. {ara_cli-0.1.9.96.dist-info → ara_cli-0.1.10.1.dist-info}/WHEEL +0 -0
  47. {ara_cli-0.1.9.96.dist-info → ara_cli-0.1.10.1.dist-info}/entry_points.txt +0 -0
  48. {ara_cli-0.1.9.96.dist-info → ara_cli-0.1.10.1.dist-info}/top_level.txt +0 -0
@@ -29,7 +29,8 @@ def _default_vision(title: str, use_default_contribution: bool) -> VisionArtefac
29
29
  our_product="<statement of primary differentiation>"
30
30
  )
31
31
  return VisionArtefact(
32
- tags=["sample_tag"],
32
+ tags=[],
33
+ author="creator_unknown",
33
34
  title=title,
34
35
  description="<further optional description to understand the vision, markdown capable text formatting>",
35
36
  intent=intent,
@@ -44,7 +45,8 @@ def _default_businessgoal(title: str, use_default_contribution: bool) -> Busines
44
45
  i_want="<something that helps me to reach my monetary goal>"
45
46
  )
46
47
  return BusinessgoalArtefact(
47
- tags=["sample_tag"],
48
+ tags=[],
49
+ author="creator_unknown",
48
50
  title=title,
49
51
  description="<further optional description to understand the businessgoal, markdown capable text formatting>",
50
52
  intent=intent,
@@ -57,7 +59,8 @@ def _default_capability(title: str, use_default_contribution: bool) -> Capabilit
57
59
  to_be_able_to="<needed capability for stakeholders that are the enablers/relevant for reaching the business goal>"
58
60
  )
59
61
  return CapabilityArtefact(
60
- tags=["sample_tag"],
62
+ tags=[],
63
+ author="creator_unknown",
61
64
  title=title,
62
65
  description="<further optional description to understand the capability, markdown capable text formatting>",
63
66
  intent=intent,
@@ -77,7 +80,8 @@ def _default_epic(title: str, use_default_contribution: bool) -> EpicArtefact:
77
80
  "<rule needed to fulfill the wanted product behavior>"
78
81
  ]
79
82
  return EpicArtefact(
80
- tags=["sample_tag"],
83
+ tags=[],
84
+ author="creator_unknown",
81
85
  title=title,
82
86
  description="<further optional description to understand the epic, markdown capable text formatting>",
83
87
  intent=intent,
@@ -98,7 +102,8 @@ def _default_userstory(title: str, use_default_contribution: bool) -> UserstoryA
98
102
  "<rule needed to fulfill the wanted product behavior>"
99
103
  ]
100
104
  return UserstoryArtefact(
101
- tags=["sample_tag"],
105
+ tags=[],
106
+ author="creator_unknown",
102
107
  title=title,
103
108
  description="<further optional description to understand the userstory, markdown capable text formatting>",
104
109
  intent=intent,
@@ -110,7 +115,8 @@ def _default_userstory(title: str, use_default_contribution: bool) -> UserstoryA
110
115
 
111
116
  def _default_example(title: str, use_default_contribution: bool) -> ExampleArtefact:
112
117
  return ExampleArtefact(
113
- tags=["sample_tag"],
118
+ tags=[],
119
+ author="creator_unknown",
114
120
  title=title,
115
121
  description="<further optional description to understand the example, markdown capable text formatting>",
116
122
  contribution=default_contribution() if use_default_contribution else None
@@ -130,7 +136,8 @@ def _default_keyfeature(title: str, use_default_contribution: bool) -> Keyfeatur
130
136
  THEN some result is to be expected
131
137
  AND some other result is to be expected>"""
132
138
  return KeyfeatureArtefact(
133
- tags=["sample_tag"],
139
+ tags=[],
140
+ author="creator_unknown",
134
141
  title=title,
135
142
  description=description,
136
143
  intent=intent,
@@ -185,7 +192,8 @@ def _default_feature(title: str, use_default_contribution: bool) -> FeatureArtef
185
192
  description = """<further optional description to understand the feature, no format defined, the example artefact is only a placeholder>"""
186
193
 
187
194
  return FeatureArtefact(
188
- tags=["sample_tag"],
195
+ tags=[],
196
+ author="creator_unknown",
189
197
  title=title,
190
198
  description=description,
191
199
  intent=intent,
@@ -214,7 +222,8 @@ def _default_issue(title: str, use_default_contribution: bool) -> IssueArtefact:
214
222
  *or optional free text description*"""
215
223
 
216
224
  return IssueArtefact(
217
- tags=["sample_tag"],
225
+ tags=[],
226
+ author="creator_unknown",
218
227
  title=title,
219
228
  description=description,
220
229
  additional_description=additional_description,
@@ -171,7 +171,7 @@ class UserstoryArtefact(Artefact):
171
171
  rules = self._serialize_rules()
172
172
 
173
173
  lines = []
174
- if self.tags:
174
+ if tags: # Changed from self.tags to tags to include all tag types
175
175
  lines.append(tags)
176
176
  lines.append(title)
177
177
  lines.append("")
@@ -188,4 +188,4 @@ class UserstoryArtefact(Artefact):
188
188
  lines.append(description)
189
189
  lines.append("")
190
190
 
191
- return '\n'.join(lines)
191
+ return '\n'.join(lines)
ara_cli/artefact_scan.py CHANGED
@@ -25,10 +25,10 @@ def is_rule_valid(contribution, classified_artefact_info) -> bool:
25
25
  if not rule:
26
26
  return True
27
27
  parent = ArtefactReader.read_artefact(contribution.artefact_name, contribution.classifier)
28
- if not parent or not parent.rules:
28
+ if not parent:
29
29
  return True
30
30
  rules = parent.rules
31
- if rule not in rules:
31
+ if not rules or rule not in rules:
32
32
  return False
33
33
  return True
34
34