Diagnostics: something wrong.
Resolves once every queued entry has reached the backing logger.
Optionaloptions: { timeoutMs?: number }Rendering an SDK object is async, so a log(range) may still be in flight when the script
returns. The runtime awaits this before reporting the run, which is what guarantees the log is
complete (and correctly ordered) by the time a caller reads it.
With timeoutMs, a value still unsettled when it elapses prints as [pending] and a single
warn says how many did. Only that value is given up: the rest of its line, and every line
queued behind it, is still written in order. Without it (or with 0), flush waits as long
as the slowest logged promise - forever for one that never settles.
The reporting channel - findings and results.
Diagnostics: something surprising but survivable.
The variadic output channels handed to a script or snippet as
log/warn/error.Remarks
Deliberately NOT an ILogger: this is the agent-facing surface, so it takes a
console-style argument list rather than(message, options). Anything an author would reasonably pass renders - strings, values, and SDK objects (a range, a stats report) via the injected LogRenderer.