From 0c49a53c970cecaf5e2e747912e8efd5b0b199be Mon Sep 17 00:00:00 2001 From: Ashwin Bharambe Date: Tue, 4 Nov 2025 14:50:54 -0800 Subject: [PATCH 1/4] chore(api)!: remove tool_runtime.rag_tool from the API surface (#4067) RAG aka file search is implemented via the Responses API by specifying the file-search tool. The backend implementation remains unchanged. This PR merely removes the directly exposed API surface which allowed users to directly perform searches from the client. This facility is now available via the `client.vector_store.search()` OpenAI compatible API. --- client-sdks/stainless/openapi.yml | 331 ------------------ .../openapi_generator/pyopenapi/operations.py | 8 +- docs/static/llama-stack-spec.yaml | 331 ------------------ docs/static/stainless-llama-stack-spec.yaml | 331 ------------------ src/llama_stack/apis/tools/rag_tool.py | 52 +-- src/llama_stack/apis/tools/tools.py | 4 - src/llama_stack/core/routers/tool_runtime.py | 40 --- src/llama_stack/core/server/routes.py | 18 - src/llama_stack/core/stack.py | 3 +- .../inline/tool_runtime/rag/memory.py | 3 +- 10 files changed, 4 insertions(+), 1117 deletions(-) diff --git a/client-sdks/stainless/openapi.yml b/client-sdks/stainless/openapi.yml index c14661a5a..5d9917bfd 100644 --- a/client-sdks/stainless/openapi.yml +++ b/client-sdks/stainless/openapi.yml @@ -2055,69 +2055,6 @@ paths: schema: $ref: '#/components/schemas/URL' deprecated: false - /v1/tool-runtime/rag-tool/insert: - post: - responses: - '200': - description: OK - '400': - $ref: '#/components/responses/BadRequest400' - '429': - $ref: >- - #/components/responses/TooManyRequests429 - '500': - $ref: >- - #/components/responses/InternalServerError500 - default: - $ref: '#/components/responses/DefaultError' - tags: - - ToolRuntime - summary: >- - Index documents so they can be used by the RAG system. - description: >- - Index documents so they can be used by the RAG system. - parameters: [] - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/InsertRequest' - required: true - deprecated: false - /v1/tool-runtime/rag-tool/query: - post: - responses: - '200': - description: >- - RAGQueryResult containing the retrieved content and metadata - content: - application/json: - schema: - $ref: '#/components/schemas/RAGQueryResult' - '400': - $ref: '#/components/responses/BadRequest400' - '429': - $ref: >- - #/components/responses/TooManyRequests429 - '500': - $ref: >- - #/components/responses/InternalServerError500 - default: - $ref: '#/components/responses/DefaultError' - tags: - - ToolRuntime - summary: >- - Query the RAG system for context; typically invoked by the agent. - description: >- - Query the RAG system for context; typically invoked by the agent. - parameters: [] - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QueryRequest' - required: true - deprecated: false /v1/toolgroups: get: responses: @@ -9633,274 +9570,6 @@ components: title: ListToolDefsResponse description: >- Response containing a list of tool definitions. - RAGDocument: - type: object - properties: - document_id: - type: string - description: The unique identifier for the document. - content: - oneOf: - - type: string - - $ref: '#/components/schemas/InterleavedContentItem' - - type: array - items: - $ref: '#/components/schemas/InterleavedContentItem' - - $ref: '#/components/schemas/URL' - description: The content of the document. - mime_type: - type: string - description: The MIME type of the document. - metadata: - type: object - additionalProperties: - oneOf: - - type: 'null' - - type: boolean - - type: number - - type: string - - type: array - - type: object - description: Additional metadata for the document. - additionalProperties: false - required: - - document_id - - content - - metadata - title: RAGDocument - description: >- - A document to be used for document ingestion in the RAG Tool. - InsertRequest: - type: object - properties: - documents: - type: array - items: - $ref: '#/components/schemas/RAGDocument' - description: >- - List of documents to index in the RAG system - vector_store_id: - type: string - description: >- - ID of the vector database to store the document embeddings - chunk_size_in_tokens: - type: integer - description: >- - (Optional) Size in tokens for document chunking during indexing - additionalProperties: false - required: - - documents - - vector_store_id - - chunk_size_in_tokens - title: InsertRequest - DefaultRAGQueryGeneratorConfig: - type: object - properties: - type: - type: string - const: default - default: default - description: >- - Type of query generator, always 'default' - separator: - type: string - default: ' ' - description: >- - String separator used to join query terms - additionalProperties: false - required: - - type - - separator - title: DefaultRAGQueryGeneratorConfig - description: >- - Configuration for the default RAG query generator. - LLMRAGQueryGeneratorConfig: - type: object - properties: - type: - type: string - const: llm - default: llm - description: Type of query generator, always 'llm' - model: - type: string - description: >- - Name of the language model to use for query generation - template: - type: string - description: >- - Template string for formatting the query generation prompt - additionalProperties: false - required: - - type - - model - - template - title: LLMRAGQueryGeneratorConfig - description: >- - Configuration for the LLM-based RAG query generator. - RAGQueryConfig: - type: object - properties: - query_generator_config: - oneOf: - - $ref: '#/components/schemas/DefaultRAGQueryGeneratorConfig' - - $ref: '#/components/schemas/LLMRAGQueryGeneratorConfig' - discriminator: - propertyName: type - mapping: - default: '#/components/schemas/DefaultRAGQueryGeneratorConfig' - llm: '#/components/schemas/LLMRAGQueryGeneratorConfig' - description: Configuration for the query generator. - max_tokens_in_context: - type: integer - default: 4096 - description: Maximum number of tokens in the context. - max_chunks: - type: integer - default: 5 - description: Maximum number of chunks to retrieve. - chunk_template: - type: string - default: > - Result {index} - - Content: {chunk.content} - - Metadata: {metadata} - description: >- - Template for formatting each retrieved chunk in the context. Available - placeholders: {index} (1-based chunk ordinal), {chunk.content} (chunk - content string), {metadata} (chunk metadata dict). Default: "Result {index}\nContent: - {chunk.content}\nMetadata: {metadata}\n" - mode: - $ref: '#/components/schemas/RAGSearchMode' - default: vector - description: >- - Search mode for retrieval—either "vector", "keyword", or "hybrid". Default - "vector". - ranker: - $ref: '#/components/schemas/Ranker' - description: >- - Configuration for the ranker to use in hybrid search. Defaults to RRF - ranker. - additionalProperties: false - required: - - query_generator_config - - max_tokens_in_context - - max_chunks - - chunk_template - title: RAGQueryConfig - description: >- - Configuration for the RAG query generation. - RAGSearchMode: - type: string - enum: - - vector - - keyword - - hybrid - title: RAGSearchMode - description: >- - Search modes for RAG query retrieval: - VECTOR: Uses vector similarity search - for semantic matching - KEYWORD: Uses keyword-based search for exact matching - - HYBRID: Combines both vector and keyword search for better results - RRFRanker: - type: object - properties: - type: - type: string - const: rrf - default: rrf - description: The type of ranker, always "rrf" - impact_factor: - type: number - default: 60.0 - description: >- - The impact factor for RRF scoring. Higher values give more weight to higher-ranked - results. Must be greater than 0 - additionalProperties: false - required: - - type - - impact_factor - title: RRFRanker - description: >- - Reciprocal Rank Fusion (RRF) ranker configuration. - Ranker: - oneOf: - - $ref: '#/components/schemas/RRFRanker' - - $ref: '#/components/schemas/WeightedRanker' - discriminator: - propertyName: type - mapping: - rrf: '#/components/schemas/RRFRanker' - weighted: '#/components/schemas/WeightedRanker' - WeightedRanker: - type: object - properties: - type: - type: string - const: weighted - default: weighted - description: The type of ranker, always "weighted" - alpha: - type: number - default: 0.5 - description: >- - Weight factor between 0 and 1. 0 means only use keyword scores, 1 means - only use vector scores, values in between blend both scores. - additionalProperties: false - required: - - type - - alpha - title: WeightedRanker - description: >- - Weighted ranker configuration that combines vector and keyword scores. - QueryRequest: - type: object - properties: - content: - $ref: '#/components/schemas/InterleavedContent' - description: >- - The query content to search for in the indexed documents - vector_store_ids: - type: array - items: - type: string - description: >- - List of vector database IDs to search within - query_config: - $ref: '#/components/schemas/RAGQueryConfig' - description: >- - (Optional) Configuration parameters for the query operation - additionalProperties: false - required: - - content - - vector_store_ids - title: QueryRequest - RAGQueryResult: - type: object - properties: - content: - $ref: '#/components/schemas/InterleavedContent' - description: >- - (Optional) The retrieved content from the query - metadata: - type: object - additionalProperties: - oneOf: - - type: 'null' - - type: boolean - - type: number - - type: string - - type: array - - type: object - description: >- - Additional metadata about the query result - additionalProperties: false - required: - - metadata - title: RAGQueryResult - description: >- - Result of a RAG query containing retrieved content and metadata. ToolGroup: type: object properties: diff --git a/docs/openapi_generator/pyopenapi/operations.py b/docs/openapi_generator/pyopenapi/operations.py index 2970d7e53..a1c95c7a7 100644 --- a/docs/openapi_generator/pyopenapi/operations.py +++ b/docs/openapi_generator/pyopenapi/operations.py @@ -170,7 +170,7 @@ def _get_endpoint_functions( for webmethod in webmethods: print(f"Processing {colored(func_name, 'white')}...") operation_name = func_name - + if webmethod.method == "GET": prefix = "get" elif webmethod.method == "DELETE": @@ -196,16 +196,10 @@ def _get_endpoint_functions( def _get_defining_class(member_fn: str, derived_cls: type) -> type: "Find the class in which a member function is first defined in a class inheritance hierarchy." - # This import must be dynamic here - from llama_stack.apis.tools import RAGToolRuntime, ToolRuntime - # iterate in reverse member resolution order to find most specific class first for cls in reversed(inspect.getmro(derived_cls)): for name, _ in inspect.getmembers(cls, inspect.isfunction): if name == member_fn: - # HACK ALERT - if cls == RAGToolRuntime: - return ToolRuntime return cls raise ValidationError( diff --git a/docs/static/llama-stack-spec.yaml b/docs/static/llama-stack-spec.yaml index ea6b07c0e..a705f499a 100644 --- a/docs/static/llama-stack-spec.yaml +++ b/docs/static/llama-stack-spec.yaml @@ -2052,69 +2052,6 @@ paths: schema: $ref: '#/components/schemas/URL' deprecated: false - /v1/tool-runtime/rag-tool/insert: - post: - responses: - '200': - description: OK - '400': - $ref: '#/components/responses/BadRequest400' - '429': - $ref: >- - #/components/responses/TooManyRequests429 - '500': - $ref: >- - #/components/responses/InternalServerError500 - default: - $ref: '#/components/responses/DefaultError' - tags: - - ToolRuntime - summary: >- - Index documents so they can be used by the RAG system. - description: >- - Index documents so they can be used by the RAG system. - parameters: [] - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/InsertRequest' - required: true - deprecated: false - /v1/tool-runtime/rag-tool/query: - post: - responses: - '200': - description: >- - RAGQueryResult containing the retrieved content and metadata - content: - application/json: - schema: - $ref: '#/components/schemas/RAGQueryResult' - '400': - $ref: '#/components/responses/BadRequest400' - '429': - $ref: >- - #/components/responses/TooManyRequests429 - '500': - $ref: >- - #/components/responses/InternalServerError500 - default: - $ref: '#/components/responses/DefaultError' - tags: - - ToolRuntime - summary: >- - Query the RAG system for context; typically invoked by the agent. - description: >- - Query the RAG system for context; typically invoked by the agent. - parameters: [] - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QueryRequest' - required: true - deprecated: false /v1/toolgroups: get: responses: @@ -8917,274 +8854,6 @@ components: title: ListToolDefsResponse description: >- Response containing a list of tool definitions. - RAGDocument: - type: object - properties: - document_id: - type: string - description: The unique identifier for the document. - content: - oneOf: - - type: string - - $ref: '#/components/schemas/InterleavedContentItem' - - type: array - items: - $ref: '#/components/schemas/InterleavedContentItem' - - $ref: '#/components/schemas/URL' - description: The content of the document. - mime_type: - type: string - description: The MIME type of the document. - metadata: - type: object - additionalProperties: - oneOf: - - type: 'null' - - type: boolean - - type: number - - type: string - - type: array - - type: object - description: Additional metadata for the document. - additionalProperties: false - required: - - document_id - - content - - metadata - title: RAGDocument - description: >- - A document to be used for document ingestion in the RAG Tool. - InsertRequest: - type: object - properties: - documents: - type: array - items: - $ref: '#/components/schemas/RAGDocument' - description: >- - List of documents to index in the RAG system - vector_store_id: - type: string - description: >- - ID of the vector database to store the document embeddings - chunk_size_in_tokens: - type: integer - description: >- - (Optional) Size in tokens for document chunking during indexing - additionalProperties: false - required: - - documents - - vector_store_id - - chunk_size_in_tokens - title: InsertRequest - DefaultRAGQueryGeneratorConfig: - type: object - properties: - type: - type: string - const: default - default: default - description: >- - Type of query generator, always 'default' - separator: - type: string - default: ' ' - description: >- - String separator used to join query terms - additionalProperties: false - required: - - type - - separator - title: DefaultRAGQueryGeneratorConfig - description: >- - Configuration for the default RAG query generator. - LLMRAGQueryGeneratorConfig: - type: object - properties: - type: - type: string - const: llm - default: llm - description: Type of query generator, always 'llm' - model: - type: string - description: >- - Name of the language model to use for query generation - template: - type: string - description: >- - Template string for formatting the query generation prompt - additionalProperties: false - required: - - type - - model - - template - title: LLMRAGQueryGeneratorConfig - description: >- - Configuration for the LLM-based RAG query generator. - RAGQueryConfig: - type: object - properties: - query_generator_config: - oneOf: - - $ref: '#/components/schemas/DefaultRAGQueryGeneratorConfig' - - $ref: '#/components/schemas/LLMRAGQueryGeneratorConfig' - discriminator: - propertyName: type - mapping: - default: '#/components/schemas/DefaultRAGQueryGeneratorConfig' - llm: '#/components/schemas/LLMRAGQueryGeneratorConfig' - description: Configuration for the query generator. - max_tokens_in_context: - type: integer - default: 4096 - description: Maximum number of tokens in the context. - max_chunks: - type: integer - default: 5 - description: Maximum number of chunks to retrieve. - chunk_template: - type: string - default: > - Result {index} - - Content: {chunk.content} - - Metadata: {metadata} - description: >- - Template for formatting each retrieved chunk in the context. Available - placeholders: {index} (1-based chunk ordinal), {chunk.content} (chunk - content string), {metadata} (chunk metadata dict). Default: "Result {index}\nContent: - {chunk.content}\nMetadata: {metadata}\n" - mode: - $ref: '#/components/schemas/RAGSearchMode' - default: vector - description: >- - Search mode for retrieval—either "vector", "keyword", or "hybrid". Default - "vector". - ranker: - $ref: '#/components/schemas/Ranker' - description: >- - Configuration for the ranker to use in hybrid search. Defaults to RRF - ranker. - additionalProperties: false - required: - - query_generator_config - - max_tokens_in_context - - max_chunks - - chunk_template - title: RAGQueryConfig - description: >- - Configuration for the RAG query generation. - RAGSearchMode: - type: string - enum: - - vector - - keyword - - hybrid - title: RAGSearchMode - description: >- - Search modes for RAG query retrieval: - VECTOR: Uses vector similarity search - for semantic matching - KEYWORD: Uses keyword-based search for exact matching - - HYBRID: Combines both vector and keyword search for better results - RRFRanker: - type: object - properties: - type: - type: string - const: rrf - default: rrf - description: The type of ranker, always "rrf" - impact_factor: - type: number - default: 60.0 - description: >- - The impact factor for RRF scoring. Higher values give more weight to higher-ranked - results. Must be greater than 0 - additionalProperties: false - required: - - type - - impact_factor - title: RRFRanker - description: >- - Reciprocal Rank Fusion (RRF) ranker configuration. - Ranker: - oneOf: - - $ref: '#/components/schemas/RRFRanker' - - $ref: '#/components/schemas/WeightedRanker' - discriminator: - propertyName: type - mapping: - rrf: '#/components/schemas/RRFRanker' - weighted: '#/components/schemas/WeightedRanker' - WeightedRanker: - type: object - properties: - type: - type: string - const: weighted - default: weighted - description: The type of ranker, always "weighted" - alpha: - type: number - default: 0.5 - description: >- - Weight factor between 0 and 1. 0 means only use keyword scores, 1 means - only use vector scores, values in between blend both scores. - additionalProperties: false - required: - - type - - alpha - title: WeightedRanker - description: >- - Weighted ranker configuration that combines vector and keyword scores. - QueryRequest: - type: object - properties: - content: - $ref: '#/components/schemas/InterleavedContent' - description: >- - The query content to search for in the indexed documents - vector_store_ids: - type: array - items: - type: string - description: >- - List of vector database IDs to search within - query_config: - $ref: '#/components/schemas/RAGQueryConfig' - description: >- - (Optional) Configuration parameters for the query operation - additionalProperties: false - required: - - content - - vector_store_ids - title: QueryRequest - RAGQueryResult: - type: object - properties: - content: - $ref: '#/components/schemas/InterleavedContent' - description: >- - (Optional) The retrieved content from the query - metadata: - type: object - additionalProperties: - oneOf: - - type: 'null' - - type: boolean - - type: number - - type: string - - type: array - - type: object - description: >- - Additional metadata about the query result - additionalProperties: false - required: - - metadata - title: RAGQueryResult - description: >- - Result of a RAG query containing retrieved content and metadata. ToolGroup: type: object properties: diff --git a/docs/static/stainless-llama-stack-spec.yaml b/docs/static/stainless-llama-stack-spec.yaml index c14661a5a..5d9917bfd 100644 --- a/docs/static/stainless-llama-stack-spec.yaml +++ b/docs/static/stainless-llama-stack-spec.yaml @@ -2055,69 +2055,6 @@ paths: schema: $ref: '#/components/schemas/URL' deprecated: false - /v1/tool-runtime/rag-tool/insert: - post: - responses: - '200': - description: OK - '400': - $ref: '#/components/responses/BadRequest400' - '429': - $ref: >- - #/components/responses/TooManyRequests429 - '500': - $ref: >- - #/components/responses/InternalServerError500 - default: - $ref: '#/components/responses/DefaultError' - tags: - - ToolRuntime - summary: >- - Index documents so they can be used by the RAG system. - description: >- - Index documents so they can be used by the RAG system. - parameters: [] - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/InsertRequest' - required: true - deprecated: false - /v1/tool-runtime/rag-tool/query: - post: - responses: - '200': - description: >- - RAGQueryResult containing the retrieved content and metadata - content: - application/json: - schema: - $ref: '#/components/schemas/RAGQueryResult' - '400': - $ref: '#/components/responses/BadRequest400' - '429': - $ref: >- - #/components/responses/TooManyRequests429 - '500': - $ref: >- - #/components/responses/InternalServerError500 - default: - $ref: '#/components/responses/DefaultError' - tags: - - ToolRuntime - summary: >- - Query the RAG system for context; typically invoked by the agent. - description: >- - Query the RAG system for context; typically invoked by the agent. - parameters: [] - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QueryRequest' - required: true - deprecated: false /v1/toolgroups: get: responses: @@ -9633,274 +9570,6 @@ components: title: ListToolDefsResponse description: >- Response containing a list of tool definitions. - RAGDocument: - type: object - properties: - document_id: - type: string - description: The unique identifier for the document. - content: - oneOf: - - type: string - - $ref: '#/components/schemas/InterleavedContentItem' - - type: array - items: - $ref: '#/components/schemas/InterleavedContentItem' - - $ref: '#/components/schemas/URL' - description: The content of the document. - mime_type: - type: string - description: The MIME type of the document. - metadata: - type: object - additionalProperties: - oneOf: - - type: 'null' - - type: boolean - - type: number - - type: string - - type: array - - type: object - description: Additional metadata for the document. - additionalProperties: false - required: - - document_id - - content - - metadata - title: RAGDocument - description: >- - A document to be used for document ingestion in the RAG Tool. - InsertRequest: - type: object - properties: - documents: - type: array - items: - $ref: '#/components/schemas/RAGDocument' - description: >- - List of documents to index in the RAG system - vector_store_id: - type: string - description: >- - ID of the vector database to store the document embeddings - chunk_size_in_tokens: - type: integer - description: >- - (Optional) Size in tokens for document chunking during indexing - additionalProperties: false - required: - - documents - - vector_store_id - - chunk_size_in_tokens - title: InsertRequest - DefaultRAGQueryGeneratorConfig: - type: object - properties: - type: - type: string - const: default - default: default - description: >- - Type of query generator, always 'default' - separator: - type: string - default: ' ' - description: >- - String separator used to join query terms - additionalProperties: false - required: - - type - - separator - title: DefaultRAGQueryGeneratorConfig - description: >- - Configuration for the default RAG query generator. - LLMRAGQueryGeneratorConfig: - type: object - properties: - type: - type: string - const: llm - default: llm - description: Type of query generator, always 'llm' - model: - type: string - description: >- - Name of the language model to use for query generation - template: - type: string - description: >- - Template string for formatting the query generation prompt - additionalProperties: false - required: - - type - - model - - template - title: LLMRAGQueryGeneratorConfig - description: >- - Configuration for the LLM-based RAG query generator. - RAGQueryConfig: - type: object - properties: - query_generator_config: - oneOf: - - $ref: '#/components/schemas/DefaultRAGQueryGeneratorConfig' - - $ref: '#/components/schemas/LLMRAGQueryGeneratorConfig' - discriminator: - propertyName: type - mapping: - default: '#/components/schemas/DefaultRAGQueryGeneratorConfig' - llm: '#/components/schemas/LLMRAGQueryGeneratorConfig' - description: Configuration for the query generator. - max_tokens_in_context: - type: integer - default: 4096 - description: Maximum number of tokens in the context. - max_chunks: - type: integer - default: 5 - description: Maximum number of chunks to retrieve. - chunk_template: - type: string - default: > - Result {index} - - Content: {chunk.content} - - Metadata: {metadata} - description: >- - Template for formatting each retrieved chunk in the context. Available - placeholders: {index} (1-based chunk ordinal), {chunk.content} (chunk - content string), {metadata} (chunk metadata dict). Default: "Result {index}\nContent: - {chunk.content}\nMetadata: {metadata}\n" - mode: - $ref: '#/components/schemas/RAGSearchMode' - default: vector - description: >- - Search mode for retrieval—either "vector", "keyword", or "hybrid". Default - "vector". - ranker: - $ref: '#/components/schemas/Ranker' - description: >- - Configuration for the ranker to use in hybrid search. Defaults to RRF - ranker. - additionalProperties: false - required: - - query_generator_config - - max_tokens_in_context - - max_chunks - - chunk_template - title: RAGQueryConfig - description: >- - Configuration for the RAG query generation. - RAGSearchMode: - type: string - enum: - - vector - - keyword - - hybrid - title: RAGSearchMode - description: >- - Search modes for RAG query retrieval: - VECTOR: Uses vector similarity search - for semantic matching - KEYWORD: Uses keyword-based search for exact matching - - HYBRID: Combines both vector and keyword search for better results - RRFRanker: - type: object - properties: - type: - type: string - const: rrf - default: rrf - description: The type of ranker, always "rrf" - impact_factor: - type: number - default: 60.0 - description: >- - The impact factor for RRF scoring. Higher values give more weight to higher-ranked - results. Must be greater than 0 - additionalProperties: false - required: - - type - - impact_factor - title: RRFRanker - description: >- - Reciprocal Rank Fusion (RRF) ranker configuration. - Ranker: - oneOf: - - $ref: '#/components/schemas/RRFRanker' - - $ref: '#/components/schemas/WeightedRanker' - discriminator: - propertyName: type - mapping: - rrf: '#/components/schemas/RRFRanker' - weighted: '#/components/schemas/WeightedRanker' - WeightedRanker: - type: object - properties: - type: - type: string - const: weighted - default: weighted - description: The type of ranker, always "weighted" - alpha: - type: number - default: 0.5 - description: >- - Weight factor between 0 and 1. 0 means only use keyword scores, 1 means - only use vector scores, values in between blend both scores. - additionalProperties: false - required: - - type - - alpha - title: WeightedRanker - description: >- - Weighted ranker configuration that combines vector and keyword scores. - QueryRequest: - type: object - properties: - content: - $ref: '#/components/schemas/InterleavedContent' - description: >- - The query content to search for in the indexed documents - vector_store_ids: - type: array - items: - type: string - description: >- - List of vector database IDs to search within - query_config: - $ref: '#/components/schemas/RAGQueryConfig' - description: >- - (Optional) Configuration parameters for the query operation - additionalProperties: false - required: - - content - - vector_store_ids - title: QueryRequest - RAGQueryResult: - type: object - properties: - content: - $ref: '#/components/schemas/InterleavedContent' - description: >- - (Optional) The retrieved content from the query - metadata: - type: object - additionalProperties: - oneOf: - - type: 'null' - - type: boolean - - type: number - - type: string - - type: array - - type: object - description: >- - Additional metadata about the query result - additionalProperties: false - required: - - metadata - title: RAGQueryResult - description: >- - Result of a RAG query containing retrieved content and metadata. ToolGroup: type: object properties: diff --git a/src/llama_stack/apis/tools/rag_tool.py b/src/llama_stack/apis/tools/rag_tool.py index 4e43bb284..8bcc89bf0 100644 --- a/src/llama_stack/apis/tools/rag_tool.py +++ b/src/llama_stack/apis/tools/rag_tool.py @@ -5,18 +5,13 @@ # the root directory of this source tree. from enum import Enum, StrEnum -from typing import Annotated, Any, Literal, Protocol +from typing import Annotated, Any, Literal from pydantic import BaseModel, Field, field_validator -from typing_extensions import runtime_checkable from llama_stack.apis.common.content_types import URL, InterleavedContent -from llama_stack.apis.version import LLAMA_STACK_API_V1 -from llama_stack.core.telemetry.trace_protocol import trace_protocol -from llama_stack.schema_utils import json_schema_type, register_schema, webmethod -@json_schema_type class RRFRanker(BaseModel): """ Reciprocal Rank Fusion (RRF) ranker configuration. @@ -30,7 +25,6 @@ class RRFRanker(BaseModel): impact_factor: float = Field(default=60.0, gt=0.0) # default of 60 for optimal performance -@json_schema_type class WeightedRanker(BaseModel): """ Weighted ranker configuration that combines vector and keyword scores. @@ -55,10 +49,8 @@ Ranker = Annotated[ RRFRanker | WeightedRanker, Field(discriminator="type"), ] -register_schema(Ranker, name="Ranker") -@json_schema_type class RAGDocument(BaseModel): """ A document to be used for document ingestion in the RAG Tool. @@ -75,7 +67,6 @@ class RAGDocument(BaseModel): metadata: dict[str, Any] = Field(default_factory=dict) -@json_schema_type class RAGQueryResult(BaseModel): """Result of a RAG query containing retrieved content and metadata. @@ -87,7 +78,6 @@ class RAGQueryResult(BaseModel): metadata: dict[str, Any] = Field(default_factory=dict) -@json_schema_type class RAGQueryGenerator(Enum): """Types of query generators for RAG systems. @@ -101,7 +91,6 @@ class RAGQueryGenerator(Enum): custom = "custom" -@json_schema_type class RAGSearchMode(StrEnum): """ Search modes for RAG query retrieval: @@ -115,7 +104,6 @@ class RAGSearchMode(StrEnum): HYBRID = "hybrid" -@json_schema_type class DefaultRAGQueryGeneratorConfig(BaseModel): """Configuration for the default RAG query generator. @@ -127,7 +115,6 @@ class DefaultRAGQueryGeneratorConfig(BaseModel): separator: str = " " -@json_schema_type class LLMRAGQueryGeneratorConfig(BaseModel): """Configuration for the LLM-based RAG query generator. @@ -145,10 +132,8 @@ RAGQueryGeneratorConfig = Annotated[ DefaultRAGQueryGeneratorConfig | LLMRAGQueryGeneratorConfig, Field(discriminator="type"), ] -register_schema(RAGQueryGeneratorConfig, name="RAGQueryGeneratorConfig") -@json_schema_type class RAGQueryConfig(BaseModel): """ Configuration for the RAG query generation. @@ -181,38 +166,3 @@ class RAGQueryConfig(BaseModel): if len(v) == 0: raise ValueError("chunk_template must not be empty") return v - - -@runtime_checkable -@trace_protocol -class RAGToolRuntime(Protocol): - @webmethod(route="/tool-runtime/rag-tool/insert", method="POST", level=LLAMA_STACK_API_V1) - async def insert( - self, - documents: list[RAGDocument], - vector_store_id: str, - chunk_size_in_tokens: int = 512, - ) -> None: - """Index documents so they can be used by the RAG system. - - :param documents: List of documents to index in the RAG system - :param vector_store_id: ID of the vector database to store the document embeddings - :param chunk_size_in_tokens: (Optional) Size in tokens for document chunking during indexing - """ - ... - - @webmethod(route="/tool-runtime/rag-tool/query", method="POST", level=LLAMA_STACK_API_V1) - async def query( - self, - content: InterleavedContent, - vector_store_ids: list[str], - query_config: RAGQueryConfig | None = None, - ) -> RAGQueryResult: - """Query the RAG system for context; typically invoked by the agent. - - :param content: The query content to search for in the indexed documents - :param vector_store_ids: List of vector database IDs to search within - :param query_config: (Optional) Configuration parameters for the query operation - :returns: RAGQueryResult containing the retrieved content and metadata - """ - ... diff --git a/src/llama_stack/apis/tools/tools.py b/src/llama_stack/apis/tools/tools.py index b13ac2f19..29065a713 100644 --- a/src/llama_stack/apis/tools/tools.py +++ b/src/llama_stack/apis/tools/tools.py @@ -16,8 +16,6 @@ from llama_stack.apis.version import LLAMA_STACK_API_V1 from llama_stack.core.telemetry.trace_protocol import trace_protocol from llama_stack.schema_utils import json_schema_type, webmethod -from .rag_tool import RAGToolRuntime - @json_schema_type class ToolDef(BaseModel): @@ -195,8 +193,6 @@ class SpecialToolGroup(Enum): class ToolRuntime(Protocol): tool_store: ToolStore | None = None - rag_tool: RAGToolRuntime | None = None - # TODO: This needs to be renamed once OPEN API generator name conflict issue is fixed. @webmethod(route="/tool-runtime/list-tools", method="GET", level=LLAMA_STACK_API_V1) async def list_runtime_tools( diff --git a/src/llama_stack/core/routers/tool_runtime.py b/src/llama_stack/core/routers/tool_runtime.py index be4c13905..fb13d94a4 100644 --- a/src/llama_stack/core/routers/tool_runtime.py +++ b/src/llama_stack/core/routers/tool_runtime.py @@ -8,14 +8,9 @@ from typing import Any from llama_stack.apis.common.content_types import ( URL, - InterleavedContent, ) from llama_stack.apis.tools import ( ListToolDefsResponse, - RAGDocument, - RAGQueryConfig, - RAGQueryResult, - RAGToolRuntime, ToolRuntime, ) from llama_stack.log import get_logger @@ -26,36 +21,6 @@ logger = get_logger(name=__name__, category="core::routers") class ToolRuntimeRouter(ToolRuntime): - class RagToolImpl(RAGToolRuntime): - def __init__( - self, - routing_table: ToolGroupsRoutingTable, - ) -> None: - logger.debug("Initializing ToolRuntimeRouter.RagToolImpl") - self.routing_table = routing_table - - async def query( - self, - content: InterleavedContent, - vector_store_ids: list[str], - query_config: RAGQueryConfig | None = None, - ) -> RAGQueryResult: - logger.debug(f"ToolRuntimeRouter.RagToolImpl.query: {vector_store_ids}") - provider = await self.routing_table.get_provider_impl("knowledge_search") - return await provider.query(content, vector_store_ids, query_config) - - async def insert( - self, - documents: list[RAGDocument], - vector_store_id: str, - chunk_size_in_tokens: int = 512, - ) -> None: - logger.debug( - f"ToolRuntimeRouter.RagToolImpl.insert: {vector_store_id}, {len(documents)} documents, chunk_size={chunk_size_in_tokens}" - ) - provider = await self.routing_table.get_provider_impl("insert_into_memory") - return await provider.insert(documents, vector_store_id, chunk_size_in_tokens) - def __init__( self, routing_table: ToolGroupsRoutingTable, @@ -63,11 +28,6 @@ class ToolRuntimeRouter(ToolRuntime): logger.debug("Initializing ToolRuntimeRouter") self.routing_table = routing_table - # HACK ALERT this should be in sync with "get_all_api_endpoints()" - self.rag_tool = self.RagToolImpl(routing_table) - for method in ("query", "insert"): - setattr(self, f"rag_tool.{method}", getattr(self.rag_tool, method)) - async def initialize(self) -> None: logger.debug("ToolRuntimeRouter.initialize") pass diff --git a/src/llama_stack/core/server/routes.py b/src/llama_stack/core/server/routes.py index 48a961318..4f7ff2295 100644 --- a/src/llama_stack/core/server/routes.py +++ b/src/llama_stack/core/server/routes.py @@ -13,7 +13,6 @@ from aiohttp import hdrs from starlette.routing import Route from llama_stack.apis.datatypes import Api, ExternalApiSpec -from llama_stack.apis.tools import RAGToolRuntime, SpecialToolGroup from llama_stack.core.resolver import api_protocol_map from llama_stack.schema_utils import WebMethod @@ -25,33 +24,16 @@ RouteImpls = dict[str, PathImpl] RouteMatch = tuple[EndpointFunc, PathParams, str, WebMethod] -def toolgroup_protocol_map(): - return { - SpecialToolGroup.rag_tool: RAGToolRuntime, - } - - def get_all_api_routes( external_apis: dict[Api, ExternalApiSpec] | None = None, ) -> dict[Api, list[tuple[Route, WebMethod]]]: apis = {} protocols = api_protocol_map(external_apis) - toolgroup_protocols = toolgroup_protocol_map() for api, protocol in protocols.items(): routes = [] protocol_methods = inspect.getmembers(protocol, predicate=inspect.isfunction) - # HACK ALERT - if api == Api.tool_runtime: - for tool_group in SpecialToolGroup: - sub_protocol = toolgroup_protocols[tool_group] - sub_protocol_methods = inspect.getmembers(sub_protocol, predicate=inspect.isfunction) - for name, method in sub_protocol_methods: - if not hasattr(method, "__webmethod__"): - continue - protocol_methods.append((f"{tool_group.value}.{name}", method)) - for name, method in protocol_methods: # Get all webmethods for this method (supports multiple decorators) webmethods = getattr(method, "__webmethods__", []) diff --git a/src/llama_stack/core/stack.py b/src/llama_stack/core/stack.py index 2ff7db6eb..2ed0eccd2 100644 --- a/src/llama_stack/core/stack.py +++ b/src/llama_stack/core/stack.py @@ -31,7 +31,7 @@ from llama_stack.apis.safety import Safety from llama_stack.apis.scoring import Scoring from llama_stack.apis.scoring_functions import ScoringFunctions from llama_stack.apis.shields import Shields -from llama_stack.apis.tools import RAGToolRuntime, ToolGroups, ToolRuntime +from llama_stack.apis.tools import ToolGroups, ToolRuntime from llama_stack.apis.vector_io import VectorIO from llama_stack.core.conversations.conversations import ConversationServiceConfig, ConversationServiceImpl from llama_stack.core.datatypes import Provider, SafetyConfig, StackRunConfig, VectorStoresConfig @@ -78,7 +78,6 @@ class LlamaStack( Inspect, ToolGroups, ToolRuntime, - RAGToolRuntime, Files, Prompts, Conversations, diff --git a/src/llama_stack/providers/inline/tool_runtime/rag/memory.py b/src/llama_stack/providers/inline/tool_runtime/rag/memory.py index 3ee745bf1..6a59be0ca 100644 --- a/src/llama_stack/providers/inline/tool_runtime/rag/memory.py +++ b/src/llama_stack/providers/inline/tool_runtime/rag/memory.py @@ -27,7 +27,6 @@ from llama_stack.apis.tools import ( RAGDocument, RAGQueryConfig, RAGQueryResult, - RAGToolRuntime, ToolDef, ToolGroup, ToolInvocationResult, @@ -91,7 +90,7 @@ async def raw_data_from_doc(doc: RAGDocument) -> tuple[bytes, str]: return content_str.encode("utf-8"), "text/plain" -class MemoryToolRuntimeImpl(ToolGroupsProtocolPrivate, ToolRuntime, RAGToolRuntime): +class MemoryToolRuntimeImpl(ToolGroupsProtocolPrivate, ToolRuntime): def __init__( self, config: RagToolRuntimeConfig, From 5850e3473fb7c1d21b869c2d4e56201f9724bb81 Mon Sep 17 00:00:00 2001 From: Ashwin Bharambe Date: Tue, 4 Nov 2025 14:54:33 -0800 Subject: [PATCH 2/4] fix: remove straggler openapi HTML file --- docs/static/llama-stack-spec.html | 13724 ---------------------------- 1 file changed, 13724 deletions(-) delete mode 100644 docs/static/llama-stack-spec.html diff --git a/docs/static/llama-stack-spec.html b/docs/static/llama-stack-spec.html deleted file mode 100644 index 514bff145..000000000 --- a/docs/static/llama-stack-spec.html +++ /dev/null @@ -1,13724 +0,0 @@ - - - - - - - OpenAPI specification - - - - - - - - - - - - - From 95b0493fae952c0e486648a7458eadeb834f32ce Mon Sep 17 00:00:00 2001 From: ehhuang Date: Tue, 4 Nov 2025 15:21:49 -0800 Subject: [PATCH 3/4] chore: move src/llama_stack/ui to src/llama_stack_ui (#4068) # What does this PR do? This better separates UI from backend code, which was a point of confusion often for our beloved AI friends. ## Test Plan CI --- .coveragerc | 2 +- .github/dependabot.yml | 2 +- .github/workflows/integration-auth-tests.yml | 2 +- .github/workflows/integration-tests.yml | 2 +- .github/workflows/integration-vector-io-tests.yml | 2 +- .github/workflows/pre-commit.yml | 4 ++-- .github/workflows/python-build-test.yml | 2 +- .github/workflows/test-external.yml | 2 +- .github/workflows/ui-unit-tests.yml | 12 ++++++------ .github/workflows/unit-tests.yml | 2 +- .pre-commit-config.yaml | 2 +- docs/docs/distributions/k8s/ui-k8s.yaml.template | 2 +- scripts/run-ui-linter.sh | 2 +- src/llama_stack/cli/stack/run.py | 2 +- src/{llama_stack/ui => llama_stack_ui}/.gitignore | 0 src/{llama_stack/ui => llama_stack_ui}/.nvmrc | 0 .../ui => llama_stack_ui}/.prettierignore | 0 src/{llama_stack/ui => llama_stack_ui}/.prettierrc | 0 src/{llama_stack/ui => llama_stack_ui}/README.md | 0 .../app/api/auth/[...nextauth]/route.ts | 0 .../app/api/v1/[...path]/route.ts | 0 .../ui => llama_stack_ui}/app/auth/signin/page.tsx | 0 .../app/chat-playground/chunk-processor.test.tsx | 0 .../app/chat-playground/page.test.tsx | 0 .../app/chat-playground/page.tsx | 0 .../ui => llama_stack_ui}/app/globals.css | 0 .../ui => llama_stack_ui}/app/layout.tsx | 0 .../app/logs/chat-completions/[id]/page.tsx | 0 .../app/logs/chat-completions/layout.tsx | 0 .../app/logs/chat-completions/page.tsx | 0 .../app/logs/responses/[id]/page.tsx | 0 .../app/logs/responses/layout.tsx | 0 .../app/logs/responses/page.tsx | 0 .../[fileId]/contents/[contentId]/page.test.tsx | 0 .../files/[fileId]/contents/[contentId]/page.tsx | 0 .../[id]/files/[fileId]/contents/page.test.tsx | 0 .../[id]/files/[fileId]/contents/page.tsx | 0 .../vector-stores/[id]/files/[fileId]/page.test.tsx | 0 .../logs/vector-stores/[id]/files/[fileId]/page.tsx | 0 .../app/logs/vector-stores/[id]/page.tsx | 0 .../app/logs/vector-stores/layout.tsx | 0 .../app/logs/vector-stores/page.tsx | 0 src/{llama_stack/ui => llama_stack_ui}/app/page.tsx | 0 .../ui => llama_stack_ui}/app/prompts/page.tsx | 0 .../ui => llama_stack_ui}/components.json | 0 .../chat-completion-detail.test.tsx | 0 .../chat-completions/chat-completion-detail.tsx | 0 .../chat-completions/chat-completion-table.test.tsx | 0 .../chat-completions/chat-completions-table.tsx | 0 .../chat-completions/chat-messasge-item.tsx | 0 .../components/chat-playground/chat-message.tsx | 0 .../components/chat-playground/chat.tsx | 0 .../chat-playground/conversations.test.tsx | 0 .../components/chat-playground/conversations.tsx | 0 .../components/chat-playground/interrupt-prompt.tsx | 0 .../chat-playground/markdown-renderer.tsx | 0 .../chat-playground/message-components.tsx | 0 .../components/chat-playground/message-input.tsx | 0 .../components/chat-playground/message-list.tsx | 0 .../chat-playground/prompt-suggestions.tsx | 0 .../components/chat-playground/typing-indicator.tsx | 0 .../chat-playground/vector-db-creator.tsx | 0 .../components/layout/app-sidebar.tsx | 0 .../components/layout/detail-layout.tsx | 0 .../components/layout/logs-layout.tsx | 0 .../components/layout/page-breadcrumb.tsx | 0 .../components/logs/logs-table-scroll.test.tsx | 0 .../components/logs/logs-table.test.tsx | 0 .../components/logs/logs-table.tsx | 0 .../components/prompts/index.ts | 0 .../components/prompts/prompt-editor.test.tsx | 0 .../components/prompts/prompt-editor.tsx | 0 .../components/prompts/prompt-list.test.tsx | 0 .../components/prompts/prompt-list.tsx | 0 .../components/prompts/prompt-management.test.tsx | 0 .../components/prompts/prompt-management.tsx | 0 .../components/prompts/types.ts | 0 .../components/providers/session-provider.tsx | 0 .../responses/grouping/grouped-items-display.tsx | 0 .../responses/hooks/function-call-grouping.ts | 0 .../responses/items/function-call-item.tsx | 0 .../components/responses/items/generic-item.tsx | 0 .../responses/items/grouped-function-call-item.tsx | 0 .../components/responses/items/index.ts | 0 .../components/responses/items/item-renderer.tsx | 0 .../components/responses/items/message-item.tsx | 0 .../components/responses/items/web-search-item.tsx | 0 .../components/responses/responses-detail.test.tsx | 0 .../components/responses/responses-detail.tsx | 0 .../components/responses/responses-table.test.tsx | 0 .../components/responses/responses-table.tsx | 0 .../components/responses/utils/item-types.ts | 0 .../components/ui/audio-visualizer.tsx | 0 .../ui => llama_stack_ui}/components/ui/badge.tsx | 0 .../components/ui/breadcrumb.tsx | 0 .../ui => llama_stack_ui}/components/ui/button.tsx | 0 .../ui => llama_stack_ui}/components/ui/card.tsx | 0 .../components/ui/collapsible.tsx | 0 .../components/ui/copy-button.tsx | 0 .../components/ui/dropdown-menu.tsx | 0 .../components/ui/file-preview.tsx | 0 .../ui => llama_stack_ui}/components/ui/input.tsx | 0 .../ui => llama_stack_ui}/components/ui/label.tsx | 0 .../components/ui/mode-toggle.tsx | 0 .../ui => llama_stack_ui}/components/ui/select.tsx | 0 .../components/ui/separator.tsx | 0 .../ui => llama_stack_ui}/components/ui/sheet.tsx | 0 .../ui => llama_stack_ui}/components/ui/sidebar.tsx | 0 .../components/ui/sign-in-button.tsx | 0 .../components/ui/skeleton.tsx | 0 .../ui => llama_stack_ui}/components/ui/sonner.tsx | 0 .../ui => llama_stack_ui}/components/ui/table.tsx | 0 .../ui => llama_stack_ui}/components/ui/tabs.tsx | 0 .../components/ui/textarea.tsx | 0 .../components/ui/theme-provider.tsx | 0 .../ui => llama_stack_ui}/components/ui/tooltip.tsx | 0 .../vector-stores/vector-store-detail.test.tsx | 0 .../vector-stores/vector-store-detail.tsx | 0 .../e2e/logs-table-scroll.spec.ts | 0 .../ui => llama_stack_ui}/eslint.config.mjs | 0 .../hooks/use-audio-recording.ts | 0 .../ui => llama_stack_ui}/hooks/use-auth-client.ts | 0 .../ui => llama_stack_ui}/hooks/use-auto-scroll.ts | 0 .../hooks/use-autosize-textarea.ts | 0 .../hooks/use-copy-to-clipboard.ts | 0 .../hooks/use-infinite-scroll.ts | 0 .../ui => llama_stack_ui}/hooks/use-mobile.ts | 0 .../ui => llama_stack_ui}/hooks/use-pagination.ts | 0 .../ui => llama_stack_ui}/instrumentation.ts | 0 .../ui => llama_stack_ui}/jest.config.ts | 0 .../ui => llama_stack_ui}/jest.setup.ts | 0 .../ui => llama_stack_ui}/lib/audio-utils.ts | 0 src/{llama_stack/ui => llama_stack_ui}/lib/auth.ts | 0 .../ui => llama_stack_ui}/lib/config-validator.ts | 0 .../ui => llama_stack_ui}/lib/contents-api.ts | 0 .../lib/format-message-content.test.ts | 0 .../lib/format-message-content.ts | 0 .../ui => llama_stack_ui}/lib/format-tool-call.tsx | 0 .../lib/message-content-utils.ts | 0 .../ui => llama_stack_ui}/lib/truncate-text.ts | 0 src/{llama_stack/ui => llama_stack_ui}/lib/types.ts | 0 .../ui => llama_stack_ui}/lib/utils.tsx | 0 .../ui => llama_stack_ui}/next.config.ts | 0 .../ui => llama_stack_ui}/package-lock.json | 0 src/{llama_stack/ui => llama_stack_ui}/package.json | 0 .../ui => llama_stack_ui}/playwright.config.ts | 0 .../ui => llama_stack_ui}/postcss.config.mjs | 0 .../ui => llama_stack_ui}/public/favicon.ico | Bin .../ui => llama_stack_ui}/public/file.svg | 0 .../ui => llama_stack_ui}/public/globe.svg | 0 .../ui => llama_stack_ui}/public/logo.webp | Bin .../ui => llama_stack_ui}/public/next.svg | 0 .../ui => llama_stack_ui}/public/vercel.svg | 0 .../ui => llama_stack_ui}/public/window.svg | 0 .../ui => llama_stack_ui}/tsconfig.json | 0 .../ui => llama_stack_ui}/types/next-auth.d.ts | 0 156 files changed, 20 insertions(+), 20 deletions(-) rename src/{llama_stack/ui => llama_stack_ui}/.gitignore (100%) rename src/{llama_stack/ui => llama_stack_ui}/.nvmrc (100%) rename src/{llama_stack/ui => llama_stack_ui}/.prettierignore (100%) rename src/{llama_stack/ui => llama_stack_ui}/.prettierrc (100%) rename src/{llama_stack/ui => llama_stack_ui}/README.md (100%) rename src/{llama_stack/ui => llama_stack_ui}/app/api/auth/[...nextauth]/route.ts (100%) rename src/{llama_stack/ui => llama_stack_ui}/app/api/v1/[...path]/route.ts (100%) rename src/{llama_stack/ui => llama_stack_ui}/app/auth/signin/page.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/app/chat-playground/chunk-processor.test.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/app/chat-playground/page.test.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/app/chat-playground/page.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/app/globals.css (100%) rename src/{llama_stack/ui => llama_stack_ui}/app/layout.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/app/logs/chat-completions/[id]/page.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/app/logs/chat-completions/layout.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/app/logs/chat-completions/page.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/app/logs/responses/[id]/page.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/app/logs/responses/layout.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/app/logs/responses/page.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/app/logs/vector-stores/[id]/files/[fileId]/contents/[contentId]/page.test.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/app/logs/vector-stores/[id]/files/[fileId]/contents/[contentId]/page.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/app/logs/vector-stores/[id]/files/[fileId]/contents/page.test.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/app/logs/vector-stores/[id]/files/[fileId]/contents/page.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/app/logs/vector-stores/[id]/files/[fileId]/page.test.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/app/logs/vector-stores/[id]/files/[fileId]/page.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/app/logs/vector-stores/[id]/page.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/app/logs/vector-stores/layout.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/app/logs/vector-stores/page.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/app/page.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/app/prompts/page.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components.json (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/chat-completions/chat-completion-detail.test.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/chat-completions/chat-completion-detail.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/chat-completions/chat-completion-table.test.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/chat-completions/chat-completions-table.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/chat-completions/chat-messasge-item.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/chat-playground/chat-message.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/chat-playground/chat.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/chat-playground/conversations.test.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/chat-playground/conversations.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/chat-playground/interrupt-prompt.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/chat-playground/markdown-renderer.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/chat-playground/message-components.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/chat-playground/message-input.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/chat-playground/message-list.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/chat-playground/prompt-suggestions.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/chat-playground/typing-indicator.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/chat-playground/vector-db-creator.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/layout/app-sidebar.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/layout/detail-layout.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/layout/logs-layout.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/layout/page-breadcrumb.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/logs/logs-table-scroll.test.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/logs/logs-table.test.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/logs/logs-table.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/prompts/index.ts (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/prompts/prompt-editor.test.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/prompts/prompt-editor.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/prompts/prompt-list.test.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/prompts/prompt-list.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/prompts/prompt-management.test.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/prompts/prompt-management.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/prompts/types.ts (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/providers/session-provider.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/responses/grouping/grouped-items-display.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/responses/hooks/function-call-grouping.ts (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/responses/items/function-call-item.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/responses/items/generic-item.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/responses/items/grouped-function-call-item.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/responses/items/index.ts (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/responses/items/item-renderer.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/responses/items/message-item.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/responses/items/web-search-item.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/responses/responses-detail.test.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/responses/responses-detail.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/responses/responses-table.test.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/responses/responses-table.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/responses/utils/item-types.ts (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/ui/audio-visualizer.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/ui/badge.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/ui/breadcrumb.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/ui/button.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/ui/card.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/ui/collapsible.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/ui/copy-button.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/ui/dropdown-menu.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/ui/file-preview.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/ui/input.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/ui/label.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/ui/mode-toggle.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/ui/select.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/ui/separator.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/ui/sheet.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/ui/sidebar.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/ui/sign-in-button.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/ui/skeleton.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/ui/sonner.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/ui/table.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/ui/tabs.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/ui/textarea.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/ui/theme-provider.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/ui/tooltip.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/vector-stores/vector-store-detail.test.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/components/vector-stores/vector-store-detail.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/e2e/logs-table-scroll.spec.ts (100%) rename src/{llama_stack/ui => llama_stack_ui}/eslint.config.mjs (100%) rename src/{llama_stack/ui => llama_stack_ui}/hooks/use-audio-recording.ts (100%) rename src/{llama_stack/ui => llama_stack_ui}/hooks/use-auth-client.ts (100%) rename src/{llama_stack/ui => llama_stack_ui}/hooks/use-auto-scroll.ts (100%) rename src/{llama_stack/ui => llama_stack_ui}/hooks/use-autosize-textarea.ts (100%) rename src/{llama_stack/ui => llama_stack_ui}/hooks/use-copy-to-clipboard.ts (100%) rename src/{llama_stack/ui => llama_stack_ui}/hooks/use-infinite-scroll.ts (100%) rename src/{llama_stack/ui => llama_stack_ui}/hooks/use-mobile.ts (100%) rename src/{llama_stack/ui => llama_stack_ui}/hooks/use-pagination.ts (100%) rename src/{llama_stack/ui => llama_stack_ui}/instrumentation.ts (100%) rename src/{llama_stack/ui => llama_stack_ui}/jest.config.ts (100%) rename src/{llama_stack/ui => llama_stack_ui}/jest.setup.ts (100%) rename src/{llama_stack/ui => llama_stack_ui}/lib/audio-utils.ts (100%) rename src/{llama_stack/ui => llama_stack_ui}/lib/auth.ts (100%) rename src/{llama_stack/ui => llama_stack_ui}/lib/config-validator.ts (100%) rename src/{llama_stack/ui => llama_stack_ui}/lib/contents-api.ts (100%) rename src/{llama_stack/ui => llama_stack_ui}/lib/format-message-content.test.ts (100%) rename src/{llama_stack/ui => llama_stack_ui}/lib/format-message-content.ts (100%) rename src/{llama_stack/ui => llama_stack_ui}/lib/format-tool-call.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/lib/message-content-utils.ts (100%) rename src/{llama_stack/ui => llama_stack_ui}/lib/truncate-text.ts (100%) rename src/{llama_stack/ui => llama_stack_ui}/lib/types.ts (100%) rename src/{llama_stack/ui => llama_stack_ui}/lib/utils.tsx (100%) rename src/{llama_stack/ui => llama_stack_ui}/next.config.ts (100%) rename src/{llama_stack/ui => llama_stack_ui}/package-lock.json (100%) rename src/{llama_stack/ui => llama_stack_ui}/package.json (100%) rename src/{llama_stack/ui => llama_stack_ui}/playwright.config.ts (100%) rename src/{llama_stack/ui => llama_stack_ui}/postcss.config.mjs (100%) rename src/{llama_stack/ui => llama_stack_ui}/public/favicon.ico (100%) rename src/{llama_stack/ui => llama_stack_ui}/public/file.svg (100%) rename src/{llama_stack/ui => llama_stack_ui}/public/globe.svg (100%) rename src/{llama_stack/ui => llama_stack_ui}/public/logo.webp (100%) rename src/{llama_stack/ui => llama_stack_ui}/public/next.svg (100%) rename src/{llama_stack/ui => llama_stack_ui}/public/vercel.svg (100%) rename src/{llama_stack/ui => llama_stack_ui}/public/window.svg (100%) rename src/{llama_stack/ui => llama_stack_ui}/tsconfig.json (100%) rename src/{llama_stack/ui => llama_stack_ui}/types/next-auth.d.ts (100%) diff --git a/.coveragerc b/.coveragerc index d4925275f..8d062f488 100644 --- a/.coveragerc +++ b/.coveragerc @@ -5,7 +5,7 @@ omit = */llama_stack/templates/* .venv/* */llama_stack/cli/scripts/* - */llama_stack/ui/* + */llama_stack_ui/* */llama_stack/distribution/ui/* */llama_stack/strong_typing/* */llama_stack/env.py diff --git a/.github/dependabot.yml b/.github/dependabot.yml index f88402a7a..9c400a73f 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -22,7 +22,7 @@ updates: prefix: chore(python-deps) - package-ecosystem: npm - directory: "/llama_stack/ui" + directory: "/llama_stack_ui" schedule: interval: "weekly" day: "saturday" diff --git a/.github/workflows/integration-auth-tests.yml b/.github/workflows/integration-auth-tests.yml index 560ab4293..1ec06bc29 100644 --- a/.github/workflows/integration-auth-tests.yml +++ b/.github/workflows/integration-auth-tests.yml @@ -14,7 +14,7 @@ on: paths: - 'distributions/**' - 'src/llama_stack/**' - - '!src/llama_stack/ui/**' + - '!src/llama_stack_ui/**' - 'tests/integration/**' - 'uv.lock' - 'pyproject.toml' diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml index 00c2fa96c..ba2ffc5fd 100644 --- a/.github/workflows/integration-tests.yml +++ b/.github/workflows/integration-tests.yml @@ -14,7 +14,7 @@ on: types: [opened, synchronize, reopened] paths: - 'src/llama_stack/**' - - '!src/llama_stack/ui/**' + - '!src/llama_stack_ui/**' - 'tests/**' - 'uv.lock' - 'pyproject.toml' diff --git a/.github/workflows/integration-vector-io-tests.yml b/.github/workflows/integration-vector-io-tests.yml index 952141f3b..1962629c2 100644 --- a/.github/workflows/integration-vector-io-tests.yml +++ b/.github/workflows/integration-vector-io-tests.yml @@ -13,7 +13,7 @@ on: - 'release-[0-9]+.[0-9]+.x' paths: - 'src/llama_stack/**' - - '!src/llama_stack/ui/**' + - '!src/llama_stack_ui/**' - 'tests/integration/vector_io/**' - 'uv.lock' - 'pyproject.toml' diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 1d2dbb671..a187cbd1c 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -43,14 +43,14 @@ jobs: with: node-version: '20' cache: 'npm' - cache-dependency-path: 'src/llama_stack/ui/' + cache-dependency-path: 'src/llama_stack_ui/' - name: Set up uv uses: astral-sh/setup-uv@85856786d1ce8acfbcc2f13a5f3fbd6b938f9f41 # v7.1.2 - name: Install npm dependencies run: npm ci - working-directory: src/llama_stack/ui + working-directory: src/llama_stack_ui - name: Install pre-commit run: python -m pip install pre-commit diff --git a/.github/workflows/python-build-test.yml b/.github/workflows/python-build-test.yml index 1f5c0aebf..c605a30c3 100644 --- a/.github/workflows/python-build-test.yml +++ b/.github/workflows/python-build-test.yml @@ -10,7 +10,7 @@ on: branches: - main paths-ignore: - - 'src/llama_stack/ui/**' + - 'src/llama_stack_ui/**' jobs: build: diff --git a/.github/workflows/test-external.yml b/.github/workflows/test-external.yml index d1d88c688..a99719718 100644 --- a/.github/workflows/test-external.yml +++ b/.github/workflows/test-external.yml @@ -9,7 +9,7 @@ on: branches: [ main ] paths: - 'src/llama_stack/**' - - '!src/llama_stack/ui/**' + - '!src/llama_stack_ui/**' - 'tests/integration/**' - 'uv.lock' - 'pyproject.toml' diff --git a/.github/workflows/ui-unit-tests.yml b/.github/workflows/ui-unit-tests.yml index a2ae1c2c3..f5e4a5967 100644 --- a/.github/workflows/ui-unit-tests.yml +++ b/.github/workflows/ui-unit-tests.yml @@ -8,7 +8,7 @@ on: pull_request: branches: [ main ] paths: - - 'src/llama_stack/ui/**' + - 'src/llama_stack_ui/**' - '.github/workflows/ui-unit-tests.yml' # This workflow workflow_dispatch: @@ -33,22 +33,22 @@ jobs: with: node-version: ${{ matrix.node-version }} cache: 'npm' - cache-dependency-path: 'src/llama_stack/ui/package-lock.json' + cache-dependency-path: 'src/llama_stack_ui/package-lock.json' - name: Install dependencies - working-directory: src/llama_stack/ui + working-directory: src/llama_stack_ui run: npm ci - name: Run linting - working-directory: src/llama_stack/ui + working-directory: src/llama_stack_ui run: npm run lint - name: Run format check - working-directory: src/llama_stack/ui + working-directory: src/llama_stack_ui run: npm run format:check - name: Run unit tests - working-directory: src/llama_stack/ui + working-directory: src/llama_stack_ui env: CI: true diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index 92c0a6a19..52a8b0124 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -13,7 +13,7 @@ on: - 'release-[0-9]+.[0-9]+.x' paths: - 'src/llama_stack/**' - - '!src/llama_stack/ui/**' + - '!src/llama_stack_ui/**' - 'tests/unit/**' - 'uv.lock' - 'pyproject.toml' diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index ce0d79b21..42cd2f5ce 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -161,7 +161,7 @@ repos: name: Format & Lint UI entry: bash ./scripts/run-ui-linter.sh language: system - files: ^src/llama_stack/ui/.*\.(ts|tsx)$ + files: ^src/llama_stack_ui/.*\.(ts|tsx)$ pass_filenames: false require_serial: true diff --git a/docs/docs/distributions/k8s/ui-k8s.yaml.template b/docs/docs/distributions/k8s/ui-k8s.yaml.template index a6859cb86..21de94d12 100644 --- a/docs/docs/distributions/k8s/ui-k8s.yaml.template +++ b/docs/docs/distributions/k8s/ui-k8s.yaml.template @@ -44,7 +44,7 @@ spec: # Navigate to the UI directory echo "Navigating to UI directory..." - cd /app/llama_stack/ui + cd /app/llama_stack_ui # Check if package.json exists if [ ! -f "package.json" ]; then diff --git a/scripts/run-ui-linter.sh b/scripts/run-ui-linter.sh index b63c44e7a..0d69ba5f4 100755 --- a/scripts/run-ui-linter.sh +++ b/scripts/run-ui-linter.sh @@ -6,7 +6,7 @@ # the root directory of this source tree. set -e -cd src/llama_stack/ui +cd src/llama_stack_ui if [ ! -d node_modules ] || [ ! -x node_modules/.bin/prettier ] || [ ! -x node_modules/.bin/eslint ]; then echo "UI dependencies not installed, skipping prettier/linter check" diff --git a/src/llama_stack/cli/stack/run.py b/src/llama_stack/cli/stack/run.py index 9ceb238fa..73d8d13d5 100644 --- a/src/llama_stack/cli/stack/run.py +++ b/src/llama_stack/cli/stack/run.py @@ -253,7 +253,7 @@ class StackRun(Subcommand): ) return - ui_dir = REPO_ROOT / "llama_stack" / "ui" + ui_dir = REPO_ROOT / "llama_stack_ui" logs_dir = Path("~/.llama/ui/logs").expanduser() try: # Create logs directory if it doesn't exist diff --git a/src/llama_stack/ui/.gitignore b/src/llama_stack_ui/.gitignore similarity index 100% rename from src/llama_stack/ui/.gitignore rename to src/llama_stack_ui/.gitignore diff --git a/src/llama_stack/ui/.nvmrc b/src/llama_stack_ui/.nvmrc similarity index 100% rename from src/llama_stack/ui/.nvmrc rename to src/llama_stack_ui/.nvmrc diff --git a/src/llama_stack/ui/.prettierignore b/src/llama_stack_ui/.prettierignore similarity index 100% rename from src/llama_stack/ui/.prettierignore rename to src/llama_stack_ui/.prettierignore diff --git a/src/llama_stack/ui/.prettierrc b/src/llama_stack_ui/.prettierrc similarity index 100% rename from src/llama_stack/ui/.prettierrc rename to src/llama_stack_ui/.prettierrc diff --git a/src/llama_stack/ui/README.md b/src/llama_stack_ui/README.md similarity index 100% rename from src/llama_stack/ui/README.md rename to src/llama_stack_ui/README.md diff --git a/src/llama_stack/ui/app/api/auth/[...nextauth]/route.ts b/src/llama_stack_ui/app/api/auth/[...nextauth]/route.ts similarity index 100% rename from src/llama_stack/ui/app/api/auth/[...nextauth]/route.ts rename to src/llama_stack_ui/app/api/auth/[...nextauth]/route.ts diff --git a/src/llama_stack/ui/app/api/v1/[...path]/route.ts b/src/llama_stack_ui/app/api/v1/[...path]/route.ts similarity index 100% rename from src/llama_stack/ui/app/api/v1/[...path]/route.ts rename to src/llama_stack_ui/app/api/v1/[...path]/route.ts diff --git a/src/llama_stack/ui/app/auth/signin/page.tsx b/src/llama_stack_ui/app/auth/signin/page.tsx similarity index 100% rename from src/llama_stack/ui/app/auth/signin/page.tsx rename to src/llama_stack_ui/app/auth/signin/page.tsx diff --git a/src/llama_stack/ui/app/chat-playground/chunk-processor.test.tsx b/src/llama_stack_ui/app/chat-playground/chunk-processor.test.tsx similarity index 100% rename from src/llama_stack/ui/app/chat-playground/chunk-processor.test.tsx rename to src/llama_stack_ui/app/chat-playground/chunk-processor.test.tsx diff --git a/src/llama_stack/ui/app/chat-playground/page.test.tsx b/src/llama_stack_ui/app/chat-playground/page.test.tsx similarity index 100% rename from src/llama_stack/ui/app/chat-playground/page.test.tsx rename to src/llama_stack_ui/app/chat-playground/page.test.tsx diff --git a/src/llama_stack/ui/app/chat-playground/page.tsx b/src/llama_stack_ui/app/chat-playground/page.tsx similarity index 100% rename from src/llama_stack/ui/app/chat-playground/page.tsx rename to src/llama_stack_ui/app/chat-playground/page.tsx diff --git a/src/llama_stack/ui/app/globals.css b/src/llama_stack_ui/app/globals.css similarity index 100% rename from src/llama_stack/ui/app/globals.css rename to src/llama_stack_ui/app/globals.css diff --git a/src/llama_stack/ui/app/layout.tsx b/src/llama_stack_ui/app/layout.tsx similarity index 100% rename from src/llama_stack/ui/app/layout.tsx rename to src/llama_stack_ui/app/layout.tsx diff --git a/src/llama_stack/ui/app/logs/chat-completions/[id]/page.tsx b/src/llama_stack_ui/app/logs/chat-completions/[id]/page.tsx similarity index 100% rename from src/llama_stack/ui/app/logs/chat-completions/[id]/page.tsx rename to src/llama_stack_ui/app/logs/chat-completions/[id]/page.tsx diff --git a/src/llama_stack/ui/app/logs/chat-completions/layout.tsx b/src/llama_stack_ui/app/logs/chat-completions/layout.tsx similarity index 100% rename from src/llama_stack/ui/app/logs/chat-completions/layout.tsx rename to src/llama_stack_ui/app/logs/chat-completions/layout.tsx diff --git a/src/llama_stack/ui/app/logs/chat-completions/page.tsx b/src/llama_stack_ui/app/logs/chat-completions/page.tsx similarity index 100% rename from src/llama_stack/ui/app/logs/chat-completions/page.tsx rename to src/llama_stack_ui/app/logs/chat-completions/page.tsx diff --git a/src/llama_stack/ui/app/logs/responses/[id]/page.tsx b/src/llama_stack_ui/app/logs/responses/[id]/page.tsx similarity index 100% rename from src/llama_stack/ui/app/logs/responses/[id]/page.tsx rename to src/llama_stack_ui/app/logs/responses/[id]/page.tsx diff --git a/src/llama_stack/ui/app/logs/responses/layout.tsx b/src/llama_stack_ui/app/logs/responses/layout.tsx similarity index 100% rename from src/llama_stack/ui/app/logs/responses/layout.tsx rename to src/llama_stack_ui/app/logs/responses/layout.tsx diff --git a/src/llama_stack/ui/app/logs/responses/page.tsx b/src/llama_stack_ui/app/logs/responses/page.tsx similarity index 100% rename from src/llama_stack/ui/app/logs/responses/page.tsx rename to src/llama_stack_ui/app/logs/responses/page.tsx diff --git a/src/llama_stack/ui/app/logs/vector-stores/[id]/files/[fileId]/contents/[contentId]/page.test.tsx b/src/llama_stack_ui/app/logs/vector-stores/[id]/files/[fileId]/contents/[contentId]/page.test.tsx similarity index 100% rename from src/llama_stack/ui/app/logs/vector-stores/[id]/files/[fileId]/contents/[contentId]/page.test.tsx rename to src/llama_stack_ui/app/logs/vector-stores/[id]/files/[fileId]/contents/[contentId]/page.test.tsx diff --git a/src/llama_stack/ui/app/logs/vector-stores/[id]/files/[fileId]/contents/[contentId]/page.tsx b/src/llama_stack_ui/app/logs/vector-stores/[id]/files/[fileId]/contents/[contentId]/page.tsx similarity index 100% rename from src/llama_stack/ui/app/logs/vector-stores/[id]/files/[fileId]/contents/[contentId]/page.tsx rename to src/llama_stack_ui/app/logs/vector-stores/[id]/files/[fileId]/contents/[contentId]/page.tsx diff --git a/src/llama_stack/ui/app/logs/vector-stores/[id]/files/[fileId]/contents/page.test.tsx b/src/llama_stack_ui/app/logs/vector-stores/[id]/files/[fileId]/contents/page.test.tsx similarity index 100% rename from src/llama_stack/ui/app/logs/vector-stores/[id]/files/[fileId]/contents/page.test.tsx rename to src/llama_stack_ui/app/logs/vector-stores/[id]/files/[fileId]/contents/page.test.tsx diff --git a/src/llama_stack/ui/app/logs/vector-stores/[id]/files/[fileId]/contents/page.tsx b/src/llama_stack_ui/app/logs/vector-stores/[id]/files/[fileId]/contents/page.tsx similarity index 100% rename from src/llama_stack/ui/app/logs/vector-stores/[id]/files/[fileId]/contents/page.tsx rename to src/llama_stack_ui/app/logs/vector-stores/[id]/files/[fileId]/contents/page.tsx diff --git a/src/llama_stack/ui/app/logs/vector-stores/[id]/files/[fileId]/page.test.tsx b/src/llama_stack_ui/app/logs/vector-stores/[id]/files/[fileId]/page.test.tsx similarity index 100% rename from src/llama_stack/ui/app/logs/vector-stores/[id]/files/[fileId]/page.test.tsx rename to src/llama_stack_ui/app/logs/vector-stores/[id]/files/[fileId]/page.test.tsx diff --git a/src/llama_stack/ui/app/logs/vector-stores/[id]/files/[fileId]/page.tsx b/src/llama_stack_ui/app/logs/vector-stores/[id]/files/[fileId]/page.tsx similarity index 100% rename from src/llama_stack/ui/app/logs/vector-stores/[id]/files/[fileId]/page.tsx rename to src/llama_stack_ui/app/logs/vector-stores/[id]/files/[fileId]/page.tsx diff --git a/src/llama_stack/ui/app/logs/vector-stores/[id]/page.tsx b/src/llama_stack_ui/app/logs/vector-stores/[id]/page.tsx similarity index 100% rename from src/llama_stack/ui/app/logs/vector-stores/[id]/page.tsx rename to src/llama_stack_ui/app/logs/vector-stores/[id]/page.tsx diff --git a/src/llama_stack/ui/app/logs/vector-stores/layout.tsx b/src/llama_stack_ui/app/logs/vector-stores/layout.tsx similarity index 100% rename from src/llama_stack/ui/app/logs/vector-stores/layout.tsx rename to src/llama_stack_ui/app/logs/vector-stores/layout.tsx diff --git a/src/llama_stack/ui/app/logs/vector-stores/page.tsx b/src/llama_stack_ui/app/logs/vector-stores/page.tsx similarity index 100% rename from src/llama_stack/ui/app/logs/vector-stores/page.tsx rename to src/llama_stack_ui/app/logs/vector-stores/page.tsx diff --git a/src/llama_stack/ui/app/page.tsx b/src/llama_stack_ui/app/page.tsx similarity index 100% rename from src/llama_stack/ui/app/page.tsx rename to src/llama_stack_ui/app/page.tsx diff --git a/src/llama_stack/ui/app/prompts/page.tsx b/src/llama_stack_ui/app/prompts/page.tsx similarity index 100% rename from src/llama_stack/ui/app/prompts/page.tsx rename to src/llama_stack_ui/app/prompts/page.tsx diff --git a/src/llama_stack/ui/components.json b/src/llama_stack_ui/components.json similarity index 100% rename from src/llama_stack/ui/components.json rename to src/llama_stack_ui/components.json diff --git a/src/llama_stack/ui/components/chat-completions/chat-completion-detail.test.tsx b/src/llama_stack_ui/components/chat-completions/chat-completion-detail.test.tsx similarity index 100% rename from src/llama_stack/ui/components/chat-completions/chat-completion-detail.test.tsx rename to src/llama_stack_ui/components/chat-completions/chat-completion-detail.test.tsx diff --git a/src/llama_stack/ui/components/chat-completions/chat-completion-detail.tsx b/src/llama_stack_ui/components/chat-completions/chat-completion-detail.tsx similarity index 100% rename from src/llama_stack/ui/components/chat-completions/chat-completion-detail.tsx rename to src/llama_stack_ui/components/chat-completions/chat-completion-detail.tsx diff --git a/src/llama_stack/ui/components/chat-completions/chat-completion-table.test.tsx b/src/llama_stack_ui/components/chat-completions/chat-completion-table.test.tsx similarity index 100% rename from src/llama_stack/ui/components/chat-completions/chat-completion-table.test.tsx rename to src/llama_stack_ui/components/chat-completions/chat-completion-table.test.tsx diff --git a/src/llama_stack/ui/components/chat-completions/chat-completions-table.tsx b/src/llama_stack_ui/components/chat-completions/chat-completions-table.tsx similarity index 100% rename from src/llama_stack/ui/components/chat-completions/chat-completions-table.tsx rename to src/llama_stack_ui/components/chat-completions/chat-completions-table.tsx diff --git a/src/llama_stack/ui/components/chat-completions/chat-messasge-item.tsx b/src/llama_stack_ui/components/chat-completions/chat-messasge-item.tsx similarity index 100% rename from src/llama_stack/ui/components/chat-completions/chat-messasge-item.tsx rename to src/llama_stack_ui/components/chat-completions/chat-messasge-item.tsx diff --git a/src/llama_stack/ui/components/chat-playground/chat-message.tsx b/src/llama_stack_ui/components/chat-playground/chat-message.tsx similarity index 100% rename from src/llama_stack/ui/components/chat-playground/chat-message.tsx rename to src/llama_stack_ui/components/chat-playground/chat-message.tsx diff --git a/src/llama_stack/ui/components/chat-playground/chat.tsx b/src/llama_stack_ui/components/chat-playground/chat.tsx similarity index 100% rename from src/llama_stack/ui/components/chat-playground/chat.tsx rename to src/llama_stack_ui/components/chat-playground/chat.tsx diff --git a/src/llama_stack/ui/components/chat-playground/conversations.test.tsx b/src/llama_stack_ui/components/chat-playground/conversations.test.tsx similarity index 100% rename from src/llama_stack/ui/components/chat-playground/conversations.test.tsx rename to src/llama_stack_ui/components/chat-playground/conversations.test.tsx diff --git a/src/llama_stack/ui/components/chat-playground/conversations.tsx b/src/llama_stack_ui/components/chat-playground/conversations.tsx similarity index 100% rename from src/llama_stack/ui/components/chat-playground/conversations.tsx rename to src/llama_stack_ui/components/chat-playground/conversations.tsx diff --git a/src/llama_stack/ui/components/chat-playground/interrupt-prompt.tsx b/src/llama_stack_ui/components/chat-playground/interrupt-prompt.tsx similarity index 100% rename from src/llama_stack/ui/components/chat-playground/interrupt-prompt.tsx rename to src/llama_stack_ui/components/chat-playground/interrupt-prompt.tsx diff --git a/src/llama_stack/ui/components/chat-playground/markdown-renderer.tsx b/src/llama_stack_ui/components/chat-playground/markdown-renderer.tsx similarity index 100% rename from src/llama_stack/ui/components/chat-playground/markdown-renderer.tsx rename to src/llama_stack_ui/components/chat-playground/markdown-renderer.tsx diff --git a/src/llama_stack/ui/components/chat-playground/message-components.tsx b/src/llama_stack_ui/components/chat-playground/message-components.tsx similarity index 100% rename from src/llama_stack/ui/components/chat-playground/message-components.tsx rename to src/llama_stack_ui/components/chat-playground/message-components.tsx diff --git a/src/llama_stack/ui/components/chat-playground/message-input.tsx b/src/llama_stack_ui/components/chat-playground/message-input.tsx similarity index 100% rename from src/llama_stack/ui/components/chat-playground/message-input.tsx rename to src/llama_stack_ui/components/chat-playground/message-input.tsx diff --git a/src/llama_stack/ui/components/chat-playground/message-list.tsx b/src/llama_stack_ui/components/chat-playground/message-list.tsx similarity index 100% rename from src/llama_stack/ui/components/chat-playground/message-list.tsx rename to src/llama_stack_ui/components/chat-playground/message-list.tsx diff --git a/src/llama_stack/ui/components/chat-playground/prompt-suggestions.tsx b/src/llama_stack_ui/components/chat-playground/prompt-suggestions.tsx similarity index 100% rename from src/llama_stack/ui/components/chat-playground/prompt-suggestions.tsx rename to src/llama_stack_ui/components/chat-playground/prompt-suggestions.tsx diff --git a/src/llama_stack/ui/components/chat-playground/typing-indicator.tsx b/src/llama_stack_ui/components/chat-playground/typing-indicator.tsx similarity index 100% rename from src/llama_stack/ui/components/chat-playground/typing-indicator.tsx rename to src/llama_stack_ui/components/chat-playground/typing-indicator.tsx diff --git a/src/llama_stack/ui/components/chat-playground/vector-db-creator.tsx b/src/llama_stack_ui/components/chat-playground/vector-db-creator.tsx similarity index 100% rename from src/llama_stack/ui/components/chat-playground/vector-db-creator.tsx rename to src/llama_stack_ui/components/chat-playground/vector-db-creator.tsx diff --git a/src/llama_stack/ui/components/layout/app-sidebar.tsx b/src/llama_stack_ui/components/layout/app-sidebar.tsx similarity index 100% rename from src/llama_stack/ui/components/layout/app-sidebar.tsx rename to src/llama_stack_ui/components/layout/app-sidebar.tsx diff --git a/src/llama_stack/ui/components/layout/detail-layout.tsx b/src/llama_stack_ui/components/layout/detail-layout.tsx similarity index 100% rename from src/llama_stack/ui/components/layout/detail-layout.tsx rename to src/llama_stack_ui/components/layout/detail-layout.tsx diff --git a/src/llama_stack/ui/components/layout/logs-layout.tsx b/src/llama_stack_ui/components/layout/logs-layout.tsx similarity index 100% rename from src/llama_stack/ui/components/layout/logs-layout.tsx rename to src/llama_stack_ui/components/layout/logs-layout.tsx diff --git a/src/llama_stack/ui/components/layout/page-breadcrumb.tsx b/src/llama_stack_ui/components/layout/page-breadcrumb.tsx similarity index 100% rename from src/llama_stack/ui/components/layout/page-breadcrumb.tsx rename to src/llama_stack_ui/components/layout/page-breadcrumb.tsx diff --git a/src/llama_stack/ui/components/logs/logs-table-scroll.test.tsx b/src/llama_stack_ui/components/logs/logs-table-scroll.test.tsx similarity index 100% rename from src/llama_stack/ui/components/logs/logs-table-scroll.test.tsx rename to src/llama_stack_ui/components/logs/logs-table-scroll.test.tsx diff --git a/src/llama_stack/ui/components/logs/logs-table.test.tsx b/src/llama_stack_ui/components/logs/logs-table.test.tsx similarity index 100% rename from src/llama_stack/ui/components/logs/logs-table.test.tsx rename to src/llama_stack_ui/components/logs/logs-table.test.tsx diff --git a/src/llama_stack/ui/components/logs/logs-table.tsx b/src/llama_stack_ui/components/logs/logs-table.tsx similarity index 100% rename from src/llama_stack/ui/components/logs/logs-table.tsx rename to src/llama_stack_ui/components/logs/logs-table.tsx diff --git a/src/llama_stack/ui/components/prompts/index.ts b/src/llama_stack_ui/components/prompts/index.ts similarity index 100% rename from src/llama_stack/ui/components/prompts/index.ts rename to src/llama_stack_ui/components/prompts/index.ts diff --git a/src/llama_stack/ui/components/prompts/prompt-editor.test.tsx b/src/llama_stack_ui/components/prompts/prompt-editor.test.tsx similarity index 100% rename from src/llama_stack/ui/components/prompts/prompt-editor.test.tsx rename to src/llama_stack_ui/components/prompts/prompt-editor.test.tsx diff --git a/src/llama_stack/ui/components/prompts/prompt-editor.tsx b/src/llama_stack_ui/components/prompts/prompt-editor.tsx similarity index 100% rename from src/llama_stack/ui/components/prompts/prompt-editor.tsx rename to src/llama_stack_ui/components/prompts/prompt-editor.tsx diff --git a/src/llama_stack/ui/components/prompts/prompt-list.test.tsx b/src/llama_stack_ui/components/prompts/prompt-list.test.tsx similarity index 100% rename from src/llama_stack/ui/components/prompts/prompt-list.test.tsx rename to src/llama_stack_ui/components/prompts/prompt-list.test.tsx diff --git a/src/llama_stack/ui/components/prompts/prompt-list.tsx b/src/llama_stack_ui/components/prompts/prompt-list.tsx similarity index 100% rename from src/llama_stack/ui/components/prompts/prompt-list.tsx rename to src/llama_stack_ui/components/prompts/prompt-list.tsx diff --git a/src/llama_stack/ui/components/prompts/prompt-management.test.tsx b/src/llama_stack_ui/components/prompts/prompt-management.test.tsx similarity index 100% rename from src/llama_stack/ui/components/prompts/prompt-management.test.tsx rename to src/llama_stack_ui/components/prompts/prompt-management.test.tsx diff --git a/src/llama_stack/ui/components/prompts/prompt-management.tsx b/src/llama_stack_ui/components/prompts/prompt-management.tsx similarity index 100% rename from src/llama_stack/ui/components/prompts/prompt-management.tsx rename to src/llama_stack_ui/components/prompts/prompt-management.tsx diff --git a/src/llama_stack/ui/components/prompts/types.ts b/src/llama_stack_ui/components/prompts/types.ts similarity index 100% rename from src/llama_stack/ui/components/prompts/types.ts rename to src/llama_stack_ui/components/prompts/types.ts diff --git a/src/llama_stack/ui/components/providers/session-provider.tsx b/src/llama_stack_ui/components/providers/session-provider.tsx similarity index 100% rename from src/llama_stack/ui/components/providers/session-provider.tsx rename to src/llama_stack_ui/components/providers/session-provider.tsx diff --git a/src/llama_stack/ui/components/responses/grouping/grouped-items-display.tsx b/src/llama_stack_ui/components/responses/grouping/grouped-items-display.tsx similarity index 100% rename from src/llama_stack/ui/components/responses/grouping/grouped-items-display.tsx rename to src/llama_stack_ui/components/responses/grouping/grouped-items-display.tsx diff --git a/src/llama_stack/ui/components/responses/hooks/function-call-grouping.ts b/src/llama_stack_ui/components/responses/hooks/function-call-grouping.ts similarity index 100% rename from src/llama_stack/ui/components/responses/hooks/function-call-grouping.ts rename to src/llama_stack_ui/components/responses/hooks/function-call-grouping.ts diff --git a/src/llama_stack/ui/components/responses/items/function-call-item.tsx b/src/llama_stack_ui/components/responses/items/function-call-item.tsx similarity index 100% rename from src/llama_stack/ui/components/responses/items/function-call-item.tsx rename to src/llama_stack_ui/components/responses/items/function-call-item.tsx diff --git a/src/llama_stack/ui/components/responses/items/generic-item.tsx b/src/llama_stack_ui/components/responses/items/generic-item.tsx similarity index 100% rename from src/llama_stack/ui/components/responses/items/generic-item.tsx rename to src/llama_stack_ui/components/responses/items/generic-item.tsx diff --git a/src/llama_stack/ui/components/responses/items/grouped-function-call-item.tsx b/src/llama_stack_ui/components/responses/items/grouped-function-call-item.tsx similarity index 100% rename from src/llama_stack/ui/components/responses/items/grouped-function-call-item.tsx rename to src/llama_stack_ui/components/responses/items/grouped-function-call-item.tsx diff --git a/src/llama_stack/ui/components/responses/items/index.ts b/src/llama_stack_ui/components/responses/items/index.ts similarity index 100% rename from src/llama_stack/ui/components/responses/items/index.ts rename to src/llama_stack_ui/components/responses/items/index.ts diff --git a/src/llama_stack/ui/components/responses/items/item-renderer.tsx b/src/llama_stack_ui/components/responses/items/item-renderer.tsx similarity index 100% rename from src/llama_stack/ui/components/responses/items/item-renderer.tsx rename to src/llama_stack_ui/components/responses/items/item-renderer.tsx diff --git a/src/llama_stack/ui/components/responses/items/message-item.tsx b/src/llama_stack_ui/components/responses/items/message-item.tsx similarity index 100% rename from src/llama_stack/ui/components/responses/items/message-item.tsx rename to src/llama_stack_ui/components/responses/items/message-item.tsx diff --git a/src/llama_stack/ui/components/responses/items/web-search-item.tsx b/src/llama_stack_ui/components/responses/items/web-search-item.tsx similarity index 100% rename from src/llama_stack/ui/components/responses/items/web-search-item.tsx rename to src/llama_stack_ui/components/responses/items/web-search-item.tsx diff --git a/src/llama_stack/ui/components/responses/responses-detail.test.tsx b/src/llama_stack_ui/components/responses/responses-detail.test.tsx similarity index 100% rename from src/llama_stack/ui/components/responses/responses-detail.test.tsx rename to src/llama_stack_ui/components/responses/responses-detail.test.tsx diff --git a/src/llama_stack/ui/components/responses/responses-detail.tsx b/src/llama_stack_ui/components/responses/responses-detail.tsx similarity index 100% rename from src/llama_stack/ui/components/responses/responses-detail.tsx rename to src/llama_stack_ui/components/responses/responses-detail.tsx diff --git a/src/llama_stack/ui/components/responses/responses-table.test.tsx b/src/llama_stack_ui/components/responses/responses-table.test.tsx similarity index 100% rename from src/llama_stack/ui/components/responses/responses-table.test.tsx rename to src/llama_stack_ui/components/responses/responses-table.test.tsx diff --git a/src/llama_stack/ui/components/responses/responses-table.tsx b/src/llama_stack_ui/components/responses/responses-table.tsx similarity index 100% rename from src/llama_stack/ui/components/responses/responses-table.tsx rename to src/llama_stack_ui/components/responses/responses-table.tsx diff --git a/src/llama_stack/ui/components/responses/utils/item-types.ts b/src/llama_stack_ui/components/responses/utils/item-types.ts similarity index 100% rename from src/llama_stack/ui/components/responses/utils/item-types.ts rename to src/llama_stack_ui/components/responses/utils/item-types.ts diff --git a/src/llama_stack/ui/components/ui/audio-visualizer.tsx b/src/llama_stack_ui/components/ui/audio-visualizer.tsx similarity index 100% rename from src/llama_stack/ui/components/ui/audio-visualizer.tsx rename to src/llama_stack_ui/components/ui/audio-visualizer.tsx diff --git a/src/llama_stack/ui/components/ui/badge.tsx b/src/llama_stack_ui/components/ui/badge.tsx similarity index 100% rename from src/llama_stack/ui/components/ui/badge.tsx rename to src/llama_stack_ui/components/ui/badge.tsx diff --git a/src/llama_stack/ui/components/ui/breadcrumb.tsx b/src/llama_stack_ui/components/ui/breadcrumb.tsx similarity index 100% rename from src/llama_stack/ui/components/ui/breadcrumb.tsx rename to src/llama_stack_ui/components/ui/breadcrumb.tsx diff --git a/src/llama_stack/ui/components/ui/button.tsx b/src/llama_stack_ui/components/ui/button.tsx similarity index 100% rename from src/llama_stack/ui/components/ui/button.tsx rename to src/llama_stack_ui/components/ui/button.tsx diff --git a/src/llama_stack/ui/components/ui/card.tsx b/src/llama_stack_ui/components/ui/card.tsx similarity index 100% rename from src/llama_stack/ui/components/ui/card.tsx rename to src/llama_stack_ui/components/ui/card.tsx diff --git a/src/llama_stack/ui/components/ui/collapsible.tsx b/src/llama_stack_ui/components/ui/collapsible.tsx similarity index 100% rename from src/llama_stack/ui/components/ui/collapsible.tsx rename to src/llama_stack_ui/components/ui/collapsible.tsx diff --git a/src/llama_stack/ui/components/ui/copy-button.tsx b/src/llama_stack_ui/components/ui/copy-button.tsx similarity index 100% rename from src/llama_stack/ui/components/ui/copy-button.tsx rename to src/llama_stack_ui/components/ui/copy-button.tsx diff --git a/src/llama_stack/ui/components/ui/dropdown-menu.tsx b/src/llama_stack_ui/components/ui/dropdown-menu.tsx similarity index 100% rename from src/llama_stack/ui/components/ui/dropdown-menu.tsx rename to src/llama_stack_ui/components/ui/dropdown-menu.tsx diff --git a/src/llama_stack/ui/components/ui/file-preview.tsx b/src/llama_stack_ui/components/ui/file-preview.tsx similarity index 100% rename from src/llama_stack/ui/components/ui/file-preview.tsx rename to src/llama_stack_ui/components/ui/file-preview.tsx diff --git a/src/llama_stack/ui/components/ui/input.tsx b/src/llama_stack_ui/components/ui/input.tsx similarity index 100% rename from src/llama_stack/ui/components/ui/input.tsx rename to src/llama_stack_ui/components/ui/input.tsx diff --git a/src/llama_stack/ui/components/ui/label.tsx b/src/llama_stack_ui/components/ui/label.tsx similarity index 100% rename from src/llama_stack/ui/components/ui/label.tsx rename to src/llama_stack_ui/components/ui/label.tsx diff --git a/src/llama_stack/ui/components/ui/mode-toggle.tsx b/src/llama_stack_ui/components/ui/mode-toggle.tsx similarity index 100% rename from src/llama_stack/ui/components/ui/mode-toggle.tsx rename to src/llama_stack_ui/components/ui/mode-toggle.tsx diff --git a/src/llama_stack/ui/components/ui/select.tsx b/src/llama_stack_ui/components/ui/select.tsx similarity index 100% rename from src/llama_stack/ui/components/ui/select.tsx rename to src/llama_stack_ui/components/ui/select.tsx diff --git a/src/llama_stack/ui/components/ui/separator.tsx b/src/llama_stack_ui/components/ui/separator.tsx similarity index 100% rename from src/llama_stack/ui/components/ui/separator.tsx rename to src/llama_stack_ui/components/ui/separator.tsx diff --git a/src/llama_stack/ui/components/ui/sheet.tsx b/src/llama_stack_ui/components/ui/sheet.tsx similarity index 100% rename from src/llama_stack/ui/components/ui/sheet.tsx rename to src/llama_stack_ui/components/ui/sheet.tsx diff --git a/src/llama_stack/ui/components/ui/sidebar.tsx b/src/llama_stack_ui/components/ui/sidebar.tsx similarity index 100% rename from src/llama_stack/ui/components/ui/sidebar.tsx rename to src/llama_stack_ui/components/ui/sidebar.tsx diff --git a/src/llama_stack/ui/components/ui/sign-in-button.tsx b/src/llama_stack_ui/components/ui/sign-in-button.tsx similarity index 100% rename from src/llama_stack/ui/components/ui/sign-in-button.tsx rename to src/llama_stack_ui/components/ui/sign-in-button.tsx diff --git a/src/llama_stack/ui/components/ui/skeleton.tsx b/src/llama_stack_ui/components/ui/skeleton.tsx similarity index 100% rename from src/llama_stack/ui/components/ui/skeleton.tsx rename to src/llama_stack_ui/components/ui/skeleton.tsx diff --git a/src/llama_stack/ui/components/ui/sonner.tsx b/src/llama_stack_ui/components/ui/sonner.tsx similarity index 100% rename from src/llama_stack/ui/components/ui/sonner.tsx rename to src/llama_stack_ui/components/ui/sonner.tsx diff --git a/src/llama_stack/ui/components/ui/table.tsx b/src/llama_stack_ui/components/ui/table.tsx similarity index 100% rename from src/llama_stack/ui/components/ui/table.tsx rename to src/llama_stack_ui/components/ui/table.tsx diff --git a/src/llama_stack/ui/components/ui/tabs.tsx b/src/llama_stack_ui/components/ui/tabs.tsx similarity index 100% rename from src/llama_stack/ui/components/ui/tabs.tsx rename to src/llama_stack_ui/components/ui/tabs.tsx diff --git a/src/llama_stack/ui/components/ui/textarea.tsx b/src/llama_stack_ui/components/ui/textarea.tsx similarity index 100% rename from src/llama_stack/ui/components/ui/textarea.tsx rename to src/llama_stack_ui/components/ui/textarea.tsx diff --git a/src/llama_stack/ui/components/ui/theme-provider.tsx b/src/llama_stack_ui/components/ui/theme-provider.tsx similarity index 100% rename from src/llama_stack/ui/components/ui/theme-provider.tsx rename to src/llama_stack_ui/components/ui/theme-provider.tsx diff --git a/src/llama_stack/ui/components/ui/tooltip.tsx b/src/llama_stack_ui/components/ui/tooltip.tsx similarity index 100% rename from src/llama_stack/ui/components/ui/tooltip.tsx rename to src/llama_stack_ui/components/ui/tooltip.tsx diff --git a/src/llama_stack/ui/components/vector-stores/vector-store-detail.test.tsx b/src/llama_stack_ui/components/vector-stores/vector-store-detail.test.tsx similarity index 100% rename from src/llama_stack/ui/components/vector-stores/vector-store-detail.test.tsx rename to src/llama_stack_ui/components/vector-stores/vector-store-detail.test.tsx diff --git a/src/llama_stack/ui/components/vector-stores/vector-store-detail.tsx b/src/llama_stack_ui/components/vector-stores/vector-store-detail.tsx similarity index 100% rename from src/llama_stack/ui/components/vector-stores/vector-store-detail.tsx rename to src/llama_stack_ui/components/vector-stores/vector-store-detail.tsx diff --git a/src/llama_stack/ui/e2e/logs-table-scroll.spec.ts b/src/llama_stack_ui/e2e/logs-table-scroll.spec.ts similarity index 100% rename from src/llama_stack/ui/e2e/logs-table-scroll.spec.ts rename to src/llama_stack_ui/e2e/logs-table-scroll.spec.ts diff --git a/src/llama_stack/ui/eslint.config.mjs b/src/llama_stack_ui/eslint.config.mjs similarity index 100% rename from src/llama_stack/ui/eslint.config.mjs rename to src/llama_stack_ui/eslint.config.mjs diff --git a/src/llama_stack/ui/hooks/use-audio-recording.ts b/src/llama_stack_ui/hooks/use-audio-recording.ts similarity index 100% rename from src/llama_stack/ui/hooks/use-audio-recording.ts rename to src/llama_stack_ui/hooks/use-audio-recording.ts diff --git a/src/llama_stack/ui/hooks/use-auth-client.ts b/src/llama_stack_ui/hooks/use-auth-client.ts similarity index 100% rename from src/llama_stack/ui/hooks/use-auth-client.ts rename to src/llama_stack_ui/hooks/use-auth-client.ts diff --git a/src/llama_stack/ui/hooks/use-auto-scroll.ts b/src/llama_stack_ui/hooks/use-auto-scroll.ts similarity index 100% rename from src/llama_stack/ui/hooks/use-auto-scroll.ts rename to src/llama_stack_ui/hooks/use-auto-scroll.ts diff --git a/src/llama_stack/ui/hooks/use-autosize-textarea.ts b/src/llama_stack_ui/hooks/use-autosize-textarea.ts similarity index 100% rename from src/llama_stack/ui/hooks/use-autosize-textarea.ts rename to src/llama_stack_ui/hooks/use-autosize-textarea.ts diff --git a/src/llama_stack/ui/hooks/use-copy-to-clipboard.ts b/src/llama_stack_ui/hooks/use-copy-to-clipboard.ts similarity index 100% rename from src/llama_stack/ui/hooks/use-copy-to-clipboard.ts rename to src/llama_stack_ui/hooks/use-copy-to-clipboard.ts diff --git a/src/llama_stack/ui/hooks/use-infinite-scroll.ts b/src/llama_stack_ui/hooks/use-infinite-scroll.ts similarity index 100% rename from src/llama_stack/ui/hooks/use-infinite-scroll.ts rename to src/llama_stack_ui/hooks/use-infinite-scroll.ts diff --git a/src/llama_stack/ui/hooks/use-mobile.ts b/src/llama_stack_ui/hooks/use-mobile.ts similarity index 100% rename from src/llama_stack/ui/hooks/use-mobile.ts rename to src/llama_stack_ui/hooks/use-mobile.ts diff --git a/src/llama_stack/ui/hooks/use-pagination.ts b/src/llama_stack_ui/hooks/use-pagination.ts similarity index 100% rename from src/llama_stack/ui/hooks/use-pagination.ts rename to src/llama_stack_ui/hooks/use-pagination.ts diff --git a/src/llama_stack/ui/instrumentation.ts b/src/llama_stack_ui/instrumentation.ts similarity index 100% rename from src/llama_stack/ui/instrumentation.ts rename to src/llama_stack_ui/instrumentation.ts diff --git a/src/llama_stack/ui/jest.config.ts b/src/llama_stack_ui/jest.config.ts similarity index 100% rename from src/llama_stack/ui/jest.config.ts rename to src/llama_stack_ui/jest.config.ts diff --git a/src/llama_stack/ui/jest.setup.ts b/src/llama_stack_ui/jest.setup.ts similarity index 100% rename from src/llama_stack/ui/jest.setup.ts rename to src/llama_stack_ui/jest.setup.ts diff --git a/src/llama_stack/ui/lib/audio-utils.ts b/src/llama_stack_ui/lib/audio-utils.ts similarity index 100% rename from src/llama_stack/ui/lib/audio-utils.ts rename to src/llama_stack_ui/lib/audio-utils.ts diff --git a/src/llama_stack/ui/lib/auth.ts b/src/llama_stack_ui/lib/auth.ts similarity index 100% rename from src/llama_stack/ui/lib/auth.ts rename to src/llama_stack_ui/lib/auth.ts diff --git a/src/llama_stack/ui/lib/config-validator.ts b/src/llama_stack_ui/lib/config-validator.ts similarity index 100% rename from src/llama_stack/ui/lib/config-validator.ts rename to src/llama_stack_ui/lib/config-validator.ts diff --git a/src/llama_stack/ui/lib/contents-api.ts b/src/llama_stack_ui/lib/contents-api.ts similarity index 100% rename from src/llama_stack/ui/lib/contents-api.ts rename to src/llama_stack_ui/lib/contents-api.ts diff --git a/src/llama_stack/ui/lib/format-message-content.test.ts b/src/llama_stack_ui/lib/format-message-content.test.ts similarity index 100% rename from src/llama_stack/ui/lib/format-message-content.test.ts rename to src/llama_stack_ui/lib/format-message-content.test.ts diff --git a/src/llama_stack/ui/lib/format-message-content.ts b/src/llama_stack_ui/lib/format-message-content.ts similarity index 100% rename from src/llama_stack/ui/lib/format-message-content.ts rename to src/llama_stack_ui/lib/format-message-content.ts diff --git a/src/llama_stack/ui/lib/format-tool-call.tsx b/src/llama_stack_ui/lib/format-tool-call.tsx similarity index 100% rename from src/llama_stack/ui/lib/format-tool-call.tsx rename to src/llama_stack_ui/lib/format-tool-call.tsx diff --git a/src/llama_stack/ui/lib/message-content-utils.ts b/src/llama_stack_ui/lib/message-content-utils.ts similarity index 100% rename from src/llama_stack/ui/lib/message-content-utils.ts rename to src/llama_stack_ui/lib/message-content-utils.ts diff --git a/src/llama_stack/ui/lib/truncate-text.ts b/src/llama_stack_ui/lib/truncate-text.ts similarity index 100% rename from src/llama_stack/ui/lib/truncate-text.ts rename to src/llama_stack_ui/lib/truncate-text.ts diff --git a/src/llama_stack/ui/lib/types.ts b/src/llama_stack_ui/lib/types.ts similarity index 100% rename from src/llama_stack/ui/lib/types.ts rename to src/llama_stack_ui/lib/types.ts diff --git a/src/llama_stack/ui/lib/utils.tsx b/src/llama_stack_ui/lib/utils.tsx similarity index 100% rename from src/llama_stack/ui/lib/utils.tsx rename to src/llama_stack_ui/lib/utils.tsx diff --git a/src/llama_stack/ui/next.config.ts b/src/llama_stack_ui/next.config.ts similarity index 100% rename from src/llama_stack/ui/next.config.ts rename to src/llama_stack_ui/next.config.ts diff --git a/src/llama_stack/ui/package-lock.json b/src/llama_stack_ui/package-lock.json similarity index 100% rename from src/llama_stack/ui/package-lock.json rename to src/llama_stack_ui/package-lock.json diff --git a/src/llama_stack/ui/package.json b/src/llama_stack_ui/package.json similarity index 100% rename from src/llama_stack/ui/package.json rename to src/llama_stack_ui/package.json diff --git a/src/llama_stack/ui/playwright.config.ts b/src/llama_stack_ui/playwright.config.ts similarity index 100% rename from src/llama_stack/ui/playwright.config.ts rename to src/llama_stack_ui/playwright.config.ts diff --git a/src/llama_stack/ui/postcss.config.mjs b/src/llama_stack_ui/postcss.config.mjs similarity index 100% rename from src/llama_stack/ui/postcss.config.mjs rename to src/llama_stack_ui/postcss.config.mjs diff --git a/src/llama_stack/ui/public/favicon.ico b/src/llama_stack_ui/public/favicon.ico similarity index 100% rename from src/llama_stack/ui/public/favicon.ico rename to src/llama_stack_ui/public/favicon.ico diff --git a/src/llama_stack/ui/public/file.svg b/src/llama_stack_ui/public/file.svg similarity index 100% rename from src/llama_stack/ui/public/file.svg rename to src/llama_stack_ui/public/file.svg diff --git a/src/llama_stack/ui/public/globe.svg b/src/llama_stack_ui/public/globe.svg similarity index 100% rename from src/llama_stack/ui/public/globe.svg rename to src/llama_stack_ui/public/globe.svg diff --git a/src/llama_stack/ui/public/logo.webp b/src/llama_stack_ui/public/logo.webp similarity index 100% rename from src/llama_stack/ui/public/logo.webp rename to src/llama_stack_ui/public/logo.webp diff --git a/src/llama_stack/ui/public/next.svg b/src/llama_stack_ui/public/next.svg similarity index 100% rename from src/llama_stack/ui/public/next.svg rename to src/llama_stack_ui/public/next.svg diff --git a/src/llama_stack/ui/public/vercel.svg b/src/llama_stack_ui/public/vercel.svg similarity index 100% rename from src/llama_stack/ui/public/vercel.svg rename to src/llama_stack_ui/public/vercel.svg diff --git a/src/llama_stack/ui/public/window.svg b/src/llama_stack_ui/public/window.svg similarity index 100% rename from src/llama_stack/ui/public/window.svg rename to src/llama_stack_ui/public/window.svg diff --git a/src/llama_stack/ui/tsconfig.json b/src/llama_stack_ui/tsconfig.json similarity index 100% rename from src/llama_stack/ui/tsconfig.json rename to src/llama_stack_ui/tsconfig.json diff --git a/src/llama_stack/ui/types/next-auth.d.ts b/src/llama_stack_ui/types/next-auth.d.ts similarity index 100% rename from src/llama_stack/ui/types/next-auth.d.ts rename to src/llama_stack_ui/types/next-auth.d.ts From 392e01dc794080a02d48840222797e49ed985be2 Mon Sep 17 00:00:00 2001 From: Ashwin Bharambe Date: Tue, 4 Nov 2025 15:43:54 -0800 Subject: [PATCH 4/4] chore: add stainless config name it to indicate it is not yet source of truth to avoid confusion --- .../config-not-source-of-truth-yet.yml | 525 ++++++++++++++++++ 1 file changed, 525 insertions(+) create mode 100644 client-sdks/stainless/config-not-source-of-truth-yet.yml diff --git a/client-sdks/stainless/config-not-source-of-truth-yet.yml b/client-sdks/stainless/config-not-source-of-truth-yet.yml new file mode 100644 index 000000000..6cd526c0f --- /dev/null +++ b/client-sdks/stainless/config-not-source-of-truth-yet.yml @@ -0,0 +1,525 @@ +# yaml-language-server: $schema=https://app.stainlessapi.com/config-internal.schema.json + +organization: + # Name of your organization or company, used to determine the name of the client + # and headings. + name: llama-stack-client + docs: https://llama-stack.readthedocs.io/en/latest/ + contact: llamastack@meta.com +security: + - {} + - BearerAuth: [] +security_schemes: + BearerAuth: + type: http + scheme: bearer +# `targets` define the output targets and their customization options, such as +# whether to emit the Node SDK and what it's package name should be. +targets: + node: + package_name: llama-stack-client + production_repo: llamastack/llama-stack-client-typescript + publish: + npm: false + python: + package_name: llama_stack_client + production_repo: llamastack/llama-stack-client-python + options: + use_uv: true + publish: + pypi: true + project_name: llama_stack_client + kotlin: + reverse_domain: com.llama_stack_client.api + production_repo: null + publish: + maven: false + go: + package_name: llama-stack-client + production_repo: llamastack/llama-stack-client-go + options: + enable_v2: true + back_compat_use_shared_package: false + +# `client_settings` define settings for the API client, such as extra constructor +# arguments (used for authentication), retry behavior, idempotency, etc. +client_settings: + default_env_prefix: LLAMA_STACK_CLIENT + opts: + api_key: + type: string + read_env: LLAMA_STACK_CLIENT_API_KEY + auth: { security_scheme: BearerAuth } + nullable: true + +# `environments` are a map of the name of the environment (e.g. "sandbox", +# "production") to the corresponding url to use. +environments: + production: http://any-hosted-llama-stack.com + +# `pagination` defines [pagination schemes] which provides a template to match +# endpoints and generate next-page and auto-pagination helpers in the SDKs. +pagination: + - name: datasets_iterrows + type: offset + request: + dataset_id: + type: string + start_index: + type: integer + x-stainless-pagination-property: + purpose: offset_count_param + limit: + type: integer + response: + data: + type: array + items: + type: object + next_index: + type: integer + x-stainless-pagination-property: + purpose: offset_count_start_field + - name: openai_cursor_page + type: cursor + request: + limit: + type: integer + after: + type: string + x-stainless-pagination-property: + purpose: next_cursor_param + response: + data: + type: array + items: {} + has_more: + type: boolean + last_id: + type: string + x-stainless-pagination-property: + purpose: next_cursor_field +# `resources` define the structure and organziation for your API, such as how +# methods and models are grouped together and accessed. See the [configuration +# guide] for more information. +# +# [configuration guide]: +# https://app.stainlessapi.com/docs/guides/configure#resources +resources: + $shared: + models: + interleaved_content_item: InterleavedContentItem + interleaved_content: InterleavedContent + param_type: ParamType + safety_violation: SafetyViolation + sampling_params: SamplingParams + scoring_result: ScoringResult + system_message: SystemMessage + query_result: RAGQueryResult + document: RAGDocument + query_config: RAGQueryConfig + toolgroups: + models: + tool_group: ToolGroup + list_tool_groups_response: ListToolGroupsResponse + methods: + register: post /v1/toolgroups + get: get /v1/toolgroups/{toolgroup_id} + list: get /v1/toolgroups + unregister: delete /v1/toolgroups/{toolgroup_id} + tools: + methods: + get: get /v1/tools/{tool_name} + list: + endpoint: get /v1/tools + paginated: false + + tool_runtime: + models: + tool_def: ToolDef + tool_invocation_result: ToolInvocationResult + methods: + list_tools: + endpoint: get /v1/tool-runtime/list-tools + paginated: false + invoke_tool: post /v1/tool-runtime/invoke + subresources: + rag_tool: + methods: + insert: post /v1/tool-runtime/rag-tool/insert + query: post /v1/tool-runtime/rag-tool/query + + responses: + models: + response_object_stream: OpenAIResponseObjectStream + response_object: OpenAIResponseObject + methods: + create: + type: http + endpoint: post /v1/responses + streaming: + stream_event_model: responses.response_object_stream + param_discriminator: stream + retrieve: get /v1/responses/{response_id} + list: + type: http + endpoint: get /v1/responses + delete: + type: http + endpoint: delete /v1/responses/{response_id} + subresources: + input_items: + methods: + list: + type: http + endpoint: get /v1/responses/{response_id}/input_items + + prompts: + models: + prompt: Prompt + list_prompts_response: ListPromptsResponse + methods: + create: post /v1/prompts + list: + endpoint: get /v1/prompts + paginated: false + retrieve: get /v1/prompts/{prompt_id} + update: post /v1/prompts/{prompt_id} + delete: delete /v1/prompts/{prompt_id} + set_default_version: post /v1/prompts/{prompt_id}/set-default-version + subresources: + versions: + methods: + list: + endpoint: get /v1/prompts/{prompt_id}/versions + paginated: false + + conversations: + models: + conversation_object: Conversation + methods: + create: + type: http + endpoint: post /v1/conversations + retrieve: get /v1/conversations/{conversation_id} + update: + type: http + endpoint: post /v1/conversations/{conversation_id} + delete: + type: http + endpoint: delete /v1/conversations/{conversation_id} + subresources: + items: + methods: + get: + type: http + endpoint: get /v1/conversations/{conversation_id}/items/{item_id} + list: + type: http + endpoint: get /v1/conversations/{conversation_id}/items + create: + type: http + endpoint: post /v1/conversations/{conversation_id}/items + + inspect: + models: + healthInfo: HealthInfo + providerInfo: ProviderInfo + routeInfo: RouteInfo + versionInfo: VersionInfo + methods: + health: get /v1/health + version: get /v1/version + + embeddings: + models: + create_embeddings_response: OpenAIEmbeddingsResponse + methods: + create: post /v1/embeddings + + chat: + models: + chat_completion_chunk: OpenAIChatCompletionChunk + subresources: + completions: + methods: + create: + type: http + endpoint: post /v1/chat/completions + streaming: + stream_event_model: chat.chat_completion_chunk + param_discriminator: stream + list: + type: http + endpoint: get /v1/chat/completions + retrieve: + type: http + endpoint: get /v1/chat/completions/{completion_id} + completions: + methods: + create: + type: http + endpoint: post /v1/completions + streaming: + param_discriminator: stream + + vector_io: + models: + queryChunksResponse: QueryChunksResponse + methods: + insert: post /v1/vector-io/insert + query: post /v1/vector-io/query + + vector_stores: + models: + vector_store: VectorStoreObject + list_vector_stores_response: VectorStoreListResponse + vector_store_delete_response: VectorStoreDeleteResponse + vector_store_search_response: VectorStoreSearchResponsePage + methods: + create: post /v1/vector_stores + list: + endpoint: get /v1/vector_stores + retrieve: get /v1/vector_stores/{vector_store_id} + update: post /v1/vector_stores/{vector_store_id} + delete: delete /v1/vector_stores/{vector_store_id} + search: post /v1/vector_stores/{vector_store_id}/search + subresources: + files: + models: + vector_store_file: VectorStoreFileObject + methods: + list: get /v1/vector_stores/{vector_store_id}/files + retrieve: get /v1/vector_stores/{vector_store_id}/files/{file_id} + update: post /v1/vector_stores/{vector_store_id}/files/{file_id} + delete: delete /v1/vector_stores/{vector_store_id}/files/{file_id} + create: post /v1/vector_stores/{vector_store_id}/files + content: get /v1/vector_stores/{vector_store_id}/files/{file_id}/content + file_batches: + models: + vector_store_file_batches: VectorStoreFileBatchObject + list_vector_store_files_in_batch_response: VectorStoreFilesListInBatchResponse + methods: + create: post /v1/vector_stores/{vector_store_id}/file_batches + retrieve: get /v1/vector_stores/{vector_store_id}/file_batches/{batch_id} + list_files: get /v1/vector_stores/{vector_store_id}/file_batches/{batch_id}/files + cancel: post /v1/vector_stores/{vector_store_id}/file_batches/{batch_id}/cancel + + models: + models: + model: OpenAIModel + list_models_response: OpenAIListModelsResponse + methods: + list: + endpoint: get /v1/models + paginated: false + retrieve: get /v1/models/{model_id} + register: post /v1/models + unregister: delete /v1/models/{model_id} + subresources: + openai: + methods: + list: + endpoint: get /v1/models + paginated: false + + providers: + models: + list_providers_response: ListProvidersResponse + methods: + list: + endpoint: get /v1/providers + paginated: false + retrieve: get /v1/providers/{provider_id} + + routes: + models: + list_routes_response: ListRoutesResponse + methods: + list: + endpoint: get /v1/inspect/routes + paginated: false + + + moderations: + models: + create_response: ModerationObject + methods: + create: post /v1/moderations + + + safety: + models: + run_shield_response: RunShieldResponse + methods: + run_shield: post /v1/safety/run-shield + + + shields: + models: + shield: Shield + list_shields_response: ListShieldsResponse + methods: + retrieve: get /v1/shields/{identifier} + list: + endpoint: get /v1/shields + paginated: false + register: post /v1/shields + delete: delete /v1/shields/{identifier} + + scoring: + methods: + score: post /v1/scoring/score + score_batch: post /v1/scoring/score-batch + scoring_functions: + methods: + retrieve: get /v1/scoring-functions/{scoring_fn_id} + list: + endpoint: get /v1/scoring-functions + paginated: false + register: post /v1/scoring-functions + models: + scoring_fn: ScoringFn + scoring_fn_params: ScoringFnParams + list_scoring_functions_response: ListScoringFunctionsResponse + + files: + methods: + create: post /v1/files + list: get /v1/files + retrieve: get /v1/files/{file_id} + delete: delete /v1/files/{file_id} + content: get /v1/files/{file_id}/content + models: + file: OpenAIFileObject + list_files_response: ListOpenAIFileResponse + delete_file_response: OpenAIFileDeleteResponse + + alpha: + subresources: + inference: + methods: + rerank: post /v1alpha/inference/rerank + + post_training: + models: + algorithm_config: AlgorithmConfig + post_training_job: PostTrainingJob + list_post_training_jobs_response: ListPostTrainingJobsResponse + methods: + preference_optimize: post /v1alpha/post-training/preference-optimize + supervised_fine_tune: post /v1alpha/post-training/supervised-fine-tune + subresources: + job: + methods: + artifacts: get /v1alpha/post-training/job/artifacts + cancel: post /v1alpha/post-training/job/cancel + status: get /v1alpha/post-training/job/status + list: + endpoint: get /v1alpha/post-training/jobs + paginated: false + + benchmarks: + methods: + retrieve: get /v1alpha/eval/benchmarks/{benchmark_id} + list: + endpoint: get /v1alpha/eval/benchmarks + paginated: false + register: post /v1alpha/eval/benchmarks + models: + benchmark: Benchmark + list_benchmarks_response: ListBenchmarksResponse + + eval: + methods: + evaluate_rows: post /v1alpha/eval/benchmarks/{benchmark_id}/evaluations + run_eval: post /v1alpha/eval/benchmarks/{benchmark_id}/jobs + evaluate_rows_alpha: post /v1alpha/eval/benchmarks/{benchmark_id}/evaluations + run_eval_alpha: post /v1alpha/eval/benchmarks/{benchmark_id}/jobs + + subresources: + jobs: + methods: + cancel: delete /v1alpha/eval/benchmarks/{benchmark_id}/jobs/{job_id} + status: get /v1alpha/eval/benchmarks/{benchmark_id}/jobs/{job_id} + retrieve: get /v1alpha/eval/benchmarks/{benchmark_id}/jobs/{job_id}/result + models: + evaluate_response: EvaluateResponse + benchmark_config: BenchmarkConfig + job: Job + + beta: + subresources: + datasets: + models: + list_datasets_response: ListDatasetsResponse + methods: + register: post /v1beta/datasets + retrieve: get /v1beta/datasets/{dataset_id} + list: + endpoint: get /v1beta/datasets + paginated: false + unregister: delete /v1beta/datasets/{dataset_id} + iterrows: get /v1beta/datasetio/iterrows/{dataset_id} + appendrows: post /v1beta/datasetio/append-rows/{dataset_id} + + +settings: + license: MIT + unwrap_response_fields: [ data ] + +openapi: + transformations: + - command: mergeObject + reason: Better return_type using enum + args: + target: + - '$.components.schemas' + object: + ReturnType: + additionalProperties: false + properties: + type: + enum: + - string + - number + - boolean + - array + - object + - json + - union + - chat_completion_input + - completion_input + - agent_turn_input + required: + - type + type: object + - command: replaceProperties + reason: Replace return type properties with better model (see above) + args: + filter: + only: + - '$.components.schemas.ScoringFn.properties.return_type' + - '$.components.schemas.RegisterScoringFunctionRequest.properties.return_type' + value: + $ref: '#/components/schemas/ReturnType' + - command: oneOfToAnyOf + reason: Prism (mock server) doesn't like one of our requests as it technically matches multiple variants + +# `readme` is used to configure the code snippets that will be rendered in the +# README.md of various SDKs. In particular, you can change the `headline` +# snippet's endpoint and the arguments to call it with. +readme: + example_requests: + default: + type: request + endpoint: post /v1/chat/completions + params: &ref_0 {} + headline: + type: request + endpoint: post /v1/models + params: *ref_0 + pagination: + type: request + endpoint: post /v1/chat/completions + params: {}