feat(core): Implement Dynamic Parameters within regular nodes used as AI Tools (#10862)

This commit is contained in:
oleg
2024-10-02 13:31:22 +02:00
committed by GitHub
parent ae37035aad
commit ef5b7cf9b7
34 changed files with 1101 additions and 320 deletions

View File

@@ -16,6 +16,7 @@ export class AirtableV2 implements INodeType {
this.description = {
...baseDescription,
...versionDescription,
usableAsTool: true,
};
}

View File

@@ -54,7 +54,7 @@ export const description: INodeProperties[] = [
action: 'Update record',
},
],
default: 'read',
default: 'get',
displayOptions: {
show: {
resource: ['record'],

View File

@@ -41,6 +41,7 @@ export class Baserow implements INodeType {
},
inputs: [NodeConnectionType.Main],
outputs: [NodeConnectionType.Main],
usableAsTool: true,
credentials: [
{
name: 'baserowApi',

View File

@@ -22,6 +22,7 @@ const versionDescription: INodeTypeDescription = {
},
inputs: [NodeConnectionType.Main],
outputs: [NodeConnectionType.Main],
usableAsTool: true,
credentials: [
{
name: 'smtp',

View File

@@ -42,6 +42,7 @@ export class GoogleCalendar implements INodeType {
},
inputs: [NodeConnectionType.Main],
outputs: [NodeConnectionType.Main],
usableAsTool: true,
credentials: [
{
name: 'googleCalendarOAuth2Api',

View File

@@ -36,6 +36,7 @@ export class GoogleDocs implements INodeType {
},
inputs: [NodeConnectionType.Main],
outputs: [NodeConnectionType.Main],
usableAsTool: true,
credentials: [
{
name: 'googleApi',

View File

@@ -19,6 +19,7 @@ export const versionDescription: INodeTypeDescription = {
},
inputs: [NodeConnectionType.Main],
outputs: [NodeConnectionType.Main],
usableAsTool: true,
credentials: [
{
name: 'googleApi',

View File

@@ -46,6 +46,7 @@ const versionDescription: INodeTypeDescription = {
},
inputs: [NodeConnectionType.Main],
outputs: [NodeConnectionType.Main],
usableAsTool: true,
credentials: [
{
name: 'googleApi',

View File

@@ -17,6 +17,7 @@ export const versionDescription: INodeTypeDescription = {
},
inputs: [NodeConnectionType.Main],
outputs: [NodeConnectionType.Main],
usableAsTool: true,
hints: [
{
message:

View File

@@ -24,6 +24,7 @@ export class HackerNews implements INodeType {
},
inputs: [NodeConnectionType.Main],
outputs: [NodeConnectionType.Main],
usableAsTool: true,
properties: [
// ----------------------------------
// Resources

View File

@@ -53,6 +53,7 @@ export class Jira implements INodeType {
},
inputs: [NodeConnectionType.Main],
outputs: [NodeConnectionType.Main],
usableAsTool: true,
credentials: [
{
name: 'jiraSoftwareCloudApi',

View File

@@ -22,6 +22,7 @@ export const description: INodeTypeDescription = {
},
inputs: [NodeConnectionType.Main],
outputs: [NodeConnectionType.Main],
usableAsTool: true,
credentials: [
{
name: 'microsoftOutlookOAuth2Api',

View File

@@ -37,6 +37,7 @@ export class MicrosoftSql implements INodeType {
},
inputs: [NodeConnectionType.Main],
outputs: [NodeConnectionType.Main],
usableAsTool: true,
parameterPane: 'wide',
credentials: [
{

View File

@@ -45,6 +45,7 @@ export class MongoDb implements INodeType {
},
inputs: [NodeConnectionType.Main],
outputs: [NodeConnectionType.Main],
usableAsTool: true,
credentials: [
{
name: 'mongoDb',

View File

@@ -16,6 +16,7 @@ export const versionDescription: INodeTypeDescription = {
},
inputs: [NodeConnectionType.Main],
outputs: [NodeConnectionType.Main],
usableAsTool: true,
credentials: [
{
name: 'mySql',

View File

@@ -29,6 +29,7 @@ export class NocoDB implements INodeType {
},
inputs: [NodeConnectionType.Main],
outputs: [NodeConnectionType.Main],
usableAsTool: true,
credentials: [
{
name: 'nocoDb',

View File

@@ -26,6 +26,7 @@ export const versionDescription: INodeTypeDescription = {
},
inputs: [NodeConnectionType.Main],
outputs: [NodeConnectionType.Main],
usableAsTool: true,
credentials: [
{
name: 'notionApi',

View File

@@ -16,6 +16,7 @@ export const versionDescription: INodeTypeDescription = {
},
inputs: [NodeConnectionType.Main],
outputs: [NodeConnectionType.Main],
usableAsTool: true,
credentials: [
{
name: 'postgres',

View File

@@ -29,6 +29,7 @@ export class Redis implements INodeType {
},
inputs: [NodeConnectionType.Main],
outputs: [NodeConnectionType.Main],
usableAsTool: true,
credentials: [
{
name: 'redis',

View File

@@ -39,6 +39,7 @@ export class SlackV2 implements INodeType {
},
inputs: [NodeConnectionType.Main],
outputs: [NodeConnectionType.Main],
usableAsTool: true,
credentials: [
{
name: 'slackApi',

View File

@@ -43,6 +43,7 @@ export class Supabase implements INodeType {
},
inputs: [NodeConnectionType.Main],
outputs: [NodeConnectionType.Main],
usableAsTool: true,
credentials: [
{
name: 'supabaseApi',

View File

@@ -10,8 +10,8 @@ import type {
} from 'n8n-workflow';
import { BINARY_ENCODING, NodeConnectionType, NodeOperationError } from 'n8n-workflow';
import { addAdditionalFields, apiRequest, getPropertyName } from './GenericFunctions';
import { appendAttributionOption } from '../../utils/descriptions';
import { addAdditionalFields, apiRequest, getPropertyName } from './GenericFunctions';
export class Telegram implements INodeType {
description: INodeTypeDescription = {
@@ -25,6 +25,7 @@ export class Telegram implements INodeType {
defaults: {
name: 'Telegram',
},
usableAsTool: true,
inputs: [NodeConnectionType.Main],
outputs: [NodeConnectionType.Main],
credentials: [

View File

@@ -44,6 +44,7 @@ export class WooCommerce implements INodeType {
},
inputs: [NodeConnectionType.Main],
outputs: [NodeConnectionType.Main],
usableAsTool: true,
credentials: [
{
name: 'wooCommerceApi',