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.
- ara_cli/__init__.py +1 -1
- ara_cli/__main__.py +141 -103
- ara_cli/ara_command_action.py +65 -7
- ara_cli/ara_config.py +118 -94
- ara_cli/ara_subcommands/__init__.py +0 -0
- ara_cli/ara_subcommands/autofix.py +26 -0
- ara_cli/ara_subcommands/chat.py +27 -0
- ara_cli/ara_subcommands/classifier_directory.py +16 -0
- ara_cli/ara_subcommands/common.py +100 -0
- ara_cli/ara_subcommands/create.py +75 -0
- ara_cli/ara_subcommands/delete.py +22 -0
- ara_cli/ara_subcommands/extract.py +22 -0
- ara_cli/ara_subcommands/fetch_templates.py +14 -0
- ara_cli/ara_subcommands/list.py +65 -0
- ara_cli/ara_subcommands/list_tags.py +25 -0
- ara_cli/ara_subcommands/load.py +48 -0
- ara_cli/ara_subcommands/prompt.py +136 -0
- ara_cli/ara_subcommands/read.py +47 -0
- ara_cli/ara_subcommands/read_status.py +20 -0
- ara_cli/ara_subcommands/read_user.py +20 -0
- ara_cli/ara_subcommands/reconnect.py +27 -0
- ara_cli/ara_subcommands/rename.py +22 -0
- ara_cli/ara_subcommands/scan.py +14 -0
- ara_cli/ara_subcommands/set_status.py +22 -0
- ara_cli/ara_subcommands/set_user.py +22 -0
- ara_cli/ara_subcommands/template.py +16 -0
- ara_cli/artefact_models/artefact_model.py +88 -19
- ara_cli/artefact_models/artefact_templates.py +18 -9
- ara_cli/artefact_models/userstory_artefact_model.py +2 -2
- ara_cli/artefact_scan.py +2 -2
- ara_cli/chat.py +204 -142
- ara_cli/commands/read_command.py +17 -4
- ara_cli/completers.py +144 -0
- ara_cli/prompt_handler.py +268 -127
- ara_cli/tag_extractor.py +33 -16
- ara_cli/template_loader.py +245 -0
- ara_cli/version.py +1 -1
- {ara_cli-0.1.9.96.dist-info → ara_cli-0.1.10.1.dist-info}/METADATA +3 -1
- {ara_cli-0.1.9.96.dist-info → ara_cli-0.1.10.1.dist-info}/RECORD +47 -23
- tests/test_artefact_scan.py +1 -1
- tests/test_chat.py +1840 -574
- tests/test_prompt_handler.py +40 -4
- tests/test_tag_extractor.py +19 -13
- tests/test_template_loader.py +192 -0
- ara_cli/ara_command_parser.py +0 -565
- {ara_cli-0.1.9.96.dist-info → ara_cli-0.1.10.1.dist-info}/WHEEL +0 -0
- {ara_cli-0.1.9.96.dist-info → ara_cli-0.1.10.1.dist-info}/entry_points.txt +0 -0
- {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=[
|
|
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=[
|
|
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=[
|
|
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=[
|
|
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=[
|
|
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=[
|
|
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=[
|
|
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=[
|
|
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=[
|
|
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
|
|
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
|
|