/** * Command/narration event emitter for the coordination layer. * * `writeSessionEvent` records command spans in the canonical V3 ledger. */ /** Event types accepted by `writeSessionEvent`. */ export type SessionEventType = "command.started" | "command.output_observed" | "command.completed"; /** * Resolved path of the ndjson sidecar file. Lives inside `.harnery/` so a * containerized reader can pick it up through a single bind mount. */ export declare function coordinationRootPath(): string; /** Random 8-char hex id for grouping output lines under a single command. */ export declare function newCmdId(): string; /** * Read the model's most recent `...` declaration from the * intent-stamp file written by the PreToolUse hook. Returns null when the * file is missing, empty, or contains the explicit `(no intent)` sentinel. * Callers fall back to whatever default they want in that case. * * Path: `.harnery/.last-intent.` next to the agent's heartbeat. */ export declare function readLastIntent(instanceId?: string): string | null; /** * Record a command event in V3. Best-effort, never throws into the caller; * telemetry must not break or slow a command. */ export declare function writeSessionEvent(type: SessionEventType, fields?: Record): void; /** Trim long values to keep individual events small. */ export declare function clampField(v: string, max?: number): string; //# sourceMappingURL=session-events.d.ts.map