@enfyra/mcp-server 0.1.20 → 0.1.22

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.
@@ -5,6 +5,9 @@ import { z } from 'zod';
5
5
  import { fetchAPI } from './fetch.js';
6
6
  import { jsonContent } from './response-format.js';
7
7
  import { assertGlobalRulesAck, globalRulesAckParam } from './required-knowledge.js';
8
+ function bulkObjectArrayParam(z, label) {
9
+ return z.union([z.array(z.record(z.any())), z.string()]).describe(`${label} as a native JSON array of objects. JSON string is accepted only for older clients.`);
10
+ }
8
11
  let schemaQueue = Promise.resolve();
9
12
  function withSchemaQueue(operation) {
10
13
  const run = schemaQueue.then(operation, operation);
@@ -128,7 +131,10 @@ function parseJsonArrayParam(name, value) {
128
131
  return parsed;
129
132
  }
130
133
  function parseBulkItemsParam(name, value) {
131
- const parsed = JSON.parse(value);
134
+ if (value === undefined || value === null || value === '') {
135
+ throw new Error(`${name} must be a native JSON array. Pass one object in the array for a single mutation.`);
136
+ }
137
+ const parsed = typeof value === 'string' ? JSON.parse(value) : value;
132
138
  if (!Array.isArray(parsed)) {
133
139
  throw new Error(`${name} must be a JSON array. Pass one object in the array for a single mutation.`);
134
140
  }
@@ -168,6 +174,45 @@ function normalizeConstraintGroupsValue(name, value) {
168
174
  }
169
175
  return normalizeConstraintGroups(name, parsed);
170
176
  }
177
+ function splitRelationConstraintGroups(groups, relationNames) {
178
+ const immediate = [];
179
+ const deferred = [];
180
+ for (const group of groups) {
181
+ if (group.some((field) => relationNames.has(field)))
182
+ deferred.push(group);
183
+ else
184
+ immediate.push(group);
185
+ }
186
+ return { immediate, deferred };
187
+ }
188
+ function mergeConstraintGroups(existing, additions) {
189
+ const seen = new Set(existing.map((group) => JSON.stringify(group)));
190
+ const merged = [...existing];
191
+ for (const group of additions) {
192
+ const key = JSON.stringify(group);
193
+ if (!seen.has(key)) {
194
+ seen.add(key);
195
+ merged.push(group);
196
+ }
197
+ }
198
+ return merged;
199
+ }
200
+ function resolveRelationConstraintGroups(table, groups, groupName) {
201
+ const relationByProperty = new Map((table.relations || [])
202
+ .filter((relation) => relation?.propertyName)
203
+ .map((relation) => [relation.propertyName, relation]));
204
+ return groups.map((group) => group.map((field) => {
205
+ const relation = relationByProperty.get(field);
206
+ if (!relation)
207
+ return field;
208
+ const physicalColumn = relation.foreignKeyColumn || relation.fkColumn || relation.fkCol;
209
+ if (!physicalColumn) {
210
+ throw new Error(`${groupName} uses relation propertyName "${field}", but the created relation did not expose a physical FK column for indexing. ` +
211
+ 'This usually means the relation is not a direct many-to-one/one-to-one relation. Keep relation indexes/uniques only on direct owning relations.');
212
+ }
213
+ return physicalColumn;
214
+ }));
215
+ }
171
216
  export function assertIndexesDoNotReferenceUniqueFields(indexes, uniques) {
172
217
  const uniqueFields = new Set(uniques.flat());
173
218
  const conflicts = indexes
@@ -623,16 +668,20 @@ export function registerTableTools(server, ENFYRA_API_URL) {
623
668
  const metadata = await fetchAPI(ENFYRA_API_URL, '/metadata');
624
669
  const supportedTypes = getSupportedColumnTypesFromMetadata(metadata);
625
670
  const { columns: normalizedUserColumns, normalizations } = normalizeColumnsForLiveMetadata(userColumns, supportedTypes);
671
+ const deferredRelations = arrayValue('relations', args.relations).map(normalizeRelationForTablePatch);
672
+ const relationNames = new Set(deferredRelations.map((relation) => relation.propertyName).filter(Boolean));
626
673
  const indexes = normalizeConstraintGroupsValue('indexes', args.indexes ?? []);
627
674
  const uniques = normalizeConstraintGroupsValue('uniques', args.uniques ?? []);
628
675
  assertIndexesDoNotReferenceUniqueFields(indexes, uniques);
676
+ const splitIndexes = splitRelationConstraintGroups(indexes, relationNames);
677
+ const splitUniques = splitRelationConstraintGroups(uniques, relationNames);
629
678
  const body = { name: args.name, description: args.description, columns: [idColumn, ...normalizedUserColumns], relations: [] };
630
679
  if (args.isSingleRecord !== undefined)
631
680
  body.isSingleRecord = args.isSingleRecord;
632
681
  if (args.indexes !== undefined)
633
- body.indexes = indexes;
682
+ body.indexes = splitIndexes.immediate;
634
683
  if (args.uniques !== undefined)
635
- body.uniques = uniques;
684
+ body.uniques = splitUniques.immediate;
636
685
  const result = await fetchAPI(ENFYRA_API_URL, '/enfyra_table', {
637
686
  method: 'POST',
638
687
  body: JSON.stringify(body),
@@ -645,7 +694,6 @@ export function registerTableTools(server, ENFYRA_API_URL) {
645
694
  ? null
646
695
  : liveMetadataAfterCreate?.data?.table || liveMetadataAfterCreate?.data || liveMetadataAfterCreate?.table || liveMetadataAfterCreate;
647
696
  const liveSchema = summarizeCreatedTableSchema(liveTableAfterCreate, args.name);
648
- const deferredRelations = arrayValue('relations', args.relations).map(normalizeRelationForTablePatch);
649
697
  const routePath = `/${args.name}`;
650
698
  return {
651
699
  action: 'table_created',
@@ -656,6 +704,7 @@ export function registerTableTools(server, ENFYRA_API_URL) {
656
704
  deferredRelationCount: deferredRelations.length,
657
705
  indexGroupCount: indexes.length,
658
706
  uniqueGroupCount: uniques.length,
707
+ deferredConstraintCount: splitIndexes.deferred.length + splitUniques.deferred.length,
659
708
  },
660
709
  schemaNormalization: normalizations,
661
710
  schema: {
@@ -678,6 +727,39 @@ export function registerTableTools(server, ENFYRA_API_URL) {
678
727
  noGetById: true,
679
728
  },
680
729
  deferredRelations,
730
+ deferredConstraints: {
731
+ indexes: splitIndexes.deferred,
732
+ uniques: splitUniques.deferred,
733
+ },
734
+ result,
735
+ };
736
+ }
737
+ async function applyDeferredConstraints(tableId, deferredConstraints) {
738
+ const deferredIndexes = deferredConstraints?.indexes || [];
739
+ const deferredUniques = deferredConstraints?.uniques || [];
740
+ if (deferredIndexes.length === 0 && deferredUniques.length === 0)
741
+ return null;
742
+ const tableData = await fetchTableWithDetails(ENFYRA_API_URL, tableId);
743
+ const mappedIndexes = resolveRelationConstraintGroups(tableData, deferredIndexes, 'indexes');
744
+ const mappedUniques = resolveRelationConstraintGroups(tableData, deferredUniques, 'uniques');
745
+ const existingIndexes = normalizeConstraintGroupsValue('indexes', tableData.indexes || []);
746
+ const existingUniques = normalizeConstraintGroupsValue('uniques', tableData.uniques || []);
747
+ const indexes = mergeConstraintGroups(existingIndexes, mappedIndexes);
748
+ const uniques = mergeConstraintGroups(existingUniques, mappedUniques);
749
+ assertIndexesDoNotReferenceUniqueFields(indexes, uniques);
750
+ const result = await patchTableAutoConfirm(ENFYRA_API_URL, tableId, { indexes, uniques });
751
+ return {
752
+ action: 'deferred_constraints_applied',
753
+ tableId,
754
+ tableName: tableData.name,
755
+ requested: {
756
+ indexes: deferredIndexes,
757
+ uniques: deferredUniques,
758
+ },
759
+ applied: {
760
+ indexes: mappedIndexes,
761
+ uniques: mappedUniques,
762
+ },
681
763
  result,
682
764
  };
683
765
  }
@@ -901,26 +983,37 @@ export function registerTableTools(server, ENFYRA_API_URL) {
901
983
  });
902
984
  // ─── TABLE MUTATIONS ───
903
985
  server.tool('create_tables', [
904
- 'Create one or more table definitions. Always pass items as a JSON array string; for one table, pass one item.',
986
+ 'Create one or more table definitions. Always pass items as a native JSON array; for one table, pass one item. JSON string arrays are accepted only for older MCP clients.',
905
987
  '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.',
906
988
  'Each item supports { name, description?, isSingleRecord?, columns?, relations?, indexes?, uniques? }. columns/relations/indexes/uniques may be arrays inside the item.',
907
989
  'Use get_schema_design_context first for live column types and relation rules. Do not include physical FK fields.',
908
990
  ].join(' '), {
909
- items: z.string().describe('JSON array string of table definitions. Pass one object in the array for a single table.'),
991
+ items: bulkObjectArrayParam(z, 'Table definitions').optional().describe('Native JSON array of table definitions. Pass one object in the array for a single table.'),
992
+ tables: bulkObjectArrayParam(z, 'Table definitions').optional().describe('Alias for items when the caller naturally names the batch tables. Pass either items or tables, not both.'),
910
993
  maxItems: z.number().int().min(1).max(100).optional().default(100).describe('Safety cap for one schema batch. Default/max is 100; operations still run sequentially.'),
911
994
  globalRulesAckKey: globalRulesAckParam(z),
912
- }, async ({ items, maxItems, globalRulesAckKey }) => {
995
+ }, async ({ items, tables, maxItems, globalRulesAckKey }) => {
913
996
  assertGlobalRulesAck(globalRulesAckKey);
914
- const parsedItems = parseBulkItemsParam('items', items);
997
+ if (items !== undefined && tables !== undefined)
998
+ throw new Error('Pass either items or tables to create_tables, not both.');
999
+ const parsedItems = parseBulkItemsParam('items', items ?? tables);
915
1000
  assertBulkLimit('create_tables', parsedItems, maxItems);
916
1001
  const created = [];
917
1002
  const deferredRelations = [];
1003
+ const deferredConstraints = [];
918
1004
  for (const [index, item] of parsedItems.entries()) {
919
1005
  const result = await withSchemaQueue(() => createOneTable(item));
920
1006
  created.push({ index, ...result, deferredRelations: undefined });
921
1007
  for (const relation of result.deferredRelations || []) {
922
1008
  deferredRelations.push({ index, sourceTableId: result.table.id || result.table.name, ...relation });
923
1009
  }
1010
+ if ((result.deferredConstraints?.indexes || []).length || (result.deferredConstraints?.uniques || []).length) {
1011
+ deferredConstraints.push({
1012
+ index,
1013
+ tableId: result.table.id || result.table.name,
1014
+ ...result.deferredConstraints,
1015
+ });
1016
+ }
924
1017
  }
925
1018
  const createdRelations = [];
926
1019
  for (const relation of deferredRelations) {
@@ -938,20 +1031,33 @@ export function registerTableTools(server, ENFYRA_API_URL) {
938
1031
  });
939
1032
  createdRelations.push({ index: relation.index, ...JSON.parse(relationResult.content[0].text) });
940
1033
  }
1034
+ const appliedDeferredConstraints = [];
1035
+ for (const constraints of deferredConstraints) {
1036
+ const constraintResult = await withSchemaQueue(() => applyDeferredConstraints(constraints.tableId, {
1037
+ indexes: constraints.indexes,
1038
+ uniques: constraints.uniques,
1039
+ }));
1040
+ if (constraintResult)
1041
+ appliedDeferredConstraints.push({ index: constraints.index, ...constraintResult });
1042
+ }
941
1043
  return jsonContent({
942
1044
  action: 'tables_created',
943
1045
  requested: parsedItems.length,
944
1046
  createdCount: created.length,
945
1047
  deferredRelationCount: deferredRelations.length,
946
1048
  createdRelationCount: createdRelations.length,
1049
+ deferredConstraintCount: deferredConstraints.length,
1050
+ appliedDeferredConstraintCount: appliedDeferredConstraints.length,
947
1051
  sequential: true,
948
1052
  relationPhaseAfterTables: true,
1053
+ constraintPhaseAfterRelations: true,
949
1054
  created,
950
1055
  createdRelations,
1056
+ appliedDeferredConstraints,
951
1057
  });
952
1058
  });
953
- server.tool('update_tables', 'Update one or more table definitions. Always pass items as a JSON array string; for one table, pass one item. Items run sequentially through the schema queue.', {
954
- items: z.string().describe('JSON array string of table update items: [{ tableId, name?, alias?, description?, isSingleRecord?, graphqlEnabled?, indexes?, uniques? }]. indexes/uniques may be arrays.'),
1059
+ 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. JSON string arrays are accepted only for older MCP clients.', {
1060
+ items: bulkObjectArrayParam(z, 'Table update items').describe('Native JSON array of table update items: [{ tableId, name?, alias?, description?, isSingleRecord?, graphqlEnabled?, indexes?, uniques? }]. indexes/uniques may be arrays.'),
955
1061
  maxItems: z.number().int().min(1).max(100).optional().default(100).describe('Safety cap for one schema batch. Default/max is 100.'),
956
1062
  globalRulesAckKey: globalRulesAckParam(z),
957
1063
  }, async ({ items, maxItems, globalRulesAckKey }) => {
@@ -967,8 +1073,8 @@ export function registerTableTools(server, ENFYRA_API_URL) {
967
1073
  }
968
1074
  return jsonContent({ action: 'tables_updated', requested: parsedItems.length, updatedCount: updated.length, sequential: true, updated });
969
1075
  });
970
- server.tool('delete_tables', 'Delete one or more table definitions. Always pass items as a JSON array string; for one table, pass one item. confirm=false previews every target; confirm=true deletes sequentially.', {
971
- items: z.string().describe('JSON array string of delete items: [{ tableId }].'),
1076
+ 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. JSON string arrays are accepted only for older MCP clients.', {
1077
+ items: bulkObjectArrayParam(z, 'Table delete items').describe('Native JSON array of delete items: [{ tableId }].'),
972
1078
  maxItems: z.number().int().min(1).max(100).optional().default(100).describe('Safety cap for one schema batch. Default/max is 100.'),
973
1079
  confirm: z.boolean().optional().default(false).describe('Required true to apply destructive deletes. Omit/false returns previews only.'),
974
1080
  globalRulesAckKey: globalRulesAckParam(z).optional().describe('Required when confirm=true. Use globalRulesAckKey from get_enfyra_required_knowledge.'),
@@ -994,13 +1100,16 @@ export function registerTableTools(server, ENFYRA_API_URL) {
994
1100
  });
995
1101
  });
996
1102
  // ─── COLUMN MUTATIONS ───
997
- server.tool('create_columns', 'Create one or more columns. Always pass items as a JSON array string; for one column, pass one item. Items run sequentially through the schema queue.', {
998
- items: z.string().describe('JSON array string of column definitions. Each item uses create_columns fields: { tableId, name, type, isNullable?, isUnique?, isPublished?, isUpdatable?, isEncrypted?, isPrimary?, isGenerated?, isSystem?, defaultValue?, description?, options? }.'),
1103
+ server.tool('create_columns', 'Create one or more columns. Always pass items as a native JSON array; for one column, pass one item. Items run sequentially through the schema queue. JSON string arrays are accepted only for older MCP clients.', {
1104
+ items: bulkObjectArrayParam(z, 'Column definitions').optional().describe('Native JSON array of column definitions. Each item uses create_columns fields: { tableId, name, type, isNullable?, isUnique?, isPublished?, isUpdatable?, isEncrypted?, isPrimary?, isGenerated?, isSystem?, defaultValue?, description?, options? }.'),
1105
+ columns: bulkObjectArrayParam(z, 'Column definitions').optional().describe('Alias for items when the caller naturally names the batch columns. Pass either items or columns, not both.'),
999
1106
  maxItems: z.number().int().min(1).max(100).optional().default(100).describe('Safety cap for one schema batch. Default/max is 100.'),
1000
1107
  globalRulesAckKey: globalRulesAckParam(z),
1001
- }, async ({ items, maxItems, globalRulesAckKey }) => {
1108
+ }, async ({ items, columns, maxItems, globalRulesAckKey }) => {
1002
1109
  assertGlobalRulesAck(globalRulesAckKey);
1003
- const parsedItems = parseBulkItemsParam('items', items);
1110
+ if (items !== undefined && columns !== undefined)
1111
+ throw new Error('Pass either items or columns to create_columns, not both.');
1112
+ const parsedItems = parseBulkItemsParam('items', items ?? columns);
1004
1113
  assertBulkLimit('create_columns', parsedItems, maxItems);
1005
1114
  const created = [];
1006
1115
  for (const [index, item] of parsedItems.entries()) {
@@ -1009,8 +1118,8 @@ export function registerTableTools(server, ENFYRA_API_URL) {
1009
1118
  }
1010
1119
  return jsonContent({ action: 'columns_created', requested: parsedItems.length, createdCount: created.length, sequential: true, created });
1011
1120
  });
1012
- server.tool('update_columns', 'Update one or more columns. Always pass items as a JSON array string; for one column, pass one item. Items run sequentially through the schema queue.', {
1013
- items: z.string().describe('JSON array string of column update items: [{ tableId, columnId, name?, type?, isNullable?, isPublished?, isUpdatable?, defaultValue?, description?, options? }].'),
1121
+ server.tool('update_columns', 'Update one or more columns. Always pass items as a native JSON array; for one column, pass one item. Items run sequentially through the schema queue. JSON string arrays are accepted only for older MCP clients.', {
1122
+ items: bulkObjectArrayParam(z, 'Column update items').describe('Native JSON array of column update items: [{ tableId, columnId, name?, type?, isNullable?, isPublished?, isUpdatable?, defaultValue?, description?, options? }].'),
1014
1123
  maxItems: z.number().int().min(1).max(100).optional().default(100).describe('Safety cap for one schema batch. Default/max is 100.'),
1015
1124
  globalRulesAckKey: globalRulesAckParam(z),
1016
1125
  }, async ({ items, maxItems, globalRulesAckKey }) => {
@@ -1028,8 +1137,8 @@ export function registerTableTools(server, ENFYRA_API_URL) {
1028
1137
  }
1029
1138
  return jsonContent({ action: 'columns_updated', requested: parsedItems.length, updatedCount: updated.length, sequential: true, updated });
1030
1139
  });
1031
- server.tool('delete_columns', 'Delete one or more columns. Always pass items as a JSON array string; for one column, pass one item. confirm=false previews every target; confirm=true deletes sequentially.', {
1032
- items: z.string().describe('JSON array string of delete items: [{ tableId, columnId }].'),
1140
+ server.tool('delete_columns', 'Delete one or more columns. Always pass items as a native JSON array; for one column, pass one item. confirm=false previews every target; confirm=true deletes sequentially. JSON string arrays are accepted only for older MCP clients.', {
1141
+ items: bulkObjectArrayParam(z, 'Column delete items').describe('Native JSON array of delete items: [{ tableId, columnId }].'),
1033
1142
  maxItems: z.number().int().min(1).max(100).optional().default(100).describe('Safety cap for one schema batch. Default/max is 100.'),
1034
1143
  confirm: z.boolean().optional().default(false).describe('Required true to apply destructive deletes. Omit/false returns previews only.'),
1035
1144
  globalRulesAckKey: globalRulesAckParam(z).optional().describe('Required when confirm=true. Use globalRulesAckKey from get_enfyra_required_knowledge.'),
@@ -1057,13 +1166,16 @@ export function registerTableTools(server, ENFYRA_API_URL) {
1057
1166
  });
1058
1167
  });
1059
1168
  // ─── RELATION MUTATIONS ───
1060
- server.tool('create_relations', 'Create one or more relations. Always pass items as a JSON array string; for one relation, pass one item. Items run sequentially through the schema queue and table names/aliases are resolved internally.', {
1061
- items: z.string().describe('JSON array string of relation definitions. Each item uses { sourceTableId, targetTableId, type, propertyName, inversePropertyName?, mappedBy?, isNullable?, onDelete?, description? }. Do not send physical FK fields.'),
1169
+ server.tool('create_relations', 'Create one or more relations. Always pass items as a native JSON array; for one relation, pass one item. Items run sequentially through the schema queue and table names/aliases are resolved internally. JSON string arrays are accepted only for older MCP clients.', {
1170
+ items: bulkObjectArrayParam(z, 'Relation definitions').optional().describe('Native JSON array of relation definitions. Each item uses { sourceTableId, targetTableId, type, propertyName, inversePropertyName?, mappedBy?, isNullable?, onDelete?, description? }. Do not send physical FK fields.'),
1171
+ relations: bulkObjectArrayParam(z, 'Relation definitions').optional().describe('Alias for items when the caller naturally names the batch relations. Pass either items or relations, not both.'),
1062
1172
  maxItems: z.number().int().min(1).max(100).optional().default(100).describe('Safety cap for one schema batch. Default/max is 100.'),
1063
1173
  globalRulesAckKey: globalRulesAckParam(z),
1064
- }, async ({ items, maxItems, globalRulesAckKey }) => {
1174
+ }, async ({ items, relations, maxItems, globalRulesAckKey }) => {
1065
1175
  assertGlobalRulesAck(globalRulesAckKey);
1066
- const parsedItems = parseBulkItemsParam('items', items);
1176
+ if (items !== undefined && relations !== undefined)
1177
+ throw new Error('Pass either items or relations to create_relations, not both.');
1178
+ const parsedItems = parseBulkItemsParam('items', items ?? relations);
1067
1179
  assertBulkLimit('create_relations', parsedItems, maxItems);
1068
1180
  const created = [];
1069
1181
  for (const [index, item] of parsedItems.entries()) {
@@ -1072,8 +1184,8 @@ export function registerTableTools(server, ENFYRA_API_URL) {
1072
1184
  }
1073
1185
  return jsonContent({ action: 'relations_created', requested: parsedItems.length, createdCount: created.length, sequential: true, created });
1074
1186
  });
1075
- server.tool('delete_relations', 'Delete one or more relations. Always pass items as a JSON array string; for one relation, pass one item. confirm=false previews every target; confirm=true deletes sequentially.', {
1076
- items: z.string().describe('JSON array string of delete items: [{ tableId, relationId }].'),
1187
+ server.tool('delete_relations', 'Delete one or more relations. Always pass items as a native JSON array; for one relation, pass one item. confirm=false previews every target; confirm=true deletes sequentially. JSON string arrays are accepted only for older MCP clients.', {
1188
+ items: bulkObjectArrayParam(z, 'Relation delete items').describe('Native JSON array of delete items: [{ tableId, relationId }].'),
1077
1189
  maxItems: z.number().int().min(1).max(100).optional().default(100).describe('Safety cap for one schema batch. Default/max is 100.'),
1078
1190
  confirm: z.boolean().optional().default(false).describe('Required true to apply destructive deletes. Omit/false returns previews only.'),
1079
1191
  globalRulesAckKey: globalRulesAckParam(z).optional().describe('Required when confirm=true. Use globalRulesAckKey from get_enfyra_required_knowledge.'),
@@ -1 +1 @@
1
- {"version":3,"file":"table-tools.js","sourceRoot":"","sources":["../../src/lib/table-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table-tools.js","sourceRoot":"","sources":["../../src/lib/table-tools.ts"],"names":[],"mappings":"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"}
@@ -161,7 +161,7 @@ export const TOOL_WORKFLOWS = [
161
161
  tool: 'single-record CRUD tools',
162
162
  when: 'creating, updating, or deleting one row',
163
163
  useInstead: 'plural tools with a one-item array',
164
- reason: 'MCP write tools are bulk envelopes; they preflight arrays and run sequentially even for one item.',
164
+ reason: 'MCP write tools are bulk envelopes; they accept native arrays, preflight arrays, and run sequentially even for one item.',
165
165
  },
166
166
  {
167
167
  tool: 'generic CRUD on internal/no-route system tables',
@@ -175,7 +175,7 @@ export const TOOL_WORKFLOWS = [
175
175
  nextStepTemplate: [
176
176
  'Inspect table metadata and choose fields explicitly.',
177
177
  'Use bounded pagination or all=true deliberately.',
178
- 'For writes, read required knowledge and use plural mutation tools with array inputs, even for one item.',
178
+ 'For writes, read required knowledge and use plural mutation tools with native array inputs, even for one item.',
179
179
  'Re-read with explicit fields after mutation when saved shape matters.',
180
180
  ],
181
181
  },
@@ -527,7 +527,7 @@ function primaryPathFor(workflow) {
527
527
  step(1, 'get_enfyra_required_knowledge', 'Read schema invariants and collect globalRulesAckKey.'),
528
528
  step(2, 'get_schema_design_context', 'Step zero: read live column types, table/column/relation attributes, constraint shape, and creation order.'),
529
529
  step(3, 'get_all_tables or inspect_table', 'Check existing tables before naming new tables or adding to an existing table.', { when: 'Use get_all_tables for new app schemas; inspect_table for a known existing table.' }),
530
- step(4, 'create_tables / create_columns / create_relations / update_tables', 'Apply schema changes with array inputs using only live types and relation propertyName values from the design context. The tools run sequentially.'),
530
+ step(4, 'create_tables / create_columns / create_relations / update_tables', 'Apply schema changes with native array inputs using only live types and relation propertyName values from the design context. The tools run sequentially.'),
531
531
  step(5, 'inspect_table', 'Re-read saved metadata before creating records, queries, handlers, or UI against the table.'),
532
532
  ];
533
533
  case 'record-data':
@@ -535,7 +535,7 @@ function primaryPathFor(workflow) {
535
535
  step(1, 'inspect_table', 'Read live columns, relations, primary key, route path, and field visibility.'),
536
536
  step(2, 'discover_query_capabilities', 'Load filter/deep/sort/aggregate shape when query shape is non-trivial.'),
537
537
  step(3, 'query_table / find_one_record / count_records', 'Read records with explicit fields and bounded pagination.'),
538
- step(4, 'create_records / update_records / delete_records', 'For writes, use only metadata-backed column names and relation propertyName values. Always pass an array, even for one item.', { when: 'Only after required knowledge is read for writes.' }),
538
+ step(4, 'create_records / update_records / delete_records', 'For writes, use only metadata-backed column names and relation propertyName values. Always pass a native array, even for one item.', { when: 'Only after required knowledge is read for writes.' }),
539
539
  step(5, 'find_one_record or query_table', 'Verify the saved/read shape with explicit fields.'),
540
540
  ];
541
541
  case 'dynamic-script':
@@ -689,10 +689,22 @@ export function listWorkflowSurfaces() {
689
689
  function normalizeDetail(detail) {
690
690
  return ALL_DETAILS.includes(detail) ? detail : 'summary';
691
691
  }
692
+ function normalizeRisk(risk) {
693
+ const value = normalize(risk) || 'unknown';
694
+ if (['read', 'write', 'destructive', 'debug', 'unknown'].includes(value))
695
+ return value;
696
+ if (['low', 'safe', 'readonly', 'read-only'].includes(value))
697
+ return 'read';
698
+ if (['medium', 'normal', 'moderate', 'mutation', 'mutating'].includes(value))
699
+ return 'write';
700
+ if (['high', 'danger', 'dangerous', 'delete', 'destructive-write'].includes(value))
701
+ return 'destructive';
702
+ return 'unknown';
703
+ }
692
704
  export function discoverWorkflowRoutes({ intent = '', surface, risk = 'unknown', detail = 'summary', limit = 5, } = {}) {
693
705
  const normalizedSurface = surface ? normalize(surface) : undefined;
694
706
  const normalizedDetail = normalizeDetail(detail);
695
- const normalizedRisk = normalize(risk) || 'unknown';
707
+ const normalizedRisk = normalizeRisk(risk);
696
708
  const formatter = normalizedDetail === 'full'
697
709
  ? fullWorkflow
698
710
  : normalizedDetail === 'plan'