Function
new-session
Create a fresh conversation session. MUST be called after
initialize. Returns an owned [session] resource paired with
the initial response record.
new-session: async func(req: new-session-request) -> result<tuple<session, new-session-response>, error>;