/** * The words, in one place. * * These lived in the Ink component, so the browser had no way to reach them and showed a bare * "working" instead — the same turn narrated with personality in one window and flatly in the * other. Nothing here is terminal-specific: it is vocabulary and a rule for choosing from it. */ /** * What KONECK says it is doing, and what it says it did. * * Grouped by how much work the turn turned out to be, so the wording matches the wait: a * sub-three-second answer gets something snappy, a two-minute one gets something that sounds * like effort, and a turn that had to recover from a failed tool gets a clutch verb. The word * shown while working escalates through the tiers as time passes, and the finished row reports * the tense that matches the real elapsed time. * * Apostrophes are ASCII on purpose: U+2019 is East Asian Ambiguous, the same class of character * that used to tear the panel borders. */ export type WorkTier = 'reply' | 'quick' | 'normal' | 'heavy' | 'recovery'; export declare const WORK_WORDS: Record>; /** Which vocabulary the wait deserves. */ /** What a turn actually amounted to, which is what the wording should follow. */ export interface TurnEffort { elapsedMs: number; /** Tools the turn ran. Zero means it only thought and answered. */ tools: number; /** Output tokens produced. */ tokens: number; /** A tool failed and the turn recovered from it. */ recovered: boolean; } /** * Whether the turn earned a verb at all. * * "Cooked lekker in 5.0s" for answering "hi" is a boast about nothing: no tool ran, ten tokens * came back, and the only reason it took five seconds is that the provider is slow. Elapsed time * alone cannot tell effort from latency, so a turn that ran no tools and said almost nothing gets * its timing reported plainly and no verb. */ export declare function shouldName(effort: TurnEffort): boolean; /** * Which family of words fits. * * Time still decides between quick, normal and heavy, but only once the turn has done something. * A turn with no tools belongs to `reply` however long it took, because nothing was built and a * cooking verb would be describing work that never happened. */ export declare function tierFor(effort: TurnEffort): WorkTier; /** * The gerund to show while working, and the past tense to report when the turn lands. * * The past tense is empty when the turn did not earn one, which the caller renders as timing * alone. */ export declare function workWord(effort: TurnEffort, seed: number): readonly [string, string]; //# sourceMappingURL=work-words.d.ts.map