This file is generated from the schema inventory in `docs/api/provider-interface-definitions.md` and gives every documented schema field an explicit handling status. “处理到” here means the field is either mapped, preserved in same-format paths, rejected with a structured fail-closed error, or explicitly outside the current conversion surface. It does not mean every field can be cross-format converted.
Provider schema updates do not require immediate conversion-code changes for runtime safety. Same-format runtime paths bypass canonical conversion, and same-format canonical roundtrip preserves provider extension fields. Cross-format conversion only enables fields with an audited semantic mapping; newly discovered or unknown provider fields default to structured fail-closed behavior until mapped.
Statuses used in this matrix: `native`, `mapped`, `mapped/lossy-blocked`, `extension-preserved`, `unaudited`, `unsupported`, `invalid-enum`, `lossy-blocked`, `not-in-conversion-surface`.
| OpenAI | `ToolSearchOutputItemParam` | `type` | 是 | `string` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `ToolSearchToolParam` | `description` | 否 | `string \| null` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `ToolSearchToolParam` | `execution` | 否 | `ToolSearchExecutionType` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `ToolSearchToolParam` | `parameters` | 否 | `EmptyModelParam \| null` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `ToolSearchToolParam` | `type` | 是 | `string` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `TopLogProb` | `bytes` | 是 | `array<integer>` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `TopLogProb` | `logprob` | 是 | `number` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `TopLogProb` | `token` | 是 | `string` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `TypeParam` | `text` | 是 | `string` | openai auxiliary / not-in-conversion-surface | native | not-in-conversion-surface | not-in-conversion-surface | not part of current canonical cross-format conversion; same-format runtime path remains provider-native when routed directly |
| OpenAI | `TypeParam` | `type` | 是 | `string` | openai auxiliary / not-in-conversion-surface | native | not-in-conversion-surface | not-in-conversion-surface | not part of current canonical cross-format conversion; same-format runtime path remains provider-native when routed directly |
| OpenAI | `UrlCitationBody` | `end_index` | 是 | `integer` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `UrlCitationBody` | `start_index` | 是 | `integer` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `UrlCitationBody` | `title` | 是 | `string` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `UrlCitationBody` | `type` | 是 | `string` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `UrlCitationBody` | `url` | 是 | `string(uri)` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `WaitParam` | `type` | 是 | `string` | openai auxiliary / not-in-conversion-surface | native | not-in-conversion-surface | not-in-conversion-surface | not part of current canonical cross-format conversion; same-format runtime path remains provider-native when routed directly |
| OpenAI | `WebSearchActionFind` | `pattern` | 是 | `string` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `WebSearchActionFind` | `type` | 是 | `string` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `WebSearchActionFind` | `url` | 是 | `string(uri)` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `WebSearchActionOpenPage` | `type` | 是 | `string` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `WebSearchActionOpenPage` | `url` | 否 | `string(uri) \| null` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `WebSearchActionSearch` | `queries` | 否 | `array<string>` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `WebSearchActionSearch` | `query` | 否 | `string` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `WebSearchActionSearch` | `sources` | 否 | `array<object>` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `WebSearchActionSearch` | `type` | 是 | `string` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `WebSearchLocation` | `city` | 否 | `string` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `WebSearchLocation` | `country` | 否 | `string` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `WebSearchLocation` | `region` | 否 | `string` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `WebSearchLocation` | `timezone` | 否 | `string` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `WebSearchPreviewTool` | `search_content_types` | 否 | `array<SearchContentType>` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `WebSearchPreviewTool` | `search_context_size` | 否 | `SearchContextSize` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `WebSearchPreviewTool` | `type` | 是 | `string` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `WebSearchPreviewTool` | `user_location` | 否 | `ApproximateLocation \| null` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `WebSearchTool` | `filters` | 否 | `object \| null` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `WebSearchTool` | `search_context_size` | 否 | `string` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `WebSearchTool` | `type` | 是 | `string` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `WebSearchTool` | `user_location` | 否 | `WebSearchApproximateLocation` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `WebSearchToolCall` | `action` | 是 | `WebSearchActionSearch \| WebSearchActionOpenPage \| WebSearchActionFind` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `WebSearchToolCall` | `id` | 是 | `string` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `WebSearchToolCall` | `status` | 是 | `string` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| OpenAI | `WebSearchToolCall` | `type` | 是 | `string` | openai:responses standard | native | extension-preserved | lossy-blocked | nested Responses field is preserved same-format; cross-format requires explicit parent mapping or fails closed |
| Claude | `Base64ImageSource` | `data` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `Base64ImageSource` | `media_type` | 是 | `'image/jpeg' \| 'image/png' \| 'image/gif' \| 'image/webp'` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `Base64ImageSource` | `type` | 是 | `'base64'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `Base64PDFSource` | `data` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `Base64PDFSource` | `media_type` | 是 | `'application/pdf'` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `Base64PDFSource` | `type` | 是 | `'base64'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `BashCodeExecutionOutputBlock` | `file_id` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `BashCodeExecutionOutputBlock` | `type` | 是 | `'bash_code_execution_output'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `BashCodeExecutionOutputBlockParam` | `file_id` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `BashCodeExecutionOutputBlockParam` | `type` | 是 | `'bash_code_execution_output'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `BashCodeExecutionResultBlock` | `content` | 是 | `Array<BashCodeExecutionOutputBlock>` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `BashCodeExecutionResultBlock` | `return_code` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `BashCodeExecutionResultBlock` | `stderr` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `BashCodeExecutionResultBlock` | `stdout` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `BashCodeExecutionResultBlock` | `type` | 是 | `'bash_code_execution_result'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `BashCodeExecutionResultBlockParam` | `content` | 是 | `Array<BashCodeExecutionOutputBlockParam>` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `BashCodeExecutionResultBlockParam` | `return_code` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `BashCodeExecutionResultBlockParam` | `stderr` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `BashCodeExecutionResultBlockParam` | `stdout` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `BashCodeExecutionResultBlockParam` | `type` | 是 | `'bash_code_execution_result'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `BashCodeExecutionToolResultBlock` | `content` | 是 | `BashCodeExecutionToolResultError \| BashCodeExecutionResultBlock` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `BashCodeExecutionToolResultBlock` | `tool_use_id` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `BashCodeExecutionToolResultBlock` | `type` | 是 | `'bash_code_execution_tool_result'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `BashCodeExecutionToolResultBlockParam` | `content` | 是 | `BashCodeExecutionToolResultErrorParam \| BashCodeExecutionResultBlockParam` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `BashCodeExecutionToolResultBlockParam` | `tool_use_id` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `BashCodeExecutionToolResultBlockParam` | `type` | 是 | `'bash_code_execution_tool_result'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `BashCodeExecutionToolResultBlockParam` | `cache_control` | 否 | `CacheControlEphemeral \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `BashCodeExecutionToolResultError` | `error_code` | 是 | `BashCodeExecutionToolResultErrorCode` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `BashCodeExecutionToolResultError` | `type` | 是 | `'bash_code_execution_tool_result_error'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `BashCodeExecutionToolResultErrorParam` | `error_code` | 是 | `BashCodeExecutionToolResultErrorCode` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `BashCodeExecutionToolResultErrorParam` | `type` | 是 | `'bash_code_execution_tool_result_error'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `CacheControlEphemeral` | `type` | 是 | `'ephemeral'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `CacheControlEphemeral` | `ttl` | 否 | `'5m' \| '1h'` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CacheCreation` | `ephemeral_1h_input_tokens` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CacheCreation` | `ephemeral_5m_input_tokens` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CitationCharLocation` | `cited_text` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CitationCharLocation` | `document_index` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CitationCharLocation` | `document_title` | 是 | `string \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CitationCharLocation` | `end_char_index` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CitationCharLocation` | `file_id` | 是 | `string \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CitationCharLocation` | `start_char_index` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CitationCharLocation` | `type` | 是 | `'char_location'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `CitationCharLocationParam` | `cited_text` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CitationCharLocationParam` | `document_index` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CitationCharLocationParam` | `document_title` | 是 | `string \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CitationCharLocationParam` | `end_char_index` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CitationCharLocationParam` | `start_char_index` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CitationCharLocationParam` | `type` | 是 | `'char_location'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `CitationContentBlockLocation` | `cited_text` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CitationContentBlockLocation` | `document_index` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CitationContentBlockLocation` | `document_title` | 是 | `string \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CitationContentBlockLocation` | `end_block_index` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CitationContentBlockLocation` | `file_id` | 是 | `string \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CitationContentBlockLocation` | `start_block_index` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CitationContentBlockLocation` | `type` | 是 | `'content_block_location'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `CitationContentBlockLocationParam` | `cited_text` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CitationContentBlockLocationParam` | `document_index` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CitationContentBlockLocationParam` | `document_title` | 是 | `string \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CitationContentBlockLocationParam` | `end_block_index` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CitationContentBlockLocationParam` | `start_block_index` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CitationContentBlockLocationParam` | `type` | 是 | `'content_block_location'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `CitationPageLocation` | `cited_text` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CitationPageLocation` | `document_index` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CitationPageLocation` | `document_title` | 是 | `string \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CitationPageLocation` | `end_page_number` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CitationPageLocation` | `file_id` | 是 | `string \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CitationPageLocation` | `start_page_number` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CitationPageLocation` | `type` | 是 | `'page_location'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `CitationPageLocationParam` | `cited_text` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CitationPageLocationParam` | `document_index` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CitationPageLocationParam` | `document_title` | 是 | `string \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CitationPageLocationParam` | `end_page_number` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CitationPageLocationParam` | `start_page_number` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CitationPageLocationParam` | `type` | 是 | `'page_location'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `CitationSearchResultLocationParam` | `cited_text` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CitationSearchResultLocationParam` | `end_block_index` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CitationSearchResultLocationParam` | `search_result_index` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CitationSearchResultLocationParam` | `source` | 是 | `string` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `CitationSearchResultLocationParam` | `start_block_index` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CitationSearchResultLocationParam` | `title` | 是 | `string \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CitationSearchResultLocationParam` | `type` | 是 | `'search_result_location'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `CitationWebSearchResultLocationParam` | `cited_text` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CitationWebSearchResultLocationParam` | `encrypted_index` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CitationWebSearchResultLocationParam` | `title` | 是 | `string \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CitationWebSearchResultLocationParam` | `type` | 是 | `'web_search_result_location'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `CitationWebSearchResultLocationParam` | `url` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CitationsConfig` | `enabled` | 是 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CitationsConfigParam` | `enabled` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CitationsDelta` | `citation` | 是 | `\| CitationCharLocation \| CitationPageLocation \| CitationContentBlockLocation \| CitationsWebSearchResultLocation \| CitationsSearchResultLocation` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CitationsDelta` | `type` | 是 | `'citations_delta'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `CitationsSearchResultLocation` | `cited_text` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CitationsSearchResultLocation` | `end_block_index` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CitationsSearchResultLocation` | `search_result_index` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CitationsSearchResultLocation` | `source` | 是 | `string` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `CitationsSearchResultLocation` | `start_block_index` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CitationsSearchResultLocation` | `title` | 是 | `string \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CitationsSearchResultLocation` | `type` | 是 | `'search_result_location'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `CitationsWebSearchResultLocation` | `cited_text` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CitationsWebSearchResultLocation` | `encrypted_index` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CitationsWebSearchResultLocation` | `title` | 是 | `string \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CitationsWebSearchResultLocation` | `type` | 是 | `'web_search_result_location'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `CitationsWebSearchResultLocation` | `url` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CodeExecutionOutputBlock` | `file_id` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CodeExecutionOutputBlock` | `type` | 是 | `'code_execution_output'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `CodeExecutionOutputBlockParam` | `file_id` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CodeExecutionOutputBlockParam` | `type` | 是 | `'code_execution_output'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `CodeExecutionResultBlock` | `content` | 是 | `Array<CodeExecutionOutputBlock>` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `CodeExecutionResultBlock` | `return_code` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CodeExecutionResultBlock` | `stderr` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CodeExecutionResultBlock` | `stdout` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CodeExecutionResultBlock` | `type` | 是 | `'code_execution_result'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `CodeExecutionResultBlockParam` | `content` | 是 | `Array<CodeExecutionOutputBlockParam>` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `CodeExecutionResultBlockParam` | `return_code` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CodeExecutionResultBlockParam` | `stderr` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CodeExecutionResultBlockParam` | `stdout` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CodeExecutionResultBlockParam` | `type` | 是 | `'code_execution_result'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `CodeExecutionTool20250522` | `name` | 是 | `'code_execution'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `CodeExecutionTool20250522` | `type` | 是 | `'code_execution_20250522'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `CodeExecutionTool20250522` | `allowed_callers` | 否 | `Array<'direct' \| 'code_execution_20250825' \| 'code_execution_20260120'>` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CodeExecutionTool20250522` | `cache_control` | 否 | `CacheControlEphemeral \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CodeExecutionTool20250522` | `defer_loading` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CodeExecutionTool20250522` | `strict` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CodeExecutionTool20250825` | `name` | 是 | `'code_execution'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `CodeExecutionTool20250825` | `type` | 是 | `'code_execution_20250825'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `CodeExecutionTool20250825` | `allowed_callers` | 否 | `Array<'direct' \| 'code_execution_20250825' \| 'code_execution_20260120'>` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CodeExecutionTool20250825` | `cache_control` | 否 | `CacheControlEphemeral \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CodeExecutionTool20250825` | `defer_loading` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CodeExecutionTool20250825` | `strict` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CodeExecutionTool20260120` | `name` | 是 | `'code_execution'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `CodeExecutionTool20260120` | `type` | 是 | `'code_execution_20260120'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `CodeExecutionTool20260120` | `allowed_callers` | 否 | `Array<'direct' \| 'code_execution_20250825' \| 'code_execution_20260120'>` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CodeExecutionTool20260120` | `cache_control` | 否 | `CacheControlEphemeral \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CodeExecutionTool20260120` | `defer_loading` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CodeExecutionTool20260120` | `strict` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CodeExecutionToolResultBlock` | `content` | 是 | `CodeExecutionToolResultBlockContent` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `CodeExecutionToolResultBlock` | `tool_use_id` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CodeExecutionToolResultBlock` | `type` | 是 | `'code_execution_tool_result'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `CodeExecutionToolResultBlockParam` | `content` | 是 | `CodeExecutionToolResultBlockParamContent` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `CodeExecutionToolResultBlockParam` | `tool_use_id` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CodeExecutionToolResultBlockParam` | `type` | 是 | `'code_execution_tool_result'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `CodeExecutionToolResultBlockParam` | `cache_control` | 否 | `CacheControlEphemeral \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `CodeExecutionToolResultError` | `error_code` | 是 | `CodeExecutionToolResultErrorCode` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CodeExecutionToolResultError` | `type` | 是 | `'code_execution_tool_result_error'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `CodeExecutionToolResultErrorParam` | `error_code` | 是 | `CodeExecutionToolResultErrorCode` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `CodeExecutionToolResultErrorParam` | `type` | 是 | `'code_execution_tool_result_error'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `Container` | `id` | 是 | `string` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `Container` | `expires_at` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `ContainerUploadBlock` | `file_id` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `ContainerUploadBlock` | `type` | 是 | `'container_upload'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ContainerUploadBlockParam` | `file_id` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `ContainerUploadBlockParam` | `type` | 是 | `'container_upload'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ContainerUploadBlockParam` | `cache_control` | 否 | `CacheControlEphemeral \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `ContentBlockSource` | `content` | 是 | `string \| Array<ContentBlockSourceContent>` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ContentBlockSource` | `type` | 是 | `'content'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `DirectCaller` | `type` | 是 | `'direct'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `DocumentBlock` | `citations` | 是 | `CitationsConfig \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `DocumentBlock` | `source` | 是 | `Base64PDFSource \| PlainTextSource` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `DocumentBlock` | `title` | 是 | `string \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `DocumentBlock` | `type` | 是 | `'document'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `DocumentBlockParam` | `source` | 是 | `Base64PDFSource \| PlainTextSource \| ContentBlockSource \| URLPDFSource` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `DocumentBlockParam` | `type` | 是 | `'document'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `DocumentBlockParam` | `cache_control` | 否 | `CacheControlEphemeral \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `DocumentBlockParam` | `citations` | 否 | `CitationsConfigParam \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `DocumentBlockParam` | `context` | 否 | `string \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `DocumentBlockParam` | `title` | 否 | `string \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `EncryptedCodeExecutionResultBlock` | `content` | 是 | `Array<CodeExecutionOutputBlock>` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `EncryptedCodeExecutionResultBlock` | `encrypted_stdout` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `EncryptedCodeExecutionResultBlock` | `return_code` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `EncryptedCodeExecutionResultBlock` | `stderr` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `EncryptedCodeExecutionResultBlock` | `type` | 是 | `'encrypted_code_execution_result'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `EncryptedCodeExecutionResultBlockParam` | `content` | 是 | `Array<CodeExecutionOutputBlockParam>` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `EncryptedCodeExecutionResultBlockParam` | `encrypted_stdout` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `EncryptedCodeExecutionResultBlockParam` | `return_code` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `EncryptedCodeExecutionResultBlockParam` | `stderr` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `EncryptedCodeExecutionResultBlockParam` | `type` | 是 | `'encrypted_code_execution_result'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ImageBlockParam` | `source` | 是 | `Base64ImageSource \| URLImageSource` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ImageBlockParam` | `type` | 是 | `'image'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ImageBlockParam` | `cache_control` | 否 | `CacheControlEphemeral \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `InputJSONDelta` | `partial_json` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `InputJSONDelta` | `type` | 是 | `'input_json_delta'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `JSONOutputFormat` | `schema` | 是 | `{ [key: string]: unknown }` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `JSONOutputFormat` | `type` | 是 | `'json_schema'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `MemoryTool20250818` | `name` | 是 | `'memory'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `MemoryTool20250818` | `type` | 是 | `'memory_20250818'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `MemoryTool20250818` | `allowed_callers` | 否 | `Array<'direct' \| 'code_execution_20250825' \| 'code_execution_20260120'>` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `MemoryTool20250818` | `cache_control` | 否 | `CacheControlEphemeral \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `MemoryTool20250818` | `defer_loading` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `MemoryTool20250818` | `input_examples` | 否 | `Array<{ [key: string]: unknown }>` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `MemoryTool20250818` | `strict` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `Message` | `id` | 是 | `string` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `Message` | `container` | 是 | `Container \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `Message` | `content` | 是 | `Array<ContentBlock>` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `Message` | `model` | 是 | `Model` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `Message` | `role` | 是 | `'assistant'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `Message` | `stop_details` | 是 | `RefusalStopDetails \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `Message` | `stop_reason` | 是 | `StopReason \| null` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `Message` | `stop_sequence` | 是 | `string \| null` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `Message` | `type` | 是 | `'message'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `Message` | `usage` | 是 | `Usage` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `MessageCountTokensParams` | `messages` | 是 | `Array<MessageParam>` | claude:messages/count_tokens native-only | native | not-in-conversion-surface | not-in-conversion-surface | count_tokens schemas are provider-native and outside canonical generation conversion |
| Claude | `MessageCountTokensParams` | `model` | 是 | `Model` | claude:messages/count_tokens native-only | native | not-in-conversion-surface | not-in-conversion-surface | count_tokens schemas are provider-native and outside canonical generation conversion |
| Claude | `MessageCountTokensParams` | `thinking` | 否 | `ThinkingConfigParam` | claude:messages/count_tokens native-only | native | not-in-conversion-surface | not-in-conversion-surface | count_tokens schemas are provider-native and outside canonical generation conversion |
| Claude | `MessageCountTokensParams` | `tool_choice` | 否 | `ToolChoice` | claude:messages/count_tokens native-only | native | not-in-conversion-surface | not-in-conversion-surface | count_tokens schemas are provider-native and outside canonical generation conversion |
| Claude | `MessageCountTokensParams` | `tools` | 否 | `Array<MessageCountTokensTool>` | claude:messages/count_tokens native-only | native | not-in-conversion-surface | not-in-conversion-surface | count_tokens schemas are provider-native and outside canonical generation conversion |
| Claude | `MessageCreateParamsBase` | `max_tokens` | 是 | `number` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `MessageCreateParamsBase` | `messages` | 是 | `Array<MessageParam>` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `MessageCreateParamsBase` | `model` | 是 | `Model` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `MessageCreateParamsBase` | `cache_control` | 否 | `CacheControlEphemeral \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `MessageCreateParamsBase` | `container` | 否 | `string \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `MessageCreateParamsBase` | `inference_geo` | 否 | `string \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `MessageCreateParamsBase` | `metadata` | 否 | `Metadata` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `MessageCreateParamsBase` | `output_config` | 否 | `OutputConfig` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `MessageCreateParamsBase` | `service_tier` | 否 | `'auto' \| 'standard_only'` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `MessageCreateParamsBase` | `stop_sequences` | 否 | `Array<string>` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `MessageCreateParamsBase` | `stream` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `MessageCreateParamsBase` | `system` | 否 | `string \| Array<TextBlockParam>` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `MessageCreateParamsBase` | `temperature` | 否 | `number` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `MessageCreateParamsBase` | `thinking` | 否 | `ThinkingConfigParam` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `MessageCreateParamsBase` | `tool_choice` | 否 | `ToolChoice` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `MessageCreateParamsBase` | `tools` | 否 | `Array<ToolUnion>` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `MessageCreateParamsBase` | `top_k` | 否 | `number` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `MessageCreateParamsBase` | `top_p` | 否 | `number` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `MessageCreateParamsNonStreaming` | `stream` | 否 | `false` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `MessageCreateParamsStreaming` | `stream` | 是 | `true` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `MessageDeltaUsage` | `cache_creation_input_tokens` | 是 | `number \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `MessageDeltaUsage` | `cache_read_input_tokens` | 是 | `number \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `MessageDeltaUsage` | `input_tokens` | 是 | `number \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `MessageDeltaUsage` | `output_tokens` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `MessageDeltaUsage` | `output_tokens_details` | 是 | `OutputTokensDetails \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `MessageDeltaUsage` | `server_tool_use` | 是 | `ServerToolUsage \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `MessageParam` | `content` | 是 | `string \| Array<ContentBlockParam>` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `MessageParam` | `role` | 是 | `'user' \| 'assistant' \| 'system'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `MessageTokensCount` | `input_tokens` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `Metadata` | `user_id` | 否 | `string \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `MidConversationSystemBlockParam` | `content` | 是 | `Array<TextBlockParam>` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `MidConversationSystemBlockParam` | `type` | 是 | `'mid_conv_system'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `MidConversationSystemBlockParam` | `cache_control` | 否 | `CacheControlEphemeral \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `OutputConfig` | `effort` | 否 | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max' \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `OutputConfig` | `format` | 否 | `JSONOutputFormat \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `OutputTokensDetails` | `thinking_tokens` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `PlainTextSource` | `data` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `PlainTextSource` | `media_type` | 是 | `'text/plain'` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `PlainTextSource` | `type` | 是 | `'text'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `RawContentBlockDeltaEvent` | `delta` | 是 | `RawContentBlockDelta` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `RawContentBlockDeltaEvent` | `index` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `RawContentBlockDeltaEvent` | `type` | 是 | `'content_block_delta'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `RawContentBlockStartEvent` | `content_block` | 是 | `\| TextBlock \| ThinkingBlock \| RedactedThinkingBlock \| ToolUseBlock \| ServerToolUseBlock \| WebSearchToolResultBlock \| WebFetchToolResultBlock \| CodeExecutionToolResultBlock \| BashCodeExecutionToolResultBlock \| TextEditorCodeExecutionToolResultBlock \| ToolSearchToolResultBlock \| ContainerUploadBlock` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `RawContentBlockStartEvent` | `index` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `RawContentBlockStartEvent` | `type` | 是 | `'content_block_start'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `RawContentBlockStopEvent` | `index` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `RawContentBlockStopEvent` | `type` | 是 | `'content_block_stop'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `RawMessageDeltaEvent` | `delta` | 是 | `RawMessageDeltaEvent.Delta` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `RawMessageDeltaEvent` | `type` | 是 | `'message_delta'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `RawMessageDeltaEvent` | `usage` | 是 | `MessageDeltaUsage` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `RawMessageStartEvent` | `message` | 是 | `Message` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `RawMessageStartEvent` | `type` | 是 | `'message_start'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `RawMessageStopEvent` | `type` | 是 | `'message_stop'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `RedactedThinkingBlock` | `data` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `RedactedThinkingBlock` | `type` | 是 | `'redacted_thinking'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `RedactedThinkingBlockParam` | `data` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `RedactedThinkingBlockParam` | `type` | 是 | `'redacted_thinking'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `RefusalStopDetails` | `category` | 是 | `'cyber' \| 'bio' \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `RefusalStopDetails` | `explanation` | 是 | `string \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `RefusalStopDetails` | `type` | 是 | `'refusal'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `SearchResultBlockParam` | `content` | 是 | `Array<TextBlockParam>` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `SearchResultBlockParam` | `source` | 是 | `string` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `SearchResultBlockParam` | `title` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `SearchResultBlockParam` | `type` | 是 | `'search_result'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `SearchResultBlockParam` | `cache_control` | 否 | `CacheControlEphemeral \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `SearchResultBlockParam` | `citations` | 否 | `CitationsConfigParam` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `ServerToolCaller` | `tool_id` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `ServerToolCaller` | `type` | 是 | `'code_execution_20250825'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ServerToolCaller20260120` | `tool_id` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `ServerToolCaller20260120` | `type` | 是 | `'code_execution_20260120'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ServerToolUsage` | `web_fetch_requests` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `ServerToolUsage` | `web_search_requests` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `ServerToolUseBlock` | `id` | 是 | `string` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ServerToolUseBlock` | `caller` | 是 | `DirectCaller \| ServerToolCaller \| ServerToolCaller20260120` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `ServerToolUseBlock` | `input` | 是 | `unknown` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ServerToolUseBlock` | `name` | 是 | `\| 'web_search' \| 'web_fetch' \| 'code_execution' \| 'bash_code_execution' \| 'text_editor_code_execution' \| 'tool_search_tool_regex' \| 'tool_search_tool_bm25'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ServerToolUseBlock` | `type` | 是 | `'server_tool_use'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ServerToolUseBlockParam` | `id` | 是 | `string` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ServerToolUseBlockParam` | `input` | 是 | `unknown` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ServerToolUseBlockParam` | `name` | 是 | `\| 'web_search' \| 'web_fetch' \| 'code_execution' \| 'bash_code_execution' \| 'text_editor_code_execution' \| 'tool_search_tool_regex' \| 'tool_search_tool_bm25'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ServerToolUseBlockParam` | `type` | 是 | `'server_tool_use'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ServerToolUseBlockParam` | `cache_control` | 否 | `CacheControlEphemeral \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `ServerToolUseBlockParam` | `caller` | 否 | `DirectCaller \| ServerToolCaller \| ServerToolCaller20260120` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `SignatureDelta` | `signature` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `SignatureDelta` | `type` | 是 | `'signature_delta'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `TextBlock` | `citations` | 是 | `Array<TextCitation> \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `TextBlock` | `text` | 是 | `string` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `TextBlock` | `type` | 是 | `'text'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `TextBlockParam` | `text` | 是 | `string` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `TextBlockParam` | `type` | 是 | `'text'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `TextBlockParam` | `cache_control` | 否 | `CacheControlEphemeral \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `TextBlockParam` | `citations` | 否 | `Array<TextCitationParam> \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `TextDelta` | `text` | 是 | `string` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `TextDelta` | `type` | 是 | `'text_delta'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `TextEditorCodeExecutionCreateResultBlock` | `is_file_update` | 是 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `TextEditorCodeExecutionCreateResultBlock` | `type` | 是 | `'text_editor_code_execution_create_result'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `TextEditorCodeExecutionCreateResultBlockParam` | `is_file_update` | 是 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `TextEditorCodeExecutionCreateResultBlockParam` | `type` | 是 | `'text_editor_code_execution_create_result'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `TextEditorCodeExecutionStrReplaceResultBlock` | `lines` | 是 | `Array<string> \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `TextEditorCodeExecutionStrReplaceResultBlock` | `new_lines` | 是 | `number \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `TextEditorCodeExecutionStrReplaceResultBlock` | `new_start` | 是 | `number \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `TextEditorCodeExecutionStrReplaceResultBlock` | `old_lines` | 是 | `number \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `TextEditorCodeExecutionStrReplaceResultBlock` | `old_start` | 是 | `number \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `TextEditorCodeExecutionStrReplaceResultBlock` | `type` | 是 | `'text_editor_code_execution_str_replace_result'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `TextEditorCodeExecutionStrReplaceResultBlockParam` | `type` | 是 | `'text_editor_code_execution_str_replace_result'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `TextEditorCodeExecutionStrReplaceResultBlockParam` | `lines` | 否 | `Array<string> \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `TextEditorCodeExecutionStrReplaceResultBlockParam` | `new_lines` | 否 | `number \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `TextEditorCodeExecutionStrReplaceResultBlockParam` | `new_start` | 否 | `number \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `TextEditorCodeExecutionStrReplaceResultBlockParam` | `old_lines` | 否 | `number \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `TextEditorCodeExecutionStrReplaceResultBlockParam` | `old_start` | 否 | `number \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `TextEditorCodeExecutionToolResultBlock` | `content` | 是 | `\| TextEditorCodeExecutionToolResultError \| TextEditorCodeExecutionViewResultBlock \| TextEditorCodeExecutionCreateResultBlock \| TextEditorCodeExecutionStrReplaceResultBlock` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `TextEditorCodeExecutionToolResultBlock` | `tool_use_id` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `TextEditorCodeExecutionToolResultBlock` | `type` | 是 | `'text_editor_code_execution_tool_result'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `TextEditorCodeExecutionToolResultBlockParam` | `content` | 是 | `\| TextEditorCodeExecutionToolResultErrorParam \| TextEditorCodeExecutionViewResultBlockParam \| TextEditorCodeExecutionCreateResultBlockParam \| TextEditorCodeExecutionStrReplaceResultBlockParam` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `TextEditorCodeExecutionToolResultBlockParam` | `tool_use_id` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `TextEditorCodeExecutionToolResultBlockParam` | `type` | 是 | `'text_editor_code_execution_tool_result'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `TextEditorCodeExecutionToolResultBlockParam` | `cache_control` | 否 | `CacheControlEphemeral \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `TextEditorCodeExecutionToolResultError` | `error_code` | 是 | `TextEditorCodeExecutionToolResultErrorCode` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `TextEditorCodeExecutionToolResultError` | `error_message` | 是 | `string \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `TextEditorCodeExecutionToolResultError` | `type` | 是 | `'text_editor_code_execution_tool_result_error'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `TextEditorCodeExecutionToolResultErrorParam` | `error_code` | 是 | `TextEditorCodeExecutionToolResultErrorCode` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `TextEditorCodeExecutionToolResultErrorParam` | `type` | 是 | `'text_editor_code_execution_tool_result_error'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `TextEditorCodeExecutionToolResultErrorParam` | `error_message` | 否 | `string \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `TextEditorCodeExecutionViewResultBlock` | `content` | 是 | `string` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `TextEditorCodeExecutionViewResultBlock` | `file_type` | 是 | `'text' \| 'image' \| 'pdf'` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `TextEditorCodeExecutionViewResultBlock` | `num_lines` | 是 | `number \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `TextEditorCodeExecutionViewResultBlock` | `start_line` | 是 | `number \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `TextEditorCodeExecutionViewResultBlock` | `total_lines` | 是 | `number \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `TextEditorCodeExecutionViewResultBlock` | `type` | 是 | `'text_editor_code_execution_view_result'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `TextEditorCodeExecutionViewResultBlockParam` | `content` | 是 | `string` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `TextEditorCodeExecutionViewResultBlockParam` | `file_type` | 是 | `'text' \| 'image' \| 'pdf'` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `TextEditorCodeExecutionViewResultBlockParam` | `type` | 是 | `'text_editor_code_execution_view_result'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `TextEditorCodeExecutionViewResultBlockParam` | `num_lines` | 否 | `number \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `TextEditorCodeExecutionViewResultBlockParam` | `start_line` | 否 | `number \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `TextEditorCodeExecutionViewResultBlockParam` | `total_lines` | 否 | `number \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `ThinkingBlock` | `signature` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `ThinkingBlock` | `thinking` | 是 | `string` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ThinkingBlock` | `type` | 是 | `'thinking'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ThinkingBlockParam` | `signature` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `ThinkingBlockParam` | `thinking` | 是 | `string` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ThinkingBlockParam` | `type` | 是 | `'thinking'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ThinkingConfigAdaptive` | `type` | 是 | `'adaptive'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ThinkingConfigAdaptive` | `display` | 否 | `'summarized' \| 'omitted' \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `ThinkingConfigDisabled` | `type` | 是 | `'disabled'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ThinkingConfigEnabled` | `budget_tokens` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `ThinkingConfigEnabled` | `type` | 是 | `'enabled'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ThinkingConfigEnabled` | `display` | 否 | `'summarized' \| 'omitted' \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `ThinkingDelta` | `thinking` | 是 | `string` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ThinkingDelta` | `type` | 是 | `'thinking_delta'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `Tool` | `input_schema` | 是 | `Tool.InputSchema` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `Tool` | `name` | 是 | `string` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `Tool` | `allowed_callers` | 否 | `Array<'direct' \| 'code_execution_20250825' \| 'code_execution_20260120'>` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `Tool` | `cache_control` | 否 | `CacheControlEphemeral \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `Tool` | `defer_loading` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `Tool` | `description` | 否 | `string` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `Tool` | `eager_input_streaming` | 否 | `boolean \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `Tool` | `input_examples` | 否 | `Array<{ [key: string]: unknown }>` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `Tool` | `strict` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `Tool` | `type` | 否 | `'custom' \| null` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolBash20250124` | `name` | 是 | `'bash'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolBash20250124` | `type` | 是 | `'bash_20250124'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolBash20250124` | `allowed_callers` | 否 | `Array<'direct' \| 'code_execution_20250825' \| 'code_execution_20260120'>` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `ToolBash20250124` | `cache_control` | 否 | `CacheControlEphemeral \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `ToolBash20250124` | `defer_loading` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `ToolBash20250124` | `input_examples` | 否 | `Array<{ [key: string]: unknown }>` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `ToolBash20250124` | `strict` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `ToolChoiceAny` | `type` | 是 | `'any'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolChoiceAny` | `disable_parallel_tool_use` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `ToolChoiceAuto` | `type` | 是 | `'auto'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolChoiceAuto` | `disable_parallel_tool_use` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `ToolChoiceNone` | `type` | 是 | `'none'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolChoiceTool` | `name` | 是 | `string` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolChoiceTool` | `type` | 是 | `'tool'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolChoiceTool` | `disable_parallel_tool_use` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `ToolReferenceBlock` | `tool_name` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `ToolReferenceBlock` | `type` | 是 | `'tool_reference'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolReferenceBlockParam` | `tool_name` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `ToolReferenceBlockParam` | `type` | 是 | `'tool_reference'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolReferenceBlockParam` | `cache_control` | 否 | `CacheControlEphemeral \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `ToolResultBlockParam` | `tool_use_id` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `ToolResultBlockParam` | `type` | 是 | `'tool_result'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolResultBlockParam` | `cache_control` | 否 | `CacheControlEphemeral \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `ToolResultBlockParam` | `content` | 否 | `\| string \| Array< \| TextBlockParam \| ImageBlockParam \| SearchResultBlockParam \| DocumentBlockParam \| ToolReferenceBlockParam >` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolResultBlockParam` | `is_error` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `ToolSearchToolBm25_20251119` | `name` | 是 | `'tool_search_tool_bm25'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolSearchToolBm25_20251119` | `type` | 是 | `'tool_search_tool_bm25_20251119' \| 'tool_search_tool_bm25'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolSearchToolBm25_20251119` | `allowed_callers` | 否 | `Array<'direct' \| 'code_execution_20250825' \| 'code_execution_20260120'>` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `ToolSearchToolBm25_20251119` | `cache_control` | 否 | `CacheControlEphemeral \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `ToolSearchToolBm25_20251119` | `defer_loading` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `ToolSearchToolBm25_20251119` | `strict` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `ToolSearchToolRegex20251119` | `name` | 是 | `'tool_search_tool_regex'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolSearchToolRegex20251119` | `type` | 是 | `'tool_search_tool_regex_20251119' \| 'tool_search_tool_regex'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolSearchToolRegex20251119` | `allowed_callers` | 否 | `Array<'direct' \| 'code_execution_20250825' \| 'code_execution_20260120'>` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `ToolSearchToolRegex20251119` | `cache_control` | 否 | `CacheControlEphemeral \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `ToolSearchToolRegex20251119` | `defer_loading` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `ToolSearchToolRegex20251119` | `strict` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `ToolSearchToolResultBlock` | `content` | 是 | `ToolSearchToolResultError \| ToolSearchToolSearchResultBlock` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolSearchToolResultBlock` | `tool_use_id` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `ToolSearchToolResultBlock` | `type` | 是 | `'tool_search_tool_result'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolSearchToolResultBlockParam` | `content` | 是 | `ToolSearchToolResultErrorParam \| ToolSearchToolSearchResultBlockParam` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolSearchToolResultBlockParam` | `tool_use_id` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `ToolSearchToolResultBlockParam` | `type` | 是 | `'tool_search_tool_result'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolSearchToolResultBlockParam` | `cache_control` | 否 | `CacheControlEphemeral \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `ToolSearchToolResultError` | `error_code` | 是 | `ToolSearchToolResultErrorCode` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `ToolSearchToolResultError` | `error_message` | 是 | `string \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `ToolSearchToolResultError` | `type` | 是 | `'tool_search_tool_result_error'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolSearchToolResultErrorParam` | `error_code` | 是 | `ToolSearchToolResultErrorCode` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `ToolSearchToolResultErrorParam` | `type` | 是 | `'tool_search_tool_result_error'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolSearchToolSearchResultBlock` | `tool_references` | 是 | `Array<ToolReferenceBlock>` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `ToolSearchToolSearchResultBlock` | `type` | 是 | `'tool_search_tool_search_result'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolSearchToolSearchResultBlockParam` | `tool_references` | 是 | `Array<ToolReferenceBlockParam>` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `ToolSearchToolSearchResultBlockParam` | `type` | 是 | `'tool_search_tool_search_result'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolTextEditor20250124` | `name` | 是 | `'str_replace_editor'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolTextEditor20250124` | `type` | 是 | `'text_editor_20250124'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolTextEditor20250124` | `allowed_callers` | 否 | `Array<'direct' \| 'code_execution_20250825' \| 'code_execution_20260120'>` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `ToolTextEditor20250124` | `cache_control` | 否 | `CacheControlEphemeral \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `ToolTextEditor20250124` | `defer_loading` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `ToolTextEditor20250124` | `input_examples` | 否 | `Array<{ [key: string]: unknown }>` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `ToolTextEditor20250124` | `strict` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `ToolTextEditor20250429` | `name` | 是 | `'str_replace_based_edit_tool'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolTextEditor20250429` | `type` | 是 | `'text_editor_20250429'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolTextEditor20250429` | `allowed_callers` | 否 | `Array<'direct' \| 'code_execution_20250825' \| 'code_execution_20260120'>` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `ToolTextEditor20250429` | `cache_control` | 否 | `CacheControlEphemeral \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `ToolTextEditor20250429` | `defer_loading` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `ToolTextEditor20250429` | `input_examples` | 否 | `Array<{ [key: string]: unknown }>` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `ToolTextEditor20250429` | `strict` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `ToolTextEditor20250728` | `name` | 是 | `'str_replace_based_edit_tool'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolTextEditor20250728` | `type` | 是 | `'text_editor_20250728'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolTextEditor20250728` | `allowed_callers` | 否 | `Array<'direct' \| 'code_execution_20250825' \| 'code_execution_20260120'>` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `ToolTextEditor20250728` | `cache_control` | 否 | `CacheControlEphemeral \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `ToolTextEditor20250728` | `defer_loading` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `ToolTextEditor20250728` | `input_examples` | 否 | `Array<{ [key: string]: unknown }>` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `ToolTextEditor20250728` | `max_characters` | 否 | `number \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `ToolTextEditor20250728` | `strict` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `ToolUseBlock` | `id` | 是 | `string` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolUseBlock` | `caller` | 是 | `DirectCaller \| ServerToolCaller \| ServerToolCaller20260120` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `ToolUseBlock` | `input` | 是 | `unknown` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolUseBlock` | `name` | 是 | `string` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolUseBlock` | `type` | 是 | `'tool_use'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolUseBlockParam` | `id` | 是 | `string` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolUseBlockParam` | `input` | 是 | `unknown` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolUseBlockParam` | `name` | 是 | `string` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolUseBlockParam` | `type` | 是 | `'tool_use'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `ToolUseBlockParam` | `cache_control` | 否 | `CacheControlEphemeral \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `ToolUseBlockParam` | `caller` | 否 | `DirectCaller \| ServerToolCaller \| ServerToolCaller20260120` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `URLImageSource` | `type` | 是 | `'url'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `URLImageSource` | `url` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `URLPDFSource` | `type` | 是 | `'url'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `URLPDFSource` | `url` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `Usage` | `cache_creation` | 是 | `CacheCreation \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `Usage` | `cache_creation_input_tokens` | 是 | `number \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `Usage` | `cache_read_input_tokens` | 是 | `number \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `Usage` | `inference_geo` | 是 | `string \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `Usage` | `input_tokens` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `Usage` | `output_tokens` | 是 | `number` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `Usage` | `output_tokens_details` | 是 | `OutputTokensDetails \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `Usage` | `server_tool_use` | 是 | `ServerToolUsage \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `Usage` | `service_tier` | 是 | `'standard' \| 'priority' \| 'batch' \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `UserLocation` | `type` | 是 | `'approximate'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `UserLocation` | `city` | 否 | `string \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `UserLocation` | `country` | 否 | `string \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `UserLocation` | `region` | 否 | `string \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `UserLocation` | `timezone` | 否 | `string \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `WebFetchBlock` | `content` | 是 | `DocumentBlock` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `WebFetchBlock` | `retrieved_at` | 是 | `string \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `WebFetchBlock` | `type` | 是 | `'web_fetch_result'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `WebFetchBlock` | `url` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `WebFetchBlockParam` | `content` | 是 | `DocumentBlockParam` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `WebFetchBlockParam` | `type` | 是 | `'web_fetch_result'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `WebFetchBlockParam` | `url` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `WebFetchBlockParam` | `retrieved_at` | 否 | `string \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `WebFetchTool20250910` | `name` | 是 | `'web_fetch'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `WebFetchTool20250910` | `type` | 是 | `'web_fetch_20250910'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `WebFetchTool20250910` | `allowed_callers` | 否 | `Array<'direct' \| 'code_execution_20250825' \| 'code_execution_20260120'>` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebFetchTool20250910` | `allowed_domains` | 否 | `Array<string> \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebFetchTool20250910` | `blocked_domains` | 否 | `Array<string> \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebFetchTool20250910` | `cache_control` | 否 | `CacheControlEphemeral \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebFetchTool20250910` | `citations` | 否 | `CitationsConfigParam \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebFetchTool20250910` | `defer_loading` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebFetchTool20250910` | `max_content_tokens` | 否 | `number \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `WebFetchTool20250910` | `max_uses` | 否 | `number \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebFetchTool20250910` | `strict` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebFetchTool20260209` | `name` | 是 | `'web_fetch'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `WebFetchTool20260209` | `type` | 是 | `'web_fetch_20260209'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `WebFetchTool20260209` | `allowed_callers` | 否 | `Array<'direct' \| 'code_execution_20250825' \| 'code_execution_20260120'>` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebFetchTool20260209` | `allowed_domains` | 否 | `Array<string> \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebFetchTool20260209` | `blocked_domains` | 否 | `Array<string> \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebFetchTool20260209` | `cache_control` | 否 | `CacheControlEphemeral \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebFetchTool20260209` | `citations` | 否 | `CitationsConfigParam \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebFetchTool20260209` | `defer_loading` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebFetchTool20260209` | `max_content_tokens` | 否 | `number \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `WebFetchTool20260209` | `max_uses` | 否 | `number \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebFetchTool20260209` | `strict` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebFetchTool20260309` | `name` | 是 | `'web_fetch'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `WebFetchTool20260309` | `type` | 是 | `'web_fetch_20260309'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `WebFetchTool20260309` | `allowed_callers` | 否 | `Array<'direct' \| 'code_execution_20250825' \| 'code_execution_20260120'>` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebFetchTool20260309` | `allowed_domains` | 否 | `Array<string> \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebFetchTool20260309` | `blocked_domains` | 否 | `Array<string> \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebFetchTool20260309` | `cache_control` | 否 | `CacheControlEphemeral \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebFetchTool20260309` | `citations` | 否 | `CitationsConfigParam \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebFetchTool20260309` | `defer_loading` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebFetchTool20260309` | `max_content_tokens` | 否 | `number \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `WebFetchTool20260309` | `max_uses` | 否 | `number \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebFetchTool20260309` | `strict` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebFetchTool20260309` | `use_cache` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebFetchToolResultBlock` | `caller` | 是 | `DirectCaller \| ServerToolCaller \| ServerToolCaller20260120` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebFetchToolResultBlock` | `content` | 是 | `WebFetchToolResultErrorBlock \| WebFetchBlock` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `WebFetchToolResultBlock` | `tool_use_id` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `WebFetchToolResultBlock` | `type` | 是 | `'web_fetch_tool_result'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `WebFetchToolResultBlockParam` | `content` | 是 | `WebFetchToolResultErrorBlockParam \| WebFetchBlockParam` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `WebFetchToolResultBlockParam` | `tool_use_id` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `WebFetchToolResultBlockParam` | `type` | 是 | `'web_fetch_tool_result'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `WebFetchToolResultBlockParam` | `cache_control` | 否 | `CacheControlEphemeral \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebFetchToolResultBlockParam` | `caller` | 否 | `DirectCaller \| ServerToolCaller \| ServerToolCaller20260120` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebFetchToolResultErrorBlock` | `error_code` | 是 | `WebFetchToolResultErrorCode` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `WebFetchToolResultErrorBlock` | `type` | 是 | `'web_fetch_tool_result_error'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `WebFetchToolResultErrorBlockParam` | `error_code` | 是 | `WebFetchToolResultErrorCode` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `WebFetchToolResultErrorBlockParam` | `type` | 是 | `'web_fetch_tool_result_error'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `WebSearchResultBlock` | `encrypted_content` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `WebSearchResultBlock` | `page_age` | 是 | `string \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `WebSearchResultBlock` | `title` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebSearchResultBlock` | `type` | 是 | `'web_search_result'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `WebSearchResultBlock` | `url` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `WebSearchResultBlockParam` | `encrypted_content` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `WebSearchResultBlockParam` | `title` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebSearchResultBlockParam` | `type` | 是 | `'web_search_result'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `WebSearchResultBlockParam` | `url` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `WebSearchResultBlockParam` | `page_age` | 否 | `string \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `WebSearchTool20250305` | `name` | 是 | `'web_search'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `WebSearchTool20250305` | `type` | 是 | `'web_search_20250305'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `WebSearchTool20250305` | `allowed_callers` | 否 | `Array<'direct' \| 'code_execution_20250825' \| 'code_execution_20260120'>` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebSearchTool20250305` | `allowed_domains` | 否 | `Array<string> \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebSearchTool20250305` | `blocked_domains` | 否 | `Array<string> \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebSearchTool20250305` | `cache_control` | 否 | `CacheControlEphemeral \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebSearchTool20250305` | `defer_loading` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebSearchTool20250305` | `max_uses` | 否 | `number \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebSearchTool20250305` | `strict` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebSearchTool20250305` | `user_location` | 否 | `UserLocation \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebSearchTool20260209` | `name` | 是 | `'web_search'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `WebSearchTool20260209` | `type` | 是 | `'web_search_20260209'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `WebSearchTool20260209` | `allowed_callers` | 否 | `Array<'direct' \| 'code_execution_20250825' \| 'code_execution_20260120'>` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebSearchTool20260209` | `allowed_domains` | 否 | `Array<string> \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebSearchTool20260209` | `blocked_domains` | 否 | `Array<string> \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebSearchTool20260209` | `cache_control` | 否 | `CacheControlEphemeral \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebSearchTool20260209` | `defer_loading` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebSearchTool20260209` | `max_uses` | 否 | `number \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebSearchTool20260209` | `strict` | 否 | `boolean` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebSearchTool20260209` | `user_location` | 否 | `UserLocation \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebSearchToolRequestError` | `error_code` | 是 | `WebSearchToolResultErrorCode` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `WebSearchToolRequestError` | `type` | 是 | `'web_search_tool_result_error'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `WebSearchToolResultBlock` | `caller` | 是 | `DirectCaller \| ServerToolCaller \| ServerToolCaller20260120` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebSearchToolResultBlock` | `content` | 是 | `WebSearchToolResultBlockContent` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `WebSearchToolResultBlock` | `tool_use_id` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `WebSearchToolResultBlock` | `type` | 是 | `'web_search_tool_result'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `WebSearchToolResultBlockParam` | `content` | 是 | `WebSearchToolResultBlockParamContent` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `WebSearchToolResultBlockParam` | `tool_use_id` | 是 | `string` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `WebSearchToolResultBlockParam` | `type` | 是 | `'web_search_tool_result'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Claude | `WebSearchToolResultBlockParam` | `cache_control` | 否 | `CacheControlEphemeral \| null` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebSearchToolResultBlockParam` | `caller` | 否 | `DirectCaller \| ServerToolCaller \| ServerToolCaller20260120` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude provider-specific field is preserved same-format and blocked cross-format without an audited target equivalent |
| Claude | `WebSearchToolResultError` | `error_code` | 是 | `WebSearchToolResultErrorCode` | claude:messages standard | native | extension-preserved | lossy-blocked | Claude nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Claude | `WebSearchToolResultError` | `type` | 是 | `'web_search_tool_result_error'` | claude:messages standard | native | mapped | mapped/lossy-blocked | Claude field maps where canonical and target support an equivalent; otherwise conversion fails closed |
| Gemini | `AttributionSourceId` | `groundingPassage` | 否 | `GroundingPassageId` | gemini auxiliary / not-in-conversion-surface | native | not-in-conversion-surface | not-in-conversion-surface | not part of current canonical cross-format conversion; same-format runtime path remains provider-native when routed directly |
| Gemini | `AttributionSourceId` | `semanticRetrieverChunk` | 否 | `SemanticRetrieverChunk` | gemini auxiliary / not-in-conversion-surface | native | not-in-conversion-surface | not-in-conversion-surface | not part of current canonical cross-format conversion; same-format runtime path remains provider-native when routed directly |
| Gemini | `AudioResponseFormat` | `bitRate` | 否 | `integer(int32)` | gemini:generate_content standard | native | extension-preserved | lossy-blocked | Gemini nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Gemini | `AudioResponseFormat` | `delivery` | 否 | `string` | gemini:generate_content standard | native | extension-preserved | lossy-blocked | Gemini nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Gemini | `AudioResponseFormat` | `mimeType` | 否 | `string` | gemini:generate_content standard | native | extension-preserved | lossy-blocked | Gemini nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |
| Gemini | `AudioResponseFormat` | `sampleRate` | 否 | `integer(int32)` | gemini:generate_content standard | native | extension-preserved | lossy-blocked | Gemini nested/provider-specific field is same-format preserved; cross-format requires explicit mapping or fails closed |