import type { ExtensionAPI, ThemeColor } from "@earendil-works/pi-coding-agent"; export type FooterSegment = { id: string; text: string; variants?: string[]; icon?: string; color?: ThemeColor; bar?: number; suffix?: string; zone: "workspace" | "llm"; group?: string; separator?: string; gap?: number; order?: number; }; type FooterSegmentEvent = FooterSegment | { id: string; text: undefined }; function emitFooterSegment( pi: ExtensionAPI, segment: FooterSegmentEvent, ): boolean { let accepted = false; pi.events.emit("footer:segment", { ...segment, accept: () => { accepted = true; }, }); return accepted; } /** Offer a footer segment and report its synchronous acceptance. */ export function offerFooterSegment( pi: ExtensionAPI, segment: FooterSegment, ): boolean { return emitFooterSegment(pi, segment); } /** Remove a footer segment and report its synchronous acceptance. */ export function removeFooterSegment(pi: ExtensionAPI, id: string): boolean { return emitFooterSegment(pi, { id, text: undefined }); }