import { Logger } from "../../logger/types";
import { ToolItem } from "../items/types";
import { ToolItemProccessed, ToolsProcessor } from "./types";
export class ToolsReponseProcessor implements ToolsProcessor {
logger: Logger;
constructor(logger: Logger) {
this.logger = logger;
}
prepareItems(items: ToolItem[]): ToolItemProccessed[] {
return items.map(
(x): ToolItemProccessed => ({
...x,
handle: async (args) => {
const handleResult = await x.handle(args);
if (handleResult.isError) {
return {
content: [{ type: "text", text: "This tool returns an error" }],
};
}
return {
content: [
{ type: "text", text: JSON.stringify(handleResult.data) },
],
};
},
}),
);
}
}