24 lines
1006 B
TypeScript
24 lines
1006 B
TypeScript
import { dirname, resolve } from "node:path";
|
|
import { fileURLToPath } from "node:url";
|
|
import type { ExtensionAPI } from "@mariozechner/pi-coding-agent";
|
|
import { registerAnswerCommands } from "./answer-commands.ts";
|
|
import { registerAskSettingsCommand } from "./ask-settings-command.ts";
|
|
import { registerAskTool } from "./ask-tool.ts";
|
|
|
|
const PACKAGE_ROOT = resolve(dirname(fileURLToPath(import.meta.url)), "..");
|
|
const CONFIGURATION_DOC_PATH = resolve(
|
|
PACKAGE_ROOT,
|
|
"docs",
|
|
"configuration.md"
|
|
);
|
|
const PI_ASK_CONFIG_PROMPT = `When the user asks to configure, customize, debug, or explain @eko24ive/pi-ask settings or keymaps, first read ${CONFIGURATION_DOC_PATH} and follow it as the source of truth before editing config files.`;
|
|
|
|
export default function askExtension(pi: ExtensionAPI) {
|
|
pi.on("before_agent_start", async (event) => ({
|
|
systemPrompt: `${event.systemPrompt}\n\n${PI_ASK_CONFIG_PROMPT}`,
|
|
}));
|
|
registerAskTool(pi);
|
|
registerAskSettingsCommand(pi);
|
|
registerAnswerCommands(pi);
|
|
}
|