devflow-cli 6.3.0__py3-none-any.whl → 6.3.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.
- devflow_cli/__init__.py +1 -1
- devflow_cli/core/automatic_evidence.py +27 -6
- {devflow_cli-6.3.0.dist-info → devflow_cli-6.3.1.dist-info}/METADATA +1 -1
- {devflow_cli-6.3.0.dist-info → devflow_cli-6.3.1.dist-info}/RECORD +7 -7
- {devflow_cli-6.3.0.dist-info → devflow_cli-6.3.1.dist-info}/WHEEL +0 -0
- {devflow_cli-6.3.0.dist-info → devflow_cli-6.3.1.dist-info}/entry_points.txt +0 -0
- {devflow_cli-6.3.0.dist-info → devflow_cli-6.3.1.dist-info}/licenses/LICENSE +0 -0
devflow_cli/__init__.py
CHANGED
|
@@ -6,6 +6,7 @@ import hashlib
|
|
|
6
6
|
import json
|
|
7
7
|
import os
|
|
8
8
|
import re
|
|
9
|
+
import shutil
|
|
9
10
|
import tempfile
|
|
10
11
|
from dataclasses import dataclass, replace
|
|
11
12
|
from datetime import datetime, timezone
|
|
@@ -53,6 +54,10 @@ MAVEN_TEST_SUMMARY_RE = re.compile(
|
|
|
53
54
|
)
|
|
54
55
|
|
|
55
56
|
|
|
57
|
+
class RegressionInterpreterUnavailable(RuntimeError):
|
|
58
|
+
"""Aucun interpreteur Python n'est disponible pour la regression."""
|
|
59
|
+
|
|
60
|
+
|
|
56
61
|
@dataclass(frozen=True)
|
|
57
62
|
class AutomaticVerificationOutcome:
|
|
58
63
|
passed: bool
|
|
@@ -220,10 +225,21 @@ def select_regression_commands(
|
|
|
220
225
|
if commands:
|
|
221
226
|
return commands
|
|
222
227
|
if (project_root / "pyproject.toml").is_file() and (project_root / "src").is_dir():
|
|
228
|
+
if (project_root / "uv.lock").is_file():
|
|
229
|
+
interpreter = ["uv", "run", "python"]
|
|
230
|
+
else:
|
|
231
|
+
name = next(
|
|
232
|
+
(name for name in ("python3", "python") if shutil.which(name)), None
|
|
233
|
+
)
|
|
234
|
+
if name is None:
|
|
235
|
+
raise RegressionInterpreterUnavailable(
|
|
236
|
+
"ni python3 ni python dans le PATH pour AUTO-REGRESSION-PYTHON"
|
|
237
|
+
)
|
|
238
|
+
interpreter = [name]
|
|
223
239
|
return [
|
|
224
240
|
ValidationCommand(
|
|
225
241
|
"AUTO-REGRESSION-PYTHON",
|
|
226
|
-
[
|
|
242
|
+
[*interpreter, "-m", "compileall", "-q", "src"],
|
|
227
243
|
True,
|
|
228
244
|
300,
|
|
229
245
|
)
|
|
@@ -453,11 +469,16 @@ def run_automatic_verification(
|
|
|
453
469
|
return AutomaticVerificationOutcome(False, "invalid-implementation-result", str(exc))
|
|
454
470
|
|
|
455
471
|
commands = select_validation_commands(project_root, changed_files)
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
472
|
+
try:
|
|
473
|
+
regression_commands = (
|
|
474
|
+
select_regression_commands(project_root, changed_files)
|
|
475
|
+
if state.profile in {"standard", "deep", "critical"}
|
|
476
|
+
else []
|
|
477
|
+
)
|
|
478
|
+
except RegressionInterpreterUnavailable as exc:
|
|
479
|
+
return AutomaticVerificationOutcome(
|
|
480
|
+
False, "regression-interpreter-unavailable", str(exc)
|
|
481
|
+
)
|
|
461
482
|
security_commands: list[ValidationCommand] = []
|
|
462
483
|
if state.profile in {"standard", "deep", "critical"}:
|
|
463
484
|
try:
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
devflow_cli/__init__.py,sha256=
|
|
1
|
+
devflow_cli/__init__.py,sha256=ioYcjkCh1DVPMG-XJWw4S3Wnhpfiz9DBZFiiy05u2X0,1002
|
|
2
2
|
devflow_cli/cli.py,sha256=SY0nIY0R1XjoVxGzSPn7Qcojsh6bMHHmiSKigZBndWE,2216
|
|
3
3
|
devflow_cli/adapters/__init__.py,sha256=RkjHPU2Lp4hSVIq2iOmyTrv2zYU9NuiIF9wEMWzLdMI,377
|
|
4
4
|
devflow_cli/adapters/agents.py,sha256=8_y70AIhmtuR8kyPN3Wpj0-i76k9wd_uaycVKTqC96g,26503
|
|
@@ -28,7 +28,7 @@ devflow_cli/core/adaptive_runner.py,sha256=o9HHPNZJyA9u_zui9pNZrzMkH_jzszbI-GMwe
|
|
|
28
28
|
devflow_cli/core/adaptive_workflow.py,sha256=qsjkahK9yklf6LjyQn69PVl9v0AoX2YPQiG2_umpb_U,13065
|
|
29
29
|
devflow_cli/core/agent_failure.py,sha256=iX4q249lAHeVdD_ZF1aObmU-FX6sjfYP9dfLSnWGAD0,3771
|
|
30
30
|
devflow_cli/core/assessment.py,sha256=l5QRntLJyBx3MdN-kepmMAsruHdJsG4TDgSdgOSHkqU,10062
|
|
31
|
-
devflow_cli/core/automatic_evidence.py,sha256=
|
|
31
|
+
devflow_cli/core/automatic_evidence.py,sha256=xDCsxrNzZh1bWfltRnmv-aI4F_yAA7bKc5o_UKWQ3NQ,37715
|
|
32
32
|
devflow_cli/core/catalog.py,sha256=nLPc78JkbISaSxJnHlWiMi_lvepaumbfwcjgLuVy7Zc,3102
|
|
33
33
|
devflow_cli/core/contract_schemas.py,sha256=ugHrC4vcRpf3Dn_4JGHdBIkVr_TjnKu5dvvy3b0yKec,4480
|
|
34
34
|
devflow_cli/core/docgen.py,sha256=EPDP0EKIToGYN1inQRj3CSYzADNtLTI_YCFYU4YWRuM,3075
|
|
@@ -87,8 +87,8 @@ devflow_cli/resources/templates/contracts/api-template.md,sha256=rC5v7JBz71PznCn
|
|
|
87
87
|
devflow_cli/resources/templates/contracts/components-template.md,sha256=XIWfEXfC72sNmL5OA3V-7xIywkNDU2DBPLfyiagOWcs,484
|
|
88
88
|
devflow_cli/resources/templates/contracts/interfaces-template.md,sha256=kf8B7b6HsmN7jyRlLNU7RnZl0rTMlI5s97yVRyI-6yc,336
|
|
89
89
|
devflow_cli/resources/templates/contracts/services-template.md,sha256=cFafKCyLmq_a7aR7G0LXAaMO2z4Fuflq6iKdxfVg0vg,477
|
|
90
|
-
devflow_cli-6.3.
|
|
91
|
-
devflow_cli-6.3.
|
|
92
|
-
devflow_cli-6.3.
|
|
93
|
-
devflow_cli-6.3.
|
|
94
|
-
devflow_cli-6.3.
|
|
90
|
+
devflow_cli-6.3.1.dist-info/METADATA,sha256=np6jNYj3Bc5RPgU6DjCUP_QfYG0wQ0_eKei0qnhtAR4,4275
|
|
91
|
+
devflow_cli-6.3.1.dist-info/WHEEL,sha256=W3fkpkm7-wf9vBI5Z-7s0eWkeM-spu78I8Neb98DeEg,87
|
|
92
|
+
devflow_cli-6.3.1.dist-info/entry_points.txt,sha256=GVJ6bMvFpqyO5589iC4nFKeGTpGIW8aKn_QPPpSZ6kU,48
|
|
93
|
+
devflow_cli-6.3.1.dist-info/licenses/LICENSE,sha256=v79PvnmqOdKhQiOa_QcWxng4q8GuGscLOwi7ygUpwpo,1070
|
|
94
|
+
devflow_cli-6.3.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|