@metaobjectsdev/codegen-ts 0.14.2 → 0.15.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.
Files changed (154) hide show
  1. package/dist/column-mapper.d.ts.map +1 -1
  2. package/dist/column-mapper.js +36 -16
  3. package/dist/column-mapper.js.map +1 -1
  4. package/dist/generators/api-model.js +21 -13
  5. package/dist/generators/api-model.js.map +1 -1
  6. package/dist/generators/docs-data-builder.d.ts.map +1 -1
  7. package/dist/generators/docs-data-builder.js +27 -22
  8. package/dist/generators/docs-data-builder.js.map +1 -1
  9. package/dist/generators/docs-file.d.ts.map +1 -1
  10. package/dist/generators/docs-file.js +2 -1
  11. package/dist/generators/docs-file.js.map +1 -1
  12. package/dist/generators/extractor-file.d.ts.map +1 -1
  13. package/dist/generators/extractor-file.js +4 -2
  14. package/dist/generators/extractor-file.js.map +1 -1
  15. package/dist/generators/output-prompt-file.d.ts.map +1 -1
  16. package/dist/generators/output-prompt-file.js +5 -3
  17. package/dist/generators/output-prompt-file.js.map +1 -1
  18. package/dist/generators/render-helper-file.d.ts.map +1 -1
  19. package/dist/generators/render-helper-file.js +5 -3
  20. package/dist/generators/render-helper-file.js.map +1 -1
  21. package/dist/generators/routes-file-hono.d.ts.map +1 -1
  22. package/dist/generators/routes-file-hono.js +2 -1
  23. package/dist/generators/routes-file-hono.js.map +1 -1
  24. package/dist/generators/routes-file.d.ts.map +1 -1
  25. package/dist/generators/routes-file.js +3 -1
  26. package/dist/generators/routes-file.js.map +1 -1
  27. package/dist/generators/template-doc-builder.d.ts.map +1 -1
  28. package/dist/generators/template-doc-builder.js +14 -11
  29. package/dist/generators/template-doc-builder.js.map +1 -1
  30. package/dist/generators/trace-helper-file.d.ts.map +1 -1
  31. package/dist/generators/trace-helper-file.js +11 -5
  32. package/dist/generators/trace-helper-file.js.map +1 -1
  33. package/dist/index.d.ts +1 -1
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +1 -1
  36. package/dist/index.js.map +1 -1
  37. package/dist/naming.d.ts +10 -0
  38. package/dist/naming.d.ts.map +1 -1
  39. package/dist/naming.js +47 -0
  40. package/dist/naming.js.map +1 -1
  41. package/dist/payload-codegen.d.ts.map +1 -1
  42. package/dist/payload-codegen.js +12 -9
  43. package/dist/payload-codegen.js.map +1 -1
  44. package/dist/projection/extract-view-spec.d.ts.map +1 -1
  45. package/dist/projection/extract-view-spec.js +26 -3
  46. package/dist/projection/extract-view-spec.js.map +1 -1
  47. package/dist/projection/projection-detector.d.ts.map +1 -1
  48. package/dist/projection/projection-detector.js +4 -0
  49. package/dist/projection/projection-detector.js.map +1 -1
  50. package/dist/relation-resolver.d.ts.map +1 -1
  51. package/dist/relation-resolver.js +20 -12
  52. package/dist/relation-resolver.js.map +1 -1
  53. package/dist/source-detect.d.ts.map +1 -1
  54. package/dist/source-detect.js +4 -1
  55. package/dist/source-detect.js.map +1 -1
  56. package/dist/template-codegen/template-data.js +1 -1
  57. package/dist/template-codegen/template-data.js.map +1 -1
  58. package/dist/templates/callable-file.d.ts.map +1 -1
  59. package/dist/templates/callable-file.js +8 -4
  60. package/dist/templates/callable-file.js.map +1 -1
  61. package/dist/templates/entity-constants.d.ts.map +1 -1
  62. package/dist/templates/entity-constants.js +15 -11
  63. package/dist/templates/entity-constants.js.map +1 -1
  64. package/dist/templates/entity-file.d.ts.map +1 -1
  65. package/dist/templates/entity-file.js +7 -2
  66. package/dist/templates/entity-file.js.map +1 -1
  67. package/dist/templates/extract-delegate-emitter.d.ts.map +1 -1
  68. package/dist/templates/extract-delegate-emitter.js +2 -1
  69. package/dist/templates/extract-delegate-emitter.js.map +1 -1
  70. package/dist/templates/extractor.d.ts.map +1 -1
  71. package/dist/templates/extractor.js +8 -4
  72. package/dist/templates/extractor.js.map +1 -1
  73. package/dist/templates/field-meta.d.ts.map +1 -1
  74. package/dist/templates/field-meta.js +22 -4
  75. package/dist/templates/field-meta.js.map +1 -1
  76. package/dist/templates/find-templates.d.ts.map +1 -1
  77. package/dist/templates/find-templates.js +3 -0
  78. package/dist/templates/find-templates.js.map +1 -1
  79. package/dist/templates/fr010-field-mapping.d.ts.map +1 -1
  80. package/dist/templates/fr010-field-mapping.js +5 -2
  81. package/dist/templates/fr010-field-mapping.js.map +1 -1
  82. package/dist/templates/inferred-types.d.ts.map +1 -1
  83. package/dist/templates/inferred-types.js +18 -14
  84. package/dist/templates/inferred-types.js.map +1 -1
  85. package/dist/templates/output-format-spec-emitter.js +7 -3
  86. package/dist/templates/output-format-spec-emitter.js.map +1 -1
  87. package/dist/templates/output-parser.d.ts.map +1 -1
  88. package/dist/templates/output-parser.js +9 -5
  89. package/dist/templates/output-parser.js.map +1 -1
  90. package/dist/templates/output-prompt.d.ts.map +1 -1
  91. package/dist/templates/output-prompt.js +8 -4
  92. package/dist/templates/output-prompt.js.map +1 -1
  93. package/dist/templates/projection-decl.d.ts.map +1 -1
  94. package/dist/templates/projection-decl.js +4 -1
  95. package/dist/templates/projection-decl.js.map +1 -1
  96. package/dist/templates/queries-file.d.ts.map +1 -1
  97. package/dist/templates/queries-file.js +12 -1
  98. package/dist/templates/queries-file.js.map +1 -1
  99. package/dist/templates/queries.d.ts +19 -1
  100. package/dist/templates/queries.d.ts.map +1 -1
  101. package/dist/templates/queries.js +49 -7
  102. package/dist/templates/queries.js.map +1 -1
  103. package/dist/templates/render-helper.d.ts.map +1 -1
  104. package/dist/templates/render-helper.js +17 -10
  105. package/dist/templates/render-helper.js.map +1 -1
  106. package/dist/templates/routes-file.js +2 -1
  107. package/dist/templates/routes-file.js.map +1 -1
  108. package/dist/templates/tph-discriminator.d.ts.map +1 -1
  109. package/dist/templates/tph-discriminator.js +7 -0
  110. package/dist/templates/tph-discriminator.js.map +1 -1
  111. package/dist/templates/zod-validators.d.ts.map +1 -1
  112. package/dist/templates/zod-validators.js +55 -15
  113. package/dist/templates/zod-validators.js.map +1 -1
  114. package/package.json +6 -6
  115. package/src/column-mapper.ts +37 -16
  116. package/src/generators/api-model.ts +21 -13
  117. package/src/generators/docs-data-builder.ts +27 -22
  118. package/src/generators/docs-file.ts +2 -1
  119. package/src/generators/extractor-file.ts +4 -2
  120. package/src/generators/output-prompt-file.ts +5 -3
  121. package/src/generators/render-helper-file.ts +5 -3
  122. package/src/generators/routes-file-hono.ts +2 -1
  123. package/src/generators/routes-file.ts +2 -1
  124. package/src/generators/template-doc-builder.ts +14 -11
  125. package/src/generators/trace-helper-file.ts +11 -5
  126. package/src/index.ts +2 -0
  127. package/src/naming.ts +51 -0
  128. package/src/payload-codegen.ts +12 -9
  129. package/src/projection/extract-view-spec.ts +26 -3
  130. package/src/projection/projection-detector.ts +4 -0
  131. package/src/reference/queries.ts +9 -0
  132. package/src/reference/routes.ts +2 -1
  133. package/src/relation-resolver.ts +20 -12
  134. package/src/source-detect.ts +4 -1
  135. package/src/template-codegen/template-data.ts +1 -1
  136. package/src/templates/callable-file.ts +8 -4
  137. package/src/templates/entity-constants.ts +15 -11
  138. package/src/templates/entity-file.ts +7 -2
  139. package/src/templates/extract-delegate-emitter.ts +2 -1
  140. package/src/templates/extractor.ts +8 -4
  141. package/src/templates/field-meta.ts +25 -3
  142. package/src/templates/find-templates.ts +3 -0
  143. package/src/templates/fr010-field-mapping.ts +6 -1
  144. package/src/templates/inferred-types.ts +19 -13
  145. package/src/templates/output-format-spec-emitter.ts +7 -3
  146. package/src/templates/output-parser.ts +9 -5
  147. package/src/templates/output-prompt.ts +8 -4
  148. package/src/templates/projection-decl.ts +4 -1
  149. package/src/templates/queries-file.ts +14 -0
  150. package/src/templates/queries.ts +68 -8
  151. package/src/templates/render-helper.ts +17 -10
  152. package/src/templates/routes-file.ts +2 -1
  153. package/src/templates/tph-discriminator.ts +7 -0
  154. package/src/templates/zod-validators.ts +56 -14
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/naming.d.ts CHANGED
@@ -48,6 +48,16 @@ export declare function createFnName(entityName: string): string;
48
48
  export declare function updateFnName(entityName: string): string;
49
49
  /** Generated delete-by-PK helper name: `delete<Entity>ById`. */
50
50
  export declare function deleteByIdFnName(entityName: string): string;
51
+ /**
52
+ * Lower an FK field name to the `<FkField>` segment of a reverse finder name:
53
+ * PascalCase the field, then drop a single trailing `Id` if present.
54
+ * E.g. `currentSceneId` → `CurrentScene`, `authorId` → `Author`, `scene` → `Scene`.
55
+ */
56
+ export declare function reverseFinderFkSegment(fkFieldName: string): string;
57
+ /** Generated reverse single-value finder name: `find<EPlural>By<FkField>`. */
58
+ export declare function reverseFinderFnName(sourceEntityName: string, fkFieldName: string): string;
59
+ /** Generated reverse batched finder name: `find<EPlural>By<FkField>In`. */
60
+ export declare function reverseFinderInFnName(sourceEntityName: string, fkFieldName: string): string;
51
61
  /**
52
62
  * Generated Fastify route-registrar name: camelCase `<entity>Routes`. The routes
53
63
  * generator (templates/routes-file.ts) emits a single exported
@@ -1 +1 @@
1
- {"version":3,"file":"naming.d.ts","sourceRoot":"","sources":["../src/naming.ts"],"names":[],"mappings":"AAMA,OAAO,EAIL,WAAW,EAEX,KAAK,oBAAoB,EAC1B,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAElE;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,qEAAqE;AACrE,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,QAAQ,GAAE,oBAAqD,GAC9D,MAAM,CAER;AAED,uEAAuE;AACvE,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,QAAQ,GAAE,oBAAqD,GAC9D,MAAM,CAER;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,oBAAoB,GAC7B,MAAM,CAGR;AAED;;;4CAG4C;AAC5C,MAAM,WAAW,qBAAqB;IACpC;;2BAEuB;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;6FAEyF;IACzF,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED;;;;oDAIoD;AACpD,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,qBAAqB,GAAG,MAAM,CAK/F;AAaD,4DAA4D;AAC5D,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,sEAAsE;AACtE,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,sDAAsD;AACtD,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,sDAAsD;AACtD,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,gEAAgE;AAChE,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE5D;AAGD,OAAO,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"naming.d.ts","sourceRoot":"","sources":["../src/naming.ts"],"names":[],"mappings":"AAMA,OAAO,EAIL,WAAW,EAEX,KAAK,oBAAoB,EAC1B,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAElE;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,qEAAqE;AACrE,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,QAAQ,GAAE,oBAAqD,GAC9D,MAAM,CAER;AAED,uEAAuE;AACvE,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,QAAQ,GAAE,oBAAqD,GAC9D,MAAM,CAER;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,oBAAoB,GAC7B,MAAM,CAGR;AAED;;;4CAG4C;AAC5C,MAAM,WAAW,qBAAqB;IACpC;;2BAEuB;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;6FAEyF;IACzF,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED;;;;oDAIoD;AACpD,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,qBAAqB,GAAG,MAAM,CAK/F;AAaD,4DAA4D;AAC5D,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,sEAAsE;AACtE,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,sDAAsD;AACtD,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,sDAAsD;AACtD,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,gEAAgE;AAChE,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE3D;AAgCD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAIlE;AAED,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAEzF;AAED,2EAA2E;AAC3E,wBAAgB,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAE3F;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE5D;AAGD,OAAO,EAAE,WAAW,EAAE,CAAC"}
package/dist/naming.js CHANGED
@@ -76,6 +76,53 @@ export function updateFnName(entityName) {
76
76
  export function deleteByIdFnName(entityName) {
77
77
  return `delete${entityName}ById`;
78
78
  }
79
+ // ---------------------------------------------------------------------------
80
+ // ADR-0038 — reverse-relationship navigation as explicit FK finders.
81
+ //
82
+ // For each FK relationship (entity `E` references entity `T` via an
83
+ // `identity.reference` FK field), `E`'s query surface gains a finder returning
84
+ // the `E` rows matching a given `T` id. Two variants: a single-value finder and
85
+ // a batched (anti-N+1) `…In` finder.
86
+ //
87
+ // CANONICAL NAMING CONVENTION (the cross-port contract — every port replicates
88
+ // this spelling exactly):
89
+ //
90
+ // find<EPlural>By<FkField>(value) → SELECT … FROM E WHERE <fkColumn> = ?
91
+ // find<EPlural>By<FkField>In(values) → SELECT … FROM E WHERE <fkColumn> IN (…)
92
+ //
93
+ // where:
94
+ // - <EPlural> is the source entity name pluralized, PascalCase
95
+ // (`GameSession` → `GameSessions`) — the same spelling `list<Plural>` uses.
96
+ // - <FkField> is the FK FIELD name (NOT the relationship/navigation name and
97
+ // NOT the raw column), PascalCased, with a single trailing `Id` dropped if
98
+ // present. The FK field name is unique within an entity, so the finder name
99
+ // is unique by construction — this is what dissolves the same-pair collision
100
+ // and removes any need for a naming attribute.
101
+ //
102
+ // SAME-PAIR EXAMPLE (GameSession has THREE FKs to Scene):
103
+ // FK field `currentSceneId` → findGameSessionsByCurrentScene
104
+ // FK field `lastOpeningNarrativeSceneId` → findGameSessionsByLastOpeningNarrativeScene
105
+ // FK field `transitioningFromSceneId` → findGameSessionsByTransitioningFromScene
106
+ // Three distinct finders — no collision.
107
+ // ---------------------------------------------------------------------------
108
+ /**
109
+ * Lower an FK field name to the `<FkField>` segment of a reverse finder name:
110
+ * PascalCase the field, then drop a single trailing `Id` if present.
111
+ * E.g. `currentSceneId` → `CurrentScene`, `authorId` → `Author`, `scene` → `Scene`.
112
+ */
113
+ export function reverseFinderFkSegment(fkFieldName) {
114
+ const pascal = toPascalCase(toCamelCase(fkFieldName));
115
+ // Drop a single trailing "Id" (but not a bare "Id" — that would yield "").
116
+ return pascal.length > 2 && pascal.endsWith("Id") ? pascal.slice(0, -2) : pascal;
117
+ }
118
+ /** Generated reverse single-value finder name: `find<EPlural>By<FkField>`. */
119
+ export function reverseFinderFnName(sourceEntityName, fkFieldName) {
120
+ return `find${pluralize(sourceEntityName)}By${reverseFinderFkSegment(fkFieldName)}`;
121
+ }
122
+ /** Generated reverse batched finder name: `find<EPlural>By<FkField>In`. */
123
+ export function reverseFinderInFnName(sourceEntityName, fkFieldName) {
124
+ return `${reverseFinderFnName(sourceEntityName, fkFieldName)}In`;
125
+ }
79
126
  /**
80
127
  * Generated Fastify route-registrar name: camelCase `<entity>Routes`. The routes
81
128
  * generator (templates/routes-file.ts) emits a single exported
@@ -1 +1 @@
1
- {"version":3,"file":"naming.js","sourceRoot":"","sources":["../src/naming.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"naming.js","sourceRoot":"","sources":["../src/naming.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"payload-codegen.d.ts","sourceRoot":"","sources":["../src/payload-codegen.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,KAAK,QAAQ,EAcd,MAAM,0BAA0B,CAAC;AAiHlC,kGAAkG;AAClG,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAIhF;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CASjG;AAMD,iGAAiG;AACjG,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAuBjF"}
1
+ {"version":3,"file":"payload-codegen.d.ts","sourceRoot":"","sources":["../src/payload-codegen.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,KAAK,QAAQ,EAcd,MAAM,0BAA0B,CAAC;AAkHlC,kGAAkG;AAClG,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAIhF;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CASjG;AAMD,iGAAiG;AACjG,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAyBjF"}
@@ -28,10 +28,11 @@ const SCALAR_TS = {
28
28
  time: "string",
29
29
  timestamp: "string",
30
30
  };
31
+ // ADR-0039: resolving — root has no super (children()==ownChildren()); a top-level object/template may itself extend, so resolve rather than work-by-accident.
31
32
  function findObject(root, name) {
32
33
  // FR-032 — @payloadRef/@responseRef are FQN after the desugar/sweep; match on
33
34
  // the effective FQN resolution key (with bare back-compat).
34
- return root.ownChildren().find((c) => c.type === TYPE_OBJECT && refMatchesObject(c, name));
35
+ return root.children().find((c) => c.type === TYPE_OBJECT && refMatchesObject(c, name));
35
36
  }
36
37
  /**
37
38
  * Map a payload field to its strict TS type.
@@ -46,7 +47,7 @@ function fieldTsType(field, ownerName) {
46
47
  const ref = field.attr(FIELD_ATTR_OBJECT_REF);
47
48
  const refName = typeof ref === "string" ? ref : "unknown";
48
49
  // isArray is a structural property on MetaData, not an attr.
49
- const isArray = field.isArray;
50
+ const isArray = field.resolvedIsArray();
50
51
  const result = {
51
52
  type: isArray ? `${refName}[]` : refName,
52
53
  };
@@ -62,15 +63,15 @@ function fieldTsType(field, ownerName) {
62
63
  if (values !== undefined) {
63
64
  const aliasName = enumUnionAliasName(ownerName, field);
64
65
  return {
65
- type: field.isArray ? `${aliasName}[]` : aliasName,
66
+ type: field.resolvedIsArray() ? `${aliasName}[]` : aliasName,
66
67
  enumAlias: { name: aliasName, decl: `export type ${aliasName} = ${enumUnionString(values)};` },
67
68
  };
68
69
  }
69
70
  // No @values → fall through to the raw-string representation.
70
- return { type: field.isArray ? "string[]" : "string" };
71
+ return { type: field.resolvedIsArray() ? "string[]" : "string" };
71
72
  }
72
73
  const scalar = SCALAR_TS[field.subType] ?? "unknown";
73
- return { type: field.isArray ? `${scalar}[]` : scalar };
74
+ return { type: field.resolvedIsArray() ? `${scalar}[]` : scalar };
74
75
  }
75
76
  /** True iff the field's @required is explicitly set to true. */
76
77
  function isFieldRequired(field) {
@@ -141,18 +142,20 @@ function pascal(s) {
141
142
  }
142
143
  /** Emit a typed render handle binding a template's @textRef + @format and typing its payload. */
143
144
  export function generateRenderHandle(root, templateName) {
144
- const tmpl = root.ownChildren().find((c) => c.type === TYPE_TEMPLATE && c.name === templateName);
145
+ const tmpl = root.children().find((c) => c.type === TYPE_TEMPLATE && c.name === templateName);
145
146
  if (!tmpl)
146
147
  throw new Error(`template "${templateName}" not found`);
147
- const payloadRef = tmpl.ownAttr(TEMPLATE_ATTR_PAYLOAD_REF);
148
+ // ADR-0039: resolving — a template may inherit its @* refs/format/kind via extends.
149
+ const payloadRef = tmpl.attr(TEMPLATE_ATTR_PAYLOAD_REF);
148
150
  // FR-032 — @payloadRef is an FQN after the desugar/sweep; the generated TS
149
151
  // TYPE NAME is the resolved value-object's bare name (an FQN like
150
152
  // `acme::ai::Payload` is not a valid TS identifier). Fall back to the last
151
153
  // `::`-segment when the VO is not in this root (defensive).
152
154
  const payloadType = (typeof payloadRef === "string" ? findObject(root, payloadRef)?.name : undefined) ??
153
155
  (typeof payloadRef === "string" ? stripPackage(payloadRef) : String(payloadRef));
154
- const textRef = tmpl.ownAttr(TEMPLATE_ATTR_TEXT_REF);
155
- const format = tmpl.ownAttr(TEMPLATE_ATTR_FORMAT) ?? "text";
156
+ // ADR-0039: resolving — a template may inherit its @* refs/format/kind via extends.
157
+ const textRef = tmpl.attr(TEMPLATE_ATTR_TEXT_REF);
158
+ const format = tmpl.attr(TEMPLATE_ATTR_FORMAT) ?? "text";
156
159
  const fn = `render${pascal(templateName)}`;
157
160
  return [
158
161
  `import { render, type Provider } from "@metaobjectsdev/render";`,
@@ -1 +1 @@
1
- {"version":3,"file":"payload-codegen.js","sourceRoot":"","sources":["../src/payload-codegen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payload-codegen.js","sourceRoot":"","sources":["../src/payload-codegen.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"extract-view-spec.d.ts","sourceRoot":"","sources":["../../src/projection/extract-view-spec.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAiB,KAAK,QAAQ,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAKpF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EACoC,QAAQ,EACvD,MAAM,gBAAgB,CAAC;AAgExB,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;CACrD;AA6BD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,oBAAoB,GACzC,MAAM,CAER;AAoVD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,QAAQ,EACd,GAAG,EAAE,cAAc,GAClB,QAAQ,CAcV"}
1
+ {"version":3,"file":"extract-view-spec.d.ts","sourceRoot":"","sources":["../../src/projection/extract-view-spec.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAiB,KAAK,QAAQ,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAKpF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EACoC,QAAQ,EACvD,MAAM,gBAAgB,CAAC;AAgExB,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;CACrD;AAkCD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,oBAAoB,GACzC,MAAM,CAER;AAsWD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,QAAQ,EACd,GAAG,EAAE,cAAc,GAClB,QAAQ,CAcV"}
@@ -63,13 +63,18 @@ function resolveAggregateFilter(filter, entity, alias, ctx) {
63
63
  // Private helpers
64
64
  // ---------------------------------------------------------------------------
65
65
  function findRelationship(obj, name) {
66
- return obj.ownChildren().find((c) => c.type === TYPE_RELATIONSHIP && c.name === name);
66
+ // ADR-0039: resolving a @via join hop may traverse a relationship the entity
67
+ // inherits via extends; own-only would silently drop the join.
68
+ return obj.children().find((c) => c.type === TYPE_RELATIONSHIP && c.name === name);
67
69
  }
68
70
  function viewName(projection, ctx) {
69
71
  // The read-only source carries the physical view name. FR-016: physicalName
70
72
  // implements the four-step rule (kind-matching alias → legacy @table →
71
73
  // source.name → entity-name fallback), so the call below correctly resolves
72
74
  // @view / @materializedView / legacy @table for projection sources.
75
+ // ADR-0039: own — projection source classification (mirrors C# projection
76
+ // OwnSources / IsReadOnlyProjection): the view name comes from the projection's
77
+ // OWN read-only source, not one inherited via extends.
73
78
  const viewSource = projection.ownChildren().find((c) => c instanceof MetaSource && c.isReadOnly());
74
79
  const explicit = viewSource?.physicalName;
75
80
  // physicalName always returns a string; empty string means the source had
@@ -122,6 +127,10 @@ function baseEntityFor(projection, root) {
122
127
  // ERR_PROJECTION_IDENTITY_NOT_EXTENDED) rejects any projection whose identity
123
128
  // is not dotted-extends-bound before codegen runs. If that loader gate is
124
129
  // ever loosened, this function must grow the same fallback.
130
+ // ADR-0039: own — the base anchor is derived from the projection's OWN
131
+ // extends-bound declarations (refNamedOwner reads each node's own superRef,
132
+ // which only exists on locally-declared nodes); an inherited node carries no
133
+ // projection-local superRef, so own-iteration is correct here.
125
134
  for (const identity of projection
126
135
  .ownChildren()
127
136
  .filter((c) => c.type === TYPE_IDENTITY)) {
@@ -130,6 +139,7 @@ function baseEntityFor(projection, root) {
130
139
  return named;
131
140
  }
132
141
  const targets = new Set();
142
+ // ADR-0039: own — see above; base-entity derivation reads own extends-bound fields.
133
143
  for (const f of projection.ownChildren().filter((c) => c.type === TYPE_FIELD)) {
134
144
  const named = refNamedOwner(f, root);
135
145
  if (named !== undefined && named !== projection)
@@ -174,12 +184,17 @@ function shortAliasFor(entityName, used) {
174
184
  }
175
185
  function buildJoinTree(projection, base, root, usedAliases, baseAlias, ctx) {
176
186
  const allPaths = [];
187
+ // ADR-0039: own — a projection's DECLARED field set IS the exposure (FR-024/
188
+ // ADR-0028, inclusive + fail-closed); iterate the projection's own fields and
189
+ // each field's own origin. origin.* NEVER inherits (ADR-0029), so origin reads
190
+ // below are own by policy (category 4).
177
191
  for (const field of projection.ownChildren()) {
178
192
  if (field.type !== TYPE_FIELD)
179
193
  continue;
180
194
  for (const origin of field.ownChildren()) {
181
195
  if (origin.type !== TYPE_ORIGIN)
182
196
  continue;
197
+ // ADR-0039: own (category 4) — origin.* never inherits (ADR-0029).
183
198
  const viaAttr = origin.subType === ORIGIN_SUBTYPE_AGGREGATE
184
199
  ? origin.ownAttr(ORIGIN_AGGREGATE_ATTR_VIA)
185
200
  : origin.ownAttr(ORIGIN_PASSTHROUGH_ATTR_VIA);
@@ -201,7 +216,8 @@ function buildJoinTree(projection, base, root, usedAliases, baseAlias, ctx) {
201
216
  const rel = findRelationship(currentObj, relName);
202
217
  if (!rel)
203
218
  break;
204
- const targetName = rel.ownAttr(RELATIONSHIP_ATTR_OBJECT_REF);
219
+ // ADR-0039: resolving — a traversed relationship may inherit @objectRef via extends.
220
+ const targetName = rel.attr(RELATIONSHIP_ATTR_OBJECT_REF);
205
221
  // @objectRef may be package-qualified ("pkg::Entity") — the directory loader
206
222
  // qualifies a same-package objectRef even when authored bare — but findObject
207
223
  // keys on the BARE name (like the @via/@of/@from paths above). Strip first, or
@@ -209,7 +225,8 @@ function buildJoinTree(projection, base, root, usedAliases, baseAlias, ctx) {
209
225
  const target = targetName ? root.findObject(stripPackage(targetName)) : undefined;
210
226
  if (!target || !targetName)
211
227
  break;
212
- const cardAttr = rel.ownAttr(RELATIONSHIP_ATTR_CARDINALITY);
228
+ // ADR-0039: resolving — a traversed relationship may inherit @cardinality via extends.
229
+ const cardAttr = rel.attr(RELATIONSHIP_ATTR_CARDINALITY);
213
230
  const cardinality = cardAttr === CARDINALITY_ONE ? "one" : "many";
214
231
  const ref = findReferenceBetween(currentObj, target);
215
232
  if (!ref)
@@ -296,6 +313,9 @@ function buildSelectSpec(projection, base, joinTree, root, ctx) {
296
313
  // is removed with the B4b cutover: base columns are declared explicitly as
297
314
  // extends-bound fields (`{ field.int: { name: id, extends: "Program.id" } }`).
298
315
  // Fields explicitly declared on the projection.
316
+ // ADR-0039: own — the projection's DECLARED field set IS the exposure
317
+ // (FR-024/ADR-0028); iterate own fields + each field's own origin. origin.*
318
+ // NEVER inherits (ADR-0029), so the origin attr reads below are own (category 4).
299
319
  for (const field of projection.ownChildren()) {
300
320
  if (field.type !== TYPE_FIELD)
301
321
  continue;
@@ -313,6 +333,7 @@ function buildSelectSpec(projection, base, joinTree, root, ctx) {
313
333
  continue;
314
334
  }
315
335
  if (origin.subType === ORIGIN_SUBTYPE_PASSTHROUGH) {
336
+ // ADR-0039: own (category 4) — origin.* never inherits (ADR-0029).
316
337
  const from = origin.ownAttr(ORIGIN_PASSTHROUGH_ATTR_FROM);
317
338
  const dotIdx = from.indexOf(".");
318
339
  if (dotIdx < 1)
@@ -340,6 +361,7 @@ function buildSelectSpec(projection, base, joinTree, root, ctx) {
340
361
  });
341
362
  }
342
363
  else if (origin.subType === ORIGIN_SUBTYPE_AGGREGATE) {
364
+ // ADR-0039: own (category 4) — origin.* never inherits (ADR-0029).
343
365
  const agg = origin.ownAttr(ORIGIN_AGGREGATE_ATTR_AGG);
344
366
  const of_ = origin.ownAttr(ORIGIN_AGGREGATE_ATTR_OF);
345
367
  if (!agg || !of_)
@@ -358,6 +380,7 @@ function buildSelectSpec(projection, base, joinTree, root, ctx) {
358
380
  continue;
359
381
  // Optional scoping filter — resolved against the aggregated entity (the @of
360
382
  // entity, reached at `sourceAlias`), e.g. max(version) over only active rows.
383
+ // ADR-0039: own (category 4) — origin.* never inherits (ADR-0029).
361
384
  const filterAttr = origin.ownAttr(ORIGIN_AGGREGATE_ATTR_FILTER);
362
385
  const filter = filterAttr !== undefined
363
386
  ? resolveAggregateFilter(filterAttr, targetEntity, sourceAlias, ctx)
@@ -1 +1 @@
1
- {"version":3,"file":"extract-view-spec.js","sourceRoot":"","sources":["../../src/projection/extract-view-spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extract-view-spec.js","sourceRoot":"","sources":["../../src/projection/extract-view-spec.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"projection-detector.d.ts","sourceRoot":"","sources":["../../src/projection/projection-detector.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAczD,wBAAgB,YAAY,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAEtD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAExD"}
1
+ {"version":3,"file":"projection-detector.d.ts","sourceRoot":"","sources":["../../src/projection/projection-detector.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAkBzD,wBAAgB,YAAY,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAEtD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAExD"}
@@ -1,8 +1,12 @@
1
1
  import { MetaSource } from "@metaobjectsdev/metadata";
2
2
  function hasReadOnlyKindSource(entity) {
3
+ // ADR-0039: own — projection source-kind classification. Mirrors C#
4
+ // IsReadOnlyProjection()/projection OwnSources: an entity's projection-ness is
5
+ // determined by its OWN declared source @kind, not one inherited via extends.
3
6
  return entity.ownChildren().some((c) => c instanceof MetaSource && c.isReadOnly());
4
7
  }
5
8
  function hasWritableKindSource(entity) {
9
+ // ADR-0039: own — projection source-kind classification (see hasReadOnlyKindSource).
6
10
  return entity.ownChildren().some((c) => c instanceof MetaSource && c.isWritable());
7
11
  }
8
12
  export function isProjection(entity) {
@@ -1 +1 @@
1
- {"version":3,"file":"projection-detector.js","sourceRoot":"","sources":["../../src/projection/projection-detector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,SAAS,qBAAqB,CAAC,MAAgB;IAC7C,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,UAAU,IAAI,CAAC,CAAC,UAAU,EAAE,CACjD,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAgB;IAC7C,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,UAAU,IAAI,CAAC,CAAC,UAAU,EAAE,CACjD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAgB;IAC3C,OAAO,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAgB;IAC7C,OAAO,qBAAqB,CAAC,MAAM,CAAC,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACxE,CAAC"}
1
+ {"version":3,"file":"projection-detector.js","sourceRoot":"","sources":["../../src/projection/projection-detector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,SAAS,qBAAqB,CAAC,MAAgB;IAC7C,oEAAoE;IACpE,+EAA+E;IAC/E,8EAA8E;IAC9E,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,UAAU,IAAI,CAAC,CAAC,UAAU,EAAE,CACjD,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAgB;IAC7C,qFAAqF;IACrF,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,UAAU,IAAI,CAAC,CAAC,UAAU,EAAE,CACjD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAgB;IAC3C,OAAO,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAgB;IAC7C,OAAO,qBAAqB,CAAC,MAAM,CAAC,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACxE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"relation-resolver.d.ts","sourceRoot":"","sources":["../src/relation-resolver.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAgC,MAAM,0BAA0B,CAAC;AAavF,MAAM,WAAW,aAAa;IAC5B,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,WAAW,EAAE,KAAK,GAAG,MAAM,CAAC;IAC5B,6CAA6C;IAC7C,YAAY,EAAE,MAAM,CAAC;IACrB,2FAA2F;IAC3F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;OAOG;IACH,4EAA4E;IAC5E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mGAAmG;IACnG,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kGAAkG;IAClG,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mFAAmF;IACnF,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,mFAAmF;AACnF,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;AAEvD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,WAAW,CAwF5D"}
1
+ {"version":3,"file":"relation-resolver.d.ts","sourceRoot":"","sources":["../src/relation-resolver.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAgC,MAAM,0BAA0B,CAAC;AAavF,MAAM,WAAW,aAAa;IAC5B,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,WAAW,EAAE,KAAK,GAAG,MAAM,CAAC;IAC5B,6CAA6C;IAC7C,YAAY,EAAE,MAAM,CAAC;IACrB,2FAA2F;IAC3F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;OAOG;IACH,4EAA4E;IAC5E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mGAAmG;IACnG,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kGAAkG;IAClG,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mFAAmF;IACnF,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,mFAAmF;AACnF,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;AAEvD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,WAAW,CA8F5D"}
@@ -25,11 +25,13 @@ export function buildRelationMap(root) {
25
25
  if (isProjection(obj))
26
26
  continue;
27
27
  for (const child of obj.relationships()) {
28
- const cardinality = child.ownAttr(RELATIONSHIP_ATTR_CARDINALITY);
28
+ // ADR-0039: resolving — a relationship may inherit @cardinality via extends.
29
+ const cardinality = child.attr(RELATIONSHIP_ATTR_CARDINALITY);
29
30
  // FR-018 M:N: `@cardinality: "many"` + `@through` — derive the junction FK
30
31
  // columns from the junction's identity.reference children and register a
31
32
  // many(junction) navigation on the source.
32
- if (cardinality === CARDINALITY_MANY && child.ownAttr(RELATIONSHIP_ATTR_THROUGH) !== undefined) {
33
+ // ADR-0039: resolving @through may be inherited via extends.
34
+ if (cardinality === CARDINALITY_MANY && child.attr(RELATIONSHIP_ATTR_THROUGH) !== undefined) {
33
35
  const m2m = buildM2mEntry(obj, child, root);
34
36
  if (m2m)
35
37
  ensure(obj.name).push(m2m);
@@ -37,7 +39,8 @@ export function buildRelationMap(root) {
37
39
  }
38
40
  if (cardinality !== CARDINALITY_ONE)
39
41
  continue;
40
- const targetEntityRaw = child.ownAttr(RELATIONSHIP_ATTR_OBJECT_REF);
42
+ // ADR-0039: resolving — @objectRef may be inherited via extends.
43
+ const targetEntityRaw = child.attr(RELATIONSHIP_ATTR_OBJECT_REF);
41
44
  if (!targetEntityRaw)
42
45
  continue;
43
46
  const targetEntity = stripPackage(targetEntityRaw);
@@ -59,11 +62,14 @@ export function buildRelationMap(root) {
59
62
  fkField,
60
63
  targetPkField: "id",
61
64
  });
62
- ensure(targetEntity).push({
63
- name: variableNameFromEntity(obj.name),
64
- cardinality: "many",
65
- targetEntity: obj.name,
66
- });
65
+ // ADR-0038: do NOT register a reverse lazy `many()` on the target. Those
66
+ // entries were named after the SOURCE entity (`variableNameFromEntity(obj)`),
67
+ // so two relationships from the same source to the same target produced
68
+ // duplicate object-literal keys and silently overwrote each other (the
69
+ // same-pair collision). Reverse 1:N navigation is now provided as explicit,
70
+ // unique-by-FK-field finders in the source's queries module
71
+ // (find<SourcePlural>By<FkField>), which are framework-free and non-N+1.
72
+ // The forward one() relation above stays.
67
73
  }
68
74
  }
69
75
  // FR-018: junction entities reached via @through need their two belongs-to
@@ -103,9 +109,10 @@ function collectJunctionNames(root) {
103
109
  const names = new Set();
104
110
  for (const obj of root.objects()) {
105
111
  for (const rel of obj.relationships()) {
106
- if (rel.ownAttr(RELATIONSHIP_ATTR_CARDINALITY) !== CARDINALITY_MANY)
112
+ // ADR-0039: resolving — @cardinality/@through may be inherited via extends.
113
+ if (rel.attr(RELATIONSHIP_ATTR_CARDINALITY) !== CARDINALITY_MANY)
107
114
  continue;
108
- const through = rel.ownAttr(RELATIONSHIP_ATTR_THROUGH);
115
+ const through = rel.attr(RELATIONSHIP_ATTR_THROUGH);
109
116
  if (through)
110
117
  names.add(stripPackage(through));
111
118
  }
@@ -119,8 +126,9 @@ function collectJunctionNames(root) {
119
126
  * fails — the loader validation pass surfaces the actionable error separately.
120
127
  */
121
128
  function buildM2mEntry(source, rel, root) {
122
- const targetRaw = rel.ownAttr(RELATIONSHIP_ATTR_OBJECT_REF);
123
- const throughRaw = rel.ownAttr(RELATIONSHIP_ATTR_THROUGH);
129
+ // ADR-0039: resolving — @objectRef/@through may be inherited via extends.
130
+ const targetRaw = rel.attr(RELATIONSHIP_ATTR_OBJECT_REF);
131
+ const throughRaw = rel.attr(RELATIONSHIP_ATTR_THROUGH);
124
132
  if (!targetRaw || !throughRaw)
125
133
  return null;
126
134
  let fields;
@@ -1 +1 @@
1
- {"version":3,"file":"relation-resolver.js","sourceRoot":"","sources":["../src/relation-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relation-resolver.js","sourceRoot":"","sources":["../src/relation-resolver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"source-detect.d.ts","sourceRoot":"","sources":["../src/source-detect.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAQhE"}
1
+ {"version":3,"file":"source-detect.d.ts","sourceRoot":"","sources":["../src/source-detect.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAWhE"}
@@ -15,7 +15,10 @@ import { TYPE_SOURCE, SOURCE_SUBTYPE_RDB } from "@metaobjectsdev/metadata";
15
15
  * transit data — no migration, no ORM table to point at.
16
16
  */
17
17
  export function hasWritableRdbSource(entity) {
18
- for (const child of entity.ownChildren()) {
18
+ // ADR-0039: resolving an entity may inherit its writable source.rdb via extends
19
+ // (the JVM port's "entity inheriting its source emitted NOTHING" bug); own-only
20
+ // would suppress the Drizzle table for such an entity.
21
+ for (const child of entity.children()) {
19
22
  if (child.type !== TYPE_SOURCE)
20
23
  continue;
21
24
  if (child.subType !== SOURCE_SUBTYPE_RDB)
@@ -1 +1 @@
1
- {"version":3,"file":"source-detect.js","sourceRoot":"","sources":["../src/source-detect.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,kFAAkF;AAClF,EAAE;AACF,+EAA+E;AAC/E,wEAAwE;AACxE,8EAA8E;AAC9E,2DAA2D;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG3E;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAkB;IACrD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;QACzC,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;YAAE,SAAS;QACzC,IAAI,KAAK,CAAC,OAAO,KAAK,kBAAkB;YAAE,SAAS;QACnD,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC;YAAE,SAAS;QAC7C,IAAI,KAAK,CAAC,UAAU,EAAE;YAAE,OAAO,IAAI,CAAC;IACtC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"source-detect.js","sourceRoot":"","sources":["../src/source-detect.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,kFAAkF;AAClF,EAAE;AACF,+EAA+E;AAC/E,wEAAwE;AACxE,8EAA8E;AAC9E,2DAA2D;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG3E;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAkB;IACrD,kFAAkF;IAClF,gFAAgF;IAChF,uDAAuD;IACvD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;YAAE,SAAS;QACzC,IAAI,KAAK,CAAC,OAAO,KAAK,kBAAkB;YAAE,SAAS;QACnD,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC;YAAE,SAAS;QAC7C,IAAI,KAAK,CAAC,UAAU,EAAE;YAAE,OAAO,IAAI,CAAC;IACtC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -11,7 +11,7 @@ function fieldData(field) {
11
11
  name: field.name,
12
12
  type: field.subType,
13
13
  required: field.isRequired,
14
- isArray: field.isArray === true,
14
+ isArray: field.resolvedIsArray(),
15
15
  };
16
16
  if (typeof field.maxLength === "number")
17
17
  d.maxLength = field.maxLength;
@@ -1 +1 @@
1
- {"version":3,"file":"template-data.js","sourceRoot":"","sources":["../../src/template-codegen/template-data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template-data.js","sourceRoot":"","sources":["../../src/template-codegen/template-data.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"callable-file.d.ts","sourceRoot":"","sources":["../../src/templates/callable-file.ts"],"names":[],"mappings":"AAqBA,OAAO,EACL,KAAK,UAAU,EAQhB,MAAM,0BAA0B,CAAC;AAQlC;6EAC6E;AAC7E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAG5D;AAWD;4EAC4E;AAC5E,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAiE7D"}
1
+ {"version":3,"file":"callable-file.d.ts","sourceRoot":"","sources":["../../src/templates/callable-file.ts"],"names":[],"mappings":"AAqBA,OAAO,EACL,KAAK,UAAU,EAQhB,MAAM,0BAA0B,CAAC;AAQlC;6EAC6E;AAC7E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAG5D;AAYD;4EAC4E;AAC5E,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAoE7D"}