diff --git a/docs/_static/llama-stack-spec.html b/docs/_static/llama-stack-spec.html
index b5e4097d9..015e6abd0 100644
--- a/docs/_static/llama-stack-spec.html
+++ b/docs/_static/llama-stack-spec.html
@@ -150,9 +150,9 @@
"200": {
"description": "OK",
"content": {
- "application/json": {
+ "application/jsonl": {
"schema": {
- "$ref": "#/components/schemas/BatchChatCompletionResponse"
+ "$ref": "#/components/schemas/ChatCompletionResponse"
}
}
}
@@ -193,9 +193,9 @@
"200": {
"description": "OK",
"content": {
- "application/json": {
+ "application/jsonl": {
"schema": {
- "$ref": "#/components/schemas/BatchCompletionResponse"
+ "$ref": "#/components/schemas/CompletionResponse"
}
}
}
@@ -366,11 +366,11 @@
"get": {
"responses": {
"200": {
- "description": "A ListAgentsResponse.",
+ "description": "a list of Agents.",
"content": {
- "application/json": {
+ "application/jsonl": {
"schema": {
- "$ref": "#/components/schemas/ListAgentsResponse"
+ "$ref": "#/components/schemas/Agent"
}
}
}
@@ -562,9 +562,9 @@
"200": {
"description": "OK",
"content": {
- "application/json": {
+ "application/jsonl": {
"schema": {
- "$ref": "#/components/schemas/ListBucketResponse"
+ "$ref": "#/components/schemas/Bucket"
}
}
}
@@ -604,7 +604,7 @@
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/FileUploadResponse"
+ "$ref": "#/components/schemas/FileUpload"
}
}
}
@@ -831,7 +831,7 @@
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/FileResponse"
+ "$ref": "#/components/schemas/File"
}
}
}
@@ -881,7 +881,7 @@
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/FileResponse"
+ "$ref": "#/components/schemas/File"
}
}
}
@@ -1160,14 +1160,7 @@
"content": {
"application/json": {
"schema": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/Benchmark"
- },
- {
- "type": "null"
- }
- ]
+ "$ref": "#/components/schemas/Benchmark"
}
}
}
@@ -1209,14 +1202,7 @@
"content": {
"application/json": {
"schema": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/Dataset"
- },
- {
- "type": "null"
- }
- ]
+ "$ref": "#/components/schemas/Dataset"
}
}
}
@@ -1291,14 +1277,7 @@
"content": {
"application/json": {
"schema": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/Model"
- },
- {
- "type": "null"
- }
- ]
+ "$ref": "#/components/schemas/Model"
}
}
}
@@ -1373,14 +1352,7 @@
"content": {
"application/json": {
"schema": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/ScoringFn"
- },
- {
- "type": "null"
- }
- ]
+ "$ref": "#/components/schemas/ScoringFn"
}
}
}
@@ -1422,14 +1394,7 @@
"content": {
"application/json": {
"schema": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/Shield"
- },
- {
- "type": "null"
- }
- ]
+ "$ref": "#/components/schemas/Shield"
}
}
}
@@ -1732,14 +1697,7 @@
"content": {
"application/json": {
"schema": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/PostTrainingJobArtifactsResponse"
- },
- {
- "type": "null"
- }
- ]
+ "$ref": "#/components/schemas/PostTrainingJobArtifactsResponse"
}
}
}
@@ -1781,14 +1739,7 @@
"content": {
"application/json": {
"schema": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/PostTrainingJobStatusResponse"
- },
- {
- "type": "null"
- }
- ]
+ "$ref": "#/components/schemas/PostTrainingJobStatusResponse"
}
}
}
@@ -1828,9 +1779,9 @@
"200": {
"description": "OK",
"content": {
- "application/json": {
+ "application/jsonl": {
"schema": {
- "$ref": "#/components/schemas/ListPostTrainingJobsResponse"
+ "$ref": "#/components/schemas/PostTrainingJob"
}
}
}
@@ -1863,14 +1814,7 @@
"content": {
"application/json": {
"schema": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/FileUploadResponse"
- },
- {
- "type": "null"
- }
- ]
+ "$ref": "#/components/schemas/FileUpload"
}
}
}
@@ -1911,14 +1855,7 @@
"content": {
"application/json": {
"schema": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/FileResponse"
- },
- {
- "type": "null"
- }
- ]
+ "$ref": "#/components/schemas/File"
}
}
}
@@ -1972,14 +1909,7 @@
"content": {
"application/json": {
"schema": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/VectorDB"
- },
- {
- "type": "null"
- }
- ]
+ "$ref": "#/components/schemas/VectorDB"
}
}
}
@@ -2244,14 +2174,7 @@
"content": {
"application/json": {
"schema": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/JobStatus"
- },
- {
- "type": "null"
- }
- ]
+ "$ref": "#/components/schemas/JobStatus"
}
}
}
@@ -2394,11 +2317,11 @@
"get": {
"responses": {
"200": {
- "description": "A ListAgentSessionsResponse.",
+ "description": "A list of agent Sessions.",
"content": {
- "application/json": {
+ "application/jsonl": {
"schema": {
- "$ref": "#/components/schemas/ListAgentSessionsResponse"
+ "$ref": "#/components/schemas/Session"
}
}
}
@@ -2439,9 +2362,9 @@
"200": {
"description": "OK",
"content": {
- "application/json": {
+ "application/jsonl": {
"schema": {
- "$ref": "#/components/schemas/ListBenchmarksResponse"
+ "$ref": "#/components/schemas/Benchmark"
}
}
}
@@ -2506,9 +2429,9 @@
"200": {
"description": "OK",
"content": {
- "application/json": {
+ "application/jsonl": {
"schema": {
- "$ref": "#/components/schemas/ListDatasetsResponse"
+ "$ref": "#/components/schemas/Dataset"
}
}
}
@@ -2573,9 +2496,9 @@
"200": {
"description": "OK",
"content": {
- "application/json": {
+ "application/jsonl": {
"schema": {
- "$ref": "#/components/schemas/ListFileResponse"
+ "$ref": "#/components/schemas/File"
}
}
}
@@ -2616,9 +2539,9 @@
"200": {
"description": "OK",
"content": {
- "application/json": {
+ "application/jsonl": {
"schema": {
- "$ref": "#/components/schemas/ListModelsResponse"
+ "$ref": "#/components/schemas/Model"
}
}
}
@@ -2690,9 +2613,9 @@
"200": {
"description": "OK",
"content": {
- "application/json": {
+ "application/jsonl": {
"schema": {
- "$ref": "#/components/schemas/ListProvidersResponse"
+ "$ref": "#/components/schemas/ProviderInfo"
}
}
}
@@ -2723,9 +2646,9 @@
"200": {
"description": "OK",
"content": {
- "application/json": {
+ "application/jsonl": {
"schema": {
- "$ref": "#/components/schemas/ListRoutesResponse"
+ "$ref": "#/components/schemas/RouteInfo"
}
}
}
@@ -2806,9 +2729,9 @@
"200": {
"description": "OK",
"content": {
- "application/json": {
+ "application/jsonl": {
"schema": {
- "$ref": "#/components/schemas/ListScoringFunctionsResponse"
+ "$ref": "#/components/schemas/ScoringFn"
}
}
}
@@ -2873,9 +2796,9 @@
"200": {
"description": "OK",
"content": {
- "application/json": {
+ "application/jsonl": {
"schema": {
- "$ref": "#/components/schemas/ListShieldsResponse"
+ "$ref": "#/components/schemas/Shield"
}
}
}
@@ -2947,9 +2870,9 @@
"200": {
"description": "OK",
"content": {
- "application/json": {
+ "application/jsonl": {
"schema": {
- "$ref": "#/components/schemas/ListToolGroupsResponse"
+ "$ref": "#/components/schemas/ToolGroup"
}
}
}
@@ -3014,9 +2937,9 @@
"200": {
"description": "OK",
"content": {
- "application/json": {
+ "application/jsonl": {
"schema": {
- "$ref": "#/components/schemas/ListToolsResponse"
+ "$ref": "#/components/schemas/Tool"
}
}
}
@@ -3056,9 +2979,9 @@
"200": {
"description": "OK",
"content": {
- "application/json": {
+ "application/jsonl": {
"schema": {
- "$ref": "#/components/schemas/ListVectorDBsResponse"
+ "$ref": "#/components/schemas/VectorDB"
}
}
}
@@ -3085,14 +3008,7 @@
"post": {
"responses": {
"200": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/VectorDB"
- }
- }
- }
+ "description": "OK"
},
"400": {
"$ref": "#/components/responses/BadRequest400"
@@ -4550,22 +4466,6 @@
],
"title": "BatchChatCompletionRequest"
},
- "BatchChatCompletionResponse": {
- "type": "object",
- "properties": {
- "batch": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/ChatCompletionResponse"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "batch"
- ],
- "title": "BatchChatCompletionResponse"
- },
"ChatCompletionResponse": {
"type": "object",
"properties": {
@@ -4677,22 +4577,6 @@
],
"title": "BatchCompletionRequest"
},
- "BatchCompletionResponse": {
- "type": "object",
- "properties": {
- "batch": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/CompletionResponse"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "batch"
- ],
- "title": "BatchCompletionResponse"
- },
"CompletionResponse": {
"type": "object",
"properties": {
@@ -6154,7 +6038,7 @@
],
"title": "CreateUploadSessionRequest"
},
- "FileUploadResponse": {
+ "FileUpload": {
"type": "object",
"properties": {
"id": {
@@ -6181,10 +6065,10 @@
"offset",
"size"
],
- "title": "FileUploadResponse",
+ "title": "FileUpload",
"description": "Response after initiating a file upload session."
},
- "FileResponse": {
+ "File": {
"type": "object",
"properties": {
"bucket": {
@@ -6221,7 +6105,7 @@
"bytes",
"created_at"
],
- "title": "FileResponse",
+ "title": "File",
"description": "Response representing a file entry."
},
"EmbeddingsRequest": {
@@ -7735,31 +7619,18 @@
"title": "PostTrainingJobStatusResponse",
"description": "Status of a finetuning job."
},
- "ListPostTrainingJobsResponse": {
+ "PostTrainingJob": {
"type": "object",
"properties": {
- "data": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "job_uuid": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "job_uuid"
- ],
- "title": "PostTrainingJob"
- }
+ "job_uuid": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "data"
+ "job_uuid"
],
- "title": "ListPostTrainingJobsResponse"
+ "title": "PostTrainingJob"
},
"VectorDB": {
"type": "object",
@@ -8084,39 +7955,7 @@
],
"title": "ToolInvocationResult"
},
- "ListAgentSessionsResponse": {
- "type": "object",
- "properties": {
- "data": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Session"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "data"
- ],
- "title": "ListAgentSessionsResponse"
- },
- "ListAgentsResponse": {
- "type": "object",
- "properties": {
- "data": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Agent"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "data"
- ],
- "title": "ListAgentsResponse"
- },
- "BucketResponse": {
+ "Bucket": {
"type": "object",
"properties": {
"name": {
@@ -8127,107 +7966,7 @@
"required": [
"name"
],
- "title": "BucketResponse"
- },
- "ListBucketResponse": {
- "type": "object",
- "properties": {
- "data": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/BucketResponse"
- },
- "description": "List of FileResponse entries"
- }
- },
- "additionalProperties": false,
- "required": [
- "data"
- ],
- "title": "ListBucketResponse",
- "description": "Response representing a list of file entries."
- },
- "ListBenchmarksResponse": {
- "type": "object",
- "properties": {
- "data": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Benchmark"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "data"
- ],
- "title": "ListBenchmarksResponse"
- },
- "ListDatasetsResponse": {
- "type": "object",
- "properties": {
- "data": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Dataset"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "data"
- ],
- "title": "ListDatasetsResponse"
- },
- "ListFileResponse": {
- "type": "object",
- "properties": {
- "data": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FileResponse"
- },
- "description": "List of FileResponse entries"
- }
- },
- "additionalProperties": false,
- "required": [
- "data"
- ],
- "title": "ListFileResponse",
- "description": "Response representing a list of file entries."
- },
- "ListModelsResponse": {
- "type": "object",
- "properties": {
- "data": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Model"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "data"
- ],
- "title": "ListModelsResponse"
- },
- "ListProvidersResponse": {
- "type": "object",
- "properties": {
- "data": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/ProviderInfo"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "data"
- ],
- "title": "ListProvidersResponse"
+ "title": "Bucket"
},
"RouteInfo": {
"type": "object",
@@ -8253,102 +7992,6 @@
],
"title": "RouteInfo"
},
- "ListRoutesResponse": {
- "type": "object",
- "properties": {
- "data": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/RouteInfo"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "data"
- ],
- "title": "ListRoutesResponse"
- },
- "ListScoringFunctionsResponse": {
- "type": "object",
- "properties": {
- "data": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/ScoringFn"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "data"
- ],
- "title": "ListScoringFunctionsResponse"
- },
- "ListShieldsResponse": {
- "type": "object",
- "properties": {
- "data": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Shield"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "data"
- ],
- "title": "ListShieldsResponse"
- },
- "ListToolGroupsResponse": {
- "type": "object",
- "properties": {
- "data": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/ToolGroup"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "data"
- ],
- "title": "ListToolGroupsResponse"
- },
- "ListToolsResponse": {
- "type": "object",
- "properties": {
- "data": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Tool"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "data"
- ],
- "title": "ListToolsResponse"
- },
- "ListVectorDBsResponse": {
- "type": "object",
- "properties": {
- "data": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/VectorDB"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "data"
- ],
- "title": "ListVectorDBsResponse"
- },
"Event": {
"oneOf": [
{
@@ -8881,19 +8524,6 @@
],
"title": "PreferenceOptimizeRequest"
},
- "PostTrainingJob": {
- "type": "object",
- "properties": {
- "job_uuid": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "job_uuid"
- ],
- "title": "PostTrainingJob"
- },
"DefaultRAGQueryGeneratorConfig": {
"type": "object",
"properties": {
diff --git a/docs/_static/llama-stack-spec.yaml b/docs/_static/llama-stack-spec.yaml
index bf2343ede..3f2752344 100644
--- a/docs/_static/llama-stack-spec.yaml
+++ b/docs/_static/llama-stack-spec.yaml
@@ -90,9 +90,9 @@ paths:
'200':
description: OK
content:
- application/json:
+ application/jsonl:
schema:
- $ref: '#/components/schemas/BatchChatCompletionResponse'
+ $ref: '#/components/schemas/ChatCompletionResponse'
'400':
$ref: '#/components/responses/BadRequest400'
'429':
@@ -119,9 +119,9 @@ paths:
'200':
description: OK
content:
- application/json:
+ application/jsonl:
schema:
- $ref: '#/components/schemas/BatchCompletionResponse'
+ $ref: '#/components/schemas/CompletionResponse'
'400':
$ref: '#/components/responses/BadRequest400'
'429':
@@ -241,11 +241,11 @@ paths:
get:
responses:
'200':
- description: A ListAgentsResponse.
+ description: a list of Agents.
content:
- application/json:
+ application/jsonl:
schema:
- $ref: '#/components/schemas/ListAgentsResponse'
+ $ref: '#/components/schemas/Agent'
'400':
$ref: '#/components/responses/BadRequest400'
'429':
@@ -380,9 +380,9 @@ paths:
'200':
description: OK
content:
- application/json:
+ application/jsonl:
schema:
- $ref: '#/components/schemas/ListBucketResponse'
+ $ref: '#/components/schemas/Bucket'
'400':
$ref: '#/components/responses/BadRequest400'
'429':
@@ -409,7 +409,7 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/FileUploadResponse'
+ $ref: '#/components/schemas/FileUpload'
'400':
$ref: '#/components/responses/BadRequest400'
'429':
@@ -568,7 +568,7 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/FileResponse'
+ $ref: '#/components/schemas/File'
'400':
$ref: '#/components/responses/BadRequest400'
'429':
@@ -604,7 +604,7 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/FileResponse'
+ $ref: '#/components/schemas/File'
'400':
$ref: '#/components/responses/BadRequest400'
'429':
@@ -801,9 +801,7 @@ paths:
content:
application/json:
schema:
- oneOf:
- - $ref: '#/components/schemas/Benchmark'
- - type: 'null'
+ $ref: '#/components/schemas/Benchmark'
'400':
$ref: '#/components/responses/BadRequest400'
'429':
@@ -831,9 +829,7 @@ paths:
content:
application/json:
schema:
- oneOf:
- - $ref: '#/components/schemas/Dataset'
- - type: 'null'
+ $ref: '#/components/schemas/Dataset'
'400':
$ref: '#/components/responses/BadRequest400'
'429':
@@ -884,9 +880,7 @@ paths:
content:
application/json:
schema:
- oneOf:
- - $ref: '#/components/schemas/Model'
- - type: 'null'
+ $ref: '#/components/schemas/Model'
'400':
$ref: '#/components/responses/BadRequest400'
'429':
@@ -937,9 +931,7 @@ paths:
content:
application/json:
schema:
- oneOf:
- - $ref: '#/components/schemas/ScoringFn'
- - type: 'null'
+ $ref: '#/components/schemas/ScoringFn'
'400':
$ref: '#/components/responses/BadRequest400'
'429':
@@ -967,9 +959,7 @@ paths:
content:
application/json:
schema:
- oneOf:
- - $ref: '#/components/schemas/Shield'
- - type: 'null'
+ $ref: '#/components/schemas/Shield'
'400':
$ref: '#/components/responses/BadRequest400'
'429':
@@ -1171,9 +1161,7 @@ paths:
content:
application/json:
schema:
- oneOf:
- - $ref: '#/components/schemas/PostTrainingJobArtifactsResponse'
- - type: 'null'
+ $ref: '#/components/schemas/PostTrainingJobArtifactsResponse'
'400':
$ref: '#/components/responses/BadRequest400'
'429':
@@ -1201,9 +1189,7 @@ paths:
content:
application/json:
schema:
- oneOf:
- - $ref: '#/components/schemas/PostTrainingJobStatusResponse'
- - type: 'null'
+ $ref: '#/components/schemas/PostTrainingJobStatusResponse'
'400':
$ref: '#/components/responses/BadRequest400'
'429':
@@ -1229,9 +1215,9 @@ paths:
'200':
description: OK
content:
- application/json:
+ application/jsonl:
schema:
- $ref: '#/components/schemas/ListPostTrainingJobsResponse'
+ $ref: '#/components/schemas/PostTrainingJob'
'400':
$ref: '#/components/responses/BadRequest400'
'429':
@@ -1254,9 +1240,7 @@ paths:
content:
application/json:
schema:
- oneOf:
- - $ref: '#/components/schemas/FileUploadResponse'
- - type: 'null'
+ $ref: '#/components/schemas/FileUpload'
'400':
$ref: '#/components/responses/BadRequest400'
'429':
@@ -1285,9 +1269,7 @@ paths:
content:
application/json:
schema:
- oneOf:
- - $ref: '#/components/schemas/FileResponse'
- - type: 'null'
+ $ref: '#/components/schemas/File'
'400':
$ref: '#/components/responses/BadRequest400'
'429':
@@ -1325,9 +1307,7 @@ paths:
content:
application/json:
schema:
- oneOf:
- - $ref: '#/components/schemas/VectorDB'
- - type: 'null'
+ $ref: '#/components/schemas/VectorDB'
'400':
$ref: '#/components/responses/BadRequest400'
'429':
@@ -1509,9 +1489,7 @@ paths:
content:
application/json:
schema:
- oneOf:
- - $ref: '#/components/schemas/JobStatus'
- - type: 'null'
+ $ref: '#/components/schemas/JobStatus'
'400':
$ref: '#/components/responses/BadRequest400'
'429':
@@ -1610,11 +1588,11 @@ paths:
get:
responses:
'200':
- description: A ListAgentSessionsResponse.
+ description: A list of agent Sessions.
content:
- application/json:
+ application/jsonl:
schema:
- $ref: '#/components/schemas/ListAgentSessionsResponse'
+ $ref: '#/components/schemas/Session'
'400':
$ref: '#/components/responses/BadRequest400'
'429':
@@ -1642,9 +1620,9 @@ paths:
'200':
description: OK
content:
- application/json:
+ application/jsonl:
schema:
- $ref: '#/components/schemas/ListBenchmarksResponse'
+ $ref: '#/components/schemas/Benchmark'
'400':
$ref: '#/components/responses/BadRequest400'
'429':
@@ -1689,9 +1667,9 @@ paths:
'200':
description: OK
content:
- application/json:
+ application/jsonl:
schema:
- $ref: '#/components/schemas/ListDatasetsResponse'
+ $ref: '#/components/schemas/Dataset'
'400':
$ref: '#/components/responses/BadRequest400'
'429':
@@ -1736,9 +1714,9 @@ paths:
'200':
description: OK
content:
- application/json:
+ application/jsonl:
schema:
- $ref: '#/components/schemas/ListFileResponse'
+ $ref: '#/components/schemas/File'
'400':
$ref: '#/components/responses/BadRequest400'
'429':
@@ -1765,9 +1743,9 @@ paths:
'200':
description: OK
content:
- application/json:
+ application/jsonl:
schema:
- $ref: '#/components/schemas/ListModelsResponse'
+ $ref: '#/components/schemas/Model'
'400':
$ref: '#/components/responses/BadRequest400'
'429':
@@ -1816,9 +1794,9 @@ paths:
'200':
description: OK
content:
- application/json:
+ application/jsonl:
schema:
- $ref: '#/components/schemas/ListProvidersResponse'
+ $ref: '#/components/schemas/ProviderInfo'
'400':
$ref: '#/components/responses/BadRequest400'
'429':
@@ -1839,9 +1817,9 @@ paths:
'200':
description: OK
content:
- application/json:
+ application/jsonl:
schema:
- $ref: '#/components/schemas/ListRoutesResponse'
+ $ref: '#/components/schemas/RouteInfo'
'400':
$ref: '#/components/responses/BadRequest400'
'429':
@@ -1895,9 +1873,9 @@ paths:
'200':
description: OK
content:
- application/json:
+ application/jsonl:
schema:
- $ref: '#/components/schemas/ListScoringFunctionsResponse'
+ $ref: '#/components/schemas/ScoringFn'
'400':
$ref: '#/components/responses/BadRequest400'
'429':
@@ -1942,9 +1920,9 @@ paths:
'200':
description: OK
content:
- application/json:
+ application/jsonl:
schema:
- $ref: '#/components/schemas/ListShieldsResponse'
+ $ref: '#/components/schemas/Shield'
'400':
$ref: '#/components/responses/BadRequest400'
'429':
@@ -1993,9 +1971,9 @@ paths:
'200':
description: OK
content:
- application/json:
+ application/jsonl:
schema:
- $ref: '#/components/schemas/ListToolGroupsResponse'
+ $ref: '#/components/schemas/ToolGroup'
'400':
$ref: '#/components/responses/BadRequest400'
'429':
@@ -2040,9 +2018,9 @@ paths:
'200':
description: OK
content:
- application/json:
+ application/jsonl:
schema:
- $ref: '#/components/schemas/ListToolsResponse'
+ $ref: '#/components/schemas/Tool'
'400':
$ref: '#/components/responses/BadRequest400'
'429':
@@ -2068,9 +2046,9 @@ paths:
'200':
description: OK
content:
- application/json:
+ application/jsonl:
schema:
- $ref: '#/components/schemas/ListVectorDBsResponse'
+ $ref: '#/components/schemas/VectorDB'
'400':
$ref: '#/components/responses/BadRequest400'
'429':
@@ -2089,10 +2067,6 @@ paths:
responses:
'200':
description: OK
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/VectorDB'
'400':
$ref: '#/components/responses/BadRequest400'
'429':
@@ -3100,17 +3074,6 @@ components:
- model
- messages_batch
title: BatchChatCompletionRequest
- BatchChatCompletionResponse:
- type: object
- properties:
- batch:
- type: array
- items:
- $ref: '#/components/schemas/ChatCompletionResponse'
- additionalProperties: false
- required:
- - batch
- title: BatchChatCompletionResponse
ChatCompletionResponse:
type: object
properties:
@@ -3190,17 +3153,6 @@ components:
- model
- content_batch
title: BatchCompletionRequest
- BatchCompletionResponse:
- type: object
- properties:
- batch:
- type: array
- items:
- $ref: '#/components/schemas/CompletionResponse'
- additionalProperties: false
- required:
- - batch
- title: BatchCompletionResponse
CompletionResponse:
type: object
properties:
@@ -4260,7 +4212,7 @@ components:
- mime_type
- size
title: CreateUploadSessionRequest
- FileUploadResponse:
+ FileUpload:
type: object
properties:
id:
@@ -4281,10 +4233,10 @@ components:
- url
- offset
- size
- title: FileUploadResponse
+ title: FileUpload
description: >-
Response after initiating a file upload session.
- FileResponse:
+ File:
type: object
properties:
bucket:
@@ -4315,7 +4267,7 @@ components:
- url
- bytes
- created_at
- title: FileResponse
+ title: File
description: Response representing a file entry.
EmbeddingsRequest:
type: object
@@ -5302,24 +5254,15 @@ components:
- checkpoints
title: PostTrainingJobStatusResponse
description: Status of a finetuning job.
- ListPostTrainingJobsResponse:
+ PostTrainingJob:
type: object
properties:
- data:
- type: array
- items:
- type: object
- properties:
- job_uuid:
- type: string
- additionalProperties: false
- required:
- - job_uuid
- title: PostTrainingJob
+ job_uuid:
+ type: string
additionalProperties: false
required:
- - data
- title: ListPostTrainingJobsResponse
+ - job_uuid
+ title: PostTrainingJob
VectorDB:
type: object
properties:
@@ -5506,29 +5449,7 @@ components:
required:
- content
title: ToolInvocationResult
- ListAgentSessionsResponse:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/Session'
- additionalProperties: false
- required:
- - data
- title: ListAgentSessionsResponse
- ListAgentsResponse:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/Agent'
- additionalProperties: false
- required:
- - data
- title: ListAgentsResponse
- BucketResponse:
+ Bucket:
type: object
properties:
name:
@@ -5536,79 +5457,7 @@ components:
additionalProperties: false
required:
- name
- title: BucketResponse
- ListBucketResponse:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/BucketResponse'
- description: List of FileResponse entries
- additionalProperties: false
- required:
- - data
- title: ListBucketResponse
- description: >-
- Response representing a list of file entries.
- ListBenchmarksResponse:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/Benchmark'
- additionalProperties: false
- required:
- - data
- title: ListBenchmarksResponse
- ListDatasetsResponse:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/Dataset'
- additionalProperties: false
- required:
- - data
- title: ListDatasetsResponse
- ListFileResponse:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/FileResponse'
- description: List of FileResponse entries
- additionalProperties: false
- required:
- - data
- title: ListFileResponse
- description: >-
- Response representing a list of file entries.
- ListModelsResponse:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/Model'
- additionalProperties: false
- required:
- - data
- title: ListModelsResponse
- ListProvidersResponse:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/ProviderInfo'
- additionalProperties: false
- required:
- - data
- title: ListProvidersResponse
+ title: Bucket
RouteInfo:
type: object
properties:
@@ -5626,72 +5475,6 @@ components:
- method
- provider_types
title: RouteInfo
- ListRoutesResponse:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/RouteInfo'
- additionalProperties: false
- required:
- - data
- title: ListRoutesResponse
- ListScoringFunctionsResponse:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/ScoringFn'
- additionalProperties: false
- required:
- - data
- title: ListScoringFunctionsResponse
- ListShieldsResponse:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/Shield'
- additionalProperties: false
- required:
- - data
- title: ListShieldsResponse
- ListToolGroupsResponse:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/ToolGroup'
- additionalProperties: false
- required:
- - data
- title: ListToolGroupsResponse
- ListToolsResponse:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/Tool'
- additionalProperties: false
- required:
- - data
- title: ListToolsResponse
- ListVectorDBsResponse:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/VectorDB'
- additionalProperties: false
- required:
- - data
- title: ListVectorDBsResponse
Event:
oneOf:
- $ref: '#/components/schemas/UnstructuredLogEvent'
@@ -6035,15 +5818,6 @@ components:
- hyperparam_search_config
- logger_config
title: PreferenceOptimizeRequest
- PostTrainingJob:
- type: object
- properties:
- job_uuid:
- type: string
- additionalProperties: false
- required:
- - job_uuid
- title: PostTrainingJob
DefaultRAGQueryGeneratorConfig:
type: object
properties:
diff --git a/llama_stack/apis/agents/agents.py b/llama_stack/apis/agents/agents.py
index 5cc910a55..1870b88b5 100644
--- a/llama_stack/apis/agents/agents.py
+++ b/llama_stack/apis/agents/agents.py
@@ -241,16 +241,6 @@ class Agent(BaseModel):
created_at: datetime
-@json_schema_type
-class ListAgentsResponse(BaseModel):
- data: List[Agent]
-
-
-@json_schema_type
-class ListAgentSessionsResponse(BaseModel):
- data: List[Session]
-
-
class AgentConfigOverridablePerTurn(AgentConfigCommon):
instructions: Optional[str] = None
@@ -559,10 +549,10 @@ class Agents(Protocol):
...
@webmethod(route="/agents", method="GET")
- async def list_agents(self) -> ListAgentsResponse:
+ async def list_agents(self) -> list[Agent]:
"""List all agents.
- :returns: A ListAgentsResponse.
+ :returns: a list of Agents.
"""
...
@@ -579,10 +569,10 @@ class Agents(Protocol):
async def list_agent_sessions(
self,
agent_id: str,
- ) -> ListAgentSessionsResponse:
+ ) -> list[Session]:
"""List all session(s) of a given agent.
:param agent_id: The ID of the agent to list sessions for.
- :returns: A ListAgentSessionsResponse.
+ :returns: A list of agent Sessions.
"""
...
diff --git a/llama_stack/apis/batch_inference/batch_inference.py b/llama_stack/apis/batch_inference/batch_inference.py
index 330a683ba..f03d641ba 100644
--- a/llama_stack/apis/batch_inference/batch_inference.py
+++ b/llama_stack/apis/batch_inference/batch_inference.py
@@ -6,8 +6,6 @@
from typing import List, Optional, Protocol, runtime_checkable
-from pydantic import BaseModel
-
from llama_stack.apis.inference import (
ChatCompletionResponse,
CompletionResponse,
@@ -20,17 +18,7 @@ from llama_stack.apis.inference import (
ToolDefinition,
ToolPromptFormat,
)
-from llama_stack.schema_utils import json_schema_type, webmethod
-
-
-@json_schema_type
-class BatchCompletionResponse(BaseModel):
- batch: List[CompletionResponse]
-
-
-@json_schema_type
-class BatchChatCompletionResponse(BaseModel):
- batch: List[ChatCompletionResponse]
+from llama_stack.schema_utils import webmethod
@runtime_checkable
@@ -43,7 +31,7 @@ class BatchInference(Protocol):
sampling_params: Optional[SamplingParams] = None,
response_format: Optional[ResponseFormat] = None,
logprobs: Optional[LogProbConfig] = None,
- ) -> BatchCompletionResponse: ...
+ ) -> list[CompletionResponse]: ...
@webmethod(route="/batch-inference/chat-completion", method="POST")
async def batch_chat_completion(
@@ -57,4 +45,4 @@ class BatchInference(Protocol):
tool_prompt_format: Optional[ToolPromptFormat] = None,
response_format: Optional[ResponseFormat] = None,
logprobs: Optional[LogProbConfig] = None,
- ) -> BatchChatCompletionResponse: ...
+ ) -> list[ChatCompletionResponse]: ...
diff --git a/llama_stack/apis/benchmarks/benchmarks.py b/llama_stack/apis/benchmarks/benchmarks.py
index 39ba355e9..5faab9656 100644
--- a/llama_stack/apis/benchmarks/benchmarks.py
+++ b/llama_stack/apis/benchmarks/benchmarks.py
@@ -39,20 +39,16 @@ class BenchmarkInput(CommonBenchmarkFields, BaseModel):
provider_benchmark_id: Optional[str] = None
-class ListBenchmarksResponse(BaseModel):
- data: List[Benchmark]
-
-
@runtime_checkable
class Benchmarks(Protocol):
@webmethod(route="/eval/benchmarks", method="GET")
- async def list_benchmarks(self) -> ListBenchmarksResponse: ...
+ async def list_benchmarks(self) -> list[Benchmark]: ...
@webmethod(route="/eval/benchmarks/{benchmark_id}", method="GET")
async def get_benchmark(
self,
benchmark_id: str,
- ) -> Optional[Benchmark]: ...
+ ) -> Benchmark: ...
@webmethod(route="/eval/benchmarks", method="POST")
async def register_benchmark(
diff --git a/llama_stack/apis/datasets/datasets.py b/llama_stack/apis/datasets/datasets.py
index fe9d30e2a..794daf9a7 100644
--- a/llama_stack/apis/datasets/datasets.py
+++ b/llama_stack/apis/datasets/datasets.py
@@ -4,7 +4,7 @@
# This source code is licensed under the terms described in the LICENSE file in
# the root directory of this source tree.
-from typing import Any, Dict, List, Literal, Optional, Protocol
+from typing import Any, Dict, Literal, Optional, Protocol
from pydantic import BaseModel, Field
@@ -42,10 +42,6 @@ class DatasetInput(CommonDatasetFields, BaseModel):
provider_dataset_id: Optional[str] = None
-class ListDatasetsResponse(BaseModel):
- data: List[Dataset]
-
-
class Datasets(Protocol):
@webmethod(route="/datasets", method="POST")
async def register_dataset(
@@ -62,10 +58,10 @@ class Datasets(Protocol):
async def get_dataset(
self,
dataset_id: str,
- ) -> Optional[Dataset]: ...
+ ) -> Dataset: ...
@webmethod(route="/datasets", method="GET")
- async def list_datasets(self) -> ListDatasetsResponse: ...
+ async def list_datasets(self) -> list[Dataset]: ...
@webmethod(route="/datasets/{dataset_id:path}", method="DELETE")
async def unregister_dataset(
diff --git a/llama_stack/apis/eval/eval.py b/llama_stack/apis/eval/eval.py
index dec018d83..51c38b16a 100644
--- a/llama_stack/apis/eval/eval.py
+++ b/llama_stack/apis/eval/eval.py
@@ -117,7 +117,7 @@ class Eval(Protocol):
"""
@webmethod(route="/eval/benchmarks/{benchmark_id}/jobs/{job_id}", method="GET")
- async def job_status(self, benchmark_id: str, job_id: str) -> Optional[JobStatus]:
+ async def job_status(self, benchmark_id: str, job_id: str) -> JobStatus:
"""Get the status of a job.
:param benchmark_id: The ID of the benchmark to run the evaluation on.
diff --git a/llama_stack/apis/files/files.py b/llama_stack/apis/files/files.py
index f17fadc8c..21530f9f8 100644
--- a/llama_stack/apis/files/files.py
+++ b/llama_stack/apis/files/files.py
@@ -4,7 +4,7 @@
# This source code is licensed under the terms described in the LICENSE file in
# the root directory of this source tree.
-from typing import List, Optional, Protocol, runtime_checkable
+from typing import Protocol, runtime_checkable
from pydantic import BaseModel
@@ -13,7 +13,7 @@ from llama_stack.schema_utils import json_schema_type, webmethod
@json_schema_type
-class FileUploadResponse(BaseModel):
+class FileUpload(BaseModel):
"""
Response after initiating a file upload session.
@@ -30,23 +30,12 @@ class FileUploadResponse(BaseModel):
@json_schema_type
-class BucketResponse(BaseModel):
+class Bucket(BaseModel):
name: str
@json_schema_type
-class ListBucketResponse(BaseModel):
- """
- Response representing a list of file entries.
-
- :param data: List of FileResponse entries
- """
-
- data: List[BucketResponse]
-
-
-@json_schema_type
-class FileResponse(BaseModel):
+class File(BaseModel):
"""
Response representing a file entry.
@@ -66,17 +55,6 @@ class FileResponse(BaseModel):
created_at: int
-@json_schema_type
-class ListFileResponse(BaseModel):
- """
- Response representing a list of file entries.
-
- :param data: List of FileResponse entries
- """
-
- data: List[FileResponse]
-
-
@runtime_checkable
@trace_protocol
class Files(Protocol):
@@ -87,7 +65,7 @@ class Files(Protocol):
key: str,
mime_type: str,
size: int,
- ) -> FileUploadResponse:
+ ) -> FileUpload:
"""
Create a new upload session for a file identified by a bucket and key.
@@ -102,7 +80,7 @@ class Files(Protocol):
async def upload_content_to_session(
self,
upload_id: str,
- ) -> Optional[FileResponse]:
+ ) -> File:
"""
Upload file content to an existing upload session.
On the server, request body will have the raw bytes that are uploaded.
@@ -115,7 +93,7 @@ class Files(Protocol):
async def get_upload_session_info(
self,
upload_id: str,
- ) -> Optional[FileUploadResponse]:
+ ) -> FileUpload:
"""
Returns information about an existsing upload session
@@ -127,7 +105,7 @@ class Files(Protocol):
async def list_all_buckets(
self,
bucket: str,
- ) -> ListBucketResponse:
+ ) -> list[Bucket]:
"""
List all buckets.
"""
@@ -137,7 +115,7 @@ class Files(Protocol):
async def list_files_in_bucket(
self,
bucket: str,
- ) -> ListFileResponse:
+ ) -> list[File]:
"""
List all files in a bucket.
@@ -150,7 +128,7 @@ class Files(Protocol):
self,
bucket: str,
key: str,
- ) -> FileResponse:
+ ) -> File:
"""
Get a file info identified by a bucket and key.
@@ -164,7 +142,7 @@ class Files(Protocol):
self,
bucket: str,
key: str,
- ) -> FileResponse:
+ ) -> File:
"""
Delete a file identified by a bucket and key.
diff --git a/llama_stack/apis/inspect/inspect.py b/llama_stack/apis/inspect/inspect.py
index 25937bb61..ff24d05ba 100644
--- a/llama_stack/apis/inspect/inspect.py
+++ b/llama_stack/apis/inspect/inspect.py
@@ -31,26 +31,18 @@ class ProviderInfo(BaseModel):
provider_type: str
-class ListProvidersResponse(BaseModel):
- data: List[ProviderInfo]
-
-
@json_schema_type
class VersionInfo(BaseModel):
version: str
-class ListRoutesResponse(BaseModel):
- data: List[RouteInfo]
-
-
@runtime_checkable
class Inspect(Protocol):
@webmethod(route="/inspect/providers", method="GET")
- async def list_providers(self) -> ListProvidersResponse: ...
+ async def list_providers(self) -> list[ProviderInfo]: ...
@webmethod(route="/inspect/routes", method="GET")
- async def list_routes(self) -> ListRoutesResponse: ...
+ async def list_routes(self) -> list[RouteInfo]: ...
@webmethod(route="/health", method="GET")
async def health(self) -> HealthInfo: ...
diff --git a/llama_stack/apis/models/models.py b/llama_stack/apis/models/models.py
index 64b9510ea..a07a34cce 100644
--- a/llama_stack/apis/models/models.py
+++ b/llama_stack/apis/models/models.py
@@ -5,7 +5,7 @@
# the root directory of this source tree.
from enum import Enum
-from typing import Any, Dict, List, Literal, Optional, Protocol, runtime_checkable
+from typing import Any, Dict, Literal, Optional, Protocol, runtime_checkable
from pydantic import BaseModel, ConfigDict, Field
@@ -52,21 +52,17 @@ class ModelInput(CommonModelFields):
model_config = ConfigDict(protected_namespaces=())
-class ListModelsResponse(BaseModel):
- data: List[Model]
-
-
@runtime_checkable
@trace_protocol
class Models(Protocol):
@webmethod(route="/models", method="GET")
- async def list_models(self) -> ListModelsResponse: ...
+ async def list_models(self) -> list[Model]: ...
@webmethod(route="/models/{model_id:path}", method="GET")
async def get_model(
self,
model_id: str,
- ) -> Optional[Model]: ...
+ ) -> Model: ...
@webmethod(route="/models", method="POST")
async def register_model(
diff --git a/llama_stack/apis/post_training/post_training.py b/llama_stack/apis/post_training/post_training.py
index ed15c6de4..bb4b479b6 100644
--- a/llama_stack/apis/post_training/post_training.py
+++ b/llama_stack/apis/post_training/post_training.py
@@ -157,10 +157,6 @@ class PostTrainingJobStatusResponse(BaseModel):
checkpoints: List[Checkpoint] = Field(default_factory=list)
-class ListPostTrainingJobsResponse(BaseModel):
- data: List[PostTrainingJob]
-
-
@json_schema_type
class PostTrainingJobArtifactsResponse(BaseModel):
"""Artifacts of a finetuning job."""
@@ -199,13 +195,13 @@ class PostTraining(Protocol):
) -> PostTrainingJob: ...
@webmethod(route="/post-training/jobs", method="GET")
- async def get_training_jobs(self) -> ListPostTrainingJobsResponse: ...
+ async def get_training_jobs(self) -> list[PostTrainingJob]: ...
@webmethod(route="/post-training/job/status", method="GET")
- async def get_training_job_status(self, job_uuid: str) -> Optional[PostTrainingJobStatusResponse]: ...
+ async def get_training_job_status(self, job_uuid: str) -> PostTrainingJobStatusResponse: ...
@webmethod(route="/post-training/job/cancel", method="POST")
async def cancel_training_job(self, job_uuid: str) -> None: ...
@webmethod(route="/post-training/job/artifacts", method="GET")
- async def get_training_job_artifacts(self, job_uuid: str) -> Optional[PostTrainingJobArtifactsResponse]: ...
+ async def get_training_job_artifacts(self, job_uuid: str) -> PostTrainingJobArtifactsResponse: ...
diff --git a/llama_stack/apis/providers/providers.py b/llama_stack/apis/providers/providers.py
index 83d03d7c1..721836d34 100644
--- a/llama_stack/apis/providers/providers.py
+++ b/llama_stack/apis/providers/providers.py
@@ -4,7 +4,7 @@
# This source code is licensed under the terms described in the LICENSE file in
# the root directory of this source tree.
-from typing import Any, Dict, List, Protocol, runtime_checkable
+from typing import Any, Dict, Protocol, runtime_checkable
from pydantic import BaseModel
@@ -19,10 +19,6 @@ class ProviderInfo(BaseModel):
config: Dict[str, Any]
-class ListProvidersResponse(BaseModel):
- data: List[ProviderInfo]
-
-
@runtime_checkable
class Providers(Protocol):
"""
@@ -30,7 +26,7 @@ class Providers(Protocol):
"""
@webmethod(route="/providers", method="GET")
- async def list_providers(self) -> ListProvidersResponse: ...
+ async def list_providers(self) -> list[ProviderInfo]: ...
@webmethod(route="/providers/{provider_id}", method="GET")
async def inspect_provider(self, provider_id: str) -> ProviderInfo: ...
diff --git a/llama_stack/apis/scoring_functions/scoring_functions.py b/llama_stack/apis/scoring_functions/scoring_functions.py
index 52508d2ec..90b6be5ab 100644
--- a/llama_stack/apis/scoring_functions/scoring_functions.py
+++ b/llama_stack/apis/scoring_functions/scoring_functions.py
@@ -125,17 +125,13 @@ class ScoringFnInput(CommonScoringFnFields, BaseModel):
provider_scoring_fn_id: Optional[str] = None
-class ListScoringFunctionsResponse(BaseModel):
- data: List[ScoringFn]
-
-
@runtime_checkable
class ScoringFunctions(Protocol):
@webmethod(route="/scoring-functions", method="GET")
- async def list_scoring_functions(self) -> ListScoringFunctionsResponse: ...
+ async def list_scoring_functions(self) -> list[ScoringFn]: ...
@webmethod(route="/scoring-functions/{scoring_fn_id:path}", method="GET")
- async def get_scoring_function(self, scoring_fn_id: str, /) -> Optional[ScoringFn]: ...
+ async def get_scoring_function(self, scoring_fn_id: str, /) -> ScoringFn: ...
@webmethod(route="/scoring-functions", method="POST")
async def register_scoring_function(
diff --git a/llama_stack/apis/shields/shields.py b/llama_stack/apis/shields/shields.py
index ec1179ac4..2bee11535 100644
--- a/llama_stack/apis/shields/shields.py
+++ b/llama_stack/apis/shields/shields.py
@@ -4,7 +4,7 @@
# This source code is licensed under the terms described in the LICENSE file in
# the root directory of this source tree.
-from typing import Any, Dict, List, Literal, Optional, Protocol, runtime_checkable
+from typing import Any, Dict, Literal, Optional, Protocol, runtime_checkable
from pydantic import BaseModel
@@ -38,18 +38,14 @@ class ShieldInput(CommonShieldFields):
provider_shield_id: Optional[str] = None
-class ListShieldsResponse(BaseModel):
- data: List[Shield]
-
-
@runtime_checkable
@trace_protocol
class Shields(Protocol):
@webmethod(route="/shields", method="GET")
- async def list_shields(self) -> ListShieldsResponse: ...
+ async def list_shields(self) -> list[Shield]: ...
@webmethod(route="/shields/{identifier:path}", method="GET")
- async def get_shield(self, identifier: str) -> Optional[Shield]: ...
+ async def get_shield(self, identifier: str) -> Shield: ...
@webmethod(route="/shields", method="POST")
async def register_shield(
diff --git a/llama_stack/apis/telemetry/telemetry.py b/llama_stack/apis/telemetry/telemetry.py
index cbea57e79..e741f6e9e 100644
--- a/llama_stack/apis/telemetry/telemetry.py
+++ b/llama_stack/apis/telemetry/telemetry.py
@@ -103,6 +103,7 @@ class MetricInResponse(BaseModel):
unit: Optional[str] = None
+# TODO: check what this comment is about
# This is a short term solution to allow inference API to return metrics
# The ideal way to do this is to have a way for all response types to include metrics
# and all metric events logged to the telemetry API to be inlcuded with the response
diff --git a/llama_stack/apis/tools/tools.py b/llama_stack/apis/tools/tools.py
index a4d84edbe..564b2c5df 100644
--- a/llama_stack/apis/tools/tools.py
+++ b/llama_stack/apis/tools/tools.py
@@ -80,14 +80,6 @@ class ToolStore(Protocol):
def get_tool_group(self, toolgroup_id: str) -> ToolGroup: ...
-class ListToolGroupsResponse(BaseModel):
- data: List[ToolGroup]
-
-
-class ListToolsResponse(BaseModel):
- data: List[Tool]
-
-
@runtime_checkable
@trace_protocol
class ToolGroups(Protocol):
@@ -109,12 +101,12 @@ class ToolGroups(Protocol):
) -> ToolGroup: ...
@webmethod(route="/toolgroups", method="GET")
- async def list_tool_groups(self) -> ListToolGroupsResponse:
+ async def list_tool_groups(self) -> list[ToolGroup]:
"""List tool groups with optional provider"""
...
@webmethod(route="/tools", method="GET")
- async def list_tools(self, toolgroup_id: Optional[str] = None) -> ListToolsResponse:
+ async def list_tools(self, toolgroup_id: Optional[str] = None) -> list[Tool]:
"""List tools with optional tool group"""
...
@@ -148,7 +140,7 @@ class ToolRuntime(Protocol):
@webmethod(route="/tool-runtime/list-tools", method="GET")
async def list_runtime_tools(
self, tool_group_id: Optional[str] = None, mcp_endpoint: Optional[URL] = None
- ) -> List[ToolDef]: ...
+ ) -> list[ToolDef]: ...
@webmethod(route="/tool-runtime/invoke", method="POST")
async def invoke_tool(self, tool_name: str, kwargs: Dict[str, Any]) -> ToolInvocationResult:
diff --git a/llama_stack/apis/vector_dbs/vector_dbs.py b/llama_stack/apis/vector_dbs/vector_dbs.py
index 9a4aa322f..87bf71f11 100644
--- a/llama_stack/apis/vector_dbs/vector_dbs.py
+++ b/llama_stack/apis/vector_dbs/vector_dbs.py
@@ -4,7 +4,7 @@
# This source code is licensed under the terms described in the LICENSE file in
# the root directory of this source tree.
-from typing import List, Literal, Optional, Protocol, runtime_checkable
+from typing import Literal, Optional, Protocol, runtime_checkable
from pydantic import BaseModel
@@ -36,21 +36,17 @@ class VectorDBInput(BaseModel):
provider_vector_db_id: Optional[str] = None
-class ListVectorDBsResponse(BaseModel):
- data: List[VectorDB]
-
-
@runtime_checkable
@trace_protocol
class VectorDBs(Protocol):
@webmethod(route="/vector-dbs", method="GET")
- async def list_vector_dbs(self) -> ListVectorDBsResponse: ...
+ async def list_vector_dbs(self) -> list[VectorDB]: ...
@webmethod(route="/vector-dbs/{vector_db_id:path}", method="GET")
async def get_vector_db(
self,
vector_db_id: str,
- ) -> Optional[VectorDB]: ...
+ ) -> VectorDB: ...
@webmethod(route="/vector-dbs", method="POST")
async def register_vector_db(
@@ -60,7 +56,7 @@ class VectorDBs(Protocol):
embedding_dimension: Optional[int] = 384,
provider_id: Optional[str] = None,
provider_vector_db_id: Optional[str] = None,
- ) -> VectorDB: ...
+ ) -> None: ...
@webmethod(route="/vector-dbs/{vector_db_id:path}", method="DELETE")
async def unregister_vector_db(self, vector_db_id: str) -> None: ...
diff --git a/llama_stack/apis/vector_io/vector_io.py b/llama_stack/apis/vector_io/vector_io.py
index 2bbb3bce8..3a414285e 100644
--- a/llama_stack/apis/vector_io/vector_io.py
+++ b/llama_stack/apis/vector_io/vector_io.py
@@ -30,7 +30,7 @@ class QueryChunksResponse(BaseModel):
class VectorDBStore(Protocol):
- def get_vector_db(self, vector_db_id: str) -> Optional[VectorDB]: ...
+ def get_vector_db(self, vector_db_id: str) -> VectorDB: ...
@runtime_checkable
diff --git a/llama_stack/distribution/inspect.py b/llama_stack/distribution/inspect.py
index fddb62570..3dd3ef026 100644
--- a/llama_stack/distribution/inspect.py
+++ b/llama_stack/distribution/inspect.py
@@ -11,8 +11,6 @@ from pydantic import BaseModel
from llama_stack.apis.inspect import (
HealthInfo,
Inspect,
- ListProvidersResponse,
- ListRoutesResponse,
ProviderInfo,
RouteInfo,
VersionInfo,
@@ -39,43 +37,27 @@ class DistributionInspectImpl(Inspect):
async def initialize(self) -> None:
pass
- async def list_providers(self) -> ListProvidersResponse:
- run_config = self.config.run_config
-
- ret = []
- for api, providers in run_config.providers.items():
- ret.extend(
- [
- ProviderInfo(
- api=api,
- provider_id=p.provider_id,
- provider_type=p.provider_type,
- )
- for p in providers
- ]
+ async def list_providers(self) -> list[ProviderInfo]:
+ return [
+ ProviderInfo(
+ api=api,
+ provider_id=p.provider_id,
+ provider_type=p.provider_type,
)
+ for api, providers in self.config.run_config.providers.items()
+ for p in providers
+ ]
- return ListProvidersResponse(data=ret)
-
- async def list_routes(self) -> ListRoutesResponse:
- run_config = self.config.run_config
-
- ret = []
- all_endpoints = get_all_api_endpoints()
- for api, endpoints in all_endpoints.items():
- providers = run_config.providers.get(api.value, [])
- ret.extend(
- [
- RouteInfo(
- route=e.route,
- method=e.method,
- provider_types=[p.provider_type for p in providers],
- )
- for e in endpoints
- ]
+ async def list_routes(self) -> list[RouteInfo]:
+ return [
+ RouteInfo(
+ route=e.route,
+ method=e.method,
+ provider_types=[p.provider_type for p in self.config.run_config.providers.get(api.value, [])],
)
-
- return ListRoutesResponse(data=ret)
+ for api, endpoints in get_all_api_endpoints().items()
+ for e in endpoints
+ ]
async def health(self) -> HealthInfo:
return HealthInfo(status="OK")
diff --git a/llama_stack/distribution/providers.py b/llama_stack/distribution/providers.py
index fb2476767..9ef8c2f4f 100644
--- a/llama_stack/distribution/providers.py
+++ b/llama_stack/distribution/providers.py
@@ -7,7 +7,7 @@
from pydantic import BaseModel
-from llama_stack.apis.providers import ListProvidersResponse, ProviderInfo, Providers
+from llama_stack.apis.providers import ProviderInfo, Providers
from .datatypes import StackRunConfig
from .stack import redact_sensitive_fields
@@ -31,28 +31,23 @@ class ProviderImpl(Providers):
async def initialize(self) -> None:
pass
- async def list_providers(self) -> ListProvidersResponse:
+ async def list_providers(self) -> list[ProviderInfo]:
run_config = self.config.run_config
safe_config = StackRunConfig(**redact_sensitive_fields(run_config.model_dump()))
- ret = []
- for api, providers in safe_config.providers.items():
- ret.extend(
- [
- ProviderInfo(
- api=api,
- provider_id=p.provider_id,
- provider_type=p.provider_type,
- config=p.config,
- )
- for p in providers
- ]
+ return [
+ ProviderInfo(
+ api=api,
+ provider_id=p.provider_id,
+ provider_type=p.provider_type,
+ config=p.config,
)
-
- return ListProvidersResponse(data=ret)
+ for api, providers in safe_config.providers.items()
+ for p in providers
+ ]
async def inspect_provider(self, provider_id: str) -> ProviderInfo:
all_providers = await self.list_providers()
- for p in all_providers.data:
+ for p in all_providers:
if p.provider_id == provider_id:
return p
diff --git a/llama_stack/distribution/routers/routing_tables.py b/llama_stack/distribution/routers/routing_tables.py
index 1be43ec8b..81b635f6c 100644
--- a/llama_stack/distribution/routers/routing_tables.py
+++ b/llama_stack/distribution/routers/routing_tables.py
@@ -9,28 +9,25 @@ from typing import Any, Dict, List, Optional
from pydantic import TypeAdapter
-from llama_stack.apis.benchmarks import Benchmark, Benchmarks, ListBenchmarksResponse
+from llama_stack.apis.benchmarks import Benchmark, Benchmarks
from llama_stack.apis.common.content_types import URL
from llama_stack.apis.common.type_system import ParamType
-from llama_stack.apis.datasets import Dataset, Datasets, ListDatasetsResponse
-from llama_stack.apis.models import ListModelsResponse, Model, Models, ModelType
+from llama_stack.apis.datasets import Dataset, Datasets
+from llama_stack.apis.models import Model, Models, ModelType
from llama_stack.apis.resource import ResourceType
from llama_stack.apis.scoring_functions import (
- ListScoringFunctionsResponse,
ScoringFn,
ScoringFnParams,
ScoringFunctions,
)
-from llama_stack.apis.shields import ListShieldsResponse, Shield, Shields
+from llama_stack.apis.shields import Shield, Shields
from llama_stack.apis.tools import (
- ListToolGroupsResponse,
- ListToolsResponse,
Tool,
ToolGroup,
ToolGroups,
ToolHost,
)
-from llama_stack.apis.vector_dbs import ListVectorDBsResponse, VectorDB, VectorDBs
+from llama_stack.apis.vector_dbs import VectorDB, VectorDBs
from llama_stack.distribution.datatypes import (
RoutableObject,
RoutableObjectWithProvider,
@@ -208,8 +205,8 @@ class CommonRoutingTableImpl(RoutingTable):
class ModelsRoutingTable(CommonRoutingTableImpl, Models):
- async def list_models(self) -> ListModelsResponse:
- return ListModelsResponse(data=await self.get_all_with_type("model"))
+ async def list_models(self) -> list[Model]:
+ return await self.get_all_with_type("model")
async def get_model(self, model_id: str) -> Optional[Model]:
return await self.get_object_by_identifier("model", model_id)
@@ -256,8 +253,8 @@ class ModelsRoutingTable(CommonRoutingTableImpl, Models):
class ShieldsRoutingTable(CommonRoutingTableImpl, Shields):
- async def list_shields(self) -> ListShieldsResponse:
- return ListShieldsResponse(data=await self.get_all_with_type(ResourceType.shield.value))
+ async def list_shields(self) -> list[Shield]:
+ return await self.get_all_with_type(ResourceType.shield.value)
async def get_shield(self, identifier: str) -> Optional[Shield]:
return await self.get_object_by_identifier("shield", identifier)
@@ -292,8 +289,8 @@ class ShieldsRoutingTable(CommonRoutingTableImpl, Shields):
class VectorDBsRoutingTable(CommonRoutingTableImpl, VectorDBs):
- async def list_vector_dbs(self) -> ListVectorDBsResponse:
- return ListVectorDBsResponse(data=await self.get_all_with_type("vector_db"))
+ async def list_vector_dbs(self) -> list[VectorDB]:
+ return await self.get_all_with_type("vector_db")
async def get_vector_db(self, vector_db_id: str) -> Optional[VectorDB]:
return await self.get_object_by_identifier("vector_db", vector_db_id)
@@ -344,8 +341,8 @@ class VectorDBsRoutingTable(CommonRoutingTableImpl, VectorDBs):
class DatasetsRoutingTable(CommonRoutingTableImpl, Datasets):
- async def list_datasets(self) -> ListDatasetsResponse:
- return ListDatasetsResponse(data=await self.get_all_with_type(ResourceType.dataset.value))
+ async def list_datasets(self) -> list[Dataset]:
+ return await self.get_all_with_type(ResourceType.dataset.value)
async def get_dataset(self, dataset_id: str) -> Optional[Dataset]:
return await self.get_object_by_identifier("dataset", dataset_id)
@@ -389,8 +386,8 @@ class DatasetsRoutingTable(CommonRoutingTableImpl, Datasets):
class ScoringFunctionsRoutingTable(CommonRoutingTableImpl, ScoringFunctions):
- async def list_scoring_functions(self) -> ListScoringFunctionsResponse:
- return ListScoringFunctionsResponse(data=await self.get_all_with_type(ResourceType.scoring_function.value))
+ async def list_scoring_functions(self) -> list[ScoringFunctions]:
+ return await self.get_all_with_type(ResourceType.scoring_function.value)
async def get_scoring_function(self, scoring_fn_id: str) -> Optional[ScoringFn]:
return await self.get_object_by_identifier("scoring_function", scoring_fn_id)
@@ -426,8 +423,8 @@ class ScoringFunctionsRoutingTable(CommonRoutingTableImpl, ScoringFunctions):
class BenchmarksRoutingTable(CommonRoutingTableImpl, Benchmarks):
- async def list_benchmarks(self) -> ListBenchmarksResponse:
- return ListBenchmarksResponse(data=await self.get_all_with_type("benchmark"))
+ async def list_benchmarks(self) -> list[Benchmark]:
+ return await self.get_all_with_type("benchmark")
async def get_benchmark(self, benchmark_id: str) -> Optional[Benchmark]:
return await self.get_object_by_identifier("benchmark", benchmark_id)
@@ -464,14 +461,14 @@ class BenchmarksRoutingTable(CommonRoutingTableImpl, Benchmarks):
class ToolGroupsRoutingTable(CommonRoutingTableImpl, ToolGroups):
- async def list_tools(self, toolgroup_id: Optional[str] = None) -> ListToolsResponse:
+ async def list_tools(self, toolgroup_id: Optional[str] = None) -> list[Tool]:
tools = await self.get_all_with_type("tool")
if toolgroup_id:
tools = [tool for tool in tools if tool.toolgroup_id == toolgroup_id]
- return ListToolsResponse(data=tools)
+ return tools
- async def list_tool_groups(self) -> ListToolGroupsResponse:
- return ListToolGroupsResponse(data=await self.get_all_with_type("tool_group"))
+ async def list_tool_groups(self) -> list[ToolGroup]:
+ return await self.get_all_with_type("tool_group")
async def get_tool_group(self, toolgroup_id: str) -> ToolGroup:
return await self.get_object_by_identifier("tool_group", toolgroup_id)