Attaches callbacks for the resolution and/or rejection of the Promise.
then<
TResult1 = AIMessage<MessageStructure<MessageToolSet>>,
TResult2 = never
>(
onfulfilled: (value: AIMessage) => TResult1 | PromiseLike<TResult1> | null, onrejected: (reason: unknown) => TResult2 | PromiseLike<TResult2> | null
): PromiseLike<TResult1 | TResult2>