import type { ExtensionAPI, ExtensionCommandContext } from "@earendil-works/pi-coding-agent"; import { skillPromptTokens, textTokens } from "./estimate"; import type { ListRow } from "./types"; export const skillRows = (ctx: ExtensionCommandContext): ListRow[] => (ctx.getSystemPromptOptions()?.skills ?? []).map((s) => ({ name: s.name, desc: s.description, tokens: skillPromptTokens(s.name, s.description, s.filePath), })); export const toolRows = (pi: ExtensionAPI): ListRow[] => pi.getAllTools().map((t) => ({ name: t.name, desc: t.sourceInfo?.source ?? "unknown", tokens: textTokens( JSON.stringify({ name: t.name, description: t.description, parameters: t.parameters }), ), })); export const fileRows = (ctx: ExtensionCommandContext): ListRow[] => (ctx.getSystemPromptOptions()?.contextFiles ?? []).map((f) => ({ name: f.path, desc: "", tokens: textTokens(f.content), }));