@metaobjectsdev/codegen-ts 0.15.19 → 0.15.20
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/dist/generators/api-model.js +5 -5
- package/dist/generators/api-model.js.map +1 -1
- package/dist/generators/output-prompt-file.d.ts.map +1 -1
- package/dist/generators/output-prompt-file.js +3 -2
- package/dist/generators/output-prompt-file.js.map +1 -1
- package/dist/generators/prompt-render-file.d.ts.map +1 -1
- package/dist/generators/prompt-render-file.js +3 -1
- package/dist/generators/prompt-render-file.js.map +1 -1
- package/dist/generators/render-helper-file.d.ts.map +1 -1
- package/dist/generators/render-helper-file.js +3 -2
- package/dist/generators/render-helper-file.js.map +1 -1
- package/dist/generators/template-doc-builder.d.ts.map +1 -1
- package/dist/generators/template-doc-builder.js +11 -5
- package/dist/generators/template-doc-builder.js.map +1 -1
- package/dist/generators/template-payload-tree.d.ts +1 -1
- package/dist/generators/template-payload-tree.d.ts.map +1 -1
- package/dist/generators/template-payload-tree.js +16 -9
- package/dist/generators/template-payload-tree.js.map +1 -1
- package/dist/generators/trace-helper-file.d.ts.map +1 -1
- package/dist/generators/trace-helper-file.js +3 -2
- package/dist/generators/trace-helper-file.js.map +1 -1
- package/dist/payload-codegen.d.ts +4 -3
- package/dist/payload-codegen.d.ts.map +1 -1
- package/dist/payload-codegen.js +21 -14
- package/dist/payload-codegen.js.map +1 -1
- package/dist/templates/extract-delegate-emitter.d.ts.map +1 -1
- package/dist/templates/extract-delegate-emitter.js +7 -10
- package/dist/templates/extract-delegate-emitter.js.map +1 -1
- package/dist/templates/extractor.d.ts.map +1 -1
- package/dist/templates/extractor.js +9 -11
- package/dist/templates/extractor.js.map +1 -1
- package/dist/templates/output-parser.d.ts.map +1 -1
- package/dist/templates/output-parser.js +8 -7
- package/dist/templates/output-parser.js.map +1 -1
- package/dist/templates/output-prompt.d.ts.map +1 -1
- package/dist/templates/output-prompt.js +6 -4
- package/dist/templates/output-prompt.js.map +1 -1
- package/dist/templates/render-helper.d.ts.map +1 -1
- package/dist/templates/render-helper.js +16 -8
- package/dist/templates/render-helper.js.map +1 -1
- package/package.json +6 -6
- package/src/generators/api-model.ts +5 -5
- package/src/generators/output-prompt-file.ts +3 -3
- package/src/generators/prompt-render-file.ts +3 -1
- package/src/generators/render-helper-file.ts +3 -3
- package/src/generators/template-doc-builder.ts +20 -6
- package/src/generators/template-payload-tree.ts +16 -11
- package/src/generators/trace-helper-file.ts +7 -2
- package/src/payload-codegen.ts +26 -15
- package/src/templates/extract-delegate-emitter.ts +7 -10
- package/src/templates/extractor.ts +9 -11
- package/src/templates/output-parser.ts +8 -8
- package/src/templates/output-prompt.ts +6 -5
- package/src/templates/render-helper.ts +16 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payload-codegen.js","sourceRoot":"","sources":["../src/payload-codegen.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,EAAE;AACF,+EAA+E;AAC/E,iFAAiF;AACjF,+EAA+E;AAC/E,sEAAsE;AACtE,EAAE;AACF,8EAA8E;AAC9E,yEAAyE;AACzE,+EAA+E;AAC/E,kDAAkD;AAElD,OAAO,EAGL,
|
|
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-delegate-emitter.d.ts","sourceRoot":"","sources":["../../src/templates/extract-delegate-emitter.ts"],"names":[],"mappings":"AAqBA,OAAO,EACL,KAAK,QAAQ,
|
|
1
|
+
{"version":3,"file":"extract-delegate-emitter.d.ts","sourceRoot":"","sources":["../../src/templates/extract-delegate-emitter.ts"],"names":[],"mappings":"AAqBA,OAAO,EACL,KAAK,QAAQ,EAMd,MAAM,0BAA0B,CAAC;AAwBlC,kFAAkF;AAClF,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,CAE/C;AAiCD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAKlG;AAuCD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,EAAE,EAAE,QAAQ,EACZ,IAAI,EAAE,QAAQ,EACd,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,MAAM,CAKR;AAED,uFAAuF;AACvF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEvD;AAwED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAyCrE;AAED,qGAAqG;AACrG,wBAAgB,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAmB/D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CAoDzD"}
|
|
@@ -18,24 +18,21 @@
|
|
|
18
18
|
// mappers read the assembled graph through a tiny readProp() helper that mirrors the MetaField
|
|
19
19
|
// getValue SPI (ValueObject.get(name) else plain-property access), so the emitted code stays
|
|
20
20
|
// self-sufficient and reflection-free.
|
|
21
|
-
import {
|
|
21
|
+
import { TYPE_FIELD, FIELD_SUBTYPE_OBJECT, FIELD_SUBTYPE_ENUM, FIELD_ATTR_OBJECT_REF, resolveObjectRef, } from "@metaobjectsdev/metadata";
|
|
22
22
|
import { fields, isArray, scalarKind, jsonStringLiteral } from "./fr010-field-mapping.js";
|
|
23
23
|
// ADR-0039: resolving — root has no super (children()==ownChildren()); a top-level object/template may itself extend, so resolve rather than work-by-accident.
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
// ADR-0042: resolveObjectRef gives package-local-before-root-level precedence for a bare ref, FQN-exact otherwise.
|
|
25
|
+
function findObject(root, name, referrerPkg = "") {
|
|
26
|
+
return resolveObjectRef(root, name, referrerPkg).node;
|
|
26
27
|
}
|
|
27
28
|
/** The @objectRef target VO for a nested-object field, or undefined when unresolvable. */
|
|
28
29
|
function refVo(field, root) {
|
|
29
30
|
const ref = field.attr(FIELD_ATTR_OBJECT_REF);
|
|
30
31
|
if (typeof ref !== "string")
|
|
31
32
|
return undefined;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
const sep = ref.lastIndexOf(PACKAGE_SEPARATOR);
|
|
36
|
-
if (sep >= 0)
|
|
37
|
-
return findObject(root, ref.slice(sep + PACKAGE_SEPARATOR.length));
|
|
38
|
-
return undefined;
|
|
33
|
+
// ADR-0042: resolve as authored — a bare ref binds the declaring VO's package,
|
|
34
|
+
// an FQN exactly; NO bare-tail fallback (never bind a same-named VO elsewhere).
|
|
35
|
+
return findObject(root, ref, field.parent?.package ?? field.parent?.fileDefaultPackage ?? "");
|
|
39
36
|
}
|
|
40
37
|
/** True iff the field is a nested object reference (field.object — distinct from the
|
|
41
38
|
* string-backed field.enum, which is treated as a scalar). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract-delegate-emitter.js","sourceRoot":"","sources":["../../src/templates/extract-delegate-emitter.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,EAAE;AACF,6FAA6F;AAC7F,EAAE;AACF,2FAA2F;AAC3F,+EAA+E;AAC/E,EAAE;AACF,oFAAoF;AACpF,EAAE;AACF,6FAA6F;AAC7F,8FAA8F;AAC9F,6FAA6F;AAC7F,2FAA2F;AAC3F,2FAA2F;AAC3F,EAAE;AACF,6FAA6F;AAC7F,0FAA0F;AAC1F,+FAA+F;AAC/F,6FAA6F;AAC7F,uCAAuC;AAEvC,OAAO,EAEL,
|
|
1
|
+
{"version":3,"file":"extract-delegate-emitter.js","sourceRoot":"","sources":["../../src/templates/extract-delegate-emitter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractor.d.ts","sourceRoot":"","sources":["../../src/templates/extractor.ts"],"names":[],"mappings":"AAsBA,OAAO,EACL,KAAK,QAAQ,
|
|
1
|
+
{"version":3,"file":"extractor.d.ts","sourceRoot":"","sources":["../../src/templates/extractor.ts"],"names":[],"mappings":"AAsBA,OAAO,EACL,KAAK,QAAQ,EAWd,MAAM,0BAA0B,CAAC;AAiPlC;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAmF5E"}
|
|
@@ -19,14 +19,15 @@
|
|
|
19
19
|
//
|
|
20
20
|
// NO registry / binding provider / factory; codegen walks the whole type graph statically (the
|
|
21
21
|
// same MetaObject walk the extract-schema / payload emitters use).
|
|
22
|
-
import {
|
|
22
|
+
import { TYPE_TEMPLATE, TEMPLATE_SUBTYPE_OUTPUT, FIELD_SUBTYPE_OBJECT, FIELD_SUBTYPE_ENUM, FIELD_ATTR_OBJECT_REF, FIELD_ATTR_REQUIRED, TEMPLATE_ATTR_PAYLOAD_REF, TEMPLATE_ATTR_FORMAT, resolveObjectRef, } from "@metaobjectsdev/metadata";
|
|
23
23
|
import { fields, isArray } from "./fr010-field-mapping.js";
|
|
24
24
|
import { mirrorName } from "./extract-delegate-emitter.js";
|
|
25
25
|
import { enumUnionAliasName } from "./inferred-types.js";
|
|
26
26
|
import { enumValues } from "../enum-meta.js";
|
|
27
27
|
// ADR-0039: resolving — root has no super (children()==ownChildren()); a top-level object/template may itself extend, so resolve rather than work-by-accident.
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
// ADR-0042: resolveObjectRef gives package-local-before-root-level precedence for a bare ref, FQN-exact otherwise.
|
|
29
|
+
function findObject(root, name, referrerPkg = "") {
|
|
30
|
+
return resolveObjectRef(root, name, referrerPkg).node;
|
|
30
31
|
}
|
|
31
32
|
// ADR-0039: resolving — root has no super (children()==ownChildren()); a top-level object/template may itself extend, so resolve rather than work-by-accident.
|
|
32
33
|
function findTemplate(root, name) {
|
|
@@ -37,13 +38,9 @@ function refVo(field, root) {
|
|
|
37
38
|
const ref = field.attr(FIELD_ATTR_OBJECT_REF);
|
|
38
39
|
if (typeof ref !== "string")
|
|
39
40
|
return undefined;
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
const sep = ref.lastIndexOf(PACKAGE_SEPARATOR);
|
|
44
|
-
if (sep >= 0)
|
|
45
|
-
return findObject(root, ref.slice(sep + PACKAGE_SEPARATOR.length));
|
|
46
|
-
return undefined;
|
|
41
|
+
// ADR-0042: resolve as authored — a bare ref binds the declaring VO's package,
|
|
42
|
+
// an FQN exactly; NO bare-tail fallback (never bind a same-named VO elsewhere).
|
|
43
|
+
return findObject(root, ref, field.parent?.package ?? field.parent?.fileDefaultPackage ?? "");
|
|
47
44
|
}
|
|
48
45
|
function isObjectField(field) {
|
|
49
46
|
return field.subType === FIELD_SUBTYPE_OBJECT;
|
|
@@ -254,7 +251,8 @@ export function renderExtractor(root, templateName) {
|
|
|
254
251
|
if (typeof payloadRef !== "string") {
|
|
255
252
|
throw new Error(`template "${templateName}" missing @payloadRef`);
|
|
256
253
|
}
|
|
257
|
-
|
|
254
|
+
// ADR-0042: a bare @payloadRef resolves in the template's package.
|
|
255
|
+
const vo = findObject(root, payloadRef, tmpl.package ?? tmpl.fileDefaultPackage ?? "");
|
|
258
256
|
if (!vo) {
|
|
259
257
|
throw new Error(`template "${templateName}" @payloadRef "${payloadRef}" not found in metadata root`);
|
|
260
258
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractor.js","sourceRoot":"","sources":["../../src/templates/extractor.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,EAAE;AACF,qGAAqG;AACrG,sGAAsG;AACtG,4CAA4C;AAC5C,EAAE;AACF,gGAAgG;AAChG,wGAAwG;AACxG,mGAAmG;AACnG,8FAA8F;AAC9F,yGAAyG;AACzG,6FAA6F;AAC7F,kGAAkG;AAClG,EAAE;AACF,sGAAsG;AACtG,2GAA2G;AAC3G,+FAA+F;AAC/F,mHAAmH;AACnH,EAAE;AACF,+FAA+F;AAC/F,mEAAmE;AAEnE,OAAO,EAGL,
|
|
1
|
+
{"version":3,"file":"extractor.js","sourceRoot":"","sources":["../../src/templates/extractor.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,EAAE;AACF,qGAAqG;AACrG,sGAAsG;AACtG,4CAA4C;AAC5C,EAAE;AACF,gGAAgG;AAChG,wGAAwG;AACxG,mGAAmG;AACnG,8FAA8F;AAC9F,yGAAyG;AACzG,6FAA6F;AAC7F,kGAAkG;AAClG,EAAE;AACF,sGAAsG;AACtG,2GAA2G;AAC3G,+FAA+F;AAC/F,mHAAmH;AACnH,EAAE;AACF,+FAA+F;AAC/F,mEAAmE;AAEnE,OAAO,EAGL,aAAa,EACb,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,+JAA+J;AAC/J,mHAAmH;AACnH,SAAS,UAAU,CAAC,IAAc,EAAE,IAAY,EAAE,WAAW,GAAG,EAAE;IAChE,OAAO,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC;AACxD,CAAC;AAED,+JAA+J;AAC/J,SAAS,YAAY,CAAC,IAAc,EAAE,IAAY;IAChD,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAClF,CAAC;AAED,0FAA0F;AAC1F,SAAS,KAAK,CAAC,KAAe,EAAE,IAAc;IAC5C,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC9C,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC9C,+EAA+E;IAC/E,gFAAgF;IAChF,OAAO,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,kBAAkB,IAAI,EAAE,CAAC,CAAC;AAChG,CAAC;AAED,SAAS,aAAa,CAAC,KAAe;IACpC,OAAO,KAAK,CAAC,OAAO,KAAK,oBAAoB,CAAC;AAChD,CAAC;AAED;;;;;GAKG;AACH,SAAS,SAAS,CAAC,KAAe,EAAE,SAAiB;IACnD,IAAI,KAAK,CAAC,OAAO,KAAK,kBAAkB;QAAE,OAAO,SAAS,CAAC;IAC3D,MAAM,MAAM,GAAG,UAAU,CAAC,KAAkB,CAAC,CAAC;IAC9C,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,OAAO,kBAAkB,CAAC,SAAS,EAAE,KAAkB,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,KAAe;IACtC,OAAO,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;AAClD,CAAC;AAED,2EAA2E;AAC3E,SAAS,UAAU,CAAC,EAAY;IAC9B,OAAO,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;AAC9B,CAAC;AAED;;;;;;GAMG;AACH,SAAS,SAAS,CAAC,KAAe,EAAE,IAAc,EAAE,SAAiB;IACnE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAExC,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAClC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,mFAAmF;YACnF,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,eAAe,CAAC;QAC5D,CAAC;QACD,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAC9B,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACnB,0FAA0F;YAC1F,uFAAuF;YACvF,IAAI,QAAQ;gBAAE,OAAO,KAAK,IAAI,gBAAgB,EAAE,OAAO,CAAC;YACxD,OAAO,KAAK,IAAI,QAAQ,IAAI,gBAAgB,EAAE,mBAAmB,CAAC;QACpE,CAAC;QACD,wBAAwB;QACxB,IAAI,QAAQ;YAAE,OAAO,GAAG,EAAE,MAAM,IAAI,IAAI,CAAC;QACzC,OAAO,KAAK,IAAI,MAAM,EAAE,MAAM,IAAI,eAAe,CAAC;IACpD,CAAC;IAED,6FAA6F;IAC7F,sFAAsF;IACtF,0FAA0F;IAC1F,iGAAiG;IACjG,oGAAoG;IACpG,EAAE;IACF,8FAA8F;IAC9F,6FAA6F;IAC7F,+FAA+F;IAC/F,iGAAiG;IACjG,wFAAwF;IACxF,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC1C,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACnB,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,MAAM,IAAI,8DAA8D,CAAC;YAC1F,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,QAAQ,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;QACxE,CAAC;QACD,MAAM,QAAQ,GAAG,KAAK,IAAI,uDAAuD,CAAC;QAClF,MAAM,OAAO,GAAG,KAAK,IAAI,0BAA0B,QAAQ,EAAE,CAAC;QAC9D,OAAO,KAAK,KAAK,SAAS;YACxB,CAAC,CAAC,KAAK,IAAI,2BAA2B,QAAQ,QAAQ,KAAK,IAAI;YAC/D,CAAC,CAAC,OAAO,CAAC;IACd,CAAC;IAED,8EAA8E;IAC9E,gGAAgG;IAChG,EAAE;IACF,6FAA6F;IAC7F,+FAA+F;IAC/F,gGAAgG;IAChG,6EAA6E;IAC7E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,qBAAqB,KAAK,cAAc,CAAC;IAClG,CAAC;IACD,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,eAAe,CAAC;AAC5D,CAAC;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAAC,SAAmB,EAAE,IAAc,EAAE,UAAkB;IAC1E,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,UAAU,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IACnD,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,UAAU,CACjB,EAAY,EACZ,IAAc,EACd,IAAiB,EACjB,GAAa,EACb,cAAuB;IAEvB,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;QAAE,OAAO;IAC9B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAElB,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;IAC1B,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC;IACvB,MAAM,GAAG,GAAG,cAAc,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxF,GAAG,CAAC,IAAI,CACN;QACE,8BAA8B,GAAG,+BAA+B,MAAM,2BAA2B;QACjG,YAAY,EAAE,OAAO,GAAG,MAAM,MAAM,IAAI;QACxC,YAAY;QACZ,GAAG,OAAO;QACV,MAAM;QACN,GAAG;KACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;QAC3B,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAC9B,IAAI,MAAM,KAAK,SAAS;gBAAE,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;AACH,CAAC;AAaD;;;;;;;;GAQG;AACH,SAAS,sBAAsB,CAAC,EAAY,EAAE,IAAc;IAC1D,MAAM,MAAM,GAAyB,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,MAAM,KAAK,GAAG,CAAC,GAAa,EAAE,EAAE;QAC9B,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO;QACjC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrB,wEAAwE;QACxE,MAAM,KAAK,GAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjD,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACrB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACzC,gFAAgF;QAChF,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBAC9B,IAAI,MAAM,KAAK,SAAS;oBAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gGAAgG;AAChG,SAAS,oBAAoB,CAAC,EAAY,EAAE,IAAc,EAAE,UAAkB;IAC5E,MAAM,GAAG,GAAa,CAAC,UAAU,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,CAAC,GAAa,EAAE,EAAE;QAC9B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBAC9B,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACtB,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC7B,KAAK,CAAC,MAAM,CAAC,CAAC;gBAChB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,IAAc,EAAE,YAAoB;IAClE,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,aAAa,YAAY,8BAA8B,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,KAAK,uBAAuB,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,aAAa,YAAY,4CAA4C,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;IACzG,CAAC;IACD,oFAAoF;IACpF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACxD,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,aAAa,YAAY,uBAAuB,CAAC,CAAC;IACpE,CAAC;IACD,mEAAmE;IACnE,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;IACvF,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,aAAa,YAAY,kBAAkB,UAAU,8BAA8B,CAAC,CAAC;IACvG,CAAC;IACD,oFAAoF;IACpF,MAAM,MAAM,GAAG,CAAE,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAwB,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;IACjG,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CACb,aAAa,YAAY,cAAc,MAAM,sDAAsD,CACpG,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,2EAA2E;IACvG,MAAM,UAAU,GAAG,GAAG,YAAY,WAAW,CAAC;IAC9C,MAAM,sBAAsB,GAAG,iBAAiB,YAAY,YAAY,CAAC,CAAC,qDAAqD;IAC/H,MAAM,oBAAoB,GAAG,iBAAiB,YAAY,EAAE,CAAC,CAAC,4CAA4C;IAC1G,MAAM,WAAW,GAAG,UAAU,YAAY,EAAE,CAAC;IAC7C,MAAM,UAAU,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;IAElC,MAAM,aAAa,GAAG,sBAAsB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,oBAAoB,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IAElD,6EAA6E;IAC7E,8EAA8E;IAC9E,MAAM,cAAc,GAAG,aAAa;SACjC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,OAAO,CAAC;SAC5E,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,OAAO,GACX,GAAG,WAAW,4BAA4B,CAAC;IAE7C,OAAO,CACL,iCAAiC,YAAY,MAAM;QACnD,MAAM;QACN,gDAAgD,UAAU,8BAA8B;QACxF,gGAAgG;QAChG,gGAAgG;QAChG,IAAI;QACJ,eAAe,sBAAsB,aAAa,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,YAAY,gBAAgB;QAC5H,GAAG,cAAc,IAAI;QACrB,6DAA6D;QAC7D,mEAAmE;QACnE,IAAI;QACJ,OAAO;QACP,8BAA8B,UAAU,gEAAgE;QACxG,mBAAmB,UAAU,qEAAqE;QAClG,gDAAgD;QAChD,MAAM;QACN,iFAAiF;QACjF,OAAO;QACP,mBAAmB,WAAW,mCAAmC,UAAU,MAAM;QACjF,eAAe,sBAAsB,iBAAiB;QACtD,uCAAuC;QACvC,uBAAuB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,2CAA2C;QACzF,OAAO;QACP,YAAY,UAAU,cAAc;QACpC,KAAK;QACL,IAAI;QACJ,OAAO;QACP,kBAAkB,UAAU,qEAAqE;QACjG,2FAA2F;QAC3F,OAAO;QACP,mBAAmB,oBAAoB,oDAAoD,UAAU,OAAO;QAC5G,YAAY,sBAAsB,iBAAiB;QACnD,KAAK;QACL,IAAI;QACJ,GAAG,OAAO,IAAI,CACf,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output-parser.d.ts","sourceRoot":"","sources":["../../src/templates/output-parser.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,KAAK,QAAQ,
|
|
1
|
+
{"version":3,"file":"output-parser.d.ts","sourceRoot":"","sources":["../../src/templates/output-parser.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,KAAK,QAAQ,EASd,MAAM,0BAA0B,CAAC;AAqElC;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAsJ/E"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
// via `z.infer<typeof Schema>` and exports it as `<TemplateName>Data`. Consumers
|
|
9
9
|
// wiring `promptRender()` get a structurally identical payload-VO interface in
|
|
10
10
|
// `prompts.ts`; either type can be used interchangeably with parse results.
|
|
11
|
-
import {
|
|
11
|
+
import { TYPE_FIELD, TYPE_TEMPLATE, TEMPLATE_SUBTYPE_OUTPUT, FIELD_SUBTYPE_OBJECT, FIELD_ATTR_OBJECT_REF, TEMPLATE_ATTR_PAYLOAD_REF, TEMPLATE_ATTR_FORMAT, resolveObjectRef, } from "@metaobjectsdev/metadata";
|
|
12
12
|
import { nestedMirrorInterfaces, nestedMappers, rootMapperName, delegateHelpers, usedHelpers, hasNested, } from "./extract-delegate-emitter.js";
|
|
13
13
|
const SCALAR_ZOD = {
|
|
14
14
|
string: "z.string()",
|
|
@@ -22,10 +22,9 @@ const SCALAR_ZOD = {
|
|
|
22
22
|
boolean: "z.boolean()",
|
|
23
23
|
};
|
|
24
24
|
// ADR-0039: resolving — root has no super (children()==ownChildren()); a top-level object/template may itself extend, so resolve rather than work-by-accident.
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return root.children().find((c) => c.type === TYPE_OBJECT && refMatchesObject(c, name));
|
|
25
|
+
// ADR-0042: resolveObjectRef gives package-local-before-root-level precedence for a bare ref, FQN-exact otherwise.
|
|
26
|
+
function findObject(root, name, referrerPkg = "") {
|
|
27
|
+
return resolveObjectRef(root, name, referrerPkg).node;
|
|
29
28
|
}
|
|
30
29
|
// 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
30
|
function findTemplate(root, name) {
|
|
@@ -46,7 +45,8 @@ function fieldZod(field, root, seen, depth) {
|
|
|
46
45
|
base = "z.unknown()";
|
|
47
46
|
}
|
|
48
47
|
else {
|
|
49
|
-
|
|
48
|
+
// ADR-0042: a bare nested @objectRef resolves in the declaring VO's package.
|
|
49
|
+
const inner = findObject(root, refName, field.parent?.package ?? field.parent?.fileDefaultPackage ?? "");
|
|
50
50
|
base = inner ? renderObjectSchema(inner, root, new Set(seen).add(refName), depth + 1) : "z.unknown()";
|
|
51
51
|
}
|
|
52
52
|
}
|
|
@@ -85,7 +85,8 @@ export function renderOutputParser(root, templateName) {
|
|
|
85
85
|
if (typeof payloadRef !== "string") {
|
|
86
86
|
throw new Error(`template "${templateName}" missing @payloadRef`);
|
|
87
87
|
}
|
|
88
|
-
|
|
88
|
+
// ADR-0042: a bare @payloadRef resolves in the template's package.
|
|
89
|
+
const vo = findObject(root, payloadRef, tmpl.package ?? tmpl.fileDefaultPackage ?? "");
|
|
89
90
|
if (!vo) {
|
|
90
91
|
throw new Error(`template "${templateName}" @payloadRef "${payloadRef}" not found in metadata root`);
|
|
91
92
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output-parser.js","sourceRoot":"","sources":["../../src/templates/output-parser.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,EAAE;AACF,6EAA6E;AAC7E,iFAAiF;AACjF,sEAAsE;AACtE,mFAAmF;AACnF,kFAAkF;AAClF,iFAAiF;AACjF,+EAA+E;AAC/E,4EAA4E;AAE5E,OAAO,EAEL,
|
|
1
|
+
{"version":3,"file":"output-parser.js","sourceRoot":"","sources":["../../src/templates/output-parser.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,EAAE;AACF,6EAA6E;AAC7E,iFAAiF;AACjF,sEAAsE;AACtE,mFAAmF;AACnF,kFAAkF;AAClF,iFAAiF;AACjF,+EAA+E;AAC/E,4EAA4E;AAE5E,OAAO,EAEL,UAAU,EACV,aAAa,EACb,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EACzB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,cAAc,EACd,eAAe,EACf,WAAW,EACX,SAAS,GACV,MAAM,+BAA+B,CAAC;AAEvC,MAAM,UAAU,GAA2B;IACzC,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,YAAY;IACnB,GAAG,EAAE,kBAAkB;IACvB,KAAK,EAAE,kBAAkB;IACzB,IAAI,EAAE,kBAAkB;IACxB,IAAI,EAAE,kBAAkB;IACxB,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,YAAY;IACnB,OAAO,EAAE,aAAa;CACvB,CAAC;AAEF,+JAA+J;AAC/J,mHAAmH;AACnH,SAAS,UAAU,CAAC,IAAc,EAAE,IAAY,EAAE,WAAW,GAAG,EAAE;IAChE,OAAO,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC;AACxD,CAAC;AAED,+JAA+J;AAC/J,SAAS,YAAY,CAAC,IAAc,EAAE,IAAY;IAChD,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAClF,CAAC;AAED,4EAA4E;AAC5E,SAAS,QAAQ,CAAC,KAAe,EAAE,IAAc,EAAE,IAAyB,EAAE,KAAa;IACzF,oEAAoE;IACpE,MAAM,OAAO,GAAG,KAAK,CAAC,eAAe,EAAE,CAAC;IACxC,IAAI,IAAY,CAAC;IACjB,IAAI,KAAK,CAAC,OAAO,KAAK,oBAAoB,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAClD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,IAAI,GAAG,aAAa,CAAC;QACvB,CAAC;aAAM,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,2FAA2F;YAC3F,IAAI,GAAG,aAAa,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,6EAA6E;YAC7E,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,kBAAkB,IAAI,EAAE,CAAC,CAAC;YACzG,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QACxG,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC;IACpD,CAAC;IACD,OAAO,OAAO,CAAC,CAAC,CAAC,WAAW,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC;AAED;;;;0CAI0C;AAC1C,SAAS,kBAAkB,CAAC,EAAY,EAAE,IAAc,EAAE,IAAyB,EAAE,KAAa;IAChG,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAClE,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/F,OAAO,eAAe,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,WAAW,IAAI,CAAC;AAC7D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAc,EAAE,YAAoB;IACrE,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,aAAa,YAAY,8BAA8B,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,KAAK,uBAAuB,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,aAAa,YAAY,4CAA4C,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;IACzG,CAAC;IACD,oFAAoF;IACpF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACxD,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,aAAa,YAAY,uBAAuB,CAAC,CAAC;IACpE,CAAC;IACD,mEAAmE;IACnE,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;IACvF,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,aAAa,YAAY,kBAAkB,UAAU,8BAA8B,CAAC,CAAC;IACvG,CAAC;IAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,GAAG,YAAY,QAAQ,CAAC;IAC3C,MAAM,QAAQ,GAAG,GAAG,YAAY,MAAM,CAAC;IACvC,MAAM,SAAS,GAAG,GAAG,YAAY,iBAAiB,CAAC;IACnD,MAAM,SAAS,GAAG,QAAQ,YAAY,EAAE,CAAC;IACzC,MAAM,aAAa,GAAG,YAAY,YAAY,EAAE,CAAC;IAEjD,mFAAmF;IACnF,uFAAuF;IACvF,8EAA8E;IAC9E,oFAAoF;IACpF,MAAM,MAAM,GAAI,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAwB,IAAI,MAAM,CAAC;IACjF,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAChC,MAAM,kBAAkB,GAAG,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,KAAK,CAAC;IAEzD,MAAM,UAAU,GAAG,SAAS,UAAU,MAAM,MAAM;;cAEtC,QAAQ,qBAAqB,UAAU;cACvC,SAAS;;;wCAGiB,QAAQ;;;kBAG9B,SAAS,mBAAmB,QAAQ;WAC3C,UAAU;;;;;;;kBAOH,aAAa;;4BAEH,QAAQ,iCAAiC,SAAS;;;;;;;;;;mBAU3D,UAAU;;;;;CAK5B,CAAC;IAEA,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,OAAO,+BAA+B,UAAU,EAAE,CAAC;IACrD,CAAC;IAED,0DAA0D;IAC1D,MAAM,aAAa,GAAG,GAAG,YAAY,WAAW,CAAC;IACjD,MAAM,sBAAsB,GAAG,iBAAiB,YAAY,YAAY,CAAC;IACzE,MAAM,eAAe,GAAG,GAAG,YAAY,CAAC,WAAW,EAAE,eAAe,CAAC;IACrE,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC;IAEjF,0FAA0F;IAC1F,4FAA4F;IAC5F,4FAA4F;IAC5F,qEAAqE;IACrE,MAAM,WAAW,GAAG,sBAAsB,CAAC,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;IAEpE,8FAA8F;IAC9F,4DAA4D;IAC5D,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,qBAAqB,EAAE,uBAAuB,CAAC,CAAC;IAEjF,iFAAiF;IACjF,yFAAyF;IACzF,8FAA8F;IAC9F,gGAAgG;IAChG,+FAA+F;IAC/F,4FAA4F;IAC5F,EAAE;IACF,8FAA8F;IAC9F,8FAA8F;IAC9F,0FAA0F;IAC1F,MAAM,WAAW,GAAG,EAAE,CAAC,IAAI,CAAC;IAC5B,MAAM,UAAU,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;IAChD,KAAK,SAAS,CAAC;IACf,MAAM,UAAU,GAAG;;eAEN,eAAe,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;;EAE7D,WAAW;;EAEX,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,CAAC;;EAElD,eAAe,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;;;;;;;OAOjC,aAAa;;;uBAGG,WAAW;;kBAEhB,sBAAsB;;;;sBAIlB,aAAa;+BACJ,eAAe;;wBAEtB,sBAAsB,iBAAiB,eAAe;;4CAElC,UAAU;mBACnC,UAAU;;CAE5B,CAAC;IAEA,8FAA8F;IAC9F,MAAM,cAAc,GAAG,6DAA6D,CAAC;IACrF,MAAM,aAAa,GAAG,+DAA+D,CAAC;IAEtF,OAAO,CACL,4BAA4B;QAC5B,eAAe,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,uCAAuC;QACjF,cAAc;QACd,aAAa;QACb,IAAI;QACJ,GAAG,UAAU,IAAI;QACjB,GAAG,UAAU,EAAE,CAChB,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output-prompt.d.ts","sourceRoot":"","sources":["../../src/templates/output-prompt.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,KAAK,QAAQ,
|
|
1
|
+
{"version":3,"file":"output-prompt.d.ts","sourceRoot":"","sources":["../../src/templates/output-prompt.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,KAAK,QAAQ,EAMd,MAAM,0BAA0B,CAAC;AAclC,iGAAiG;AACjG,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAI9D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAgD/E"}
|
|
@@ -9,11 +9,12 @@
|
|
|
9
9
|
//
|
|
10
10
|
// Mirrors the C# OutputPromptGenerator + OutputFormatSpecEmitter (split into a
|
|
11
11
|
// generator factory + this pure renderer, matching the TS output-parser shape).
|
|
12
|
-
import {
|
|
12
|
+
import { TYPE_TEMPLATE, TEMPLATE_SUBTYPE_OUTPUT, TEMPLATE_ATTR_PAYLOAD_REF, TEMPLATE_ATTR_FORMAT, resolveObjectRef, } from "@metaobjectsdev/metadata";
|
|
13
13
|
import { specLiteral } from "./output-format-spec-emitter.js";
|
|
14
14
|
// ADR-0039: resolving — root has no super (children()==ownChildren()); a top-level object/template may itself extend, so resolve rather than work-by-accident.
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
// ADR-0042: resolveObjectRef gives package-local-before-root-level precedence for a bare ref, FQN-exact otherwise.
|
|
16
|
+
function findObject(root, name, referrerPkg = "") {
|
|
17
|
+
return resolveObjectRef(root, name, referrerPkg).node;
|
|
17
18
|
}
|
|
18
19
|
// ADR-0039: resolving — root has no super (children()==ownChildren()); a top-level object/template may itself extend, so resolve rather than work-by-accident.
|
|
19
20
|
function findTemplate(root, name) {
|
|
@@ -46,7 +47,8 @@ export function renderOutputPrompt(root, templateName) {
|
|
|
46
47
|
if (typeof payloadRef !== "string") {
|
|
47
48
|
throw new Error(`template "${templateName}" missing @payloadRef`);
|
|
48
49
|
}
|
|
49
|
-
|
|
50
|
+
// ADR-0042: a bare @payloadRef resolves in the template's package.
|
|
51
|
+
const vo = findObject(root, payloadRef, tmpl.package ?? tmpl.fileDefaultPackage ?? "");
|
|
50
52
|
if (!vo) {
|
|
51
53
|
throw new Error(`template "${templateName}" @payloadRef "${payloadRef}" not found in metadata root`);
|
|
52
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output-prompt.js","sourceRoot":"","sources":["../../src/templates/output-prompt.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,EAAE;AACF,gFAAgF;AAChF,+EAA+E;AAC/E,kFAAkF;AAClF,mFAAmF;AACnF,mFAAmF;AACnF,2EAA2E;AAC3E,EAAE;AACF,+EAA+E;AAC/E,gFAAgF;AAEhF,OAAO,EAEL,
|
|
1
|
+
{"version":3,"file":"output-prompt.js","sourceRoot":"","sources":["../../src/templates/output-prompt.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,EAAE;AACF,gFAAgF;AAChF,+EAA+E;AAC/E,kFAAkF;AAClF,mFAAmF;AACnF,mFAAmF;AACnF,2EAA2E;AAC3E,EAAE;AACF,+EAA+E;AAC/E,gFAAgF;AAEhF,OAAO,EAEL,aAAa,EACb,uBAAuB,EACvB,yBAAyB,EACzB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,+JAA+J;AAC/J,mHAAmH;AACnH,SAAS,UAAU,CAAC,IAAc,EAAE,IAAY,EAAE,WAAW,GAAG,EAAE;IAChE,OAAO,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC;AACxD,CAAC;AAED,+JAA+J;AAC/J,SAAS,YAAY,CAAC,IAAc,EAAE,IAAY;IAChD,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAClF,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,sBAAsB,CAAC,IAAc;IACnD,oFAAoF;IACpF,MAAM,CAAC,GAAG,CAAE,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAwB,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5F,OAAO,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,KAAK,CAAC;AACrC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAc,EAAE,YAAoB;IACrE,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,aAAa,YAAY,8BAA8B,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,KAAK,uBAAuB,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,aAAa,YAAY,4CAA4C,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;IACzG,CAAC;IACD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,aAAa,YAAY,gDAAgD,CAAC,CAAC;IAC7F,CAAC;IACD,oFAAoF;IACpF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACxD,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,aAAa,YAAY,uBAAuB,CAAC,CAAC;IACpE,CAAC;IACD,mEAAmE;IACnE,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;IACvF,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,aAAa,YAAY,kBAAkB,UAAU,8BAA8B,CAAC,CAAC;IACvG,CAAC;IAED,uEAAuE;IACvE,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,GAAG,YAAY,YAAY,CAAC;IAC7C,MAAM,MAAM,GAAG,SAAS,YAAY,QAAQ,CAAC;IAE7C,OAAO;;;;;;;;;QASD,QAAQ,wBAAwB,IAAI;;;oDAGQ,YAAY;;;;;kBAK9C,MAAM;8BACM,QAAQ;;CAErC,CAAC;AACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-helper.d.ts","sourceRoot":"","sources":["../../src/templates/render-helper.ts"],"names":[],"mappings":"AA2BA,OAAO,EACL,KAAK,QAAQ,
|
|
1
|
+
{"version":3,"file":"render-helper.d.ts","sourceRoot":"","sources":["../../src/templates/render-helper.ts"],"names":[],"mappings":"AA2BA,OAAO,EACL,KAAK,QAAQ,EAiBd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAGL,KAAK,QAAQ,EAGd,MAAM,wBAAwB,CAAC;AAoFhC;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,QAAQ,EACd,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,QAAQ,GACjB,MAAM,CA6GR"}
|
|
@@ -24,11 +24,12 @@
|
|
|
24
24
|
// depend on the cli package; the walk is the same as cli's payload-field-tree).
|
|
25
25
|
// • PayloadField — the verify() field-tree shape; serialized into the emitted
|
|
26
26
|
// `verify:` literal so render()'s runtime drift check runs too.
|
|
27
|
-
import {
|
|
27
|
+
import { TYPE_FIELD, TYPE_TEMPLATE, FIELD_SUBTYPE_OBJECT, FIELD_ATTR_OBJECT_REF, TEMPLATE_SUBTYPE_OUTPUT, TEMPLATE_ATTR_PAYLOAD_REF, TEMPLATE_ATTR_TEXT_REF, TEMPLATE_ATTR_FORMAT, TEMPLATE_ATTR_MAX_CHARS, TEMPLATE_ATTR_KIND, TEMPLATE_KIND_EMAIL, TEMPLATE_KIND_DEFAULT, TEMPLATE_ATTR_SUBJECT_REF, TEMPLATE_ATTR_HTML_BODY_REF, TEMPLATE_ATTR_TEXT_BODY_REF, resolveObjectRef, } from "@metaobjectsdev/metadata";
|
|
28
28
|
import { verify, ERR_REQUIRED_SLOT_UNUSED, } from "@metaobjectsdev/render";
|
|
29
29
|
// ADR-0039: resolving — root has no super (children()==ownChildren()); a top-level object/template may itself extend, so resolve rather than work-by-accident.
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
// ADR-0042: package-local — resolveObjectRef binds a bare @objectRef in `referrerPkg` first (else root-level), an FQN exactly.
|
|
31
|
+
function findObject(root, name, referrerPkg) {
|
|
32
|
+
return resolveObjectRef(root, name, referrerPkg).node;
|
|
32
33
|
}
|
|
33
34
|
// ADR-0039: resolving — root has no super (children()==ownChildren()); a top-level object/template may itself extend, so resolve rather than work-by-accident.
|
|
34
35
|
function findTemplate(root, name) {
|
|
@@ -42,19 +43,24 @@ function findTemplate(root, name) {
|
|
|
42
43
|
* the same small walk lives here against the metadata constants codegen-ts
|
|
43
44
|
* already imports.
|
|
44
45
|
*/
|
|
45
|
-
function derivePayloadFieldTree(root, voName, seen = new Set()) {
|
|
46
|
+
function derivePayloadFieldTree(root, voName, referrerPkg, seen = new Set()) {
|
|
46
47
|
if (seen.has(voName))
|
|
47
48
|
return [];
|
|
48
|
-
const vo = findObject(root, voName);
|
|
49
|
+
const vo = findObject(root, voName, referrerPkg);
|
|
49
50
|
if (!vo)
|
|
50
51
|
return [];
|
|
52
|
+
// ADR-0042: a nested @objectRef resolves in the FIELD's own declaring package
|
|
53
|
+
// (fallback below), which differs from this VO's when the field is inherited via
|
|
54
|
+
// extends from an abstract VO elsewhere.
|
|
55
|
+
const voPkg = vo.package ?? vo.fileDefaultPackage ?? "";
|
|
51
56
|
const nextSeen = new Set(seen).add(voName);
|
|
52
57
|
const fields = [];
|
|
53
58
|
for (const f of vo.children().filter((c) => c.type === TYPE_FIELD)) {
|
|
54
59
|
if (f.subType === FIELD_SUBTYPE_OBJECT) {
|
|
55
60
|
const ref = f.attr(FIELD_ATTR_OBJECT_REF);
|
|
56
61
|
if (typeof ref === "string") {
|
|
57
|
-
|
|
62
|
+
const fieldPkg = f.parent?.package ?? f.parent?.fileDefaultPackage ?? voPkg;
|
|
63
|
+
fields.push({ name: f.name, fields: derivePayloadFieldTree(root, ref, fieldPkg, nextSeen) });
|
|
58
64
|
continue;
|
|
59
65
|
}
|
|
60
66
|
}
|
|
@@ -106,11 +112,13 @@ export function renderRenderHelper(root, templateName, provider) {
|
|
|
106
112
|
if (typeof payloadRef !== "string") {
|
|
107
113
|
throw new Error(`template "${templateName}" missing @payloadRef`);
|
|
108
114
|
}
|
|
109
|
-
|
|
115
|
+
// ADR-0042: a bare @payloadRef resolves in the template's package.
|
|
116
|
+
const tmplPkg = tmpl.package ?? tmpl.fileDefaultPackage ?? "";
|
|
117
|
+
const vo = findObject(root, payloadRef, tmplPkg);
|
|
110
118
|
if (!vo) {
|
|
111
119
|
throw new Error(`template "${templateName}" @payloadRef "${payloadRef}" not found in metadata root`);
|
|
112
120
|
}
|
|
113
|
-
const fields = derivePayloadFieldTree(root, payloadRef);
|
|
121
|
+
const fields = derivePayloadFieldTree(root, payloadRef, tmplPkg);
|
|
114
122
|
const ft = fieldTreeLiteral(fields);
|
|
115
123
|
const fnName = `render${templateName}`;
|
|
116
124
|
// ADR-0039: resolving — a template may inherit its @* refs/format/kind via extends.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-helper.js","sourceRoot":"","sources":["../../src/templates/render-helper.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,EAAE;AACF,qFAAqF;AACrF,gFAAgF;AAChF,4DAA4D;AAC5D,EAAE;AACF,+BAA+B;AAC/B,qEAAqE;AACrE,0EAA0E;AAC1E,wEAAwE;AACxE,EAAE;AACF,+EAA+E;AAC/E,gFAAgF;AAChF,0EAA0E;AAC1E,iFAAiF;AACjF,4EAA4E;AAC5E,gFAAgF;AAChF,0CAA0C;AAC1C,EAAE;AACF,+BAA+B;AAC/B,qEAAqE;AACrE,6DAA6D;AAC7D,+EAA+E;AAC/E,oFAAoF;AACpF,gFAAgF;AAChF,oEAAoE;AAEpE,OAAO,EAEL,
|
|
1
|
+
{"version":3,"file":"render-helper.js","sourceRoot":"","sources":["../../src/templates/render-helper.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metaobjectsdev/codegen-ts",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.20",
|
|
4
4
|
"description": "TypeScript codegen engine for MetaObjects — emits Drizzle, Zod, and Fastify artifacts.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -111,8 +111,8 @@
|
|
|
111
111
|
"access": "public"
|
|
112
112
|
},
|
|
113
113
|
"dependencies": {
|
|
114
|
-
"@metaobjectsdev/metadata": "0.15.
|
|
115
|
-
"@metaobjectsdev/render": "0.15.
|
|
114
|
+
"@metaobjectsdev/metadata": "0.15.20",
|
|
115
|
+
"@metaobjectsdev/render": "0.15.20",
|
|
116
116
|
"@biomejs/js-api": "^0.7.0",
|
|
117
117
|
"@biomejs/wasm-nodejs": "^1.9.4",
|
|
118
118
|
"ts-poet": "^6.10.0"
|
|
@@ -123,9 +123,9 @@
|
|
|
123
123
|
},
|
|
124
124
|
"devDependencies": {
|
|
125
125
|
"@biomejs/biome": "^1.9.0",
|
|
126
|
-
"@metaobjectsdev/codegen-ts-react": "0.15.
|
|
127
|
-
"@metaobjectsdev/migrate-ts": "0.15.
|
|
128
|
-
"@metaobjectsdev/runtime-ts": "0.15.
|
|
126
|
+
"@metaobjectsdev/codegen-ts-react": "0.15.20",
|
|
127
|
+
"@metaobjectsdev/migrate-ts": "0.15.20",
|
|
128
|
+
"@metaobjectsdev/runtime-ts": "0.15.20",
|
|
129
129
|
"bun-types": "latest",
|
|
130
130
|
"drizzle-orm": "^0.36.0",
|
|
131
131
|
"hono": "^4.6.0",
|
|
@@ -95,7 +95,7 @@ import {
|
|
|
95
95
|
TEMPLATE_KIND_DEFAULT,
|
|
96
96
|
TYPE_SOURCE,
|
|
97
97
|
SOURCE_ATTR_PARAMETER_REF,
|
|
98
|
-
|
|
98
|
+
resolveObjectRef,
|
|
99
99
|
} from "@metaobjectsdev/metadata";
|
|
100
100
|
import {
|
|
101
101
|
findByIdFnName,
|
|
@@ -759,10 +759,10 @@ function callableArgsRef(obj: MetaObject, root: MetaRoot): string | undefined {
|
|
|
759
759
|
if (typeof ref === "string" && ref !== "") {
|
|
760
760
|
// Only count it when it resolves to a value object (the template's guard).
|
|
761
761
|
// ADR-0039: resolving — root has no super (children()==ownChildren()).
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
if (vo
|
|
762
|
+
// ADR-0042: a bare @parameterRef resolves in the callable entity's package.
|
|
763
|
+
const referrerPkg = obj.package ?? obj.fileDefaultPackage ?? "";
|
|
764
|
+
const vo = resolveObjectRef(root, ref, referrerPkg).node;
|
|
765
|
+
if (vo?.subType === OBJECT_SUBTYPE_VALUE) return ref;
|
|
766
766
|
}
|
|
767
767
|
}
|
|
768
768
|
return undefined;
|
|
@@ -13,11 +13,10 @@
|
|
|
13
13
|
// generators: [..., outputPrompt({ outDir: "src/generated/outputs" })]
|
|
14
14
|
|
|
15
15
|
import {
|
|
16
|
-
TYPE_OBJECT,
|
|
17
16
|
TYPE_TEMPLATE,
|
|
18
17
|
TEMPLATE_SUBTYPE_OUTPUT,
|
|
19
18
|
TEMPLATE_ATTR_PAYLOAD_REF,
|
|
20
|
-
|
|
19
|
+
resolveObjectRef,
|
|
21
20
|
} from "@metaobjectsdev/metadata";
|
|
22
21
|
import {
|
|
23
22
|
type EmittedFile,
|
|
@@ -52,7 +51,8 @@ export const outputPrompt = function outputPrompt(opts?: OutputPromptOpts): Gene
|
|
|
52
51
|
// ADR-0039: resolving — a template may inherit its @* refs/format/kind via extends.
|
|
53
52
|
const payloadRef = t.attr(TEMPLATE_ATTR_PAYLOAD_REF);
|
|
54
53
|
if (typeof payloadRef !== "string") continue;
|
|
55
|
-
|
|
54
|
+
// ADR-0042: a bare @payloadRef resolves in the template's package.
|
|
55
|
+
const vo = resolveObjectRef(root, payloadRef, t.package ?? t.fileDefaultPackage ?? "").node;
|
|
56
56
|
if (!vo) continue;
|
|
57
57
|
files.push({
|
|
58
58
|
path: `${dirPrefix}${t.name}.prompt.ts`,
|
|
@@ -61,9 +61,11 @@ export const promptRender = function promptRender(opts?: PromptRenderOpts): Gene
|
|
|
61
61
|
|
|
62
62
|
// Emit payload interfaces with a single shared dedupe set so a lens
|
|
63
63
|
// referenced by multiple payloads appears exactly once.
|
|
64
|
+
// ADR-0042: pass each payload's FQN (resolutionKey) so a bare name never
|
|
65
|
+
// mis-binds — payloads may span packages, so no single referrerPkg fits.
|
|
64
66
|
const payloadInterfaces = generatePayloadInterfacesBatch(
|
|
65
67
|
ctx.loadedRoot,
|
|
66
|
-
payloads.map((p) => p.
|
|
68
|
+
payloads.map((p) => p.resolutionKey()),
|
|
67
69
|
);
|
|
68
70
|
if (payloadInterfaces.length > 0) {
|
|
69
71
|
parts.push(payloadInterfaces);
|
|
@@ -16,11 +16,10 @@
|
|
|
16
16
|
// generators: [..., renderHelper({ outDir: "src/generated/render" })]
|
|
17
17
|
|
|
18
18
|
import {
|
|
19
|
-
TYPE_OBJECT,
|
|
20
19
|
TYPE_TEMPLATE,
|
|
21
20
|
TEMPLATE_SUBTYPE_OUTPUT,
|
|
22
21
|
TEMPLATE_ATTR_PAYLOAD_REF,
|
|
23
|
-
|
|
22
|
+
resolveObjectRef,
|
|
24
23
|
} from "@metaobjectsdev/metadata";
|
|
25
24
|
import {
|
|
26
25
|
type EmittedFile,
|
|
@@ -58,7 +57,8 @@ export const renderHelper = function renderHelper(opts?: RenderHelperOpts): Gene
|
|
|
58
57
|
// ADR-0039: resolving — a template may inherit its @* refs/format/kind via extends.
|
|
59
58
|
const payloadRef = t.attr(TEMPLATE_ATTR_PAYLOAD_REF);
|
|
60
59
|
if (typeof payloadRef !== "string") continue;
|
|
61
|
-
|
|
60
|
+
// ADR-0042: a bare @payloadRef resolves in the template's package.
|
|
61
|
+
const vo = resolveObjectRef(root, payloadRef, t.package ?? t.fileDefaultPackage ?? "").node;
|
|
62
62
|
if (!vo) continue;
|
|
63
63
|
files.push({
|
|
64
64
|
// renderRenderHelper THROWS (fails codegen) on a mustache↔VO drift —
|