| 154 | } |
| 155 | |
| 156 | func (c *unixSocketClient) InvokeTool( |
| 157 | ctx context.Context, |
| 158 | id string, |
| 159 | request ToolInvokeRequest, |
| 160 | ) (ToolInvokeResponseRecord, error) { |
| 161 | request.SessionID = strings.TrimSpace(request.SessionID) |
| 162 | request.WorkspaceID = strings.TrimSpace(request.WorkspaceID) |
| 163 | request.AgentName = strings.TrimSpace(request.AgentName) |
| 164 | request.ToolCallID = strings.TrimSpace(request.ToolCallID) |
| 165 | request.TurnID = strings.TrimSpace(request.TurnID) |
| 166 | request.CorrelationID = strings.TrimSpace(request.CorrelationID) |
| 167 | request.SensitiveInputFields = trimNonEmptyStrings(request.SensitiveInputFields) |
| 168 | var response ToolInvokeResponseRecord |
| 169 | path := "/api/tools/" + url.PathEscape(strings.TrimSpace(id)) + "/invoke" |
| 170 | if err := c.doJSON(ctx, http.MethodPost, path, nil, request, &response); err != nil { |
| 171 | return ToolInvokeResponseRecord{}, err |
| 172 | } |
| 173 | return sanitizeToolInvokeResponse(response), nil |
| 174 | } |
| 175 | |
| 176 | func (c *unixSocketClient) ListToolsets(ctx context.Context, query ToolQuery) (ToolsetsResponseRecord, error) { |
| 177 | var response ToolsetsResponseRecord |