Summary
Sub-task of Tier 2 but deserves its own tracking. Current AuthInfo is flat (kind: str + key_id + principal + scopes). Migrate to a credential: ApiKeyCredential | OAuthCredential | HttpSigCredential discriminated union per JS ResolvedAuthInfo.
Design
- New shape:
AuthInfo.credential is a discriminated union keyed by kind
- Keep flat shape as deprecated alias for one minor with
DeprecationWarning
- Existing adopter
context_factory hooks continue to work via wrap-around shim
- Removal in next minor after deprecation lands
Compatibility
Wrap-around shim translates flat → discriminated for legacy context_factory callsites. Adopters migrate at their own pace within the deprecation window.
Cross-references
🤖 Generated with Claude Code
Summary
Sub-task of Tier 2 but deserves its own tracking. Current
AuthInfois flat (kind: str + key_id + principal + scopes). Migrate to acredential: ApiKeyCredential | OAuthCredential | HttpSigCredentialdiscriminated union per JSResolvedAuthInfo.Design
AuthInfo.credentialis a discriminated union keyed bykindDeprecationWarningcontext_factoryhooks continue to work via wrap-around shimCompatibility
Wrap-around shim translates flat → discriminated for legacy
context_factorycallsites. Adopters migrate at their own pace within the deprecation window.Cross-references
ResolvedAuthInfoin adcp-client#1269🤖 Generated with Claude Code