Feature/Custom Tool OverrideConfig (#1979)

add ability to override custom tool
This commit is contained in:
Henry Heng 2024-03-18 15:22:36 +08:00 committed by GitHub
parent cd4c659009
commit bb7373ee62
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 9 additions and 0 deletions

View File

@ -63,6 +63,9 @@ class CustomTool_Tools implements INode {
async init(nodeData: INodeData, _: string, options: ICommonObject): Promise<any> { async init(nodeData: INodeData, _: string, options: ICommonObject): Promise<any> {
const selectedToolId = nodeData.inputs?.selectedTool as string const selectedToolId = nodeData.inputs?.selectedTool as string
const customToolFunc = nodeData.inputs?.customToolFunc as string const customToolFunc = nodeData.inputs?.customToolFunc as string
const customToolName = nodeData.inputs?.customToolName as string
const customToolDesc = nodeData.inputs?.customToolDesc as string
const customToolSchema = nodeData.inputs?.customToolSchema as string
const appDataSource = options.appDataSource as DataSource const appDataSource = options.appDataSource as DataSource
const databaseEntities = options.databaseEntities as IDatabaseEntity const databaseEntities = options.databaseEntities as IDatabaseEntity
@ -80,6 +83,12 @@ class CustomTool_Tools implements INode {
code: tool.func code: tool.func
} }
if (customToolFunc) obj.code = customToolFunc if (customToolFunc) obj.code = customToolFunc
if (customToolName) obj.name = customToolName
if (customToolDesc) obj.description = customToolDesc
if (customToolSchema) {
const zodSchemaFunction = new Function('z', `return ${customToolSchema}`)
obj.schema = zodSchemaFunction(z)
}
const variables = await getVars(appDataSource, databaseEntities, nodeData) const variables = await getVars(appDataSource, databaseEntities, nodeData)