Getting go.Spot value

Is there any function in API that will get me a go.Spot object of some point related to go.Part object? If not how complex is to get such information?

Yes, although I do not know which coordinate system you want the Point to be in.
Use GraphObject.getDocumentPoint and GraphObject.getLocalPoint.
And when you construct a Spot, you can choose to form a completely relative/fractional Spot, a completely absolute offset Spot, or some combination of both. It’s up to you and what you need.

When I read API for these methods I realize that I already have this what I need in LinkShiftingTool.doReshape method. It computes just that Spot value for point against the port. So I just use that code to adopt it for my needs.

Thanks.