reporters/herdr-probe

Source: src/reporters/herdr-probe.ts

Asking herdr whether it would open a pane, without opening one.

/herdr on used to answer one question - are we inside herdr - and that was the wrong one. A herdr that is there and refuses every request looks exactly like a herdr that is there and works: the reporter drops a pane it cannot open, silently, because display is an observer and an observer that warns is a participant. agent.start changed shape between protocols and nothing said a word for two releases.

So the command asks, and the trick is the pane it names. Sent with a target_pane_id that cannot exist, pane.split separates the two answers herdr gives: invalid_request when the request itself is wrong, and pane_not_found when the request was understood and only that pane was missing. The second is the one we are fishing for, and neither opens anything.

It probes pane.split alone, because nothing else runs without the pane id it returns. scripts/check-herdr.ts is what covers the other five, against the schema rather than against a live server.

probeHerdr

function

export async function probeHerdr(send: HerdrSend): Promise<string | undefined> { /* … */ }

Why a pane would not open, or undefined when one would.

Never throws: a broken probe must not be worse than no probe.