agentfootprint
Version:
The explainable agent framework — backtrack a wrong answer to the exact context that caused it (evidence, not guesses). Built on footprintjs.
37 lines • 1.75 kB
TypeScript
/**
* `chatBubbleLiveStatus()` — default LiveStatusStrategy.
*
* Pattern: Strategy. Adapter for a consumer-supplied callback.
* Role: The "every chat UI" sink. Wraps a `(line: string) => void`
* callback so the consumer just hands us the function their
* chat-bubble component needs and we drive it on every
* rendered status update.
*
* Use when:
* - Building a chat UI (the host app, Lens, embedded widget) where the
* consumer owns rendering but not state derivation
* - Tier-1 of compose chains (`compose([chatBubble(setLine), stdout()])`
* so dev console mirrors what the user sees)
*
* The callback runs on EVERY status transition. Consumer can debounce
* / coalesce per their needs (we don't impose UI policy).
*/
import type { LiveStatusStrategy } from '../types.js';
export interface ChatBubbleLiveStatusOptions {
/**
* Required — called per status update with the rendered line.
* Pass `setStatus` from your React component, or any function
* whose job is "show this line in the chat bubble."
*
* NOTE: this is INTENTIONALLY the only callback. If you need access
* to the underlying `StatusState` (for color-per-state, animation
* triggers, etc.), build your own `LiveStatusStrategy` directly OR
* use `compose([chatBubbleLiveStatus({onLine}), customStrategy])`.
* We don't surface `StatusState` here because it's an INTERNAL
* shape — exposing it would couple consumer UIs to changes in the
* state machine.
*/
readonly onLine: (line: string) => void;
}
export declare function chatBubbleLiveStatus(opts: ChatBubbleLiveStatusOptions): LiveStatusStrategy;
//# sourceMappingURL=chatBubbleLiveStatus.d.ts.map