Skip to content

Commit 8e79b3d

Browse files
committed
refac
1 parent 6c0f886 commit 8e79b3d

3 files changed

Lines changed: 20 additions & 13 deletions

File tree

backend/open_webui/utils/tools.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -697,9 +697,10 @@ def convert_openapi_to_tool_payload(openapi_spec):
697697
"parameters": {"type": "object", "properties": {}, "required": []},
698698
}
699699

700-
# Extract path and query parameters
701700
for param in operation.get("parameters", []):
702-
param_name = param["name"]
701+
param_name = param.get("name")
702+
if not param_name:
703+
continue
703704
param_schema = param.get("schema", {})
704705
description = param_schema.get("description", "")
705706
if not description:
@@ -971,8 +972,10 @@ async def execute_tool_server(
971972
body_params = {}
972973

973974
for param in operation.get("parameters", []):
974-
param_name = param["name"]
975-
param_in = param["in"]
975+
param_name = param.get("name")
976+
if not param_name:
977+
continue
978+
param_in = param.get("in")
976979
if param_name in params:
977980
if param_in == "path":
978981
path_params[param_name] = params[param_name]

src/lib/apis/index.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -449,8 +449,9 @@ export const executeToolServer = async (
449449

450450
if (operation.parameters) {
451451
operation.parameters.forEach((param: any) => {
452-
const paramName = param.name;
453-
const paramIn = param.in;
452+
const paramName = param?.name;
453+
if (!paramName) return;
454+
const paramIn = param?.in;
454455
if (params.hasOwnProperty(paramName)) {
455456
if (paramIn === 'path') {
456457
pathParams[paramName] = params[paramName];
@@ -1674,7 +1675,7 @@ export interface ModelMeta {
16741675
profile_image_url?: string;
16751676
}
16761677

1677-
export interface ModelParams {}
1678+
export interface ModelParams { }
16781679

16791680
export type GlobalModelConfig = ModelConfig[];
16801681

src/lib/utils/index.ts

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1277,17 +1277,20 @@ export const convertOpenApiToToolPayload = (openApiSpec) => {
12771277
// Extract path and query parameters
12781278
if (operation.parameters) {
12791279
operation.parameters.forEach((param) => {
1280-
let description = param.schema.description || param.description || '';
1281-
if (param.schema.enum && Array.isArray(param.schema.enum)) {
1282-
description += `. Possible values: ${param.schema.enum.join(', ')}`;
1280+
const paramName = param?.name;
1281+
if (!paramName) return;
1282+
const paramSchema = param?.schema ?? {};
1283+
let description = paramSchema.description || param.description || '';
1284+
if (paramSchema.enum && Array.isArray(paramSchema.enum)) {
1285+
description += `. Possible values: ${paramSchema.enum.join(', ')}`;
12831286
}
1284-
tool.parameters.properties[param.name] = {
1285-
type: param.schema.type,
1287+
tool.parameters.properties[paramName] = {
1288+
type: paramSchema.type,
12861289
description: description
12871290
};
12881291

12891292
if (param.required) {
1290-
tool.parameters.required.push(param.name);
1293+
tool.parameters.required.push(paramName);
12911294
}
12921295
});
12931296
}

0 commit comments

Comments
 (0)