feat: Add AI tool building capabilities (#7336)

Github issue / Community forum post (link here to close automatically):
https://community.n8n.io/t/langchain-memory-chat/23733

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Val <68596159+valya@users.noreply.github.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
Co-authored-by: Deborah <deborah@starfallprojects.co.uk>
Co-authored-by: Jesper Bylund <mail@jesperbylund.com>
Co-authored-by: Jon <jonathan.bennetts@gmail.com>
Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com>
Co-authored-by: Giulio Andreini <andreini@netseven.it>
Co-authored-by: Mason Geloso <Mason.geloso@gmail.com>
Co-authored-by: Mason Geloso <hone@Masons-Mac-mini.local>
Co-authored-by: Mutasem Aldmour <mutasem@n8n.io>
This commit is contained in:
Jan Oberhauser
2023-11-29 12:13:55 +01:00
committed by GitHub
parent dbfd617ace
commit 87def60979
243 changed files with 21526 additions and 321 deletions

View File

@@ -0,0 +1,68 @@
import {
type ITriggerFunctions,
type INodeType,
type INodeTypeDescription,
type ITriggerResponse,
NodeConnectionType,
} from 'n8n-workflow';
export class ManualChatTrigger implements INodeType {
description: INodeTypeDescription = {
displayName: 'Manual Chat Trigger',
name: 'manualChatTrigger',
icon: 'fa:comments',
group: ['trigger'],
version: [1, 1.1],
description: 'Runs the flow on new manual chat message',
eventTriggerDescription: '',
maxNodes: 1,
defaults: {
name: 'On new manual Chat Message',
color: '#909298',
},
codex: {
categories: ['Core Nodes'],
resources: {
primaryDocumentation: [
{
url: 'https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-langchain.manualchattrigger/',
},
],
},
subcategories: {
'Core Nodes': ['Other Trigger Nodes'],
},
},
inputs: [],
outputs: [NodeConnectionType.Main],
properties: [
{
displayName:
'This node is where a manual chat workflow execution starts. To make one, go back to the canvas and click Chat',
name: 'notice',
type: 'notice',
default: '',
},
{
// eslint-disable-next-line n8n-nodes-base/node-param-display-name-miscased
displayName: 'Chat and execute workflow',
name: 'openChat',
type: 'button',
typeOptions: {
action: 'openChat',
},
default: '',
},
],
};
async trigger(this: ITriggerFunctions): Promise<ITriggerResponse> {
const manualTriggerFunction = async () => {
this.emit([this.helpers.returnJsonArray([{}])]);
};
return {
manualTriggerFunction,
};
}
}