@metaobjectsdev/codegen-ts 1.0.2 → 1.0.4-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.
- package/dist/catalog-gates.d.ts +52 -0
- package/dist/catalog-gates.d.ts.map +1 -0
- package/dist/catalog-gates.js +183 -0
- package/dist/catalog-gates.js.map +1 -0
- package/dist/constants.d.ts +24 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +26 -0
- package/dist/constants.js.map +1 -1
- package/dist/enum-shared.d.ts +9 -2
- package/dist/enum-shared.d.ts.map +1 -1
- package/dist/enum-shared.js +12 -3
- package/dist/enum-shared.js.map +1 -1
- package/dist/generator-registry.d.ts +73 -0
- package/dist/generator-registry.d.ts.map +1 -1
- package/dist/generator-registry.js +182 -38
- package/dist/generator-registry.js.map +1 -1
- package/dist/generator.d.ts +48 -1
- package/dist/generator.d.ts.map +1 -1
- package/dist/generator.js.map +1 -1
- package/dist/generators/entity-file.d.ts.map +1 -1
- package/dist/generators/entity-file.js +4 -1
- package/dist/generators/entity-file.js.map +1 -1
- package/dist/generators/index.d.ts +1 -0
- package/dist/generators/index.d.ts.map +1 -1
- package/dist/generators/index.js +5 -0
- package/dist/generators/index.js.map +1 -1
- package/dist/generators/shared-model-file.d.ts +23 -0
- package/dist/generators/shared-model-file.d.ts.map +1 -0
- package/dist/generators/shared-model-file.js +235 -0
- package/dist/generators/shared-model-file.js.map +1 -0
- package/dist/generators/trace-helper-file.d.ts.map +1 -1
- package/dist/generators/trace-helper-file.js +54 -11
- package/dist/generators/trace-helper-file.js.map +1 -1
- package/dist/index.d.ts +5 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -3
- package/dist/index.js.map +1 -1
- package/dist/metaobjects-config.d.ts +0 -15
- package/dist/metaobjects-config.d.ts.map +1 -1
- package/dist/metaobjects-config.js.map +1 -1
- package/dist/projection/extract-view-spec.d.ts.map +1 -1
- package/dist/projection/extract-view-spec.js +111 -4
- package/dist/projection/extract-view-spec.js.map +1 -1
- package/dist/relation-resolver.d.ts.map +1 -1
- package/dist/relation-resolver.js +11 -9
- package/dist/relation-resolver.js.map +1 -1
- package/dist/routes-expose.d.ts +30 -0
- package/dist/routes-expose.d.ts.map +1 -1
- package/dist/routes-expose.js +46 -0
- package/dist/routes-expose.js.map +1 -1
- package/dist/runner.d.ts +29 -0
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +38 -1
- package/dist/runner.js.map +1 -1
- package/dist/templates/entity-file.js +2 -2
- package/dist/templates/entity-file.js.map +1 -1
- package/dist/templates/enums-file.d.ts +11 -1
- package/dist/templates/enums-file.d.ts.map +1 -1
- package/dist/templates/enums-file.js +10 -2
- package/dist/templates/enums-file.js.map +1 -1
- package/dist/templates/queries-file.js +5 -5
- package/dist/templates/queries-file.js.map +1 -1
- package/dist/templates/routes-file-hono.d.ts.map +1 -1
- package/dist/templates/routes-file-hono.js +10 -3
- package/dist/templates/routes-file-hono.js.map +1 -1
- package/dist/templates/routes-file.d.ts.map +1 -1
- package/dist/templates/routes-file.js +21 -4
- package/dist/templates/routes-file.js.map +1 -1
- package/dist/templates/value-object-file.js +2 -2
- package/dist/templates/value-object-file.js.map +1 -1
- package/package.json +6 -6
- package/src/catalog-gates.ts +222 -0
- package/src/constants.ts +27 -0
- package/src/enum-shared.ts +17 -3
- package/src/generator-registry.ts +253 -41
- package/src/generator.ts +48 -1
- package/src/generators/entity-file.ts +7 -1
- package/src/generators/index.ts +11 -0
- package/src/generators/shared-model-file.ts +292 -0
- package/src/generators/trace-helper-file.ts +55 -12
- package/src/index.ts +17 -3
- package/src/metaobjects-config.ts +0 -15
- package/src/projection/extract-view-spec.ts +126 -5
- package/src/reference/entity.ts +12 -3
- package/src/reference/queries.ts +2 -2
- package/src/relation-resolver.ts +14 -8
- package/src/routes-expose.ts +57 -0
- package/src/runner.ts +77 -1
- package/src/templates/entity-file.ts +2 -2
- package/src/templates/enums-file.ts +13 -2
- package/src/templates/queries-file.ts +5 -5
- package/src/templates/routes-file-hono.ts +10 -3
- package/src/templates/routes-file.ts +21 -4
- package/src/templates/value-object-file.ts +2 -2
|
@@ -10,12 +10,20 @@
|
|
|
10
10
|
// factory-array config keeps working unchanged — the registry powers `--list`
|
|
11
11
|
// and a stable identity, it does not replace the config path.
|
|
12
12
|
//
|
|
13
|
+
// **This is a SLICE, not the whole catalog.** `codegen-ts` cannot import
|
|
14
|
+
// `codegen-ts-react` / `codegen-ts-tanstack` (dependency direction), so those two
|
|
15
|
+
// packages export their own slices and the CLI unions all three
|
|
16
|
+
// (`cli/src/lib/catalog.ts`). Set equality against the cross-port manifest is a
|
|
17
|
+
// property of the COMPOSED catalog and is asserted there; this package's own
|
|
18
|
+
// conformance test can only check one direction — no rogue names.
|
|
19
|
+
//
|
|
13
20
|
// Tiering (ADR-0020 / ADR-0021 D1):
|
|
14
21
|
// - "native" — the recommended Tier-1 `meta gen` suite (idiomatic emission).
|
|
15
22
|
// - "neutral" — Tier-2 artifacts owned by the neutral docs engine. `docs` and
|
|
16
23
|
// `mermaid-er` are present here for identity/discoverability but
|
|
17
24
|
// are NOT part of the recommended native surface — the canonical
|
|
18
25
|
// door for documentation is `meta docs` (D1).
|
|
26
|
+
import { REFERENCE_GENERATOR_NAMES } from "./reference-templates.js";
|
|
19
27
|
// The four ADR-0034 ownable generators are no longer exported from ./generators/index.js
|
|
20
28
|
// (1.0 removed them — see that file's header). They remain the engine's internal composers
|
|
21
29
|
// and the stable-name registry still constructs them, so import them from their own modules.
|
|
@@ -23,7 +31,32 @@ import { entityFile } from "./generators/entity-file.js";
|
|
|
23
31
|
import { queriesFile } from "./generators/queries-file.js";
|
|
24
32
|
import { routesFile } from "./generators/routes-file.js";
|
|
25
33
|
import { barrel } from "./generators/barrel.js";
|
|
26
|
-
import { callableFile, routesFileHono, namesFile, mermaidErDiagram, promptRender, outputParser, extractor, outputPrompt, renderHelper, apiDocsFile, docsFile, templateGenerator, traceHelperFile, } from "./generators/index.js";
|
|
34
|
+
import { callableFile, routesFileHono, namesFile, mermaidErDiagram, promptRender, outputParser, extractor, outputPrompt, renderHelper, apiDocsFile, docsFile, templateGenerator, traceHelperFile, sharedModelFile, requirementTests, } from "./generators/index.js";
|
|
35
|
+
/**
|
|
36
|
+
* The six layers a generator can belong to — the axis an adopter SELECTS BY.
|
|
37
|
+
*
|
|
38
|
+
* Cross-port: `layer` is gated by every port's registry-conformance test against
|
|
39
|
+
* `fixtures/generator-registry-conformance/registry.json`, exactly as `tier` is, so a
|
|
40
|
+
* polyglot agent groups the catalog by the same words everywhere.
|
|
41
|
+
*
|
|
42
|
+
* Six, not ten. The first four are app-shape decisions a builder makes; `docs` is on by
|
|
43
|
+
* default (`meta docs`); `capability` holds the ones the MODEL has already made — nobody
|
|
44
|
+
* picks `prompt-render` by browsing a taxonomy, they pick it because they declared a
|
|
45
|
+
* `template.prompt`, which `meta gen --list --probe` reports with a real file count. A
|
|
46
|
+
* layer with one member does no grouping work, so do not split `capability` to tidy it.
|
|
47
|
+
*/
|
|
48
|
+
export const GENERATOR_LAYERS = [
|
|
49
|
+
"model",
|
|
50
|
+
"persistence",
|
|
51
|
+
"api",
|
|
52
|
+
"client",
|
|
53
|
+
"docs",
|
|
54
|
+
"capability",
|
|
55
|
+
];
|
|
56
|
+
/** True iff this package ships a copyable reference template for `name`. */
|
|
57
|
+
function ejectable(name) {
|
|
58
|
+
return REFERENCE_GENERATOR_NAMES.includes(name);
|
|
59
|
+
}
|
|
27
60
|
// The `template` generator is a PRIMITIVE: callers supply { name, walk,
|
|
28
61
|
// template }. For registry identity + `--list` we expose a no-op default so the
|
|
29
62
|
// factory constructs a valid Generator without throwing; real use passes opts
|
|
@@ -37,126 +70,237 @@ function templatePrimitive() {
|
|
|
37
70
|
});
|
|
38
71
|
}
|
|
39
72
|
export const generatorRegistry = {
|
|
40
|
-
// -----
|
|
73
|
+
// ----- model ------------------------------------------------------------
|
|
41
74
|
entity: {
|
|
42
75
|
name: "entity",
|
|
76
|
+
kind: "generator",
|
|
77
|
+
layer: "model",
|
|
43
78
|
description: "Per-entity Drizzle table + typed model module (the entity module).",
|
|
44
79
|
tier: "native",
|
|
45
80
|
factory: () => entityFile(),
|
|
46
81
|
options: "filter?, target?",
|
|
82
|
+
requires: [],
|
|
83
|
+
runtimePackages: ["@metaobjectsdev/runtime-ts"],
|
|
84
|
+
runtimePeers: ["drizzle-orm", "zod"],
|
|
85
|
+
configKeys: ["dialect", "extStyle", "outputLayout", "columnNamingStrategy",
|
|
86
|
+
"pluralizeCollections", "collectionNameOverrides", "providedEnumModule", "apiPrefix"],
|
|
87
|
+
ejectable: ejectable("entity"),
|
|
88
|
+
},
|
|
89
|
+
names: {
|
|
90
|
+
name: "names",
|
|
91
|
+
kind: "generator",
|
|
92
|
+
layer: "model",
|
|
93
|
+
description: "Per-entity physical database name constants (table/view, schema, columns).",
|
|
94
|
+
tier: "native",
|
|
95
|
+
factory: () => namesFile(),
|
|
96
|
+
options: "filter?, target?",
|
|
97
|
+
configKeys: ["columnNamingStrategy"],
|
|
98
|
+
ejectable: ejectable("names"),
|
|
99
|
+
},
|
|
100
|
+
barrel: {
|
|
101
|
+
name: "barrel",
|
|
102
|
+
kind: "generator",
|
|
103
|
+
layer: "model",
|
|
104
|
+
description: "Single index.ts re-exporting every generated entity module.",
|
|
105
|
+
tier: "native",
|
|
106
|
+
factory: () => barrel(),
|
|
107
|
+
options: "target?",
|
|
108
|
+
requires: ["entity"],
|
|
109
|
+
configKeys: ["extStyle"],
|
|
110
|
+
ejectable: ejectable("barrel"),
|
|
47
111
|
},
|
|
112
|
+
// ----- persistence ------------------------------------------------------
|
|
48
113
|
queries: {
|
|
49
114
|
name: "queries",
|
|
115
|
+
kind: "generator",
|
|
116
|
+
layer: "persistence",
|
|
50
117
|
description: "Per-entity typed query helpers (findById/create/...).",
|
|
51
118
|
tier: "native",
|
|
52
119
|
factory: () => queriesFile(),
|
|
53
120
|
options: "filter?, target?",
|
|
121
|
+
requires: ["entity"],
|
|
122
|
+
runtimePeers: ["drizzle-orm"],
|
|
123
|
+
configKeys: ["dialect", "extStyle", "pluralizeCollections", "collectionNameOverrides"],
|
|
124
|
+
ejectable: ejectable("queries"),
|
|
54
125
|
},
|
|
55
|
-
|
|
56
|
-
name: "callable",
|
|
57
|
-
description: "Per-entity callable/service surface wrapping the query helpers.",
|
|
58
|
-
tier: "native",
|
|
59
|
-
factory: () => callableFile(),
|
|
60
|
-
options: "filter?, target?",
|
|
61
|
-
},
|
|
126
|
+
// ----- api --------------------------------------------------------------
|
|
62
127
|
routes: {
|
|
63
128
|
name: "routes",
|
|
129
|
+
kind: "generator",
|
|
130
|
+
layer: "api",
|
|
64
131
|
description: "Per-entity Fastify CRUD routes (drizzle-fastify mountCrudRoutes).",
|
|
65
132
|
tier: "native",
|
|
66
133
|
factory: () => routesFile(),
|
|
67
134
|
options: "filter?, target?",
|
|
135
|
+
framework: "fastify",
|
|
136
|
+
requires: ["entity"],
|
|
137
|
+
runtimePackages: ["@metaobjectsdev/runtime-ts"],
|
|
138
|
+
runtimePeers: ["fastify"],
|
|
139
|
+
configKeys: ["dbImport", "apiPrefix", "dialect", "extStyle", "outputLayout", "columnNamingStrategy"],
|
|
140
|
+
ejectable: ejectable("routes"),
|
|
68
141
|
},
|
|
69
142
|
"routes-hono": {
|
|
70
143
|
name: "routes-hono",
|
|
144
|
+
kind: "generator",
|
|
145
|
+
layer: "api",
|
|
71
146
|
description: "Per-entity Hono CRUD routes (runtime-ts/hono mountCrudRoutes).",
|
|
72
147
|
tier: "native",
|
|
73
148
|
factory: () => routesFileHono(),
|
|
74
149
|
options: "filter?, target?",
|
|
150
|
+
framework: "hono",
|
|
151
|
+
requires: ["entity"],
|
|
152
|
+
runtimePackages: ["@metaobjectsdev/runtime-ts"],
|
|
153
|
+
runtimePeers: ["hono"],
|
|
154
|
+
configKeys: ["dbImport", "apiPrefix", "dialect", "extStyle"],
|
|
155
|
+
ejectable: ejectable("routes-hono"),
|
|
75
156
|
},
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
157
|
+
// ----- docs -------------------------------------------------------------
|
|
158
|
+
"api-docs": {
|
|
159
|
+
name: "api-docs",
|
|
160
|
+
kind: "generator",
|
|
161
|
+
layer: "docs",
|
|
162
|
+
description: "Per-entity/template SDK API reference (the generated code's API, human + agent forms).",
|
|
79
163
|
tier: "native",
|
|
80
|
-
factory: () =>
|
|
81
|
-
options: "target?",
|
|
164
|
+
factory: () => apiDocsFile(),
|
|
165
|
+
options: "filter?, target?",
|
|
166
|
+
ejectable: ejectable("api-docs"),
|
|
82
167
|
},
|
|
83
|
-
|
|
84
|
-
name: "
|
|
85
|
-
|
|
168
|
+
docs: {
|
|
169
|
+
name: "docs",
|
|
170
|
+
kind: "generator",
|
|
171
|
+
layer: "docs",
|
|
172
|
+
description: "Neutral per-entity / per-template Markdown documentation pages.",
|
|
173
|
+
tier: "neutral",
|
|
174
|
+
factory: () => docsFile(),
|
|
175
|
+
ejectable: ejectable("docs"),
|
|
176
|
+
note: "neutral artifact — use `meta docs` (the single docs door, ADR-0021 D1); not part of the recommended `meta gen` native suite.",
|
|
177
|
+
},
|
|
178
|
+
"mermaid-er": {
|
|
179
|
+
name: "mermaid-er",
|
|
180
|
+
kind: "generator",
|
|
181
|
+
layer: "docs",
|
|
182
|
+
description: "Mermaid ER diagram of the entity/relationship model.",
|
|
183
|
+
tier: "neutral",
|
|
184
|
+
factory: () => mermaidErDiagram(),
|
|
185
|
+
ejectable: ejectable("mermaid-er"),
|
|
186
|
+
note: "neutral artifact owned by the docs engine (ADR-0020); surfaced via `meta docs`, not the recommended `meta gen` native suite.",
|
|
187
|
+
},
|
|
188
|
+
// ----- capability -------------------------------------------------------
|
|
189
|
+
// Not chosen by browsing this list — chosen because the MODEL already asks for
|
|
190
|
+
// them. `meta gen --list --probe` reports a real file count per entry.
|
|
191
|
+
callable: {
|
|
192
|
+
name: "callable",
|
|
193
|
+
kind: "generator",
|
|
194
|
+
layer: "capability",
|
|
195
|
+
description: "Per-entity callable/service surface wrapping the query helpers.",
|
|
86
196
|
tier: "native",
|
|
87
|
-
factory: () =>
|
|
197
|
+
factory: () => callableFile(),
|
|
88
198
|
options: "filter?, target?",
|
|
199
|
+
requires: ["entity"],
|
|
200
|
+
runtimePeers: ["drizzle-orm"],
|
|
201
|
+
configKeys: ["columnNamingStrategy"],
|
|
202
|
+
ejectable: ejectable("callable"),
|
|
89
203
|
},
|
|
90
204
|
"prompt-render": {
|
|
91
205
|
name: "prompt-render",
|
|
206
|
+
kind: "generator",
|
|
207
|
+
layer: "capability",
|
|
92
208
|
description: "Per-template prompt-render helper over the render engine.",
|
|
93
209
|
tier: "native",
|
|
94
210
|
factory: () => promptRender(),
|
|
95
211
|
options: "filter?, target?",
|
|
212
|
+
runtimePackages: ["@metaobjectsdev/render"],
|
|
213
|
+
ejectable: ejectable("prompt-render"),
|
|
96
214
|
},
|
|
97
215
|
"output-parser": {
|
|
98
216
|
name: "output-parser",
|
|
217
|
+
kind: "generator",
|
|
218
|
+
layer: "capability",
|
|
99
219
|
description: "Per-template tolerant output parser (recover-on-receipt).",
|
|
100
220
|
tier: "native",
|
|
101
221
|
factory: () => outputParser(),
|
|
102
222
|
options: "filter?, target?",
|
|
223
|
+
runtimePackages: ["@metaobjectsdev/metadata", "@metaobjectsdev/render", "@metaobjectsdev/runtime-ts"],
|
|
224
|
+
runtimePeers: ["zod"],
|
|
225
|
+
ejectable: ejectable("output-parser"),
|
|
103
226
|
},
|
|
104
227
|
extractor: {
|
|
105
228
|
name: "extractor",
|
|
229
|
+
kind: "generator",
|
|
230
|
+
layer: "capability",
|
|
106
231
|
description: "Per-template typed extract<Name> helper (strict payload extraction).",
|
|
107
232
|
tier: "native",
|
|
108
233
|
factory: () => extractor(),
|
|
109
234
|
options: "filter?, target?",
|
|
235
|
+
requires: ["entity", "output-parser"],
|
|
236
|
+
runtimePackages: ["@metaobjectsdev/metadata", "@metaobjectsdev/render"],
|
|
237
|
+
ejectable: ejectable("extractor"),
|
|
110
238
|
},
|
|
111
239
|
"output-prompt": {
|
|
112
240
|
name: "output-prompt",
|
|
241
|
+
kind: "generator",
|
|
242
|
+
layer: "capability",
|
|
113
243
|
description: "Per-template output-format prompt fragment generator.",
|
|
114
244
|
tier: "native",
|
|
115
245
|
factory: () => outputPrompt(),
|
|
116
246
|
options: "filter?, target?",
|
|
247
|
+
runtimePackages: ["@metaobjectsdev/render"],
|
|
248
|
+
ejectable: ejectable("output-prompt"),
|
|
117
249
|
},
|
|
118
250
|
"render-helper": {
|
|
119
251
|
name: "render-helper",
|
|
252
|
+
kind: "generator",
|
|
253
|
+
layer: "capability",
|
|
120
254
|
description: "Per-template.output render helper (document/email typed wrappers).",
|
|
121
255
|
tier: "native",
|
|
122
256
|
factory: () => renderHelper(),
|
|
123
257
|
options: "filter?, target?",
|
|
258
|
+
runtimePackages: ["@metaobjectsdev/render"],
|
|
259
|
+
configKeys: ["extStyle"],
|
|
260
|
+
ejectable: ejectable("render-helper"),
|
|
124
261
|
},
|
|
125
262
|
template: {
|
|
126
263
|
name: "template",
|
|
264
|
+
kind: "generator",
|
|
265
|
+
layer: "capability",
|
|
127
266
|
description: "Generic Mustache template primitive (walk + template → files).",
|
|
128
267
|
tier: "native",
|
|
129
268
|
factory: () => templatePrimitive(),
|
|
130
269
|
options: "name, walk, template, format?, filter?, provider?, target?",
|
|
131
|
-
|
|
132
|
-
"api-docs": {
|
|
133
|
-
name: "api-docs",
|
|
134
|
-
description: "Per-entity/template SDK API reference (the generated code's API, human + agent forms).",
|
|
135
|
-
tier: "native",
|
|
136
|
-
factory: () => apiDocsFile(),
|
|
137
|
-
options: "filter?, target?",
|
|
270
|
+
ejectable: ejectable("template"),
|
|
138
271
|
},
|
|
139
272
|
"trace-helper": {
|
|
140
273
|
name: "trace-helper",
|
|
274
|
+
kind: "generator",
|
|
275
|
+
layer: "capability",
|
|
141
276
|
description: "Per-entity typed record<Entity>/call<Entity> trace helpers (extract + buildLlmCallRow + persist; LlmCallBase-derived entities only).",
|
|
142
277
|
tier: "native",
|
|
143
278
|
factory: () => traceHelperFile(),
|
|
144
279
|
options: "outDir?, target?",
|
|
280
|
+
ejectable: ejectable("trace-helper"),
|
|
145
281
|
},
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
282
|
+
"requirement-tests": {
|
|
283
|
+
name: "requirement-tests",
|
|
284
|
+
kind: "generator",
|
|
285
|
+
layer: "capability",
|
|
286
|
+
description: "Per-requirement test stub, one per requirement.functional claim in the ledger.",
|
|
287
|
+
tier: "native",
|
|
288
|
+
factory: () => requirementTests(),
|
|
289
|
+
options: "filter?, target?",
|
|
290
|
+
ejectable: ejectable("requirement-tests"),
|
|
153
291
|
},
|
|
154
|
-
"
|
|
155
|
-
name: "
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
292
|
+
"shared-model": {
|
|
293
|
+
name: "shared-model",
|
|
294
|
+
kind: "generator",
|
|
295
|
+
layer: "capability",
|
|
296
|
+
description: "FR-023: a publisher's flattened shared-model artifact + manifest for a consumer's `meta deps sync`.",
|
|
297
|
+
tier: "native",
|
|
298
|
+
// `name`/`include` are required at run time (an empty include matches
|
|
299
|
+
// everything, so a placeholder here constructs without throwing — real use
|
|
300
|
+
// always supplies both, same as `template`'s templatePrimitive() above).
|
|
301
|
+
factory: () => sharedModelFile({ name: "shared-model", include: [] }),
|
|
302
|
+
options: "name, include, exclude?, files?, version?, target?",
|
|
303
|
+
ejectable: ejectable("shared-model"),
|
|
160
304
|
},
|
|
161
305
|
};
|
|
162
306
|
/** All registry entries, native first then neutral, alphabetical within tier. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator-registry.js","sourceRoot":"","sources":["../src/generator-registry.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,EAAE;AACF,4EAA4E;AAC5E,gFAAgF;AAChF,8EAA8E;AAC9E,4EAA4E;AAC5E,4BAA4B;AAC5B,EAAE;AACF,mFAAmF;AACnF,8EAA8E;AAC9E,8DAA8D;AAC9D,EAAE;AACF,oCAAoC;AACpC,gFAAgF;AAChF,gFAAgF;AAChF,iFAAiF;AACjF,iFAAiF;AACjF,8DAA8D;
|
|
1
|
+
{"version":3,"file":"generator-registry.js","sourceRoot":"","sources":["../src/generator-registry.ts"],"names":[],"mappings":"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"}
|
package/dist/generator.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { MetaObject, MetaRoot } from "@metaobjectsdev/metadata";
|
|
1
|
+
import type { MetaObject, MetaRoot, TypeRegistry } from "@metaobjectsdev/metadata";
|
|
2
|
+
import type { LibraryManifest } from "@metaobjectsdev/metadata/library";
|
|
2
3
|
import type { RenderContext } from "./render-context.js";
|
|
3
4
|
import type { ResolvedGenConfig } from "./metaobjects-config.js";
|
|
4
5
|
import type { OrphanPolicy } from "./reconcile-orphans.js";
|
|
@@ -17,6 +18,16 @@ export interface GenContext {
|
|
|
17
18
|
* filter is set). Always call this from helpers; do not call generator.filter
|
|
18
19
|
* directly. */
|
|
19
20
|
matches: (entity: MetaObject) => boolean;
|
|
21
|
+
/** FR-023 §11.1 item 2 — the model-wide output-scope predicate over a node's
|
|
22
|
+
* `resolutionKey()` (the runner's own `RunGenOpts.scope`, verbatim). A
|
|
23
|
+
* DIFFERENT knob from `matches`: `matches` is the per-generator `filter`
|
|
24
|
+
* (ANDed into what THIS generator emits), while `select` is the whole-model
|
|
25
|
+
* scope every generator shares — for a template that renders once over
|
|
26
|
+
* `ctx.loadedRoot` rather than per-entity (the shared-enums module is the
|
|
27
|
+
* first such template), `matches` never runs at all, so that template must
|
|
28
|
+
* read `select` directly to honour the same exclusion. Undefined ⇒ every
|
|
29
|
+
* node is in scope, byte-identical to a project with no `scope` declared. */
|
|
30
|
+
select?: (fqn: string) => boolean;
|
|
20
31
|
config: ResolvedGenConfig;
|
|
21
32
|
/** Pre-built by the runner for built-in generators that wrap existing
|
|
22
33
|
* templates. Third-party generators typically don't need this. Always
|
|
@@ -32,6 +43,42 @@ export interface GenContext {
|
|
|
32
43
|
* in a sub-directory. Undefined only when the runner was driven
|
|
33
44
|
* programmatically without an explicit projectRoot. */
|
|
34
45
|
projectRoot?: string;
|
|
46
|
+
/**
|
|
47
|
+
* FR-023 §4.3 — the run's composed registry (core providers plus whatever this
|
|
48
|
+
* project's `metaobjects.config.ts` `providers` adds), filled by the runner. The
|
|
49
|
+
* SAME vocabulary `opts.metadata` was loaded with. `sharedModelFile()`'s
|
|
50
|
+
* standalone re-loads of a `files` subset use this so a publisher project's own
|
|
51
|
+
* consumer-supplied vocabulary is honoured identically to the main load. Optional
|
|
52
|
+
* on the type so tests and custom callers don't need a placeholder; always
|
|
53
|
+
* present at run time when invoked via `runGen()`.
|
|
54
|
+
*/
|
|
55
|
+
registry?: TypeRegistry;
|
|
56
|
+
/**
|
|
57
|
+
* FR-023 §4.3 — the collection's own source files (never a dependency's
|
|
58
|
+
* artifact), filled by the runner from `RunGenOpts.sourceFiles`. Distinct from
|
|
59
|
+
* `loadedRoot`, which is already fully loaded and merged: `sharedModelFile()`
|
|
60
|
+
* needs the raw file LIST so it can re-load a `files:`-narrowed subset of it
|
|
61
|
+
* standalone. Undefined when the caller never supplied `RunGenOpts.sourceFiles`
|
|
62
|
+
* (a generator relying on it should default sensibly, as `sharedModelFile()`'s
|
|
63
|
+
* own `files` option does).
|
|
64
|
+
*/
|
|
65
|
+
sourceFiles?: readonly string[];
|
|
66
|
+
/**
|
|
67
|
+
* FR-043 §6 — the manifests of the libraries this project opted into, filled by the
|
|
68
|
+
* runner from `RunGenOpts.libraries`.
|
|
69
|
+
*
|
|
70
|
+
* What a generator reads it FOR is the `anchor`: the library node it keys on. That
|
|
71
|
+
* retires the hard-coded entity name a library-aware generator would otherwise carry
|
|
72
|
+
* (`trace-helper` compared `.name === "LlmCallBase"`, so ANY adopter entity of that
|
|
73
|
+
* name in ANY package triggered it) in favour of resolving the manifest's anchor to a
|
|
74
|
+
* node and comparing by node identity.
|
|
75
|
+
*
|
|
76
|
+
* Undefined means the caller never said — a programmatic `runGen()` rather than
|
|
77
|
+
* `meta gen`. A generator reading it should fall back to every SHIPPED manifest's
|
|
78
|
+
* anchors, which is still FQN-anchored and still not a bare name. An empty array is
|
|
79
|
+
* the opposite and is meaningful: the caller looked, and this project opted into none.
|
|
80
|
+
*/
|
|
81
|
+
libraries?: readonly LibraryManifest[];
|
|
35
82
|
warn: (msg: string) => void;
|
|
36
83
|
}
|
|
37
84
|
export interface Generator {
|
package/dist/generator.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
|
package/dist/generator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAqInD,mDAAmD;AACnD,MAAM,UAAU,SAAS,CACvB,EAGwC;IAExC,OAAO,KAAK,EAAE,GAAG,EAAE,EAAE;QACnB,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAClE,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC,CAAC;AACJ,CAAC;AAED;;qFAEqF;AACrF,MAAM,UAAU,UAAU,CACxB,EAGwC;IAExC,OAAO,KAAK,EAAE,GAAG,EAAE,EAAE;QACnB,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACtC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC,CAAC;AACJ,CAAC;AAED;oFACoF;AACpF,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAC;AAEnC;;;uCAGuC;AACvC,MAAM,UAAU,UAAU,CACxB,EAGwC;IAExC,OAAO,KAAK,EAAE,GAAG,EAAE,EAAE;QACnB,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAwB,CAAC;QAC9C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACtC,IAAI,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBAAC,MAAM,GAAG,EAAE,CAAC;gBAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAAC,CAAC;YAClE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;QACD,MAAM,GAAG,GAAkB,EAAE,CAAC;QAC9B,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YAC3C,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,EAAE,GAAG,CAAC,CAAC;YAC9C,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-file.d.ts","sourceRoot":"","sources":["../../src/generators/entity-file.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAgE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAQtH,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;;;;;;;OAaG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"entity-file.d.ts","sourceRoot":"","sources":["../../src/generators/entity-file.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAgE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAQtH,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;;;;;;;OAaG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,UAAU,EAuDlB,gBAAgB,CAAC,cAAc,CAAC,CAAC"}
|
|
@@ -36,7 +36,10 @@ export const entityFile = function entityFile(opts) {
|
|
|
36
36
|
// FR-019: emit the shared-enums module ONCE per run, into the entity-module
|
|
37
37
|
// target root. Returns null (no file) when the model uses no materialized
|
|
38
38
|
// shared enums — keeping the inline-enum default byte-identical (no new file).
|
|
39
|
-
|
|
39
|
+
// FR-023 §11.1 item 2: `select` (never `ctx.matches` — this renders from the
|
|
40
|
+
// WHOLE root, not this generator's filtered subset) excludes an enum used
|
|
41
|
+
// only by an imported, out-of-scope entity.
|
|
42
|
+
const sharedEnums = renderSharedEnumsFile(ctx.loadedRoot, ctx.select !== undefined ? { select: ctx.select } : undefined);
|
|
40
43
|
if (sharedEnums !== null) {
|
|
41
44
|
files.push({
|
|
42
45
|
path: `${SHARED_ENUMS_BASENAME}.ts`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-file.js","sourceRoot":"","sources":["../../src/generators/entity-file.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAA4E,MAAM,iBAAiB,CAAC;AACtH,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAC1F,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAsBpD,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,UAAU,CAAC,IAAqB;IACjE,MAAM,UAAU,GAAG,IAAI,EAAE,UAAU,IAAI,IAAI,CAAC;IAC5C,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QACpD,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,CAAC;QACD,0EAA0E;QAC1E,4EAA4E;QAC5E,2EAA2E;QAC3E,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,kBAAkB,EAAE,CAAC;YAChE,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,4EAA4E;QAC5E,gFAAgF;QAChF,4EAA4E;QAC5E,yEAAyE;QACzE,0EAA0E;QAC1E,MAAM,WAAW,GAAG,GAAG,CAAC,aAAa,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QACrE,OAAO;YACL,IAAI,EAAE,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,GAAG,WAAW,KAAK,CAAC;YACxG,OAAO,EAAE,MAAM,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,aAAa,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;SACrF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAc;QAC3B,IAAI,EAAE,aAAa;QACnB,iBAAiB,EAAE,IAAI;QACvB,QAAQ,EAAE,KAAK,EAAE,GAAe,EAA0B,EAAE;YAC1D,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;YACvC,4EAA4E;YAC5E,0EAA0E;YAC1E,+EAA+E;YAC/E,MAAM,WAAW,GAAG,qBAAqB,
|
|
1
|
+
{"version":3,"file":"entity-file.js","sourceRoot":"","sources":["../../src/generators/entity-file.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAA4E,MAAM,iBAAiB,CAAC;AACtH,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAC1F,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAsBpD,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,UAAU,CAAC,IAAqB;IACjE,MAAM,UAAU,GAAG,IAAI,EAAE,UAAU,IAAI,IAAI,CAAC;IAC5C,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QACpD,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,CAAC;QACD,0EAA0E;QAC1E,4EAA4E;QAC5E,2EAA2E;QAC3E,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,kBAAkB,EAAE,CAAC;YAChE,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,4EAA4E;QAC5E,gFAAgF;QAChF,4EAA4E;QAC5E,yEAAyE;QACzE,0EAA0E;QAC1E,MAAM,WAAW,GAAG,GAAG,CAAC,aAAa,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QACrE,OAAO;YACL,IAAI,EAAE,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,GAAG,WAAW,KAAK,CAAC;YACxG,OAAO,EAAE,MAAM,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,aAAa,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;SACrF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAc;QAC3B,IAAI,EAAE,aAAa;QACnB,iBAAiB,EAAE,IAAI;QACvB,QAAQ,EAAE,KAAK,EAAE,GAAe,EAA0B,EAAE;YAC1D,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;YACvC,4EAA4E;YAC5E,0EAA0E;YAC1E,+EAA+E;YAC/E,6EAA6E;YAC7E,0EAA0E;YAC1E,4CAA4C;YAC5C,MAAM,WAAW,GAAG,qBAAqB,CACvC,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAC9D,CAAC;YACF,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,GAAG,qBAAqB,KAAK;oBACnC,OAAO,EAAE,MAAM,QAAQ,CAAC,WAAW,CAAC;iBACrC,CAAC,CAAC;YACL,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC;IACF,IAAI,IAAI,EAAE,MAAM,EAAE,CAAC;QACjB,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IACjC,CAAC;IACD,IAAI,IAAI,EAAE,MAAM,EAAE,CAAC;QACjB,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IACjC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAqC,CAAC"}
|
|
@@ -14,6 +14,7 @@ export { apiDocsFile, type ApiDocsFileOpts } from "./api-docs-file.js";
|
|
|
14
14
|
export { docsFile, type DocsFileOpts } from "./docs-file.js";
|
|
15
15
|
export { templateGenerator, type TemplateGeneratorOpts, type TemplateWalkResult, type TemplateFormat, } from "./template-generator.js";
|
|
16
16
|
export { traceHelperFile, type TraceHelperOpts } from "./trace-helper-file.js";
|
|
17
|
+
export { sharedModelFile, type SharedModelFileOpts, MANIFEST_FILE as SHARED_MODEL_MANIFEST_FILE, ARTIFACT_SUFFIX as SHARED_MODEL_ARTIFACT_SUFFIX, INTEGRITY_PREFIX as SHARED_MODEL_INTEGRITY_PREFIX, } from "./shared-model-file.js";
|
|
17
18
|
export type { EntityDocData, StorageFieldDoc, IdentityDoc, RelationshipDoc, UsedByDoc, ConstraintRow, } from "./docs-data.js";
|
|
18
19
|
export { buildEntityDocData } from "./docs-data-builder.js";
|
|
19
20
|
export type { TemplateDocData, TemplateOutputPart } from "./template-doc-data.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,gIAAgI;AAChI,OAAO,EAAE,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC9E,oKAAoK;AACpK,OAAO,EAAE,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACvE,iJAAiJ;AACjJ,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EACL,iBAAiB,EACjB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,cAAc,GACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,gIAAgI;AAChI,OAAO,EAAE,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC9E,oKAAoK;AACpK,OAAO,EAAE,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACvE,iJAAiJ;AACjJ,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EACL,iBAAiB,EACjB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,cAAc,GACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAK/E,OAAO,EACL,eAAe,EACf,KAAK,mBAAmB,EACxB,aAAa,IAAI,0BAA0B,EAC3C,eAAe,IAAI,4BAA4B,EAC/C,gBAAgB,IAAI,6BAA6B,GAClD,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,aAAa,EACb,eAAe,EACf,WAAW,EACX,eAAe,EACf,SAAS,EACT,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAKjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,EAAE,aAAa,EAAE,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC7E,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,YAAY,EACV,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,wBAAwB,CAAC"}
|
package/dist/generators/index.js
CHANGED
|
@@ -29,6 +29,11 @@ export { apiDocsFile } from "./api-docs-file.js";
|
|
|
29
29
|
export { docsFile } from "./docs-file.js";
|
|
30
30
|
export { templateGenerator, } from "./template-generator.js";
|
|
31
31
|
export { traceHelperFile } from "./trace-helper-file.js";
|
|
32
|
+
// FR-023 §4.3 — the publisher's flattened shared-model artifact + manifest generator.
|
|
33
|
+
// The three tool-file constants are re-exported alongside it purely so a `cli`
|
|
34
|
+
// test can assert they stay byte-equal to sdk's canonical copies (see that
|
|
35
|
+
// module's own comment for why codegen-ts can't just import sdk directly).
|
|
36
|
+
export { sharedModelFile, MANIFEST_FILE as SHARED_MODEL_MANIFEST_FILE, ARTIFACT_SUFFIX as SHARED_MODEL_ARTIFACT_SUFFIX, INTEGRITY_PREFIX as SHARED_MODEL_INTEGRITY_PREFIX, } from "./shared-model-file.js";
|
|
32
37
|
export { buildEntityDocData } from "./docs-data-builder.js";
|
|
33
38
|
export { buildTemplateDocData } from "./template-doc-builder.js";
|
|
34
39
|
// FR-038 — requirement-derived test stubs. The factory is a convenience; the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,EAAE;AACF,0FAA0F;AAC1F,2FAA2F;AAC3F,2FAA2F;AAC3F,2FAA2F;AAC3F,oFAAoF;AACpF,uFAAuF;AACvF,EAAE;AACF,0FAA0F;AAC1F,uFAAuF;AACvF,2FAA2F;AAC3F,wFAAwF;AACxF,iEAAiE;AACjE,2DAA2D;AAE3D,OAAO,EAAE,YAAY,EAAyB,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,cAAc,EAA2B,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,gIAAgI;AAChI,OAAO,EAAE,gBAAgB,EAAyB,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAyB,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAyB,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAsB,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAyB,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAyB,MAAM,yBAAyB,CAAC;AAC9E,oKAAoK;AACpK,OAAO,EAAE,WAAW,EAAwB,MAAM,oBAAoB,CAAC;AACvE,iJAAiJ;AACjJ,OAAO,EAAE,QAAQ,EAAqB,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EACL,iBAAiB,GAIlB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAwB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,EAAE;AACF,0FAA0F;AAC1F,2FAA2F;AAC3F,2FAA2F;AAC3F,2FAA2F;AAC3F,oFAAoF;AACpF,uFAAuF;AACvF,EAAE;AACF,0FAA0F;AAC1F,uFAAuF;AACvF,2FAA2F;AAC3F,wFAAwF;AACxF,iEAAiE;AACjE,2DAA2D;AAE3D,OAAO,EAAE,YAAY,EAAyB,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,cAAc,EAA2B,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,gIAAgI;AAChI,OAAO,EAAE,gBAAgB,EAAyB,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAyB,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAyB,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAsB,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAyB,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAyB,MAAM,yBAAyB,CAAC;AAC9E,oKAAoK;AACpK,OAAO,EAAE,WAAW,EAAwB,MAAM,oBAAoB,CAAC;AACvE,iJAAiJ;AACjJ,OAAO,EAAE,QAAQ,EAAqB,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EACL,iBAAiB,GAIlB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAwB,MAAM,wBAAwB,CAAC;AAC/E,sFAAsF;AACtF,+EAA+E;AAC/E,2EAA2E;AAC3E,2EAA2E;AAC3E,OAAO,EACL,eAAe,EAEf,aAAa,IAAI,0BAA0B,EAC3C,eAAe,IAAI,4BAA4B,EAC/C,gBAAgB,IAAI,6BAA6B,GAClD,MAAM,wBAAwB,CAAC;AAShC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,6EAA6E;AAC7E,8EAA8E;AAC9E,wEAAwE;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,qFAAqF;AACrF,wDAAwD;AACxD,OAAO,EAAE,aAAa,EAA0B,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type Generator } from "../generator.js";
|
|
2
|
+
export declare const MANIFEST_FILE = "metaobjects.pkg.json";
|
|
3
|
+
export declare const ARTIFACT_SUFFIX = ".metaobjects.json";
|
|
4
|
+
export declare const INTEGRITY_PREFIX = "sha256-";
|
|
5
|
+
export interface SharedModelFileOpts {
|
|
6
|
+
/** The dependency key a consumer will `meta deps sync` under. Also the artifact's
|
|
7
|
+
* basename: emits `<name>.metaobjects.json`. */
|
|
8
|
+
name: string;
|
|
9
|
+
/** Scope-pattern include list (the same `acme::platform::**` grammar as `scope`). */
|
|
10
|
+
include: readonly string[];
|
|
11
|
+
/** Applied after `include`. */
|
|
12
|
+
exclude?: readonly string[];
|
|
13
|
+
/** Which of the publisher's own source files may contribute. Default: the run's
|
|
14
|
+
* own source files (`ctx.sourceFiles` — everything `files?` narrows). */
|
|
15
|
+
files?: readonly string[];
|
|
16
|
+
/** The published version. Default: the nearest `package.json` `version` walking
|
|
17
|
+
* up from `ctx.projectRoot`. */
|
|
18
|
+
version?: string;
|
|
19
|
+
/** Named output target, as on every other generator. */
|
|
20
|
+
target?: string;
|
|
21
|
+
}
|
|
22
|
+
export declare function sharedModelFile(opts: SharedModelFileOpts): Generator;
|
|
23
|
+
//# sourceMappingURL=shared-model-file.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-model-file.d.ts","sourceRoot":"","sources":["../../src/generators/shared-model-file.ts"],"names":[],"mappings":"AA6CA,OAAO,EAAc,KAAK,SAAS,EAAqC,MAAM,iBAAiB,CAAC;AAWhG,eAAO,MAAM,aAAa,yBAAyB,CAAC;AACpD,eAAO,MAAM,eAAe,sBAAsB,CAAC;AACnD,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAmB1C,MAAM,WAAW,mBAAmB;IAClC;qDACiD;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,qFAAqF;IACrF,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,+BAA+B;IAC/B,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B;8EAC0E;IAC1E,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B;qCACiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAiGD,wBAAgB,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,SAAS,CAqGpE"}
|