Skip to main content

ya-oauth-provider

Pydantic AI model/provider helpers that consume OAuth token sources from ya-oauth.

Codex model string

YA Agent SDK loads this package for model strings such as:

oauth@codex:gpt-5.5

The provider owns Codex request authentication and header alignment. It attaches the bearer token, ChatGPT account ID, optional FedRAMP marker, originator, underscore and hyphen variants of session/thread headers, SDK-provided x-session-id, and x-client-request-id. It omits the Codex version header by default to avoid coupling YA package versions to Codex CLI release gates.

Generic OpenAI Responses WebSocket transport remains in ya-agent-sdk as WebsocketResponsesModel. This package adds only Codex-specific authentication, headers, token refresh, and payload normalization, and refreshes once on HTTP 401 through the configured token source before retrying. Its OpenAI client, OAuth auth flow, and retry transport all use HTTPX2; callers must not inject a legacy httpx.AsyncClient. The SDK-created client closes with the model context and is recreated on re-entry. OAuth authentication buffers the request body once so Codex payload normalization and a possible 401 replay operate on identical bytes.

The OAuth Codex models also follow Codex's backend-routing contracts. Every request sets x-codex-routing-hint to model=<model> and appends ;tier=<service-tier> when a service tier is selected. The first x-codex-turn-state returned during a Pydantic AI run is retained without replacement and replayed only within that run. HTTP sends it as a request header; WebSocket sends it in client_metadata["x-codex-turn-state"], matching the Codex WebSocket protocol. A new Pydantic AI run starts with no turn state. These behaviors are deliberately limited to oauth@codex:*; ordinary openai-responses:* and openai-responses-ws:* models remain generic.

Proactive refresh

ya_oauth_provider.OAuthRefreshSupervisor refreshes configured OAuth token sources on startup and on a background interval. Runtime packages can use create_oauth_refresh_supervisor_for_models(...) to detect oauth@provider:model strings and maintain logged-in providers before the first model request needs a token refresh.

Metadata

Release files for ya-oauth-provider 2.11.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ya-oauth-provider 2.11.0
File Size Uploaded Provenance
ya_oauth_provider-2.11.0.tar.gz 15.3 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for ya-oauth-provider 2.11.0
File Interpreter ABI Platform
ya_oauth_provider-2.11.0-py3-none-any.whl Python 3 none any Details

Total release size: 26.5 kB

Release files / ya_oauth_provider-2.11.0.tar.gz

Download URL ya_oauth_provider-2.11.0.tar.gz
Size 15.3 kB
Tags Source
SHA-256 checksum
How to use checksums
859ab963b479c6ac62847b2a40fd500ff4af7b4723e3d273faff38e7ccb39df7
BLAKE2b-256 checksum
How to use checksums
bc10f8cbc5c2aa858c4c20dfa8b5fb5454b6ab34375164bcbb592f42b404b2d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / ya_oauth_provider-2.11.0-py3-none-any.whl

Download URL ya_oauth_provider-2.11.0-py3-none-any.whl
Size 11.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3c7c49ed9c9c13bda5870dafe04233ddcbb6e4d61dfd7a4365fda355ba03a964
BLAKE2b-256 checksum
How to use checksums
4697702d9e5b04a8c841c677b4673f9ef0d316a49db6c7d38e98fd84cc80f731
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for ya-oauth-provider 2.11.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

2.11.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page