feat: add tool schema layout

This commit is contained in:
2026-09-05 17:30:34 +05:00
parent cad9bf6cfd
commit d48262e482
5 changed files with 151 additions and 27 deletions
+16 -2
View File
@@ -205,16 +205,30 @@ export interface Field<T> {
__fieldT?: T;
}
export interface ToolLayoutGroup {
/** Подпись группы (пустая группа не рендерится). */
title?: string;
/** Количество колонок сетки внутри группы (по умолчанию 1). */
cols?: number;
/** Имена полей схемы, попадающих в группу. */
fields: string[];
}
export interface ToolSchemaLayout {
/** Группы полей виджета. Неупомянутые поля — в общей группе в конце. */
groups: ToolLayoutGroup[];
}
export interface ToolSchemaMeta {
/** Пер-инструмент раскладка полей (группировка/колонки). */
layout?: { group?: string; cols?: number };
layout?: ToolSchemaLayout;
/** Короткая подпись инструмента для нового UI (необязательно). */
label?: string;
}
export interface ToolSchema<P> {
fields: { [K in keyof P]: Field<P[K]> };
layout?: { group?: string; cols?: number };
layout?: ToolSchemaLayout;
label?: string;
}