Read geo_shape in native script

How can I read the value of a geo_shape field in a native script back into a JTS Shape?

I've tried doc().get("geometry") which throws a "failed to find field data builder for field geometry, and type geo_shape" error.

Also tried the following:
val raw = source().extractValue("geometry").toString
val parser = XContentType.JSON.xContent.createParser(raw)
val shape = GeoShapeType.parse(parser).build() //throws "shape must be an object consisting of type and coordinates"

I could import another GeoJSON parser (geotools) and parse the "raw" value, but it seems like there would be a way using the provided components.