import type { ExtensionAPI } from "@earendil-works/pi-coding-agent"; import { ConfigStore } from "./config"; import { makeSearchTool } from "./tools/search"; import { makeAddTool } from "./tools/add"; import { makeMemoryTools } from "./tools/memory"; import { makeAskTool } from "./tools/ask"; import { makeConfigureTool } from "./tools/configure"; const projectName = process.cwd().split("/").filter(Boolean).pop() ?? "unknown"; const store = ConfigStore.create(projectName); export default function (pi: ExtensionAPI) { if (store.client) { pi.on("session_start", async (_event, ctx) => { ctx.ui.notify( `AlchemystAI extension loaded (scope: ${store.config.groupName.join(", ")})`, "info", ); }); } else { pi.on("session_start", async (_event, ctx) => { ctx.ui.notify( "AlchemystAI API key not configured — use alchemyst_configure to set it", "warning", ); }); } pi.registerTool(makeSearchTool(store)); pi.registerTool(makeAddTool(store)); pi.registerTool(makeAskTool(store)); pi.registerTool(makeConfigureTool(store)); const memoryTools = makeMemoryTools(store); pi.registerTool(memoryTools.add); pi.registerTool(memoryTools.update); }