import { type AgentTitleParts } from "../timeline/platform-activity-presentation.js"; import type { MachineInputMember } from "../timeline/types.js"; import { type OpenGeniText } from "../messages/runtime.js"; export declare const MACHINE_INPUT_META: (t: OpenGeniText) => Record; /** * Collapsed landmark label for a coalesced machine-input batch. * Same-kind batches get a natural plural; mixed kinds stay short. * When every agent update's sender has a known title, the label names them * ("Update from Release audit", "3 updates from Audit and Flake · Wait ended"). */ export declare function machineInputBatchLabel(t: OpenGeniText, members: readonly MachineInputMember[], titleFor?: ((sessionId: string) => string | null) | undefined): string; /** Strip protocol prefixes and worker/session UUIDs from display summaries. */ export declare function cleanMachineInputSummary(summary: string): string; export declare function readableMachineInputSource(sourceId: string): string | null; /** True when a cleaned single-member summary adds meaning beyond the pill label. */ export declare function machineInputSummaryIsUseful(t: OpenGeniText, kind: MachineInputMember["kind"], cleanedSummary: string): boolean; /** Members sent by (or about) another agent session. */ export declare function isAgentMember(member: Pick): boolean; /** The agent session a member came from; only typed UUID sources route. */ export declare function agentMemberSessionId(member: Pick): string | null; /** * The row title for an agent member. A child result only means the agent went * idle, so it reads "Result from …", never "finished". */ export declare function agentMemberTitle(t: OpenGeniText, member: Pick, name: string | null): AgentTitleParts; /** * Human text for an agent member: the agent's own words where the summary * carries them, without the model-facing "Worker …" framing. `preview` * is the most useful single passage; `body` is everything worth reading. */ export declare function agentMemberText(t: OpenGeniText, member: Pick): { preview: string; body: string; };