@metaobjectsdev/codegen-ts 0.7.0-rc.9 → 0.8.0-rc.1

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 (108) hide show
  1. package/dist/generator.d.ts +9 -0
  2. package/dist/generator.d.ts.map +1 -1
  3. package/dist/generator.js.map +1 -1
  4. package/dist/generators/docs-data-builder.d.ts +16 -0
  5. package/dist/generators/docs-data-builder.d.ts.map +1 -0
  6. package/dist/generators/docs-data-builder.js +381 -0
  7. package/dist/generators/docs-data-builder.js.map +1 -0
  8. package/dist/generators/docs-data.d.ts +98 -0
  9. package/dist/generators/docs-data.d.ts.map +1 -0
  10. package/dist/generators/docs-data.js +43 -0
  11. package/dist/generators/docs-data.js.map +1 -0
  12. package/dist/generators/docs-file.d.ts +8 -0
  13. package/dist/generators/docs-file.d.ts.map +1 -0
  14. package/dist/generators/docs-file.js +77 -0
  15. package/dist/generators/docs-file.js.map +1 -0
  16. package/dist/generators/entity-file.d.ts.map +1 -1
  17. package/dist/generators/entity-file.js +7 -0
  18. package/dist/generators/entity-file.js.map +1 -1
  19. package/dist/generators/index.d.ts +5 -0
  20. package/dist/generators/index.d.ts.map +1 -1
  21. package/dist/generators/index.js +4 -0
  22. package/dist/generators/index.js.map +1 -1
  23. package/dist/generators/output-prompt-file.d.ts +9 -0
  24. package/dist/generators/output-prompt-file.d.ts.map +1 -0
  25. package/dist/generators/output-prompt-file.js +51 -0
  26. package/dist/generators/output-prompt-file.js.map +1 -0
  27. package/dist/generators/template-generator.d.ts +41 -0
  28. package/dist/generators/template-generator.d.ts.map +1 -0
  29. package/dist/generators/template-generator.js +62 -0
  30. package/dist/generators/template-generator.js.map +1 -0
  31. package/dist/index.d.ts +7 -2
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +8 -1
  34. package/dist/index.js.map +1 -1
  35. package/dist/instance-artifacts.d.ts +29 -0
  36. package/dist/instance-artifacts.d.ts.map +1 -0
  37. package/dist/instance-artifacts.js +57 -0
  38. package/dist/instance-artifacts.js.map +1 -0
  39. package/dist/metaobjects-config.d.ts +10 -0
  40. package/dist/metaobjects-config.d.ts.map +1 -1
  41. package/dist/metaobjects-config.js +1 -0
  42. package/dist/metaobjects-config.js.map +1 -1
  43. package/dist/overwrite-policy.d.ts +39 -2
  44. package/dist/overwrite-policy.d.ts.map +1 -1
  45. package/dist/overwrite-policy.js +233 -13
  46. package/dist/overwrite-policy.js.map +1 -1
  47. package/dist/render-context.d.ts +4 -1
  48. package/dist/render-context.d.ts.map +1 -1
  49. package/dist/render-context.js +1 -0
  50. package/dist/render-context.js.map +1 -1
  51. package/dist/render-engine/framework-provider.d.ts +28 -0
  52. package/dist/render-engine/framework-provider.d.ts.map +1 -0
  53. package/dist/render-engine/framework-provider.js +104 -0
  54. package/dist/render-engine/framework-provider.js.map +1 -0
  55. package/dist/runner.d.ts +15 -1
  56. package/dist/runner.d.ts.map +1 -1
  57. package/dist/runner.js +45 -6
  58. package/dist/runner.js.map +1 -1
  59. package/dist/templates/docs-file.d.ts +17 -0
  60. package/dist/templates/docs-file.d.ts.map +1 -0
  61. package/dist/templates/docs-file.js +37 -0
  62. package/dist/templates/docs-file.js.map +1 -0
  63. package/dist/templates/entity-file.d.ts.map +1 -1
  64. package/dist/templates/entity-file.js +12 -0
  65. package/dist/templates/entity-file.js.map +1 -1
  66. package/dist/templates/fr010-field-mapping.d.ts +28 -0
  67. package/dist/templates/fr010-field-mapping.d.ts.map +1 -0
  68. package/dist/templates/fr010-field-mapping.js +170 -0
  69. package/dist/templates/fr010-field-mapping.js.map +1 -0
  70. package/dist/templates/output-format-spec-emitter.d.ts +4 -0
  71. package/dist/templates/output-format-spec-emitter.d.ts.map +1 -0
  72. package/dist/templates/output-format-spec-emitter.js +60 -0
  73. package/dist/templates/output-format-spec-emitter.js.map +1 -0
  74. package/dist/templates/output-parser.d.ts.map +1 -1
  75. package/dist/templates/output-parser.js +69 -4
  76. package/dist/templates/output-parser.js.map +1 -1
  77. package/dist/templates/output-prompt.d.ts +10 -0
  78. package/dist/templates/output-prompt.d.ts.map +1 -0
  79. package/dist/templates/output-prompt.js +75 -0
  80. package/dist/templates/output-prompt.js.map +1 -0
  81. package/dist/templates/recover-schema-emitter.d.ts +8 -0
  82. package/dist/templates/recover-schema-emitter.d.ts.map +1 -0
  83. package/dist/templates/recover-schema-emitter.js +64 -0
  84. package/dist/templates/recover-schema-emitter.js.map +1 -0
  85. package/package.json +5 -5
  86. package/src/generator.ts +9 -0
  87. package/src/generators/docs-data-builder.ts +470 -0
  88. package/src/generators/docs-data.ts +154 -0
  89. package/src/generators/docs-file.ts +87 -0
  90. package/src/generators/entity-file.ts +7 -0
  91. package/src/generators/index.ts +17 -0
  92. package/src/generators/output-prompt-file.ts +66 -0
  93. package/src/generators/template-generator.ts +106 -0
  94. package/src/index.ts +34 -2
  95. package/src/instance-artifacts.ts +61 -0
  96. package/src/metaobjects-config.ts +11 -0
  97. package/src/overwrite-policy.ts +325 -14
  98. package/src/render-context.ts +5 -1
  99. package/src/render-engine/framework-provider.ts +107 -0
  100. package/src/runner.ts +66 -6
  101. package/src/templates/docs-file.ts +51 -0
  102. package/src/templates/entity-file.ts +13 -0
  103. package/src/templates/fr010-field-mapping.ts +191 -0
  104. package/src/templates/output-format-spec-emitter.ts +97 -0
  105. package/src/templates/output-parser.ts +77 -2
  106. package/src/templates/output-prompt.ts +88 -0
  107. package/src/templates/recover-schema-emitter.ts +91 -0
  108. package/templates/docs/entity-page.md.mustache +54 -0
@@ -1 +1 @@
1
- {"version":3,"file":"output-parser.js","sourceRoot":"","sources":["../../src/templates/output-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"output-parser.js","sourceRoot":"","sources":["../../src/templates/output-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { type MetaData } from "@metaobjectsdev/metadata";
2
+ /** True iff the template.output's @format is json or xml (the renderable structured formats). */
3
+ export declare function templateSupportsPrompt(tmpl: MetaData): boolean;
4
+ /**
5
+ * Render the full output-prompt file for one json/xml `template.output` node.
6
+ * Throws if the template isn't found, isn't a template.output, isn't json/xml,
7
+ * or its @payloadRef doesn't resolve to an object.value.
8
+ */
9
+ export declare function renderOutputPrompt(root: MetaData, templateName: string): string;
10
+ //# sourceMappingURL=output-prompt.d.ts.map
@@ -0,0 +1 @@
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;AAWlC,iGAAiG;AACjG,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAG9D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CA8C/E"}
@@ -0,0 +1,75 @@
1
+ // server/typescript/packages/codegen-ts/src/templates/output-prompt.ts
2
+ //
3
+ // Per-template renderer for the FR-010 artifact-1 output-format prompt fragment
4
+ // ("produce your answer like this"). For each json/xml `template.output` whose
5
+ // @payloadRef resolves to a value-object, emits a `<TemplateName>.prompt.ts` file
6
+ // exporting `render<TemplateName>Format(overrides?)` backed by the render engine's
7
+ // renderOutputFormat(). The baked OutputFormatSpec's rootName is the payload name,
8
+ // so the prompt fragment and the recover() codegen agree on the root name.
9
+ //
10
+ // Mirrors the C# OutputPromptGenerator + OutputFormatSpecEmitter (split into a
11
+ // generator factory + this pure renderer, matching the TS output-parser shape).
12
+ import { TYPE_OBJECT, TYPE_TEMPLATE, TEMPLATE_SUBTYPE_OUTPUT, TEMPLATE_ATTR_PAYLOAD_REF, TEMPLATE_ATTR_FORMAT, } from "@metaobjectsdev/metadata";
13
+ import { specLiteral } from "./output-format-spec-emitter.js";
14
+ function findObject(root, name) {
15
+ return root.ownChildren().find((c) => c.type === TYPE_OBJECT && c.name === name);
16
+ }
17
+ function findTemplate(root, name) {
18
+ return root.ownChildren().find((c) => c.type === TYPE_TEMPLATE && c.name === name);
19
+ }
20
+ /** True iff the template.output's @format is json or xml (the renderable structured formats). */
21
+ export function templateSupportsPrompt(tmpl) {
22
+ const f = (tmpl.ownAttr(TEMPLATE_ATTR_FORMAT) ?? "text").toLowerCase();
23
+ return f === "json" || f === "xml";
24
+ }
25
+ /**
26
+ * Render the full output-prompt file for one json/xml `template.output` node.
27
+ * Throws if the template isn't found, isn't a template.output, isn't json/xml,
28
+ * or its @payloadRef doesn't resolve to an object.value.
29
+ */
30
+ export function renderOutputPrompt(root, templateName) {
31
+ const tmpl = findTemplate(root, templateName);
32
+ if (!tmpl) {
33
+ throw new Error(`template "${templateName}" not found in metadata root`);
34
+ }
35
+ if (tmpl.subType !== TEMPLATE_SUBTYPE_OUTPUT) {
36
+ throw new Error(`template "${templateName}" is not a template.output (got subtype "${tmpl.subType}")`);
37
+ }
38
+ if (!templateSupportsPrompt(tmpl)) {
39
+ throw new Error(`template "${templateName}" @format is not json/xml — no prompt fragment`);
40
+ }
41
+ const payloadRef = tmpl.ownAttr(TEMPLATE_ATTR_PAYLOAD_REF);
42
+ if (typeof payloadRef !== "string") {
43
+ throw new Error(`template "${templateName}" missing @payloadRef`);
44
+ }
45
+ const vo = findObject(root, payloadRef);
46
+ if (!vo) {
47
+ throw new Error(`template "${templateName}" @payloadRef "${payloadRef}" not found in metadata root`);
48
+ }
49
+ // rootName == payload name so the prompt fragment and recover() agree.
50
+ const spec = specLiteral(vo, tmpl, payloadRef);
51
+ const specName = `${templateName}FormatSpec`;
52
+ const fnName = `render${templateName}Format`;
53
+ return `import {
54
+ renderOutputFormat,
55
+ Format,
56
+ FieldKind,
57
+ PromptStyle,
58
+ type OutputFormatSpec,
59
+ type PromptOverrides,
60
+ } from "@metaobjectsdev/render";
61
+
62
+ const ${specName}: OutputFormatSpec = ${spec};
63
+
64
+ /**
65
+ * The output-format instruction fragment for the ${templateName} template.output
66
+ * ("produce your answer like this"). Comment-free — guidance lives in prose /
67
+ * inline placeholders / a filled skeleton. Pass \`overrides\` to override the style
68
+ * or per-field example/instruction at render time.
69
+ */
70
+ export function ${fnName}(overrides?: PromptOverrides): string {
71
+ return renderOutputFormat(${specName}, overrides ?? {});
72
+ }
73
+ `;
74
+ }
75
+ //# sourceMappingURL=output-prompt.js.map
@@ -0,0 +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,WAAW,EACX,aAAa,EACb,uBAAuB,EACvB,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,SAAS,UAAU,CAAC,IAAc,EAAE,IAAY;IAC9C,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,YAAY,CAAC,IAAc,EAAE,IAAY;IAChD,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACrF,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,sBAAsB,CAAC,IAAc;IACnD,MAAM,CAAC,GAAG,CAAE,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAwB,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/F,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,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAC3D,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,aAAa,YAAY,uBAAuB,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACxC,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"}
@@ -0,0 +1,8 @@
1
+ import { type MetaData } from "@metaobjectsdev/metadata";
2
+ /** Emit `recoverSchema(Format.X, "rootName", [ … ])`. */
3
+ export declare function schemaLiteral(vo: MetaData, format: string, rootName: string): string;
4
+ /** Emit the all-nullable mirror interface declaration. */
5
+ export declare function mirrorInterface(vo: MetaData, interfaceName: string): string;
6
+ /** Emit `{ prop: asString(d, "prop"), … }` building the mirror from the forgiving map `d`. */
7
+ export declare function mirrorInitializer(vo: MetaData): string;
8
+ //# sourceMappingURL=recover-schema-emitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recover-schema-emitter.d.ts","sourceRoot":"","sources":["../../src/templates/recover-schema-emitter.ts"],"names":[],"mappings":"AAcA,OAAO,EACL,KAAK,QAAQ,EAId,MAAM,0BAA0B,CAAC;AAclC,yDAAyD;AACzD,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAIpF;AA+BD,0DAA0D;AAC1D,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAc3E;AAED,8FAA8F;AAC9F,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,CAGtD"}
@@ -0,0 +1,64 @@
1
+ // server/typescript/packages/codegen-ts/src/templates/recover-schema-emitter.ts
2
+ //
3
+ // Turns a payload value-object into TS source fragments for the FR-010 recover codegen:
4
+ // • schemaLiteral — a `recoverSchema(Format.JSON, "root", [ … ])` baked descriptor
5
+ // built from FieldSpec factories (scalar / enumField).
6
+ // • mirrorInterface — an all-nullable mirror interface `<Payload>Recovered` (each
7
+ // component `T | null`); recover returns this nullable twin rather
8
+ // than the strict payload (same reasoning as the Java/C#/Kotlin ports).
9
+ // • mirrorInitializer — `{ prop: asString(d, "prop"), … }` building the mirror from the
10
+ // forgiving outcome map `d`.
11
+ //
12
+ // Mirrors the C# RecoverSchemaEmitter (adapted to TS syntax + the `| null` nullable mirror).
13
+ // Bounded scope: scalar / enum / scalar-array. Nested object + array-of-enum deferred.
14
+ import { FIELD_SUBTYPE_ENUM, FIELD_SUBTYPE_OBJECT, FIELD_ATTR_ENUM_ALIAS, } from "@metaobjectsdev/metadata";
15
+ import { fields, isRequired, isArray, scalarKind, mirrorType, recoverMapCall, enumValues, jsonStringLiteral, stringArrayLiteral, propertiesMapLiteral, } from "./fr010-field-mapping.js";
16
+ /** Emit `recoverSchema(Format.X, "rootName", [ … ])`. */
17
+ export function schemaLiteral(vo, format, rootName) {
18
+ const formatEnum = format.toLowerCase() === "xml" ? "Format.XML" : "Format.JSON";
19
+ const specs = fields(vo).map(fieldSpecLiteral);
20
+ return `recoverSchema(${formatEnum}, ${jsonStringLiteral(rootName)}, [${specs.join(", ")}])`;
21
+ }
22
+ function fieldSpecLiteral(field) {
23
+ const name = jsonStringLiteral(field.name);
24
+ const required = isRequired(field);
25
+ if (field.subType === FIELD_SUBTYPE_ENUM) {
26
+ const valuesLit = stringArrayLiteral(enumValues(field));
27
+ const aliasLit = propertiesMapLiteral(field.ownAttr(FIELD_ATTR_ENUM_ALIAS));
28
+ // enumField() sets array:false; enum-array is a bounded deferral (parity with Java/C#).
29
+ return `enumField(${name}, ${required}, ${valuesLit}, ${aliasLit})`;
30
+ }
31
+ if (field.subType === FIELD_SUBTYPE_OBJECT) {
32
+ // FR-010: nested recover deferred — treat as an opaque required/optional string slot.
33
+ return `scalar(${name}, FieldKind.STRING, ${required}) /* FR-010: nested recover deferred */`;
34
+ }
35
+ const kind = scalarKind(field.subType) ?? "STRING";
36
+ // Scalar-array: the scalar() factory only builds singular specs (array:false), so emit a
37
+ // FieldSpec object literal with array:true. Tier-2 win over the Roslyn proof: the emitted
38
+ // recover() actually populates the array at runtime (RecoverMap.asStringList).
39
+ if (isArray(field)) {
40
+ return (`{ name: ${name}, kind: FieldKind.${kind}, required: ${required}, array: true, ` +
41
+ `enumValues: null, enumAlias: null, min: null, max: null, nested: null }`);
42
+ }
43
+ return `scalar(${name}, FieldKind.${kind}, ${required})`;
44
+ }
45
+ /** Emit the all-nullable mirror interface declaration. */
46
+ export function mirrorInterface(vo, interfaceName) {
47
+ const base = interfaceName.endsWith("Recovered")
48
+ ? interfaceName.slice(0, -"Recovered".length)
49
+ : interfaceName;
50
+ const lines = [];
51
+ lines.push(`/** Best-effort recovered twin of \`${base}\` — every field nullable (null where lost/malformed). */`);
52
+ lines.push(`export interface ${interfaceName} {`);
53
+ for (const f of fields(vo)) {
54
+ lines.push(` ${f.name}: ${mirrorType(f)};`);
55
+ }
56
+ lines.push("}");
57
+ return lines.join("\n");
58
+ }
59
+ /** Emit `{ prop: asString(d, "prop"), … }` building the mirror from the forgiving map `d`. */
60
+ export function mirrorInitializer(vo) {
61
+ const assigns = fields(vo).map((f) => `${f.name}: ${recoverMapCall(f)}`);
62
+ return `{ ${assigns.join(", ")} }`;
63
+ }
64
+ //# sourceMappingURL=recover-schema-emitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recover-schema-emitter.js","sourceRoot":"","sources":["../../src/templates/recover-schema-emitter.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.7.0-rc.9",
3
+ "version": "0.8.0-rc.1",
4
4
  "description": "TypeScript codegen engine for MetaObjects — emits Drizzle, Zod, and Fastify artifacts.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -17,7 +17,7 @@
17
17
  "default": "./dist/generators/index.js"
18
18
  }
19
19
  },
20
- "files": ["dist", "src", "README.md", "LICENSE"],
20
+ "files": ["dist", "src", "templates", "README.md", "LICENSE"],
21
21
  "scripts": {
22
22
  "build": "tsc -p .",
23
23
  "typecheck": "tsc -p tsconfig.typecheck.json"
@@ -38,7 +38,8 @@
38
38
  "access": "public"
39
39
  },
40
40
  "dependencies": {
41
- "@metaobjectsdev/metadata": "0.7.0-rc.9",
41
+ "@metaobjectsdev/metadata": "0.8.0-rc.1",
42
+ "@metaobjectsdev/render": "0.8.0-rc.1",
42
43
  "@biomejs/js-api": "^0.7.0",
43
44
  "@biomejs/wasm-nodejs": "^1.9.4",
44
45
  "ts-poet": "^6.10.0"
@@ -49,8 +50,7 @@
49
50
  },
50
51
  "devDependencies": {
51
52
  "@biomejs/biome": "^1.9.0",
52
- "@metaobjectsdev/codegen-ts-react": "0.7.0-rc.9",
53
- "@metaobjectsdev/render": "0.7.0-rc.9",
53
+ "@metaobjectsdev/codegen-ts-react": "0.8.0-rc.1",
54
54
  "bun-types": "latest",
55
55
  "drizzle-orm": "^0.36.0",
56
56
  "hono": "^4.6.0",
package/src/generator.ts CHANGED
@@ -24,6 +24,15 @@ export interface GenContext {
24
24
  * present at run time when invoked via runGen(); optional in the type
25
25
  * so tests and custom callers don't need a placeholder. */
26
26
  renderContext?: RenderContext;
27
+ /** Resolved absolute project root — what the runner derives from
28
+ * `opts.projectRoot` (the directory holding `.metaobjects/config.json`).
29
+ * Generators that resolve project-scoped resources (e.g.
30
+ * `templateGenerator` looking up the project's `templates/` directory)
31
+ * should read this rather than `process.cwd()`, which is whatever
32
+ * directory the CLI was invoked from and breaks when `meta gen` runs
33
+ * in a sub-directory. Undefined only when the runner was driven
34
+ * programmatically without an explicit projectRoot. */
35
+ projectRoot?: string;
27
36
  warn: (msg: string) => void;
28
37
  }
29
38