code-aide 1.11.2__tar.gz → 1.11.4__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.
- {code_aide-1.11.2 → code_aide-1.11.4}/PKG-INFO +1 -1
- {code_aide-1.11.2 → code_aide-1.11.4}/src/code_aide/__init__.py +1 -1
- {code_aide-1.11.2 → code_aide-1.11.4}/src/code_aide/config.py +2 -8
- {code_aide-1.11.2 → code_aide-1.11.4}/src/code_aide/install.py +28 -5
- {code_aide-1.11.2 → code_aide-1.11.4}/src/code_aide/operations.py +18 -12
- {code_aide-1.11.2 → code_aide-1.11.4}/.github/workflows/ci.yml +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/.github/workflows/publish.yml +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/.gitignore +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/.gitlab-ci.yml +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/.pre-commit-config.yaml +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/AGENTS.md +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/CLAUDE.md +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/LICENSE +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/README.md +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/TODO.md +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/pyproject.toml +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/script-archive/README.md +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/script-archive/amp-install.sh +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/script-archive/claude-install.sh +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/script-archive/cursor-install.sh +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/specs/auto-migrate-deprecated-installs.md +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/specs/claude-native-installer-migration.md +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/specs/missing-coding-llm-cli-tools.md +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/specs/pre-commit-uv-setup.md +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/specs/remove-bundled-version-baseline.md +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/specs/unify-upgrade-eligibility-with-shared-evaluator.md +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/src/code_aide/__main__.py +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/src/code_aide/commands_actions.py +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/src/code_aide/commands_tools.py +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/src/code_aide/console.py +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/src/code_aide/constants.py +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/src/code_aide/data/tools.json +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/src/code_aide/detection.py +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/src/code_aide/entry.py +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/src/code_aide/install_types.py +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/src/code_aide/prereqs.py +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/src/code_aide/status.py +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/src/code_aide/versions.py +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/tests/test_commands_actions.py +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/tests/test_commands_tools.py +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/tests/test_config.py +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/tests/test_console.py +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/tests/test_constants.py +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/tests/test_detection.py +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/tests/test_install.py +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/tests/test_install_types.py +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/tests/test_operations.py +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/tests/test_status.py +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/tests/test_versions.py +0 -0
- {code_aide-1.11.2 → code_aide-1.11.4}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: code-aide
|
|
3
|
-
Version: 1.11.
|
|
3
|
+
Version: 1.11.4
|
|
4
4
|
Summary: Manage AI coding CLI tools (Claude, Copilot, Cursor, Gemini, Amp, Codex)
|
|
5
5
|
Project-URL: Homepage, https://github.com/dajobe/code-aide
|
|
6
6
|
Project-URL: Repository, https://github.com/dajobe/code-aide
|
|
@@ -78,20 +78,14 @@ def merge_cached_versions(tools: dict, cache: dict) -> None:
|
|
|
78
78
|
for field in DYNAMIC_FIELDS:
|
|
79
79
|
if field in cached_tools[tool_key]:
|
|
80
80
|
if field == "install_sha256":
|
|
81
|
-
install_type = parse_install_type(
|
|
82
|
-
tool_data.get("install_type")
|
|
83
|
-
)
|
|
81
|
+
install_type = parse_install_type(tool_data.get("install_type"))
|
|
84
82
|
if install_type == InstallType.DIRECT_DOWNLOAD:
|
|
85
83
|
# Script checksum does not apply to tarball installs;
|
|
86
84
|
# ignore stale cache from older releases.
|
|
87
85
|
continue
|
|
88
86
|
bundled_sha = tool_data.get("install_sha256")
|
|
89
87
|
cached_sha = cached_tools[tool_key][field]
|
|
90
|
-
if
|
|
91
|
-
bundled_sha
|
|
92
|
-
and cached_sha
|
|
93
|
-
and bundled_sha != cached_sha
|
|
94
|
-
):
|
|
88
|
+
if bundled_sha and cached_sha and bundled_sha != cached_sha:
|
|
95
89
|
# Bundled hash was updated in a newer release;
|
|
96
90
|
# discard stale cached hash.
|
|
97
91
|
continue
|
|
@@ -16,6 +16,28 @@ from code_aide.install_types import InstallType, get_tool_install_type
|
|
|
16
16
|
from code_aide.versions import check_script_tool, fetch_url
|
|
17
17
|
|
|
18
18
|
|
|
19
|
+
def run_pkg_command(
|
|
20
|
+
base_cmd: list,
|
|
21
|
+
pkg_name: str,
|
|
22
|
+
pkg_repo: Optional[str] = None,
|
|
23
|
+
**kwargs: Any,
|
|
24
|
+
) -> None:
|
|
25
|
+
"""Run a FreeBSD pkg command, falling back without -r if the repo is unavailable."""
|
|
26
|
+
if pkg_repo:
|
|
27
|
+
cmd = base_cmd + ["-r", pkg_repo, pkg_name]
|
|
28
|
+
try:
|
|
29
|
+
run_command(cmd, **kwargs)
|
|
30
|
+
return
|
|
31
|
+
except subprocess.CalledProcessError:
|
|
32
|
+
warning(f"Repository '{pkg_repo}' is not available. To enable it:")
|
|
33
|
+
warning(" See https://wiki.freebsd.org/Ports/Quarterly for instructions")
|
|
34
|
+
warning(" Then run: sudo pkg update")
|
|
35
|
+
info("Falling back to default repository...")
|
|
36
|
+
|
|
37
|
+
cmd = base_cmd + [pkg_name]
|
|
38
|
+
run_command(cmd, **kwargs)
|
|
39
|
+
|
|
40
|
+
|
|
19
41
|
def run_install_script(
|
|
20
42
|
install_url: str,
|
|
21
43
|
tool_name: str,
|
|
@@ -269,11 +291,12 @@ def install_tool(tool_name: str, dryrun: bool = False, force: bool = False) -> b
|
|
|
269
291
|
)
|
|
270
292
|
return True
|
|
271
293
|
try:
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
294
|
+
run_pkg_command(
|
|
295
|
+
["sudo", "pkg", "install", "-y"],
|
|
296
|
+
freebsd_port,
|
|
297
|
+
pkg_repo=pkg_repo,
|
|
298
|
+
check=True,
|
|
299
|
+
)
|
|
277
300
|
success(f"{tool_config['name']} installed successfully via FreeBSD pkg")
|
|
278
301
|
info(tool_config["next_steps"])
|
|
279
302
|
if "docs_url" in tool_config:
|
|
@@ -14,7 +14,12 @@ from code_aide.detection import (
|
|
|
14
14
|
format_install_method,
|
|
15
15
|
is_deprecated_install,
|
|
16
16
|
)
|
|
17
|
-
from code_aide.install import
|
|
17
|
+
from code_aide.install import (
|
|
18
|
+
install_direct_download,
|
|
19
|
+
install_tool,
|
|
20
|
+
run_install_script,
|
|
21
|
+
run_pkg_command,
|
|
22
|
+
)
|
|
18
23
|
from code_aide.install_types import (
|
|
19
24
|
InstallMethod,
|
|
20
25
|
InstallType,
|
|
@@ -195,12 +200,14 @@ def upgrade_tool(tool_name: str) -> UpgradeResult:
|
|
|
195
200
|
if not pkg_name:
|
|
196
201
|
error(f"No FreeBSD port configured for {tool_config['name']}")
|
|
197
202
|
return UpgradeResult.FAILED
|
|
198
|
-
cmd = ["sudo", "pkg", "upgrade", "-y"]
|
|
199
203
|
pkg_repo = tool_config.get("freebsd_pkg_repo")
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
+
run_pkg_command(
|
|
205
|
+
["sudo", "pkg", "install", "-y", "-f"],
|
|
206
|
+
pkg_name,
|
|
207
|
+
pkg_repo=pkg_repo,
|
|
208
|
+
check=True,
|
|
209
|
+
capture=False,
|
|
210
|
+
)
|
|
204
211
|
|
|
205
212
|
elif method == InstallMethod.SYSTEM:
|
|
206
213
|
error(
|
|
@@ -344,12 +351,11 @@ def remove_tool(tool_name: str) -> bool:
|
|
|
344
351
|
if not pkg_name:
|
|
345
352
|
error(f"No FreeBSD port configured for {tool_config['name']}")
|
|
346
353
|
return False
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
run_command(cmd, check=True, capture=False)
|
|
354
|
+
run_command(
|
|
355
|
+
["sudo", "pkg", "delete", "-y", pkg_name],
|
|
356
|
+
check=True,
|
|
357
|
+
capture=False,
|
|
358
|
+
)
|
|
353
359
|
success(f"{tool_config['name']} removed successfully")
|
|
354
360
|
|
|
355
361
|
elif method == InstallMethod.SYSTEM:
|
|
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
|
{code_aide-1.11.2 → code_aide-1.11.4}/specs/unify-upgrade-eligibility-with-shared-evaluator.md
RENAMED
|
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
|