Skip to content
Merged
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
96 changes: 92 additions & 4 deletions docs/openapi.json
Original file line number Diff line number Diff line change
Expand Up @@ -3884,7 +3884,7 @@
"health"
],
"summary": "Readiness Probe Get Method",
"description": "Handle the readiness probe endpoint, returning service readiness.\n\nIf any provider reports an error status, responds with HTTP 503\nand details of unhealthy providers; otherwise, indicates the\nservice is ready.",
"description": "Handle the readiness probe endpoint, returning service readiness.\n\nIf any provider reports an error status, responds with HTTP 503\nand details of unhealthy providers; otherwise, indicates the\nservice is ready.\n\nReturns:\n ReadinessResponse: Object with `ready` indicating overall readiness,\n `reason` explaining the outcome, and `providers` containing the list of\n unhealthy ProviderHealthStatus entries (empty when ready).",
"operationId": "readiness_probe_get_method_readiness_get",
"responses": {
"200": {
Expand Down Expand Up @@ -4127,7 +4127,7 @@
"metrics"
],
"summary": "Metrics Endpoint Handler",
"description": "Handle request to the /metrics endpoint.\n\nProcess GET requests to the /metrics endpoint, returning the\nlatest Prometheus metrics in form of a plain text.\n\nInitializes model metrics on the first request if not already\nset up, then responds with the current metrics snapshot in\nPrometheus format.",
"description": "Handle request to the /metrics endpoint.\n\nProcess GET requests to the /metrics endpoint, returning the\nlatest Prometheus metrics in form of a plain text.\n\nInitializes model metrics on the first request if not already\nset up, then responds with the current metrics snapshot in\nPrometheus format.\n\nReturns:\n PlainTextResponse: Response body containing the Prometheus metrics text\n and the Prometheus content type.",
"operationId": "metrics_endpoint_handler_metrics_get",
"responses": {
"200": {
Expand Down Expand Up @@ -4290,7 +4290,7 @@
],
"summary": "Handle A2A Jsonrpc",
"description": "Handle A2A JSON-RPC requests following the A2A protocol specification.\n\nThis endpoint uses the DefaultRequestHandler from the A2A SDK to handle\nall JSON-RPC requests including message/send, message/stream, etc.\n\nThe A2A SDK application is created per-request to include authentication\ncontext while still leveraging FastAPI's authorization middleware.\n\nAutomatically detects streaming requests (message/stream JSON-RPC method)\nand returns a StreamingResponse to enable real-time chunk delivery.\n\nArgs:\n request: FastAPI request object\n auth: Authentication tuple\n mcp_headers: MCP headers for context propagation\n\nReturns:\n JSON-RPC response or streaming response",
"operationId": "handle_a2a_jsonrpc_a2a_post",
"operationId": "handle_a2a_jsonrpc_a2a_get",
"responses": {
"200": {
"description": "Successful Response",
Expand All @@ -4308,7 +4308,7 @@
],
"summary": "Handle A2A Jsonrpc",
"description": "Handle A2A JSON-RPC requests following the A2A protocol specification.\n\nThis endpoint uses the DefaultRequestHandler from the A2A SDK to handle\nall JSON-RPC requests including message/send, message/stream, etc.\n\nThe A2A SDK application is created per-request to include authentication\ncontext while still leveraging FastAPI's authorization middleware.\n\nAutomatically detects streaming requests (message/stream JSON-RPC method)\nand returns a StreamingResponse to enable real-time chunk delivery.\n\nArgs:\n request: FastAPI request object\n auth: Authentication tuple\n mcp_headers: MCP headers for context propagation\n\nReturns:\n JSON-RPC response or streaming response",
"operationId": "handle_a2a_jsonrpc_a2a_post",
"operationId": "handle_a2a_jsonrpc_a2a_get",
"responses": {
"200": {
"description": "Successful Response",
Expand Down Expand Up @@ -5538,6 +5538,24 @@
"type": "null"
}
]
},
"splunk": {
"anyOf": [
{
"$ref": "#/components/schemas/SplunkConfiguration"
},
{
"type": "null"
}
],
"title": "Splunk configuration",
"description": "Splunk HEC configuration for sending telemetry events."
},
"deployment_environment": {
"type": "string",
"title": "Deployment environment",
"description": "Deployment environment name (e.g., 'development', 'staging', 'production'). Used in telemetry events.",
"default": "development"
}
},
"additionalProperties": false,
Expand Down Expand Up @@ -8824,6 +8842,76 @@
}
]
},
"SplunkConfiguration": {
"properties": {
"enabled": {
"type": "boolean",
"title": "Enabled",
"description": "Enable or disable Splunk HEC integration.",
"default": false
},
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "HEC URL",
"description": "Splunk HEC endpoint URL."
},
"token_path": {
"anyOf": [
{
"type": "string",
"format": "file-path"
},
{
"type": "null"
}
],
"title": "Token path",
"description": "Path to file containing the Splunk HEC authentication token."
},
"index": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Index",
"description": "Target Splunk index for events."
},
"source": {
"type": "string",
"title": "Source",
"description": "Event source identifier.",
"default": "lightspeed-stack"
},
"timeout": {
"type": "integer",
"exclusiveMinimum": 0.0,
"title": "Timeout",
"description": "HTTP timeout in seconds for HEC requests.",
"default": 5
},
"verify_ssl": {
"type": "boolean",
"title": "Verify SSL",
"description": "Whether to verify SSL certificates for HEC endpoint.",
"default": true
}
},
"additionalProperties": false,
"type": "object",
"title": "SplunkConfiguration",
"description": "Splunk HEC (HTTP Event Collector) configuration.\n\nSplunk HEC allows sending events directly to Splunk over HTTP/HTTPS.\nThis configuration is used to send telemetry events for inference\nrequests to the corporate Splunk deployment.\n\nUseful resources:\n\n - [Splunk HEC Docs](https://docs.splunk.com/Documentation/SplunkCloud)\n - [About HEC](https://docs.splunk.com/Documentation/Splunk/latest/Data)"
},
"StatusResponse": {
"properties": {
"functionality": {
Expand Down
37 changes: 37 additions & 0 deletions docs/openapi.md
Original file line number Diff line number Diff line change
Expand Up @@ -3425,6 +3425,11 @@ If any provider reports an error status, responds with HTTP 503
and details of unhealthy providers; otherwise, indicates the
service is ready.

Returns:
ReadinessResponse: Object with `ready` indicating overall readiness,
`reason` explaining the outcome, and `providers` containing the list of
unhealthy ProviderHealthStatus entries (empty when ready).




Expand Down Expand Up @@ -3643,6 +3648,10 @@ Initializes model metrics on the first request if not already
set up, then responds with the current metrics snapshot in
Prometheus format.

Returns:
PlainTextResponse: Response body containing the Prometheus metrics text
and the Prometheus content type.

Comment on lines +3651 to +3654
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Search for PlainTextResponse occurrences
rg -n "PlainTextResponse" docs/openapi.md | head -20

Repository: lightspeed-core/lightspeed-stack

Length of output: 156


🏁 Script executed:

#!/bin/bash
# Check the context around line 3652 (3651-3654)
echo "=== Lines 3648-3658 ===" 
sed -n '3648,3658p' docs/openapi.md

echo ""
echo "=== Lines 5275-5285 ===" 
sed -n '5275,5285p' docs/openapi.md

echo ""
echo "=== Lines 5560-5570 ===" 
sed -n '5560,5570p' docs/openapi.md

Repository: lightspeed-core/lightspeed-stack

Length of output: 870


Add PlainTextResponse schema definition to components section.

PlainTextResponse is referenced at line 3652 but is not defined as a schema component anywhere in docs/openapi.md. Add a schema entry under Components for PlainTextResponse with properties for the response body and content type.

🤖 Prompt for AI Agents
In `@docs/openapi.md` around lines 3651 - 3654, Add a new schema entry named
PlainTextResponse under the Components -> schemas section: define it as an
object with two properties (e.g., "body" : type: string — the Prometheus metrics
text, and "content_type" : type: string — the response MIME type), include brief
descriptions and an example (like "text/plain; version=0.0.4"), and ensure the
existing reference to PlainTextResponse in the Prometheus metrics operation
resolves to this component.




Expand Down Expand Up @@ -4239,6 +4248,8 @@ Global service configuration.
| a2a_state | | Configuration for A2A protocol persistent state storage. |
| quota_handlers | | Quota handlers configuration |
| azure_entra_id | | |
| splunk | | Splunk HEC configuration for sending telemetry events. |
| deployment_environment | string | Deployment environment name (e.g., 'development', 'staging', 'production'). Used in telemetry events. |


## ConfigurationResponse
Expand Down Expand Up @@ -5524,6 +5535,32 @@ Model representing a response to shields request.
| shields | array | List of shields available |


## SplunkConfiguration


Splunk HEC (HTTP Event Collector) configuration.

Splunk HEC allows sending events directly to Splunk over HTTP/HTTPS.
This configuration is used to send telemetry events for inference
requests to the corporate Splunk deployment.

Useful resources:

- [Splunk HEC Docs](https://docs.splunk.com/Documentation/SplunkCloud)
- [About HEC](https://docs.splunk.com/Documentation/Splunk/latest/Data)

Comment on lines +5547 to +5551
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix unordered list indentation in SplunkConfiguration resources.

Markdownlint MD007 flags the list indentation. Align the list indentation to column 0.

🧹 Suggested formatting tweak
-  - [Splunk HEC Docs](https://docs.splunk.com/Documentation/SplunkCloud)
-  - [About HEC](https://docs.splunk.com/Documentation/Splunk/latest/Data)
+- [Splunk HEC Docs](https://docs.splunk.com/Documentation/SplunkCloud)
+- [About HEC](https://docs.splunk.com/Documentation/Splunk/latest/Data)
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Useful resources:
- [Splunk HEC Docs](https://docs.splunk.com/Documentation/SplunkCloud)
- [About HEC](https://docs.splunk.com/Documentation/Splunk/latest/Data)
Useful resources:
- [Splunk HEC Docs](https://docs.splunk.com/Documentation/SplunkCloud)
- [About HEC](https://docs.splunk.com/Documentation/Splunk/latest/Data)
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

5549-5549: Unordered list indentation
Expected: 0; Actual: 2

(MD007, ul-indent)


5550-5550: Unordered list indentation
Expected: 0; Actual: 2

(MD007, ul-indent)

🤖 Prompt for AI Agents
In `@docs/openapi.md` around lines 5547 - 5551, The unordered list under "Useful
resources:" in the SplunkConfiguration section has leading indentation causing
markdownlint MD007; remove the leading spaces so each list item starts at column
0 (i.e., left-align the lines containing "- [Splunk HEC Docs](...)" and "-
[About HEC](...)") so the hyphen is the first character on the line and the list
indentation matches top-level lists.


| Field | Type | Description |
|-------|------|-------------|
| enabled | boolean | Enable or disable Splunk HEC integration. |
| url | | Splunk HEC endpoint URL. |
| token_path | | Path to file containing the Splunk HEC authentication token. |
| index | | Target Splunk index for events. |
| source | string | Event source identifier. |
| timeout | integer | HTTP timeout in seconds for HEC requests. |
| verify_ssl | boolean | Whether to verify SSL certificates for HEC endpoint. |


## StatusResponse


Expand Down
Loading