|
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": [ |
|
4332 | 4437 | ], |
4333 | 4438 | "summary": "Handle A2A Jsonrpc", |
4334 | 4439 | "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", |
4335 | | - "operationId": "handle_a2a_jsonrpc_a2a_post", |
| 4440 | + "operationId": "handle_a2a_jsonrpc_a2a_get", |
4336 | 4441 | "responses": { |
4337 | 4442 | "200": { |
4338 | 4443 | "description": "Successful Response", |
|
4350 | 4455 | ], |
4351 | 4456 | "summary": "Handle A2A Jsonrpc", |
4352 | 4457 | "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", |
4353 | | - "operationId": "handle_a2a_jsonrpc_a2a_post", |
| 4458 | + "operationId": "handle_a2a_jsonrpc_a2a_get", |
4354 | 4459 | "responses": { |
4355 | 4460 | "200": { |
4356 | 4461 | "description": "Successful Response", |
|
9224 | 9329 | } |
9225 | 9330 | ] |
9226 | 9331 | }, |
| 9332 | + "StreamingInterruptRequest": { |
| 9333 | + "properties": { |
| 9334 | + "request_id": { |
| 9335 | + "type": "string", |
| 9336 | + "title": "Request Id", |
| 9337 | + "description": "The active streaming request ID to interrupt", |
| 9338 | + "examples": [ |
| 9339 | + "123e4567-e89b-12d3-a456-426614174000" |
| 9340 | + ] |
| 9341 | + } |
| 9342 | + }, |
| 9343 | + "additionalProperties": false, |
| 9344 | + "type": "object", |
| 9345 | + "required": [ |
| 9346 | + "request_id" |
| 9347 | + ], |
| 9348 | + "title": "StreamingInterruptRequest", |
| 9349 | + "description": "Model representing a request to interrupt an active streaming query.", |
| 9350 | + "examples": [ |
| 9351 | + { |
| 9352 | + "request_id": "123e4567-e89b-12d3-a456-426614174000" |
| 9353 | + } |
| 9354 | + ] |
| 9355 | + }, |
| 9356 | + "StreamingInterruptResponse": { |
| 9357 | + "properties": { |
| 9358 | + "request_id": { |
| 9359 | + "type": "string", |
| 9360 | + "title": "Request Id", |
| 9361 | + "description": "The streaming request ID targeted by the interrupt call", |
| 9362 | + "examples": [ |
| 9363 | + "123e4567-e89b-12d3-a456-426614174000" |
| 9364 | + ] |
| 9365 | + }, |
| 9366 | + "interrupted": { |
| 9367 | + "type": "boolean", |
| 9368 | + "title": "Interrupted", |
| 9369 | + "description": "Whether an in-progress stream was interrupted", |
| 9370 | + "examples": [ |
| 9371 | + true |
| 9372 | + ] |
| 9373 | + }, |
| 9374 | + "message": { |
| 9375 | + "type": "string", |
| 9376 | + "title": "Message", |
| 9377 | + "description": "Human-readable interruption status message", |
| 9378 | + "examples": [ |
| 9379 | + "Streaming request interrupted" |
| 9380 | + ] |
| 9381 | + } |
| 9382 | + }, |
| 9383 | + "type": "object", |
| 9384 | + "required": [ |
| 9385 | + "request_id", |
| 9386 | + "interrupted", |
| 9387 | + "message" |
| 9388 | + ], |
| 9389 | + "title": "StreamingInterruptResponse", |
| 9390 | + "description": "Model representing a response to a streaming interrupt request.", |
| 9391 | + "examples": [ |
| 9392 | + { |
| 9393 | + "interrupted": true, |
| 9394 | + "message": "Streaming request interrupted", |
| 9395 | + "request_id": "123e4567-e89b-12d3-a456-426614174000" |
| 9396 | + } |
| 9397 | + ] |
| 9398 | + }, |
9227 | 9399 | "TLSConfiguration": { |
9228 | 9400 | "properties": { |
9229 | 9401 | "tls_certificate_path": { |
|
0 commit comments