Various authors, traditionally attributed to John Bunyan for the framing narrative, based on medieval sources.