Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions docs/devel_doc/openapi.json
Original file line number Diff line number Diff line change
Expand Up @@ -183,8 +183,8 @@
"$ref": "#/components/schemas/InfoResponse"
},
"example": {
"llama_stack_version": "1.0.0",
"name": "Lightspeed Stack",
"ogx_version": "1.0.0",
"service_version": "1.0.0"
}
}
Expand Down Expand Up @@ -14807,9 +14807,9 @@
"1.0.0"
]
},
"llama_stack_version": {
"ogx_version": {
"type": "string",
"title": "Llama Stack Version",
"title": "Ogx Version",
"description": "OGX version",
"examples": [
"0.2.1",
Expand All @@ -14824,14 +14824,14 @@
"required": [
"name",
"service_version",
"llama_stack_version"
"ogx_version"
],
"title": "InfoResponse",
"description": "Model representing a response to an info request.\n\nAttributes:\n name: Service name.\n service_version: Service version.\n llama_stack_version: OGX version.",
"description": "Model representing a response to an info request.\n\nAttributes:\n name: Service name.\n service_version: Service version.\n ogx_version: OGX version.",
"examples": [
{
"llama_stack_version": "1.0.0",
"name": "Lightspeed Stack",
"ogx_version": "1.0.0",
"service_version": "1.0.0"
}
]
Expand Down
4 changes: 2 additions & 2 deletions docs/devel_doc/openapi.md
Original file line number Diff line number Diff line change
Expand Up @@ -6602,14 +6602,14 @@ Model representing a response to an info request.
Attributes:
name: Service name.
service_version: Service version.
llama_stack_version: OGX version.
ogx_version: OGX version.


| Field | Type | Description |
|-------|------|-------------|
| name | string | Service name |
| service_version | string | Service version |
| llama_stack_version | string | OGX version |
| ogx_version | string | OGX version |


## InputToolMCP
Expand Down
2 changes: 1 addition & 1 deletion docs/models/responses.puml
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ class "ForbiddenResponse" as src.models.api.responses.error.forbidden.ForbiddenR
saved_prompt(action: str, resource_id: str, user_id: str) -> Self
}
class "InfoResponse" as src.models.api.responses.successful.probes.InfoResponse {
llama_stack_version : Optional[str]
ogx_version : Optional[str]
Comment thread
asimurka marked this conversation as resolved.
model_config : dict
name : Optional[str]
service_version : Optional[str]
Expand Down
2 changes: 1 addition & 1 deletion docs/models/responses.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 5 additions & 5 deletions docs/models/successful_responses.json
Original file line number Diff line number Diff line change
Expand Up @@ -1854,11 +1854,11 @@
"type": "object"
},
"InfoResponse": {
"description": "Model representing a response to an info request.\n\nAttributes:\n name: Service name.\n service_version: Service version.\n llama_stack_version: OGX version.",
"description": "Model representing a response to an info request.\n\nAttributes:\n name: Service name.\n service_version: Service version.\n ogx_version: OGX version.",
"examples": [
{
"llama_stack_version": "1.0.0",
"name": "Lightspeed Stack",
"ogx_version": "1.0.0",
"service_version": "1.0.0"
}
],
Expand All @@ -1881,7 +1881,7 @@
"title": "Service Version",
"type": "string"
},
"llama_stack_version": {
"ogx_version": {
"description": "OGX version",
"examples": [
"0.2.1",
Expand All @@ -1890,14 +1890,14 @@
"0.2.21",
"0.2.22"
],
"title": "Llama Stack Version",
"title": "Ogx Version",
"type": "string"
}
},
"required": [
"name",
"service_version",
"llama_stack_version"
"ogx_version"
],
"title": "InfoResponse",
"type": "object"
Expand Down
4 changes: 2 additions & 2 deletions docs/models/successful_responses.md
Original file line number Diff line number Diff line change
Expand Up @@ -752,14 +752,14 @@ Model representing a response to an info request.
Attributes:
name: Service name.
service_version: Service version.
llama_stack_version: OGX version.
ogx_version: OGX version.


| Field | Type | Description |
|-------|------|-------------|
| name | string | Service name |
| service_version | string | Service version |
| llama_stack_version | string | OGX version |
| ogx_version | string | OGX version |


## JsonPathOperator
Expand Down
8 changes: 4 additions & 4 deletions src/app/endpoints/info.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,11 +76,11 @@ async def info_endpoint_handler(
# try to get OGX client
client = AsyncOgxClientHolder().get_client()
# retrieve version
llama_stack_version_object = await client.inspect.version()
llama_stack_version = llama_stack_version_object.version
ogx_version_object = await client.inspect.version()
ogx_version = ogx_version_object.version
logger.debug("Service name: %s", configuration.configuration.name)
logger.debug("Service version: %s", __version__)
logger.debug("OGX version: %s", llama_stack_version)
logger.debug("OGX version: %s", ogx_version)
set_span_attributes(
span,
{
Expand All @@ -91,7 +91,7 @@ async def info_endpoint_handler(
return InfoResponse(
name=configuration.configuration.name,
service_version=__version__,
llama_stack_version=llama_stack_version,
ogx_version=ogx_version,
)
# connection to OGX server
except APIConnectionError as e:
Expand Down
6 changes: 3 additions & 3 deletions src/models/api/responses/successful/probes.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ class InfoResponse(AbstractSuccessfulResponse):
Attributes:
name: Service name.
service_version: Service version.
llama_stack_version: OGX version.
ogx_version: OGX version.
"""

name: str = Field(
Expand All @@ -30,7 +30,7 @@ class InfoResponse(AbstractSuccessfulResponse):
examples=["0.1.0", "0.2.0", "1.0.0"],
)

llama_stack_version: str = Field(
ogx_version: str = Field(
description="OGX version",
examples=["0.2.1", "0.2.2", "0.2.18", "0.2.21", "0.2.22"],
)
Expand All @@ -42,7 +42,7 @@ class InfoResponse(AbstractSuccessfulResponse):
{
"name": "Lightspeed Stack",
"service_version": "1.0.0",
"llama_stack_version": "1.0.0",
"ogx_version": "1.0.0",
}
]
}
Expand Down
2 changes: 1 addition & 1 deletion tests/e2e/features/info.feature
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Feature: Info tests
When I access REST API endpoint "info" using HTTP GET method
Then The status code of the response is 200
And The body of the response has proper name Lightspeed Core Service (LCS) and version 0.6.0rc2
And The body of the response has llama-stack version 1.0.2
And The body of the response has ogx version 1.0.2

Scenario: Check if shields endpoint is working
When I access REST API endpoint "shields" using HTTP GET method
Expand Down
14 changes: 7 additions & 7 deletions tests/e2e/features/steps/info.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,21 +19,21 @@ def check_name_version(context: Context, service_name: str, version: str) -> Non
), f"version is {response_json["service_version"]}"


@then("The body of the response has llama-stack version {llama_version}")
def check_llama_version(context: Context, llama_version: str) -> None:
@then("The body of the response has ogx version {ogx_version}")
def check_ogx_version(context: Context, ogx_version: str) -> None:
"""Check proper OGX version number."""
response_json = context.response.json()
assert response_json is not None, "Response is not valid JSON"

version_pattern = r"\d+\.\d+\.\d+"
llama_stack_version = response_json["llama_stack_version"]
match = re.search(version_pattern, llama_stack_version)
assert match is not None, f"Could not extract version from {llama_stack_version}"
response_ogx_version = response_json["ogx_version"]
match = re.search(version_pattern, response_ogx_version)
Comment thread
asimurka marked this conversation as resolved.
assert match is not None, f"Could not extract version from {response_ogx_version}"
extracted_version = match.group(0)

assert (
extracted_version == llama_version
), f"llama-stack version is {extracted_version}, expected {llama_version}"
extracted_version == ogx_version
), f"ogx version is {extracted_version}, expected {ogx_version}"


@then("The body of the response has proper shield structure")
Expand Down
2 changes: 1 addition & 1 deletion tests/integration/endpoints/test_info_integration.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ async def test_info_endpoint_returns_service_information(
# Verify values from real configuration
assert response.name == "foo bar baz" # From lightspeed-stack.yaml
assert response.service_version == __version__
assert response.llama_stack_version == "0.2.22"
assert response.ogx_version == "0.2.22"

# Verify the OGX client was called
mock_ogx_client.inspect.version.assert_called_once()
Expand Down
2 changes: 1 addition & 1 deletion tests/unit/app/endpoints/test_info.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ async def test_info_endpoint(mocker: MockerFixture) -> None:
assert response is not None
assert response.name is not None
assert response.service_version is not None
assert response.llama_stack_version == "0.1.2"
assert response.ogx_version == "0.1.2"


@pytest.mark.asyncio
Expand Down
4 changes: 2 additions & 2 deletions tests/unit/models/responses/test_successful_responses.py
Original file line number Diff line number Diff line change
Expand Up @@ -403,12 +403,12 @@ def test_constructor(self) -> None:
response = InfoResponse(
name="Lightspeed Stack",
service_version="1.0.0",
llama_stack_version="1.0.0",
ogx_version="1.0.0",
)
assert isinstance(response, AbstractSuccessfulResponse)
assert response.name == "Lightspeed Stack"
assert response.service_version == "1.0.0"
assert response.llama_stack_version == "1.0.0"
assert response.ogx_version == "1.0.0"

def test_missing_required_parameters(self) -> None:
"""Test InfoResponse raises ValidationError when required fields are missing."""
Expand Down
8 changes: 4 additions & 4 deletions tests/unit/utils/test_models_dumper.py
Original file line number Diff line number Diff line change
Expand Up @@ -2504,10 +2504,10 @@ def test_dump_models(tmpdir: Path) -> None:
"type": "object"
},
"InfoResponse": {
"description": "Model representing a response to an info request.\n\nAttributes:\n name: Service name.\n service_version: Service version.\n llama_stack_version: OGX version.",
"description": "Model representing a response to an info request.\n\nAttributes:\n name: Service name.\n service_version: Service version.\n ogx_version: OGX version.",
"examples": [
{
"llama_stack_version": "1.0.0",
"ogx_version": "1.0.0",
"name": "Lightspeed Stack",
"service_version": "1.0.0"
}
Expand All @@ -2531,7 +2531,7 @@ def test_dump_models(tmpdir: Path) -> None:
"title": "Service Version",
"type": "string"
},
"llama_stack_version": {
"ogx_version": {
"description": "OGX version",
"examples": [
"0.2.1",
Expand All @@ -2547,7 +2547,7 @@ def test_dump_models(tmpdir: Path) -> None:
"required": [
"name",
"service_version",
"llama_stack_version"
"ogx_version"
],
"title": "InfoResponse",
"type": "object"
Expand Down
Loading