@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.
- package/dist/generator.d.ts +9 -0
- package/dist/generator.d.ts.map +1 -1
- package/dist/generator.js.map +1 -1
- package/dist/generators/api-field-shape.js +1 -1
- package/dist/generators/api-field-shape.js.map +1 -1
- package/dist/generators/api-model.d.ts.map +1 -1
- package/dist/generators/api-model.js +71 -42
- package/dist/generators/api-model.js.map +1 -1
- package/dist/generators/docs-data-builder.d.ts.map +1 -1
- package/dist/generators/docs-data-builder.js +36 -1
- package/dist/generators/docs-data-builder.js.map +1 -1
- package/dist/generators/docs-data.d.ts +14 -0
- package/dist/generators/docs-data.d.ts.map +1 -1
- package/dist/generators/docs-file.d.ts.map +1 -1
- package/dist/generators/docs-file.js +13 -4
- package/dist/generators/docs-file.js.map +1 -1
- package/dist/generators/extractor-file.d.ts.map +1 -1
- package/dist/generators/extractor-file.js +7 -11
- package/dist/generators/extractor-file.js.map +1 -1
- package/dist/generators/index.d.ts +4 -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/output-parser-file.d.ts.map +1 -1
- package/dist/generators/output-parser-file.js +12 -7
- package/dist/generators/output-parser-file.js.map +1 -1
- package/dist/generators/output-prompt-file.d.ts.map +1 -1
- package/dist/generators/output-prompt-file.js +14 -24
- package/dist/generators/output-prompt-file.js.map +1 -1
- package/dist/generators/requirement-tests.d.ts +44 -0
- package/dist/generators/requirement-tests.d.ts.map +1 -0
- package/dist/generators/requirement-tests.js +127 -0
- package/dist/generators/requirement-tests.js.map +1 -0
- package/dist/generators/requirements-file.d.ts +9 -0
- package/dist/generators/requirements-file.d.ts.map +1 -0
- package/dist/generators/requirements-file.js +53 -0
- package/dist/generators/requirements-file.js.map +1 -0
- package/dist/generators/requirements-markdown.d.ts +10 -0
- package/dist/generators/requirements-markdown.d.ts.map +1 -0
- package/dist/generators/requirements-markdown.js +71 -0
- package/dist/generators/requirements-markdown.js.map +1 -0
- package/dist/generators/requirements-toon.d.ts +3 -0
- package/dist/generators/requirements-toon.d.ts.map +1 -0
- package/dist/generators/requirements-toon.js +47 -0
- package/dist/generators/requirements-toon.js.map +1 -0
- package/dist/generators/requirements-view.d.ts +32 -0
- package/dist/generators/requirements-view.d.ts.map +1 -0
- package/dist/generators/requirements-view.js +64 -0
- package/dist/generators/requirements-view.js.map +1 -0
- package/dist/generators/trace-helper-file.d.ts.map +1 -1
- package/dist/generators/trace-helper-file.js +19 -11
- package/dist/generators/trace-helper-file.js.map +1 -1
- package/dist/index.d.ts +13 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -1
- package/dist/metaobjects-config.d.ts +12 -20
- package/dist/metaobjects-config.d.ts.map +1 -1
- package/dist/metaobjects-config.js +5 -1
- package/dist/metaobjects-config.js.map +1 -1
- package/dist/orphan-sweep.d.ts +38 -0
- package/dist/orphan-sweep.d.ts.map +1 -0
- package/dist/orphan-sweep.js +129 -0
- package/dist/orphan-sweep.js.map +1 -0
- package/dist/overwrite-policy.d.ts +97 -3
- package/dist/overwrite-policy.d.ts.map +1 -1
- package/dist/overwrite-policy.js +293 -81
- package/dist/overwrite-policy.js.map +1 -1
- package/dist/projection/build-projection-views.d.ts +8 -0
- package/dist/projection/build-projection-views.d.ts.map +1 -1
- package/dist/projection/build-projection-views.js +7 -4
- package/dist/projection/build-projection-views.js.map +1 -1
- package/dist/projection/extract-view-spec.d.ts.map +1 -1
- package/dist/projection/extract-view-spec.js +70 -4
- package/dist/projection/extract-view-spec.js.map +1 -1
- package/dist/projection/view-ddl-emit.d.ts.map +1 -1
- package/dist/projection/view-ddl-emit.js +52 -0
- package/dist/projection/view-ddl-emit.js.map +1 -1
- package/dist/projection/view-spec.d.ts +15 -0
- package/dist/projection/view-spec.d.ts.map +1 -1
- package/dist/reconcile-orphans.d.ts +80 -0
- package/dist/reconcile-orphans.d.ts.map +1 -0
- package/dist/reconcile-orphans.js +61 -0
- package/dist/reconcile-orphans.js.map +1 -0
- package/dist/render-engine/embedded-templates.generated.js +1 -1
- package/dist/render-engine/embedded-templates.generated.js.map +1 -1
- package/dist/requirement-walk.d.ts +57 -0
- package/dist/requirement-walk.d.ts.map +1 -0
- package/dist/requirement-walk.js +94 -0
- package/dist/requirement-walk.js.map +1 -0
- package/dist/runner.d.ts +35 -0
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +217 -21
- package/dist/runner.js.map +1 -1
- package/dist/templates/extractor.d.ts +4 -4
- package/dist/templates/extractor.d.ts.map +1 -1
- package/dist/templates/extractor.js +18 -22
- package/dist/templates/extractor.js.map +1 -1
- package/dist/templates/find-inbound.d.ts +44 -0
- package/dist/templates/find-inbound.d.ts.map +1 -0
- package/dist/templates/find-inbound.js +69 -0
- package/dist/templates/find-inbound.js.map +1 -0
- package/dist/templates/inferred-types.d.ts.map +1 -1
- package/dist/templates/inferred-types.js +8 -4
- package/dist/templates/inferred-types.js.map +1 -1
- package/dist/templates/output-format-spec-emitter.d.ts.map +1 -1
- package/dist/templates/output-format-spec-emitter.js +7 -4
- package/dist/templates/output-format-spec-emitter.js.map +1 -1
- package/dist/templates/output-parser.d.ts +8 -3
- package/dist/templates/output-parser.d.ts.map +1 -1
- package/dist/templates/output-parser.js +71 -31
- package/dist/templates/output-parser.js.map +1 -1
- package/dist/templates/output-prompt.d.ts +6 -5
- package/dist/templates/output-prompt.d.ts.map +1 -1
- package/dist/templates/output-prompt.js +26 -37
- package/dist/templates/output-prompt.js.map +1 -1
- package/dist/templates/queries.js +1 -1
- package/dist/templates/queries.js.map +1 -1
- package/dist/templates/requirement-test.d.ts +12 -0
- package/dist/templates/requirement-test.d.ts.map +1 -0
- package/dist/templates/requirement-test.js +120 -0
- package/dist/templates/requirement-test.js.map +1 -0
- package/dist/templates/zod-validators.d.ts.map +1 -1
- package/dist/templates/zod-validators.js +32 -15
- package/dist/templates/zod-validators.js.map +1 -1
- package/package.json +9 -8
- package/src/generator.ts +9 -0
- package/src/generators/api-field-shape.ts +1 -1
- package/src/generators/api-model.ts +69 -44
- package/src/generators/docs-data-builder.ts +37 -0
- package/src/generators/docs-data.ts +15 -0
- package/src/generators/docs-file.ts +13 -4
- package/src/generators/extractor-file.ts +7 -11
- package/src/generators/index.ts +11 -0
- package/src/generators/output-parser-file.ts +12 -7
- package/src/generators/output-prompt-file.ts +14 -27
- package/src/generators/requirement-tests.ts +203 -0
- package/src/generators/requirements-file.ts +71 -0
- package/src/generators/requirements-markdown.ts +72 -0
- package/src/generators/requirements-toon.ts +64 -0
- package/src/generators/requirements-view.ts +93 -0
- package/src/generators/trace-helper-file.ts +20 -10
- package/src/index.ts +47 -1
- package/src/metaobjects-config.ts +17 -22
- package/src/orphan-sweep.ts +178 -0
- package/src/overwrite-policy.ts +362 -89
- package/src/projection/build-projection-views.ts +15 -4
- package/src/projection/extract-view-spec.ts +62 -3
- package/src/projection/view-ddl-emit.ts +54 -0
- package/src/projection/view-spec.ts +25 -0
- package/src/reconcile-orphans.ts +136 -0
- package/src/reference/barrel.ts +4 -0
- package/src/reference/entity.ts +4 -0
- package/src/reference/queries.ts +4 -0
- package/src/reference/routes.ts +4 -0
- package/src/render-engine/embedded-templates.generated.ts +1 -1
- package/src/requirement-walk.ts +124 -0
- package/src/runner.ts +266 -27
- package/src/templates/extractor.ts +19 -24
- package/src/templates/find-inbound.ts +96 -0
- package/src/templates/inferred-types.ts +8 -4
- package/src/templates/output-format-spec-emitter.ts +7 -4
- package/src/templates/output-parser.ts +76 -34
- package/src/templates/output-prompt.ts +29 -42
- package/src/templates/queries.ts +1 -1
- package/src/templates/requirement-test.ts +140 -0
- package/src/templates/zod-validators.ts +32 -15
- package/templates/docs/entity-page.md.mustache +8 -0
|
@@ -1,10 +1,11 @@
|
|
|
1
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
2
|
/**
|
|
5
|
-
* Render the full
|
|
6
|
-
* Throws if the template isn't found, isn't a template.
|
|
7
|
-
* or its @
|
|
3
|
+
* Render the full response-format fragment file for one responding
|
|
4
|
+
* `template.prompt`. Throws if the template isn't found, isn't a template.prompt,
|
|
5
|
+
* or its @responseRef is missing / doesn't resolve to an object.value.
|
|
6
|
+
*
|
|
7
|
+
* ADR-0052: the fragment describes the shape named by `@responseRef` — the reply —
|
|
8
|
+
* not `@payloadRef`, which is the request this prompt renders outbound.
|
|
8
9
|
*/
|
|
9
10
|
export declare function renderOutputPrompt(root: MetaData, templateName: string): string;
|
|
10
11
|
//# sourceMappingURL=output-prompt.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output-prompt.d.ts","sourceRoot":"","sources":["../../src/templates/output-prompt.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,KAAK,QAAQ,
|
|
1
|
+
{"version":3,"file":"output-prompt.d.ts","sourceRoot":"","sources":["../../src/templates/output-prompt.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,KAAK,QAAQ,EAId,MAAM,0BAA0B,CAAC;AASlC;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CA8C/E"}
|
|
@@ -1,58 +1,47 @@
|
|
|
1
1
|
// server/typescript/packages/codegen-ts/src/templates/output-prompt.ts
|
|
2
2
|
//
|
|
3
|
-
// Per-template renderer for the FR-010 artifact-1
|
|
4
|
-
// ("produce your answer like this"). For each
|
|
5
|
-
//
|
|
6
|
-
// exporting `render<
|
|
7
|
-
// renderOutputFormat(). The baked OutputFormatSpec's rootName is the
|
|
8
|
-
// so the
|
|
3
|
+
// Per-template renderer for the FR-010 artifact-1 response-format fragment
|
|
4
|
+
// ("produce your answer like this"). For each `template.prompt` whose @responseRef
|
|
5
|
+
// resolves to a value-object, emits a `<PromptName>.responseFormat.ts` file
|
|
6
|
+
// exporting `render<PromptName>Format(overrides?)` backed by the render engine's
|
|
7
|
+
// renderOutputFormat(). The baked OutputFormatSpec's rootName is the RESPONSE VO's
|
|
8
|
+
// name, so the fragment and the extract() codegen agree on the root name.
|
|
9
9
|
//
|
|
10
10
|
// Mirrors the C# OutputPromptGenerator + OutputFormatSpecEmitter (split into a
|
|
11
11
|
// generator factory + this pure renderer, matching the TS output-parser shape).
|
|
12
|
-
import { TYPE_TEMPLATE,
|
|
12
|
+
import { TYPE_TEMPLATE, TEMPLATE_SUBTYPE_PROMPT, TEMPLATE_ATTR_RESPONSE_REF, } from "@metaobjectsdev/metadata";
|
|
13
13
|
import { specLiteral } from "./output-format-spec-emitter.js";
|
|
14
|
-
|
|
15
|
-
// ADR-0042: resolveObjectRef gives package-local-before-root-level precedence for a bare ref, FQN-exact otherwise.
|
|
16
|
-
function findObject(root, name, referrerPkg = "") {
|
|
17
|
-
return resolveObjectRef(root, name, referrerPkg).node;
|
|
18
|
-
}
|
|
14
|
+
import { responseShape } from "./find-inbound.js";
|
|
19
15
|
// ADR-0039: resolving — root has no super (children()==ownChildren()); a top-level object/template may itself extend, so resolve rather than work-by-accident.
|
|
20
16
|
function findTemplate(root, name) {
|
|
21
17
|
return root.children().find((c) => c.type === TYPE_TEMPLATE && c.name === name);
|
|
22
18
|
}
|
|
23
|
-
/** True iff the template.output's @format is json or xml (the renderable structured formats). */
|
|
24
|
-
export function templateSupportsPrompt(tmpl) {
|
|
25
|
-
// ADR-0039: resolving — a template may inherit its @* refs/format/kind via extends.
|
|
26
|
-
const f = (tmpl.attr(TEMPLATE_ATTR_FORMAT) ?? "text").toLowerCase();
|
|
27
|
-
return f === "json" || f === "xml";
|
|
28
|
-
}
|
|
29
19
|
/**
|
|
30
|
-
* Render the full
|
|
31
|
-
* Throws if the template isn't found, isn't a template.
|
|
32
|
-
* or its @
|
|
20
|
+
* Render the full response-format fragment file for one responding
|
|
21
|
+
* `template.prompt`. Throws if the template isn't found, isn't a template.prompt,
|
|
22
|
+
* or its @responseRef is missing / doesn't resolve to an object.value.
|
|
23
|
+
*
|
|
24
|
+
* ADR-0052: the fragment describes the shape named by `@responseRef` — the reply —
|
|
25
|
+
* not `@payloadRef`, which is the request this prompt renders outbound.
|
|
33
26
|
*/
|
|
34
27
|
export function renderOutputPrompt(root, templateName) {
|
|
35
28
|
const tmpl = findTemplate(root, templateName);
|
|
36
29
|
if (!tmpl) {
|
|
37
30
|
throw new Error(`template "${templateName}" not found in metadata root`);
|
|
38
31
|
}
|
|
39
|
-
if (tmpl.subType !==
|
|
40
|
-
throw new Error(`template "${templateName}" is not a template.
|
|
41
|
-
}
|
|
42
|
-
if (!templateSupportsPrompt(tmpl)) {
|
|
43
|
-
throw new Error(`template "${templateName}" @format is not json/xml — no prompt fragment`);
|
|
44
|
-
}
|
|
45
|
-
// ADR-0039: resolving — a template may inherit its @* refs/format/kind via extends.
|
|
46
|
-
const payloadRef = tmpl.attr(TEMPLATE_ATTR_PAYLOAD_REF);
|
|
47
|
-
if (typeof payloadRef !== "string") {
|
|
48
|
-
throw new Error(`template "${templateName}" missing @payloadRef`);
|
|
32
|
+
if (tmpl.subType !== TEMPLATE_SUBTYPE_PROMPT) {
|
|
33
|
+
throw new Error(`template "${templateName}" is not a template.prompt (got subtype "${tmpl.subType}")`);
|
|
49
34
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
35
|
+
const shape = responseShape(root, tmpl);
|
|
36
|
+
if (!shape) {
|
|
37
|
+
// ADR-0039: resolving — @responseRef may be inherited via extends.
|
|
38
|
+
const declared = tmpl.attr(TEMPLATE_ATTR_RESPONSE_REF);
|
|
39
|
+
throw new Error(typeof declared === "string"
|
|
40
|
+
? `template "${templateName}" @responseRef "${declared}" not found in metadata root`
|
|
41
|
+
: `template "${templateName}" missing @responseRef`);
|
|
54
42
|
}
|
|
55
|
-
|
|
43
|
+
const { vo, ref: payloadRef } = shape;
|
|
44
|
+
// rootName == response VO name so the fragment and extract() agree.
|
|
56
45
|
const spec = specLiteral(vo, tmpl, payloadRef);
|
|
57
46
|
const specName = `${templateName}FormatSpec`;
|
|
58
47
|
const fnName = `render${templateName}Format`;
|
|
@@ -68,7 +57,7 @@ export function renderOutputPrompt(root, templateName) {
|
|
|
68
57
|
const ${specName}: OutputFormatSpec = ${spec};
|
|
69
58
|
|
|
70
59
|
/**
|
|
71
|
-
* The
|
|
60
|
+
* The response-format instruction fragment for the ${templateName} template.prompt
|
|
72
61
|
* ("produce your answer like this"). Comment-free — guidance lives in prose /
|
|
73
62
|
* inline placeholders / a filled skeleton. Pass \`overrides\` to override the style
|
|
74
63
|
* or per-field example/instruction at render time.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output-prompt.js","sourceRoot":"","sources":["../../src/templates/output-prompt.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,EAAE;AACF,
|
|
1
|
+
{"version":3,"file":"output-prompt.js","sourceRoot":"","sources":["../../src/templates/output-prompt.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,EAAE;AACF,2EAA2E;AAC3E,mFAAmF;AACnF,4EAA4E;AAC5E,iFAAiF;AACjF,mFAAmF;AACnF,0EAA0E;AAC1E,EAAE;AACF,+EAA+E;AAC/E,gFAAgF;AAEhF,OAAO,EAEL,aAAa,EACb,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,+JAA+J;AAC/J,SAAS,YAAY,CAAC,IAAc,EAAE,IAAY;IAChD,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAClF,CAAC;AAED;;;;;;;GAOG;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,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,mEAAmE;QACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACvD,MAAM,IAAI,KAAK,CACb,OAAO,QAAQ,KAAK,QAAQ;YAC1B,CAAC,CAAC,aAAa,YAAY,mBAAmB,QAAQ,8BAA8B;YACpF,CAAC,CAAC,aAAa,YAAY,wBAAwB,CACtD,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAEtC,oEAAoE;IACpE,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;;;sDAGU,YAAY;;;;;kBAKhD,MAAM;8BACM,QAAQ;;CAErC,CAAC;AACF,CAAC"}
|
|
@@ -108,7 +108,7 @@ export function renderUpdateFn(entity, ctx) {
|
|
|
108
108
|
const fnName = updateFnName(entityName);
|
|
109
109
|
const findByIdFn = findByIdFnName(entityName);
|
|
110
110
|
// PATCH contract (FR-035): validate the caller's assignments against the
|
|
111
|
-
// UPDATE schema (all-optional,
|
|
111
|
+
// UPDATE schema (all-optional; PK, @mutability readOnly AND writeOnce excluded; no insert-time transforms
|
|
112
112
|
// like @autoSet-onCreate → now() or the InsertSchema's discriminator handling)
|
|
113
113
|
// — NOT `InsertSchema.partial()`. The typed `<Entity>Patch` param makes a
|
|
114
114
|
// renamed/dropped field a compile error at every call site (PATCH-1..4);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/templates/queries.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/templates/queries.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { RequirementView, ResolvedClaim } from "../requirement-walk.js";
|
|
2
|
+
export interface RequirementTestArgs {
|
|
3
|
+
readonly view: RequirementView;
|
|
4
|
+
readonly concern: string;
|
|
5
|
+
readonly statement: string;
|
|
6
|
+
readonly counterexample: string;
|
|
7
|
+
readonly targets: readonly ResolvedClaim[];
|
|
8
|
+
readonly disposition?: string | undefined;
|
|
9
|
+
readonly trackedBy?: readonly string[] | undefined;
|
|
10
|
+
}
|
|
11
|
+
export declare function renderRequirementTest(a: RequirementTestArgs): string;
|
|
12
|
+
//# sourceMappingURL=requirement-test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requirement-test.d.ts","sourceRoot":"","sources":["../../src/templates/requirement-test.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE7E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,CAAC;IAC3C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;CACpD;AA8ED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAsCpE"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
// FR-038 §4 — the DEFAULT requirement-test renderer.
|
|
2
|
+
//
|
|
3
|
+
// "Default" is the operative word: an application owns its testing style, so this
|
|
4
|
+
// is what it gets when it registers no renderer of its own. The library supplies
|
|
5
|
+
// DATA (statement, counterexample, status, claimed refs); a renderer supplies SYNTAX.
|
|
6
|
+
// That separation is what keeps bun / vitest / jest / pytest / JUnit / xUnit from
|
|
7
|
+
// each being an upstream change to this package.
|
|
8
|
+
//
|
|
9
|
+
// The load-bearing rule: an empty generated stub must NOT pass. A `live` entry
|
|
10
|
+
// claims the capability works, so an empty green test asserts the opposite of the
|
|
11
|
+
// claim — the original defect recreated in a new place.
|
|
12
|
+
import { GENERATED_HEADER } from "../constants.js";
|
|
13
|
+
/**
|
|
14
|
+
* Statuses whose stub is SKIPPED rather than failing.
|
|
15
|
+
*
|
|
16
|
+
* The rule is "does this entry claim the capability works right now?" — only `live`
|
|
17
|
+
* and `partial` do. `planned` is intended-not-built; `abandoned` and `superseded`
|
|
18
|
+
* describe a capability deliberately retired, whose `@implementedBy` is SUPPOSED to
|
|
19
|
+
* dangle. Emitting a failing stub for any of the three reddens an application's suite
|
|
20
|
+
* forever for something nobody intends to build, which is the noise an app silences
|
|
21
|
+
* wholesale — taking the `live` stubs with it.
|
|
22
|
+
*
|
|
23
|
+
* (FR-038 §4 proposes retiring `abandoned`/`superseded` from the vocabulary entirely.
|
|
24
|
+
* Until that breaking cut lands they are legal `@status` values, so the renderer has
|
|
25
|
+
* to handle them.)
|
|
26
|
+
*/
|
|
27
|
+
const SKIPPED_STATUSES = new Set([
|
|
28
|
+
"planned",
|
|
29
|
+
"abandoned",
|
|
30
|
+
"superseded",
|
|
31
|
+
]);
|
|
32
|
+
/**
|
|
33
|
+
* Escape an author-supplied value for a double-quoted TS string literal.
|
|
34
|
+
*
|
|
35
|
+
* Unescaped, a quote closes the literal and a newline breaks it — emitting a stub that
|
|
36
|
+
* does not parse, which `meta gen` still reports as written because nothing here
|
|
37
|
+
* compiles it.
|
|
38
|
+
*
|
|
39
|
+
* Applied to EVERY value that reaches a literal, not only the two obviously-prose ones.
|
|
40
|
+
* `@statement` and `@counterexample` are the fields that look dangerous, but the requirement
|
|
41
|
+
* path and the concern land in the same two literals, and escaping only what looks like
|
|
42
|
+
* prose leaves the identical hole open one line down.
|
|
43
|
+
*/
|
|
44
|
+
function forStringLiteral(s) {
|
|
45
|
+
return s
|
|
46
|
+
.replace(/\\/g, "\\\\")
|
|
47
|
+
.replace(/"/g, '\\"')
|
|
48
|
+
.replace(/\r?\n/g, "\\n")
|
|
49
|
+
.replace(/\r/g, "\\r");
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Make an author-supplied value safe inside a JSDoc block, preserving what was written.
|
|
53
|
+
*
|
|
54
|
+
* A comment-terminator would close the block early and spill the remainder into code; a
|
|
55
|
+
* newline needs its own continuation marker or the block's shape breaks. The terminator
|
|
56
|
+
* is separated by a space rather than deleted, so the sentence still reads — and
|
|
57
|
+
* deliberately NOT by a zero-width space, which would keep the text pixel-identical at
|
|
58
|
+
* the cost of putting an invisible character into generated source that nobody can see
|
|
59
|
+
* when debugging it.
|
|
60
|
+
*
|
|
61
|
+
* Every value interpolated into the block goes through this, including the ones whose
|
|
62
|
+
* shape the loader constrains. `@trackedBy` is the one that makes the rule non-optional:
|
|
63
|
+
* it is registered free-form ON PURPOSE — `verify` never resolves it, because which
|
|
64
|
+
* sprint owns a gap belongs in the tracker — so its contract invites arbitrary text.
|
|
65
|
+
*/
|
|
66
|
+
function forDocComment(s) {
|
|
67
|
+
return s.replace(/\*\//g, "* /").replace(/\r?\n/g, "\n * ");
|
|
68
|
+
}
|
|
69
|
+
function claimLines(targets) {
|
|
70
|
+
if (targets.length === 0) {
|
|
71
|
+
return " * (none — this requirement names no model nodes)";
|
|
72
|
+
}
|
|
73
|
+
return targets
|
|
74
|
+
.map((t) => ` * - ${forDocComment(t.ref)} (${forDocComment(t.concern)})`)
|
|
75
|
+
.join("\n");
|
|
76
|
+
}
|
|
77
|
+
function gapLine(a) {
|
|
78
|
+
const tracked = a.trackedBy ?? [];
|
|
79
|
+
if (a.disposition === undefined && tracked.length === 0)
|
|
80
|
+
return "";
|
|
81
|
+
const decided = forDocComment(a.disposition ?? "undecided");
|
|
82
|
+
const refs = tracked.length > 0 ? ` — ${tracked.map(forDocComment).join(", ")}` : "";
|
|
83
|
+
return `\n *\n * Known gap: ${decided}${refs}`;
|
|
84
|
+
}
|
|
85
|
+
export function renderRequirementTest(a) {
|
|
86
|
+
const skipped = a.view.status !== undefined && SKIPPED_STATUSES.has(a.view.status);
|
|
87
|
+
const statement = forDocComment(a.statement);
|
|
88
|
+
const counterexample = forDocComment(a.counterexample);
|
|
89
|
+
const runner = skipped ? "test.skip" : "test";
|
|
90
|
+
// The test NAME is the link between the ledger entry and the assertion, so it is
|
|
91
|
+
// built from the same two values every time — but it is still a string literal, and
|
|
92
|
+
// an unescaped quote in either closes it.
|
|
93
|
+
const testName = `${forStringLiteral(a.view.path)} [${forStringLiteral(a.concern)}]`;
|
|
94
|
+
// A `live` or `partial` stub asserts FAILURE until someone writes the real
|
|
95
|
+
// assertion over it. `expect.unreachable` names the requirement in the failure
|
|
96
|
+
// message, so a red run says which claim is unproven rather than just "failed".
|
|
97
|
+
const body = skipped
|
|
98
|
+
? ` // Intended, not built. Write the assertion when this becomes live.`
|
|
99
|
+
: ` expect.unreachable(\n` +
|
|
100
|
+
` "unimplemented requirement stub: ${testName} — " +\n` +
|
|
101
|
+
` "replace this with an assertion that fails when: ${forStringLiteral(a.counterexample)}",\n` +
|
|
102
|
+
` );`;
|
|
103
|
+
return (`// ${GENERATED_HEADER}.\n` +
|
|
104
|
+
`// The test IDENTITY is generated from the requirement; the BODY below is yours\n` +
|
|
105
|
+
`// and survives regeneration. Do not rename the test — the name is the link.\n` +
|
|
106
|
+
`import { test, expect } from "bun:test";\n` +
|
|
107
|
+
`\n` +
|
|
108
|
+
`/**\n` +
|
|
109
|
+
` * ${statement}\n` +
|
|
110
|
+
` *\n` +
|
|
111
|
+
` * Counterexample: ${counterexample}${gapLine(a)}\n` +
|
|
112
|
+
` *\n` +
|
|
113
|
+
` * Claims:\n` +
|
|
114
|
+
`${claimLines(a.targets)}\n` +
|
|
115
|
+
` */\n` +
|
|
116
|
+
`${runner}("${testName}", () => {\n` +
|
|
117
|
+
`${body}\n` +
|
|
118
|
+
`});\n`);
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=requirement-test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requirement-test.js","sourceRoot":"","sources":["../../src/templates/requirement-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zod-validators.d.ts","sourceRoot":"","sources":["../../src/templates/zod-validators.ts"],"names":[],"mappings":"AAWA,OAAO,EAAuB,KAAK,IAAI,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,UAAU,EAA2B,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"zod-validators.d.ts","sourceRoot":"","sources":["../../src/templates/zod-validators.ts"],"names":[],"mappings":"AAWA,OAAO,EAAuB,KAAK,IAAI,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,UAAU,EAA2B,MAAM,0BAA0B,CAAC;AA2B/E,OAAO,EAAyB,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAMjF;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,UAAU,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAkBrG;AAED;8CAC8C;AAC9C,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAErD;AAED;;;;4DAI4D;AAC5D,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAMzD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI,CA2BrF;AAED;;2EAE2E;AAC3E,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,EAAE,CAOnE;AA2DD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI,CAyDjF;AAED,wEAAwE;AACxE,MAAM,WAAW,gBAAgB;IAC/B,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,QAAQ,EAAE,OAAO,CAAC;IAClB;sEACkE;IAClE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;oDACgD;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,UAAU,GAAG,gBAAgB,EAAE,CA0BtE;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,UAAU,GAAG,gBAAgB,EAAE,CAgCtE;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI,CAqI9E"}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
// downstream (e.g. to LLM tool_use input_schema) lost the nested object shape.
|
|
11
11
|
import { code, joinCode, imp } from "ts-poet";
|
|
12
12
|
import { MetaObject, MetaField, stripPackage } from "@metaobjectsdev/metadata";
|
|
13
|
-
import { FIELD_SUBTYPE_STRING, FIELD_SUBTYPE_INT, FIELD_SUBTYPE_LONG, FIELD_SUBTYPE_CURRENCY, FIELD_SUBTYPE_BOOLEAN, FIELD_SUBTYPE_DOUBLE, FIELD_SUBTYPE_FLOAT, FIELD_SUBTYPE_DATE, FIELD_SUBTYPE_TIME, FIELD_SUBTYPE_TIMESTAMP, FIELD_SUBTYPE_ENUM, FIELD_SUBTYPE_OBJECT, FIELD_SUBTYPE_MAP, FIELD_SUBTYPE_UUID, FIELD_SUBTYPE_URI, FIELD_SUBTYPE_INET, VALIDATOR_SUBTYPE_REQUIRED, VALIDATOR_SUBTYPE_LENGTH, VALIDATOR_SUBTYPE_REGEX, VALIDATOR_SUBTYPE_NUMERIC, VALIDATOR_SUBTYPE_ARRAY, IDENTITY_ATTR_FIELDS, IDENTITY_ATTR_GENERATION, FIELD_ATTR_STRING_FORMAT, FIELD_ATTR_LENIENT, STRING_FORMAT_EMAIL, STRING_FORMAT_HOSTNAME, FIELD_ATTR_REQUIRED, FIELD_ATTR_MAX_LENGTH, FIELD_ATTR_DEFAULT, FIELD_ATTR_AUTO_SET, FIELD_ATTR_OBJECT_REF, FIELD_ATTR_VALUE_TYPE,
|
|
13
|
+
import { FIELD_SUBTYPE_STRING, FIELD_SUBTYPE_INT, FIELD_SUBTYPE_LONG, FIELD_SUBTYPE_CURRENCY, FIELD_SUBTYPE_BOOLEAN, FIELD_SUBTYPE_DOUBLE, FIELD_SUBTYPE_FLOAT, FIELD_SUBTYPE_DATE, FIELD_SUBTYPE_TIME, FIELD_SUBTYPE_TIMESTAMP, FIELD_SUBTYPE_ENUM, FIELD_SUBTYPE_OBJECT, FIELD_SUBTYPE_MAP, FIELD_SUBTYPE_UUID, FIELD_SUBTYPE_URI, FIELD_SUBTYPE_INET, VALIDATOR_SUBTYPE_REQUIRED, VALIDATOR_SUBTYPE_LENGTH, VALIDATOR_SUBTYPE_REGEX, VALIDATOR_SUBTYPE_NUMERIC, VALIDATOR_SUBTYPE_ARRAY, IDENTITY_ATTR_FIELDS, IDENTITY_ATTR_GENERATION, FIELD_ATTR_STRING_FORMAT, FIELD_ATTR_LENIENT, STRING_FORMAT_EMAIL, STRING_FORMAT_HOSTNAME, FIELD_ATTR_REQUIRED, FIELD_ATTR_MAX_LENGTH, FIELD_ATTR_DEFAULT, FIELD_ATTR_AUTO_SET, FIELD_ATTR_OBJECT_REF, FIELD_ATTR_VALUE_TYPE, isReadOnlyMutability, isWriteOnceMutability, FIELD_ATTR_DB_COLUMN_TYPE, DB_COLUMN_TYPE_JSONB, AUTO_SET_ON_CREATE, AUTO_SET_ON_UPDATE, VALIDATOR_ATTR_MAX, VALIDATOR_ATTR_MIN, VALIDATOR_ATTR_PATTERN, GENERATION_INCREMENT, GENERATION_UUID, OBJECT_ATTR_DISCRIMINATOR, OBJECT_ATTR_DISCRIMINATOR_VALUE, OBJECT_SUBTYPE_VALUE, } from "@metaobjectsdev/metadata";
|
|
14
14
|
import { enumValues, zodEnumExpr } from "../enum-meta.js";
|
|
15
15
|
import { ZOD_INET_EXPR } from "./net-regex.js";
|
|
16
16
|
import { renderDocsFor } from "./jsdoc.js";
|
|
@@ -189,12 +189,13 @@ export function renderInsertSchemaOnly(obj, ctx) {
|
|
|
189
189
|
for (const child of obj.fields()) {
|
|
190
190
|
if (autoGenPkFields.has(child.name))
|
|
191
191
|
continue;
|
|
192
|
-
// FR-
|
|
193
|
-
// owner; the application has no path to write
|
|
194
|
-
// create-shape schema entirely.
|
|
192
|
+
// FR-037 R1: an @mutability:"readOnly" field is populated by DB / replication /
|
|
193
|
+
// external owner; the application has no path to write it. Exclude from the
|
|
194
|
+
// create-shape schema entirely. ("writeOnce" is NOT excluded here — that is
|
|
195
|
+
// the whole point of the mode: settable on create, frozen after.)
|
|
195
196
|
// #213 — a derived (origin-bearing) field is read-only (FR-024 §7 / ADR-0028):
|
|
196
|
-
// excluded from the Insert/Update/preserving schemas, exactly like
|
|
197
|
-
if (child
|
|
197
|
+
// excluded from the Insert/Update/preserving schemas, exactly like readOnly.
|
|
198
|
+
if (isReadOnlyMutability(child) || child.isDerived())
|
|
198
199
|
continue;
|
|
199
200
|
// FR-017 Tier 1: TPH subtype pins its discriminator field to z.literal(...).
|
|
200
201
|
if (tphPin !== undefined && child.name === tphPin.fieldName) {
|
|
@@ -251,8 +252,9 @@ export function insertSchemaFields(obj) {
|
|
|
251
252
|
if (autoGenPkFields.has(child.name))
|
|
252
253
|
continue;
|
|
253
254
|
// #213 — a derived (origin-bearing) field is read-only (FR-024 §7 / ADR-0028):
|
|
254
|
-
// excluded from the Insert/Update/preserving schemas, exactly like
|
|
255
|
-
|
|
255
|
+
// excluded from the Insert/Update/preserving schemas, exactly like readOnly.
|
|
256
|
+
// "writeOnce" stays IN the create shape — it is settable exactly once.
|
|
257
|
+
if (isReadOnlyMutability(child) || child.isDerived())
|
|
256
258
|
continue;
|
|
257
259
|
if (tphPin !== undefined && child.name === tphPin.fieldName) {
|
|
258
260
|
out.push({ name: child.name, optional: false, pinnedLiteral: tphPin.value });
|
|
@@ -288,8 +290,17 @@ export function updateSchemaFields(obj) {
|
|
|
288
290
|
if (autoGenPkFields.has(child.name))
|
|
289
291
|
continue;
|
|
290
292
|
// #213 — a derived (origin-bearing) field is read-only (FR-024 §7 / ADR-0028):
|
|
291
|
-
// excluded from the Insert/Update/preserving schemas, exactly like
|
|
292
|
-
if (child
|
|
293
|
+
// excluded from the Insert/Update/preserving schemas, exactly like readOnly.
|
|
294
|
+
if (isReadOnlyMutability(child) || child.isDerived())
|
|
295
|
+
continue;
|
|
296
|
+
// FR-037 R1 — "writeOnce" leaves the UPDATE shape, and only the update shape.
|
|
297
|
+
// Omitted, not rejected: a key absent from the settable set is STRIPPED on this
|
|
298
|
+
// path today (D1), and the generated edit form submits EVERY registered field
|
|
299
|
+
// (0.19.2 switched the resolver to UpdateSchema on edit and does not
|
|
300
|
+
// diff-and-omit), so 400-on-present would fail every save on every generated
|
|
301
|
+
// edit form for an entity carrying one. Clearing counts as a write, so the
|
|
302
|
+
// FR-035 present-null arm never reaches it either.
|
|
303
|
+
if (isWriteOnceMutability(child))
|
|
293
304
|
continue;
|
|
294
305
|
// TPH subtype discriminator: omitted from the update schema entirely.
|
|
295
306
|
if (tphPin !== undefined && child.name === tphPin.fieldName)
|
|
@@ -324,13 +335,13 @@ export function renderZodValidators(obj, ctx) {
|
|
|
324
335
|
for (const child of obj.fields()) {
|
|
325
336
|
if (autoGenPkFields.has(child.name))
|
|
326
337
|
continue;
|
|
327
|
-
// FR-
|
|
328
|
-
// The DB / trigger / replication owns the write path; the app
|
|
329
|
-
// pass these values in POST/PATCH bodies (routesFile enforces the same
|
|
338
|
+
// FR-037 R1: an @mutability:"readOnly" field appears in neither InsertSchema
|
|
339
|
+
// nor UpdateSchema. The DB / trigger / replication owns the write path; the app
|
|
340
|
+
// must not pass these values in POST/PATCH bodies (routesFile enforces the same
|
|
330
341
|
// contract at the boundary with a 400 response).
|
|
331
342
|
// #213 — a derived (origin-bearing) field is read-only (FR-024 §7 / ADR-0028):
|
|
332
|
-
// excluded from the Insert/Update/preserving schemas, exactly like
|
|
333
|
-
if (child
|
|
343
|
+
// excluded from the Insert/Update/preserving schemas, exactly like readOnly.
|
|
344
|
+
if (isReadOnlyMutability(child) || child.isDerived())
|
|
334
345
|
continue;
|
|
335
346
|
// FR-017 Tier 1: TPH subtype pins its discriminator field to z.literal(...).
|
|
336
347
|
// The discriminator is implicit on subtype rows (controlled by URL / insert
|
|
@@ -363,6 +374,12 @@ export function renderZodValidators(obj, ctx) {
|
|
|
363
374
|
insertFieldLines.push(fieldLine);
|
|
364
375
|
preservingFieldLines.push(fieldLine);
|
|
365
376
|
}
|
|
377
|
+
// FR-037 R1 — "writeOnce": present in Insert + preserving (both are CREATE
|
|
378
|
+
// shapes), absent from Update. Same mechanism that drops @autoSet onCreate
|
|
379
|
+
// below; a value presented on PATCH is stripped, not 400'd (see
|
|
380
|
+
// updateSchemaFields for the grounding).
|
|
381
|
+
if (isWriteOnceMutability(child))
|
|
382
|
+
continue;
|
|
366
383
|
// Update schema: @autoSet onCreate → omit entirely; onUpdate → transform
|
|
367
384
|
if (autoSet === AUTO_SET_ON_CREATE) {
|
|
368
385
|
// Omit: creation timestamps cannot be changed after creation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zod-validators.js","sourceRoot":"","sources":["../../src/templates/zod-validators.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"zod-validators.js","sourceRoot":"","sources":["../../src/templates/zod-validators.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.
|
|
3
|
+
"version": "0.24.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",
|
|
@@ -111,23 +111,24 @@
|
|
|
111
111
|
"access": "public"
|
|
112
112
|
},
|
|
113
113
|
"dependencies": {
|
|
114
|
-
"@metaobjectsdev/metadata": "0.
|
|
115
|
-
"@metaobjectsdev/render": "0.
|
|
114
|
+
"@metaobjectsdev/metadata": "0.24.1",
|
|
115
|
+
"@metaobjectsdev/render": "0.24.1",
|
|
116
116
|
"@biomejs/js-api": "^0.7.0",
|
|
117
117
|
"@biomejs/wasm-nodejs": "^1.9.4",
|
|
118
|
+
"@toon-format/toon": "^2.3.0",
|
|
118
119
|
"ts-poet": "^6.10.0"
|
|
119
120
|
},
|
|
120
121
|
"peerDependencies": {
|
|
121
|
-
"drizzle-orm": ">=0.
|
|
122
|
+
"drizzle-orm": ">=0.38.0 <1.0.0",
|
|
122
123
|
"zod": ">=3.23.0 <5.0.0"
|
|
123
124
|
},
|
|
124
125
|
"devDependencies": {
|
|
125
126
|
"@biomejs/biome": "^1.9.0",
|
|
126
|
-
"@metaobjectsdev/codegen-ts-react": "0.
|
|
127
|
-
"@metaobjectsdev/migrate-ts": "0.
|
|
128
|
-
"@metaobjectsdev/runtime-ts": "0.
|
|
127
|
+
"@metaobjectsdev/codegen-ts-react": "0.24.1",
|
|
128
|
+
"@metaobjectsdev/migrate-ts": "0.24.1",
|
|
129
|
+
"@metaobjectsdev/runtime-ts": "0.24.1",
|
|
129
130
|
"bun-types": "latest",
|
|
130
|
-
"drizzle-orm": "^0.
|
|
131
|
+
"drizzle-orm": "^0.38.0",
|
|
131
132
|
"hono": "^4.6.0",
|
|
132
133
|
"typescript": "^5.6.0",
|
|
133
134
|
"zod": "^3.23.0"
|
package/src/generator.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { MetaObject, MetaRoot } from "@metaobjectsdev/metadata";
|
|
2
2
|
import type { RenderContext } from "./render-context.js";
|
|
3
3
|
import type { ResolvedGenConfig } from "./metaobjects-config.js";
|
|
4
|
+
import type { OrphanPolicy } from "./reconcile-orphans.js";
|
|
4
5
|
import { effectivePackage } from "./docs-paths.js";
|
|
5
6
|
|
|
6
7
|
export interface EmittedFile {
|
|
@@ -48,6 +49,14 @@ export interface Generator {
|
|
|
48
49
|
/** Marks the generator that produces entity modules — the runner uses its
|
|
49
50
|
* target as the entity-module target for cross-target import resolution. */
|
|
50
51
|
emitsEntityModule?: boolean;
|
|
52
|
+
/** FR-038 §8 — OPT IN to orphan reconciliation by declaring the output
|
|
53
|
+
* namespace this generator exclusively owns. When set, the runner removes
|
|
54
|
+
* files inside that namespace which a previous run generated and this run did
|
|
55
|
+
* not, REFUSING any that have been edited by hand. Absent (the default for
|
|
56
|
+
* every existing generator) means the runner never deletes anything, which is
|
|
57
|
+
* why this is additive: output stops being generated and the stale file simply
|
|
58
|
+
* stays, exactly as before. */
|
|
59
|
+
orphanPolicy?: OrphanPolicy;
|
|
51
60
|
/** Marks the OPT-IN Hono routes generator (routesFileHono). The runner
|
|
52
61
|
* aggregates this across the active suite into `ctx.config.includeHonoRoutes`,
|
|
53
62
|
* so a generator that documents the API surface (api-docs) can AUTO-DETECT
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
// emitter uses) and the optional/nullable rule from `isFieldRequired` (the
|
|
10
10
|
// SAME rule the docs Storage/Constraints nullable column uses).
|
|
11
11
|
// • create-payload → `insertSchemaFields` (the EXACT field set + optionality
|
|
12
|
-
// the zod InsertSchema emitter walks: auto-gen PK omitted, @readOnly omitted,
|
|
12
|
+
// the zod InsertSchema emitter walks: auto-gen PK omitted, @mutability:"readOnly" omitted,
|
|
13
13
|
// TPH discriminator pinned, @autoSet optional, else `fieldWillBeOptional`).
|
|
14
14
|
// • update-payload → `updateSchemaFields` (the UpdateSchema walk: TPH
|
|
15
15
|
// discriminator + @autoSet-onCreate omitted, everything else optional).
|