| list_projectsA | Получить список всех проектов, доступных текущему пользователю. |
| create_projectB | Создать новый проект. Args:
project_name: Название проекта.
project_description: Описание проекта (необязательно).
|
| edit_projectA | Изменить название и/или описание проекта. Args:
project_uuid: UUID проекта.
project_name: Новое название проекта (если нужно изменить).
project_description: Новое описание проекта (если нужно изменить).
|
| delete_projectA | Удалить проект вместе со всеми его схемами, таблицами и связями. Args:
project_uuid: UUID проекта.
|
| list_schemasB | Получить список схем внутри проекта. Args:
project_uuid: UUID проекта.
|
| create_schemaA | Создать новую схему в проекте. Args:
project_uuid: UUID проекта.
schema_name: Название схемы (например, users, orders).
schema_description: Описание схемы (необязательно).
|
| edit_schemaB | Изменить название и/или описание схемы. Args:
project_uuid: UUID проекта.
schema_uuid: UUID схемы.
schema_name: Новое название схемы.
schema_description: Новое описание схемы (необязательно).
|
| delete_schemaA | Удалить схему вместе со всеми таблицами, колонками и связями. Args:
project_uuid: UUID проекта.
schema_uuid: UUID схемы.
|
| commit_schemaB | Зафиксировать текущее состояние схемы коммитом в указанной ветке. Args:
project_uuid: UUID проекта.
schema_uuid: UUID схемы.
branch_name: Ветка, в которую создаётся коммит (по умолчанию main).
|
| analyze_schemaB | Запустить анализ схемы: метрики, правила качества, риски миграций. Args:
project_uuid: UUID проекта.
schema_uuid: UUID схемы.
|
| ai_preview_schemaA | Запустить генерацию структуры схемы через ИИ (возвращает ID задачи). Режим 'create' — новая схема с нуля по описанию; режим 'modify' — изменения
текущей схемы с учётом контекста. Затем дождитесь результата через
ai_get_preview и примените через ai_apply_schema.
Args:
project_uuid: UUID проекта.
schema_uuid: UUID схемы.
prompt: Текстовое описание того, что нужно создать/изменить.
mode: Режим работы ИИ: 'create' или 'modify'.
current_schema: Текущая схема как контекст для режима modify (необязательно).
|
| ai_get_previewA | Получить результат AI-задачи генерации схемы по её UUID. Args:
project_uuid: UUID проекта.
schema_uuid: UUID схемы.
task_uuid: UUID задачи из ai_preview_schema.
|
| ai_apply_schemaB | Применить сгенерированный ИИ SQL к схеме в указанной ветке. Args:
project_uuid: UUID проекта.
schema_uuid: UUID схемы.
sql: SQL из результата AI-генерации.
mode: Режим работы ИИ: 'create' или 'modify'.
branch_name: Ветка, в которую применяются изменения (по умолчанию main).
|
| get_diagramA | Получить полную структуру схемы: таблицы, колонки, связи, группы. Используйте этот инструмент, чтобы понять текущее состояние схемы перед
внесением изменений.
Args:
schema_uuid: UUID схемы.
branch_name: Ветка схемы (по умолчанию main).
|
| create_tableA | Создать таблицу в схеме. Args:
schema_uuid: UUID схемы.
table_name: Название таблицы.
columns: Список колонок, например
[{"column_name": "id", "column_type": "uuid", "is_primary": true,
"is_nullable": false, "column_default": "gen_random_uuid()"}].
position_x: Координата X на холсте.
position_y: Координата Y на холсте.
table_color: Цвет таблицы в HEX (по умолчанию #38bdf8).
branch_name: Ветка схемы (по умолчанию main).
|
| edit_tableB | Изменить свойства таблицы (название, позицию на холсте, цвет). Args:
schema_uuid: UUID схемы.
table_uuid: UUID таблицы.
table_name: Новое название таблицы.
position_x: Новая координата X.
position_y: Новая координата Y.
table_color: Новый цвет в HEX.
branch_name: Ветка схемы (по умолчанию main).
|
| delete_tableB | Удалить таблицу вместе с колонками и связями. Args:
schema_uuid: UUID схемы.
table_uuid: UUID таблицы.
branch_name: Ветка схемы (по умолчанию main).
|
| batch_edit_tablesA | Массово изменить несколько таблиц одним запросом. Args:
schema_uuid: UUID схемы.
items: Список изменений, например
[{"table_uuid": "uuid", "data": {"position_x": 100, "position_y": 200}}].
branch_name: Ветка схемы (по умолчанию main).
|
| create_columnB | Добавить колонку в таблицу. Args:
schema_uuid: UUID схемы.
table_uuid: UUID таблицы.
column_name: Название колонки.
column_type: Тип данных PostgreSQL (например, uuid, bigint, text).
is_primary: Является ли колонка первичным ключом.
is_nullable: Может ли колонка содержать NULL.
column_default: Значение по умолчанию (например, gen_random_uuid()).
branch_name: Ветка схемы (по умолчанию main).
|
| edit_columnC | Изменить свойства колонки. Args:
schema_uuid: UUID схемы.
table_uuid: UUID таблицы.
column_uuid: UUID колонки.
column_name: Новое название колонки.
column_type: Новый тип данных.
is_primary: Является ли колонка первичным ключом.
is_nullable: Может ли колонка содержать NULL.
column_default: Новое значение по умолчанию.
branch_name: Ветка схемы (по умолчанию main).
|
| delete_columnB | Удалить колонку из таблицы. Args:
schema_uuid: UUID схемы.
table_uuid: UUID таблицы.
column_uuid: UUID колонки.
branch_name: Ветка схемы (по умолчанию main).
|
| create_groupA | Создать группу таблиц в схеме (для визуальной организации). Args:
schema_uuid: UUID схемы.
group_name: Название группы.
group_description: Описание группы (необязательно).
position_x: Координата X группы на холсте.
position_y: Координата Y группы на холсте.
height: Высота группы.
width: Ширина группы.
group_color: Цвет группы в HEX.
tables: Список таблиц, входящих в группу (необязательно).
branch_name: Ветка схемы (по умолчанию main).
|
| edit_groupA | Изменить свойства группы таблиц. Args:
schema_uuid: UUID схемы.
group_uuid: UUID группы.
group_name: Новое название группы.
group_description: Новое описание группы.
position_x: Новая координата X.
position_y: Новая координата Y.
width: Новая ширина группы.
height: Новая высота группы.
group_color: Новый цвет группы в HEX.
tables: Новый список таблиц группы.
branch_name: Ветка схемы (по умолчанию main).
|
| delete_groupA | Удалить группу таблиц (таблицы остаются в схеме). Args:
schema_uuid: UUID схемы.
group_uuid: UUID группы.
branch_name: Ветка схемы (по умолчанию main).
|
| create_relationshipA | Создать связь (внешний ключ) между двумя колонками. Args:
schema_uuid: UUID схемы.
source_table_uuid: UUID исходной таблицы.
source_column_uuid: UUID исходной колонки (FK-сторона).
target_table_uuid: UUID целевой таблицы (PK-сторона).
target_column_uuid: UUID целевой колонки (PK-сторона).
relationship_name: Название связи.
relationship_type: Тип связи (например, one_to_many, many_to_many).
delete_action: Действие при удалении: CASCADE, SET NULL, SET DEFAULT,
RESTRICT или NO ACTION.
update_action: Действие при обновлении: CASCADE, SET NULL, SET DEFAULT,
RESTRICT или NO ACTION.
branch_name: Ветка схемы (по умолчанию main).
|
| edit_relationshipC | Изменить свойства связи. Args:
schema_uuid: UUID схемы.
relationship_uuid: UUID связи.
source_table_uuid: UUID исходной таблицы.
source_column_uuid: UUID исходной колонки.
target_table_uuid: UUID целевой таблицы.
target_column_uuid: UUID целевой колонки.
relationship_name: Новое название связи.
relationship_type: Новый тип связи.
delete_action: Новое действие при удалении.
update_action: Новое действие при обновлении.
branch_name: Ветка схемы (по умолчанию main).
|
| delete_relationshipA | Удалить связь между таблицами. Args:
schema_uuid: UUID схемы.
relationship_uuid: UUID связи.
branch_name: Ветка схемы (по умолчанию main).
|
| export_schema_sqlA | Экспортировать схему в SQL DDL. Args:
schema_uuid: UUID схемы.
dialect: Диалект SQL (по умолчанию postgres).
branch_name: Ветка схемы (по умолчанию main).
|
| list_branchesC | Получить список веток проекта. Args:
project_uuid: UUID проекта.
|
| create_branchB | Создать новую ветку проекта. Args:
project_uuid: UUID проекта.
branch_name: Имя новой ветки.
source_branch: Ветка-источник (по умолчанию main).
is_default: Сделать ветку веткой по умолчанию.
|
| fork_branchB | Создать ветку из другой ветки (fork) в проекте. Args:
project_uuid: UUID проекта.
source_branch: Ветка-источник.
target_branch: Целевая (новая) ветка.
create_target_if_missing: Создать целевую ветку, если её нет.
overwrite_target: Перезаписать целевую ветку, если она существует.
is_default: Сделать ветку веткой по умолчанию.
|
| commit_to_branchC | Зафиксировать изменения схемы коммитом в ветке. Args:
project_uuid: UUID проекта.
schema_uuid: UUID схемы.
message: Сообщение коммита.
branch_name: Ветка для коммита (по умолчанию main).
detached_target_branch_name: Имя целевой ветки для detached-коммита.
|
| checkout_branchC | Переключить схему на другую ветку. Args:
project_uuid: UUID проекта.
schema_uuid: UUID схемы.
branch_name: Ветка, на которую переключаемся.
apply_to_workspace: Применить состояние ветки к рабочему пространству.
|
| checkout_commitC | Переключить схему на конкретный коммит в ветке. Args:
project_uuid: UUID проекта.
schema_uuid: UUID схемы.
branch_name: Ветка (по умолчанию main).
commit_id: Числовой ID коммита.
commit_uuid: UUID коммита.
|
| reset_branchB | Сбросить ветку до указанного коммита. Args:
project_uuid: UUID проекта.
schema_uuid: UUID схемы.
branch_name: Ветка (по умолчанию main).
target_commit_id: Числовой ID целевого коммита.
target_commit_uuid: UUID целевого коммита.
mode: Режим сброса: soft или hard.
force: Принудительный сброс.
|
| merge_branchesB | Слить исходную ветку в целевую. Args:
project_uuid: UUID проекта.
schema_uuid: UUID схемы.
source_branch: Ветка-источник.
target_branch: Целевая ветка.
message: Сообщение merge-коммита.
delete_source_branch: Удалить исходную ветку после слияния.
|
| get_branch_migrationA | Получить SQL-миграцию между базовым и текущим коммитом ветки. Args:
project_uuid: UUID проекта.
schema_uuid: UUID схемы.
branch_name: Ветка (по умолчанию main).
|
| get_commit_dagA | Получить направленный граф коммитов проекта (историю изменений). Args:
project_uuid: UUID проекта.
limit: Максимальное количество коммитов (по умолчанию 200).
|
| set_default_branchC | Сделать ветку веткой по умолчанию в проекте. Args:
project_uuid: UUID проекта.
branch_name: Имя ветки.
is_default: Статус ветки по умолчанию.
|
| get_data_sourceC | Получить привязку проекта к агенту-источнику данных. Args:
project_uuid: UUID проекта.
|
| set_data_sourceA | Привязать проект к агенту-источнику данных (Structly Agent). Args:
project_uuid: UUID проекта.
agent_uuid: UUID агента (реальная PostgreSQL-база).
schema_uuid: UUID схемы проекта, в которую импортируются данные.
is_active: Активна ли привязка.
|
| delete_data_sourceC | Удалить привязку проекта к агенту-источнику данных. Args:
project_uuid: UUID проекта.
|
| test_connectionA | Запустить проверку подключения агента к базе данных. Args:
project_uuid: UUID проекта.
agent_uuid: UUID агента.
agent_database_uuid: UUID базы данных в агенте.
agent_schema_uuid: UUID схемы в агенте (для one_schema).
import_scope: Область импорта: one_schema или whole_database.
import_mode: Режим импорта: replace или merge.
|
| list_sync_jobsC | Получить список задач синхронизации (sync-jobs) проекта. Args:
project_uuid: UUID проекта.
|
| create_sync_jobA | Создать задачу синхронизации структуры базы через агента. Args:
project_uuid: UUID проекта.
agent_uuid: UUID агента.
agent_database_uuid: UUID базы данных в агенте.
target_schema_uuid: UUID схемы проекта, куда импортировать.
agent_schema_uuid: UUID схемы в агенте (для one_schema).
import_scope: Область импорта: one_schema или whole_database.
import_mode: Режим импорта: replace или merge.
branch_name: Ветка, в которую вносятся изменения.
|
| get_sync_jobC | Получить статус и детали задачи синхронизации. Args:
project_uuid: UUID проекта.
job_uuid: UUID задачи синхронизации.
|
| import_sql_into_schemaA | Импортировать SQL DDL в схему: создаст таблицы, колонки и связи. Поддерживает полный PostgreSQL DDL. Схема для импорта должна уже
существовать.
Args:
schema_uuid: UUID схемы, в которую импортируется SQL.
sql: Текст SQL DDL (CREATE TABLE, ALTER TABLE, FK и т.д.).
branch_name: Ветка, в которую вносятся изменения (по умолчанию main).
|