/** * This file is part of the NocoBase (R) project. * Copyright (c) 2020-2024 NocoBase Co., Ltd. * Authors: NocoBase Team. * * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License. * For more information, please refer to: https://www.nocobase.com/agreement. */ import { DirectoryScanner, DirectoryScannerOptions, FileDescriptor } from './scanner'; import { AIManager } from '../ai-manager'; import { LoadAndRegister } from './types'; import { Logger } from '@nocobase/logger'; import { AIEmployeeOptions, AIEmployeeToolSetting } from '../ai-employee-manager'; export type AIEmployeeLoaderOptions = { pluginName: string; scan: DirectoryScannerOptions; log?: Logger; }; export declare class AIEmployeeLoader extends LoadAndRegister { protected readonly ai: AIManager; protected readonly options: AIEmployeeLoaderOptions; protected readonly scanner: DirectoryScanner; protected files: FileDescriptor[]; protected employeeDescriptors: AIEmployeeDescriptor[]; protected log: Logger; constructor(ai: AIManager, options: AIEmployeeLoaderOptions); protected scan(): Promise; protected import(): Promise; protected register(): Promise; } export type AIEmployeeDescriptor = { name: string; employeeRoot: string; file: FileDescriptor; options: AIEmployeeOptions; }; export declare function normalizeAIEmployeeToolSetting(tool?: string | AIEmployeeToolSetting): AIEmployeeToolSetting | undefined;