@enfyra/mcp-server 0.1.69 → 0.1.71
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.
- package/README.md +1 -1
- package/dist/lib/config-local-adapters.d.ts +18 -0
- package/dist/lib/config-local-adapters.js +271 -0
- package/dist/lib/config-local-adapters.js.map +1 -0
- package/dist/lib/config-local-contracts.d.ts +28 -0
- package/dist/lib/config-local-contracts.js +200 -0
- package/dist/lib/config-local-contracts.js.map +1 -0
- package/dist/lib/config-local-prompts.d.ts +10 -0
- package/dist/lib/config-local-prompts.js +185 -0
- package/dist/lib/config-local-prompts.js.map +1 -0
- package/dist/lib/config-local-types.d.ts +23 -0
- package/dist/lib/config-local-types.js +2 -0
- package/dist/lib/config-local-types.js.map +1 -0
- package/dist/lib/config-local.js +3 -649
- package/dist/lib/config-local.js.map +1 -1
- package/dist/lib/discovery-tools.d.ts +4 -0
- package/dist/lib/discovery-tools.js +546 -0
- package/dist/lib/discovery-tools.js.map +1 -0
- package/dist/lib/dynamic-repository-builder.d.ts +1 -1
- package/dist/lib/dynamic-script-context-contract.d.ts +100 -0
- package/dist/lib/dynamic-script-context-contract.js +163 -0
- package/dist/lib/dynamic-script-context-contract.js.map +1 -0
- package/dist/lib/enfyra-mcp-server.d.ts +3 -0
- package/dist/lib/enfyra-mcp-server.js +79 -0
- package/dist/lib/enfyra-mcp-server.js.map +1 -0
- package/dist/lib/enfyra-tool-logic.d.ts +7 -0
- package/dist/lib/enfyra-tool-logic.js +8 -0
- package/dist/lib/enfyra-tool-logic.js.map +1 -0
- package/dist/lib/enfyra-tool-types.d.ts +27 -0
- package/dist/lib/enfyra-tool-types.js +2 -0
- package/dist/lib/enfyra-tool-types.js.map +1 -0
- package/dist/lib/extension-api-builders.d.ts +17 -0
- package/dist/lib/extension-api-builders.js +235 -0
- package/dist/lib/extension-api-builders.js.map +1 -0
- package/dist/lib/extension-component-builders.d.ts +87 -0
- package/dist/lib/extension-component-builders.js +623 -0
- package/dist/lib/extension-component-builders.js.map +1 -0
- package/dist/lib/extension-contract-review.d.ts +26 -0
- package/dist/lib/extension-contract-review.js +187 -0
- package/dist/lib/extension-contract-review.js.map +1 -0
- package/dist/lib/extension-theme-contract.d.ts +63 -0
- package/dist/lib/extension-theme-contract.js +417 -0
- package/dist/lib/extension-theme-contract.js.map +1 -0
- package/dist/lib/identity-tools.d.ts +4 -0
- package/dist/lib/identity-tools.js +46 -0
- package/dist/lib/identity-tools.js.map +1 -0
- package/dist/lib/log-tools.d.ts +4 -0
- package/dist/lib/log-tools.js +65 -0
- package/dist/lib/log-tools.js.map +1 -0
- package/dist/lib/mcp-example-connect.d.ts +9 -0
- package/dist/lib/mcp-example-connect.js +442 -0
- package/dist/lib/mcp-example-connect.js.map +1 -0
- package/dist/lib/mcp-example-extensions.d.ts +9 -0
- package/dist/lib/mcp-example-extensions.js +729 -0
- package/dist/lib/mcp-example-extensions.js.map +1 -0
- package/dist/lib/mcp-example-files.d.ts +9 -0
- package/dist/lib/mcp-example-files.js +51 -0
- package/dist/lib/mcp-example-files.js.map +1 -0
- package/dist/lib/mcp-example-flows.d.ts +9 -0
- package/dist/lib/mcp-example-flows.js +76 -0
- package/dist/lib/mcp-example-flows.js.map +1 -0
- package/dist/lib/mcp-example-graphql.d.ts +9 -0
- package/dist/lib/mcp-example-graphql.js +57 -0
- package/dist/lib/mcp-example-graphql.js.map +1 -0
- package/dist/lib/mcp-example-handlers-hooks.d.ts +9 -0
- package/dist/lib/mcp-example-handlers-hooks.js +328 -0
- package/dist/lib/mcp-example-handlers-hooks.js.map +1 -0
- package/dist/lib/mcp-example-oauth-setup.d.ts +9 -0
- package/dist/lib/mcp-example-oauth-setup.js +41 -0
- package/dist/lib/mcp-example-oauth-setup.js.map +1 -0
- package/dist/lib/mcp-example-permissions-rls.d.ts +9 -0
- package/dist/lib/mcp-example-permissions-rls.js +210 -0
- package/dist/lib/mcp-example-permissions-rls.js.map +1 -0
- package/dist/lib/mcp-example-queries-deep.d.ts +9 -0
- package/dist/lib/mcp-example-queries-deep.js +220 -0
- package/dist/lib/mcp-example-queries-deep.js.map +1 -0
- package/dist/lib/mcp-example-schema-relations.d.ts +9 -0
- package/dist/lib/mcp-example-schema-relations.js +148 -0
- package/dist/lib/mcp-example-schema-relations.js.map +1 -0
- package/dist/lib/mcp-example-websocket.d.ts +9 -0
- package/dist/lib/mcp-example-websocket.js +103 -0
- package/dist/lib/mcp-example-websocket.js.map +1 -0
- package/dist/lib/mcp-examples.d.ts +5 -5
- package/dist/lib/mcp-examples.js +22 -2394
- package/dist/lib/mcp-examples.js.map +1 -1
- package/dist/lib/method-tools.d.ts +4 -0
- package/dist/lib/method-tools.js +217 -0
- package/dist/lib/method-tools.js.map +1 -0
- package/dist/lib/package-tools.d.ts +4 -0
- package/dist/lib/package-tools.js +98 -0
- package/dist/lib/package-tools.js.map +1 -0
- package/dist/lib/platform-data-operations.d.ts +24 -0
- package/dist/lib/platform-data-operations.js +71 -0
- package/dist/lib/platform-data-operations.js.map +1 -0
- package/dist/lib/platform-endpoint-workflow.d.ts +42 -0
- package/dist/lib/platform-endpoint-workflow.js +382 -0
- package/dist/lib/platform-endpoint-workflow.js.map +1 -0
- package/dist/lib/platform-extension-source.d.ts +487 -0
- package/dist/lib/platform-extension-source.js +524 -0
- package/dist/lib/platform-extension-source.js.map +1 -0
- package/dist/lib/platform-extension-tools.d.ts +1 -0
- package/dist/lib/platform-extension-tools.js +416 -0
- package/dist/lib/platform-extension-tools.js.map +1 -0
- package/dist/lib/platform-extension-ui.d.ts +4 -0
- package/dist/lib/platform-extension-ui.js +5 -0
- package/dist/lib/platform-extension-ui.js.map +1 -0
- package/dist/lib/platform-extension-workflow.d.ts +54 -0
- package/dist/lib/platform-extension-workflow.js +194 -0
- package/dist/lib/platform-extension-workflow.js.map +1 -0
- package/dist/lib/platform-flow-operations.d.ts +554 -0
- package/dist/lib/platform-flow-operations.js +317 -0
- package/dist/lib/platform-flow-operations.js.map +1 -0
- package/dist/lib/platform-flow-tools.d.ts +1 -0
- package/dist/lib/platform-flow-tools.js +248 -0
- package/dist/lib/platform-flow-tools.js.map +1 -0
- package/dist/lib/platform-operation-logic.d.ts +10 -0
- package/dist/lib/platform-operation-logic.js +11 -0
- package/dist/lib/platform-operation-logic.js.map +1 -0
- package/dist/lib/platform-operation-tools.d.ts +1 -324
- package/dist/lib/platform-operation-tools.js +13 -4620
- package/dist/lib/platform-operation-tools.js.map +1 -1
- package/dist/lib/platform-operation-types.d.ts +46 -0
- package/dist/lib/platform-operation-types.js +2 -0
- package/dist/lib/platform-operation-types.js.map +1 -0
- package/dist/lib/platform-policy-tools.d.ts +1 -0
- package/dist/lib/platform-policy-tools.js +248 -0
- package/dist/lib/platform-policy-tools.js.map +1 -0
- package/dist/lib/platform-resource-operations.d.ts +124 -0
- package/dist/lib/platform-resource-operations.js +109 -0
- package/dist/lib/platform-resource-operations.js.map +1 -0
- package/dist/lib/platform-resource-tools.d.ts +1 -0
- package/dist/lib/platform-resource-tools.js +70 -0
- package/dist/lib/platform-resource-tools.js.map +1 -0
- package/dist/lib/platform-route-operations.d.ts +222 -0
- package/dist/lib/platform-route-operations.js +290 -0
- package/dist/lib/platform-route-operations.js.map +1 -0
- package/dist/lib/platform-route-tools.d.ts +1 -0
- package/dist/lib/platform-route-tools.js +307 -0
- package/dist/lib/platform-route-tools.js.map +1 -0
- package/dist/lib/platform-shared-operations.d.ts +7 -0
- package/dist/lib/platform-shared-operations.js +4 -0
- package/dist/lib/platform-shared-operations.js.map +1 -0
- package/dist/lib/platform-websocket-tools.d.ts +1 -0
- package/dist/lib/platform-websocket-tools.js +70 -0
- package/dist/lib/platform-websocket-tools.js.map +1 -0
- package/dist/lib/record-tools.d.ts +4 -0
- package/dist/lib/record-tools.js +418 -0
- package/dist/lib/record-tools.js.map +1 -0
- package/dist/lib/required-knowledge.d.ts +1 -1
- package/dist/lib/required-knowledge.js +3 -2
- package/dist/lib/required-knowledge.js.map +1 -1
- package/dist/lib/route-access-tools.d.ts +4 -0
- package/dist/lib/route-access-tools.js +172 -0
- package/dist/lib/route-access-tools.js.map +1 -0
- package/dist/lib/route-definition-tools.d.ts +4 -0
- package/dist/lib/route-definition-tools.js +285 -0
- package/dist/lib/route-definition-tools.js.map +1 -0
- package/dist/lib/route-inspection-tools.d.ts +4 -0
- package/dist/lib/route-inspection-tools.js +319 -0
- package/dist/lib/route-inspection-tools.js.map +1 -0
- package/dist/lib/route-tools.d.ts +1 -0
- package/dist/lib/route-tools.js +9 -0
- package/dist/lib/route-tools.js.map +1 -0
- package/dist/lib/runtime-zone-registry.d.ts +27 -0
- package/dist/lib/runtime-zone-registry.js +81 -0
- package/dist/lib/runtime-zone-registry.js.map +1 -0
- package/dist/lib/runtime-zone-search.d.ts +303 -0
- package/dist/lib/runtime-zone-search.js +596 -0
- package/dist/lib/runtime-zone-search.js.map +1 -0
- package/dist/lib/runtime-zone-tools.d.ts +2 -307
- package/dist/lib/runtime-zone-tools.js +2 -674
- package/dist/lib/runtime-zone-tools.js.map +1 -1
- package/dist/lib/schema-column-tools.d.ts +3 -0
- package/dist/lib/schema-column-tools.js +80 -0
- package/dist/lib/schema-column-tools.js.map +1 -0
- package/dist/lib/schema-mutation-coordinator.d.ts +28 -0
- package/dist/lib/schema-mutation-coordinator.js +154 -0
- package/dist/lib/schema-mutation-coordinator.js.map +1 -0
- package/dist/lib/schema-relation-contracts.d.ts +39 -0
- package/dist/lib/schema-relation-contracts.js +160 -0
- package/dist/lib/schema-relation-contracts.js.map +1 -0
- package/dist/lib/schema-relation-tools.d.ts +3 -0
- package/dist/lib/schema-relation-tools.js +61 -0
- package/dist/lib/schema-relation-tools.js.map +1 -0
- package/dist/lib/schema-table-contracts.d.ts +28 -0
- package/dist/lib/schema-table-contracts.js +263 -0
- package/dist/lib/schema-table-contracts.js.map +1 -0
- package/dist/lib/schema-table-tools.d.ts +3 -0
- package/dist/lib/schema-table-tools.js +297 -0
- package/dist/lib/schema-table-tools.js.map +1 -0
- package/dist/lib/schema-tool-operations.d.ts +150 -0
- package/dist/lib/schema-tool-operations.js +468 -0
- package/dist/lib/schema-tool-operations.js.map +1 -0
- package/dist/lib/schema-tool-types.d.ts +38 -0
- package/dist/lib/schema-tool-types.js +2 -0
- package/dist/lib/schema-tool-types.js.map +1 -0
- package/dist/lib/schema-verification.d.ts +14 -0
- package/dist/lib/schema-verification.js +105 -0
- package/dist/lib/schema-verification.js.map +1 -0
- package/dist/lib/script-tools.d.ts +4 -0
- package/dist/lib/script-tools.js +127 -0
- package/dist/lib/script-tools.js.map +1 -0
- package/dist/lib/system-tools.d.ts +4 -0
- package/dist/lib/system-tools.js +41 -0
- package/dist/lib/system-tools.js.map +1 -0
- package/dist/lib/table-tool-logic.d.ts +5 -0
- package/dist/lib/table-tool-logic.js +6 -0
- package/dist/lib/table-tool-logic.js.map +1 -0
- package/dist/lib/table-tools.d.ts +1 -84
- package/dist/lib/table-tools.js +7 -1522
- package/dist/lib/table-tools.js.map +1 -1
- package/dist/lib/tool-catalog.d.ts +2 -1
- package/dist/lib/tool-catalog.js +23 -2
- package/dist/lib/tool-catalog.js.map +1 -1
- package/dist/lib/tool-metadata-operations.d.ts +27 -0
- package/dist/lib/tool-metadata-operations.js +93 -0
- package/dist/lib/tool-metadata-operations.js.map +1 -0
- package/dist/lib/tool-permission-profile.d.ts +37 -0
- package/dist/lib/tool-permission-profile.js +106 -0
- package/dist/lib/tool-permission-profile.js.map +1 -0
- package/dist/lib/tool-record-operations.d.ts +102 -0
- package/dist/lib/tool-record-operations.js +260 -0
- package/dist/lib/tool-record-operations.js.map +1 -0
- package/dist/lib/tool-route-inspection.d.ts +47 -0
- package/dist/lib/tool-route-inspection.js +168 -0
- package/dist/lib/tool-route-inspection.js.map +1 -0
- package/dist/lib/tool-routing.d.ts +3 -417
- package/dist/lib/tool-routing.js +3 -1038
- package/dist/lib/tool-routing.js.map +1 -1
- package/dist/lib/tool-runtime-config.d.ts +33 -0
- package/dist/lib/tool-runtime-config.js +237 -0
- package/dist/lib/tool-runtime-config.js.map +1 -0
- package/dist/lib/tool-script-operations.d.ts +34 -0
- package/dist/lib/tool-script-operations.js +153 -0
- package/dist/lib/tool-script-operations.js.map +1 -0
- package/dist/lib/workflow-definitions.d.ts +366 -0
- package/dist/lib/workflow-definitions.js +703 -0
- package/dist/lib/workflow-definitions.js.map +1 -0
- package/dist/lib/workflow-planner.d.ts +45 -0
- package/dist/lib/workflow-planner.js +338 -0
- package/dist/lib/workflow-planner.js.map +1 -0
- package/dist/lib/workflow-types.d.ts +39 -0
- package/dist/lib/workflow-types.js +2 -0
- package/dist/lib/workflow-types.js.map +1 -0
- package/dist/mcp-server-entry.d.ts +0 -3
- package/dist/mcp-server-entry.js +2 -3249
- package/dist/mcp-server-entry.js.map +1 -1
- package/package.json +1 -1
|
@@ -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":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Table & Column tools for Enfyra MCP Server
|
|
3
|
+
*/
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
import { jsonContent } from './response-format.js';
|
|
6
|
+
import { assertGlobalRulesAck, globalRulesAckParam } from './required-knowledge.js';
|
|
7
|
+
import { assertBulkLimit, bulkObjectArrayParam, parseBulkItemsParam, withSchemaQueue, } from './table-tool-logic.js';
|
|
8
|
+
import { createSchemaToolOperations } from './schema-tool-operations.js';
|
|
9
|
+
export function registerSchemaColumnTools(server, ENFYRA_API_URL, options = {}) {
|
|
10
|
+
const toolset = options.toolset || 'guided';
|
|
11
|
+
const apiBase = ENFYRA_API_URL.replace(/\/$/, '');
|
|
12
|
+
const { appendColumnToTable, removeColumnFromTable, updateOneColumn, } = createSchemaToolOperations(ENFYRA_API_URL, toolset);
|
|
13
|
+
// ─── COLUMN MUTATIONS ───
|
|
14
|
+
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.', {
|
|
15
|
+
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? }.'),
|
|
16
|
+
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.'),
|
|
17
|
+
maxItems: z.number().int().min(1).max(100).optional().default(100).describe('Safety cap for one schema batch. Default/max is 100.'),
|
|
18
|
+
globalRulesAckKey: globalRulesAckParam(z),
|
|
19
|
+
}, async ({ items, columns, maxItems, globalRulesAckKey }) => {
|
|
20
|
+
assertGlobalRulesAck(globalRulesAckKey);
|
|
21
|
+
if (items !== undefined && columns !== undefined)
|
|
22
|
+
throw new Error('Pass either items or columns to create_columns, not both.');
|
|
23
|
+
const parsedItems = parseBulkItemsParam('items', items ?? columns);
|
|
24
|
+
assertBulkLimit('create_columns', parsedItems, maxItems);
|
|
25
|
+
const created = [];
|
|
26
|
+
for (const [index, item] of parsedItems.entries()) {
|
|
27
|
+
const result = await appendColumnToTable({ ...item, globalRulesAckKey });
|
|
28
|
+
created.push({ index, ...JSON.parse(result.content[0].text) });
|
|
29
|
+
}
|
|
30
|
+
return jsonContent({ action: 'columns_created', requested: parsedItems.length, createdCount: created.length, sequential: true, created });
|
|
31
|
+
});
|
|
32
|
+
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. Guided mode blocks isUpdatable/isPublished false→true broadening. Do not set isUpdatable=true merely to seed E2E data or let a custom action change a server-owned field; use an exact trusted internal write after authorization and preserve the canonical metadata contract.', {
|
|
33
|
+
items: bulkObjectArrayParam(z, 'Column update items').describe('Native JSON array of column update items: [{ tableId, columnId, name?, type?, isNullable?, isPublished?, isUpdatable?, defaultValue?, description?, options?, allowContractBroadening? }]. Guided mode blocks false→true isUpdatable/isPublished changes. Expert full mode requires allowContractBroadening=true; never use broadening only for custom-action writes or test fixtures.'),
|
|
34
|
+
maxItems: z.number().int().min(1).max(100).optional().default(100).describe('Safety cap for one schema batch. Default/max is 100.'),
|
|
35
|
+
globalRulesAckKey: globalRulesAckParam(z),
|
|
36
|
+
}, async ({ items, maxItems, globalRulesAckKey }) => {
|
|
37
|
+
assertGlobalRulesAck(globalRulesAckKey);
|
|
38
|
+
const parsedItems = parseBulkItemsParam('items', items);
|
|
39
|
+
assertBulkLimit('update_columns', parsedItems, maxItems);
|
|
40
|
+
const updated = [];
|
|
41
|
+
for (const [index, item] of parsedItems.entries()) {
|
|
42
|
+
if (!item.tableId)
|
|
43
|
+
throw new Error(`items[${index}].tableId is required.`);
|
|
44
|
+
if (!item.columnId)
|
|
45
|
+
throw new Error(`items[${index}].columnId is required.`);
|
|
46
|
+
const result = await withSchemaQueue(() => updateOneColumn(item));
|
|
47
|
+
updated.push({ index, ...result });
|
|
48
|
+
}
|
|
49
|
+
return jsonContent({ action: 'columns_updated', requested: parsedItems.length, updatedCount: updated.length, sequential: true, updated });
|
|
50
|
+
});
|
|
51
|
+
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.', {
|
|
52
|
+
items: bulkObjectArrayParam(z, 'Column delete items').describe('Native JSON array of delete items: [{ tableId, columnId }].'),
|
|
53
|
+
maxItems: z.number().int().min(1).max(100).optional().default(100).describe('Safety cap for one schema batch. Default/max is 100.'),
|
|
54
|
+
confirm: z.boolean().optional().default(false).describe('Required true to apply destructive deletes. Omit/false returns previews only.'),
|
|
55
|
+
globalRulesAckKey: globalRulesAckParam(z).optional().describe('Required when confirm=true. Use globalRulesAckKey from get_enfyra_required_knowledge.'),
|
|
56
|
+
}, async ({ items, maxItems, confirm, globalRulesAckKey }) => {
|
|
57
|
+
const parsedItems = parseBulkItemsParam('items', items);
|
|
58
|
+
assertBulkLimit('delete_columns', parsedItems, maxItems);
|
|
59
|
+
if (confirm)
|
|
60
|
+
assertGlobalRulesAck(globalRulesAckKey);
|
|
61
|
+
const results = [];
|
|
62
|
+
for (const [index, item] of parsedItems.entries()) {
|
|
63
|
+
if (!item.tableId)
|
|
64
|
+
throw new Error(`items[${index}].tableId is required.`);
|
|
65
|
+
if (!item.columnId)
|
|
66
|
+
throw new Error(`items[${index}].columnId is required.`);
|
|
67
|
+
const result = await removeColumnFromTable({ ...item, confirm, globalRulesAckKey });
|
|
68
|
+
results.push({ index, ...JSON.parse(result.content[0].text) });
|
|
69
|
+
}
|
|
70
|
+
return jsonContent({
|
|
71
|
+
action: confirm ? 'columns_deleted' : 'delete_columns_preview',
|
|
72
|
+
requested: parsedItems.length,
|
|
73
|
+
sequential: true,
|
|
74
|
+
destructive: true,
|
|
75
|
+
results,
|
|
76
|
+
next: confirm ? undefined : 'Call delete_columns again with the same items and confirm=true to delete sequentially.',
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=schema-column-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-column-tools.js","sourceRoot":"","sources":["../../src/lib/schema-column-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { AnyRecord, ColumnPatch } from './schema-tool-types.js';
|
|
2
|
+
export type { AnyRecord, CascadeVerifyOptions, ColumnPatch, ConstraintGroup, RelationPatch } from './schema-tool-types.js';
|
|
3
|
+
export declare function bulkObjectArrayParam(z: any, label: string): any;
|
|
4
|
+
export declare function assertColumnContractBroadening(existingColumn: AnyRecord, requested: AnyRecord, toolset?: string): string[];
|
|
5
|
+
export declare function withSchemaQueue<T>(operation: () => Promise<T> | T): Promise<T>;
|
|
6
|
+
export declare const FORBIDDEN_RELATION_KEYS: string[];
|
|
7
|
+
export declare const FALLBACK_COLUMN_TYPES: string[];
|
|
8
|
+
export declare const RELATION_TYPE_ALIASES: Record<string, string>;
|
|
9
|
+
export declare const VALID_RELATION_TYPES: Set<string>;
|
|
10
|
+
export declare const AUTO_MANAGED_COLUMN_NAMES: Set<string>;
|
|
11
|
+
export declare function buildPrimaryColumnForDbType(dbType: string | null | undefined): ColumnPatch;
|
|
12
|
+
export declare const COLUMN_TYPE_ALIAS_HINTS: string[];
|
|
13
|
+
export declare function normalizeTablesFromMetadata(metadata: any): any[];
|
|
14
|
+
export declare function resolveTableFromMetadata(metadata: any, tableId: any): any;
|
|
15
|
+
export declare function resolveTableFromMetadataByName(metadata: any, tableName: any): any;
|
|
16
|
+
export declare function resolveTableIdentifierFromMetadata(metadata: any, tableRef: any, label?: string): any;
|
|
17
|
+
/**
|
|
18
|
+
* Helper: fetch table with full columns and relations.
|
|
19
|
+
* Schema cascade tools resolve the table catalog entry first, then request the
|
|
20
|
+
* complete permission-projected schema from /metadata/:name.
|
|
21
|
+
*/
|
|
22
|
+
export declare function fetchTableWithDetails(ENFYRA_API_URL: any, tableId: any): Promise<AnyRecord>;
|
|
23
|
+
/**
|
|
24
|
+
* PATCH enfyra_table with auto-confirm for schema changes.
|
|
25
|
+
* First PATCH returns preview + requiredConfirmHash; this helper
|
|
26
|
+
* automatically resends with ?schemaConfirmHash= to apply.
|
|
27
|
+
*/
|
|
28
|
+
export declare function patchTableAutoConfirm(ENFYRA_API_URL: any, tableId: any, body: any): Promise<any>;
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { fetchAPI } from './fetch.js';
|
|
2
|
+
import { fetchTableCatalog, fetchTableMetadata, resolveTableCatalogEntry, } from './metadata-client.js';
|
|
3
|
+
import { getId, } from './schema-relation-contracts.js';
|
|
4
|
+
export function bulkObjectArrayParam(z, label) {
|
|
5
|
+
return z.array(z.record(z.any())).describe(`${label} as a native JSON array of objects. Pass one object in the array for a single mutation.`);
|
|
6
|
+
}
|
|
7
|
+
let schemaQueue = Promise.resolve();
|
|
8
|
+
export function assertColumnContractBroadening(existingColumn, requested, toolset = 'guided') {
|
|
9
|
+
const broadened = [];
|
|
10
|
+
if (existingColumn?.isUpdatable === false && requested?.isUpdatable === true)
|
|
11
|
+
broadened.push('isUpdatable false→true');
|
|
12
|
+
if (existingColumn?.isPublished === false && requested?.isPublished === true)
|
|
13
|
+
broadened.push('isPublished false→true');
|
|
14
|
+
if (broadened.length > 0 && (toolset !== 'full' || requested?.allowContractBroadening !== true)) {
|
|
15
|
+
throw new Error(`Column contract broadening is blocked in the guided toolset: ${broadened.join(', ')}. Do not broaden canonical metadata merely for a custom action or E2E fixture; use an exact trusted internal write after authorization instead. Expert full-toolset changes additionally require allowContractBroadening=true.`);
|
|
16
|
+
}
|
|
17
|
+
return broadened;
|
|
18
|
+
}
|
|
19
|
+
export function withSchemaQueue(operation) {
|
|
20
|
+
const run = schemaQueue.then(operation, operation);
|
|
21
|
+
schemaQueue = run.catch(() => { });
|
|
22
|
+
return run;
|
|
23
|
+
}
|
|
24
|
+
export const FORBIDDEN_RELATION_KEYS = [
|
|
25
|
+
'fkCol',
|
|
26
|
+
'fkColumn',
|
|
27
|
+
'foreignKeyColumn',
|
|
28
|
+
'referencedColumn',
|
|
29
|
+
'constraintName',
|
|
30
|
+
'sourceColumn',
|
|
31
|
+
'targetColumn',
|
|
32
|
+
'junctionTableName',
|
|
33
|
+
'junctionSourceColumn',
|
|
34
|
+
'junctionTargetColumn',
|
|
35
|
+
];
|
|
36
|
+
export const FALLBACK_COLUMN_TYPES = [
|
|
37
|
+
'int',
|
|
38
|
+
'varchar',
|
|
39
|
+
'text',
|
|
40
|
+
'boolean',
|
|
41
|
+
'uuid',
|
|
42
|
+
'ObjectId',
|
|
43
|
+
'bigint',
|
|
44
|
+
'date',
|
|
45
|
+
'datetime',
|
|
46
|
+
'timestamp',
|
|
47
|
+
'enum',
|
|
48
|
+
'simple-json',
|
|
49
|
+
'code',
|
|
50
|
+
'array-select',
|
|
51
|
+
'richtext',
|
|
52
|
+
'float',
|
|
53
|
+
];
|
|
54
|
+
export const RELATION_TYPE_ALIASES = {
|
|
55
|
+
many_to_one: 'many-to-one',
|
|
56
|
+
manyToOne: 'many-to-one',
|
|
57
|
+
manytoone: 'many-to-one',
|
|
58
|
+
one_to_many: 'one-to-many',
|
|
59
|
+
oneToMany: 'one-to-many',
|
|
60
|
+
onetomany: 'one-to-many',
|
|
61
|
+
one_to_one: 'one-to-one',
|
|
62
|
+
oneToOne: 'one-to-one',
|
|
63
|
+
onetoone: 'one-to-one',
|
|
64
|
+
many_to_many: 'many-to-many',
|
|
65
|
+
manyToMany: 'many-to-many',
|
|
66
|
+
manytomany: 'many-to-many',
|
|
67
|
+
};
|
|
68
|
+
export const VALID_RELATION_TYPES = new Set(['many-to-one', 'one-to-many', 'one-to-one', 'many-to-many']);
|
|
69
|
+
export const AUTO_MANAGED_COLUMN_NAMES = new Set(['id', '_id', 'createdAt', 'updatedAt']);
|
|
70
|
+
export function buildPrimaryColumnForDbType(dbType) {
|
|
71
|
+
return dbType === 'mongodb'
|
|
72
|
+
? { name: '_id', type: 'ObjectId', isPrimary: true, isGenerated: true, isNullable: false }
|
|
73
|
+
: { name: 'id', type: 'int', isPrimary: true, isGenerated: true, isNullable: false };
|
|
74
|
+
}
|
|
75
|
+
export const COLUMN_TYPE_ALIAS_HINTS = [
|
|
76
|
+
'Use varchar for short strings; text or richtext for long prose.',
|
|
77
|
+
'Use float for prices, money, percentages, ratings, and decimal-like numbers unless the live instance explicitly lists decimal.',
|
|
78
|
+
'Use simple-json for structured objects/arrays when the live instance lists it; do not use json/jsonb as column types.',
|
|
79
|
+
'Use relations for links to other records; do not create userId/course_id/categoryIds columns for normalized relationships.',
|
|
80
|
+
];
|
|
81
|
+
export function normalizeTablesFromMetadata(metadata) {
|
|
82
|
+
if (Array.isArray(metadata))
|
|
83
|
+
return metadata;
|
|
84
|
+
if (metadata?.data?.name && Array.isArray(metadata.data.columns))
|
|
85
|
+
return [metadata.data];
|
|
86
|
+
if (metadata?.name && Array.isArray(metadata.columns))
|
|
87
|
+
return [metadata];
|
|
88
|
+
const tablesSource = metadata?.data?.tables || metadata?.tables || metadata?.data || [];
|
|
89
|
+
return Array.isArray(tablesSource)
|
|
90
|
+
? tablesSource
|
|
91
|
+
: Object.values(tablesSource || {});
|
|
92
|
+
}
|
|
93
|
+
export function resolveTableFromMetadata(metadata, tableId) {
|
|
94
|
+
return normalizeTablesFromMetadata(metadata)
|
|
95
|
+
.find((table) => String(getId(table)) === String(tableId)) || null;
|
|
96
|
+
}
|
|
97
|
+
export function resolveTableFromMetadataByName(metadata, tableName) {
|
|
98
|
+
if (!tableName)
|
|
99
|
+
return null;
|
|
100
|
+
return normalizeTablesFromMetadata(metadata)
|
|
101
|
+
.find((table) => table?.name === tableName || table?.alias === tableName) || null;
|
|
102
|
+
}
|
|
103
|
+
export function resolveTableIdentifierFromMetadata(metadata, tableRef, label = 'table') {
|
|
104
|
+
const resolvedTable = normalizeTablesFromMetadata(metadata)
|
|
105
|
+
.find((table) => (String(getId(table)) === String(tableRef) ||
|
|
106
|
+
table?.name === tableRef ||
|
|
107
|
+
table?.alias === tableRef));
|
|
108
|
+
if (!resolvedTable) {
|
|
109
|
+
throw new Error(`${label} "${tableRef}" was not found in metadata. Pass an existing table id, name, or alias from get_all_tables/inspect_table.`);
|
|
110
|
+
}
|
|
111
|
+
return getId(resolvedTable);
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Helper: fetch table with full columns and relations.
|
|
115
|
+
* Schema cascade tools resolve the table catalog entry first, then request the
|
|
116
|
+
* complete permission-projected schema from /metadata/:name.
|
|
117
|
+
*/
|
|
118
|
+
export async function fetchTableWithDetails(ENFYRA_API_URL, tableId) {
|
|
119
|
+
const catalog = await fetchTableCatalog(ENFYRA_API_URL);
|
|
120
|
+
const tableData = resolveTableCatalogEntry(catalog, tableId);
|
|
121
|
+
if (!tableData) {
|
|
122
|
+
throw new Error(`Full metadata for table ${tableId} was not found; refusing schema cascade patch.`);
|
|
123
|
+
}
|
|
124
|
+
const metadataTable = await fetchTableMetadata(ENFYRA_API_URL, tableData.name);
|
|
125
|
+
if (!Array.isArray(metadataTable.columns)) {
|
|
126
|
+
throw new Error(`Full metadata for table ${tableId} did not include columns; refusing schema cascade patch.`);
|
|
127
|
+
}
|
|
128
|
+
return {
|
|
129
|
+
...tableData,
|
|
130
|
+
...metadataTable,
|
|
131
|
+
columns: metadataTable.columns,
|
|
132
|
+
relations: Array.isArray(metadataTable.relations) ? metadataTable.relations : [],
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* PATCH enfyra_table with auto-confirm for schema changes.
|
|
137
|
+
* First PATCH returns preview + requiredConfirmHash; this helper
|
|
138
|
+
* automatically resends with ?schemaConfirmHash= to apply.
|
|
139
|
+
*/
|
|
140
|
+
export async function patchTableAutoConfirm(ENFYRA_API_URL, tableId, body) {
|
|
141
|
+
const result = await fetchAPI(ENFYRA_API_URL, `/enfyra_table/${tableId}`, {
|
|
142
|
+
method: 'PATCH',
|
|
143
|
+
body: JSON.stringify(body),
|
|
144
|
+
});
|
|
145
|
+
const preview = Array.isArray(result?.data) ? result.data[0] : result?.data;
|
|
146
|
+
if (preview?._preview && preview?.requiredConfirmHash) {
|
|
147
|
+
return fetchAPI(ENFYRA_API_URL, `/enfyra_table/${tableId}?schemaConfirmHash=${preview.requiredConfirmHash}`, {
|
|
148
|
+
method: 'PATCH',
|
|
149
|
+
body: JSON.stringify(body),
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
return result;
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=schema-mutation-coordinator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-mutation-coordinator.js","sourceRoot":"","sources":["../../src/lib/schema-mutation-coordinator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { AnyRecord, ColumnPatch, ConstraintGroup, RelationPatch } from './schema-mutation-coordinator.js';
|
|
2
|
+
export declare function pruneIndexesThatOverlapUniques(indexes: ConstraintGroup[], uniques: ConstraintGroup[]): {
|
|
3
|
+
indexes: ConstraintGroup[];
|
|
4
|
+
removed: ConstraintGroup[];
|
|
5
|
+
};
|
|
6
|
+
export declare function normalizeRelationForTablePatch(relation: AnyRecord): RelationPatch;
|
|
7
|
+
export declare function normalizeRelationType(type: unknown): string;
|
|
8
|
+
export declare function assertNoForbiddenRelationKeys(args: AnyRecord): void;
|
|
9
|
+
export declare function sanitizeExistingRelationForTablePatch(relation: AnyRecord): RelationPatch;
|
|
10
|
+
export declare function resolveRelationTargetsFromMetadata(metadata: any, relations: RelationPatch[]): (RelationPatch | {
|
|
11
|
+
targetTable: any;
|
|
12
|
+
id?: unknown;
|
|
13
|
+
_id?: unknown;
|
|
14
|
+
type?: string;
|
|
15
|
+
propertyName?: string;
|
|
16
|
+
inversePropertyName?: string | null;
|
|
17
|
+
mappedBy?: unknown;
|
|
18
|
+
isNullable?: boolean;
|
|
19
|
+
onDelete?: string;
|
|
20
|
+
description?: string;
|
|
21
|
+
})[];
|
|
22
|
+
export declare function getId(record: any): any;
|
|
23
|
+
export declare function normalizeColumnForTablePatch(column: AnyRecord): ColumnPatch;
|
|
24
|
+
export declare function parseColumnTypeOptions(options: unknown): string[];
|
|
25
|
+
export declare function normalizeColumnOptionsValue(options: unknown): any;
|
|
26
|
+
export declare function getSupportedColumnTypesFromMetadata(metadata: AnyRecord): string[];
|
|
27
|
+
export declare function normalizeColumnTypeForLiveMetadata(type: unknown, supportedTypes?: string[]): {
|
|
28
|
+
type: string;
|
|
29
|
+
changed: boolean;
|
|
30
|
+
originalType: string;
|
|
31
|
+
};
|
|
32
|
+
export declare function normalizeColumnsForLiveMetadata(columns: AnyRecord[], supportedTypes: string[]): {
|
|
33
|
+
columns: AnyRecord[];
|
|
34
|
+
normalizations: {
|
|
35
|
+
column: string;
|
|
36
|
+
from: string;
|
|
37
|
+
to: string;
|
|
38
|
+
}[];
|
|
39
|
+
};
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { COLUMN_TYPE_ALIAS_HINTS, FALLBACK_COLUMN_TYPES, FORBIDDEN_RELATION_KEYS, RELATION_TYPE_ALIASES, VALID_RELATION_TYPES, normalizeTablesFromMetadata, resolveTableFromMetadataByName, } from './schema-mutation-coordinator.js';
|
|
2
|
+
export function pruneIndexesThatOverlapUniques(indexes, uniques) {
|
|
3
|
+
const uniqueFields = new Set(uniques.flat());
|
|
4
|
+
const kept = [];
|
|
5
|
+
const removed = [];
|
|
6
|
+
for (const indexGroup of indexes) {
|
|
7
|
+
if (indexGroup.some((field) => uniqueFields.has(field))) {
|
|
8
|
+
removed.push(indexGroup);
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
kept.push(indexGroup);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
return { indexes: kept, removed };
|
|
15
|
+
}
|
|
16
|
+
export function normalizeRelationForTablePatch(relation) {
|
|
17
|
+
for (const key of FORBIDDEN_RELATION_KEYS) {
|
|
18
|
+
if (Object.prototype.hasOwnProperty.call(relation, key)) {
|
|
19
|
+
throw new Error(`Relation schema must not include physical column field "${key}". Use propertyName/targetTable only; Enfyra derives FK and junction columns.`);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
const { sourceTable, targetTable, targetTableId, mappedBy, fkCol, fkColumn, foreignKeyColumn, sourceColumn, targetColumn, junctionSourceColumn, junctionTargetColumn, ...rest } = relation;
|
|
23
|
+
const normalized = { ...rest };
|
|
24
|
+
if (rest.type !== undefined) {
|
|
25
|
+
normalized.type = normalizeRelationType(rest.type);
|
|
26
|
+
}
|
|
27
|
+
if (normalized.type === 'one-to-many' && mappedBy !== undefined && mappedBy !== null && mappedBy !== '') {
|
|
28
|
+
delete normalized.inversePropertyName;
|
|
29
|
+
}
|
|
30
|
+
const resolvedTargetTable = targetTableId ??
|
|
31
|
+
(targetTable && typeof targetTable === 'object'
|
|
32
|
+
? targetTable.id ?? targetTable._id ?? targetTable
|
|
33
|
+
: targetTable);
|
|
34
|
+
if (resolvedTargetTable !== undefined && resolvedTargetTable !== null) {
|
|
35
|
+
normalized.targetTable = resolvedTargetTable;
|
|
36
|
+
}
|
|
37
|
+
if (mappedBy !== undefined && mappedBy !== null && mappedBy !== '') {
|
|
38
|
+
normalized.mappedBy = typeof mappedBy === 'object'
|
|
39
|
+
? mappedBy.propertyName ?? mappedBy.name ?? mappedBy.id ?? mappedBy._id
|
|
40
|
+
: mappedBy;
|
|
41
|
+
}
|
|
42
|
+
return normalized;
|
|
43
|
+
}
|
|
44
|
+
export function normalizeRelationType(type) {
|
|
45
|
+
const raw = String(type ?? '').trim();
|
|
46
|
+
const normalized = RELATION_TYPE_ALIASES[raw] ?? raw;
|
|
47
|
+
if (!VALID_RELATION_TYPES.has(normalized)) {
|
|
48
|
+
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.`);
|
|
49
|
+
}
|
|
50
|
+
return normalized;
|
|
51
|
+
}
|
|
52
|
+
export function assertNoForbiddenRelationKeys(args) {
|
|
53
|
+
for (const key of FORBIDDEN_RELATION_KEYS) {
|
|
54
|
+
if (Object.prototype.hasOwnProperty.call(args, key)) {
|
|
55
|
+
throw new Error(`create_relations must not include physical column field "${key}". Use sourceTableId/targetTableId and relation propertyName only; Enfyra derives FK and junction columns.`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
export function sanitizeExistingRelationForTablePatch(relation) {
|
|
60
|
+
const { fkCol, fkColumn, foreignKeyColumn, referencedColumn, constraintName, sourceColumn, targetColumn, junctionTableName, junctionSourceColumn, junctionTargetColumn, ...rest } = relation;
|
|
61
|
+
return normalizeRelationForTablePatch(rest);
|
|
62
|
+
}
|
|
63
|
+
export function resolveRelationTargetsFromMetadata(metadata, relations) {
|
|
64
|
+
return relations.map((relation) => {
|
|
65
|
+
const targetTable = relation.targetTable;
|
|
66
|
+
if (typeof targetTable !== 'string' || !targetTable.trim())
|
|
67
|
+
return relation;
|
|
68
|
+
const resolvedTable = resolveTableFromMetadataByName(metadata, targetTable);
|
|
69
|
+
if (!resolvedTable)
|
|
70
|
+
return relation;
|
|
71
|
+
return { ...relation, targetTable: getId(resolvedTable) };
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
export function getId(record) {
|
|
75
|
+
return record?.id ?? record?._id ?? null;
|
|
76
|
+
}
|
|
77
|
+
export function normalizeColumnForTablePatch(column) {
|
|
78
|
+
const { table, ...rest } = column;
|
|
79
|
+
return rest;
|
|
80
|
+
}
|
|
81
|
+
export function parseColumnTypeOptions(options) {
|
|
82
|
+
if (Array.isArray(options))
|
|
83
|
+
return options.map(String);
|
|
84
|
+
if (typeof options !== 'string')
|
|
85
|
+
return [];
|
|
86
|
+
const trimmed = options.trim();
|
|
87
|
+
if (!trimmed)
|
|
88
|
+
return [];
|
|
89
|
+
try {
|
|
90
|
+
const parsed = JSON.parse(trimmed);
|
|
91
|
+
if (Array.isArray(parsed))
|
|
92
|
+
return parsed.map(String);
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
// Some Enfyra enum metadata is stored as {"a","b"} rather than JSON.
|
|
96
|
+
}
|
|
97
|
+
const braceMatch = trimmed.match(/^\{(.+)\}$/);
|
|
98
|
+
if (!braceMatch)
|
|
99
|
+
return [];
|
|
100
|
+
return braceMatch[1]
|
|
101
|
+
.split(',')
|
|
102
|
+
.map((item) => item.trim().replace(/^"|"$/g, ''))
|
|
103
|
+
.filter(Boolean);
|
|
104
|
+
}
|
|
105
|
+
export function normalizeColumnOptionsValue(options) {
|
|
106
|
+
if (options === undefined)
|
|
107
|
+
return undefined;
|
|
108
|
+
return typeof options === 'string' ? JSON.parse(options) : options;
|
|
109
|
+
}
|
|
110
|
+
export function getSupportedColumnTypesFromMetadata(metadata) {
|
|
111
|
+
const columnTable = normalizeTablesFromMetadata(metadata).find((table) => table?.name === 'enfyra_column');
|
|
112
|
+
const typeColumn = columnTable?.columns?.find((column) => column?.name === 'type');
|
|
113
|
+
const options = parseColumnTypeOptions(typeColumn?.options);
|
|
114
|
+
return options.length ? options : FALLBACK_COLUMN_TYPES;
|
|
115
|
+
}
|
|
116
|
+
function chooseFirstSupported(supported, candidates) {
|
|
117
|
+
return candidates.find((candidate) => supported.has(candidate));
|
|
118
|
+
}
|
|
119
|
+
export function normalizeColumnTypeForLiveMetadata(type, supportedTypes = FALLBACK_COLUMN_TYPES) {
|
|
120
|
+
const raw = String(type ?? '').trim();
|
|
121
|
+
if (!raw) {
|
|
122
|
+
throw new Error(`Column type is required. Valid live types: ${supportedTypes.join(', ')}.`);
|
|
123
|
+
}
|
|
124
|
+
const supported = new Set(supportedTypes);
|
|
125
|
+
if (supported.has(raw))
|
|
126
|
+
return { type: raw, changed: false, originalType: raw };
|
|
127
|
+
const normalized = raw.toLowerCase();
|
|
128
|
+
const alias = normalized === 'string' || normalized === 'char' || normalized === 'character varying'
|
|
129
|
+
? chooseFirstSupported(supported, ['varchar', 'text'])
|
|
130
|
+
: normalized === 'integer'
|
|
131
|
+
? chooseFirstSupported(supported, ['int', 'bigint', 'float'])
|
|
132
|
+
: normalized === 'bool'
|
|
133
|
+
? chooseFirstSupported(supported, ['boolean'])
|
|
134
|
+
: ['decimal', 'numeric', 'number', 'double', 'money', 'currency'].includes(normalized)
|
|
135
|
+
? chooseFirstSupported(supported, ['decimal', 'float'])
|
|
136
|
+
: ['longtext', 'mediumtext', 'large-text'].includes(normalized)
|
|
137
|
+
? chooseFirstSupported(supported, ['text', 'richtext', 'varchar'])
|
|
138
|
+
: ['json', 'jsonb', 'object', 'array'].includes(normalized)
|
|
139
|
+
? chooseFirstSupported(supported, ['simple-json', 'text'])
|
|
140
|
+
: ['date-time', 'timestamptz'].includes(normalized)
|
|
141
|
+
? chooseFirstSupported(supported, ['datetime', 'timestamp'])
|
|
142
|
+
: null;
|
|
143
|
+
if (!alias) {
|
|
144
|
+
throw new Error(`Unsupported column type "${raw}" for this live Enfyra instance. Valid live types: ${supportedTypes.join(', ')}. ` +
|
|
145
|
+
`Guidance: ${COLUMN_TYPE_ALIAS_HINTS.join(' ')}`);
|
|
146
|
+
}
|
|
147
|
+
return { type: alias, changed: true, originalType: raw };
|
|
148
|
+
}
|
|
149
|
+
export function normalizeColumnsForLiveMetadata(columns, supportedTypes) {
|
|
150
|
+
const normalizations = [];
|
|
151
|
+
const normalizedColumns = columns.map((column) => {
|
|
152
|
+
const normalized = normalizeColumnTypeForLiveMetadata(column.type, supportedTypes);
|
|
153
|
+
if (!normalized.changed)
|
|
154
|
+
return column;
|
|
155
|
+
normalizations.push({ column: String(column.name ?? '<unnamed>'), from: normalized.originalType, to: normalized.type });
|
|
156
|
+
return { ...column, type: normalized.type };
|
|
157
|
+
});
|
|
158
|
+
return { columns: normalizedColumns, normalizations };
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=schema-relation-contracts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-relation-contracts.js","sourceRoot":"","sources":["../../src/lib/schema-relation-contracts.ts"],"names":[],"mappings":"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"}
|