/** * Session-name presence for `turn.completed`. * * While the current V3 coordination row carries a `suggested_session_name`, report whether the * naming ritual is satisfied: either the immediate post-mint assistant text * showed the exact block, or an earlier PreToolUse already stamped it. The * transcript callback must enforce ordering and block shape; a late final * answer or a tool result must not count. * * Two properties the stop-hook naming rule depends on: * * 1. Once a name is satisfied, every later stop keeps reporting `true` rather * than omitting the field. The rule wants an in-window `turn.completed` carrying * `session_name_present: true`; omitting it after the coordination stamp meant * nothing could ever re-emit the flag, so every subsequent reply blocked -- * including the replies reproducing the exact name the rule asked for. * 2. The result names WHICH suggested name it covered, so a projector rebuild * attributes the sighting to that name instead of to whichever name is * current during the replay. Without it, a re-minted name inherited an older * name's sighting and looked satisfied without ever having been shown. * * Never throws: coordination telemetry must not take down a hook. */ export interface SessionNamePresence { session_name_present?: boolean; session_name_present_for?: string; } export declare function sessionNamePresence(coordRoot: string, instanceId: string, scanAssistantText: (name: string) => boolean): SessionNamePresence; //# sourceMappingURL=session-name-presence.d.ts.map