/** * Presence: does an INTERACTIVE process for this session id exist in the * given process listing? Pure over injected rows - the host polls `ps` and * feeds rows in. Presence says a process exists; it never creates a tap, * never proves a channel, and never decides attachment (that is the chat * layer's liveness state machine). Known blind spot, inherent to argv * matching and shared with v1: an interactive session whose argv carries no * id (`claude --continue`) is invisible here - false-negative is the safe * direction, because presence only ever corroborates. */ import type { HarnessDescriptor } from "../knowledge/descriptor.js"; export interface ProcessRow { readonly argv: string; } export declare const isInteractive: (h: HarnessDescriptor, sessionId: string, rows: readonly ProcessRow[]) => boolean; //# sourceMappingURL=presence.d.ts.map