ó
    ±"³jŒ	  ã                  óh   • % S r SSKJr  SSKrSrSrS\S'   \R                  " S5      r	SS	 jr
SS
 jrg)a•  Helpers for normalizing Amazon Bedrock model identifiers.

Bedrock model IDs carry a `<provider>.` segment (e.g. `anthropic.`, `amazon.`) and,
on the legacy `InvokeModel`/`Converse` APIs, a `-v<n>(:<m>)?` version suffix and an
optional cross-region inference geo prefix (`us.`, `eu.`, ...): e.g.
`us.anthropic.claude-haiku-4-5-20251001-v1:0`.

These live in a boto3-free module so both [`BedrockProvider`][pydantic_ai.providers.bedrock.BedrockProvider]
(which needs boto3) and [`AnthropicProvider`][pydantic_ai.providers.anthropic.AnthropicProvider]
(which talks to Bedrock via `AsyncAnthropicBedrock`/`AsyncAnthropicBedrockMantle` and doesn't)
can share them.
é    )ÚannotationsN)ÚBEDROCK_GEO_PREFIXESÚremove_bedrock_geo_prefixÚsplit_bedrock_model_id)	ÚusÚeuÚapacÚjpÚauÚcaÚinÚglobalzus-govztuple[str, ...]r   z(.+)-v\d+(?::\d+)?$c                ó~   • [          H2  nU R                  U S35      (       d  M  U R                  U S35      s  $    U $ )ap  Remove the cross-region inference geographic prefix from a model ID if present.

Bedrock supports cross-region inference using geographic prefixes like
`us.`, `eu.`, `apac.`, etc. This function strips those prefixes.

Example:
    `us.amazon.titan-embed-text-v2:0` -> `amazon.titan-embed-text-v2:0`
    `amazon.titan-embed-text-v2:0` -> `amazon.titan-embed-text-v2:0`
Ú.)r   Ú
startswithÚremoveprefix)Ú
model_nameÚprefixs     Úg/home/mande/repo/quber/.venv/lib/python3.13/site-packages/pydantic_ai/providers/_bedrock_model_names.pyr   r      sD   € ÷ 'ˆØ× Ñ  F 8¨1 ×.Ó.Ø×*Ñ*¨f¨X°Q¨<Ó8Ò8ñ 'ð Ðó    c                ó²   • [        U 5      R                  S5      u  pnU(       d  SU 4$ [        R                  U5      =n(       a  UR	                  S5      nX4$ )aŒ  Split a Bedrock model ID into its `<provider>` segment and the bare model name.

Strips any cross-region inference geo prefix and `-v<n>(:<m>)?` version suffix.

Example:
    `us.anthropic.claude-haiku-4-5-20251001-v1:0` -> `('anthropic', 'claude-haiku-4-5-20251001')`
    `anthropic.claude-haiku-4-5` -> `('anthropic', 'claude-haiku-4-5')`
    `claude-haiku-4-5` -> `(None, 'claude-haiku-4-5')`
r   Né   )r   Ú	partitionÚ_VERSION_SUFFIX_REÚmatchÚgroup)Úmodel_idÚproviderÚ_ÚnameÚversion_matchs        r   r   r   *   sY   € ô 2°(Ó;×EÑEÀcÓJÑ€H�ÞØ�Xˆ~ÐÜ*×0Ñ0°Ó6Ð6€}Õ6Ø×"Ñ" 1Ó%ˆØˆ>Ðr   )r   ÚstrÚreturnr"   )r   r"   r#   ztuple[str | None, str])Ú__doc__Ú
__future__r   Ú_annotationsÚreÚ__all__r   Ú__annotations__Úcompiler   r   r   © r   r   Ú<module>r,      s?   ðòõ 3ã 	à
Y€ð )iÐ �oÓ hà—Z’ZÐ 6Ó7Ð ôõ r   