@specverse/engines 4.1.9 → 4.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/dist/libs/instance-factories/applications/templates/generic/main-generator.js +2 -2
  2. package/dist/libs/instance-factories/applications/templates/react/api-client-generator.js +8 -5
  3. package/dist/libs/instance-factories/controllers/templates/fastify/routes-generator.js +6 -44
  4. package/dist/libs/instance-factories/controllers/templates/fastify/server-generator.js +2 -52
  5. package/dist/libs/instance-factories/orms/templates/prisma/schema-generator.js +13 -2
  6. package/dist/libs/instance-factories/services/templates/prisma/controller-generator.js +3 -18
  7. package/dist/libs/instance-factories/views/templates/react/forms-generator.js +2 -12
  8. package/dist/libs/instance-factories/views/templates/react/shared-utils-generator.js +9 -1
  9. package/dist/parser/processors/AttributeProcessor.d.ts.map +1 -1
  10. package/dist/parser/processors/AttributeProcessor.js +10 -2
  11. package/dist/parser/processors/AttributeProcessor.js.map +1 -1
  12. package/dist/parser/processors/ModelProcessor.d.ts.map +1 -1
  13. package/dist/parser/processors/ModelProcessor.js +30 -16
  14. package/dist/parser/processors/ModelProcessor.js.map +1 -1
  15. package/dist/parser/types/ast.d.ts +3 -514
  16. package/dist/parser/types/ast.d.ts.map +1 -1
  17. package/dist/parser/types/ast.js +0 -6
  18. package/dist/parser/types/ast.js.map +1 -1
  19. package/libs/instance-factories/applications/templates/generic/main-generator.ts +2 -2
  20. package/libs/instance-factories/applications/templates/react/api-client-generator.ts +8 -5
  21. package/libs/instance-factories/controllers/templates/fastify/routes-generator.ts +11 -60
  22. package/libs/instance-factories/controllers/templates/fastify/server-generator.ts +2 -70
  23. package/libs/instance-factories/orms/templates/prisma/schema-generator.ts +18 -2
  24. package/libs/instance-factories/services/templates/prisma/controller-generator.ts +5 -24
  25. package/libs/instance-factories/views/templates/react/forms-generator.ts +4 -22
  26. package/libs/instance-factories/views/templates/react/shared-utils-generator.ts +9 -1
  27. package/package.json +1 -1
@@ -1,3 +1,4 @@
1
+ import { deriveBasePath } from "@specverse/types/spec-rules";
1
2
  function generateMain(context) {
2
3
  const { spec, manifest } = context;
3
4
  let framework = "fastify";
@@ -52,8 +53,7 @@ function generateFastifyMain(spec) {
52
53
  let prefix = ctrl.basePath;
53
54
  if (!prefix) {
54
55
  const modelName = ctrl.model || ctrl.name.replace("Controller", "");
55
- const pluralModel = modelName.toLowerCase() + "s";
56
- prefix = `/api/${pluralModel}`;
56
+ prefix = deriveBasePath(modelName);
57
57
  }
58
58
  return ` await app.register(${ctrl.name.replace("Controller", "")}Routes, {
59
59
  prefix: '${prefix}',
@@ -50,12 +50,10 @@ async function apiRequest<T = any>(
50
50
  path: string,
51
51
  body: any = null
52
52
  ): Promise<T> {
53
- const options: RequestInit = {
54
- method,
55
- headers: { 'Content-Type': 'application/json' }
56
- };
53
+ const options: RequestInit = { method };
57
54
 
58
- if (body) {
55
+ if (body && Object.keys(body).length > 0) {
56
+ options.headers = { 'Content-Type': 'application/json' };
59
57
  options.body = JSON.stringify(body);
60
58
  }
61
59
 
@@ -65,6 +63,11 @@ async function apiRequest<T = any>(
65
63
  throw new Error(\`API request failed: \${response.statusText}\`);
66
64
  }
67
65
 
66
+ // Handle 204 No Content (e.g., delete) \u2014 no body to parse
67
+ if (response.status === 204 || response.headers.get('content-length') === '0') {
68
+ return {} as T;
69
+ }
70
+
68
71
  return await response.json();
69
72
  }
70
73
 
@@ -1,3 +1,4 @@
1
+ import { inferHttpMethod as sharedInferHttpMethod, inferPath as sharedInferPath, curedToEndpoints as sharedCuredToEndpoints } from "@specverse/types/spec-rules";
1
2
  function generateFastifyRoutes(context) {
2
3
  const { controller, model, spec, implType } = context;
3
4
  if (!controller) {
@@ -223,57 +224,18 @@ function inferOperationFromMethodAndPath(method, path) {
223
224
  return "unknown";
224
225
  }
225
226
  function inferHttpMethod(operation) {
226
- if (!operation) {
227
- console.warn("Warning: undefined operation in inferHttpMethod");
228
- return "post";
229
- }
230
- const opLower = operation.toLowerCase();
231
- if (opLower === "create" || opLower === "validate") return "post";
232
- if (opLower === "retrieve" || opLower === "list") return "get";
233
- if (opLower === "update" || opLower === "evolve") return "put";
234
- if (opLower === "delete") return "delete";
235
- return "post";
227
+ return sharedInferHttpMethod(operation);
236
228
  }
237
229
  function inferPath(operation, endpoint) {
238
- const opLower = operation.toLowerCase();
239
- if (opLower === "create") return "/";
240
- if (opLower === "list") return "/";
241
- if (opLower === "retrieve") return "/:id";
242
- if (opLower === "update") return "/:id";
243
- if (opLower === "evolve") return "/:id/evolve";
244
- if (opLower === "delete") return "/:id";
245
- if (opLower === "validate") return "/validate";
246
- if (endpoint.path && endpoint.serviceOperation?.type === "custom") {
230
+ if (endpoint?.path && endpoint.serviceOperation?.type === "custom") {
247
231
  const pathParts = endpoint.path.split("/").filter((p) => p);
248
232
  const lastPart = pathParts[pathParts.length - 1];
249
233
  return `/${lastPart}`;
250
234
  }
251
- return `/${opLower}`;
235
+ return sharedInferPath(operation);
252
236
  }
253
- function curedToEndpoints(cured, modelName) {
254
- const endpoints = [];
255
- if (cured.create) {
256
- endpoints.push({ operation: "create", method: "POST" });
257
- }
258
- if (cured.retrieve) {
259
- endpoints.push({ operation: "retrieve", method: "GET" });
260
- }
261
- if (cured.retrieve_many) {
262
- endpoints.push({ operation: "list", method: "GET" });
263
- }
264
- if (cured.update) {
265
- endpoints.push({ operation: "update", method: "PUT" });
266
- }
267
- if (cured.evolve) {
268
- endpoints.push({ operation: "evolve", method: "PATCH" });
269
- }
270
- if (cured.delete) {
271
- endpoints.push({ operation: "delete", method: "DELETE" });
272
- }
273
- if (cured.validate) {
274
- endpoints.push({ operation: "validate", method: "POST" });
275
- }
276
- return endpoints;
237
+ function curedToEndpoints(cured, _modelName) {
238
+ return sharedCuredToEndpoints(cured);
277
239
  }
278
240
  export {
279
241
  generateFastifyRoutes as default
@@ -1,54 +1,4 @@
1
- function normalizeSpec(spec) {
2
- if (!spec) return spec;
3
- const normalized = { ...spec };
4
- if (normalized.models && typeof normalized.models === "object") {
5
- for (const [name, model] of Object.entries(normalized.models)) {
6
- if (Array.isArray(model.attributes)) {
7
- const obj = {};
8
- for (const attr of model.attributes) {
9
- if (attr.name) obj[attr.name] = attr;
10
- }
11
- model.attributes = obj;
12
- }
13
- if (Array.isArray(model.relationships)) {
14
- const obj = {};
15
- for (const rel of model.relationships) {
16
- if (rel.name) obj[rel.name] = { ...rel, targetModel: rel.target || rel.targetModel };
17
- }
18
- model.relationships = obj;
19
- }
20
- if (Array.isArray(model.lifecycles)) {
21
- const obj = {};
22
- for (const lc of model.lifecycles) {
23
- if (lc.name) obj[lc.name] = lc;
24
- }
25
- model.lifecycles = obj;
26
- }
27
- if (model.lifecycles && typeof model.lifecycles === "object") {
28
- for (const lc of Object.values(model.lifecycles)) {
29
- if (lc.flow && typeof lc.flow === "string" && !lc.states) {
30
- const stateNames = lc.flow.split("->").map((s) => s.trim()).filter(Boolean);
31
- lc.states = stateNames.map((s) => ({ name: s }));
32
- lc.transitions = [];
33
- lc.initialState = stateNames[0];
34
- for (let i = 0; i < stateNames.length - 1; i++) {
35
- lc.transitions.push({ from: stateNames[i], to: stateNames[i + 1] });
36
- }
37
- }
38
- }
39
- }
40
- }
41
- }
42
- if (normalized.views && typeof normalized.views === "object") {
43
- for (const view of Object.values(normalized.views)) {
44
- if (Array.isArray(view.model)) {
45
- view.models = view.model;
46
- view.model = view.model[0];
47
- }
48
- }
49
- }
50
- return normalized;
51
- }
1
+ import { normalizeSpec, deriveBasePath } from "@specverse/types/spec-rules";
52
2
  function generateFastifyServer(context) {
53
3
  const { spec, models } = context;
54
4
  const allModels = models || (spec?.models ? Object.values(spec.models) : []);
@@ -57,7 +7,7 @@ function generateFastifyServer(context) {
57
7
  (name) => `import ${name}Routes from './routes/${name}Controller.js';`
58
8
  ).join("\n");
59
9
  const routeRegistrations = modelNames.map((name) => {
60
- const path = `/api/${name.toLowerCase()}s`;
10
+ const path = deriveBasePath(name);
61
11
  return ` await fastify.register(${name}Routes, { prefix: '${path}', controllers: { ${name}Controller: new (await import('./controllers/${name}Controller.js')).${name}Controller() } });`;
62
12
  }).join("\n");
63
13
  return `/**
@@ -291,8 +291,19 @@ function generateRelationship(rel, model, relationMap, hasOneTargets, allModels)
291
291
  relationDef += `"${relName}", `;
292
292
  }
293
293
  relationDef += `fields: [${fkBase}], references: [id]`;
294
- if (rel.onDelete) {
295
- relationDef += `, onDelete: ${rel.onDelete}`;
294
+ let onDelete = rel.onDelete;
295
+ if (!onDelete && allModels) {
296
+ const parentModel = allModels.find((m) => m.name === rel.target);
297
+ if (parentModel) {
298
+ const parentRels = Array.isArray(parentModel.relationships) ? parentModel.relationships : Object.values(parentModel.relationships || {});
299
+ const parentRel = parentRels.find((pr) => (pr.type === "hasMany" || pr.type === "hasOne") && (pr.target === model.name || pr.targetModel === model.name));
300
+ if (parentRel?.cascade || parentRel?.cascadeDelete) {
301
+ onDelete = "Cascade";
302
+ }
303
+ }
304
+ }
305
+ if (onDelete) {
306
+ relationDef += `, onDelete: ${onDelete}`;
296
307
  }
297
308
  if (rel.onUpdate) {
298
309
  relationDef += `, onUpdate: ${rel.onUpdate}`;
@@ -1,3 +1,4 @@
1
+ import { buildTransitionMap, isAutoField } from "@specverse/types/spec-rules";
1
2
  function generatePrismaController(context) {
2
3
  const { controller, model, spec, models: allModels } = context;
3
4
  if (!controller) {
@@ -74,9 +75,8 @@ function generateValidationLogic(model, dataParam = "_data", contextParam = "_co
74
75
  if (!model.attributes) return "// No validation rules defined";
75
76
  const validations = [];
76
77
  const attrList = Array.isArray(model.attributes) ? model.attributes.map((a) => [a.name, a]) : Object.entries(model.attributes);
77
- const AUTO_FIELDS = /* @__PURE__ */ new Set(["id", "createdAt", "updatedAt", "created_at", "updated_at", "createdBy", "updatedBy"]);
78
78
  attrList.forEach(([name, attr]) => {
79
- if (attr.required && !attr.auto && !AUTO_FIELDS.has(name)) {
79
+ if (attr.required && !isAutoField(name, attr)) {
80
80
  validations.push(`
81
81
  // ${name} is required
82
82
  if (${contextParam}.operation === 'create' && !${dataParam}.${name}) {
@@ -225,22 +225,7 @@ function generateEvolveMethod(model, modelName, modelVar, controller) {
225
225
  const lifecycle = lifecycles[0];
226
226
  const lifecycleName = lifecycle?.name || "status";
227
227
  const states = lifecycle?.states || [];
228
- const validTransitions = {};
229
- if (states.length > 1) {
230
- for (let i = 0; i < states.length - 1; i++) {
231
- validTransitions[states[i]] = [states[i + 1]];
232
- }
233
- }
234
- if (lifecycle?.transitions) {
235
- const transitions = Array.isArray(lifecycle.transitions) ? lifecycle.transitions : Object.entries(lifecycle.transitions).map(([name, t]) => ({ name, ...t }));
236
- for (const t of transitions) {
237
- const fromStates = Array.isArray(t.from) ? t.from : [t.from];
238
- for (const from of fromStates) {
239
- if (!validTransitions[from]) validTransitions[from] = [];
240
- if (!validTransitions[from].includes(t.to)) validTransitions[from].push(t.to);
241
- }
242
- }
243
- }
228
+ const validTransitions = lifecycle ? buildTransitionMap(lifecycle) : {};
244
229
  return `
245
230
  /**
246
231
  * Evolve ${modelName} through lifecycle
@@ -135,13 +135,8 @@ function generateSchemaFields(model) {
135
135
  }
136
136
  const fields = [];
137
137
  for (const [name, config] of Object.entries(attributes)) {
138
- if (name === "id" || name === "createdAt" || name === "updatedAt") continue;
139
138
  const attr = config;
140
- if (attr.auto || attr.autoGenerate) continue;
141
- const autoTimestampFields = ["joinedAt", "registeredAt", "enrolledAt", "startedAt", "completedAt", "verifiedAt"];
142
- if (autoTimestampFields.includes(name) && (attr.type === "DateTime" || attr.type === "Timestamp")) {
143
- continue;
144
- }
139
+ if (attr.category === "metadata") continue;
145
140
  const type = attr.type || "String";
146
141
  let zodType = "z.string()";
147
142
  if (type === "Integer" || type === "Number") zodType = "z.number()";
@@ -182,13 +177,8 @@ function generateFormFields(model) {
182
177
  const regularFields = [];
183
178
  const textAreaFields = [];
184
179
  for (const [name, config] of Object.entries(attributes)) {
185
- if (name === "id" || name === "createdAt" || name === "updatedAt") continue;
186
180
  const attr = config;
187
- if (attr.auto || attr.autoGenerate) continue;
188
- const autoTimestampFields = ["joinedAt", "registeredAt", "enrolledAt", "startedAt", "completedAt", "verifiedAt"];
189
- if (autoTimestampFields.includes(name) && (attr.type === "DateTime" || attr.type === "Timestamp")) {
190
- continue;
191
- }
181
+ if (attr.category === "metadata") continue;
192
182
  const type = attr.type || "String";
193
183
  const label = name.charAt(0).toUpperCase() + name.slice(1);
194
184
  const isRequired = attr.required;
@@ -40,9 +40,17 @@ export function isMetadataField(name: string): boolean {
40
40
  */
41
41
  export function getEntityDisplayName(entity: any): string {
42
42
  if (!entity) return 'Unknown';
43
- for (const field of ['name', 'title', 'displayName', 'label', 'username', 'email', 'subject']) {
43
+ const METADATA = new Set(['id', 'createdAt', 'updatedAt', 'createdBy', 'updatedBy', 'deletedAt', 'version']);
44
+ // Check common name fields first
45
+ for (const field of ['name', 'title', 'displayName', 'label', 'username', 'email', 'subject', 'message', 'description']) {
44
46
  if (entity[field]) return String(entity[field]);
45
47
  }
48
+ // Fall back to first non-metadata string value
49
+ for (const [key, val] of Object.entries(entity)) {
50
+ if (!METADATA.has(key) && val && typeof val === 'string' && !String(val).match(/^[0-9a-f-]{36}$/i)) {
51
+ return String(val);
52
+ }
53
+ }
46
54
  return entity.id ? String(entity.id).slice(0, 8) + '...' : 'Unknown';
47
55
  }
48
56
 
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeProcessor.d.ts","sourceRoot":"","sources":["../../../src/parser/processors/AttributeProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAiB,MAAM,iBAAiB,CAAC;AAiC/D,qBAAa,kBAAmB,SAAQ,iBAAiB,CAAC,GAAG,EAAE,aAAa,CAAC;IAC3E;;;OAGG;IACH;;;OAGG;IACH,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,aAAa;IA2EhD;;OAEG;IACH,OAAO,CAAC,UAAU;CA8CnB"}
1
+ {"version":3,"file":"AttributeProcessor.d.ts","sourceRoot":"","sources":["../../../src/parser/processors/AttributeProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAiB,MAAM,iBAAiB,CAAC;AAiC/D,qBAAa,kBAAmB,SAAQ,iBAAiB,CAAC,GAAG,EAAE,aAAa,CAAC;IAC3E;;;OAGG;IACH;;;OAGG;IACH,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,aAAa;IAkFhD;;OAEG;IACH,OAAO,CAAC,UAAU;CA8CnB"}
@@ -40,7 +40,7 @@ export class AttributeProcessor extends AbstractProcessor {
40
40
  // If input is already an expanded object, return it as-is (with potential fixes)
41
41
  if (typeof input === 'object' && input !== null) {
42
42
  const { type, isArray } = this.parseArrayType(input.type || 'String');
43
- return {
43
+ const spec = {
44
44
  name: input.name || name,
45
45
  type,
46
46
  required: input.required || false,
@@ -52,8 +52,13 @@ export class AttributeProcessor extends AbstractProcessor {
52
52
  default: input.default,
53
53
  min: input.min,
54
54
  max: input.max,
55
- values: input.values
55
+ values: input.values,
56
+ category: input.category,
56
57
  };
58
+ // Auto-generated fields are metadata
59
+ if (!spec.category && spec.auto)
60
+ spec.category = 'metadata';
61
+ return spec;
57
62
  }
58
63
  // Parse string convention: "Email required unique verified"
59
64
  const parts = this.smartSplit(input.trim());
@@ -101,6 +106,9 @@ export class AttributeProcessor extends AbstractProcessor {
101
106
  }
102
107
  }
103
108
  }
109
+ // Auto-generated fields are metadata
110
+ if (spec.auto)
111
+ spec.category = 'metadata';
104
112
  return spec;
105
113
  }
106
114
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeProcessor.js","sourceRoot":"","sources":["../../../src/parser/processors/AttributeProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AttributeProcessor.js","sourceRoot":"","sources":["../../../src/parser/processors/AttributeProcessor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ModelProcessor.d.ts","sourceRoot":"","sources":["../../../src/parser/processors/ModelProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAK3D,OAAO,EAAE,SAAS,EAAmG,MAAM,iBAAiB,CAAC;AAE7I,qBAAa,cAAe,SAAQ,iBAAiB,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC;IACrE,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,mBAAmB,CAAsB;gBAErC,OAAO,EAAE,GAAG;IAQxB,OAAO,CAAC,UAAU,EAAE,GAAG,GAAG,SAAS,EAAE;IAuErC,OAAO,CAAC,mBAAmB;IA6C3B,OAAO,CAAC,sBAAsB;IAY9B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAuB1B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA8C/B;;OAEG;IACH,OAAO,CAAC,eAAe;IAwBvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAqB1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAoBvB;;OAEG;IACH,OAAO,CAAC,cAAc;IAetB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA0D3B;;OAEG;IACH,OAAO,CAAC,aAAa;IAYrB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA4BzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA8DzB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAiC9B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAmDzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAgC3B"}
1
+ {"version":3,"file":"ModelProcessor.d.ts","sourceRoot":"","sources":["../../../src/parser/processors/ModelProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAK3D,OAAO,EAAE,SAAS,EAAmG,MAAM,iBAAiB,CAAC;AAE7I,qBAAa,cAAe,SAAQ,iBAAiB,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC;IACrE,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,mBAAmB,CAAsB;gBAErC,OAAO,EAAE,GAAG;IAQxB,OAAO,CAAC,UAAU,EAAE,GAAG,GAAG,SAAS,EAAE;IAyErC,OAAO,CAAC,mBAAmB;IA6C3B,OAAO,CAAC,sBAAsB;IAY9B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAuB1B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA8C/B;;OAEG;IACH,OAAO,CAAC,eAAe;IAwBvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAqB1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAoBvB;;OAEG;IACH,OAAO,CAAC,cAAc;IAetB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA0D3B;;OAEG;IACH,OAAO,CAAC,aAAa;IAYrB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA6BzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkEzB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAmC9B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAsDzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAkC3B"}
@@ -21,10 +21,12 @@ export class ModelProcessor extends AbstractProcessor {
21
21
  const relationships = [];
22
22
  const lifecycles = [];
23
23
  const behaviors = {};
24
- // Process attributes
24
+ // Process attributes — user-defined fields are business category
25
25
  if (modelDef.attributes) {
26
26
  for (const [attrName, attrDef] of Object.entries(modelDef.attributes)) {
27
- attributes.push(this.attributeProcessor.process(attrName, attrDef));
27
+ const attr = this.attributeProcessor.process(attrName, attrDef);
28
+ attr.category = attr.category || 'business';
29
+ attributes.push(attr);
28
30
  }
29
31
  }
30
32
  // Process relationships
@@ -316,7 +318,8 @@ export class ModelProcessor extends AbstractProcessor {
316
318
  name,
317
319
  type: '',
318
320
  required: true,
319
- unique: true
321
+ unique: true,
322
+ category: 'metadata',
320
323
  };
321
324
  switch (type) {
322
325
  case 'uuid':
@@ -345,7 +348,7 @@ export class ModelProcessor extends AbstractProcessor {
345
348
  // Handle simple boolean form: audit: true
346
349
  if (auditConfig === true) {
347
350
  // Default: both timestamps and users
348
- attributes.push({ name: 'createdAt', type: 'Timestamp', required: true, unique: false, auto: 'auto' }, { name: 'updatedAt', type: 'Timestamp', required: true, unique: false, auto: 'auto' }, { name: 'createdBy', type: 'String', required: false, unique: false, auto: 'auto' }, { name: 'updatedBy', type: 'String', required: false, unique: false, auto: 'auto' });
351
+ attributes.push({ name: 'createdAt', type: 'Timestamp', required: true, unique: false, auto: 'auto', category: 'metadata' }, { name: 'updatedAt', type: 'Timestamp', required: true, unique: false, auto: 'auto', category: 'metadata' }, { name: 'createdBy', type: 'String', required: false, unique: false, auto: 'auto', category: 'metadata' }, { name: 'updatedBy', type: 'String', required: false, unique: false, auto: 'auto', category: 'metadata' });
349
352
  return attributes;
350
353
  }
351
354
  // Handle advanced object form
@@ -359,13 +362,15 @@ export class ModelProcessor extends AbstractProcessor {
359
362
  type: 'Timestamp',
360
363
  required: true,
361
364
  unique: false,
362
- auto: 'auto'
365
+ auto: 'auto',
366
+ category: 'metadata',
363
367
  }, {
364
368
  name: timestampNames.updated || 'updatedAt',
365
369
  type: 'Timestamp',
366
370
  required: true,
367
371
  unique: false,
368
- auto: 'auto'
372
+ auto: 'auto',
373
+ category: 'metadata',
369
374
  });
370
375
  }
371
376
  if (users) {
@@ -374,13 +379,15 @@ export class ModelProcessor extends AbstractProcessor {
374
379
  type: 'String',
375
380
  required: false,
376
381
  unique: false,
377
- auto: 'auto'
382
+ auto: 'auto',
383
+ category: 'metadata',
378
384
  }, {
379
385
  name: userNames.updated || 'updatedBy',
380
386
  type: 'String',
381
387
  required: false,
382
388
  unique: false,
383
- auto: 'auto'
389
+ auto: 'auto',
390
+ category: 'metadata',
384
391
  });
385
392
  }
386
393
  return attributes;
@@ -392,7 +399,7 @@ export class ModelProcessor extends AbstractProcessor {
392
399
  const attributes = [];
393
400
  // Handle simple boolean form: softDelete: true
394
401
  if (softDeleteConfig === true) {
395
- attributes.push({ name: 'deletedAt', type: 'Timestamp', required: false, unique: false }, { name: 'isDeleted', type: 'Boolean', required: true, unique: false, default: 'false' });
402
+ attributes.push({ name: 'deletedAt', type: 'Timestamp', required: false, unique: false, category: 'metadata' }, { name: 'isDeleted', type: 'Boolean', required: true, unique: false, default: 'false', category: 'metadata' });
396
403
  return attributes;
397
404
  }
398
405
  // Handle advanced object form
@@ -401,13 +408,15 @@ export class ModelProcessor extends AbstractProcessor {
401
408
  name: fieldNames.deletedAt || 'deletedAt',
402
409
  type: 'Timestamp',
403
410
  required: false,
404
- unique: false
411
+ unique: false,
412
+ category: 'metadata',
405
413
  }, {
406
414
  name: fieldNames.isDeleted || 'isDeleted',
407
415
  type: 'Boolean',
408
416
  required: true,
409
417
  unique: false,
410
- default: 'false'
418
+ default: 'false',
419
+ category: 'metadata',
411
420
  });
412
421
  return attributes;
413
422
  }
@@ -425,7 +434,8 @@ export class ModelProcessor extends AbstractProcessor {
425
434
  required: true,
426
435
  unique: false,
427
436
  default: lifecycle.states[0], // First state is default
428
- values: lifecycle.states
437
+ values: lifecycle.states,
438
+ category: 'metadata',
429
439
  };
430
440
  }
431
441
  // Lifecycle not found - warning already issued elsewhere
@@ -443,7 +453,8 @@ export class ModelProcessor extends AbstractProcessor {
443
453
  required: true,
444
454
  unique: false,
445
455
  default: lifecycle.states[0],
446
- values: lifecycle.states
456
+ values: lifecycle.states,
457
+ category: 'metadata',
447
458
  };
448
459
  }
449
460
  }
@@ -455,7 +466,8 @@ export class ModelProcessor extends AbstractProcessor {
455
466
  required: true,
456
467
  unique: false,
457
468
  default: statusConfig.values[0],
458
- values: statusConfig.values
469
+ values: statusConfig.values,
470
+ category: 'metadata',
459
471
  };
460
472
  }
461
473
  return null;
@@ -472,7 +484,8 @@ export class ModelProcessor extends AbstractProcessor {
472
484
  required: true,
473
485
  unique: false,
474
486
  default: '1',
475
- auto: 'auto'
487
+ auto: 'auto',
488
+ category: 'metadata',
476
489
  };
477
490
  }
478
491
  // Handle advanced object form
@@ -483,7 +496,8 @@ export class ModelProcessor extends AbstractProcessor {
483
496
  type: fieldType,
484
497
  required: true,
485
498
  unique: false,
486
- auto: 'auto'
499
+ auto: 'auto',
500
+ category: 'metadata',
487
501
  };
488
502
  // Only add default for Integer type
489
503
  if (fieldType === 'Integer') {
@@ -1 +1 @@
1
- {"version":3,"file":"ModelProcessor.js","sourceRoot":"","sources":["../../../src/parser/processors/ModelProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ModelProcessor.js","sourceRoot":"","sources":["../../../src/parser/processors/ModelProcessor.ts"],"names":[],"mappings":"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"}