An internal helper used for one-off background or utility calls to the model ("forking" a copy of an ongoing conversation to ask it something separately) now returns a structured result that distinguishes several outcomes: aborted, an API error (with status and error details), an empty reply, or a successful answer, plus token usage. Previously it just returned joined text or null.
When there is no warm main-thread conversation available to fork from, it now returns a structured object with isAnswered: false and reason: 'nothing-to-fork' instead of null, with an updated log message.
This lets code calling into this helper tell apart different failure modes (aborted vs. an API error vs. an empty reply) instead of only seeing a missing result, which should make related bugs easier to diagnose.