@specverse/engines 6.75.0 → 6.76.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/inference/ui-contracts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAA4B,MAAM,sBAAsB,CAAC;AAcrF,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAwBjD,MAAM,WAAW,gBAAgB;IAC/B,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,cAAc,GAAG,gBAAgB,EAAE,CAc9E;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,cAAc,CA6ItD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/inference/ui-contracts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAA4B,MAAM,sBAAsB,CAAC;AAerF,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAyBjD,MAAM,WAAW,gBAAgB;IAC/B,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,cAAc,GAAG,gBAAgB,EAAE,CAc9E;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,cAAc,CA6ItD"}
@@ -20,6 +20,7 @@ import { actionButtonsPresent, RULE_ID as ACTION_BUTTONS_PRESENT_RULE_ID } from
20
20
  import { createReflectsInList, RULE_ID as CREATE_REFLECTS_RULE_ID } from './rules/create-reflects-in-list.js';
21
21
  import { deleteReflectsInList, RULE_ID as DELETE_REFLECTS_RULE_ID } from './rules/delete-reflects-in-list.js';
22
22
  import { evolveReflectsInList, RULE_ID as EVOLVE_REFLECTS_RULE_ID } from './rules/evolve-reflects-in-list.js';
23
+ import { belongsToShowsNameInList, RULE_ID as BELONGSTO_SHOWS_NAME_RULE_ID } from './rules/belongsto-shows-name-in-list.js';
23
24
  export * from './test-case-types.js';
24
25
  export { renderSpecFile } from './translator.js';
25
26
  /**
@@ -34,6 +35,7 @@ const RULES = [
34
35
  { id: DETAIL_VIEW_RENDERS_RULE_ID, rule: detailViewRenders },
35
36
  // Shape
36
37
  { id: LIST_SHOWS_BUSINESS_COLUMNS_RULE_ID, rule: listShowsBusinessColumns },
38
+ { id: BELONGSTO_SHOWS_NAME_RULE_ID, rule: belongsToShowsNameInList },
37
39
  { id: FORM_SHOWS_REQUIRED_INDICATORS_RULE_ID, rule: formShowsRequiredIndicators },
38
40
  { id: LIFECYCLE_STATE_VISIBLE_RULE_ID, rule: lifecycleStateVisibleInDetail },
39
41
  { id: HASMANY_SHOWS_CHILDREN_RULE_ID, rule: hasManyShowsChildrenInDetail },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/inference/ui-contracts/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/inference/ui-contracts/index.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,14 @@ export declare function pickDisplayAttribute(model: ModelInfo): AttributeInfo |
24
24
  * Phase 5+ may add a topological-seed helper that handles dependents.
25
25
  */
26
26
  export declare function buildSeedData(model: ModelInfo, marker: string): Record<string, unknown> | null;
27
+ /**
28
+ * Build seed data for a model that has belongsTo relationships, given the
29
+ * FK column values to thread in (e.g. `{ pollId: '$expr:_p0' }`). Unlike
30
+ * buildSeedData this does NOT bail on belongsTo — the caller has already
31
+ * arranged to seed the parents and supplies their ids. Fills every required
32
+ * business + lifecycle field, then overlays the provided FK values.
33
+ */
34
+ export declare function buildSeedDataWithFks(model: ModelInfo, marker: string, fkValues: Record<string, unknown>): Record<string, unknown>;
27
35
  /**
28
36
  * Extract the list of lifecycle state names from a model's lifecycles
29
37
  * block. Returns null if the model has no lifecycle.
@@ -1 +1 @@
1
- {"version":3,"file":"_shared.d.ts","sourceRoot":"","sources":["../../../../src/inference/ui-contracts/rules/_shared.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtE;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,GAAG,aAAa,GAAG,IAAI,CAa3E;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAiBhC;AAuBD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,EAAE,GAAG,IAAI,CAepE"}
1
+ {"version":3,"file":"_shared.d.ts","sourceRoot":"","sources":["../../../../src/inference/ui-contracts/rules/_shared.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtE;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,GAAG,aAAa,GAAG,IAAI,CAa3E;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAiBhC;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASzB;AAuBD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,EAAE,GAAG,IAAI,CAepE"}
@@ -56,6 +56,26 @@ export function buildSeedData(model, marker) {
56
56
  }
57
57
  return data;
58
58
  }
59
+ /**
60
+ * Build seed data for a model that has belongsTo relationships, given the
61
+ * FK column values to thread in (e.g. `{ pollId: '$expr:_p0' }`). Unlike
62
+ * buildSeedData this does NOT bail on belongsTo — the caller has already
63
+ * arranged to seed the parents and supplies their ids. Fills every required
64
+ * business + lifecycle field, then overlays the provided FK values.
65
+ */
66
+ export function buildSeedDataWithFks(model, marker, fkValues) {
67
+ const data = {};
68
+ for (const attr of model.attributes || []) {
69
+ if (attr.category === 'metadata')
70
+ continue;
71
+ if (attr.category === 'relationship')
72
+ continue;
73
+ if (!attr.required && !isLifecycleField(attr))
74
+ continue;
75
+ data[attr.name] = sampleValueFor(attr, marker);
76
+ }
77
+ return { ...data, ...fkValues };
78
+ }
59
79
  function isLifecycleField(attr) {
60
80
  // Heuristic: `status` / `state` attributes with an enumerated
61
81
  // value list belong to a lifecycle. The parser usually strips
@@ -1 +1 @@
1
- {"version":3,"file":"_shared.js","sourceRoot":"","sources":["../../../../src/inference/ui-contracts/rules/_shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_shared.js","sourceRoot":"","sources":["../../../../src/inference/ui-contracts/rules/_shared.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Rule: belongsTo-shows-name-in-list
3
+ *
4
+ * A belongsTo FK column in a list view must render the parent entity's
5
+ * human-readable DISPLAY NAME, not its raw UUID. This is the contract
6
+ * behind the runtime's relationship resolution (RelatedModelFetcher →
7
+ * resolveEntityDisplayName / getEntityDisplayName) — the exact behaviour
8
+ * that regressed in the belongsTo label/ID bug (runtime 5.11.1).
9
+ *
10
+ * Strategy (composes existing state-sync steps, no new harness helper):
11
+ * 1. seed each of the child's belongsTo parents (with a unique display
12
+ * marker), binding their ids,
13
+ * 2. create the child with every FK threaded to its parent's id,
14
+ * 3. navigate to the child's list,
15
+ * 4. assert the TARGET parent's display marker is VISIBLE in the list —
16
+ * it only appears if the FK column resolved the name; a UUID would
17
+ * show the id instead, so the marker would be absent and the test
18
+ * fails.
19
+ *
20
+ * Scope (v1): only models whose belongsTo parents are ALL top-level
21
+ * seedable (no required belongsTo of their own — one seed level). Deeper
22
+ * chains (e.g. poll-app's Vote → Option → Poll) are skipped, mirroring
23
+ * create-reflects-in-list's seedability gate. One TestCase per
24
+ * (child-model, belongsTo-relationship) pair.
25
+ */
26
+ import type { UiContractRule } from '../test-case-types.js';
27
+ export declare const RULE_ID = "belongsTo-shows-name-in-list";
28
+ export declare const belongsToShowsNameInList: UiContractRule;
29
+ //# sourceMappingURL=belongsto-shows-name-in-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"belongsto-shows-name-in-list.d.ts","sourceRoot":"","sources":["../../../../src/inference/ui-contracts/rules/belongsto-shows-name-in-list.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAsC,MAAM,uBAAuB,CAAC;AAGhG,eAAO,MAAM,OAAO,iCAAiC,CAAC;AAEtD,eAAO,MAAM,wBAAwB,EAAE,cA+DtC,CAAC"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Rule: belongsTo-shows-name-in-list
3
+ *
4
+ * A belongsTo FK column in a list view must render the parent entity's
5
+ * human-readable DISPLAY NAME, not its raw UUID. This is the contract
6
+ * behind the runtime's relationship resolution (RelatedModelFetcher →
7
+ * resolveEntityDisplayName / getEntityDisplayName) — the exact behaviour
8
+ * that regressed in the belongsTo label/ID bug (runtime 5.11.1).
9
+ *
10
+ * Strategy (composes existing state-sync steps, no new harness helper):
11
+ * 1. seed each of the child's belongsTo parents (with a unique display
12
+ * marker), binding their ids,
13
+ * 2. create the child with every FK threaded to its parent's id,
14
+ * 3. navigate to the child's list,
15
+ * 4. assert the TARGET parent's display marker is VISIBLE in the list —
16
+ * it only appears if the FK column resolved the name; a UUID would
17
+ * show the id instead, so the marker would be absent and the test
18
+ * fails.
19
+ *
20
+ * Scope (v1): only models whose belongsTo parents are ALL top-level
21
+ * seedable (no required belongsTo of their own — one seed level). Deeper
22
+ * chains (e.g. poll-app's Vote → Option → Poll) are skipped, mirroring
23
+ * create-reflects-in-list's seedability gate. One TestCase per
24
+ * (child-model, belongsTo-relationship) pair.
25
+ */
26
+ import { pickDisplayAttribute, buildSeedData, buildSeedDataWithFks } from './_shared.js';
27
+ export const RULE_ID = 'belongsTo-shows-name-in-list';
28
+ export const belongsToShowsNameInList = (spec) => {
29
+ const cases = [];
30
+ const byName = new Map(spec.models.map(m => [m.name, m]));
31
+ for (const child of spec.models) {
32
+ const belongsTo = (child.relationships || []).filter(r => /belongsTo/i.test(String(r.type || '')));
33
+ if (belongsTo.length === 0)
34
+ continue;
35
+ // Plan a seed for every belongsTo parent. Bail on the whole child if
36
+ // any parent isn't top-level seedable or lacks a display attribute —
37
+ // we can't create the child without all its FKs.
38
+ const marker = `ct-belongsto-${child.name}`;
39
+ const plans = belongsTo.map((rel, i) => {
40
+ const parent = rel.target ? byName.get(rel.target) : undefined;
41
+ const seed = parent ? buildSeedData(parent, `${marker}-${rel.name}`) : null;
42
+ const display = parent ? pickDisplayAttribute(parent) : null;
43
+ return { rel, parent, seed, display, idVar: `_p${i}`, dataVar: `_parent${i}` };
44
+ });
45
+ if (plans.some(p => !p.parent || !p.seed || !p.display))
46
+ continue;
47
+ // One test per belongsTo rel — each asserts that rel's parent resolves.
48
+ for (const target of plans) {
49
+ const steps = [{ action: 'bootRuntime' }];
50
+ // Seed every parent first, so the child's list has the parent
51
+ // entities loaded when it renders + the row appears via WebSocket.
52
+ const fkValues = {};
53
+ for (const p of plans) {
54
+ steps.push({
55
+ action: 'createEntity',
56
+ modelName: p.parent.name,
57
+ data: p.seed,
58
+ bindAs: `{ id: ${p.idVar}, data: ${p.dataVar} }`,
59
+ uniqueField: p.display.name,
60
+ });
61
+ fkValues[`${p.rel.name}Id`] = `$expr:${p.idVar}`;
62
+ }
63
+ const childData = buildSeedDataWithFks(child, marker, fkValues);
64
+ steps.push({ action: 'navigateToModel', modelName: child.name });
65
+ steps.push({
66
+ action: 'createEntity',
67
+ modelName: child.name,
68
+ data: childData,
69
+ bindAs: '{ id: _childId, data: _child }',
70
+ });
71
+ // The target parent's display value must show in the child list —
72
+ // i.e. the belongsTo column resolved the name, not the UUID.
73
+ steps.push({
74
+ action: 'expectEntityInList',
75
+ modelName: child.name,
76
+ displayExpr: `String(${target.dataVar}[${JSON.stringify(target.display.name)}])`,
77
+ });
78
+ cases.push({
79
+ ruleId: RULE_ID,
80
+ specElement: `${child.name}.${target.rel.name}`,
81
+ name: `[${RULE_ID}] ${child.name}.${target.rel.name} resolves to the ${target.parent.name}'s name in the list view`,
82
+ steps,
83
+ });
84
+ }
85
+ }
86
+ return cases;
87
+ };
88
+ //# sourceMappingURL=belongsto-shows-name-in-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"belongsto-shows-name-in-list.js","sourceRoot":"","sources":["../../../../src/inference/ui-contracts/rules/belongsto-shows-name-in-list.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@specverse/engines",
3
- "version": "6.75.0",
3
+ "version": "6.76.0",
4
4
  "description": "SpecVerse toolchain — parser, inference, realize, generators, AI, registry, bundles",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",