enotkrutoy's picture
Upload 19 files
a992a28 verified
export enum ToolType {
REST_API = 'REST_API',
CLI = 'CLI',
DATABASE = 'DATABASE',
CUSTOM = 'CUSTOM',
UTILITY = 'UTILITY',
CALCULATOR = 'CALCULATOR',
CONVERTER = 'CONVERTER'
}
export enum ParameterType {
STRING = 'str',
INTEGER = 'int',
FLOAT = 'float',
BOOLEAN = 'bool',
LIST = 'list',
DICTIONARY = 'dict'
}
export interface ParameterDefinition {
id: string;
name: string;
type: ParameterType;
description: string;
required: boolean;
}
export interface FunctionDefinition {
id: string;
name: string;
description: string;
parameters: ParameterDefinition[];
returnType: ParameterType;
returnDescription: string;
}
export interface ToolDefinition {
name: string;
type: ToolType;
dependencies: string;
functions: FunctionDefinition[];
}
export interface GeneratedCode {
setupPy: string;
serverPy: string;
settingsJson: string;
geminiMd: string;
examplesMd: string;
}
// Экспортируем для использования в AI промпте
export const initialFunctionForPrompt: Omit<FunctionDefinition, 'id'> = {
name: 'example_function',
description: 'Краткое описание того, что делает эта функция.',
parameters: [
{
id: 'param-id-1', // id здесь для примера, в реальности он генерируется
name: 'example_param',
type: ParameterType.STRING,
description: 'Описание параметра.',
required: true,
},
],
returnType: ParameterType.STRING,
returnDescription: 'Описание возвращаемого значения.',
};