Files
2026-07-13 12:22:59 +08:00

32 lines
747 B
TypeScript

/**
* Hello Tool - Minimal custom tool example
*
* Demonstrates using ExtensionAPI's logger, injected `pi.zod`, and pi module access.
*/
import type { ExtensionAPI } from "@oh-my-pi/pi-coding-agent";
export default function (pi: ExtensionAPI) {
const { z } = pi.zod;
pi.registerTool({
name: "hello",
label: "Hello",
description: "A simple greeting tool",
parameters: z.object({
name: z.string().describe("Name to greet"),
}),
async execute(_toolCallId, params, _onUpdate, _ctx, _signal) {
const { name } = params;
// Use logger for debugging
pi.logger.debug("Hello tool executed", { name });
return {
content: [{ type: "text", text: `Hello, ${name}!` }],
details: { greeted: name },
};
},
});
}