779ca4872b
- Removed Prettier configuration files (.prettierignore and .prettierrc) and migrated formatting to Biome. - Updated Biome configuration from version 2.3.11 to 2.3.12 and changed arrowParentheses rule from 'always' to 'asNeeded'. - Pinned @biomejs/biome dependency to exact version 2.3.12 in package.json and bun.lock. - Applied consistent arrow function formatting across 489 files by removing unnecessary parentheses around single parameters. - Removed blank lines after comment blocks and reorganized imports for consistency across the codebase.
33 lines
841 B
TypeScript
33 lines
841 B
TypeScript
/**
|
|
* Hello Tool - Minimal custom tool example
|
|
*
|
|
* Demonstrates using ExtensionAPI's logger, typebox, and pi module access.
|
|
*/
|
|
import type { ExtensionAPI } from "@oh-my-pi/pi-coding-agent";
|
|
|
|
export default function (pi: ExtensionAPI) {
|
|
// Access TypeBox via pi.typebox (no need to import separately)
|
|
const { Type } = pi.typebox;
|
|
|
|
pi.registerTool({
|
|
name: "hello",
|
|
label: "Hello",
|
|
description: "A simple greeting tool",
|
|
parameters: Type.Object({
|
|
name: Type.String({ description: "Name to greet" }),
|
|
}),
|
|
|
|
async execute(_toolCallId, params, _onUpdate, _ctx, _signal) {
|
|
const { name } = params as { name: string };
|
|
|
|
// Use logger for debugging
|
|
pi.logger.debug("Hello tool executed", { name });
|
|
|
|
return {
|
|
content: [{ type: "text", text: `Hello, ${name}!` }],
|
|
details: { greeted: name },
|
|
};
|
|
},
|
|
});
|
|
}
|