Spaces:
Configuration error
Configuration error
| import axios, { AxiosRequestConfig, Method } from 'axios' | |
| import { Tool } from 'langchain/tools' | |
| import { ICommonObject } from '../../../src/Interface' | |
| export class MakeWebhookTool extends Tool { | |
| private url: string | |
| name: string | |
| description: string | |
| method: string | |
| headers: ICommonObject | |
| constructor(url: string, description: string, method = 'POST', headers: ICommonObject = {}) { | |
| super() | |
| this.url = url | |
| this.name = 'make_webhook' | |
| this.description = description ?? `useful for when you need to execute tasks on Make` | |
| this.method = method | |
| this.headers = headers | |
| } | |
| async _call(): Promise<string> { | |
| try { | |
| const axiosConfig: AxiosRequestConfig = { | |
| method: this.method as Method, | |
| url: this.url, | |
| headers: { | |
| ...this.headers, | |
| 'Content-Type': 'application/json' | |
| } | |
| } | |
| const response = await axios(axiosConfig) | |
| return typeof response.data === 'object' ? JSON.stringify(response.data) : response.data | |
| } catch (error) { | |
| throw new Error(`HTTP error ${error}`) | |
| } | |
| } | |
| } | |