|
245 | 245 | "models" |
246 | 246 | ], |
247 | 247 | "summary": "Models Endpoint Handler", |
248 | | - "description": "Handle requests to the /models endpoint.\n\nProcess GET requests to the /models endpoint, returning a list of available\nmodels from the Llama Stack service.\n\nParameters:\n request: The incoming HTTP request.\n auth: Authentication tuple from the auth dependency.\n model_type: Optional filter to return only models matching this type.\n\nRaises:\n HTTPException: If unable to connect to the Llama Stack server or if\n model retrieval fails for any reason.\n\nReturns:\n ModelsResponse: An object containing the list of available models.", |
| 248 | + "description": "Handle requests to the /models endpoint.\n\nProcess GET requests to the /models endpoint, returning a list of available\nmodels from the Llama Stack service. It is possible to specify \"model_type\"\nquery parameter that is used as a filter. For example, if model type is set\nto \"llm\", only LLM models will be returned:\n\n curl http://localhost:8080/v1/models?model_type=llm\n\nThe \"model_type\" query parameter is optional. When not specified, all models\nwill be returned.\n\n### Parameters:\n request: The incoming HTTP request.\n auth: Authentication tuple from the auth dependency.\n model_type: Optional filter to return only models matching this type.\n\n### Raises:\n HTTPException: If unable to connect to the Llama Stack server or if\n model retrieval fails for any reason.\n\n### Returns:\n ModelsResponse: An object containing the list of available models.", |
249 | 249 | "operationId": "models_endpoint_handler_v1_models_get", |
250 | 250 | "parameters": [ |
251 | 251 | { |
|
890 | 890 | "providers" |
891 | 891 | ], |
892 | 892 | "summary": "Get Provider Endpoint Handler", |
893 | | - "description": "Retrieve a single provider by its unique ID.\n\nReturns:\n ProviderResponse: Provider details.\n\nRaises:\n HTTPException:\n - 401: Authentication failed\n - 403: Authorization failed\n - 404: Provider not found\n - 500: Lightspeed Stack configuration not loaded\n - 503: Unable to connect to Llama Stack", |
| 893 | + "description": "Retrieve a single provider identified by its unique ID.\n\nReturns:\n ProviderResponse: Provider details.\n\nRaises:\n HTTPException:\n - 401: Authentication failed\n - 403: Authorization failed\n - 404: Provider not found\n - 500: Lightspeed Stack configuration not loaded\n - 503: Unable to connect to Llama Stack", |
894 | 894 | "operationId": "get_provider_endpoint_handler_v1_providers__provider_id__get", |
895 | 895 | "parameters": [ |
896 | 896 | { |
|
1170 | 1170 | "rags" |
1171 | 1171 | ], |
1172 | 1172 | "summary": "Get Rag Endpoint Handler", |
1173 | | - "description": "Retrieve a single RAG by its unique ID.\n\nAccepts both user-facing rag_id (from LCORE config) and llama-stack\nvector_store_id. If a rag_id from config is provided, it is resolved\nto the underlying vector_store_id for the llama-stack lookup.\n\nReturns:\n RAGInfoResponse: A single RAG's details.\n\nRaises:\n HTTPException:\n - 401: Authentication failed\n - 403: Authorization failed\n - 404: RAG with the given ID not found\n - 500: Lightspeed Stack configuration not loaded\n - 503: Unable to connect to Llama Stack", |
| 1173 | + "description": "Retrieve a single RAG identified by its unique ID.\n\nAccepts both user-facing rag_id (from LCORE config) and llama-stack\nvector_store_id. If a rag_id from config is provided, it is resolved\nto the underlying vector_store_id for the llama-stack lookup.\n\nReturns:\n RAGInfoResponse: A single RAG's details.\n\nRaises:\n HTTPException:\n - 401: Authentication failed\n - 403: Authorization failed\n - 404: RAG with the given ID not found\n - 500: Lightspeed Stack configuration not loaded\n - 503: Unable to connect to Llama Stack", |
1174 | 1174 | "operationId": "get_rag_endpoint_handler_v1_rags__rag_id__get", |
1175 | 1175 | "parameters": [ |
1176 | 1176 | { |
|
2489 | 2489 | "conversations_v1" |
2490 | 2490 | ], |
2491 | 2491 | "summary": "Conversation Get Endpoint Handler V1", |
2492 | | - "description": "Handle request to retrieve a conversation by ID using Conversations API.\n\nRetrieve a conversation's chat history by its ID using the LlamaStack\nConversations API. This endpoint fetches the conversation items from\nthe backend, simplifies them to essential chat history, and returns\nthem in a structured response. Raises HTTP 400 for invalid IDs, 404\nif not found, 503 if the backend is unavailable, and 500 for\nunexpected errors.\n\nArgs:\n request: The FastAPI request object\n conversation_id: Unique identifier of the conversation to retrieve\n auth: Authentication tuple from dependency\n\nReturns:\n ConversationResponse: Structured response containing the conversation\n ID and simplified chat history", |
| 2492 | + "description": "Handle request to retrieve a conversation identified by ID using Conversations API.\n\nRetrieve a conversation's chat history by its ID using the LlamaStack\nConversations API. This endpoint fetches the conversation items from\nthe backend, simplifies them to essential chat history, and returns\nthem in a structured response. Raises HTTP 400 for invalid IDs, 404\nif not found, 503 if the backend is unavailable, and 500 for\nunexpected errors.\n\nArgs:\n request: The FastAPI request object\n conversation_id: Unique identifier of the conversation to retrieve\n auth: Authentication tuple from dependency\n\nReturns:\n ConversationResponse: Structured response containing the conversation\n ID and simplified chat history", |
2493 | 2493 | "operationId": "get_conversation_endpoint_handler_v1_conversations__conversation_id__get", |
2494 | 2494 | "parameters": [ |
2495 | 2495 | { |
|
3179 | 3179 | "conversations_v2" |
3180 | 3180 | ], |
3181 | 3181 | "summary": "Get Conversation Endpoint Handler", |
3182 | | - "description": "Handle request to retrieve a conversation by ID.", |
| 3182 | + "description": "Handle request to retrieve a conversation identified by its ID.", |
3183 | 3183 | "operationId": "get_conversation_endpoint_handler_v2_conversations__conversation_id__get", |
3184 | 3184 | "parameters": [ |
3185 | 3185 | { |
|
3763 | 3763 | } |
3764 | 3764 | } |
3765 | 3765 | }, |
| 3766 | + "413": { |
| 3767 | + "description": "Prompt is too long", |
| 3768 | + "content": { |
| 3769 | + "application/json": { |
| 3770 | + "schema": { |
| 3771 | + "$ref": "#/components/schemas/PromptTooLongResponse" |
| 3772 | + }, |
| 3773 | + "examples": { |
| 3774 | + "prompt too long": { |
| 3775 | + "value": { |
| 3776 | + "detail": { |
| 3777 | + "cause": "The prompt exceeds the maximum allowed length.", |
| 3778 | + "response": "Prompt is too long" |
| 3779 | + } |
| 3780 | + } |
| 3781 | + } |
| 3782 | + } |
| 3783 | + } |
| 3784 | + } |
| 3785 | + }, |
3766 | 3786 | "422": { |
3767 | 3787 | "description": "Request validation failed", |
3768 | 3788 | "content": { |
|
4312 | 4332 | ], |
4313 | 4333 | "summary": "Handle A2A Jsonrpc", |
4314 | 4334 | "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", |
| 4335 | + "operationId": "handle_a2a_jsonrpc_a2a_get", |
4316 | 4336 | "responses": { |
4317 | 4337 | "200": { |
4318 | 4338 | "description": "Successful Response", |
|
4330 | 4350 | ], |
4331 | 4351 | "summary": "Handle A2A Jsonrpc", |
4332 | 4352 | "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", |
| 4353 | + "operationId": "handle_a2a_jsonrpc_a2a_get", |
4334 | 4354 | "responses": { |
4335 | 4355 | "200": { |
4336 | 4356 | "description": "Successful Response", |
|
5882 | 5902 | "conversation_id" |
5883 | 5903 | ], |
5884 | 5904 | "title": "ConversationDetails", |
5885 | | - "description": "Model representing the details of a user conversation.\n\nAttributes:\n conversation_id: The conversation ID (UUID).\n created_at: When the conversation was created.\n last_message_at: When the last message was sent.\n message_count: Number of user messages in the conversation.\n last_used_model: The last model used for the conversation.\n last_used_provider: The provider of the last used model.\n topic_summary: The topic summary for the conversation.\n\nExample:\n ```python\n conversation = ConversationDetails(\n conversation_id=\"123e4567-e89b-12d3-a456-426614174000\"\n created_at=\"2024-01-01T00:00:00Z\",\n last_message_at=\"2024-01-01T00:05:00Z\",\n message_count=5,\n last_used_model=\"gemini/gemini-2.0-flash\",\n last_used_provider=\"gemini\",\n topic_summary=\"Openshift Microservices Deployment Strategies\",\n )\n ```" |
| 5905 | + "description": "Model representing the details of a user conversation.\n\nAttributes:\n conversation_id: The conversation ID (UUID).\n created_at: When the conversation was created.\n last_message_at: When the last message was sent.\n message_count: Number of user messages in the conversation.\n last_used_model: The last model used for the conversation.\n last_used_provider: The provider of the last used model.\n topic_summary: The topic summary for the conversation.\n\nExample:\n ```python\n conversation = ConversationDetails(\n conversation_id=\"123e4567-e89b-12d3-a456-426614174000\",\n created_at=\"2024-01-01T00:00:00Z\",\n last_message_at=\"2024-01-01T00:05:00Z\",\n message_count=5,\n last_used_model=\"gemini/gemini-2.0-flash\",\n last_used_provider=\"gemini\",\n topic_summary=\"Openshift Microservices Deployment Strategies\",\n )\n ```" |
5886 | 5906 | }, |
5887 | 5907 | "ConversationHistoryConfiguration": { |
5888 | 5908 | "properties": { |
|
7201 | 7221 | }, |
7202 | 7222 | "type": "object", |
7203 | 7223 | "title": "Authorization headers", |
7204 | | - "description": "Headers to send to the MCP server. The map contains the header name and the path to a file containing the header value (secret). There are 2 special cases: 1. Usage of the kubernetes token in the header. To specify this use a string 'kubernetes' instead of the file path. 2. Usage of the client provided token in the header. To specify this use a string 'client' instead of the file path." |
| 7224 | + "description": "Headers to send to the MCP server. The map contains the header name and the path to a file containing the header value (secret). There are 3 special cases: 1. Usage of the kubernetes token in the header. To specify this use a string 'kubernetes' instead of the file path. 2. Usage of the client-provided token in the header. To specify this use a string 'client' instead of the file path. 3. Usage of the oauth token in the header. To specify this use a string 'oauth' instead of the file path. " |
7205 | 7225 | }, |
7206 | 7226 | "timeout": { |
7207 | 7227 | "anyOf": [ |
|
7565 | 7585 | "title": "PostgreSQLDatabaseConfiguration", |
7566 | 7586 | "description": "PostgreSQL database configuration.\n\nPostgreSQL database is used by Lightspeed Core Stack service for storing\ninformation about conversation IDs. It can also be leveraged to store\nconversation history and information about quota usage.\n\nUseful resources:\n\n- [Psycopg: connection classes](https://www.psycopg.org/psycopg3/docs/api/connections.html)\n- [PostgreSQL connection strings](https://www.connectionstrings.com/postgresql/)\n- [How to Use PostgreSQL in Python](https://www.freecodecamp.org/news/postgresql-in-python/)" |
7567 | 7587 | }, |
| 7588 | + "PromptTooLongResponse": { |
| 7589 | + "properties": { |
| 7590 | + "status_code": { |
| 7591 | + "type": "integer", |
| 7592 | + "title": "Status Code" |
| 7593 | + }, |
| 7594 | + "detail": { |
| 7595 | + "$ref": "#/components/schemas/DetailModel" |
| 7596 | + } |
| 7597 | + }, |
| 7598 | + "type": "object", |
| 7599 | + "required": [ |
| 7600 | + "status_code", |
| 7601 | + "detail" |
| 7602 | + ], |
| 7603 | + "title": "PromptTooLongResponse", |
| 7604 | + "description": "413 Payload Too Large - Prompt is too long.", |
| 7605 | + "examples": [ |
| 7606 | + { |
| 7607 | + "detail": { |
| 7608 | + "cause": "The prompt exceeds the maximum allowed length.", |
| 7609 | + "response": "Prompt is too long" |
| 7610 | + }, |
| 7611 | + "label": "prompt too long" |
| 7612 | + } |
| 7613 | + ] |
| 7614 | + }, |
7568 | 7615 | "ProviderHealthStatus": { |
7569 | 7616 | "properties": { |
7570 | 7617 | "provider_id": { |
|
0 commit comments