@enfyra/mcp-server 0.2.47 → 0.2.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist/lib/discovery-tools.js +4 -4
  2. package/dist/lib/discovery-tools.js.map +1 -1
  3. package/dist/lib/mcp-example-schema-relations.js +2 -1
  4. package/dist/lib/mcp-example-schema-relations.js.map +1 -1
  5. package/dist/lib/mutation-guards.js +1 -1
  6. package/dist/lib/mutation-guards.js.map +1 -1
  7. package/dist/lib/required-knowledge.js +3 -2
  8. package/dist/lib/required-knowledge.js.map +1 -1
  9. package/dist/lib/route-inspection-tools.js +1 -1
  10. package/dist/lib/route-inspection-tools.js.map +1 -1
  11. package/dist/lib/schema-relation-contracts.d.ts +3 -0
  12. package/dist/lib/schema-relation-contracts.js +37 -0
  13. package/dist/lib/schema-relation-contracts.js.map +1 -1
  14. package/dist/lib/schema-relation-tools.js +20 -5
  15. package/dist/lib/schema-relation-tools.js.map +1 -1
  16. package/dist/lib/schema-table-contracts.js +2 -0
  17. package/dist/lib/schema-table-contracts.js.map +1 -1
  18. package/dist/lib/schema-table-tools.js +35 -11
  19. package/dist/lib/schema-table-tools.js.map +1 -1
  20. package/dist/lib/schema-tool-operations.d.ts +9 -0
  21. package/dist/lib/schema-tool-operations.js +82 -65
  22. package/dist/lib/schema-tool-operations.js.map +1 -1
  23. package/dist/lib/tool-output-contracts.js +1 -0
  24. package/dist/lib/tool-output-contracts.js.map +1 -1
  25. package/dist/lib/toolset-filter.js +1 -0
  26. package/dist/lib/toolset-filter.js.map +1 -1
  27. package/dist/lib/workflow-definitions.js +4 -4
  28. package/dist/lib/workflow-definitions.js.map +1 -1
  29. package/dist/lib/workflow-planner.js +4 -3
  30. package/dist/lib/workflow-planner.js.map +1 -1
  31. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"schema-relation-tools.js","sourceRoot":"","sources":["../../src/lib/schema-relation-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-relation-tools.js","sourceRoot":"","sources":["../../src/lib/schema-relation-tools.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  * Table & Column tools for Enfyra MCP Server
3
3
  */
4
4
  import { AUTO_MANAGED_COLUMN_NAMES, } from './schema-mutation-coordinator.js';
5
+ import { assertOwningRelationCreationInput } from './schema-relation-contracts.js';
5
6
  import { normalizeTableName } from './tool-input-normalization.js';
6
7
  export function parseJsonArrayParam(name, value) {
7
8
  if (!value)
@@ -120,6 +121,7 @@ export function preflightCreateTableDefinitions(items) {
120
121
  const { columns: userColumns } = stripAutoManagedColumns(columns);
121
122
  const columnNames = userColumns.map((column) => String(column?.name ?? '')).filter(Boolean);
122
123
  const relationNames = relations.map((relation) => String(relation?.propertyName ?? '')).filter(Boolean);
124
+ relations.forEach((relation) => assertOwningRelationCreationInput(relation, `create_tables items[${index}]`));
123
125
  assertNoColumnRelationNameCollision(columnNames, relationNames, `create_tables items[${index}] (${item.name || '<unnamed>'})`);
124
126
  const logicalFields = new Set([...AUTO_MANAGED_COLUMN_NAMES, ...columnNames, ...relationNames]);
125
127
  const indexes = normalizeConstraintGroupsValue(`items[${index}].indexes`, item.indexes ?? []);
@@ -1 +1 @@
1
- {"version":3,"file":"schema-table-contracts.js","sourceRoot":"","sources":["../../src/lib/schema-table-contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-table-contracts.js","sourceRoot":"","sources":["../../src/lib/schema-table-contracts.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ import { assertGlobalRulesAck, globalRulesAckParam } from './required-knowledge.
8
8
  import { jsonContent } from './response-format.js';
9
9
  import { createSchemaToolOperations } from './schema-tool-operations.js';
10
10
  import { executeSequentialBatch } from './sequential-batch.js';
11
- import { FORBIDDEN_RELATION_KEYS, assertBulkLimit, bulkObjectArrayParam, computeBatchCleanupOrder, getId, getSupportedColumnTypes, metadataColumnNames, metadataColumnOptions, normalizeCreateTableDefinitions, normalizeRelationType, parseBulkItemsParam, preflightCreateTableDefinitions, resolveTableIdentifierFromMetadata, withSchemaQueue, } from './table-tool-logic.js';
11
+ import { FORBIDDEN_RELATION_KEYS, assertBulkLimit, buildInverseDecision, bulkObjectArrayParam, computeBatchCleanupOrder, getId, getSupportedColumnTypes, fetchTableWithDetails, metadataColumnNames, metadataColumnOptions, normalizeCreateTableDefinitions, normalizeRelationType, parseBulkItemsParam, parseJsonArrayParam, preflightCreateTableDefinitions, resolveTableIdentifierFromMetadata, sanitizeExistingRelationForTablePatch, withSchemaQueue, } from './table-tool-logic.js';
12
12
  const COLUMN_SCHEMA_ATTRIBUTES = [
13
13
  'name',
14
14
  'type',
@@ -151,13 +151,13 @@ export function registerSchemaTableTools(server, ENFYRA_API_URL, options = {}) {
151
151
  namespaceRule: 'Column names and relation propertyName values share one table namespace. Do not define a scalar column and a relation with the same name in one table.',
152
152
  },
153
153
  relationDefinitionInput: {
154
- allowedFields: ['targetTableId', 'targetTable', 'type', 'propertyName', 'inversePropertyName', 'mappedBy', 'isNullable', 'onDelete', 'description'],
154
+ allowedFields: ['targetTableId', 'targetTable', 'type', 'propertyName', 'isNullable', 'onDelete', 'description'],
155
155
  relationTypes: relationTypes.length ? relationTypes : ['many-to-one', 'one-to-many', 'one-to-one', 'many-to-many'],
156
156
  onDeleteOptions: onDeleteOptions.length ? onDeleteOptions : ['CASCADE', 'SET NULL', 'RESTRICT'],
157
157
  forbiddenPhysicalFields: FORBIDDEN_RELATION_KEYS,
158
158
  rule: 'Use relations for links between records. Do not create scalar FK columns such as userId, owner_id, categoryIds, or courseId unless the user explicitly wants denormalized snapshot data.',
159
159
  namespaceRule: 'Relation propertyName must be unique among both relation names and scalar column names on the same table. If a relation is named owner, do not also create ownerId/owner as a scalar field.',
160
- inverseDesignRule: 'If a parent detail/read must deep-load a child collection (for example application.reviewAssignments or assignment.scorecards), create the owning child many-to-one relation with inversePropertyName immediately. Without the inverse, parent-to-child deep reads will fail with unknown relation.',
160
+ inverseDesignRule: 'Create the owning relation first without inversePropertyName or mappedBy. Evaluate the returned inverseDecision. Only when a concrete reverse response, UI, deep query, aggregate, or parent-to-child consumer exists, call create_inverse_relation with that consumer and a semantic inversePropertyName.',
161
161
  },
162
162
  constraints: {
163
163
  indexes: 'JSON array of non-unique logical field groups, e.g. [["status","createdAt"]]. Relation propertyName values are allowed.',
@@ -170,9 +170,9 @@ export function registerSchemaTableTools(server, ENFYRA_API_URL, options = {}) {
170
170
  '1. Name domain entities and decide which existing tables are reused, especially enfyra_user for users/owners/actors.',
171
171
  '2. Create independent lookup/base tables first with scalar columns only.',
172
172
  '3. Create dependent tables with scalar columns and relations whose target tables already exist.',
173
- '4. Use create_relations after both tables exist when a relation could not be included during table creation.',
173
+ '4. Use create_relations after both tables exist when an owning relation could not be included during table creation.',
174
174
  '5. Add relation-based unique groups in the same create_tables item when the relations are declared there, or via update_tables after relations exist.',
175
- '6. Before deep parent detail queries, confirm every child collection relation exists as an inversePropertyName on the owning child relation.',
175
+ '6. Evaluate each returned inverseDecision. Call create_inverse_relation only for a concrete target-to-source consumer; otherwise keep the relation one-way.',
176
176
  '7. Insert records using column names and relation propertyName values, never hidden FK columns.',
177
177
  '8. Re-inspect each table with inspect_table before writing records or adding query examples.',
178
178
  ],
@@ -186,8 +186,8 @@ export function registerSchemaTableTools(server, ENFYRA_API_URL, options = {}) {
186
186
  // ─── TABLE MUTATIONS ───
187
187
  server.tool('create_tables', [
188
188
  'Create one or more table definitions. Always pass items as a native JSON array; for one table, pass one item.',
189
- 'The tool creates tables sequentially, creates columns with each table, then creates all requested relations after every table in the batch exists. This avoids relation target races for weak agents.',
190
- 'Each item supports { name, description?, isSingleRecord?, columns?, relations?, indexes?, uniques? }. columns/relations/indexes/uniques may be arrays inside the item.',
189
+ 'The tool creates tables sequentially, creates columns with each table, then creates all requested owning relations after every table in the batch exists. This avoids relation target races for weak agents.',
190
+ 'Each item supports { name, description?, isSingleRecord?, columns?, relations?, indexes?, uniques? }. Relations reject inversePropertyName, mappedBy, and one-to-many; evaluate inverseDecisions after creation and use create_inverse_relation only for a concrete reverse consumer. columns/relations/indexes/uniques may be arrays inside the item.',
191
191
  'Column items may include metadata and placeholder. For ordinary application fields, omit isPublished and isUpdatable because both default to true; false has API-access and canonical-PATCH consequences, not merely UI consequences. For type richtext, store editor configuration at column.metadata.richText using JSON-safe values; function callbacks are eApp source configuration, not column JSON.',
192
192
  'Do not include id, _id, createdAt, or updatedAt in columns; Enfyra manages them and create_tables strips them before save.',
193
193
  'Every field named in indexes/uniques must be a scalar column, auto-managed column, or relation propertyName in the same table item; otherwise the tool rejects the whole batch before creating tables.',
@@ -234,8 +234,6 @@ export function registerSchemaTableTools(server, ENFYRA_API_URL, options = {}) {
234
234
  targetTableId: tableId,
235
235
  type: relation.type,
236
236
  propertyName: relation.propertyName,
237
- inversePropertyName: relation.inversePropertyName,
238
- mappedBy: relation.mappedBy,
239
237
  isNullable: relation.isNullable,
240
238
  onDelete: relation.onDelete,
241
239
  description: relation.description,
@@ -267,8 +265,6 @@ export function registerSchemaTableTools(server, ENFYRA_API_URL, options = {}) {
267
265
  targetTableId: resolvedTargetId,
268
266
  type: relation.type,
269
267
  propertyName: relation.propertyName,
270
- inversePropertyName: relation.inversePropertyName,
271
- mappedBy: relation.mappedBy,
272
268
  isNullable: relation.isNullable,
273
269
  onDelete: relation.onDelete,
274
270
  description: relation.description,
@@ -285,6 +281,33 @@ export function registerSchemaTableTools(server, ENFYRA_API_URL, options = {}) {
285
281
  if (constraintResult)
286
282
  appliedDeferredConstraints.push({ index: constraints.index, ...constraintResult });
287
283
  }
284
+ const inverseDecisions = [];
285
+ for (const [index, item] of parsedItems.entries()) {
286
+ const tableId = createdTableIds.get(String(item.name || '').toLowerCase());
287
+ if (tableId === undefined)
288
+ continue;
289
+ const requestedRelations = Array.isArray(item.relations)
290
+ ? item.relations
291
+ : parseJsonArrayParam(`items[${index}].relations`, item.relations || '[]');
292
+ if (requestedRelations.length === 0)
293
+ continue;
294
+ const liveTable = await fetchTableWithDetails(ENFYRA_API_URL, tableId).catch(() => null);
295
+ for (const requestedRelation of requestedRelations) {
296
+ const liveRelation = (liveTable?.relations || []).find((relation) => relation.propertyName === requestedRelation.propertyName);
297
+ const relation = liveRelation
298
+ ? sanitizeExistingRelationForTablePatch(liveRelation)
299
+ : requestedRelation;
300
+ inverseDecisions.push(buildInverseDecision({
301
+ sourceTableId: tableId,
302
+ sourceTableName: item.name,
303
+ targetTableId: relation.targetTable ?? relation.targetTableId,
304
+ targetTableName: liveRelation?.targetTableName || liveRelation?.targetTable?.name,
305
+ relationId: getId(relation),
306
+ propertyName: relation.propertyName,
307
+ type: relation.type,
308
+ }));
309
+ }
310
+ }
288
311
  return jsonContent({
289
312
  action: 'tables_created',
290
313
  requested: parsedItems.length,
@@ -314,6 +337,7 @@ export function registerSchemaTableTools(server, ENFYRA_API_URL, options = {}) {
314
337
  })),
315
338
  createdRelations: createdRelations.map(({ result, responseFormat, ...item }) => item),
316
339
  appliedDeferredConstraints: appliedDeferredConstraints.map(({ result, ...item }) => item),
340
+ inverseDecisions,
317
341
  });
318
342
  });
319
343
  server.tool('update_tables', 'Update one or more table definitions. Always pass items as a native JSON array; for one table, pass one item. Items run sequentially through the schema queue.', {
@@ -1 +1 @@
1
- {"version":3,"file":"schema-table-tools.js","sourceRoot":"","sources":["../../src/lib/schema-table-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-table-tools.js","sourceRoot":"","sources":["../../src/lib/schema-table-tools.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,15 @@ import { type AnyRecord } from './table-tool-logic.js';
2
2
  export declare function createSchemaToolOperations(ENFYRA_API_URL: any, toolset: any): {
3
3
  appendColumnToTable: (args: any) => Promise<import("./types.js").ToolResult>;
4
4
  appendRelationToTable: (args: any) => Promise<import("./types.js").ToolResult>;
5
+ createInverseRelation: ({ owningTableId, owningRelationId, owningPropertyName, inversePropertyName, consumer, description, globalRulesAckKey, }: {
6
+ owningTableId: any;
7
+ owningRelationId: any;
8
+ owningPropertyName: any;
9
+ inversePropertyName: any;
10
+ consumer: any;
11
+ description: any;
12
+ globalRulesAckKey: any;
13
+ }) => Promise<import("./types.js").ToolResult>;
5
14
  applyDeferredConstraints: (tableId: any, deferredConstraints: any) => Promise<{
6
15
  action: string;
7
16
  tableId: any;
@@ -5,7 +5,7 @@ import { fetchAPI } from './fetch.js';
5
5
  import { fetchMetadataContext, fetchTableCatalog } from './metadata-client.js';
6
6
  import { assertGlobalRulesAck } from './required-knowledge.js';
7
7
  import { jsonContent } from './response-format.js';
8
- import { getColumnContractBroadening, assertColumnNameCanBeCreated, assertIndexesDoNotReferenceUniqueFields, assertNoColumnRelationNameCollision, assertNoForbiddenRelationKeys, buildColumnDefinition, buildPrimaryColumnForDbType, fetchTableWithDetails, getId, getPatchableColumns, getSupportedColumnTypes, mergeConstraintGroups, normalizeColumnForTablePatch, normalizeColumnOptionsValue, parseColumnTypeOptions, normalizeColumnTypeForLiveMetadata, normalizeColumnsForLiveMetadata, normalizeConstraintGroupsValue, normalizeRelationForTablePatch, parseJsonArrayParam, patchTableAutoConfirm, pruneIndexesThatOverlapUniques, resolveRelationConstraintGroups, resolveTableIdentifierFromMetadata, sanitizeExistingRelationForTablePatch, splitRelationConstraintGroups, validateRelationConstraintUpdate, relationMetadataFingerprint, stripAutoManagedColumns, summarizeCreatedTableSchema, verifyColumnCascade, verifyRelationCascade, withSchemaQueue, } from './table-tool-logic.js';
8
+ import { getColumnContractBroadening, assertColumnNameCanBeCreated, assertIndexesDoNotReferenceUniqueFields, assertNoColumnRelationNameCollision, assertNoForbiddenRelationKeys, assertOwningRelationCreationInput, buildInverseDecision, buildColumnDefinition, buildPrimaryColumnForDbType, fetchTableWithDetails, getId, getPatchableColumns, getSupportedColumnTypes, mergeConstraintGroups, deriveInverseRelationType, normalizeColumnForTablePatch, normalizeColumnOptionsValue, parseColumnTypeOptions, normalizeColumnTypeForLiveMetadata, normalizeColumnsForLiveMetadata, normalizeConstraintGroupsValue, normalizeRelationForTablePatch, parseJsonArrayParam, patchTableAutoConfirm, pruneIndexesThatOverlapUniques, resolveRelationConstraintGroups, resolveTableIdentifierFromMetadata, sanitizeExistingRelationForTablePatch, splitRelationConstraintGroups, validateRelationConstraintUpdate, relationMetadataFingerprint, stripAutoManagedColumns, summarizeCreatedTableSchema, verifyColumnCascade, verifyRelationCascade, withSchemaQueue, } from './table-tool-logic.js';
9
9
  export function createSchemaToolOperations(ENFYRA_API_URL, toolset) {
10
10
  const apiBase = ENFYRA_API_URL.replace(/\/$/, '');
11
11
  async function appendColumnToTable(args) {
@@ -41,8 +41,10 @@ export function createSchemaToolOperations(ENFYRA_API_URL, toolset) {
41
41
  return withSchemaQueue(async () => {
42
42
  assertNoForbiddenRelationKeys(args);
43
43
  const { sourceTableId, targetTableId, targetTable } = args;
44
- const relationPatch = normalizeRelationForTablePatch(args);
45
- const { type, propertyName, inversePropertyName, mappedBy, isNullable, onDelete, description } = relationPatch;
44
+ const relationPatch = args.allowInverseCreation
45
+ ? normalizeRelationForTablePatch(args)
46
+ : assertOwningRelationCreationInput(args, 'create_relations');
47
+ const { type, propertyName, mappedBy, isNullable, onDelete, description } = relationPatch;
46
48
  const targetRef = targetTableId ?? targetTable;
47
49
  if (targetRef === undefined || targetRef === null || targetRef === '') {
48
50
  throw new Error('create_relations requires targetTableId or targetTable. Pass an existing table id, name, or alias.');
@@ -57,8 +59,6 @@ export function createSchemaToolOperations(ENFYRA_API_URL, toolset) {
57
59
  const existingRelations = (tableData.relations || []).map(sanitizeExistingRelationForTablePatch);
58
60
  const beforeIds = existingRelations.map((relation) => String(getId(relation))).filter((id) => id !== 'null');
59
61
  const newRelation = { targetTable: resolvedTargetTableId, type, propertyName };
60
- if (inversePropertyName !== undefined)
61
- newRelation.inversePropertyName = inversePropertyName || null;
62
62
  if (mappedBy !== undefined)
63
63
  newRelation.mappedBy = mappedBy;
64
64
  if (isNullable !== undefined)
@@ -68,17 +68,90 @@ export function createSchemaToolOperations(ENFYRA_API_URL, toolset) {
68
68
  if (description !== undefined)
69
69
  newRelation.description = description;
70
70
  const result = await patchTableAutoConfirm(ENFYRA_API_URL, resolvedSourceTableId, { relations: [...existingRelations, newRelation] });
71
- await verifyRelationCascade(ENFYRA_API_URL, resolvedSourceTableId, beforeIds, {
71
+ const afterRelations = await verifyRelationCascade(ENFYRA_API_URL, resolvedSourceTableId, beforeIds, {
72
72
  action: 'create',
73
73
  propertyName,
74
74
  });
75
+ const savedRelation = afterRelations.find((relation) => relation.propertyName === propertyName);
76
+ const sourceTable = catalog.find((table) => String(getId(table)) === String(resolvedSourceTableId));
77
+ const targetTableRecord = catalog.find((table) => String(getId(table)) === String(resolvedTargetTableId));
75
78
  return jsonContent({
76
79
  action: 'relation_created',
77
- relation: { propertyName, type, sourceTableId: resolvedSourceTableId, targetTableId: resolvedTargetTableId },
80
+ relation: { id: getId(savedRelation), propertyName, type, sourceTableId: resolvedSourceTableId, targetTableId: resolvedTargetTableId },
81
+ ...(!mappedBy ? {
82
+ inverseDecision: buildInverseDecision({
83
+ sourceTableId: resolvedSourceTableId,
84
+ sourceTableName: sourceTable?.name,
85
+ targetTableId: resolvedTargetTableId,
86
+ targetTableName: targetTableRecord?.name,
87
+ relationId: getId(savedRelation),
88
+ propertyName,
89
+ type,
90
+ }),
91
+ } : {}),
78
92
  result,
79
93
  });
80
94
  });
81
95
  }
96
+ async function createInverseRelation({ owningTableId, owningRelationId, owningPropertyName, inversePropertyName, consumer, description, globalRulesAckKey, }) {
97
+ assertGlobalRulesAck(globalRulesAckKey);
98
+ const catalog = await fetchTableCatalog(ENFYRA_API_URL);
99
+ const resolvedOwningTableId = resolveTableIdentifierFromMetadata(catalog, owningTableId, 'owningTableId');
100
+ const owningTable = await fetchTableWithDetails(ENFYRA_API_URL, resolvedOwningTableId);
101
+ const owningRelations = (owningTable.relations || []).map(sanitizeExistingRelationForTablePatch);
102
+ const owningRelation = owningRelations.find((relation) => ((owningRelationId === undefined || String(getId(relation)) === String(owningRelationId)) &&
103
+ (!owningPropertyName || relation.propertyName === owningPropertyName)));
104
+ if (!owningRelation) {
105
+ const relationRef = owningRelationId === undefined ? `'${String(owningPropertyName)}'` : String(owningRelationId);
106
+ throw new Error(`Owning relation ${relationRef} was not found on table ${String(resolvedOwningTableId)}.`);
107
+ }
108
+ if (owningRelation.mappedBy) {
109
+ throw new Error(`Relation ${String(getId(owningRelation))} is already an inverse relation; pass its owning relation instead.`);
110
+ }
111
+ const resolvedTargetTableId = resolveTableIdentifierFromMetadata(catalog, owningRelation.targetTable, 'owning relation targetTable');
112
+ const targetTable = await fetchTableWithDetails(ENFYRA_API_URL, resolvedTargetTableId);
113
+ const targetRelations = (targetTable.relations || []).map(sanitizeExistingRelationForTablePatch);
114
+ const existingInverse = targetRelations.find((relation) => (relation.mappedBy === owningRelation.propertyName &&
115
+ String(relation.targetTable) === String(resolvedOwningTableId)));
116
+ if (existingInverse) {
117
+ throw new Error(`Owning relation ${String(getId(owningRelation))} already has inverse '${String(existingInverse.propertyName)}'.`);
118
+ }
119
+ if (targetRelations.some((relation) => relation.propertyName === inversePropertyName)) {
120
+ throw new Error(`Inverse property '${inversePropertyName}' already exists on table ${String(resolvedTargetTableId)}.`);
121
+ }
122
+ const inverseType = deriveInverseRelationType(owningRelation.type);
123
+ const created = await appendRelationToTable({
124
+ sourceTableId: resolvedTargetTableId,
125
+ targetTableId: resolvedOwningTableId,
126
+ type: inverseType,
127
+ propertyName: inversePropertyName,
128
+ mappedBy: owningRelation.propertyName,
129
+ isNullable: owningRelation.isNullable,
130
+ onDelete: owningRelation.onDelete,
131
+ description,
132
+ allowInverseCreation: true,
133
+ globalRulesAckKey,
134
+ });
135
+ const payload = JSON.parse(created.content[0].text);
136
+ return jsonContent({
137
+ action: 'inverse_relation_created',
138
+ owning: {
139
+ tableId: resolvedOwningTableId,
140
+ relationId: getId(owningRelation),
141
+ propertyName: owningRelation.propertyName,
142
+ type: owningRelation.type,
143
+ },
144
+ inverse: {
145
+ tableId: resolvedTargetTableId,
146
+ relationId: payload.relation?.id,
147
+ propertyName: inversePropertyName,
148
+ type: inverseType,
149
+ mappedBy: owningRelation.propertyName,
150
+ },
151
+ consumer,
152
+ result: payload.result,
153
+ });
154
+ }
82
155
  async function updateRelationConstraints({ globalRulesAckKey, ...args }) {
83
156
  const update = validateRelationConstraintUpdate(args);
84
157
  assertGlobalRulesAck(globalRulesAckKey);
@@ -213,63 +286,6 @@ export function createSchemaToolOperations(ENFYRA_API_URL, toolset) {
213
286
  throw new Error(`Relation ${relationId} was not found on table ${tableId}; refusing schema cascade patch.`);
214
287
  }
215
288
  const target = existingRelations.find((relation) => String(getId(relation)) === String(relationId));
216
- if (target?.mappedBy) {
217
- const owningTableId = target.targetTable;
218
- const owningTable = await fetchTableWithDetails(ENFYRA_API_URL, owningTableId);
219
- if (!owningTable) {
220
- throw new Error(`Owning table ${owningTableId} for inverse relation ${relationId} was not found.`);
221
- }
222
- const owningRelations = (owningTable.relations || []).map(sanitizeExistingRelationForTablePatch);
223
- const owningRelation = owningRelations.find((relation) => relation.propertyName === target.mappedBy &&
224
- String(relation.targetTable) === String(tableId));
225
- if (!owningRelation) {
226
- throw new Error(`Owning relation '${target.mappedBy}' for inverse relation ${relationId} was not found on table ${owningTableId}.`);
227
- }
228
- const detachedRelations = owningRelations.map((relation) => {
229
- if (String(getId(relation)) !== String(getId(owningRelation)))
230
- return relation;
231
- const { inversePropertyName, ...withoutInverse } = relation;
232
- return withoutInverse;
233
- });
234
- if (!confirm) {
235
- return {
236
- content: [{ type: 'text', text: JSON.stringify({
237
- action: 'detach_inverse_relation_preview',
238
- tableId,
239
- relationId,
240
- targetRelation: target,
241
- owningTableId,
242
- owningRelationId: getId(owningRelation),
243
- preservedRelationIds: beforeIds.filter((id) => id !== String(relationId)),
244
- destructive: true,
245
- next: 'Call delete_relations again with the same one-item array and confirm=true to remove the inverse from the owning relation snapshot.',
246
- }, null, 2) }],
247
- };
248
- }
249
- assertGlobalRulesAck(globalRulesAckKey);
250
- const result = await patchTableAutoConfirm(ENFYRA_API_URL, owningTableId, {
251
- relations: detachedRelations,
252
- });
253
- const afterRelations = await verifyRelationCascade(ENFYRA_API_URL, tableId, beforeIds, {
254
- action: 'delete',
255
- relationId,
256
- });
257
- return jsonContent({
258
- action: 'inverse_relation_detached',
259
- tableId,
260
- relationId,
261
- owningTableId,
262
- owningRelationId: getId(owningRelation),
263
- result,
264
- postcondition: {
265
- verificationMethod: 'table_schema_relation_ids',
266
- confirmedAbsent: !afterRelations.some((relation) => String(getId(relation)) === String(relationId)),
267
- remainingRelationIds: afterRelations
268
- .filter((relation) => String(getId(relation)) === String(relationId))
269
- .map(getId),
270
- },
271
- });
272
- }
273
289
  if (!confirm) {
274
290
  return {
275
291
  content: [{ type: 'text', text: JSON.stringify({
@@ -322,7 +338,7 @@ export function createSchemaToolOperations(ENFYRA_API_URL, toolset) {
322
338
  ...(args._requestedTableName ? [{ field: 'name', from: args._requestedTableName, to: args.name, reason: 'Enfyra table names are lowercase.' }] : []),
323
339
  ...normalizations,
324
340
  ];
325
- const allRelations = arrayValue('relations', args.relations).map(normalizeRelationForTablePatch);
341
+ const allRelations = arrayValue('relations', args.relations).map((relation) => assertOwningRelationCreationInput(relation, 'create_tables'));
326
342
  const relationNames = new Set(allRelations.map((relation) => relation.propertyName).filter(Boolean));
327
343
  assertNoColumnRelationNameCollision(normalizedUserColumns.map((column) => String(column.name || '')).filter(Boolean), allRelations.map((relation) => String(relation.propertyName || '')).filter(Boolean), `create_tables item "${args.name}"`);
328
344
  const catalog = await fetchTableCatalog(ENFYRA_API_URL);
@@ -656,6 +672,7 @@ export function createSchemaToolOperations(ENFYRA_API_URL, toolset) {
656
672
  return {
657
673
  appendColumnToTable,
658
674
  appendRelationToTable,
675
+ createInverseRelation,
659
676
  applyDeferredConstraints,
660
677
  arrayValue,
661
678
  createOneTable,