chore(vocero): remove the legacy ApiPilot integration (#3)
Vocero now retrieves AquaPortal content through authenticated MCP. This removes the obsolete ApiPilot integration from the API and browser while preserving the separately deployed speech pipeline. Release notes: - Removed ApiPilot endpoints, configuration, credential overrides, and HTTP/realtime tool execution. - Removed browser ApiPilot catalog loading and prompt generation while retaining authenticated MCP discovery. - Updated regression coverage and operating documentation for the retired routes and settings. Reviewed-on: AquaPortal/s2s#3
This commit is contained in:
+5
-336
@@ -2,7 +2,7 @@
|
||||
"http": {
|
||||
"config-default": {
|
||||
"status": 200,
|
||||
"body": "{\"search\":false,\"lb\":false,\"allowDirect\":true,\"s2sUrl\":\"\",\"primaryPrompt\":\"\",\"reasoningType\":\"PROXY\",\"injectProfile\":false,\"debugPrompt\":false,\"startSessionMode\":\"\",\"theme\":\"\",\"apipilot\":false}",
|
||||
"body": "{\"search\":false,\"lb\":false,\"allowDirect\":true,\"s2sUrl\":\"\",\"primaryPrompt\":\"\",\"reasoningType\":\"PROXY\",\"injectProfile\":false,\"debugPrompt\":false,\"startSessionMode\":\"\",\"theme\":\"\"}",
|
||||
"headers": {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
@@ -10,7 +10,7 @@
|
||||
},
|
||||
"config-proxy": {
|
||||
"status": 200,
|
||||
"body": "{\"search\":false,\"lb\":false,\"allowDirect\":true,\"s2sUrl\":\"wss://voice.test/v1/realtime\",\"primaryPrompt\":\"\",\"reasoningType\":\"PROXY\",\"injectProfile\":false,\"debugPrompt\":false,\"startSessionMode\":\"\",\"theme\":\"\",\"apipilot\":false}",
|
||||
"body": "{\"search\":false,\"lb\":false,\"allowDirect\":true,\"s2sUrl\":\"wss://voice.test/v1/realtime\",\"primaryPrompt\":\"\",\"reasoningType\":\"PROXY\",\"injectProfile\":false,\"debugPrompt\":false,\"startSessionMode\":\"\",\"theme\":\"\"}",
|
||||
"headers": {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
@@ -18,7 +18,7 @@
|
||||
},
|
||||
"config-direct": {
|
||||
"status": 200,
|
||||
"body": "{\"search\":false,\"lb\":false,\"allowDirect\":true,\"s2sUrl\":\"wss://voice.test/realtime?token=fixture\",\"primaryPrompt\":\"\",\"reasoningType\":\"PROXY\",\"injectProfile\":false,\"debugPrompt\":false,\"startSessionMode\":\"\",\"theme\":\"\",\"apipilot\":false}",
|
||||
"body": "{\"search\":false,\"lb\":false,\"allowDirect\":true,\"s2sUrl\":\"wss://voice.test/realtime?token=fixture\",\"primaryPrompt\":\"\",\"reasoningType\":\"PROXY\",\"injectProfile\":false,\"debugPrompt\":false,\"startSessionMode\":\"\",\"theme\":\"\"}",
|
||||
"headers": {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
@@ -26,7 +26,7 @@
|
||||
},
|
||||
"config-lb": {
|
||||
"status": 200,
|
||||
"body": "{\"search\":false,\"lb\":true,\"allowDirect\":false,\"s2sUrl\":\"\",\"primaryPrompt\":\"\",\"reasoningType\":\"PROXY\",\"injectProfile\":false,\"debugPrompt\":false,\"startSessionMode\":\"\",\"theme\":\"\",\"apipilot\":false}",
|
||||
"body": "{\"search\":false,\"lb\":true,\"allowDirect\":false,\"s2sUrl\":\"\",\"primaryPrompt\":\"\",\"reasoningType\":\"PROXY\",\"injectProfile\":false,\"debugPrompt\":false,\"startSessionMode\":\"\",\"theme\":\"\"}",
|
||||
"headers": {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
@@ -736,7 +736,7 @@
|
||||
},
|
||||
"upstream": []
|
||||
},
|
||||
"reasoning-OPENAI-legacy-unbound-token": {
|
||||
"reasoning-openai-profile-disabled": {
|
||||
"status": 500,
|
||||
"body": "Internal Server Error",
|
||||
"headers": {
|
||||
@@ -775,279 +775,6 @@
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"apipilot-disabled-GET": {
|
||||
"status": 501,
|
||||
"body": "{\"success\":false,\"data\":null,\"error\":{\"code\":\"APIPILOT_NOT_CONFIGURED\",\"message\":\"ApiPilot no está disponible en este despliegue (S2S_APIPILOT_TOOLS_URL no establecido).\",\"status_code\":501,\"raw\":null}}",
|
||||
"headers": {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
"upstream": []
|
||||
},
|
||||
"apipilot-disabled-POST": {
|
||||
"status": 501,
|
||||
"body": "{\"success\":false,\"data\":null,\"error\":{\"code\":\"APIPILOT_NOT_CONFIGURED\",\"message\":\"ApiPilot no está disponible en este despliegue (S2S_APIPILOT_TOOLS_URL no establecido).\",\"status_code\":501,\"raw\":null}}",
|
||||
"headers": {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
"upstream": []
|
||||
},
|
||||
"tools-query-validation": {
|
||||
"status": 422,
|
||||
"body": "{\"detail\":[{\"type\":\"bool_parsing\",\"loc\":[\"query\",\"refresh\"],\"msg\":\"Input should be a valid boolean, unable to interpret input\",\"input\":\"invalid\"}]}",
|
||||
"headers": {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
"upstream": []
|
||||
},
|
||||
"tools-list": {
|
||||
"status": 200,
|
||||
"body": "{\"success\":true,\"data\":{\"count\":1,\"include_unauthorized\":false,\"tools\":[{\"name\":\"fixture_tool\",\"description\":\"A fixture tool.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"count\":{\"type\":\"integer\"}},\"required\":[\"count\"]},\"requires_auth\":false}]},\"error\":null}",
|
||||
"headers": {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
"upstream": [
|
||||
{
|
||||
"method": "GET",
|
||||
"url": "http://tools.test/apipilot/tools?include_unauthorized=false",
|
||||
"body": "",
|
||||
"headers": {
|
||||
"authorization": "Bearer fixture-token",
|
||||
"x-demo-session": "fixture-session"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"tools-result": {
|
||||
"status": 200,
|
||||
"body": "{\"success\":true,\"data\":{\"count\":1,\"include_unauthorized\":false,\"tools\":[{\"name\":\"fixture_tool\",\"description\":\"A fixture tool.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"count\":{\"type\":\"integer\"}},\"required\":[\"count\"]},\"requires_auth\":false}]},\"error\":null}",
|
||||
"headers": {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
"upstream": [
|
||||
{
|
||||
"method": "GET",
|
||||
"url": "http://tools.test/apipilot/tools?include_unauthorized=false",
|
||||
"body": "",
|
||||
"headers": {
|
||||
"authorization": "Bearer fixture-token",
|
||||
"x-demo-session": "fixture-session"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"tools-envelope": {
|
||||
"status": 200,
|
||||
"body": "{\"success\":true,\"data\":{\"count\":1,\"include_unauthorized\":false,\"tools\":[{\"name\":\"fixture_tool\",\"description\":\"A fixture tool.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"count\":{\"type\":\"integer\"}},\"required\":[\"count\"]},\"requires_auth\":false}]},\"error\":null}",
|
||||
"headers": {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
"upstream": [
|
||||
{
|
||||
"method": "GET",
|
||||
"url": "http://tools.test/apipilot/tools?include_unauthorized=false",
|
||||
"body": "",
|
||||
"headers": {
|
||||
"authorization": "Bearer fixture-token",
|
||||
"x-demo-session": "fixture-session"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"tools-opaque": {
|
||||
"status": 200,
|
||||
"body": "{\"success\":true,\"data\":{\"count\":0,\"include_unauthorized\":false,\"tools\":[]},\"error\":null}",
|
||||
"headers": {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
"upstream": [
|
||||
{
|
||||
"method": "GET",
|
||||
"url": "http://tools.test/apipilot/tools?include_unauthorized=false",
|
||||
"body": "",
|
||||
"headers": {
|
||||
"authorization": "Bearer fixture-token",
|
||||
"x-demo-session": "fixture-session"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"tools-upstream-error": {
|
||||
"status": 502,
|
||||
"body": "{\"success\":false,\"data\":null,\"error\":{\"code\":\"APIPILOT_BAD_UPSTREAM\",\"message\":\"Backend ApiPilot tools devolvió HTTP 403\",\"status_code\":403}}",
|
||||
"headers": {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
"upstream": [
|
||||
{
|
||||
"method": "GET",
|
||||
"url": "http://tools.test/apipilot/tools?include_unauthorized=true",
|
||||
"body": "",
|
||||
"headers": {}
|
||||
}
|
||||
]
|
||||
},
|
||||
"execute-discovery-error-envelope": {
|
||||
"status": 502,
|
||||
"body": "{\"detail\":{\"code\":\"APIPILOT_BAD_UPSTREAM\",\"message\":\"Backend ApiPilot tools devolvió HTTP 503\",\"status_code\":503}}",
|
||||
"headers": {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
"upstream": [
|
||||
{
|
||||
"method": "GET",
|
||||
"url": "http://tools.test/apipilot/tools?include_unauthorized=true",
|
||||
"body": "",
|
||||
"headers": {}
|
||||
}
|
||||
]
|
||||
},
|
||||
"execute-unknown-tool": {
|
||||
"status": 404,
|
||||
"body": "{\"success\":false,\"data\":null,\"error\":{\"code\":\"TOOL_NOT_FOUND\",\"message\":\"Herramienta «unknown» no encontrada en el catálogo ApiPilot. Actualice la lista de herramientas y vuelva a intentarlo.\",\"status_code\":404,\"raw\":null}}",
|
||||
"headers": {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
"upstream": [
|
||||
{
|
||||
"method": "GET",
|
||||
"url": "http://tools.test/apipilot/tools?include_unauthorized=true",
|
||||
"body": "",
|
||||
"headers": {}
|
||||
},
|
||||
{
|
||||
"method": "GET",
|
||||
"url": "http://tools.test/apipilot/tools?include_unauthorized=true",
|
||||
"body": "",
|
||||
"headers": {}
|
||||
}
|
||||
]
|
||||
},
|
||||
"execute-missing-argument": {
|
||||
"status": 400,
|
||||
"body": "{\"success\":false,\"data\":null,\"error\":{\"code\":\"INVALID_ARGUMENTS\",\"message\":\"Falta el parámetro requerido: count\",\"status_code\":400,\"raw\":{\"removed\":[]}}}",
|
||||
"headers": {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
"upstream": [
|
||||
{
|
||||
"method": "GET",
|
||||
"url": "http://tools.test/apipilot/tools?include_unauthorized=true",
|
||||
"body": "",
|
||||
"headers": {}
|
||||
}
|
||||
]
|
||||
},
|
||||
"execute-api-key-precheck": {
|
||||
"status": 401,
|
||||
"body": "{\"success\":false,\"data\":null,\"error\":{\"code\":\"AUTH_REQUIRED\",\"message\":\"La herramienta «fixture_tool» requiere autenticación. Inicie sesión o proporcione un token para continuar.\",\"status_code\":401,\"raw\":null}}",
|
||||
"headers": {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
"upstream": [
|
||||
{
|
||||
"method": "GET",
|
||||
"url": "http://tools.test/apipilot/tools?include_unauthorized=true",
|
||||
"body": "",
|
||||
"headers": {
|
||||
"authorization": "Bearer fixture-key",
|
||||
"x-demo-session": "fixture-key",
|
||||
"x-api-key": "fixture-key"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"execute-envelope": {
|
||||
"status": 200,
|
||||
"body": "{\"success\":true,\"data\":{\"future\":[1,null]},\"error\":null,\"future_envelope\":true}",
|
||||
"headers": {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
"upstream": [
|
||||
{
|
||||
"method": "GET",
|
||||
"url": "http://tools.test/apipilot/tools?include_unauthorized=true",
|
||||
"body": "",
|
||||
"headers": {}
|
||||
},
|
||||
{
|
||||
"method": "POST",
|
||||
"url": "http://tools.test/apipilot/execute",
|
||||
"body": "{\"name\":\"fixture_tool\",\"arguments\":{\"count\":\"wrong-type-is-accepted\"}}",
|
||||
"headers": {
|
||||
"content-type": "application/json"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"execute-raw-list": {
|
||||
"status": 200,
|
||||
"body": "{\"success\":true,\"data\":[{\"future\":true}],\"error\":null}",
|
||||
"headers": {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
"upstream": [
|
||||
{
|
||||
"method": "GET",
|
||||
"url": "http://tools.test/apipilot/tools?include_unauthorized=true",
|
||||
"body": "",
|
||||
"headers": {}
|
||||
},
|
||||
{
|
||||
"method": "POST",
|
||||
"url": "http://tools.test/apipilot/execute",
|
||||
"body": "{\"name\":\"fixture_tool\",\"arguments\":{\"count\":\"wrong-type-is-accepted\"}}",
|
||||
"headers": {
|
||||
"content-type": "application/json"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"execute-minimal-envelope": {
|
||||
"status": 200,
|
||||
"body": "{\"success\":true}",
|
||||
"headers": {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
"upstream": [
|
||||
{
|
||||
"method": "GET",
|
||||
"url": "http://tools.test/apipilot/tools?include_unauthorized=true",
|
||||
"body": "",
|
||||
"headers": {}
|
||||
},
|
||||
{
|
||||
"method": "POST",
|
||||
"url": "http://tools.test/apipilot/execute",
|
||||
"body": "{\"name\":\"fixture_tool\",\"arguments\":{\"count\":\"wrong-type-is-accepted\"}}",
|
||||
"headers": {
|
||||
"content-type": "application/json"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"execute-error": {
|
||||
"status": 409,
|
||||
"body": "{\"success\":false,\"data\":null,\"error\":{\"status_code\":409,\"code\":\"FIXTURE\",\"message\":\"Fixture\",\"future\":true}}",
|
||||
"headers": {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
"upstream": [
|
||||
{
|
||||
"method": "GET",
|
||||
"url": "http://tools.test/apipilot/tools?include_unauthorized=true",
|
||||
"body": "",
|
||||
"headers": {}
|
||||
},
|
||||
{
|
||||
"method": "POST",
|
||||
"url": "http://tools.test/apipilot/execute",
|
||||
"body": "{\"name\":\"fixture_tool\",\"arguments\":{\"count\":\"wrong-type-is-accepted\"}}",
|
||||
"headers": {
|
||||
"content-type": "application/json"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"openapi_requests": {
|
||||
@@ -1055,44 +782,6 @@
|
||||
"GET /api/config": {
|
||||
"operationId": "config_api_config_get"
|
||||
},
|
||||
"GET /api/apipilot/tools": {
|
||||
"operationId": "apipilot_list_tools_api_apipilot_tools_get",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "include_unauthorized",
|
||||
"in": "query",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"title": "Include Unauthorized"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "refresh",
|
||||
"in": "query",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"title": "Refresh"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"POST /api/apipilot/execute": {
|
||||
"operationId": "apipilot_execute_api_apipilot_execute_post",
|
||||
"requestBody": {
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ApipilotExecuteRequest"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": true
|
||||
}
|
||||
},
|
||||
"POST /api/reasoning": {
|
||||
"operationId": "reasoning_api_reasoning_post",
|
||||
"requestBody": {
|
||||
@@ -1264,26 +953,6 @@
|
||||
],
|
||||
"title": "ReasoningRequest"
|
||||
},
|
||||
"ApipilotExecuteRequest": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string",
|
||||
"title": "Name"
|
||||
},
|
||||
"arguments": {
|
||||
"additionalProperties": true,
|
||||
"type": "object",
|
||||
"title": "Arguments",
|
||||
"default": {}
|
||||
}
|
||||
},
|
||||
"type": "object",
|
||||
"required": [
|
||||
"name"
|
||||
],
|
||||
"title": "ApipilotExecuteRequest",
|
||||
"description": "Body for the ApiPilot execute proxy endpoint. Mirrors §2.2 request shape."
|
||||
},
|
||||
"HTTPValidationError": {
|
||||
"properties": {
|
||||
"detail": {
|
||||
|
||||
Reference in New Issue
Block a user