n8n
Version:
n8n Workflow Automation Tool
27 lines (26 loc) • 1.71 kB
TypeScript
import type { ChatHubCreateToolRequest, ChatHubUpdateToolRequest, ChatHubToolDto } from '@n8n/api-types';
import { Logger } from '@n8n/backend-common';
import { EntityManager, type User } from '@n8n/db';
import type { INode } from 'n8n-workflow';
import { NodeTypes } from '../../node-types';
import type { ChatHubTool } from './chat-hub-tool.entity';
import { ChatHubToolRepository } from './chat-hub-tool.repository';
export declare class ChatHubToolService {
private readonly logger;
private readonly chatToolRepository;
private readonly nodeTypes;
constructor(logger: Logger, chatToolRepository: ChatHubToolRepository, nodeTypes: NodeTypes);
getToolsByUserId(userId: string): Promise<ChatHubTool[]>;
getEnabledTools(userId: string, trx?: EntityManager): Promise<ChatHubTool[]>;
getToolDefinitionsForSession(sessionId: string, trx?: EntityManager): Promise<INode[]>;
getToolDefinitionsForAgent(agentId: string, trx?: EntityManager): Promise<INode[]>;
getToolIdsForSession(sessionId: string, trx?: EntityManager): Promise<string[]>;
getToolIdsForAgent(agentId: string, trx?: EntityManager): Promise<string[]>;
setSessionTools(sessionId: string, toolIds: string[], trx?: EntityManager): Promise<void>;
setAgentTools(agentId: string, toolIds: string[], trx?: EntityManager): Promise<void>;
private validateToolExpressions;
createTool(user: User, data: ChatHubCreateToolRequest): Promise<ChatHubTool>;
updateTool(id: string, user: User, updates: ChatHubUpdateToolRequest, trx?: EntityManager): Promise<ChatHubTool>;
deleteTool(id: string, userId: string, trx?: EntityManager): Promise<void>;
static toDto(tool: ChatHubTool): ChatHubToolDto;
}