n8n
Version:
n8n Workflow Automation Tool
122 lines (121 loc) • 5.16 kB
TypeScript
import { Tool } from '@n8n/agents';
import type { AgentIntegrationConfig } from '@n8n/api-types';
import { z } from 'zod';
import type { IntegrationAction, IntegrationActionDefinition, IntegrationActionExecutor, IntegrationContextQuery, IntegrationContextQueryDefinition, IntegrationContextQueryExecutor, IntegrationMessageContextStore, IntegrationToolConnectionDescriptor, IntegrationToolConnectionSource } from './integration-tool-types';
export interface IntegrationToolCapabilities {
contextQueries?: IntegrationContextQuery[];
actions?: IntegrationAction[];
contextToolDefinitions?: IntegrationContextQueryDefinition[];
actionToolDefinitions?: IntegrationActionDefinition[];
contextToolGuidance?: string[];
actionToolGuidance?: string[];
}
export declare function getIntegrationToolConnectionDescriptors(integrations: AgentIntegrationConfig[], agentId?: string, capabilitiesFor?: (integration: AgentIntegrationConfig) => IntegrationToolCapabilities | undefined): IntegrationToolConnectionDescriptor[];
export declare function buildIntegrationConnectionId(integration: IntegrationToolConnectionSource): string;
export declare function createIntegrationContextTool(params: {
descriptor: IntegrationToolConnectionDescriptor;
messageContextStore: IntegrationMessageContextStore;
queryExecutor: IntegrationContextQueryExecutor;
}): Tool<z.ZodEffects<z.ZodObject<{
query: z.ZodOptional<z.ZodEnum<[IntegrationContextQuery, ...IntegrationContextQuery[]]>>;
input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
queries: z.ZodOptional<z.ZodArray<z.ZodObject<{
query: z.ZodEnum<[IntegrationContextQuery, ...IntegrationContextQuery[]]>;
input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, "strict", z.ZodTypeAny, {
query: IntegrationContextQuery;
input?: Record<string, unknown> | undefined;
}, {
query: IntegrationContextQuery;
input?: Record<string, unknown> | undefined;
}>, "many">>;
}, "strict", z.ZodTypeAny, {
query?: IntegrationContextQuery | undefined;
input?: Record<string, unknown> | undefined;
queries?: {
query: IntegrationContextQuery;
input?: Record<string, unknown> | undefined;
}[] | undefined;
}, {
query?: IntegrationContextQuery | undefined;
input?: Record<string, unknown> | undefined;
queries?: {
query: IntegrationContextQuery;
input?: Record<string, unknown> | undefined;
}[] | undefined;
}>, {
query?: IntegrationContextQuery | undefined;
input?: Record<string, unknown> | undefined;
queries?: {
query: IntegrationContextQuery;
input?: Record<string, unknown> | undefined;
}[] | undefined;
}, {
query?: IntegrationContextQuery | undefined;
input?: Record<string, unknown> | undefined;
queries?: {
query: IntegrationContextQuery;
input?: Record<string, unknown> | undefined;
}[] | undefined;
}>, z.ZodTypeAny, undefined, undefined>;
export declare function createIntegrationActionTool(params: {
descriptor: IntegrationToolConnectionDescriptor;
messageContextStore: IntegrationMessageContextStore;
actionExecutor: IntegrationActionExecutor;
}): Tool<z.ZodEffects<z.ZodObject<{
action: z.ZodOptional<z.ZodEnum<[IntegrationAction, ...IntegrationAction[]]>>;
input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
actions: z.ZodOptional<z.ZodArray<z.ZodObject<{
action: z.ZodEnum<[IntegrationAction, ...IntegrationAction[]]>;
input: z.ZodRecord<z.ZodString, z.ZodUnknown>;
}, "strict", z.ZodTypeAny, {
action: IntegrationAction;
input: Record<string, unknown>;
}, {
action: IntegrationAction;
input: Record<string, unknown>;
}>, "many">>;
}, "strict", z.ZodTypeAny, {
action?: IntegrationAction | undefined;
input?: Record<string, unknown> | undefined;
actions?: {
action: IntegrationAction;
input: Record<string, unknown>;
}[] | undefined;
}, {
action?: IntegrationAction | undefined;
input?: Record<string, unknown> | undefined;
actions?: {
action: IntegrationAction;
input: Record<string, unknown>;
}[] | undefined;
}>, {
action?: IntegrationAction | undefined;
input?: Record<string, unknown> | undefined;
actions?: {
action: IntegrationAction;
input: Record<string, unknown>;
}[] | undefined;
}, {
action?: IntegrationAction | undefined;
input?: Record<string, unknown> | undefined;
actions?: {
action: IntegrationAction;
input: Record<string, unknown>;
}[] | undefined;
}>, z.ZodTypeAny, z.ZodObject<{
type: z.ZodLiteral<"integration_action">;
action: z.ZodString;
integrationConnectionId: z.ZodString;
messageContext: z.ZodUnknown;
}, "strip", z.ZodTypeAny, {
type: "integration_action";
action: string;
integrationConnectionId: string;
messageContext?: unknown;
}, {
type: "integration_action";
action: string;
integrationConnectionId: string;
messageContext?: unknown;
}>, z.ZodRecord<z.ZodString, z.ZodUnknown>>;