Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Repository: luvs01/opencodex/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
✅ Deterministic PR hygiene checks passed. |
The dispatch override refreshed the adapter and rebuilt the request before rebinding _reasoningReplayScope, so the bridged web-search restore in the rebuild ran under the lapsed credential's identity and the result was then sent under the newly selected credential. Rebind the refreshed route first, matching every other rebuild site, and cover the selection-change race with an end-to-end regression test. Co-Authored-By: Epinephrine <luvs01@hanmail.net>
|
Fixed in 4202c4b. |
…web-search-replay-vulnerability
|
Closing: superseded by combined PR #614, which carries this PR's request-context replay-cache isolation together with the deadline-safe quota evidence change on current dev. Combined tests: 65 pass. |
Motivation
Description
bridgeSearchReplayScopeto accept anOcxReasoningReplayScopeRefand derive a scope that includesclientPrincipalId,clientThreadId,providerName,providerDestinationIdentity,adapterName,modelId, andcredentialIdentityso the cache is keyed to the exact conversation and serving identity (src/responses/bridge-search-replay-cache.ts).prepareResponsesRequestusingcontextPrincipalIdOf(options.admission)(with aloopbacksentinel) so restoration has the authenticated principal available (src/server/responses/request-prepare.ts).parsed._reasoningReplayScopewhen recording and restoring bridged-search entries instead of the providerbaseUrlin both the bridge delivery and passthrough adapter paths (src/server/responses/passthrough-delivery.ts,src/adapters/openai-responses/passthrough.ts).OcxReasoningReplayScopeRefwithclientPrincipalId, update tests to exercise mismatched principal/conversation/provider/adapter/model/credential/destination cases, and add a regression that proves replay cannot cross those boundaries (tests/web-search/web-search-bridge-replay.test.ts).structure/providers-and-adapters.md).Testing
bun x tsc --noEmit/bun run typecheckand it succeeded../node_modules/.bin/bun test tests/web-search/web-search-bridge-replay.test.tsand all tests passed (10 passed, 0 failed).bun run structure:checkandbun run privacy:scanand both checks passed for the modified sources.bun run testin this environment encountered unrelated environment/timeouts and a Bun 1.2.14 vs 1.4.0 zlib export mismatch; the focused tests and repository structure/privacy checks that exercise the changes are green.Codex Task