diff --git a/swagger/docs.go b/swagger/docs.go index ab779b648..55b3a84f2 100644 --- a/swagger/docs.go +++ b/swagger/docs.go @@ -1198,6 +1198,30 @@ const docTemplate = `{ } } }, + "/v1/messages": { + "post": { + "summary": "Generate a message response for the given messages and model.", + "parameters": [ + { + "description": "query params", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/schema.AnthropicRequest" + } + } + ], + "responses": { + "200": { + "description": "Response", + "schema": { + "$ref": "#/definitions/schema.AnthropicResponse" + } + } + } + } + }, "/v1/models": { "get": { "summary": "List and describe the various models available in the API.", @@ -1739,6 +1763,169 @@ const docTemplate = `{ } } }, + "schema.AnthropicContentBlock": { + "type": "object", + "properties": { + "content": {}, + "id": { + "type": "string" + }, + "input": { + "type": "object", + "additionalProperties": true + }, + "is_error": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "source": { + "$ref": "#/definitions/schema.AnthropicImageSource" + }, + "text": { + "type": "string" + }, + "tool_use_id": { + "type": "string" + }, + "type": { + "type": "string" + } + } + }, + "schema.AnthropicImageSource": { + "type": "object", + "properties": { + "data": { + "type": "string" + }, + "media_type": { + "type": "string" + }, + "type": { + "type": "string" + } + } + }, + "schema.AnthropicMessage": { + "type": "object", + "properties": { + "content": {}, + "role": { + "type": "string" + } + } + }, + "schema.AnthropicRequest": { + "type": "object", + "properties": { + "max_tokens": { + "type": "integer" + }, + "messages": { + "type": "array", + "items": { + "$ref": "#/definitions/schema.AnthropicMessage" + } + }, + "metadata": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "model": { + "type": "string" + }, + "stop_sequences": { + "type": "array", + "items": { + "type": "string" + } + }, + "stream": { + "type": "boolean" + }, + "system": { + "type": "string" + }, + "temperature": { + "type": "number" + }, + "tool_choice": {}, + "tools": { + "type": "array", + "items": { + "$ref": "#/definitions/schema.AnthropicTool" + } + }, + "top_k": { + "type": "integer" + }, + "top_p": { + "type": "number" + } + } + }, + "schema.AnthropicResponse": { + "type": "object", + "properties": { + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/schema.AnthropicContentBlock" + } + }, + "id": { + "type": "string" + }, + "model": { + "type": "string" + }, + "role": { + "type": "string" + }, + "stop_reason": { + "type": "string" + }, + "stop_sequence": { + "type": "string" + }, + "type": { + "type": "string" + }, + "usage": { + "$ref": "#/definitions/schema.AnthropicUsage" + } + } + }, + "schema.AnthropicTool": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "input_schema": { + "type": "object", + "additionalProperties": true + }, + "name": { + "type": "string" + } + } + }, + "schema.AnthropicUsage": { + "type": "object", + "properties": { + "input_tokens": { + "type": "integer" + }, + "output_tokens": { + "type": "integer" + } + } + }, "schema.BackendMonitorRequest": { "type": "object", "properties": { @@ -2229,6 +2416,10 @@ const docTemplate = `{ "description": "The message name (used for tools calls)", "type": "string" }, + "reasoning": { + "description": "Reasoning content extracted from \u003cthinking\u003e...\u003c/thinking\u003e tags", + "type": "string" + }, "role": { "description": "The message role", "type": "string" diff --git a/swagger/swagger.json b/swagger/swagger.json index 6fadcab51..15b6776e7 100644 --- a/swagger/swagger.json +++ b/swagger/swagger.json @@ -1191,6 +1191,30 @@ } } }, + "/v1/messages": { + "post": { + "summary": "Generate a message response for the given messages and model.", + "parameters": [ + { + "description": "query params", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/schema.AnthropicRequest" + } + } + ], + "responses": { + "200": { + "description": "Response", + "schema": { + "$ref": "#/definitions/schema.AnthropicResponse" + } + } + } + } + }, "/v1/models": { "get": { "summary": "List and describe the various models available in the API.", @@ -1732,6 +1756,169 @@ } } }, + "schema.AnthropicContentBlock": { + "type": "object", + "properties": { + "content": {}, + "id": { + "type": "string" + }, + "input": { + "type": "object", + "additionalProperties": true + }, + "is_error": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "source": { + "$ref": "#/definitions/schema.AnthropicImageSource" + }, + "text": { + "type": "string" + }, + "tool_use_id": { + "type": "string" + }, + "type": { + "type": "string" + } + } + }, + "schema.AnthropicImageSource": { + "type": "object", + "properties": { + "data": { + "type": "string" + }, + "media_type": { + "type": "string" + }, + "type": { + "type": "string" + } + } + }, + "schema.AnthropicMessage": { + "type": "object", + "properties": { + "content": {}, + "role": { + "type": "string" + } + } + }, + "schema.AnthropicRequest": { + "type": "object", + "properties": { + "max_tokens": { + "type": "integer" + }, + "messages": { + "type": "array", + "items": { + "$ref": "#/definitions/schema.AnthropicMessage" + } + }, + "metadata": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "model": { + "type": "string" + }, + "stop_sequences": { + "type": "array", + "items": { + "type": "string" + } + }, + "stream": { + "type": "boolean" + }, + "system": { + "type": "string" + }, + "temperature": { + "type": "number" + }, + "tool_choice": {}, + "tools": { + "type": "array", + "items": { + "$ref": "#/definitions/schema.AnthropicTool" + } + }, + "top_k": { + "type": "integer" + }, + "top_p": { + "type": "number" + } + } + }, + "schema.AnthropicResponse": { + "type": "object", + "properties": { + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/schema.AnthropicContentBlock" + } + }, + "id": { + "type": "string" + }, + "model": { + "type": "string" + }, + "role": { + "type": "string" + }, + "stop_reason": { + "type": "string" + }, + "stop_sequence": { + "type": "string" + }, + "type": { + "type": "string" + }, + "usage": { + "$ref": "#/definitions/schema.AnthropicUsage" + } + } + }, + "schema.AnthropicTool": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "input_schema": { + "type": "object", + "additionalProperties": true + }, + "name": { + "type": "string" + } + } + }, + "schema.AnthropicUsage": { + "type": "object", + "properties": { + "input_tokens": { + "type": "integer" + }, + "output_tokens": { + "type": "integer" + } + } + }, "schema.BackendMonitorRequest": { "type": "object", "properties": { @@ -2222,6 +2409,10 @@ "description": "The message name (used for tools calls)", "type": "string" }, + "reasoning": { + "description": "Reasoning content extracted from \u003cthinking\u003e...\u003c/thinking\u003e tags", + "type": "string" + }, "role": { "description": "The message role", "type": "string" diff --git a/swagger/swagger.yaml b/swagger/swagger.yaml index cc5816b36..73f94da2e 100644 --- a/swagger/swagger.yaml +++ b/swagger/swagger.yaml @@ -239,6 +239,114 @@ definitions: start: type: number type: object + schema.AnthropicContentBlock: + properties: + content: {} + id: + type: string + input: + additionalProperties: true + type: object + is_error: + type: boolean + name: + type: string + source: + $ref: '#/definitions/schema.AnthropicImageSource' + text: + type: string + tool_use_id: + type: string + type: + type: string + type: object + schema.AnthropicImageSource: + properties: + data: + type: string + media_type: + type: string + type: + type: string + type: object + schema.AnthropicMessage: + properties: + content: {} + role: + type: string + type: object + schema.AnthropicRequest: + properties: + max_tokens: + type: integer + messages: + items: + $ref: '#/definitions/schema.AnthropicMessage' + type: array + metadata: + additionalProperties: + type: string + type: object + model: + type: string + stop_sequences: + items: + type: string + type: array + stream: + type: boolean + system: + type: string + temperature: + type: number + tool_choice: {} + tools: + items: + $ref: '#/definitions/schema.AnthropicTool' + type: array + top_k: + type: integer + top_p: + type: number + type: object + schema.AnthropicResponse: + properties: + content: + items: + $ref: '#/definitions/schema.AnthropicContentBlock' + type: array + id: + type: string + model: + type: string + role: + type: string + stop_reason: + type: string + stop_sequence: + type: string + type: + type: string + usage: + $ref: '#/definitions/schema.AnthropicUsage' + type: object + schema.AnthropicTool: + properties: + description: + type: string + input_schema: + additionalProperties: true + type: object + name: + type: string + type: object + schema.AnthropicUsage: + properties: + input_tokens: + type: integer + output_tokens: + type: integer + type: object schema.BackendMonitorRequest: properties: model: @@ -573,6 +681,9 @@ definitions: name: description: The message name (used for tools calls) type: string + reasoning: + description: Reasoning content extracted from ... tags + type: string role: description: The message role type: string @@ -1813,6 +1924,21 @@ paths: schema: $ref: '#/definitions/schema.OpenAIResponse' summary: Stream MCP chat completions with reasoning, tool calls, and results + /v1/messages: + post: + parameters: + - description: query params + in: body + name: request + required: true + schema: + $ref: '#/definitions/schema.AnthropicRequest' + responses: + "200": + description: Response + schema: + $ref: '#/definitions/schema.AnthropicResponse' + summary: Generate a message response for the given messages and model. /v1/models: get: responses: