const { Tool } = require('langchain/tools'); | |
/** | |
* Represents a tool that allows an agent to ask a human for guidance when they are stuck | |
* or unsure of what to do next. | |
* @extends Tool | |
*/ | |
export class HumanTool extends Tool { | |
/** | |
* The name of the tool. | |
* @type {string} | |
*/ | |
name = 'Human'; | |
/** | |
* A description for the agent to use | |
* @type {string} | |
*/ | |
description = `You can ask a human for guidance when you think you | |
got stuck or you are not sure what to do next. | |
The input should be a question for the human.`; | |
/** | |
* Calls the tool with the provided input and returns a promise that resolves with a response from the human. | |
* @param {string} input - The input to provide to the human. | |
* @returns {Promise<string>} A promise that resolves with a response from the human. | |
*/ | |
_call(input) { | |
return Promise.resolve(`${input}`); | |
} | |
} | |