@metaobjectsdev/codegen-ts 0.23.2 → 0.24.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 (168) 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/api-field-shape.js +1 -1
  5. package/dist/generators/api-field-shape.js.map +1 -1
  6. package/dist/generators/api-model.d.ts.map +1 -1
  7. package/dist/generators/api-model.js +71 -42
  8. package/dist/generators/api-model.js.map +1 -1
  9. package/dist/generators/docs-data-builder.d.ts.map +1 -1
  10. package/dist/generators/docs-data-builder.js +36 -1
  11. package/dist/generators/docs-data-builder.js.map +1 -1
  12. package/dist/generators/docs-data.d.ts +14 -0
  13. package/dist/generators/docs-data.d.ts.map +1 -1
  14. package/dist/generators/docs-file.d.ts.map +1 -1
  15. package/dist/generators/docs-file.js +13 -4
  16. package/dist/generators/docs-file.js.map +1 -1
  17. package/dist/generators/extractor-file.d.ts.map +1 -1
  18. package/dist/generators/extractor-file.js +7 -11
  19. package/dist/generators/extractor-file.js.map +1 -1
  20. package/dist/generators/index.d.ts +4 -0
  21. package/dist/generators/index.d.ts.map +1 -1
  22. package/dist/generators/index.js +5 -0
  23. package/dist/generators/index.js.map +1 -1
  24. package/dist/generators/output-parser-file.d.ts.map +1 -1
  25. package/dist/generators/output-parser-file.js +12 -7
  26. package/dist/generators/output-parser-file.js.map +1 -1
  27. package/dist/generators/output-prompt-file.d.ts.map +1 -1
  28. package/dist/generators/output-prompt-file.js +14 -24
  29. package/dist/generators/output-prompt-file.js.map +1 -1
  30. package/dist/generators/requirement-tests.d.ts +44 -0
  31. package/dist/generators/requirement-tests.d.ts.map +1 -0
  32. package/dist/generators/requirement-tests.js +127 -0
  33. package/dist/generators/requirement-tests.js.map +1 -0
  34. package/dist/generators/requirements-file.d.ts +9 -0
  35. package/dist/generators/requirements-file.d.ts.map +1 -0
  36. package/dist/generators/requirements-file.js +53 -0
  37. package/dist/generators/requirements-file.js.map +1 -0
  38. package/dist/generators/requirements-markdown.d.ts +10 -0
  39. package/dist/generators/requirements-markdown.d.ts.map +1 -0
  40. package/dist/generators/requirements-markdown.js +71 -0
  41. package/dist/generators/requirements-markdown.js.map +1 -0
  42. package/dist/generators/requirements-toon.d.ts +3 -0
  43. package/dist/generators/requirements-toon.d.ts.map +1 -0
  44. package/dist/generators/requirements-toon.js +47 -0
  45. package/dist/generators/requirements-toon.js.map +1 -0
  46. package/dist/generators/requirements-view.d.ts +32 -0
  47. package/dist/generators/requirements-view.d.ts.map +1 -0
  48. package/dist/generators/requirements-view.js +64 -0
  49. package/dist/generators/requirements-view.js.map +1 -0
  50. package/dist/generators/trace-helper-file.d.ts.map +1 -1
  51. package/dist/generators/trace-helper-file.js +19 -11
  52. package/dist/generators/trace-helper-file.js.map +1 -1
  53. package/dist/index.d.ts +13 -1
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +18 -0
  56. package/dist/index.js.map +1 -1
  57. package/dist/metaobjects-config.d.ts +12 -20
  58. package/dist/metaobjects-config.d.ts.map +1 -1
  59. package/dist/metaobjects-config.js +5 -1
  60. package/dist/metaobjects-config.js.map +1 -1
  61. package/dist/orphan-sweep.d.ts +38 -0
  62. package/dist/orphan-sweep.d.ts.map +1 -0
  63. package/dist/orphan-sweep.js +129 -0
  64. package/dist/orphan-sweep.js.map +1 -0
  65. package/dist/overwrite-policy.d.ts +97 -3
  66. package/dist/overwrite-policy.d.ts.map +1 -1
  67. package/dist/overwrite-policy.js +293 -81
  68. package/dist/overwrite-policy.js.map +1 -1
  69. package/dist/projection/build-projection-views.d.ts +8 -0
  70. package/dist/projection/build-projection-views.d.ts.map +1 -1
  71. package/dist/projection/build-projection-views.js +7 -4
  72. package/dist/projection/build-projection-views.js.map +1 -1
  73. package/dist/projection/extract-view-spec.d.ts.map +1 -1
  74. package/dist/projection/extract-view-spec.js +70 -4
  75. package/dist/projection/extract-view-spec.js.map +1 -1
  76. package/dist/projection/view-ddl-emit.d.ts.map +1 -1
  77. package/dist/projection/view-ddl-emit.js +52 -0
  78. package/dist/projection/view-ddl-emit.js.map +1 -1
  79. package/dist/projection/view-spec.d.ts +15 -0
  80. package/dist/projection/view-spec.d.ts.map +1 -1
  81. package/dist/reconcile-orphans.d.ts +80 -0
  82. package/dist/reconcile-orphans.d.ts.map +1 -0
  83. package/dist/reconcile-orphans.js +61 -0
  84. package/dist/reconcile-orphans.js.map +1 -0
  85. package/dist/render-engine/embedded-templates.generated.js +1 -1
  86. package/dist/render-engine/embedded-templates.generated.js.map +1 -1
  87. package/dist/requirement-walk.d.ts +57 -0
  88. package/dist/requirement-walk.d.ts.map +1 -0
  89. package/dist/requirement-walk.js +94 -0
  90. package/dist/requirement-walk.js.map +1 -0
  91. package/dist/runner.d.ts +35 -0
  92. package/dist/runner.d.ts.map +1 -1
  93. package/dist/runner.js +217 -21
  94. package/dist/runner.js.map +1 -1
  95. package/dist/templates/extractor.d.ts +4 -4
  96. package/dist/templates/extractor.d.ts.map +1 -1
  97. package/dist/templates/extractor.js +18 -22
  98. package/dist/templates/extractor.js.map +1 -1
  99. package/dist/templates/find-inbound.d.ts +44 -0
  100. package/dist/templates/find-inbound.d.ts.map +1 -0
  101. package/dist/templates/find-inbound.js +69 -0
  102. package/dist/templates/find-inbound.js.map +1 -0
  103. package/dist/templates/inferred-types.d.ts.map +1 -1
  104. package/dist/templates/inferred-types.js +8 -4
  105. package/dist/templates/inferred-types.js.map +1 -1
  106. package/dist/templates/output-format-spec-emitter.d.ts.map +1 -1
  107. package/dist/templates/output-format-spec-emitter.js +7 -4
  108. package/dist/templates/output-format-spec-emitter.js.map +1 -1
  109. package/dist/templates/output-parser.d.ts +8 -3
  110. package/dist/templates/output-parser.d.ts.map +1 -1
  111. package/dist/templates/output-parser.js +71 -31
  112. package/dist/templates/output-parser.js.map +1 -1
  113. package/dist/templates/output-prompt.d.ts +6 -5
  114. package/dist/templates/output-prompt.d.ts.map +1 -1
  115. package/dist/templates/output-prompt.js +26 -37
  116. package/dist/templates/output-prompt.js.map +1 -1
  117. package/dist/templates/queries.js +1 -1
  118. package/dist/templates/queries.js.map +1 -1
  119. package/dist/templates/requirement-test.d.ts +12 -0
  120. package/dist/templates/requirement-test.d.ts.map +1 -0
  121. package/dist/templates/requirement-test.js +120 -0
  122. package/dist/templates/requirement-test.js.map +1 -0
  123. package/dist/templates/zod-validators.d.ts.map +1 -1
  124. package/dist/templates/zod-validators.js +32 -15
  125. package/dist/templates/zod-validators.js.map +1 -1
  126. package/package.json +9 -8
  127. package/src/generator.ts +9 -0
  128. package/src/generators/api-field-shape.ts +1 -1
  129. package/src/generators/api-model.ts +69 -44
  130. package/src/generators/docs-data-builder.ts +37 -0
  131. package/src/generators/docs-data.ts +15 -0
  132. package/src/generators/docs-file.ts +13 -4
  133. package/src/generators/extractor-file.ts +7 -11
  134. package/src/generators/index.ts +11 -0
  135. package/src/generators/output-parser-file.ts +12 -7
  136. package/src/generators/output-prompt-file.ts +14 -27
  137. package/src/generators/requirement-tests.ts +203 -0
  138. package/src/generators/requirements-file.ts +71 -0
  139. package/src/generators/requirements-markdown.ts +72 -0
  140. package/src/generators/requirements-toon.ts +64 -0
  141. package/src/generators/requirements-view.ts +93 -0
  142. package/src/generators/trace-helper-file.ts +20 -10
  143. package/src/index.ts +47 -1
  144. package/src/metaobjects-config.ts +17 -22
  145. package/src/orphan-sweep.ts +178 -0
  146. package/src/overwrite-policy.ts +362 -89
  147. package/src/projection/build-projection-views.ts +15 -4
  148. package/src/projection/extract-view-spec.ts +62 -3
  149. package/src/projection/view-ddl-emit.ts +54 -0
  150. package/src/projection/view-spec.ts +25 -0
  151. package/src/reconcile-orphans.ts +136 -0
  152. package/src/reference/barrel.ts +4 -0
  153. package/src/reference/entity.ts +4 -0
  154. package/src/reference/queries.ts +4 -0
  155. package/src/reference/routes.ts +4 -0
  156. package/src/render-engine/embedded-templates.generated.ts +1 -1
  157. package/src/requirement-walk.ts +124 -0
  158. package/src/runner.ts +266 -27
  159. package/src/templates/extractor.ts +19 -24
  160. package/src/templates/find-inbound.ts +96 -0
  161. package/src/templates/inferred-types.ts +8 -4
  162. package/src/templates/output-format-spec-emitter.ts +7 -4
  163. package/src/templates/output-parser.ts +76 -34
  164. package/src/templates/output-prompt.ts +29 -42
  165. package/src/templates/queries.ts +1 -1
  166. package/src/templates/requirement-test.ts +140 -0
  167. package/src/templates/zod-validators.ts +32 -15
  168. package/templates/docs/entity-page.md.mustache +8 -0
@@ -0,0 +1,71 @@
1
+ // server/typescript/packages/codegen-ts/src/generators/requirements-markdown.ts
2
+ //
3
+ // The human-facing half of the `requirements` docs surface — shape A, one index page.
4
+ //
5
+ // Design: docs/superpowers/specs/2026-08-21-requirements-doc-surface-design.md §4, §5
6
+ //
7
+ // ONE PAGE, NOT ONE PER NODE. Shape B (a page per top-level requirement) was measured
8
+ // and dominated: 19 files and ~30.5K tokens against ~11.9K for the index, with one page
9
+ // at 86KB. An 86KB page is not a documentation page.
10
+ //
11
+ // NO TEST LINK IS RENDERED, under any input (§3). With `@verifiedBy` retired there is no
12
+ // join key, so there is nothing honest to print — and a derived path would read as MORE
13
+ // authoritative than an author-chosen string, not less. Silence here is consistent with
14
+ // five shipped statements that a requirement carrying no test link is a legitimate
15
+ // declared state; it is not a gap waiting to be filled by whoever notices it next.
16
+ //
17
+ // PROSE LIVES HERE, STRUCTURE LIVES IN THE TOON SIBLING. TOON quotes every comma-bearing
18
+ // string, so statements and violations dilute it badly. The split is not stylistic.
19
+ /** `##` for a root-level requirement, deepening with nesting. `#` is the page title. */
20
+ function heading(depth) {
21
+ return "#".repeat(Math.min(depth + 2, 6));
22
+ }
23
+ /** The one-line fact bar: the attrs that are scannable rather than readable. */
24
+ function facts(r) {
25
+ const parts = [`\`${r.subType}\``];
26
+ if (r.level !== undefined)
27
+ parts.push(`**L${r.level}**`);
28
+ if (r.status !== undefined)
29
+ parts.push(`status: \`${r.status}\``);
30
+ // Absent `@disposition` means UNDECIDED, which is a real state and not the same as
31
+ // "no gap" — so it is omitted rather than rendered as a default.
32
+ if (r.disposition !== undefined)
33
+ parts.push(`disposition: \`${r.disposition}\``);
34
+ if (r.trackedBy.length > 0)
35
+ parts.push(`tracked: ${r.trackedBy.join(", ")}`);
36
+ return parts.join(" · ");
37
+ }
38
+ function renderOne(r) {
39
+ const out = [`${heading(r.depth)} ${r.path}`, "", facts(r), ""];
40
+ if (r.statement !== undefined)
41
+ out.push(r.statement, "");
42
+ // The prescriptive pair. A requirement MUST be violable, so the counterexample is not
43
+ // decoration — it is what makes the statement checkable, and it reads beside it.
44
+ if (r.counterexample !== undefined)
45
+ out.push(`**Counterexample:** ${r.counterexample}`, "");
46
+ if (r.description !== undefined)
47
+ out.push(r.description, "");
48
+ if (r.implementedBy.length > 0) {
49
+ out.push(`**Implemented by:** ${r.implementedBy.map((c) => `\`${c}\``).join(", ")}`, "");
50
+ }
51
+ return out.join("\n");
52
+ }
53
+ /**
54
+ * Render the ledger as one markdown index.
55
+ *
56
+ * Returns the EMPTY STRING for an empty ledger rather than a headed-but-empty page.
57
+ * The generator keys on that to emit no file at all, which is in turn what lets the
58
+ * surface default to on without changing output for any project lacking a ledger.
59
+ */
60
+ export function renderRequirementsMarkdown(rows) {
61
+ if (rows.length === 0)
62
+ return "";
63
+ return [
64
+ "# Requirements",
65
+ "",
66
+ `${rows.length} declared requirement${rows.length === 1 ? "" : "s"}, in declaration order.`,
67
+ "",
68
+ ...rows.map(renderOne),
69
+ ].join("\n");
70
+ }
71
+ //# sourceMappingURL=requirements-markdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requirements-markdown.js","sourceRoot":"","sources":["../../src/generators/requirements-markdown.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { RequirementRow } from "./requirements-view.js";
2
+ export declare function renderRequirementsToon(rows: readonly RequirementRow[]): string;
3
+ //# sourceMappingURL=requirements-toon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requirements-toon.d.ts","sourceRoot":"","sources":["../../src/generators/requirements-toon.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAsB7D,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,SAAS,cAAc,EAAE,GAAG,MAAM,CAgB9E"}
@@ -0,0 +1,47 @@
1
+ // server/typescript/packages/codegen-ts/src/generators/requirements-toon.ts
2
+ //
3
+ // The machine-facing half of the `requirements` docs surface.
4
+ //
5
+ // Design: docs/superpowers/specs/2026-08-21-requirements-doc-surface-design.md §5
6
+ //
7
+ // CHOSEN FOR THE DECLARED-COUNT HEADER, NOT THE TOKEN SAVING. Measured with this same
8
+ // encoder on 321 rows, TOON is 42.1% smaller than JSON but only 7.3% smaller than a
9
+ // markdown table — a table is already header-once, so compression is close to a
10
+ // non-argument. What it buys is the header:
11
+ //
12
+ // requirements[321]{path,level,status,claims,statement}:
13
+ //
14
+ // A reader can verify it received all 321 rows. A documentation generator that silently
15
+ // drops rows produces a document that looks complete and is not, and this is the one
16
+ // cheap defence against that.
17
+ //
18
+ // PROSE IS DELIBERATELY THIN HERE. TOON quotes every comma-bearing string, so statements
19
+ // dilute the format badly. The readable half lives in the markdown sibling; this file
20
+ // carries structure. That split is the reason both are emitted rather than one.
21
+ //
22
+ // `notes` NEVER APPEARS — RequirementRow does not carry it (documentation.json charters
23
+ // it internal-only). Nothing to strip, by construction.
24
+ import { encode } from "@toon-format/toon";
25
+ /** TOON is tabular: a field absent on one row and present on another breaks the uniform
26
+ * header. So every optional value collapses to "" rather than being omitted — an empty
27
+ * cell reads as absent without costing the header its shape. */
28
+ function cell(v) {
29
+ return v ?? "";
30
+ }
31
+ export function renderRequirementsToon(rows) {
32
+ if (rows.length === 0)
33
+ return "";
34
+ const table = rows.map((r) => ({
35
+ path: r.path,
36
+ subType: r.subType,
37
+ level: r.level ?? "",
38
+ status: cell(r.status),
39
+ disposition: cell(r.disposition),
40
+ // Joined rather than nested: a nested array per row would cost the tabular header,
41
+ // which is the entire reason this format was picked.
42
+ claims: r.implementedBy.join(" "),
43
+ statement: cell(r.statement),
44
+ }));
45
+ return encode({ requirements: table });
46
+ }
47
+ //# sourceMappingURL=requirements-toon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requirements-toon.js","sourceRoot":"","sources":["../../src/generators/requirements-toon.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,EAAE;AACF,8DAA8D;AAC9D,EAAE;AACF,kFAAkF;AAClF,EAAE;AACF,sFAAsF;AACtF,oFAAoF;AACpF,gFAAgF;AAChF,4CAA4C;AAC5C,EAAE;AACF,2DAA2D;AAC3D,EAAE;AACF,wFAAwF;AACxF,qFAAqF;AACrF,8BAA8B;AAC9B,EAAE;AACF,yFAAyF;AACzF,sFAAsF;AACtF,gFAAgF;AAChF,EAAE;AACF,wFAAwF;AACxF,wDAAwD;AAExD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAgB3C;;iEAEiE;AACjE,SAAS,IAAI,CAAC,CAAqB;IACjC,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAA+B;IACpE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjC,MAAM,KAAK,GAAc,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACxC,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;QACtB,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;QAChC,mFAAmF;QACnF,qDAAqD;QACrD,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;QACjC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;KAC7B,CAAC,CAAC,CAAC;IAEJ,OAAO,MAAM,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;AACzC,CAAC"}
@@ -0,0 +1,32 @@
1
+ import type { MetaData } from "@metaobjectsdev/metadata";
2
+ /** One requirement, projected for rendering. Ordered depth-first, declaration order. */
3
+ export interface RequirementRow {
4
+ /** Dotted child-name path from the root — the same address every other node uses. */
5
+ readonly path: string;
6
+ /** 0 for a root-level requirement. Derived from `path`, so it cannot disagree with it. */
7
+ readonly depth: number;
8
+ /** "functional" | "architectural" — the check-polarity axis. */
9
+ readonly subType: string;
10
+ /** Undefined on an unlevelled architectural requirement (the flat policy form). */
11
+ readonly level: number | undefined;
12
+ readonly status: string | undefined;
13
+ readonly disposition: string | undefined;
14
+ readonly trackedBy: readonly string[];
15
+ readonly statement: string | undefined;
16
+ readonly counterexample: string | undefined;
17
+ /** Chartered user-facing. `notes` has no counterpart here, by design. */
18
+ readonly description: string | undefined;
19
+ /** `@implementedBy` exactly as authored — provenance a reader can grep for. */
20
+ readonly implementedBy: readonly string[];
21
+ /** DISTINCT `type.subType` concerns among the targets that actually resolved. */
22
+ readonly claimedConcerns: readonly string[];
23
+ }
24
+ /**
25
+ * Project every `requirement.*` node — nested ones included — into render-ready rows.
26
+ *
27
+ * Returns `[]` for a model declaring no requirements, which is what lets the surface
28
+ * emit NOTHING rather than an empty page, and is in turn what makes turning the surface
29
+ * on by default a no-op for every project without a ledger.
30
+ */
31
+ export declare function requirementRows(root: MetaData): RequirementRow[];
32
+ //# sourceMappingURL=requirements-view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requirements-view.d.ts","sourceRoot":"","sources":["../../src/generators/requirements-view.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGzD,wFAAwF;AACxF,MAAM,WAAW,cAAc;IAC7B,qFAAqF;IACrF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,0FAA0F;IAC1F,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,gEAAgE;IAChE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,mFAAmF;IACnF,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,yEAAyE;IACzE,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,+EAA+E;IAC/E,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,iFAAiF;IACjF,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C;AAYD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,GAAG,cAAc,EAAE,CAoBhE"}
@@ -0,0 +1,64 @@
1
+ // server/typescript/packages/codegen-ts/src/generators/requirements-view.ts
2
+ //
3
+ // The projected row the `requirements` docs surface renders from.
4
+ //
5
+ // Design: docs/superpowers/specs/2026-08-21-requirements-doc-surface-design.md
6
+ //
7
+ // PROJECTS OVER `walkRequirements()`, NEVER RE-WALKS. That walk already resolves the
8
+ // depth-first traversal, the dotted `path` (hierarchy IS nesting), and the
9
+ // `@implementedBy` targets, and it is what `requirementTests()` is built on. Sharing it
10
+ // means the doc view and the generated stubs agree about what the ledger contains by
11
+ // construction; two walks kept in step by hand is exactly the drift this surface exists
12
+ // to remove.
13
+ //
14
+ // `notes` IS DELIBERATELY ABSENT FROM THIS TYPE, not merely unread. `documentation.json`
15
+ // charters it internal-only, never emitted to a user-facing doc surface, and the
16
+ // original ask this design replaced wanted a "stripper" for precisely this. A renderer
17
+ // cannot leak a field the projection never carries — which is a stronger guarantee than
18
+ // asking every renderer to remember.
19
+ //
20
+ // RESOLVING ACCESSORS ONLY (ADR-0039). Every read below goes through MetaRequirement's
21
+ // resolving accessors or the resolving `attr()`, so a requirement that `extends` an
22
+ // abstract parent inherits its `@level` / `@status` / statement rather than projecting
23
+ // them as undefined. No `own*()` call belongs in this file.
24
+ import { DOC_ATTR_DESCRIPTION, REQUIREMENT_ATTR_STATEMENT, REQUIREMENT_ATTR_COUNTEREXAMPLE, } from "@metaobjectsdev/metadata";
25
+ import { walkRequirements } from "../requirement-walk.js";
26
+ /** Reads a resolving string attr, normalising "declared but empty" to undefined so a
27
+ * renderer has one absent-case to handle rather than two. */
28
+ function stringAttr(node, name) {
29
+ // `attr()` is the RESOLVING accessor in TypeScript (ADR-0039). Note the cross-port
30
+ // naming inversion this repo records: Python's `attr()` is own-only, TS's resolves.
31
+ const raw = node.attr(name);
32
+ if (typeof raw !== "string")
33
+ return undefined;
34
+ return raw.length > 0 ? raw : undefined;
35
+ }
36
+ /**
37
+ * Project every `requirement.*` node — nested ones included — into render-ready rows.
38
+ *
39
+ * Returns `[]` for a model declaring no requirements, which is what lets the surface
40
+ * emit NOTHING rather than an empty page, and is in turn what makes turning the surface
41
+ * on by default a no-op for every project without a ledger.
42
+ */
43
+ export function requirementRows(root) {
44
+ return walkRequirements(root).map((walked) => {
45
+ const { node, view, targets } = walked;
46
+ return {
47
+ path: view.path,
48
+ // Derived rather than threaded: a separately-tracked depth could drift from the
49
+ // path that renders beside it, and there is only one right answer.
50
+ depth: view.path.split(".").length - 1,
51
+ subType: view.subType,
52
+ level: view.level,
53
+ status: view.status,
54
+ disposition: node.disposition(),
55
+ trackedBy: node.trackedBy(),
56
+ statement: stringAttr(node, REQUIREMENT_ATTR_STATEMENT),
57
+ counterexample: stringAttr(node, REQUIREMENT_ATTR_COUNTEREXAMPLE),
58
+ description: stringAttr(node, DOC_ATTR_DESCRIPTION),
59
+ implementedBy: node.implementedBy(),
60
+ claimedConcerns: [...new Set(targets.map((t) => t.concern))],
61
+ };
62
+ });
63
+ }
64
+ //# sourceMappingURL=requirements-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requirements-view.js","sourceRoot":"","sources":["../../src/generators/requirements-view.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,EAAE;AACF,kEAAkE;AAClE,EAAE;AACF,+EAA+E;AAC/E,EAAE;AACF,qFAAqF;AACrF,2EAA2E;AAC3E,wFAAwF;AACxF,qFAAqF;AACrF,wFAAwF;AACxF,aAAa;AACb,EAAE;AACF,yFAAyF;AACzF,iFAAiF;AACjF,uFAAuF;AACvF,wFAAwF;AACxF,qCAAqC;AACrC,EAAE;AACF,uFAAuF;AACvF,oFAAoF;AACpF,uFAAuF;AACvF,4DAA4D;AAE5D,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,+BAA+B,GAChC,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAyB1D;8DAC8D;AAC9D,SAAS,UAAU,CAAC,IAAc,EAAE,IAAY;IAC9C,mFAAmF;IACnF,oFAAoF;IACpF,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC9C,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,IAAc;IAC5C,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC3C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QACvC,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,gFAAgF;YAChF,mEAAmE;YACnE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC;YACtC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;YAC/B,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;YAC3B,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,0BAA0B,CAAC;YACvD,cAAc,EAAE,UAAU,CAAC,IAAI,EAAE,+BAA+B,CAAC;YACjE,WAAW,EAAE,UAAU,CAAC,IAAI,EAAE,oBAAoB,CAAC;YACnD,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE;YACnC,eAAe,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SAC7D,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"trace-helper-file.d.ts","sourceRoot":"","sources":["../../src/generators/trace-helper-file.ts"],"names":[],"mappings":"AA6BA,OAAO,EAGL,KAAK,gBAAgB,EAEtB,MAAM,iBAAiB,CAAC;AAQzB,MAAM,WAAW,eAAe;IAC9B,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAiBD,eAAO,MAAM,eAAe,EAuPvB,gBAAgB,CAAC,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"trace-helper-file.d.ts","sourceRoot":"","sources":["../../src/generators/trace-helper-file.ts"],"names":[],"mappings":"AA+BA,OAAO,EAGL,KAAK,gBAAgB,EAEtB,MAAM,iBAAiB,CAAC;AAQzB,MAAM,WAAW,eAAe;IAC9B,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAiBD,eAAO,MAAM,eAAe,EA+PvB,gBAAgB,CAAC,eAAe,CAAC,CAAC"}
@@ -16,7 +16,8 @@
16
16
  //
17
17
  // Consumer wiring (metaobjects.config.ts):
18
18
  // generators: [..., entityFile(), queriesFile(), traceHelperFile(), barrel()]
19
- import { TYPE_OBJECT, TYPE_TEMPLATE, TEMPLATE_SUBTYPE_PROMPT, TEMPLATE_ATTR_PAYLOAD_REF, TEMPLATE_ATTR_RESPONSE_REF, TEMPLATE_ATTR_FORMAT, TEMPLATE_ATTR_TEXT_REF, } from "@metaobjectsdev/metadata";
19
+ import { TYPE_OBJECT, TYPE_TEMPLATE, TEMPLATE_SUBTYPE_PROMPT, TEMPLATE_ATTR_PAYLOAD_REF, TEMPLATE_ATTR_RESPONSE_REF, TEMPLATE_ATTR_FORMAT, RESPONSE_FORMAT_XML, TEMPLATE_ATTR_TEXT_REF, } from "@metaobjectsdev/metadata";
20
+ import { responseFormatOf } from "../templates/find-inbound.js";
20
21
  import { perEntity, } from "../generator.js";
21
22
  import { generatePayloadInterfacesBatch } from "../payload-codegen.js";
22
23
  import { GENERATED_HEADER } from "../constants.js";
@@ -84,13 +85,18 @@ export const traceHelperFile = function traceHelperFile(opts) {
84
85
  const recordBuildArg = sti
85
86
  ? `{ ...input, callType: ${JSON.stringify(callTypeValue)}, status, errorDetail }`
86
87
  : `{ ...input, status, errorDetail }`;
87
- // Derive the parse format from the prompt's @format attr.
88
- // "xml" → Format.XML; absent or any other value → Format.JSON.
89
- // ADR-0039: resolvinga prompt may inherit @format via extends.
90
- const promptFormat = prompt.attr(TEMPLATE_ATTR_FORMAT);
91
- const formatLiteral = typeof promptFormat === "string" && promptFormat.toLowerCase() === "xml"
92
- ? "Format.XML"
93
- : "Format.JSON";
88
+ // ADR-0053: the REPLY's syntax is @responseFormat, not @format.
89
+ //
90
+ // This site used to read @format twice once as the reply's syntax and once
91
+ // as the prompt body's — under a comment calling them "two intentionally
92
+ // different shapes". They are two different FACTS, not two shapes of one:
93
+ // a plain-text prompt can elicit an XML reply, and the shipped docs-site
94
+ // fixture is exactly that. Reading @format here mis-parsed every prompt whose
95
+ // body format differed from its reply's.
96
+ //
97
+ // The same rule the output-parser / extractor / response-format-fragment
98
+ // generators use — all four now go through responseFormatOf().
99
+ const formatLiteral = responseFormatOf(prompt) === RESPONSE_FORMAT_XML ? "Format.XML" : "Format.JSON";
94
100
  // Collect VO names for interface emission (dedupe via batch emitter).
95
101
  // Both refs are guaranteed strings by the guards above. ADR-0042: a bare
96
102
  // ref resolves in the prompt's package.
@@ -101,9 +107,11 @@ export const traceHelperFile = function traceHelperFile(opts) {
101
107
  // ADR-0039: resolving — a prompt may inherit @textRef via extends.
102
108
  const textRef = prompt.attr(TEMPLATE_ATTR_TEXT_REF);
103
109
  const renderable = typeof textRef === "string";
104
- // Same @format attr, two intentionally different shapes: extract() takes the
105
- // Format enum (formatLiteral, above → Format.XML/Format.JSON), render() takes the
106
- // raw format string (renderFormat, here e.g. "json"/"xml", default "text").
110
+ // render() takes the raw format string of the prompt BODY @format, which is
111
+ // genuinely this attribute's job. Distinct from formatLiteral above, which is
112
+ // the REPLY's syntax and comes from @responseFormat (ADR-0053).
113
+ // ADR-0039: resolving — a prompt may inherit @format via extends.
114
+ const promptFormat = prompt.attr(TEMPLATE_ATTR_FORMAT);
107
115
  const renderFormat = typeof promptFormat === "string" ? promptFormat : "text";
108
116
  // Build the import block — all imports MUST stay at the top of the emitted file.
109
117
  // `extract` + `render` both live in @metaobjectsdev/render: import them together
@@ -1 +1 @@
1
- {"version":3,"file":"trace-helper-file.js","sourceRoot":"","sources":["../../src/generators/trace-helper-file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trace-helper-file.js","sourceRoot":"","sources":["../../src/generators/trace-helper-file.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -10,7 +10,7 @@ export type { TemplateSpecEntry, TemplateSpecFile } from "./template-codegen/tem
10
10
  export type { TemplateScope } from "./generators/template-generator.js";
11
11
  export { generatorRegistry, listGenerators, getGenerator, } from "./generator-registry.js";
12
12
  export type { GeneratorRegistryEntry, GeneratorTier } from "./generator-registry.js";
13
- export type { MetaobjectsGenConfig, NormalizedMetaobjectsGenConfig, ResolvedGenConfig, Dialect, ExtStyle, ColumnNamingStrategy, MetaDataTypeProvider, GeneratorSpec, DocsConfig, ResolvedDocsConfig, DocsSurface, ApiSurface, VerifyConfig } from "./metaobjects-config.js";
13
+ export type { MetaobjectsGenConfig, NormalizedMetaobjectsGenConfig, ResolvedGenConfig, Dialect, ExtStyle, ColumnNamingStrategy, MetaDataTypeProvider, GeneratorSpec, DocsConfig, ResolvedDocsConfig, DocsSurface, ApiSurface } from "./metaobjects-config.js";
14
14
  export { defineConfig, normalizeConfig, resolveGenerators, resolveDocsConfig } from "./metaobjects-config.js";
15
15
  export { apiLabel } from "./generators/api-label.js";
16
16
  export type { ColumnSpec, DefaultExpr } from "./column-mapper.js";
@@ -75,4 +75,16 @@ export type { EntityDocData, StorageFieldDoc, IdentityDoc, RelationshipDoc, Used
75
75
  export { buildEntityDocData } from "./generators/docs-data-builder.js";
76
76
  export type { TemplateDocData, TemplateOutputPart } from "./generators/template-doc-data.js";
77
77
  export { buildTemplateDocData } from "./generators/template-doc-builder.js";
78
+ export { requirementTests } from "./generators/requirement-tests.js";
79
+ export { requirementsFile } from "./generators/requirements-file.js";
80
+ export type { RequirementRow } from "./generators/requirements-view.js";
81
+ export type { RequirementTestsOpts, RequirementTestRenderer, } from "./generators/requirement-tests.js";
82
+ export { walkRequirements, groupByConcern, concernOf, NO_CONCERN, } from "./requirement-walk.js";
83
+ export type { RequirementView, ResolvedClaim, WalkedRequirement, } from "./requirement-walk.js";
84
+ export { renderRequirementTest } from "./templates/requirement-test.js";
85
+ export type { RequirementTestArgs } from "./templates/requirement-test.js";
86
+ export { reconcileOrphans, refusedOrphanMessage } from "./reconcile-orphans.js";
87
+ export type { OrphanDecision, ReconcileOrphansArgs, OrphanPolicy, } from "./reconcile-orphans.js";
88
+ export { sweepOrphans } from "./orphan-sweep.js";
89
+ export type { OrphanJob, SweepOrphansArgs, SweepOrphansResult, } from "./orphan-sweep.js";
78
90
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -87,4 +87,22 @@ export { templateGenerator, } from "./generators/template-generator.js";
87
87
  export { FileSystemProvider, ProviderChain, frameworkTemplatesProvider, projectProvider, } from "./render-engine/framework-provider.js";
88
88
  export { buildEntityDocData } from "./generators/docs-data-builder.js";
89
89
  export { buildTemplateDocData } from "./generators/template-doc-builder.js";
90
+ // FR-038 — requirement-derived test stubs.
91
+ //
92
+ // Both the factory AND its primitives are exported deliberately. Scaffold-and-own
93
+ // means the application owns its generator file, but that is only a real escape
94
+ // hatch if it can compose one from parts — otherwise an app needing one different
95
+ // behaviour must reimplement the requirement walk, and reimplementing it badly is
96
+ // worse than the bug report this is meant to avoid.
97
+ export { requirementTests } from "./generators/requirement-tests.js";
98
+ export { requirementsFile } from "./generators/requirements-file.js";
99
+ export { walkRequirements, groupByConcern, concernOf, NO_CONCERN, } from "./requirement-walk.js";
100
+ export { renderRequirementTest } from "./templates/requirement-test.js";
101
+ // FR-038 §8 — deletion integrity. Pure decision logic: which no-longer-generated
102
+ // files may be removed, and which were hand-edited and must be refused instead.
103
+ // `OrphanPolicy` is the Generator field an app sets to opt in; `sweepOrphans` is
104
+ // the filesystem binding, exported so an app composing its own generator can
105
+ // reconcile the same way the runner does instead of hand-rolling the walk.
106
+ export { reconcileOrphans, refusedOrphanMessage } from "./reconcile-orphans.js";
107
+ export { sweepOrphans } from "./orphan-sweep.js";
90
108
  //# sourceMappingURL=index.js.map
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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"}
@@ -146,29 +146,21 @@ export interface MetaobjectsGenConfig extends Omit<ResolvedGenConfig, "dbImport"
146
146
  * loader. Composed AFTER the default core+forge bundle.
147
147
  */
148
148
  providers?: readonly MetaDataTypeProvider[];
149
- /** `meta verify` settings. Nothing here affects codegen. */
150
- verify?: VerifyConfig;
151
- }
152
- /** `meta verify` settings. */
153
- export interface VerifyConfig {
154
149
  /**
155
- * Glob patterns naming this project's test files, for the `@verifiedBy` check.
156
- *
157
- * **What counts as a test file is the project's call.** The built-in patterns cover
158
- * the conventions this repo ports to (jest/vitest/bun, JUnit, Maven Failsafe `*IT`,
159
- * xUnit/NUnit, pytest, Kotlin) and are a CONVENIENCE, not an authority — a list of
160
- * guesses about someone else's repository will always be incomplete, and when it is,
161
- * a requirement naming a real test reads as a broken claim. Anything declared here is
162
- * added to the built-ins.
150
+ * MetaObjects-shipped library packages this project loads alongside its own metadata
151
+ * `["ai"]` makes `extends: "metaobjects::ai::LlmCallBase"` resolve.
163
152
  *
164
- * Matched against forward-slash paths relative to the project root: `**` spans
165
- * separators, `*` does not.
153
+ * Sits beside `providers` because it answers the same shape of question: what does this
154
+ * project's model need in scope beyond the files it declares. Opt-in, because a library
155
+ * registers real top-level nodes and a project that never references one should not find
156
+ * them in its model, its generated output or its docs.
166
157
  *
167
- * ```ts
168
- * verify: { testFiles: ["**\/*IT.kt", "**\/*.feature"] }
169
- * ```
158
+ * Threaded to `loadMemory` by every CLI command that loads metadata. Before it existed,
159
+ * `librarySources` was reachable only from `MetaDataLoader.fromDirectory` which the
160
+ * CLI does not use — so a generator that consumes a library was registered FOR the CLI
161
+ * while its input was unreachable THROUGH it (#333).
170
162
  */
171
- testFiles?: string[];
163
+ libraries?: readonly string[];
172
164
  }
173
165
  /** MetaobjectsGenConfig after applying defaults. All fields required.
174
166
  * `targets` is Omitted from the base so it can narrow from the user-facing
@@ -189,7 +181,7 @@ export interface NormalizedMetaobjectsGenConfig extends Omit<MetaobjectsGenConfi
189
181
  outputLayout: OutputLayout;
190
182
  targets: Record<string, ResolvedTarget>;
191
183
  }
192
- export type DocsSurface = "model" | "api";
184
+ export type DocsSurface = "model" | "api" | "requirements";
193
185
  export interface ApiSurface {
194
186
  lang: string;
195
187
  subDir: string;
@@ -1 +1 @@
1
- {"version":3,"file":"metaobjects-config.d.ts","sourceRoot":"","sources":["../src/metaobjects-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metaobjects-config.d.ts","sourceRoot":"","sources":["../src/metaobjects-config.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,11 @@ export function resolveDocsConfig(block, cli, fallbackLayout) {
15
15
  outDir: cli.outDir ?? block?.outDir ?? "./docs",
16
16
  layout: cli.layout ?? block?.layout ?? fallbackLayout,
17
17
  baseUrl: cli.baseUrl ?? block?.baseUrl ?? "",
18
- surfaces: cli.surfaces ?? block?.surfaces ?? ["model", "api"],
18
+ // `requirements` defaults ON. Safe ONLY because requirementsFile() emits ZERO
19
+ // files for a project declaring no `requirement.*` node — not an empty page. A
20
+ // project without a ledger sees byte-identical output to before the surface
21
+ // existed; see requirements-file.ts.
22
+ surfaces: cli.surfaces ?? block?.surfaces ?? ["model", "api", "requirements"],
19
23
  apiSurfaces: cli.apiSurfaces ?? block?.apiSurfaces ?? [{ lang: "ts", subDir: "api" }],
20
24
  };
21
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"metaobjects-config.js","sourceRoot":"","sources":["../src/metaobjects-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAwD,MAAM,0BAA0B,CAAC;AAIhI,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAqB5D,4FAA4F;AAC5F,MAAM,CAAC,MAAM,mBAAmB,GAAG,SAAS,CAAC;AA0C7C;;wFAEwF;AACxF,MAAM,CAAC,MAAM,eAAe,GAAY,QAAQ,CAAC;AACjD,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AA8JxC;;6DAE6D;AAC7D,MAAM,UAAU,iBAAiB,CAC/B,KAA6B,EAC7B,GAAgC,EAChC,cAA4B;IAE5B,OAAO;QACL,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,KAAK,EAAE,MAAM,IAAI,QAAQ;QAC/C,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,KAAK,EAAE,MAAM,IAAI,cAAc;QACrD,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,KAAK,EAAE,OAAO,IAAI,EAAE;QAC5C,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,KAAK,EAAE,QAAQ,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC;QAC7D,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,KAAK,EAAE,WAAW,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;KACtF,CAAC;AACJ,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,YAAY,CAAC,MAA4B;IACvD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;kEAEkE;AAClE,MAAM,UAAU,cAAc,CAAC,MAA4B;IACzD,MAAM,MAAM,GAAiB,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC;IAC3D,MAAM,GAAG,GAAmC;QAC1C,CAAC,mBAAmB,CAAC,EAAE;YACrB,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,YAAY,EAAE,MAAM;YACpB,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,iBAAiB;YAC9C,kEAAkE;YAClE,OAAO,EAAE,IAAI;SACd;KACF,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,IAAI,CAAC,GAAG;YACV,IAAI;YACJ,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,MAAM;YACtC,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,IAAI,iBAAiB;YAC5D,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI;SAC3B,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAA+B;IAC/D,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC1C,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC;iBAC5C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;iBAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;iBAClB,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CACb,sBAAsB,IAAI,mCAAmC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAClF,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,cAAc,IAAI,uCAAuC;gBACzD,kCAAkC,CACnC,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,eAAe,CAAC,MAA4B;IAC1D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,eAAe,CAAC;IAClD,OAAO;QACL,GAAG,MAAM;QACT,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,iBAAiB;QAC9C,OAAO;QACP,UAAU,EAAE,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC;QAChD,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,IAAI,8BAA8B;QACnF,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,IAAI,IAAI;QACzD,uBAAuB,EAAE,MAAM,CAAC,uBAAuB,IAAI,EAAE;QAC7D,8EAA8E;QAC9E,2EAA2E;QAC3E,6EAA6E;QAC7E,aAAa,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,IAAI,QAAQ,CAAC;QACnF,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE;QACjC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,IAAI,IAAI;QACrD,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,MAAM;QAC3C,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC;KAChC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"metaobjects-config.js","sourceRoot":"","sources":["../src/metaobjects-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { type OrphanPolicy } from "./reconcile-orphans.js";
2
+ /** One opt-in generator's stake in the sweep. */
3
+ export interface OrphanJob {
4
+ /** For diagnostics — which generator's namespace this is. */
5
+ readonly generatorName: string;
6
+ /** Absolute directory this generator wrote to, i.e. the base its policy's
7
+ * relative paths are measured from. */
8
+ readonly writeOutDir: string;
9
+ readonly policy: OrphanPolicy;
10
+ }
11
+ export interface SweepOrphansArgs {
12
+ readonly genStateDir: string;
13
+ /** Absolute project root — the base gen-state keys are relative to. */
14
+ readonly projectRoot: string;
15
+ /** Project-relative paths written on THIS run, by ANY generator. A path some
16
+ * other generator now produces is not an orphan, so the whole run's output is
17
+ * the right exclusion set, not just the opting-in generator's. */
18
+ readonly emittedRelPaths: readonly string[];
19
+ readonly jobs: readonly OrphanJob[];
20
+ /** Decide and report, touch nothing. */
21
+ readonly dryRun: boolean;
22
+ }
23
+ export interface SweepOrphansResult {
24
+ /** Untouched orphans deleted (or, under dryRun, that would be). */
25
+ readonly removed: string[];
26
+ /** Hand-edited orphans left alone and reported. */
27
+ readonly refused: string[];
28
+ /** Which generator's namespace each refusal came from, so the caller can name it
29
+ * instead of assuming one. `orphanPolicy` is a generic `Generator` field and an app
30
+ * is encouraged to compose its own generator, so a message hardcoding one
31
+ * generator's name would be wrong for exactly the users the seam exists for. */
32
+ readonly refusedBy: ReadonlyMap<string, string>;
33
+ /** Hand-edited orphans deleted because their policy set `force`. Separate from
34
+ * `removed` so the caller can say the louder thing about them. */
35
+ readonly forced: string[];
36
+ }
37
+ export declare function sweepOrphans(args: SweepOrphansArgs): SweepOrphansResult;
38
+ //# sourceMappingURL=orphan-sweep.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orphan-sweep.d.ts","sourceRoot":"","sources":["../src/orphan-sweep.ts"],"names":[],"mappings":"AA6BA,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE7E,iDAAiD;AACjD,MAAM,WAAW,SAAS;IACxB,6DAA6D;IAC7D,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B;4CACwC;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,uEAAuE;IACvE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;uEAEmE;IACnE,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,CAAC;IACpC,wCAAwC;IACxC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAC3B,mDAAmD;IACnD,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAC3B;;;qFAGiF;IACjF,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD;uEACmE;IACnE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;CAC3B;AASD,wBAAgB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,kBAAkB,CAqGvE"}