co-mono/.pi/hooks/test-command.ts
Mario Zechner 30cd723411 Hook commands: remove string return, use sendMessage() for prompting
- Command handler now returns Promise<void> instead of Promise<string | undefined>
- To trigger LLM response, use sendMessage() with triggerTurn: true
- Simplify _tryExecuteHookCommand to return boolean

Added example hook and slash command in .pi/:
- .pi/hooks/test-command.ts - /greet command using sendMessage
- .pi/commands/review.md - file-based /review command
2025-12-30 22:42:18 +01:00

24 lines
616 B
TypeScript

/**
* Test hook that registers a /greet command.
* Usage: /greet [name]
*/
import type { HookAPI } from "@mariozechner/pi-coding-agent/hooks";
export default function (pi: HookAPI) {
pi.registerCommand("greet", {
description: "Send a greeting message to the LLM",
handler: async (ctx) => {
const name = ctx.args.trim() || "world";
// Insert a custom message and trigger LLM response
ctx.sendMessage(
{
customType: "greeting",
content: `Hello, ${name}! Please say something nice about them.`,
display: true,
},
true, // triggerTurn - get LLM to respond
);
},
});
}