@enfyra/mcp-server 0.1.30 → 0.1.32

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.
@@ -1 +1 @@
1
- {"version":3,"file":"required-knowledge.js","sourceRoot":"","sources":["../../src/lib/required-knowledge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"required-knowledge.js","sourceRoot":"","sources":["../../src/lib/required-knowledge.ts"],"names":[],"mappings":"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"}
@@ -136,6 +136,50 @@ export declare function searchRuntimeZone(apiUrl: string, input: any): Promise<{
136
136
  };
137
137
  guidance: string[];
138
138
  }>;
139
+ export declare function searchAdminExtensions(apiUrl: string, input: any): Promise<any>;
140
+ export declare function debugFieldExposure(apiUrl: string, input: any): Promise<{
141
+ action: string;
142
+ tableName: string;
143
+ fieldPath: string;
144
+ resolved: {
145
+ ok: boolean;
146
+ reason: string;
147
+ steps: any[];
148
+ targetTable: RuntimeRecord;
149
+ targetField: any;
150
+ } | {
151
+ ok: boolean;
152
+ reason: any;
153
+ steps: any[];
154
+ targetTable: RuntimeRecord;
155
+ targetField: any;
156
+ };
157
+ metadataFinding: {
158
+ targetTable: any;
159
+ fieldKind: any;
160
+ fieldName: any;
161
+ isPublished: any;
162
+ isEncrypted: any;
163
+ error?: undefined;
164
+ } | {
165
+ error: any;
166
+ targetTable?: undefined;
167
+ fieldKind?: undefined;
168
+ fieldName?: undefined;
169
+ isPublished?: undefined;
170
+ isEncrypted?: undefined;
171
+ };
172
+ reproRequest: {
173
+ tool: string;
174
+ input: {
175
+ method: string;
176
+ path: string;
177
+ };
178
+ };
179
+ repro: any;
180
+ verdict: string;
181
+ nextSteps: string[];
182
+ }>;
139
183
  export declare function inspectRuntimeZoneLocation(apiUrl: string, input: any): Promise<{
140
184
  zone: "admin_ui";
141
185
  zoneDescription: string;
@@ -102,6 +102,70 @@ function flattenValue(value) {
102
102
  function filterQuery(filter) {
103
103
  return encodeURIComponent(JSON.stringify(filter));
104
104
  }
105
+ function asArray(value) {
106
+ return Array.isArray(value) ? value : [];
107
+ }
108
+ function metadataTables(metadata) {
109
+ return Array.isArray(metadata?.data)
110
+ ? metadata.data
111
+ : Array.isArray(metadata)
112
+ ? metadata
113
+ : Object.values(metadata?.data ?? metadata ?? {});
114
+ }
115
+ function tableByName(tables, tableName) {
116
+ return tables.find((table) => table?.name === tableName) ?? null;
117
+ }
118
+ function relatedTableName(relation) {
119
+ return relation?.targetTable?.name
120
+ ?? relation?.targetTable
121
+ ?? relation?.relatedTable?.name
122
+ ?? relation?.relatedTable
123
+ ?? relation?.table?.name
124
+ ?? relation?.table
125
+ ?? null;
126
+ }
127
+ function resolveFieldExposurePath(tables, rootTableName, fieldPath) {
128
+ const segments = String(fieldPath || '').split('.').map((item) => item.trim()).filter(Boolean);
129
+ const steps = [];
130
+ let current = tableByName(tables, rootTableName);
131
+ if (!current) {
132
+ return { ok: false, reason: `Root table not found: ${rootTableName}`, steps, targetTable: null, targetField: null };
133
+ }
134
+ if (!segments.length) {
135
+ return { ok: false, reason: 'fieldPath is empty.', steps, targetTable: current, targetField: null };
136
+ }
137
+ for (let index = 0; index < segments.length - 1; index += 1) {
138
+ const propertyName = segments[index];
139
+ const relation = asArray(current?.relations).find((item) => item?.propertyName === propertyName);
140
+ if (!relation) {
141
+ return { ok: false, reason: `Relation "${propertyName}" was not found on ${current.name}.`, steps, targetTable: current, targetField: null };
142
+ }
143
+ const nextTableName = relatedTableName(relation);
144
+ steps.push({ type: 'relation', propertyName, fromTable: current.name, targetTable: nextTableName });
145
+ current = nextTableName ? tableByName(tables, String(nextTableName)) : null;
146
+ if (!current) {
147
+ return { ok: false, reason: `Target table for relation "${propertyName}" could not be resolved.`, steps, targetTable: null, targetField: null };
148
+ }
149
+ }
150
+ const fieldName = segments[segments.length - 1];
151
+ const column = asArray(current?.columns).find((item) => item?.name === fieldName);
152
+ if (column) {
153
+ return { ok: true, reason: null, steps, targetTable: current, targetField: { kind: 'column', ...column } };
154
+ }
155
+ const relation = asArray(current?.relations).find((item) => item?.propertyName === fieldName);
156
+ if (relation) {
157
+ return { ok: true, reason: null, steps, targetTable: current, targetField: { kind: 'relation', ...relation } };
158
+ }
159
+ return { ok: false, reason: `Field "${fieldName}" was not found on ${current.name}.`, steps, targetTable: current, targetField: null };
160
+ }
161
+ function compactRows(value) {
162
+ const rows = Array.isArray(value?.data) ? value.data : Array.isArray(value) ? value : [];
163
+ return {
164
+ rowCount: rows.length,
165
+ firstRowKeys: rows[0] && typeof rows[0] === 'object' ? Object.keys(rows[0]).slice(0, 12) : [],
166
+ responseShape: value && typeof value === 'object' ? Object.keys(value).slice(0, 12) : [],
167
+ };
168
+ }
105
169
  function sourceMatches(source, query, snippetChars) {
106
170
  const normalizedQuery = normalizeText(query);
107
171
  if (!source || !normalizedQuery)
@@ -328,6 +392,110 @@ export async function searchRuntimeZone(apiUrl, input) {
328
392
  ],
329
393
  };
330
394
  }
395
+ export async function searchAdminExtensions(apiUrl, input) {
396
+ const mode = input.mode ?? 'search';
397
+ const result = await searchRuntimeZone(apiUrl, {
398
+ ...input,
399
+ mode,
400
+ zone: 'admin_ui',
401
+ extensionType: input.type ?? input.extensionType,
402
+ });
403
+ const results = Array.isArray(result?.results)
404
+ ? result.results.map((item) => ({
405
+ ...item,
406
+ nextInspect: item?.nextInspect?.input
407
+ ? {
408
+ tool: 'search_admin_extensions',
409
+ input: {
410
+ ...item.nextInspect.input,
411
+ zone: undefined,
412
+ type: item.nextInspect.input.extensionType,
413
+ extensionType: undefined,
414
+ },
415
+ }
416
+ : item?.nextInspect,
417
+ }))
418
+ : result?.results;
419
+ return {
420
+ ...result,
421
+ results,
422
+ action: mode === 'inspect' ? 'admin_extension_inspected' : 'admin_extensions_searched',
423
+ guidance: mode === 'inspect'
424
+ ? [
425
+ 'For focused existing-code edits, prefer patch_extension_code with the inspected id/name.',
426
+ 'For page/menu wiring, use extension_workflow or ensure_*_extension.',
427
+ 'Use <UButton> and other auto-injected components directly in templates; do not use resolveComponent for them.',
428
+ ]
429
+ : [
430
+ 'Inspect one candidate before editing.',
431
+ 'If the target is an existing page/widget/global extension, use patch_extension_code for a focused edit.',
432
+ 'Do not fetch destination business lists solely to draw menu/account-panel chips; use notification signals and fetch on click.',
433
+ ],
434
+ };
435
+ }
436
+ export async function debugFieldExposure(apiUrl, input) {
437
+ const tableName = String(input.tableName ?? '').trim();
438
+ const fieldPath = String(input.fieldPath ?? '').trim();
439
+ if (!tableName)
440
+ throw new Error('tableName is required.');
441
+ if (!fieldPath)
442
+ throw new Error('fieldPath is required, for example "owner.secret_token" or "api_key".');
443
+ const metadata = await fetchAPI(apiUrl, '/metadata');
444
+ const tables = metadataTables(metadata);
445
+ const resolved = resolveFieldExposurePath(tables, tableName, fieldPath);
446
+ const targetField = resolved.targetField;
447
+ const isPublished = targetField?.isPublished;
448
+ const routePath = String(input.routePath ?? `/${tableName}`).trim();
449
+ const fields = input.fields ? String(input.fields) : fieldPath;
450
+ const params = new URLSearchParams();
451
+ params.set('fields', fields);
452
+ params.set('limit', String(Math.min(Math.max(Number(input.limit ?? 1), 1), 10)));
453
+ if (input.deep)
454
+ params.set('deep', JSON.stringify(input.deep));
455
+ if (input.filter)
456
+ params.set('filter', JSON.stringify(input.filter));
457
+ const reproPath = `${routePath}?${params.toString()}`;
458
+ let repro = null;
459
+ if (input.runRepro) {
460
+ try {
461
+ repro = { ok: true, summary: compactRows(await fetchAPI(apiUrl, reproPath)) };
462
+ }
463
+ catch (error) {
464
+ repro = { ok: false, error: error?.message || String(error) };
465
+ }
466
+ }
467
+ const unpublishedLeak = resolved.ok && isPublished === false;
468
+ return {
469
+ action: 'field_exposure_debugged',
470
+ tableName,
471
+ fieldPath,
472
+ resolved,
473
+ metadataFinding: resolved.ok
474
+ ? {
475
+ targetTable: resolved.targetTable?.name ?? null,
476
+ fieldKind: targetField?.kind ?? null,
477
+ fieldName: targetField?.name ?? targetField?.propertyName ?? null,
478
+ isPublished,
479
+ isEncrypted: targetField?.isEncrypted ?? null,
480
+ }
481
+ : { error: resolved.reason },
482
+ reproRequest: { tool: 'test_rest_endpoint', input: { method: 'GET', path: reproPath } },
483
+ repro,
484
+ verdict: unpublishedLeak
485
+ ? 'If the repro returns this unpublished field through REST fields/deep, this is an Enfyra core field-exposure bug. Do not hide it with frontend code, route-local hooks, or field permissions.'
486
+ : 'No unpublished target field was resolved from metadata. Inspect the table/relation path before treating this as a core exposure bug.',
487
+ nextSteps: unpublishedLeak
488
+ ? [
489
+ 'Run the returned test_rest_endpoint repro if runRepro was false.',
490
+ 'If the response includes the unpublished field, report tableName, fieldPath, reproRequest.path, metadataFinding, and response shape to Enfyra core/support.',
491
+ 'Do not add route-local pre-hooks or frontend hiding as the real fix for a published-field contract breach.',
492
+ ]
493
+ : [
494
+ 'Use inspect_table on the root and related tables to verify the path.',
495
+ 'If the field is published, use field permissions/guards only for business access rules, not core isPublished enforcement.',
496
+ ],
497
+ };
498
+ }
331
499
  export async function inspectRuntimeZoneLocation(apiUrl, input) {
332
500
  const zone = input.zone;
333
501
  if (!RUNTIME_ZONES.includes(zone))
@@ -389,6 +557,34 @@ export async function inspectRuntimeZoneLocation(apiUrl, input) {
389
557
  };
390
558
  }
391
559
  export function registerRuntimeZoneTools(server, ENFYRA_API_URL) {
560
+ server.tool('search_admin_extensions', [
561
+ 'Focused admin UI locator for menu/page/widget/global extensions, account panel rows, notification chips, labels, buttons, tabs, and visible blocks.',
562
+ 'This is a weak-agent friendly alias for search_runtime_zone(zone=admin_ui): search first, then inspect one candidate before patching.',
563
+ ].join(' '), {
564
+ mode: z.enum(['search', 'inspect']).optional().default('search').describe('search returns ranked admin UI matches. inspect opens one result using id/name/path/query.'),
565
+ query: z.string().optional().describe('Visible text, button label, menu label, component name, class, icon, source term, or UX phrase.'),
566
+ path: z.string().optional().describe('Menu/page path such as /cloud/hosts when known.'),
567
+ id: z.union([z.string(), z.number()]).optional().describe('Extension id for mode=inspect; use nextInspect.input from search results.'),
568
+ name: z.string().optional().describe('Extension name for mode=inspect.'),
569
+ type: z.enum(['page', 'widget', 'global']).optional().describe('Narrows extension type.'),
570
+ includeDisabled: z.boolean().optional().default(true),
571
+ maxResults: z.number().int().min(1).max(25).optional().default(8),
572
+ snippetChars: z.number().int().min(120).max(600).optional().default(180),
573
+ includeSourceArtifact: z.boolean().optional().default(false),
574
+ }, async (input) => jsonContent(await searchAdminExtensions(ENFYRA_API_URL, input)));
575
+ server.tool('debug_field_exposure', [
576
+ 'Diagnose whether a REST fields/deep projection exposes an isPublished=false field.',
577
+ 'Use this for suspected secret/private field leaks. It builds a minimal repro and tells the agent when this is a core bug rather than a hook/frontend fix.',
578
+ ].join(' '), {
579
+ tableName: z.string().describe('Root route-backed table name used by the REST request.'),
580
+ fieldPath: z.string().describe('Field path to test, for example "secret_token", "owner.api_key", or "children.owner.email". Relation segments must be propertyName values.'),
581
+ routePath: z.string().optional().describe('REST route path. Defaults to /<tableName>.'),
582
+ fields: z.string().optional().describe('Exact fields query to use. Defaults to fieldPath.'),
583
+ deep: z.record(z.any()).optional().describe('Optional deep object for the repro request.'),
584
+ filter: z.record(z.any()).optional().describe('Optional bounded filter for the repro request.'),
585
+ limit: z.number().int().min(1).max(10).optional().default(1),
586
+ runRepro: z.boolean().optional().default(false).describe('When true, run the GET repro and return only compact response shape.'),
587
+ }, async (input) => jsonContent(await debugFieldExposure(ENFYRA_API_URL, input)));
392
588
  server.tool('search_runtime_zone', [
393
589
  'Single zone-scoped search/inspect tool for DB-backed Enfyra runtime artifacts.',
394
590
  'Use this before editing anything that lives in the database rather than repo files.',
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-zone-tools.js","sourceRoot":"","sources":["../../src/lib/runtime-zone-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-zone-tools.js","sourceRoot":"","sources":["../../src/lib/runtime-zone-tools.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,7 @@ export declare function resolveTableIdentifierFromMetadata(metadata: any, tableR
41
41
  export declare function fetchTableWithDetails(ENFYRA_API_URL: any, tableId: any): Promise<any>;
42
42
  export declare function assertIndexesDoNotReferenceUniqueFields(indexes: ConstraintGroup[], uniques: ConstraintGroup[]): void;
43
43
  export declare function normalizeRelationForTablePatch(relation: AnyRecord): RelationPatch;
44
+ export declare function normalizeRelationType(type: unknown): string;
44
45
  export declare function sanitizeExistingRelationForTablePatch(relation: AnyRecord): RelationPatch;
45
46
  export declare function resolveRelationTargetsFromMetadata(metadata: any, relations: RelationPatch[]): (RelationPatch | {
46
47
  targetTable: any;
@@ -44,6 +44,21 @@ const FALLBACK_COLUMN_TYPES = [
44
44
  'richtext',
45
45
  'float',
46
46
  ];
47
+ const RELATION_TYPE_ALIASES = {
48
+ many_to_one: 'many-to-one',
49
+ manyToOne: 'many-to-one',
50
+ manytoone: 'many-to-one',
51
+ one_to_many: 'one-to-many',
52
+ oneToMany: 'one-to-many',
53
+ onetomany: 'one-to-many',
54
+ one_to_one: 'one-to-one',
55
+ oneToOne: 'one-to-one',
56
+ onetoone: 'one-to-one',
57
+ many_to_many: 'many-to-many',
58
+ manyToMany: 'many-to-many',
59
+ manytomany: 'many-to-many',
60
+ };
61
+ const VALID_RELATION_TYPES = new Set(['many-to-one', 'one-to-many', 'one-to-one', 'many-to-many']);
47
62
  const AUTO_MANAGED_COLUMN_NAMES = new Set(['id', '_id', 'createdAt', 'updatedAt']);
48
63
  const COLUMN_TYPE_ALIAS_HINTS = [
49
64
  'Use varchar for short strings; text or richtext for long prose.',
@@ -218,6 +233,7 @@ function preflightCreateTableDefinitions(items) {
218
233
  const logicalFields = new Set([...AUTO_MANAGED_COLUMN_NAMES, ...columnNames, ...relationNames]);
219
234
  const indexes = normalizeConstraintGroupsValue(`items[${index}].indexes`, item.indexes ?? []);
220
235
  const uniques = normalizeConstraintGroupsValue(`items[${index}].uniques`, item.uniques ?? []);
236
+ assertIndexesDoNotReferenceUniqueFields(indexes, uniques);
221
237
  const unknownConstraintFields = [...indexes, ...uniques]
222
238
  .flat()
223
239
  .filter((field) => !logicalFields.has(field));
@@ -289,6 +305,12 @@ export function normalizeRelationForTablePatch(relation) {
289
305
  }
290
306
  const { sourceTable, targetTable, targetTableId, mappedBy, fkCol, fkColumn, foreignKeyColumn, sourceColumn, targetColumn, junctionSourceColumn, junctionTargetColumn, ...rest } = relation;
291
307
  const normalized = { ...rest };
308
+ if (rest.type !== undefined) {
309
+ normalized.type = normalizeRelationType(rest.type);
310
+ }
311
+ if (normalized.type === 'one-to-many' && mappedBy !== undefined && mappedBy !== null && mappedBy !== '') {
312
+ delete normalized.inversePropertyName;
313
+ }
292
314
  const resolvedTargetTable = targetTableId ??
293
315
  (targetTable && typeof targetTable === 'object'
294
316
  ? targetTable.id ?? targetTable._id ?? targetTable
@@ -303,6 +325,14 @@ export function normalizeRelationForTablePatch(relation) {
303
325
  }
304
326
  return normalized;
305
327
  }
328
+ export function normalizeRelationType(type) {
329
+ const raw = String(type ?? '').trim();
330
+ const normalized = RELATION_TYPE_ALIASES[raw] ?? raw;
331
+ if (!VALID_RELATION_TYPES.has(normalized)) {
332
+ throw new Error(`Invalid relation type "${raw || '<missing>'}". Use one of many-to-one, one-to-many, one-to-one, or many-to-many. Common aliases such as many_to_one are normalized by the tool.`);
333
+ }
334
+ return normalized;
335
+ }
306
336
  function assertNoForbiddenRelationKeys(args) {
307
337
  for (const key of FORBIDDEN_RELATION_KEYS) {
308
338
  if (Object.prototype.hasOwnProperty.call(args, key)) {
@@ -553,7 +583,9 @@ export function registerTableTools(server, ENFYRA_API_URL) {
553
583
  assertGlobalRulesAck(args.globalRulesAckKey);
554
584
  return withSchemaQueue(async () => {
555
585
  assertNoForbiddenRelationKeys(args);
556
- const { sourceTableId, targetTableId, targetTable, type, propertyName, inversePropertyName, mappedBy, isNullable, onDelete, description } = args;
586
+ const { sourceTableId, targetTableId, targetTable } = args;
587
+ const relationPatch = normalizeRelationForTablePatch(args);
588
+ const { type, propertyName, inversePropertyName, mappedBy, isNullable, onDelete, description } = relationPatch;
557
589
  const targetRef = targetTableId ?? targetTable;
558
590
  if (targetRef === undefined || targetRef === null || targetRef === '') {
559
591
  throw new Error('create_relations requires targetTableId or targetTable. Pass an existing table id, name, or alias.');
@@ -693,7 +725,7 @@ export function registerTableTools(server, ENFYRA_API_URL) {
693
725
  sourceTableId: z.string().describe('Source table id, exact table name, or alias. For many-to-one, this is the table that owns the relation property.'),
694
726
  targetTableId: z.string().optional().describe('Target table id, exact table name, or alias. MCP resolves names/aliases to ids before mutation. Optional when targetTable is provided.'),
695
727
  targetTable: z.string().optional().describe('Alias for targetTableId when naturally using a target table name/alias such as enfyra_user. Optional when targetTableId is provided.'),
696
- type: z.enum(['many-to-one', 'one-to-many', 'one-to-one', 'many-to-many']).describe('Relation type.'),
728
+ type: z.string().describe('Relation type. Use many-to-one, one-to-many, one-to-one, or many-to-many. Common aliases such as many_to_one are normalized by the tool.'),
697
729
  propertyName: z.string().describe('Property name on source table (e.g., "customer", "items").'),
698
730
  inversePropertyName: z.string().optional().describe('Property name on target table for bidirectional relation (e.g., "orders"). Omit unless a concrete response, UI, deep query, aggregate sort/count, or parent-to-child traversal will use the reverse field. Do not add inverses merely because a parent table exists.'),
699
731
  mappedBy: z.string().optional().describe('Mapped-by property for inverse relation shapes when required by the backend. Do not use physical FK names.'),
@@ -868,24 +900,26 @@ export function registerTableTools(server, ENFYRA_API_URL) {
868
900
  result,
869
901
  };
870
902
  }
871
- async function deleteOneTable({ tableId, confirm }) {
872
- const tableData = await fetchTableWithDetails(ENFYRA_API_URL, tableId);
903
+ async function deleteOneTable({ tableId, tableName, confirm }) {
904
+ const resolvedTableId = tableId ?? resolveTableIdentifierFromMetadata(await fetchAPI(ENFYRA_API_URL, '/metadata'), tableName, 'delete_tables item tableName');
905
+ const tableData = await fetchTableWithDetails(ENFYRA_API_URL, resolvedTableId);
873
906
  if (!confirm) {
874
907
  return {
875
908
  action: 'delete_table_preview',
876
- tableId,
909
+ tableId: resolvedTableId,
877
910
  tableName: tableData.name,
878
911
  columnCount: (tableData.columns || []).length,
879
912
  relationCount: (tableData.relations || []).length,
880
913
  destructive: true,
881
914
  };
882
915
  }
883
- const result = await fetchAPI(ENFYRA_API_URL, `/enfyra_table/${tableId}`, {
916
+ const result = await fetchAPI(ENFYRA_API_URL, `/enfyra_table/${resolvedTableId}`, {
884
917
  method: 'DELETE',
885
918
  });
886
919
  return {
887
920
  action: 'table_deleted',
888
- tableId,
921
+ tableId: resolvedTableId,
922
+ tableName: tableData.name,
889
923
  result,
890
924
  };
891
925
  }
@@ -934,14 +968,17 @@ export function registerTableTools(server, ENFYRA_API_URL) {
934
968
  };
935
969
  }
936
970
  // ─── READ ───
937
- server.tool('get_all_tables', 'List table definitions from metadata. Every call must pass either limit or all=true. Use search to narrow by table name or alias.', {
938
- limit: z.number().int().positive().optional().describe('Maximum tables returned after search. Required unless all=true.'),
971
+ server.tool('get_all_tables', 'List table definitions from metadata. Complete lists must pass either limit or all=true. If search is provided without limit, the tool returns a bounded lookup window of 10 matches.', {
972
+ limit: z.number().int().positive().optional().describe('Maximum tables returned after search. Required unless all=true or search is provided.'),
939
973
  all: z.boolean().optional().describe('Return all matched tables. Use this when a complete table list is required.'),
940
974
  search: z.string().optional().describe('Optional table name, alias, or description substring filter.'),
941
975
  }, async ({ limit, all, search }) => {
942
- if (!all && limit === undefined) {
976
+ if (!all && limit === undefined && !search?.trim()) {
943
977
  throw new Error('get_all_tables requires either limit or all=true. Do not invent arbitrary limits for complete table lists; use all=true.');
944
978
  }
979
+ if (all && limit !== undefined) {
980
+ throw new Error('get_all_tables accepts either all=true or limit, not both.');
981
+ }
945
982
  const metadata = await fetchAPI(ENFYRA_API_URL, '/metadata');
946
983
  const needle = search?.trim().toLowerCase();
947
984
  const tables = normalizeTablesFromMetadata(metadata)
@@ -961,13 +998,16 @@ export function registerTableTools(server, ENFYRA_API_URL) {
961
998
  return [table.name, table.alias, table.description]
962
999
  .some((value) => String(value || '').toLowerCase().includes(needle));
963
1000
  });
964
- const returnedTables = all ? tables : tables.slice(0, limit);
1001
+ const effectiveLimit = all ? tables.length : (limit ?? 10);
1002
+ const returnedTables = all ? tables : tables.slice(0, effectiveLimit);
965
1003
  return jsonContent({
966
1004
  action: 'get_all_tables',
967
1005
  totalTableCount: normalizeTablesFromMetadata(metadata).length,
968
1006
  matchedTableCount: tables.length,
969
1007
  returnedTableCount: returnedTables.length,
970
1008
  all: Boolean(all),
1009
+ implicitSearchLimit: Boolean(!all && limit === undefined && search?.trim()),
1010
+ hardCap: all ? null : effectiveLimit,
971
1011
  search: search || null,
972
1012
  tables: returnedTables,
973
1013
  detailHint: 'Use inspect_table with a table id/name for columns, relations, indexes, routes, permissions, and GraphQL state.',
@@ -1098,6 +1138,11 @@ export function registerTableTools(server, ENFYRA_API_URL) {
1098
1138
  }
1099
1139
  }
1100
1140
  const createdRelations = [];
1141
+ deferredRelations.sort((left, right) => {
1142
+ const leftPriority = normalizeRelationType(left.type) === 'one-to-many' ? 1 : 0;
1143
+ const rightPriority = normalizeRelationType(right.type) === 'one-to-many' ? 1 : 0;
1144
+ return leftPriority - rightPriority;
1145
+ });
1101
1146
  for (const relation of deferredRelations) {
1102
1147
  const relationResult = await appendRelationToTable({
1103
1148
  sourceTableId: relation.sourceTableId,
@@ -1156,7 +1201,7 @@ export function registerTableTools(server, ENFYRA_API_URL) {
1156
1201
  return jsonContent({ action: 'tables_updated', requested: parsedItems.length, updatedCount: updated.length, sequential: true, updated });
1157
1202
  });
1158
1203
  server.tool('delete_tables', 'Delete one or more table definitions. Always pass items as a native JSON array; for one table, pass one item. confirm=false previews every target; confirm=true deletes sequentially.', {
1159
- items: bulkObjectArrayParam(z, 'Table delete items').describe('Native JSON array of delete items: [{ tableId }].'),
1204
+ items: bulkObjectArrayParam(z, 'Table delete items').describe('Native JSON array of delete items: [{ tableId }] or [{ tableName }]. Names are resolved through live metadata before preview/delete.'),
1160
1205
  maxItems: z.number().int().min(1).max(100).optional().default(100).describe('Safety cap for one schema batch. Default/max is 100.'),
1161
1206
  confirm: z.boolean().optional().default(false).describe('Required true to apply destructive deletes. Omit/false returns previews only.'),
1162
1207
  globalRulesAckKey: globalRulesAckParam(z).optional().describe('Required when confirm=true. Use globalRulesAckKey from get_enfyra_required_knowledge.'),
@@ -1167,9 +1212,9 @@ export function registerTableTools(server, ENFYRA_API_URL) {
1167
1212
  assertGlobalRulesAck(globalRulesAckKey);
1168
1213
  const results = [];
1169
1214
  for (const [index, item] of parsedItems.entries()) {
1170
- if (!item.tableId)
1171
- throw new Error(`items[${index}].tableId is required.`);
1172
- const result = await withSchemaQueue(() => deleteOneTable({ tableId: item.tableId, confirm }));
1215
+ if (!item.tableId && !item.tableName)
1216
+ throw new Error(`items[${index}] requires tableId or tableName.`);
1217
+ const result = await withSchemaQueue(() => deleteOneTable({ tableId: item.tableId, tableName: item.tableName, confirm }));
1173
1218
  results.push({ index, ...result });
1174
1219
  }
1175
1220
  return jsonContent({