* Add retries to bedrock createMessage
Add retries to Bedrock's createMessage as indicated by [this](https://github.com/cline/cline/pull/1605#issuecomment-2665904349)
Similar to [this comment](https://github.com/cline/cline/pull/1605#issuecomment-2666290702) I am also experiencing a 429 every once in a while. Measuring a before/after, it's about a 90% improvement when there's no prompt caching. I'm going to add some logging and see if I can track it down further but honestly this is probably worth it as is.
* Add changeset
* Add Bedrock prompt caching support (optional)
This feature protected under checkbox because it is not yet rolled out
to everyone, and if you will try to send cache headers, and its not
enabled for you, you will get error
* Add changeset
* Update supported models
* Fix copy
---------
Co-authored-by: Saoud Rizwan <7799382+saoudrizwan@users.noreply.github.com>
* Extract reuseable ModelDescriptionMarkdown from OpenRouter model picker
* Requesty: Add model picker component
* Refactor readOpenRouterModels to allow any dynamic list filename
* Extract parsePrice to allow reuse by other providers
* Simplify model display name switch case
* Requesty: Add dynamic model list fetching from API
* Requesty: Add default model selection
* Requesty: Specify max_tokens when sending request
* Add changeset
---------
Co-authored-by: Dennis Bartlett <bartlett.dc.1@gmail.com>
* Add OpenAI compatible cost calculation
* Requesty: Prepare for correct price calculation
* Native OpenAI: Update model caching info
According to [OpenAI's
website](https://platform.openai.com/docs/guides/prompt-caching),
gpt-4o, gpt-4o-mini, o1-preview and o1-mini support caching.
For gpt-4o, even though gpt-4o-2024-05-13 and
chatgpt-4o-latest do no support caching, users will see there are no
cached tokens, which will help avoid confusion.
* Native OpenAI: Call getModel once
* Native OpenAI: Extract yield usage into method
* Native OpenAI: Add caching and cost info to task header
* DeepSeek: Add cost info to task header
* Add changeset