|
1661 | 1661 | "type": "string", |
1662 | 1662 | "format": "text/event-stream" |
1663 | 1663 | }, |
1664 | | - "example": "data: {\"event\": \"start\", \"data\": {\"conversation_id\": \"123e4567-e89b-12d3-a456-426614174000\"}}\n\ndata: {\"event\": \"token\", \"data\": {\"id\": 0, \"token\": \"No Violation\"}}\n\ndata: {\"event\": \"token\", \"data\": {\"id\": 1, \"token\": \"\"}}\n\ndata: {\"event\": \"token\", \"data\": {\"id\": 2, \"token\": \"Hello\"}}\n\ndata: {\"event\": \"token\", \"data\": {\"id\": 3, \"token\": \"!\"}}\n\ndata: {\"event\": \"token\", \"data\": {\"id\": 4, \"token\": \" How\"}}\n\ndata: {\"event\": \"token\", \"data\": {\"id\": 5, \"token\": \" can\"}}\n\ndata: {\"event\": \"token\", \"data\": {\"id\": 6, \"token\": \" I\"}}\n\ndata: {\"event\": \"token\", \"data\": {\"id\": 7, \"token\": \" assist\"}}\n\ndata: {\"event\": \"token\", \"data\": {\"id\": 8, \"token\": \" you\"}}\n\ndata: {\"event\": \"token\", \"data\": {\"id\": 9, \"token\": \" today\"}}\n\ndata: {\"event\": \"token\", \"data\": {\"id\": 10, \"token\": \"?\"}}\n\ndata: {\"event\": \"turn_complete\", \"data\": {\"token\": \"Hello! How can I assist you today?\"}}\n\ndata: {\"event\": \"end\", \"data\": {\"referenced_documents\": [], \"truncated\": null, \"input_tokens\": 11, \"output_tokens\": 19}, \"available_quotas\": {}}\n\n" |
| 1664 | + "example": "data: {\"event\": \"start\", \"data\": {\"conversation_id\": \"123e4567-e89b-12d3-a456-426614174000\", \"request_id\": \"123e4567-e89b-12d3-a456-426614174001\"}}\n\ndata: {\"event\": \"token\", \"data\": {\"id\": 0, \"token\": \"No Violation\"}}\n\ndata: {\"event\": \"token\", \"data\": {\"id\": 1, \"token\": \"\"}}\n\ndata: {\"event\": \"token\", \"data\": {\"id\": 2, \"token\": \"Hello\"}}\n\ndata: {\"event\": \"token\", \"data\": {\"id\": 3, \"token\": \"!\"}}\n\ndata: {\"event\": \"token\", \"data\": {\"id\": 4, \"token\": \" How\"}}\n\ndata: {\"event\": \"token\", \"data\": {\"id\": 5, \"token\": \" can\"}}\n\ndata: {\"event\": \"token\", \"data\": {\"id\": 6, \"token\": \" I\"}}\n\ndata: {\"event\": \"token\", \"data\": {\"id\": 7, \"token\": \" assist\"}}\n\ndata: {\"event\": \"token\", \"data\": {\"id\": 8, \"token\": \" you\"}}\n\ndata: {\"event\": \"token\", \"data\": {\"id\": 9, \"token\": \" today\"}}\n\ndata: {\"event\": \"token\", \"data\": {\"id\": 10, \"token\": \"?\"}}\n\ndata: {\"event\": \"turn_complete\", \"data\": {\"token\": \"Hello! How can I assist you today?\"}}\n\ndata: {\"event\": \"end\", \"data\": {\"referenced_documents\": [], \"truncated\": null, \"input_tokens\": 11, \"output_tokens\": 19}, \"available_quotas\": {}}\n\n" |
1665 | 1665 | } |
1666 | 1666 | } |
1667 | 1667 | }, |
|
1912 | 1912 | } |
1913 | 1913 | } |
1914 | 1914 | }, |
| 1915 | + "/v1/streaming_query/interrupt": { |
| 1916 | + "post": { |
| 1917 | + "tags": [ |
| 1918 | + "streaming_query_interrupt" |
| 1919 | + ], |
| 1920 | + "summary": "Streaming Query Interrupt Endpoint Handler", |
| 1921 | + "description": "Interrupt an in-progress streaming query by request identifier.", |
| 1922 | + "operationId": "stream_interrupt_endpoint_handler_v1_streaming_query_interrupt_post", |
| 1923 | + "requestBody": { |
| 1924 | + "content": { |
| 1925 | + "application/json": { |
| 1926 | + "schema": { |
| 1927 | + "$ref": "#/components/schemas/StreamingInterruptRequest" |
| 1928 | + } |
| 1929 | + } |
| 1930 | + }, |
| 1931 | + "required": true |
| 1932 | + }, |
| 1933 | + "responses": { |
| 1934 | + "200": { |
| 1935 | + "description": "Successful response", |
| 1936 | + "content": { |
| 1937 | + "application/json": { |
| 1938 | + "schema": { |
| 1939 | + "$ref": "#/components/schemas/StreamingInterruptResponse" |
| 1940 | + }, |
| 1941 | + "example": { |
| 1942 | + "interrupted": true, |
| 1943 | + "message": "Streaming request interrupted", |
| 1944 | + "request_id": "123e4567-e89b-12d3-a456-426614174000" |
| 1945 | + } |
| 1946 | + } |
| 1947 | + } |
| 1948 | + }, |
| 1949 | + "401": { |
| 1950 | + "description": "Unauthorized", |
| 1951 | + "content": { |
| 1952 | + "application/json": { |
| 1953 | + "schema": { |
| 1954 | + "$ref": "#/components/schemas/UnauthorizedResponse" |
| 1955 | + }, |
| 1956 | + "examples": { |
| 1957 | + "missing header": { |
| 1958 | + "value": { |
| 1959 | + "detail": { |
| 1960 | + "cause": "No Authorization header found", |
| 1961 | + "response": "Missing or invalid credentials provided by client" |
| 1962 | + } |
| 1963 | + } |
| 1964 | + }, |
| 1965 | + "missing token": { |
| 1966 | + "value": { |
| 1967 | + "detail": { |
| 1968 | + "cause": "No token found in Authorization header", |
| 1969 | + "response": "Missing or invalid credentials provided by client" |
| 1970 | + } |
| 1971 | + } |
| 1972 | + } |
| 1973 | + } |
| 1974 | + } |
| 1975 | + } |
| 1976 | + }, |
| 1977 | + "403": { |
| 1978 | + "description": "Permission denied", |
| 1979 | + "content": { |
| 1980 | + "application/json": { |
| 1981 | + "schema": { |
| 1982 | + "$ref": "#/components/schemas/ForbiddenResponse" |
| 1983 | + }, |
| 1984 | + "examples": { |
| 1985 | + "endpoint": { |
| 1986 | + "value": { |
| 1987 | + "detail": { |
| 1988 | + "cause": "User 6789 is not authorized to access this endpoint.", |
| 1989 | + "response": "User does not have permission to access this endpoint" |
| 1990 | + } |
| 1991 | + } |
| 1992 | + } |
| 1993 | + } |
| 1994 | + } |
| 1995 | + } |
| 1996 | + }, |
| 1997 | + "404": { |
| 1998 | + "description": "Resource not found", |
| 1999 | + "content": { |
| 2000 | + "application/json": { |
| 2001 | + "schema": { |
| 2002 | + "$ref": "#/components/schemas/NotFoundResponse" |
| 2003 | + } |
| 2004 | + } |
| 2005 | + } |
| 2006 | + }, |
| 2007 | + "422": { |
| 2008 | + "description": "Validation Error", |
| 2009 | + "content": { |
| 2010 | + "application/json": { |
| 2011 | + "schema": { |
| 2012 | + "$ref": "#/components/schemas/HTTPValidationError" |
| 2013 | + } |
| 2014 | + } |
| 2015 | + } |
| 2016 | + } |
| 2017 | + } |
| 2018 | + } |
| 2019 | + }, |
1915 | 2020 | "/v1/config": { |
1916 | 2021 | "get": { |
1917 | 2022 | "tags": [ |
|
4312 | 4417 | ], |
4313 | 4418 | "summary": "Handle A2A Jsonrpc", |
4314 | 4419 | "description": "Handle A2A JSON-RPC requests following the A2A protocol specification.\n\nThis endpoint uses the DefaultRequestHandler from the A2A SDK to handle\nall JSON-RPC requests including message/send, message/stream, etc.\n\nThe A2A SDK application is created per-request to include authentication\ncontext while still leveraging FastAPI's authorization middleware.\n\nAutomatically detects streaming requests (message/stream JSON-RPC method)\nand returns a StreamingResponse to enable real-time chunk delivery.\n\nArgs:\n request: FastAPI request object\n auth: Authentication tuple\n mcp_headers: MCP headers for context propagation\n\nReturns:\n JSON-RPC response or streaming response", |
4315 | | - "operationId": "handle_a2a_jsonrpc_a2a_post", |
| 4420 | + "operationId": "handle_a2a_jsonrpc_a2a_get", |
4316 | 4421 | "responses": { |
4317 | 4422 | "200": { |
4318 | 4423 | "description": "Successful Response", |
|
4330 | 4435 | ], |
4331 | 4436 | "summary": "Handle A2A Jsonrpc", |
4332 | 4437 | "description": "Handle A2A JSON-RPC requests following the A2A protocol specification.\n\nThis endpoint uses the DefaultRequestHandler from the A2A SDK to handle\nall JSON-RPC requests including message/send, message/stream, etc.\n\nThe A2A SDK application is created per-request to include authentication\ncontext while still leveraging FastAPI's authorization middleware.\n\nAutomatically detects streaming requests (message/stream JSON-RPC method)\nand returns a StreamingResponse to enable real-time chunk delivery.\n\nArgs:\n request: FastAPI request object\n auth: Authentication tuple\n mcp_headers: MCP headers for context propagation\n\nReturns:\n JSON-RPC response or streaming response", |
4333 | | - "operationId": "handle_a2a_jsonrpc_a2a_post", |
| 4438 | + "operationId": "handle_a2a_jsonrpc_a2a_get", |
4334 | 4439 | "responses": { |
4335 | 4440 | "200": { |
4336 | 4441 | "description": "Successful Response", |
|
9177 | 9282 | } |
9178 | 9283 | ] |
9179 | 9284 | }, |
| 9285 | + "StreamingInterruptRequest": { |
| 9286 | + "properties": { |
| 9287 | + "request_id": { |
| 9288 | + "type": "string", |
| 9289 | + "title": "Request Id", |
| 9290 | + "description": "The active streaming request ID to interrupt", |
| 9291 | + "examples": [ |
| 9292 | + "123e4567-e89b-12d3-a456-426614174000" |
| 9293 | + ] |
| 9294 | + } |
| 9295 | + }, |
| 9296 | + "additionalProperties": false, |
| 9297 | + "type": "object", |
| 9298 | + "required": [ |
| 9299 | + "request_id" |
| 9300 | + ], |
| 9301 | + "title": "StreamingInterruptRequest", |
| 9302 | + "description": "Model representing a request to interrupt an active streaming query.", |
| 9303 | + "examples": [ |
| 9304 | + { |
| 9305 | + "request_id": "123e4567-e89b-12d3-a456-426614174000" |
| 9306 | + } |
| 9307 | + ] |
| 9308 | + }, |
| 9309 | + "StreamingInterruptResponse": { |
| 9310 | + "properties": { |
| 9311 | + "request_id": { |
| 9312 | + "type": "string", |
| 9313 | + "title": "Request Id", |
| 9314 | + "description": "The streaming request ID targeted by the interrupt call", |
| 9315 | + "examples": [ |
| 9316 | + "123e4567-e89b-12d3-a456-426614174000" |
| 9317 | + ] |
| 9318 | + }, |
| 9319 | + "interrupted": { |
| 9320 | + "type": "boolean", |
| 9321 | + "title": "Interrupted", |
| 9322 | + "description": "Whether an in-progress stream was interrupted", |
| 9323 | + "examples": [ |
| 9324 | + true |
| 9325 | + ] |
| 9326 | + }, |
| 9327 | + "message": { |
| 9328 | + "type": "string", |
| 9329 | + "title": "Message", |
| 9330 | + "description": "Human-readable interruption status message", |
| 9331 | + "examples": [ |
| 9332 | + "Streaming request interrupted" |
| 9333 | + ] |
| 9334 | + } |
| 9335 | + }, |
| 9336 | + "type": "object", |
| 9337 | + "required": [ |
| 9338 | + "request_id", |
| 9339 | + "interrupted", |
| 9340 | + "message" |
| 9341 | + ], |
| 9342 | + "title": "StreamingInterruptResponse", |
| 9343 | + "description": "Model representing a response to a streaming interrupt request.", |
| 9344 | + "examples": [ |
| 9345 | + { |
| 9346 | + "interrupted": true, |
| 9347 | + "message": "Streaming request interrupted", |
| 9348 | + "request_id": "123e4567-e89b-12d3-a456-426614174000" |
| 9349 | + } |
| 9350 | + ] |
| 9351 | + }, |
9180 | 9352 | "TLSConfiguration": { |
9181 | 9353 | "properties": { |
9182 | 9354 | "tls_certificate_path": { |
|
0 commit comments