Add wait_for_response functionality to ToolResource and related components. Update API models, schemas, and routers to support new parameter. Enhance UI components to manage wait_for_response state, ensuring proper integration across the application.

This commit is contained in:
Xin Wang
2026-02-27 16:54:39 +08:00
parent 95c6e93a9c
commit 229243e832
9 changed files with 303 additions and 44 deletions

View File

@@ -125,6 +125,7 @@ const mapTool = (raw: AnyRecord): Tool => ({
httpTimeoutMs: Number(readField(raw, ['httpTimeoutMs', 'http_timeout_ms'], 10000)),
parameterSchema: readField(raw, ['parameterSchema', 'parameter_schema'], {}),
parameterDefaults: readField(raw, ['parameterDefaults', 'parameter_defaults'], {}),
waitForResponse: Boolean(readField(raw, ['waitForResponse', 'wait_for_response'], false)),
isSystem: Boolean(readField(raw, ['isSystem', 'is_system'], false)),
enabled: Boolean(readField(raw, ['enabled'], true)),
isCustom: !Boolean(readField(raw, ['isSystem', 'is_system'], false)),
@@ -571,6 +572,7 @@ export const createTool = async (data: Partial<Tool>): Promise<Tool> => {
http_timeout_ms: data.httpTimeoutMs ?? 10000,
parameter_schema: data.parameterSchema || {},
parameter_defaults: data.parameterDefaults || {},
wait_for_response: data.waitForResponse ?? false,
enabled: data.enabled ?? true,
};
const response = await apiRequest<AnyRecord>('/tools/resources', { method: 'POST', body: payload });
@@ -589,6 +591,7 @@ export const updateTool = async (id: string, data: Partial<Tool>): Promise<Tool>
http_timeout_ms: data.httpTimeoutMs,
parameter_schema: data.parameterSchema,
parameter_defaults: data.parameterDefaults,
wait_for_response: data.waitForResponse,
enabled: data.enabled,
};
const response = await apiRequest<AnyRecord>(`/tools/resources/${id}`, { method: 'PUT', body: payload });