mirror of
https://bitbucket.org/siakitem/my-pi.git
synced 2026-08-28 08:35:57 +00:00
feat: add routed online search providers
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
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);
|
||||
}
|
||||
Reference in New Issue
Block a user