invar-tools 1.17.12__py3-none-any.whl → 1.17.13__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.
- invar/shell/commands/guard.py +20 -4
- {invar_tools-1.17.12.dist-info → invar_tools-1.17.13.dist-info}/METADATA +1 -1
- {invar_tools-1.17.12.dist-info → invar_tools-1.17.13.dist-info}/RECORD +8 -8
- {invar_tools-1.17.12.dist-info → invar_tools-1.17.13.dist-info}/WHEEL +0 -0
- {invar_tools-1.17.12.dist-info → invar_tools-1.17.13.dist-info}/entry_points.txt +0 -0
- {invar_tools-1.17.12.dist-info → invar_tools-1.17.13.dist-info}/licenses/LICENSE +0 -0
- {invar_tools-1.17.12.dist-info → invar_tools-1.17.13.dist-info}/licenses/LICENSE-GPL +0 -0
- {invar_tools-1.17.12.dist-info → invar_tools-1.17.13.dist-info}/licenses/NOTICE +0 -0
invar/shell/commands/guard.py
CHANGED
|
@@ -190,12 +190,28 @@ def guard(
|
|
|
190
190
|
ts_result = run_typescript_guard(path if path.is_dir() else find_project_root(path))
|
|
191
191
|
match ts_result:
|
|
192
192
|
case Success(result):
|
|
193
|
-
|
|
193
|
+
if human:
|
|
194
|
+
# Human-readable Rich output
|
|
195
|
+
from invar.shell.prove.guard_ts import format_typescript_guard_v2
|
|
196
|
+
|
|
197
|
+
output = format_typescript_guard_v2(result)
|
|
198
|
+
console.print(f"[bold]TypeScript Guard[/bold] ({project_language})")
|
|
199
|
+
if result.status == "passed":
|
|
200
|
+
console.print("[green]✓ PASSED[/green]")
|
|
201
|
+
elif result.status == "skipped":
|
|
202
|
+
console.print("[yellow]⚠ SKIPPED[/yellow] (no TypeScript tools available)")
|
|
203
|
+
else:
|
|
204
|
+
console.print(f"[red]✗ FAILED[/red] ({result.error_count} errors)")
|
|
205
|
+
for v in result.violations[:10]: # Show first 10
|
|
206
|
+
console.print(f" {v.file}:{v.line}: [{v.severity}] {v.message}")
|
|
207
|
+
else:
|
|
208
|
+
# JSON output for agents
|
|
209
|
+
import json as json_mod
|
|
194
210
|
|
|
195
|
-
|
|
211
|
+
from invar.shell.prove.guard_ts import format_typescript_guard_v2
|
|
196
212
|
|
|
197
|
-
|
|
198
|
-
|
|
213
|
+
output = format_typescript_guard_v2(result)
|
|
214
|
+
console.print(json_mod.dumps(output, indent=2))
|
|
199
215
|
raise typer.Exit(0 if result.status == "passed" else 1)
|
|
200
216
|
case Failure(err):
|
|
201
217
|
console.print(f"[red]Error:[/red] {err}")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: invar-tools
|
|
3
|
-
Version: 1.17.
|
|
3
|
+
Version: 1.17.13
|
|
4
4
|
Summary: AI-native software engineering tools with design-by-contract verification
|
|
5
5
|
Project-URL: Homepage, https://github.com/tefx/invar
|
|
6
6
|
Project-URL: Documentation, https://github.com/tefx/invar#readme
|
|
@@ -2681,7 +2681,7 @@ invar/shell/ts_compiler.py,sha256=nA8brnOhThj9J_J3vAEGjDsM4NjbWQ_eX8Yf4pHPOgk,66
|
|
|
2681
2681
|
invar/shell/commands/__init__.py,sha256=MEkKwVyjI9DmkvBpJcuumXo2Pg_FFkfEr-Rr3nrAt7A,284
|
|
2682
2682
|
invar/shell/commands/doc.py,sha256=SOLDoCXXGxx_JU0PKXlAIGEF36PzconHmmAtL-rM6D4,13819
|
|
2683
2683
|
invar/shell/commands/feedback.py,sha256=lLxEeWW_71US_vlmorFrGXS8IARB9nbV6D0zruLs660,7640
|
|
2684
|
-
invar/shell/commands/guard.py,sha256=
|
|
2684
|
+
invar/shell/commands/guard.py,sha256=I1BDqthsAVmz8FnUgwkbhvy2cozmOfjs3rxQwwqFemo,25391
|
|
2685
2685
|
invar/shell/commands/hooks.py,sha256=W-SOnT4VQyUvXwipozkJwgEYfiOJGz7wksrbcdWegUg,2356
|
|
2686
2686
|
invar/shell/commands/init.py,sha256=rtoPFsfq7xRZ6lfTipWT1OejNK5wfzqu1ncXi1kizU0,23634
|
|
2687
2687
|
invar/shell/commands/merge.py,sha256=nuvKo8m32-OL-SCQlS4SLKmOZxQ3qj-1nGCx1Pgzifw,8183
|
|
@@ -2778,10 +2778,10 @@ invar/templates/skills/invar-reflect/template.md,sha256=Rr5hvbllvmd8jSLf_0ZjyKt6
|
|
|
2778
2778
|
invar/templates/skills/investigate/SKILL.md.jinja,sha256=cp6TBEixBYh1rLeeHOR1yqEnFqv1NZYePORMnavLkQI,3231
|
|
2779
2779
|
invar/templates/skills/propose/SKILL.md.jinja,sha256=6BuKiCqO1AEu3VtzMHy1QWGqr_xqG9eJlhbsKT4jev4,3463
|
|
2780
2780
|
invar/templates/skills/review/SKILL.md.jinja,sha256=ET5mbdSe_eKgJbi2LbgFC-z1aviKcHOBw7J5Q28fr4U,14105
|
|
2781
|
-
invar_tools-1.17.
|
|
2782
|
-
invar_tools-1.17.
|
|
2783
|
-
invar_tools-1.17.
|
|
2784
|
-
invar_tools-1.17.
|
|
2785
|
-
invar_tools-1.17.
|
|
2786
|
-
invar_tools-1.17.
|
|
2787
|
-
invar_tools-1.17.
|
|
2781
|
+
invar_tools-1.17.13.dist-info/METADATA,sha256=o7GKebTKZWJJJj3bYPMllH1YTrqhDqlbY5JUdngK6XA,28596
|
|
2782
|
+
invar_tools-1.17.13.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
2783
|
+
invar_tools-1.17.13.dist-info/entry_points.txt,sha256=RwH_EhqgtFPsnO6RcrwrAb70Zyfb8Mh6uUtztWnUxGk,102
|
|
2784
|
+
invar_tools-1.17.13.dist-info/licenses/LICENSE,sha256=qeFksp4H4kfTgQxPCIu3OdagXyiZcgBlVfsQ6M5oFyk,10767
|
|
2785
|
+
invar_tools-1.17.13.dist-info/licenses/LICENSE-GPL,sha256=IvZfC6ZbP7CLjytoHVzvpDZpD-Z3R_qa1GdMdWlWQ6Q,35157
|
|
2786
|
+
invar_tools-1.17.13.dist-info/licenses/NOTICE,sha256=joEyMyFhFY8Vd8tTJ-a3SirI0m2Sd0WjzqYt3sdcglc,2561
|
|
2787
|
+
invar_tools-1.17.13.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|