repositories / pi-ext
pi-ext
bugabingas pi extensions
owned by admin
extensions/context-size/src/pi-ext-footer-segment.ts
Raw// Generated by scripts/codegen.mjs. DO NOT EDIT.
// ============================================================================
// THIS FILE IS GENERATED. DO NOT EDIT IT DIRECTLY.
// Instead, edit scripts/codegen/templates/pi-ext-footer-segment.ts.
// Then run: mise run //:codegen
// ============================================================================
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 });
}