code-aide 1.18.1__tar.gz → 1.18.2__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.18.1 → code_aide-1.18.2}/PKG-INFO +1 -1
- {code_aide-1.18.1 → code_aide-1.18.2}/script-archive/claude-install.sh +62 -19
- {code_aide-1.18.1 → code_aide-1.18.2}/src/code_aide/__init__.py +1 -1
- {code_aide-1.18.1 → code_aide-1.18.2}/src/code_aide/data/tools.json +1 -1
- {code_aide-1.18.1 → code_aide-1.18.2}/.github/workflows/ci.yml +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/.github/workflows/publish.yml +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/.gitignore +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/.gitlab-ci.yml +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/.pre-commit-config.yaml +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/AGENTS.md +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/CLAUDE.md +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/LICENSE +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/Makefile +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/README.md +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/TODO.md +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/pyproject.toml +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/script-archive/README.md +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/script-archive/amp-install.sh +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/script-archive/antigravity-install.sh +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/script-archive/cursor-install.sh +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/specs/2026-05-03-qwen3.6-code-quality-analysis-original.md +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/specs/2026-05-03-qwen3.6-code-quality-analysis.md +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/specs/antigravity-cli-integration.md +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/specs/auto-migrate-deprecated-installs.md +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/specs/claude-native-installer-migration.md +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/specs/missing-coding-llm-cli-tools.md +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/specs/pre-commit-uv-setup.md +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/specs/remove-bundled-version-baseline.md +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/specs/unify-upgrade-eligibility-with-shared-evaluator.md +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/src/code_aide/__main__.py +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/src/code_aide/commands_actions.py +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/src/code_aide/commands_tools.py +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/src/code_aide/config.py +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/src/code_aide/console.py +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/src/code_aide/constants.py +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/src/code_aide/detection.py +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/src/code_aide/detection_types.py +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/src/code_aide/entry.py +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/src/code_aide/install.py +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/src/code_aide/install_types.py +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/src/code_aide/operation_handlers.py +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/src/code_aide/operations.py +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/src/code_aide/package_info.py +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/src/code_aide/package_managers.py +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/src/code_aide/prereqs.py +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/src/code_aide/status.py +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/src/code_aide/status_print.py +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/src/code_aide/versions.py +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/tests/test_commands_actions.py +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/tests/test_commands_tools.py +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/tests/test_config.py +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/tests/test_console.py +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/tests/test_constants.py +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/tests/test_detection.py +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/tests/test_entry.py +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/tests/test_error_paths.py +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/tests/test_install.py +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/tests/test_install_types.py +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/tests/test_operations.py +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/tests/test_package_info.py +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/tests/test_package_managers.py +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/tests/test_prereqs.py +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/tests/test_status.py +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/tests/test_versions.py +0 -0
- {code_aide-1.18.1 → code_aide-1.18.2}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: code-aide
|
|
3
|
-
Version: 1.18.
|
|
3
|
+
Version: 1.18.2
|
|
4
4
|
Summary: Manage AI coding CLI tools (Claude, Antigravity, 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
|
|
@@ -55,6 +55,11 @@ if command -v jq >/dev/null 2>&1; then
|
|
|
55
55
|
HAS_JQ=true
|
|
56
56
|
fi
|
|
57
57
|
|
|
58
|
+
HAS_ZSTD=false
|
|
59
|
+
if command -v zstd >/dev/null 2>&1; then
|
|
60
|
+
HAS_ZSTD=true
|
|
61
|
+
fi
|
|
62
|
+
|
|
58
63
|
# Download function that works with both curl and wget
|
|
59
64
|
download_file() {
|
|
60
65
|
local url="$1"
|
|
@@ -85,8 +90,9 @@ get_checksum_from_manifest() {
|
|
|
85
90
|
# Normalize JSON to single line and extract checksum
|
|
86
91
|
json=$(echo "$json" | tr -d '\n\r\t' | sed 's/ \+/ /g')
|
|
87
92
|
|
|
88
|
-
# Extract checksum for platform using bash regex
|
|
89
|
-
|
|
93
|
+
# Extract checksum for platform using bash regex. [^{}] keeps the match
|
|
94
|
+
# inside the platform's own object (manifest.zst.json nests a darwin bundle).
|
|
95
|
+
if [[ $json =~ \"$platform\"[[:space:]]*:[[:space:]]*[{][^{}]*\"checksum\"[[:space:]]*:[[:space:]]*\"([a-f0-9]{64})\" ]]; then
|
|
90
96
|
echo "${BASH_REMATCH[1]}"
|
|
91
97
|
return 0
|
|
92
98
|
fi
|
|
@@ -94,6 +100,17 @@ get_checksum_from_manifest() {
|
|
|
94
100
|
return 1
|
|
95
101
|
}
|
|
96
102
|
|
|
103
|
+
get_size_from_manifest() {
|
|
104
|
+
local json="$1"
|
|
105
|
+
local platform="$2"
|
|
106
|
+
json=$(echo "$json" | tr -d '\n\r\t' | sed 's/ \+/ /g')
|
|
107
|
+
if [[ $json =~ \"$platform\"[[:space:]]*:[[:space:]]*[{][^{}]*\"size\"[[:space:]]*:[[:space:]]*([0-9]+) ]]; then
|
|
108
|
+
echo "${BASH_REMATCH[1]}"
|
|
109
|
+
return 0
|
|
110
|
+
fi
|
|
111
|
+
return 1
|
|
112
|
+
}
|
|
113
|
+
|
|
97
114
|
# Detect platform
|
|
98
115
|
case "$(uname -s)" in
|
|
99
116
|
Darwin) os="darwin" ;;
|
|
@@ -144,8 +161,10 @@ manifest_json=$(download_file "$DOWNLOAD_BASE_URL/$version/manifest.json")
|
|
|
144
161
|
# Use jq if available, otherwise fall back to pure bash parsing
|
|
145
162
|
if [ "$HAS_JQ" = true ]; then
|
|
146
163
|
checksum=$(echo "$manifest_json" | jq -r ".platforms[\"$platform\"].checksum // empty")
|
|
164
|
+
size=$(echo "$manifest_json" | jq -r ".platforms[\"$platform\"].size // empty")
|
|
147
165
|
else
|
|
148
|
-
checksum=$(get_checksum_from_manifest "$manifest_json" "$platform")
|
|
166
|
+
checksum=$(get_checksum_from_manifest "$manifest_json" "$platform" || true)
|
|
167
|
+
size=$(get_size_from_manifest "$manifest_json" "$platform" || true)
|
|
149
168
|
fi
|
|
150
169
|
|
|
151
170
|
# Validate checksum format (SHA256 = 64 hex characters)
|
|
@@ -154,25 +173,49 @@ if [ -z "$checksum" ] || [[ ! "$checksum" =~ ^[a-f0-9]{64}$ ]]; then
|
|
|
154
173
|
exit 1
|
|
155
174
|
fi
|
|
156
175
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
if
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
fi
|
|
176
|
+
checksum_matches() {
|
|
177
|
+
local actual
|
|
178
|
+
if [ "$os" = "darwin" ]; then
|
|
179
|
+
actual=$(shasum -a 256 "$1" | cut -d' ' -f1)
|
|
180
|
+
else
|
|
181
|
+
actual=$(sha256sum "$1" | cut -d' ' -f1)
|
|
182
|
+
fi
|
|
183
|
+
[ "$actual" = "$2" ]
|
|
184
|
+
}
|
|
164
185
|
|
|
165
|
-
|
|
166
|
-
if [ "$
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
186
|
+
zst_checksum=""
|
|
187
|
+
if [ "$HAS_ZSTD" = true ] && [[ "$size" =~ ^[1-9][0-9]*$ ]]; then
|
|
188
|
+
zst_manifest_json=$(download_file "$DOWNLOAD_BASE_URL/$version/manifest.zst.json" 2>/dev/null || true)
|
|
189
|
+
if [ "$HAS_JQ" = true ]; then
|
|
190
|
+
zst_checksum=$(echo "$zst_manifest_json" | jq -r ".platforms[\"$platform\"].checksum // empty" 2>/dev/null || true)
|
|
191
|
+
else
|
|
192
|
+
zst_checksum=$(get_checksum_from_manifest "$zst_manifest_json" "$platform" || true)
|
|
193
|
+
fi
|
|
170
194
|
fi
|
|
171
195
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
196
|
+
binary_path="$DOWNLOAD_DIR/claude-$version-$platform"
|
|
197
|
+
verified=false
|
|
198
|
+
if [[ "$zst_checksum" =~ ^[a-f0-9]{64}$ ]]; then
|
|
199
|
+
if download_file "$DOWNLOAD_BASE_URL/$version/$platform/claude.zst" "$binary_path.zst" \
|
|
200
|
+
&& checksum_matches "$binary_path.zst" "$zst_checksum"; then
|
|
201
|
+
zstd -d -q -c "$binary_path.zst" 2>/dev/null | head -c "$size" > "$binary_path" || true
|
|
202
|
+
if checksum_matches "$binary_path" "$checksum"; then
|
|
203
|
+
verified=true
|
|
204
|
+
fi
|
|
205
|
+
fi
|
|
206
|
+
rm -f "$binary_path.zst"
|
|
207
|
+
fi
|
|
208
|
+
if [ "$verified" = false ]; then
|
|
209
|
+
if ! download_file "$DOWNLOAD_BASE_URL/$version/$platform/claude" "$binary_path"; then
|
|
210
|
+
echo "Download failed" >&2
|
|
211
|
+
rm -f "$binary_path"
|
|
212
|
+
exit 1
|
|
213
|
+
fi
|
|
214
|
+
if ! checksum_matches "$binary_path" "$checksum"; then
|
|
215
|
+
echo "Checksum verification failed" >&2
|
|
216
|
+
rm -f "$binary_path"
|
|
217
|
+
exit 1
|
|
218
|
+
fi
|
|
176
219
|
fi
|
|
177
220
|
|
|
178
221
|
chmod +x "$binary_path"
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"command": "claude",
|
|
34
34
|
"install_type": "script",
|
|
35
35
|
"install_url": "https://claude.ai/install.sh",
|
|
36
|
-
"install_sha256": "
|
|
36
|
+
"install_sha256": "3a68d3406cf674e17bed1733a4dcf37805e2e47d87417700007d7e1aa766a944",
|
|
37
37
|
"version_url": "https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases/latest",
|
|
38
38
|
"prerequisites": [],
|
|
39
39
|
"min_node_version": null,
|
|
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.18.1 → code_aide-1.18.2}/specs/2026-05-03-qwen3.6-code-quality-analysis-original.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
|
{code_aide-1.18.1 → code_aide-1.18.2}/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
|
|
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
|