mirror of
https://bitbucket.org/siakitem/my-pi.git
synced 2026-08-28 08:35:57 +00:00
22 lines
801 B
TypeScript
22 lines
801 B
TypeScript
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
import tavilyExtension from "../node_modules/@tavily/pi-extension/index.ts";
|
|
import { prefixTavilyTool, type TavilyToolDefinition } from "./tavily-tool-prefix.ts";
|
|
|
|
|
|
/** Load Tavily while making the provider explicit in every registered tool name. */
|
|
export default function tavilyOverrideExtension(pi: ExtensionAPI): void {
|
|
const prefixedPi = new Proxy(pi, {
|
|
get(target, property) {
|
|
if (property === "registerTool") {
|
|
return (definition: TavilyToolDefinition) =>
|
|
(target.registerTool as (tool: unknown) => void)(prefixTavilyTool(definition));
|
|
}
|
|
|
|
const value = Reflect.get(target, property, target);
|
|
return typeof value === "function" ? value.bind(target) : value;
|
|
},
|
|
});
|
|
|
|
tavilyExtension(prefixedPi);
|
|
}
|