From 4d7d42cb0ad7b3136e9a3a456bedf0f156d02c2f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 26 Apr 2026 07:47:50 +0000 Subject: [PATCH 1/2] docs: document uv-build endpoint and query parameters Agent-Logs-Url: https://github.com/version-fox/version-vault/sessions/b635ec0d-effa-4a32-b741-a57c4cb23922 Co-authored-by: bytemain <13938334+bytemain@users.noreply.github.com> --- README.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/README.md b/README.md index 6dfbca3..013ec7f 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,34 @@ Get sdk versions curl https://version-vault.cdn.dog/python/pyenv ``` +### uv-build versions + +Fetch the Python builds list provided by [`astral-sh/uv`](https://github.com/astral-sh/uv) (sourced from `crates/uv-python/download-metadata.json` of the latest release). + +```sh +curl https://version-vault.cdn.dog/python/uv-build +``` + +You can narrow down the result by passing query parameters. Filtering happens server-side, so the response is smaller and faster to consume. + +| Query | Description | Example values | +| ----- | ----------- | -------------- | +| `os` | Operating system / platform | `darwin`, `linux`, `windows` | +| `arch` | CPU architecture family | `x86_64`, `aarch64`, `armv7` | +| `libc` | C library type | `none`, `gnu`, `musl` | + +Examples: + +```sh +# Linux + aarch64 + glibc builds only +curl "https://version-vault.cdn.dog/python/uv-build?os=linux&arch=aarch64&libc=gnu" + +# All macOS builds +curl "https://version-vault.cdn.dog/python/uv-build?os=darwin" +``` + +Pass `force=1` to bypass the cache for this endpoint. + ## Development Install dependencies: From e9e60b993e57331d0ccc0d7edf36fac7ee5cfa86 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 26 Apr 2026 07:58:34 +0000 Subject: [PATCH 2/2] fix: include filter query params in cache key so filters take effect Agent-Logs-Url: https://github.com/version-fox/version-vault/sessions/98862790-0e94-4333-ad97-cf526e265a97 Co-authored-by: bytemain <13938334+bytemain@users.noreply.github.com> --- src/utils/cache-helper.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/utils/cache-helper.ts b/src/utils/cache-helper.ts index 3fe4315..1e8ec10 100644 --- a/src/utils/cache-helper.ts +++ b/src/utils/cache-helper.ts @@ -67,10 +67,16 @@ export async function withCache( } /** - * Create cache key from request, ignoring query params + * Create cache key from request. + * + * Query parameters are preserved so that filtered responses (e.g. `?os=darwin`) + * are cached separately from unfiltered ones. The `force` parameter is stripped + * because it only controls cache-bypass behavior and must not affect the key. */ export function createCacheKey(request: Request): Request { const cacheUrl = new URL(request.url); - cacheUrl.search = ""; + cacheUrl.searchParams.delete("force"); + // Sort remaining params so equivalent queries map to the same cache entry + cacheUrl.searchParams.sort(); return new Request(cacheUrl.toString(), request); }