custos-code 0.0.2__tar.gz → 0.0.3__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.
- {custos_code-0.0.2 → custos_code-0.0.3}/PKG-INFO +1 -1
- {custos_code-0.0.2 → custos_code-0.0.3}/pyproject.toml +1 -1
- {custos_code-0.0.2 → custos_code-0.0.3}/src/custos_code/cli.py +24 -0
- {custos_code-0.0.2 → custos_code-0.0.3}/.gitignore +0 -0
- {custos_code-0.0.2 → custos_code-0.0.3}/LICENSE +0 -0
- {custos_code-0.0.2 → custos_code-0.0.3}/README.md +0 -0
- {custos_code-0.0.2 → custos_code-0.0.3}/src/custos_code/__init__.py +0 -0
- {custos_code-0.0.2 → custos_code-0.0.3}/src/custos_code/adapters/__init__.py +0 -0
- {custos_code-0.0.2 → custos_code-0.0.3}/src/custos_code/adapters/claude_code.py +0 -0
- {custos_code-0.0.2 → custos_code-0.0.3}/src/custos_code/adapters/codex.py +0 -0
- {custos_code-0.0.2 → custos_code-0.0.3}/src/custos_code/adapters/copilot.py +0 -0
- {custos_code-0.0.2 → custos_code-0.0.3}/src/custos_code/adapters/devin.py +0 -0
- {custos_code-0.0.2 → custos_code-0.0.3}/src/custos_code/adapters/machine.py +0 -0
- {custos_code-0.0.2 → custos_code-0.0.3}/src/custos_code/adapters/otel.py +0 -0
- {custos_code-0.0.2 → custos_code-0.0.3}/src/custos_code/adapters/state.py +0 -0
- {custos_code-0.0.2 → custos_code-0.0.3}/src/custos_code/arch.py +0 -0
- {custos_code-0.0.2 → custos_code-0.0.3}/src/custos_code/claims.py +0 -0
- {custos_code-0.0.2 → custos_code-0.0.3}/src/custos_code/compress.py +0 -0
- {custos_code-0.0.2 → custos_code-0.0.3}/src/custos_code/cost.py +0 -0
- {custos_code-0.0.2 → custos_code-0.0.3}/src/custos_code/demo_fixtures/__init__.py +0 -0
- {custos_code-0.0.2 → custos_code-0.0.3}/src/custos_code/demo_fixtures/ok_tests_0.jsonl +0 -0
- {custos_code-0.0.2 → custos_code-0.0.3}/src/custos_code/demo_fixtures/trap_echo_0.jsonl +0 -0
- {custos_code-0.0.2 → custos_code-0.0.3}/src/custos_code/demo_fixtures/trap_failing_0.jsonl +0 -0
- {custos_code-0.0.2 → custos_code-0.0.3}/src/custos_code/demo_fixtures/trap_ghost_0.jsonl +0 -0
- {custos_code-0.0.2 → custos_code-0.0.3}/src/custos_code/demo_fixtures/trap_piped_0.jsonl +0 -0
- {custos_code-0.0.2 → custos_code-0.0.3}/src/custos_code/feedback.py +0 -0
- {custos_code-0.0.2 → custos_code-0.0.3}/src/custos_code/hooks.py +0 -0
- {custos_code-0.0.2 → custos_code-0.0.3}/src/custos_code/judge.py +0 -0
- {custos_code-0.0.2 → custos_code-0.0.3}/src/custos_code/ledger.py +0 -0
- {custos_code-0.0.2 → custos_code-0.0.3}/src/custos_code/models.py +0 -0
- {custos_code-0.0.2 → custos_code-0.0.3}/src/custos_code/parsers.py +0 -0
- {custos_code-0.0.2 → custos_code-0.0.3}/src/custos_code/report.py +0 -0
- {custos_code-0.0.2 → custos_code-0.0.3}/src/custos_code/rerun.py +0 -0
- {custos_code-0.0.2 → custos_code-0.0.3}/src/custos_code/review.py +0 -0
- {custos_code-0.0.2 → custos_code-0.0.3}/src/custos_code/rules.py +0 -0
- {custos_code-0.0.2 → custos_code-0.0.3}/src/custos_code/scope.py +0 -0
- {custos_code-0.0.2 → custos_code-0.0.3}/src/custos_code/twopass.py +0 -0
- {custos_code-0.0.2 → custos_code-0.0.3}/src/custos_code/verdicts.py +0 -0
- {custos_code-0.0.2 → custos_code-0.0.3}/src/custos_code/watchdog.py +0 -0
|
@@ -11,6 +11,7 @@ from __future__ import annotations
|
|
|
11
11
|
import pathlib
|
|
12
12
|
import re
|
|
13
13
|
from dataclasses import dataclass
|
|
14
|
+
from importlib.metadata import PackageNotFoundError, version
|
|
14
15
|
|
|
15
16
|
import typer
|
|
16
17
|
from rich.console import Console
|
|
@@ -42,6 +43,29 @@ app = typer.Typer(
|
|
|
42
43
|
console = Console()
|
|
43
44
|
|
|
44
45
|
|
|
46
|
+
def _print_version(show: bool) -> None:
|
|
47
|
+
if not show:
|
|
48
|
+
return
|
|
49
|
+
# Read from the installed package's own metadata, not a literal here, so this can never say
|
|
50
|
+
# something other than what was actually installed -- a hardcoded string drifts the moment a
|
|
51
|
+
# release changes pyproject.toml without someone remembering this one too.
|
|
52
|
+
try:
|
|
53
|
+
console.print(f"custos-code {version('custos-code')}")
|
|
54
|
+
except PackageNotFoundError:
|
|
55
|
+
console.print("custos-code (unknown version: not installed as a package)")
|
|
56
|
+
raise typer.Exit()
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
@app.callback()
|
|
60
|
+
def _main(
|
|
61
|
+
version_: bool = typer.Option(
|
|
62
|
+
False, "--version", "-V", callback=_print_version, is_eager=True,
|
|
63
|
+
help="Print the installed version and exit.",
|
|
64
|
+
),
|
|
65
|
+
) -> None:
|
|
66
|
+
return
|
|
67
|
+
|
|
68
|
+
|
|
45
69
|
@app.command()
|
|
46
70
|
def check(
|
|
47
71
|
session: str | None = typer.Argument(
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|