1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# Synced from ai-protocol v2/contracts/anthropic-messages.contract.yaml (PT-079-R1)
$schema: "https://raw.githubusercontent.com/ailib-official/ai-protocol/main/schemas/v2/provider-contract.json"
contract_version: "1.0"
provider_id: anthropic
api_style: anthropic_messages
api_version: "2023-06-01"
request_mapping:
message_format: anthropic_messages
role_mapping:
system: system
user: user
assistant: assistant
tool: user
system_message_handling: top_level_field
content_block_mapping:
text:
wrapper: content_blocks
image:
format: anthropic_source
base64_field: source.data
url_field: source.url
document:
format: anthropic_document
type_field: document
source_wrapper: anthropic_source
base64_field: source.data
mime_type_field: source.media_type
default_mime_type: application/pdf
ref_resolution: error_before_encode
response_mapping:
content_path: "$.content[?(@.type=='text')].text"
finish_reason_path: "$.stop_reason"
usage_path: "$.usage"
finish_reason_mapping:
end_turn: stop
max_tokens: length
tool_use: tool_calls
stop_sequence: stop
capability_contracts:
streaming:
protocol: sse
supports_usage_in_stream: true
supports_tool_streaming: true
done_signal: message_stop
tools:
definition_format: anthropic_tools
supports_parallel: true
authentication_contract:
method: api_key_header