Commit graph

346 commits

Author SHA1 Message Date
Yujong Lee
5aeb367d2a fix(rust): preserve Python settings coercion at the native boundary 2026-09-21 21:32:33 +00:00
Yujong Lee
52216df1ff fix(rust): preserve structured conversion semantics 2026-09-21 21:32:33 +00:00
Yujong Lee
a5571333fb refactor(cache-valkey-semantic): reuse cache-redis connection layer
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 21:25:22 +00:00
Yujong Lee
4a8826e03b refactor(cache-disk): tidy python adapter
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 21:23:56 +00:00
Yujong Lee
2b257bd9a3 feat(cache-redis): expose the pooled connection handling for reuse
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 21:23:28 +00:00
Yujong Lee
6237dd51cb fix(cache-redis-semantic): isolate on an incompatible index after a lost create race
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 21:22:59 +00:00
Yujong Lee
e729820301 revert(rust): drop wheel-size release profile tweaks, gate moves in #42300
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 21:22:27 +00:00
Yujong Lee
3ce436af5e refactor(cache-disk): isolate python compatibility behind a value adapter
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 21:22:22 +00:00
Yujong Lee
769917a7e8 revert(rust-wheel): restore release optimization
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 21:22:15 +00:00
Yujong Lee
974d9f97ff revert(rust): restore thin LTO in the release profile
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 21:22:09 +00:00
Yujong Lee
4509eb9914 fix(cache): align native semantic cache scope keys
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 21:22:01 +00:00
Yujong Lee
d2f8e8c835 fix(cache-redis-semantic): harden index initialization
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 21:21:57 +00:00
Yujong Lee
7c8f7d3f2c fix(rust): reduce native wheel size
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 21:18:16 +00:00
Yujong Lee
0e281d458f fix(rust): treat ConditionNotMet as an existing blob on sync Azure Blob writes
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 21:16:19 +00:00
Yujong Lee
793efe3eb4 fix(rust): restore hot-path opt levels and validate s3 binding destination
Keep sigv4 signing, eventstream decoding, smithy runtime api and types at opt-level 3 since they serve Bedrock request and streaming hot paths, and make the S3 facade binding reject region and endpoint mismatches between the projected configuration and the native handle

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 21:15:42 +00:00
Yujong Lee
96224f1c0f fix(cache-redis): fan cluster PING out to every node and skip pool return pings
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 21:11:22 +00:00
Yujong Lee
a9ff1de42b build(rust): switch release LTO to fat for wheel size headroom
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 21:09:36 +00:00
Yujong Lee
0d09e9d892 fix(rust-wheel): reduce native extension size
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 21:04:57 +00:00
Yujong Lee
5acfcfa4fe feat(rust): native Azure Blob response cache backend
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 21:00:48 +00:00
Yujong Lee
0672fcbafe fix(rust): shrink release wheel under the 25 MB native limit
Optimize the aws-sdk dependency tree and cache-s3 for size in the release profile and switch to fat LTO so the native extension stays under the wheel verification gate (27.87 -> 21.88 MB)

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:59:13 +00:00
Yujong Lee
d3f2ddba05 fix(python-bridge): allow instance shadowing only for validated config attributes
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:58:02 +00:00
Yujong Lee
25af094e27 fix(python-bridge): allow instance attributes to shadow class defaults
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:52:28 +00:00
Yujong Lee
cf8a211048 test(rust): pin disk counter restart after a fractional value
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:52:03 +00:00
Yujong Lee
83d4ce05c9 feat(rust-cache): serve RedisClusterCache natively as a Redis topology
Extend cache-redis so RedisTopology::Cluster routes single-key commands by
hash slot, groups pipelines by slot while keeping reply order, scans and
scoped-flushes every primary, and fans admin commands out to all nodes.
The bridge projects RedisClusterCache startup_nodes into the typed topology,
accepts the exact RedisClusterCache identity, guards nodes_manager state,
and falls back to Python for anything it cannot project.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:49:21 +00:00
Yujong Lee
c7458bf5fe refactor(rust): build vault requests without local reassignment
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:42:49 +00:00
Yujong Lee
56237af7a9 test(cache): add Valkey semantic contract coverage
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:42:41 +00:00
Yujong Lee
605729a194 fix(rust): pin aws-sdk-s3 without relaxing eventstream pins
Keep the exact eventstream pins but move them to =0.61.4 so aws-runtime 1.9.4's eventstream requirement resolves, downgrade aws-sdk-s3 to 1.146.1, and echo the context ttl from S3Cache::get_ttl to match Python

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:39:17 +00:00
Yujong Lee
10b977fe29 feat(python-bridge): serve redis-semantic caches natively
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:38:33 +00:00
Yujong Lee
a6d1497932 test(rust): add GCS native cache parity fixtures
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:38:20 +00:00
Yujong Lee
94b8bf7fd6 feat(rust): add native disk cache backend
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:37:26 +00:00
Yujong Lee
7d597b2dd4 fix(rust): coalesce CyberArk authentication
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:36:59 +00:00
Yujong Lee
bfb4a8a2b3 refactor(rust): build Azure Key Vault auth inputs directly and keep credential tests offline
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:36:10 +00:00
Yujong Lee
788e24655a feat(rust): add native S3 cache backend
Mirror the Redis vertical slice for S3Cache: a litellm-cache-s3 crate built on aws-sdk-s3 with path-style custom endpoints, python-identical put_object metadata (cache-control, expires, content headers), expires-aware get_object, and no-op flush/unsupported test_connection. Wire it through python-bridge config projection, facade guards, test handle, and binding dispatch, plus an in-process S3 stub and parity tests.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:35:08 +00:00
Yujong Lee
ac1c4a399f refactor(cache-redis-semantic): drop the unused default index name
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:34:57 +00:00
Yujong Lee
c311073a17 feat(cache-redis-semantic): expose backend accessors for bridge binding
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:34:51 +00:00
Yujong Lee
a69ebb7ac4 feat(cache): add the unsupported operation error
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:34:39 +00:00
Yujong Lee
4db3481244 feat(python-bridge): serve ValkeySemanticCache natively
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:33:32 +00:00
Yujong Lee
ae69a8c79a feat(rust): add Azure Key Vault secret manager backend
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:30:48 +00:00
Yujong Lee
6ab121a3e7 feat(cache-redis-semantic): add native Redis Semantic cache backend
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:29:49 +00:00
Yujong Lee
beba2576be fix(rust): align vault namespace handling with python and drop unused settings hook
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:29:06 +00:00
Yujong Lee
ca31149040 feat(rust): add native GCS object-store cache backend
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:28:27 +00:00
Yujong Lee
3ba4a60d5e feat(rust): add HashiCorp Vault secret manager crate
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:26:28 +00:00
Yujong Lee
fe6804ea74 refactor(rust): reject negative CyberArk refresh intervals
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:25:07 +00:00
Yujong Lee
1f86bb8e46 feat(cache-valkey-semantic): add native Valkey semantic cache backend
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:24:34 +00:00
Yujong Lee
8d9ab9eeaa feat(cache-redis): expose the pooled connection handling for reuse
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:24:23 +00:00
Yujong Lee
4e2d4b5ff9 feat(rust): add CyberArk Conjur secret manager backend
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:23:54 +00:00
Yujong Lee
1320eeeb41 refactor(cache-response): generalize ResponseCache over the backend context
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:23:29 +00:00
Yujong Lee
8dc960c928 feat(cache): add SemanticCacheContext
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:22:13 +00:00
Yujong Lee
df97b274fc refactor(cache-response): generalize ResponseCache over the backend context
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:21:19 +00:00
Yujong Lee
d2f457f144 feat(cache): add semantic cache context and unsupported operation error
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:20:31 +00:00