* Fix overiding of fastapi_response headers
* fix(bedrock): support tool search results and surface citations as annotations
Add an optional tool-message search_results path that maps directly to Bedrock toolResult.searchResult blocks, and convert Converse citationsContent into chat completion annotations for user-facing citation metadata.
Co-authored-by: Cursor <cursoragent@cursor.com>
* fix(format): align bedrock prompt factory with black
Reformat the updated bedrock prompt template conversion file so CI black --check passes.
Co-authored-by: Cursor <cursoragent@cursor.com>
* fix(bedrock): harden citations, search_results mapping, and token counting
Resolve mypy issues in citation parsing, only attach url_citation annotations when citation text is stitched into content, fall back to tool content when search_results is empty, and count search_results text in token/TPM preflight paths.
Co-authored-by: Cursor <cursoragent@cursor.com>
* fix(bedrock): extract tool result helpers to satisfy PLR0915
Refactor _convert_to_bedrock_tool_call_result into smaller helpers so lint passes without changing Bedrock tool result behavior.
Co-authored-by: Cursor <cursoragent@cursor.com>
* fix(bedrock): count all forwarded search_results fields in token estimates
Include source, title, content text, and citations when estimating tokens so large metadata cannot bypass TPM preflight checks. Reformat factory.py with black.
Co-authored-by: Cursor <cursoragent@cursor.com>
* fix(managed-files): skip content blocks without a type key in get_file_ids_from_messages
* fix(bedrock): stitch citations for any punctuation-only text block
* fix(bedrock): map null citation source/title to empty annotation strings
* fix(bedrock): advance citation offset for text-only citationsContent blocks
* fix(bedrock): complete citation TypedDicts for grounding annotations
---------
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: mateo-berri <277851410+mateo-berri@users.noreply.github.com>