Skip to content

feat: add platform API key adapters and attribution - #365

Draft
kartojal wants to merge 1 commit into
feature/dev-749-python-gateway-sessionfrom
feature/dev-750-python-platform-api-keys
Draft

kartojal wants to merge 1 commit into
feature/dev-749-python-gateway-sessionfrom
feature/dev-750-python-platform-api-keys

Conversation

@kartojal

@kartojal kartojal commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Stacked on #364; review this diff against that branch.

Adds PlatformApiKey and exact-endpoint RemotePlatformApiKey adapters for sync and async clients. The proxy receives challenge inputs only; login, refresh and logout remain direct. Restored sessions validate the refreshed bearer/key association before persistence. legacy_api_key preserves required builder/relayer authorization alongside Platform attribution; migration docs cover the boundary and authenticated, no-store proxy handling.

Includes the base-layer logout correction: cached proactive-refresh errors do not prevent bounded revocation with a usable bearer. Expiry recovery and cancellation/refresh races retain cleanup and honest failure reporting; ordinary request retry policy is unchanged.

Validation: 3,313 non-integration tests passed; Ruff lint/format, Pyright and package build passed. David’s Review SDK PR workflow identified expired-restoration validation and callback ordering; these were fixed and tested. No remaining actionable findings.

Draft for manual review. Backend renewal deployment, external CORS/edge access and verified builder/gasless continuity remain release gates. No production end-to-end verification or legacy retirement is claimed.

@kartojal
kartojal force-pushed the feature/dev-750-python-platform-api-keys branch from b13fd9c to 6d611a9 Compare October 19, 2026 10:47

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant