n8n
Version:
n8n Workflow Automation Tool
50 lines (49 loc) • 1.85 kB
TypeScript
import type { CodeBuilderSearchResult, NodeRequest, NodeTypeParser } from '@n8n/ai-utilities/node-catalog';
import { Logger } from '@n8n/backend-common';
import { LoadNodesAndCredentials } from '../load-nodes-and-credentials';
export type NodeFilter = (nodeId: string) => boolean;
export interface SearchNodesOptions {
nodeFilter?: NodeFilter;
}
export interface NodeTypeDefinitionRequest {
nodeId: string;
version?: string;
resource?: string;
operation?: string;
mode?: string;
}
export interface NodeTypeDefinitionResult {
content: string;
version?: string;
error?: string;
builderHint?: string;
}
export declare class NodeCatalogService {
private readonly loadNodesAndCredentials;
private readonly logger;
private nodeTypeParser;
private nodeDefinitionDirs;
private descriptionsById;
private initPromise;
private readonly searchStates;
private readonly getCache;
private readonly getDefinitionCache;
private readonly suggestCache;
constructor(loadNodesAndCredentials: LoadNodesAndCredentials, logger: Logger);
initialize(): Promise<void>;
getNodeTypeParser(): NodeTypeParser;
getNodeDefinitionDirs(): string[];
searchNodes(queries: string[], options?: SearchNodesOptions): Promise<CodeBuilderSearchResult>;
getNodeTypes(nodeIds: NodeRequest[]): Promise<string>;
getNodeTypeDefinition(request: NodeTypeDefinitionRequest): Promise<NodeTypeDefinitionResult>;
getSuggestedNodes(categories: string[]): Promise<string>;
private doInitialize;
private refreshNodeTypes;
private indexDescriptions;
private toDefinitionRequest;
private getBuiltinNodeTypeDefinition;
private getSynthesizedNodeTypeDefinition;
private selectDescription;
private versionNotFoundError;
private resolveBuiltinNodeDefinitionDirs;
}