@metaobjectsdev/metadata 0.24.0-rc.1 → 0.24.0
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/attr-schema-validate.d.ts.map +1 -1
- package/dist/attr-schema-validate.js +17 -2
- package/dist/attr-schema-validate.js.map +1 -1
- package/dist/core/field/field-constants.d.ts +18 -5
- package/dist/core/field/field-constants.d.ts.map +1 -1
- package/dist/core/field/field-constants.js +21 -5
- package/dist/core/field/field-constants.js.map +1 -1
- package/dist/core/field/field-definition.embedded.d.ts.map +1 -1
- package/dist/core/field/field-definition.embedded.js +8 -3
- package/dist/core/field/field-definition.embedded.js.map +1 -1
- package/dist/core/field/validate-field-mutability.d.ts +22 -0
- package/dist/core/field/validate-field-mutability.d.ts.map +1 -0
- package/dist/core/field/validate-field-mutability.js +208 -0
- package/dist/core/field/validate-field-mutability.js.map +1 -0
- package/dist/core/identity/identity-constants.d.ts +12 -0
- package/dist/core/identity/identity-constants.d.ts.map +1 -1
- package/dist/core/identity/identity-constants.js +15 -0
- package/dist/core/identity/identity-constants.js.map +1 -1
- package/dist/core/object/object-definition.embedded.js +2 -2
- package/dist/core/object/object-definition.embedded.js.map +1 -1
- package/dist/core/requirement/meta-requirement.d.ts +1 -2
- package/dist/core/requirement/meta-requirement.d.ts.map +1 -1
- package/dist/core/requirement/meta-requirement.js +2 -6
- package/dist/core/requirement/meta-requirement.js.map +1 -1
- package/dist/core/requirement/requirement-constants.d.ts +3 -8
- package/dist/core/requirement/requirement-constants.d.ts.map +1 -1
- package/dist/core/requirement/requirement-constants.js +2 -9
- package/dist/core/requirement/requirement-constants.js.map +1 -1
- package/dist/core/requirement/requirement-definition.embedded.d.ts.map +1 -1
- package/dist/core/requirement/requirement-definition.embedded.js +8 -46
- package/dist/core/requirement/requirement-definition.embedded.js.map +1 -1
- package/dist/core/requirement/resolve-claim.d.ts +37 -0
- package/dist/core/requirement/resolve-claim.d.ts.map +1 -0
- package/dist/core/requirement/resolve-claim.js +83 -0
- package/dist/core/requirement/resolve-claim.js.map +1 -0
- package/dist/core-types.d.ts.map +1 -1
- package/dist/core-types.js +10 -10
- package/dist/core-types.js.map +1 -1
- package/dist/errors.d.ts +2 -2
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +16 -2
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -1
- package/dist/index.js.map +1 -1
- package/dist/library/library-sources.d.ts +11 -0
- package/dist/library/library-sources.d.ts.map +1 -1
- package/dist/library/library-sources.js +13 -0
- package/dist/library/library-sources.js.map +1 -1
- package/dist/loader/meta-data-loader.d.ts.map +1 -1
- package/dist/loader/meta-data-loader.js +10 -9
- package/dist/loader/meta-data-loader.js.map +1 -1
- package/dist/loader/validation-passes.js +2 -2
- package/dist/loader/validation-passes.js.map +1 -1
- package/dist/naming-refs.d.ts.map +1 -1
- package/dist/naming-refs.js +2 -3
- package/dist/naming-refs.js.map +1 -1
- package/dist/parser-core.d.ts.map +1 -1
- package/dist/parser-core.js +22 -5
- package/dist/parser-core.js.map +1 -1
- package/dist/persistence/origin/meta-origin.d.ts +0 -10
- package/dist/persistence/origin/meta-origin.d.ts.map +1 -1
- package/dist/persistence/origin/meta-origin.js +1 -15
- package/dist/persistence/origin/meta-origin.js.map +1 -1
- package/dist/persistence/origin/origin-constants.d.ts +2 -4
- package/dist/persistence/origin/origin-constants.d.ts.map +1 -1
- package/dist/persistence/origin/origin-constants.js +9 -7
- package/dist/persistence/origin/origin-constants.js.map +1 -1
- package/dist/persistence/origin/origin-definition.embedded.d.ts.map +1 -1
- package/dist/persistence/origin/origin-definition.embedded.js +0 -16
- package/dist/persistence/origin/origin-definition.embedded.js.map +1 -1
- package/dist/registry-manifest.d.ts +9 -4
- package/dist/registry-manifest.d.ts.map +1 -1
- package/dist/registry-manifest.js +9 -4
- package/dist/registry-manifest.js.map +1 -1
- package/dist/retired-vocabulary.d.ts +92 -0
- package/dist/retired-vocabulary.d.ts.map +1 -0
- package/dist/retired-vocabulary.js +204 -0
- package/dist/retired-vocabulary.js.map +1 -0
- package/dist/super-resolve.d.ts +33 -0
- package/dist/super-resolve.d.ts.map +1 -1
- package/dist/super-resolve.js +56 -1
- package/dist/super-resolve.js.map +1 -1
- package/dist/template/prompt-definition.embedded.js +1 -1
- package/dist/template/prompt-definition.embedded.js.map +1 -1
- package/dist/template/template-constants.d.ts +6 -0
- package/dist/template/template-constants.d.ts.map +1 -1
- package/dist/template/template-constants.js +24 -1
- package/dist/template/template-constants.js.map +1 -1
- package/dist/template/template-definition.embedded.d.ts.map +1 -1
- package/dist/template/template-definition.embedded.js +34 -21
- package/dist/template/template-definition.embedded.js.map +1 -1
- package/dist/vocabulary-rewrite.d.ts +33 -0
- package/dist/vocabulary-rewrite.d.ts.map +1 -0
- package/dist/vocabulary-rewrite.js +310 -0
- package/dist/vocabulary-rewrite.js.map +1 -0
- package/package.json +6 -1
- package/src/attr-schema-validate.ts +17 -2
- package/src/core/field/field-constants.ts +24 -5
- package/src/core/field/field-definition.embedded.ts +8 -3
- package/src/core/field/validate-field-mutability.ts +259 -0
- package/src/core/identity/identity-constants.ts +16 -0
- package/src/core/object/object-definition.embedded.ts +2 -2
- package/src/core/requirement/meta-requirement.ts +1 -7
- package/src/core/requirement/requirement-constants.ts +2 -9
- package/src/core/requirement/requirement-definition.embedded.ts +8 -46
- package/src/core/requirement/resolve-claim.ts +98 -0
- package/src/core-types.ts +9 -10
- package/src/errors.ts +16 -2
- package/src/index.ts +29 -1
- package/src/library/library-sources.ts +14 -0
- package/src/loader/meta-data-loader.ts +10 -9
- package/src/loader/validation-passes.ts +3 -3
- package/src/naming-refs.ts +1 -3
- package/src/parser-core.ts +27 -5
- package/src/persistence/origin/meta-origin.ts +0 -16
- package/src/persistence/origin/origin-constants.ts +9 -8
- package/src/persistence/origin/origin-definition.embedded.ts +0 -16
- package/src/registry-manifest.ts +9 -4
- package/src/retired-vocabulary.ts +280 -0
- package/src/super-resolve.ts +59 -1
- package/src/template/prompt-definition.embedded.ts +1 -1
- package/src/template/template-constants.ts +27 -1
- package/src/template/template-definition.embedded.ts +34 -21
- package/src/vocabulary-rewrite.ts +346 -0
- package/dist/core/field/validate-field-readonly.d.ts +0 -9
- package/dist/core/field/validate-field-readonly.d.ts.map +0 -1
- package/dist/core/field/validate-field-readonly.js +0 -128
- package/dist/core/field/validate-field-readonly.js.map +0 -1
- package/src/core/field/validate-field-readonly.ts +0 -154
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"super-resolve.d.ts","sourceRoot":"","sources":["../src/super-resolve.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"super-resolve.d.ts","sourceRoot":"","sources":["../src/super-resolve.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AA6CtD;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAIxD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,OAAO,CAQjF;AAED;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,QAEmD,CAAC;AAsB7F;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,QAAQ,EACd,aAAa,CAAC,EAAE,aAAa,GAC5B,QAAQ,GAAG,SAAS,CAiDtB;AAMD,MAAM,WAAW,oBAAoB;IACnC,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAC;IACZ,mEAAmE;IACnE,MAAM,EAAE,OAAO,aAAa,EAAE,WAAW,CAAC;IAC1C;;;;;;;OAOG;IACH,IAAI,EAAE,YAAY,GAAG,iBAAiB,CAAC;IACvC,6EAA6E;IAC7E,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,gFAAgF;IAChF,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,QAAQ,GAAG,oBAAoB,EAAE,CAmG5E"}
|
package/dist/super-resolve.js
CHANGED
|
@@ -19,6 +19,8 @@
|
|
|
19
19
|
// Super resolution is IMMEDIATE during parse (Java behavior). This module
|
|
20
20
|
// provides only the lookup helper; the parser calls it inline.
|
|
21
21
|
import { PACKAGE_SEPARATOR, CHILD_REF_SEPARATOR } from "./shared/structural.js";
|
|
22
|
+
import { TYPE_IDENTITY } from "./shared/base-types.js";
|
|
23
|
+
import { IDENTITY_UNIQUE_KEY_SUBTYPES } from "./core/identity/identity-constants.js";
|
|
22
24
|
// ---------------------------------------------------------------------------
|
|
23
25
|
// Tree search helper
|
|
24
26
|
// ---------------------------------------------------------------------------
|
|
@@ -68,6 +70,48 @@ export function isChildTargetingRef(ref) {
|
|
|
68
70
|
const lastSegment = lastSep === -1 ? ref : ref.slice(lastSep + PACKAGE_SEPARATOR.length);
|
|
69
71
|
return lastSegment.includes(CHILD_REF_SEPARATOR);
|
|
70
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* Whether a dotted `extends` target is acceptable for the extending node.
|
|
75
|
+
*
|
|
76
|
+
* Type must match exactly. Subtype must match too — with ONE exception, on identities
|
|
77
|
+
* (#310). For an identity, subtype equality was answering the wrong question: it read as
|
|
78
|
+
* "the same kind of thing", but ADR-0040 encodes uniqueness in the TYPE, so `primary` and
|
|
79
|
+
* `secondary` are both UNIQUE KEYS and differ only in which one the entity nominated as
|
|
80
|
+
* its main handle. Borrowing a key borrows uniqueness, not that nomination — so a read
|
|
81
|
+
* model may key off a business key the entity models as `identity.secondary` while never
|
|
82
|
+
* surfacing its surrogate `identity.primary` at all.
|
|
83
|
+
*
|
|
84
|
+
* The gate was never written for identities in the first place: its only conformance
|
|
85
|
+
* fixture is `error-extends-entity-field-type-mismatch`, a `field.uuid` extending a
|
|
86
|
+
* `field.string`. For a FIELD, subtype IS the datatype and inheriting across it is
|
|
87
|
+
* incoherent; for an identity, subtype is a ROLE. A field-shape rule was generalized onto
|
|
88
|
+
* a role axis without a fixture ever exercising it.
|
|
89
|
+
*
|
|
90
|
+
* `identity.reference` is excluded on both sides: a foreign key is not unique, so it can
|
|
91
|
+
* never back a borrowed key — and a set-membership test says that once, rather than
|
|
92
|
+
* enumerating the legal pairs.
|
|
93
|
+
*
|
|
94
|
+
* EXPORTED because there are two doors: this module's deferred resolution and
|
|
95
|
+
* `parser-core`'s eager check. They had independent copies of the boolean, so a change to
|
|
96
|
+
* one silently left the other enforcing the old rule on whichever path a given loader
|
|
97
|
+
* configuration takes.
|
|
98
|
+
*/
|
|
99
|
+
export function extendsTargetCompatible(node, target) {
|
|
100
|
+
if (target.type !== node.type)
|
|
101
|
+
return false;
|
|
102
|
+
if (target.subType === node.subType)
|
|
103
|
+
return true;
|
|
104
|
+
return (node.type === TYPE_IDENTITY &&
|
|
105
|
+
IDENTITY_UNIQUE_KEY_SUBTYPES.includes(node.subType) &&
|
|
106
|
+
IDENTITY_UNIQUE_KEY_SUBTYPES.includes(target.subType));
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* The one wording for `ERR_EXTENDS_TARGET_MISMATCH`, shared by both doors and mirrored in
|
|
110
|
+
* the other three ports. States the exception, so an author who hits it on a `field` is
|
|
111
|
+
* not left wondering why their identity case was allowed.
|
|
112
|
+
*/
|
|
113
|
+
export const EXTENDS_TARGET_MISMATCH_RULE = "a dotted extends must target a node of the same type and subtype — the one exception " +
|
|
114
|
+
"is an identity, which may extend any UNIQUE key (identity.primary or identity.secondary)";
|
|
71
115
|
/**
|
|
72
116
|
* FR-024: split a child-targeting ref into the owner-object ref and the child
|
|
73
117
|
* traversal path. A multi-dot ref (`X.y.z`) traverses child names to any depth
|
|
@@ -228,8 +272,19 @@ export function resolveDeferredSupers(root) {
|
|
|
228
272
|
if (target !== undefined) {
|
|
229
273
|
// FR-024: a dotted ref must target a node of the SAME type and subtype
|
|
230
274
|
// as the extending node. Dotted-only — top-level extends is unchanged.
|
|
275
|
+
//
|
|
276
|
+
// #310 — with ONE exception, on identities. Subtype equality here was standing in
|
|
277
|
+
// for "the target is the same kind of thing", and for identities that is the wrong
|
|
278
|
+
// question: ADR-0040 put uniqueness in the TYPE, so `identity.primary` and
|
|
279
|
+
// `identity.secondary` are both UNIQUE KEYS and differ only in which one the entity
|
|
280
|
+
// nominated as its main handle. A projection borrowing a key is borrowing
|
|
281
|
+
// uniqueness, not that nomination — so a read model may key off a business key the
|
|
282
|
+
// entity models as `identity.secondary` while never surfacing its surrogate
|
|
283
|
+
// `identity.primary` at all, which is the shape that was foreclosed.
|
|
284
|
+
//
|
|
285
|
+
// `identity.reference` stays out: an FK is not unique, so it can never back a key.
|
|
231
286
|
if (isChildTargetingRef(node.superRef) &&
|
|
232
|
-
(
|
|
287
|
+
!extendsTargetCompatible(node, target)) {
|
|
233
288
|
failures.push({
|
|
234
289
|
nodeFqn: node.fqn(),
|
|
235
290
|
ref: node.superRef,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"super-resolve.js","sourceRoot":"","sources":["../src/super-resolve.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,EAAE;AACF,6EAA6E;AAC7E,+EAA+E;AAC/E,8EAA8E;AAC9E,+EAA+E;AAC/E,SAAS;AACT,wDAAwD;AACxD,8EAA8E;AAC9E,4EAA4E;AAC5E,2EAA2E;AAC3E,8DAA8D;AAC9D,gFAAgF;AAChF,6CAA6C;AAC7C,EAAE;AACF,gFAAgF;AAChF,6EAA6E;AAC7E,EAAE;AACF,0EAA0E;AAC1E,+DAA+D;AAG/D,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"super-resolve.js","sourceRoot":"","sources":["../src/super-resolve.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ export const PROMPT_DEFINITION = {
|
|
|
11
11
|
"name": "xmlText",
|
|
12
12
|
"min": 0,
|
|
13
13
|
"max": 1,
|
|
14
|
-
"description": "When true, this field receives its element's XML TEXT CONTENT during tolerant extract (JAXB @XmlValue / Jackson @JacksonXmlText / .NET [XmlText]) instead of a same-named child. No effect
|
|
14
|
+
"description": "When true, this field receives its element's XML TEXT CONTENT during tolerant extract (JAXB @XmlValue / Jackson @JacksonXmlText / .NET [XmlText]) instead of a same-named child. No effect when the eliciting prompt's @responseFormat is json."
|
|
15
15
|
},
|
|
16
16
|
{
|
|
17
17
|
"type": "attr",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-definition.embedded.js","sourceRoot":"","sources":["../../src/template/prompt-definition.embedded.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,iBAAiB,GAAuB;IACnD,UAAU,EAAE,oBAAoB;IAChC,SAAS,EAAE;QACT;YACE,MAAM,EAAE,OAAO;YACf,SAAS,EAAE,GAAG;YACd,UAAU,EAAE;gBACV;oBACE,MAAM,EAAE,MAAM;oBACd,SAAS,EAAE,SAAS;oBACpB,MAAM,EAAE,SAAS;oBACjB,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;oBACR,aAAa,EAAE
|
|
1
|
+
{"version":3,"file":"prompt-definition.embedded.js","sourceRoot":"","sources":["../../src/template/prompt-definition.embedded.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,iBAAiB,GAAuB;IACnD,UAAU,EAAE,oBAAoB;IAChC,SAAS,EAAE;QACT;YACE,MAAM,EAAE,OAAO;YACf,SAAS,EAAE,GAAG;YACd,UAAU,EAAE;gBACV;oBACE,MAAM,EAAE,MAAM;oBACd,SAAS,EAAE,SAAS;oBACpB,MAAM,EAAE,SAAS;oBACjB,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;oBACR,aAAa,EAAE,iPAAiP;iBACjQ;gBACD;oBACE,MAAM,EAAE,MAAM;oBACd,SAAS,EAAE,QAAQ;oBACnB,MAAM,EAAE,SAAS;oBACjB,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;oBACR,aAAa,EAAE,gGAAgG;iBAChH;gBACD;oBACE,MAAM,EAAE,MAAM;oBACd,SAAS,EAAE,QAAQ;oBACnB,MAAM,EAAE,aAAa;oBACrB,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;oBACR,aAAa,EAAE,mGAAmG;iBACnH;aACF;SACF;QACD;YACE,MAAM,EAAE,OAAO;YACf,SAAS,EAAE,MAAM;YACjB,UAAU,EAAE;gBACV;oBACE,MAAM,EAAE,MAAM;oBACd,SAAS,EAAE,YAAY;oBACvB,MAAM,EAAE,WAAW;oBACnB,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;oBACR,aAAa,EAAE,iHAAiH;iBACjI;gBACD;oBACE,MAAM,EAAE,MAAM;oBACd,SAAS,EAAE,YAAY;oBACvB,MAAM,EAAE,SAAS;oBACjB,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;oBACR,aAAa,EAAE,mHAAmH;iBACnI;gBACD;oBACE,MAAM,EAAE,MAAM;oBACd,SAAS,EAAE,QAAQ;oBACnB,MAAM,EAAE,eAAe;oBACvB,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;oBACR,aAAa,EAAE,2HAA2H;iBAC3I;gBACD;oBACE,MAAM,EAAE,MAAM;oBACd,SAAS,EAAE,QAAQ;oBACnB,MAAM,EAAE,WAAW;oBACnB,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;oBACR,SAAS,EAAE,OAAO;oBAClB,eAAe,EAAE;wBACf,MAAM;wBACN,UAAU;wBACV,OAAO;qBACR;oBACD,aAAa,EAAE,yLAAyL;iBACzM;aACF;SACF;QACD;YACE,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,OAAO;YAClB,UAAU,EAAE;gBACV;oBACE,MAAM,EAAE,MAAM;oBACd,SAAS,EAAE,QAAQ;oBACnB,MAAM,EAAE,WAAW;oBACnB,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;oBACR,SAAS,EAAE,OAAO;oBAClB,eAAe,EAAE;wBACf,MAAM;wBACN,UAAU;wBACV,OAAO;qBACR;oBACD,aAAa,EAAE,yLAAyL;iBACzM;aACF;SACF;KACF;CACF,CAAC"}
|
|
@@ -33,5 +33,11 @@ export declare const PROMPT_STYLE_EXAMPLE_ONLY = "exampleOnly";
|
|
|
33
33
|
export declare const PROMPT_STYLE_DEFAULT = "guide";
|
|
34
34
|
export declare const PROMPT_STYLES: readonly ["guide", "inline", "exampleOnly"];
|
|
35
35
|
export type PromptStyle = (typeof PROMPT_STYLES)[number];
|
|
36
|
+
export declare const TEMPLATE_ATTR_RESPONSE_FORMAT = "responseFormat";
|
|
37
|
+
export declare const RESPONSE_FORMAT_JSON = "json";
|
|
38
|
+
export declare const RESPONSE_FORMAT_XML = "xml";
|
|
39
|
+
export declare const TEMPLATE_RESPONSE_FORMATS: readonly ["json", "xml"];
|
|
40
|
+
export type ResponseFormat = (typeof TEMPLATE_RESPONSE_FORMATS)[number];
|
|
41
|
+
export declare const RESPONSE_FORMAT_DEFAULT: ResponseFormat;
|
|
36
42
|
export declare const FIELD_ATTR_XML_TEXT = "xmlText";
|
|
37
43
|
//# sourceMappingURL=template-constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-constants.d.ts","sourceRoot":"","sources":["../../src/template/template-constants.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,uBAAuB,WAAW,CAAC;AAChD,eAAO,MAAM,uBAAuB,WAAW,CAAC;AAChD,eAAO,MAAM,yBAAyB,aAAa,CAAC;AAEpD,eAAO,MAAM,iBAAiB,mDAKpB,CAAC;AACX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAIjE,eAAO,MAAM,yBAAyB,eAAe,CAAC;AACtD,eAAO,MAAM,sBAAsB,YAAY,CAAC;AAChD,eAAO,MAAM,oBAAoB,WAAW,CAAC;AAC7C,eAAO,MAAM,uBAAuB,aAAa,CAAC;AAClD,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAC3C,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAK3C,eAAO,MAAM,2BAA2B,iBAAiB,CAAC;AAW1D,eAAO,MAAM,kBAAkB,SAAS,CAAC;AACzC,eAAO,MAAM,sBAAsB,aAAa,CAAC;AACjD,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAC3C,eAAO,MAAM,qBAAqB,aAAyB,CAAC;AAC5D,eAAO,MAAM,cAAc,gCAGjB,CAAC;AACX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,eAAO,MAAM,yBAAyB,eAAe,CAAC;AACtD,eAAO,MAAM,2BAA2B,gBAAgB,CAAC;AACzD,eAAO,MAAM,2BAA2B,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"template-constants.d.ts","sourceRoot":"","sources":["../../src/template/template-constants.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,uBAAuB,WAAW,CAAC;AAChD,eAAO,MAAM,uBAAuB,WAAW,CAAC;AAChD,eAAO,MAAM,yBAAyB,aAAa,CAAC;AAEpD,eAAO,MAAM,iBAAiB,mDAKpB,CAAC;AACX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAIjE,eAAO,MAAM,yBAAyB,eAAe,CAAC;AACtD,eAAO,MAAM,sBAAsB,YAAY,CAAC;AAChD,eAAO,MAAM,oBAAoB,WAAW,CAAC;AAC7C,eAAO,MAAM,uBAAuB,aAAa,CAAC;AAClD,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAC3C,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAK3C,eAAO,MAAM,2BAA2B,iBAAiB,CAAC;AAW1D,eAAO,MAAM,kBAAkB,SAAS,CAAC;AACzC,eAAO,MAAM,sBAAsB,aAAa,CAAC;AACjD,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAC3C,eAAO,MAAM,qBAAqB,aAAyB,CAAC;AAC5D,eAAO,MAAM,cAAc,gCAGjB,CAAC;AACX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,eAAO,MAAM,yBAAyB,eAAe,CAAC;AACtD,eAAO,MAAM,2BAA2B,gBAAgB,CAAC;AACzD,eAAO,MAAM,2BAA2B,gBAAgB,CAAC;AAOzD,eAAO,MAAM,0BAA0B,gBAAgB,CAAC;AACxD,eAAO,MAAM,wBAAwB,cAAc,CAAC;AACpD,eAAO,MAAM,4BAA4B,kBAAkB,CAAC;AAC5D,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAU3C,eAAO,MAAM,uBAAuB,aAAa,CAAC;AAIlD,eAAO,MAAM,gBAAgB,4EAQnB,CAAC;AACX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAM/D,eAAO,MAAM,0BAA0B,gBAAgB,CAAC;AACxD,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAC1C,eAAO,MAAM,mBAAmB,WAAW,CAAC;AAC5C,eAAO,MAAM,yBAAyB,gBAAgB,CAAC;AACvD,eAAO,MAAM,oBAAoB,UAAqB,CAAC;AAEvD,eAAO,MAAM,aAAa,6CAIhB,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAezD,eAAO,MAAM,6BAA6B,mBAAmB,CAAC;AAC9D,eAAO,MAAM,oBAAoB,SAAS,CAAC;AAC3C,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AAEzC,eAAO,MAAM,yBAAyB,0BAAuD,CAAC;AAC9F,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AACxE,eAAO,MAAM,uBAAuB,EAAE,cAAqC,CAAC;AAO5E,eAAO,MAAM,mBAAmB,YAAY,CAAC"}
|
|
@@ -57,6 +57,10 @@ export const TEMPLATE_ATTR_SUBJECT_REF = "subjectRef";
|
|
|
57
57
|
export const TEMPLATE_ATTR_HTML_BODY_REF = "htmlBodyRef";
|
|
58
58
|
export const TEMPLATE_ATTR_TEXT_BODY_REF = "textBodyRef";
|
|
59
59
|
// Prompt-overlay attrs (template.prompt only).
|
|
60
|
+
//
|
|
61
|
+
// ADR-0052: @responseRef is also the INBOUND gate. Its presence — never a format
|
|
62
|
+
// value — is what makes a prompt emit a parser-on-receipt, a tolerant extract, and
|
|
63
|
+
// the FR-010 response-format fragment. A template.output emits none of those.
|
|
60
64
|
export const TEMPLATE_ATTR_RESPONSE_REF = "responseRef";
|
|
61
65
|
export const TEMPLATE_ATTR_MAX_TOKENS = "maxTokens";
|
|
62
66
|
export const TEMPLATE_ATTR_REQUIRED_SLOTS = "requiredSlots";
|
|
@@ -81,7 +85,8 @@ export const TEMPLATE_FORMATS = [
|
|
|
81
85
|
"markdown",
|
|
82
86
|
"spreadsheet",
|
|
83
87
|
];
|
|
84
|
-
// FR-010
|
|
88
|
+
// FR-010 response-format fragment presentation (template.prompt only — ADR-0052 moved
|
|
89
|
+
// it off template.output, where its own name contradicted the subtype). Closed enum;
|
|
85
90
|
// guidance is NEVER carried in comments. Default "guide". Set project-wide via an
|
|
86
91
|
// abstract template base + extends, with a render-time override on top.
|
|
87
92
|
export const TEMPLATE_ATTR_PROMPT_STYLE = "promptStyle";
|
|
@@ -94,6 +99,24 @@ export const PROMPT_STYLES = [
|
|
|
94
99
|
PROMPT_STYLE_INLINE,
|
|
95
100
|
PROMPT_STYLE_EXAMPLE_ONLY,
|
|
96
101
|
];
|
|
102
|
+
// ADR-0053 — the syntax of the model's REPLY (template.prompt only). Distinct from
|
|
103
|
+
// @format, which is the syntax of the rendered PROMPT body: the two genuinely differ
|
|
104
|
+
// (a plain-text prompt may elicit an XML reply), which is why one attribute cannot
|
|
105
|
+
// serve both directions.
|
|
106
|
+
//
|
|
107
|
+
// Two members, not TEMPLATE_FORMATS' seven, because two is what every shipping
|
|
108
|
+
// consumer dispatches on (Format.JSON / Format.XML) in all five ports. The rest are
|
|
109
|
+
// reserved-not-registered under ADR-0007 Amendment 2's re-entry bar: a member enters
|
|
110
|
+
// the registry only when a shipping consumer dispatches on it.
|
|
111
|
+
//
|
|
112
|
+
// Default "json" reproduces the trace helper's pre-ADR-0053 fallback exactly (anything
|
|
113
|
+
// not "xml" was treated as JSON), so the default is behaviour-preserving rather than a
|
|
114
|
+
// new policy.
|
|
115
|
+
export const TEMPLATE_ATTR_RESPONSE_FORMAT = "responseFormat";
|
|
116
|
+
export const RESPONSE_FORMAT_JSON = "json";
|
|
117
|
+
export const RESPONSE_FORMAT_XML = "xml";
|
|
118
|
+
export const TEMPLATE_RESPONSE_FORMATS = [RESPONSE_FORMAT_JSON, RESPONSE_FORMAT_XML];
|
|
119
|
+
export const RESPONSE_FORMAT_DEFAULT = RESPONSE_FORMAT_JSON;
|
|
97
120
|
// @xmlText — a FIELD-level marker (boolean) for the tolerant extract engine: this field
|
|
98
121
|
// receives its element's TEXT CONTENT when a template.output response is parsed from XML
|
|
99
122
|
// (JAXB @XmlValue / Jackson @JacksonXmlText / .NET [XmlText]). Registered on field.* by
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-constants.js","sourceRoot":"","sources":["../../src/template/template-constants.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,EAAE;AACF,8EAA8E;AAC9E,uEAAuE;AACvE,kBAAkB;AAClB,8EAA8E;AAC9E,qDAAqD;AACrD,2EAA2E;AAC3E,qDAAqD;AACrD,6EAA6E;AAC7E,kFAAkF;AAClF,EAAE;AACF,4EAA4E;AAC5E,gFAAgF;AAChF,6DAA6D;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,MAAM,CAAC,MAAM,uBAAuB,GAAG,QAAQ,CAAC;AAChD,MAAM,CAAC,MAAM,uBAAuB,GAAG,QAAQ,CAAC;AAChD,MAAM,CAAC,MAAM,yBAAyB,GAAG,UAAU,CAAC;AAEpD,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,YAAY;IACZ,uBAAuB;IACvB,uBAAuB;IACvB,yBAAyB;CACjB,CAAC;AAGX,6EAA6E;AAC7E,+DAA+D;AAC/D,MAAM,CAAC,MAAM,yBAAyB,GAAG,YAAY,CAAC;AACtD,MAAM,CAAC,MAAM,sBAAsB,GAAG,SAAS,CAAC;AAChD,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAQ,CAAC;AAC7C,MAAM,CAAC,MAAM,uBAAuB,GAAG,UAAU,CAAC;AAClD,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC;AAC3C,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC;AAC3C,4FAA4F;AAC5F,iGAAiG;AACjG,4FAA4F;AAC5F,qCAAqC;AACrC,MAAM,CAAC,MAAM,2BAA2B,GAAG,cAAc,CAAC;AAE1D,yDAAyD;AACzD,EAAE;AACF,kFAAkF;AAClF,6EAA6E;AAC7E,kFAAkF;AAClF,gFAAgF;AAChF,sFAAsF;AACtF,sGAAsG;AACtG,mDAAmD;AACnD,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AACzC,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAAC;AACjD,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC;AAC3C,MAAM,CAAC,MAAM,qBAAqB,GAAG,sBAAsB,CAAC;AAC5D,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,sBAAsB;IACtB,mBAAmB;CACX,CAAC;AAGX,MAAM,CAAC,MAAM,yBAAyB,GAAG,YAAY,CAAC;AACtD,MAAM,CAAC,MAAM,2BAA2B,GAAG,aAAa,CAAC;AACzD,MAAM,CAAC,MAAM,2BAA2B,GAAG,aAAa,CAAC;AAEzD,+CAA+C;AAC/C,MAAM,CAAC,MAAM,0BAA0B,GAAG,aAAa,CAAC;AACxD,MAAM,CAAC,MAAM,wBAAwB,GAAG,WAAW,CAAC;AACpD,MAAM,CAAC,MAAM,4BAA4B,GAAG,eAAe,CAAC;AAC5D,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC;AAE3C,4EAA4E;AAC5E,8EAA8E;AAC9E,8CAA8C;AAC9C,EAAE;AACF,8EAA8E;AAC9E,sEAAsE;AACtE,yEAAyE;AACzE,gBAAgB;AAChB,MAAM,CAAC,MAAM,uBAAuB,GAAG,UAAU,CAAC;AAElD,4EAA4E;AAC5E,gDAAgD;AAChD,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,UAAU;IACV,aAAa;CACL,CAAC;AAGX,
|
|
1
|
+
{"version":3,"file":"template-constants.js","sourceRoot":"","sources":["../../src/template/template-constants.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,EAAE;AACF,8EAA8E;AAC9E,uEAAuE;AACvE,kBAAkB;AAClB,8EAA8E;AAC9E,qDAAqD;AACrD,2EAA2E;AAC3E,qDAAqD;AACrD,6EAA6E;AAC7E,kFAAkF;AAClF,EAAE;AACF,4EAA4E;AAC5E,gFAAgF;AAChF,6DAA6D;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,MAAM,CAAC,MAAM,uBAAuB,GAAG,QAAQ,CAAC;AAChD,MAAM,CAAC,MAAM,uBAAuB,GAAG,QAAQ,CAAC;AAChD,MAAM,CAAC,MAAM,yBAAyB,GAAG,UAAU,CAAC;AAEpD,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,YAAY;IACZ,uBAAuB;IACvB,uBAAuB;IACvB,yBAAyB;CACjB,CAAC;AAGX,6EAA6E;AAC7E,+DAA+D;AAC/D,MAAM,CAAC,MAAM,yBAAyB,GAAG,YAAY,CAAC;AACtD,MAAM,CAAC,MAAM,sBAAsB,GAAG,SAAS,CAAC;AAChD,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAQ,CAAC;AAC7C,MAAM,CAAC,MAAM,uBAAuB,GAAG,UAAU,CAAC;AAClD,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC;AAC3C,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC;AAC3C,4FAA4F;AAC5F,iGAAiG;AACjG,4FAA4F;AAC5F,qCAAqC;AACrC,MAAM,CAAC,MAAM,2BAA2B,GAAG,cAAc,CAAC;AAE1D,yDAAyD;AACzD,EAAE;AACF,kFAAkF;AAClF,6EAA6E;AAC7E,kFAAkF;AAClF,gFAAgF;AAChF,sFAAsF;AACtF,sGAAsG;AACtG,mDAAmD;AACnD,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AACzC,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAAC;AACjD,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC;AAC3C,MAAM,CAAC,MAAM,qBAAqB,GAAG,sBAAsB,CAAC;AAC5D,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,sBAAsB;IACtB,mBAAmB;CACX,CAAC;AAGX,MAAM,CAAC,MAAM,yBAAyB,GAAG,YAAY,CAAC;AACtD,MAAM,CAAC,MAAM,2BAA2B,GAAG,aAAa,CAAC;AACzD,MAAM,CAAC,MAAM,2BAA2B,GAAG,aAAa,CAAC;AAEzD,+CAA+C;AAC/C,EAAE;AACF,iFAAiF;AACjF,mFAAmF;AACnF,8EAA8E;AAC9E,MAAM,CAAC,MAAM,0BAA0B,GAAG,aAAa,CAAC;AACxD,MAAM,CAAC,MAAM,wBAAwB,GAAG,WAAW,CAAC;AACpD,MAAM,CAAC,MAAM,4BAA4B,GAAG,eAAe,CAAC;AAC5D,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC;AAE3C,4EAA4E;AAC5E,8EAA8E;AAC9E,8CAA8C;AAC9C,EAAE;AACF,8EAA8E;AAC9E,sEAAsE;AACtE,yEAAyE;AACzE,gBAAgB;AAChB,MAAM,CAAC,MAAM,uBAAuB,GAAG,UAAU,CAAC;AAElD,4EAA4E;AAC5E,gDAAgD;AAChD,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,UAAU;IACV,aAAa;CACL,CAAC;AAGX,sFAAsF;AACtF,qFAAqF;AACrF,kFAAkF;AAClF,wEAAwE;AACxE,MAAM,CAAC,MAAM,0BAA0B,GAAG,aAAa,CAAC;AACxD,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAC1C,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC;AAC5C,MAAM,CAAC,MAAM,yBAAyB,GAAG,aAAa,CAAC;AACvD,MAAM,CAAC,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AAEvD,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,kBAAkB;IAClB,mBAAmB;IACnB,yBAAyB;CACjB,CAAC;AAGX,mFAAmF;AACnF,qFAAqF;AACrF,mFAAmF;AACnF,yBAAyB;AACzB,EAAE;AACF,+EAA+E;AAC/E,oFAAoF;AACpF,qFAAqF;AACrF,+DAA+D;AAC/D,EAAE;AACF,uFAAuF;AACvF,uFAAuF;AACvF,cAAc;AACd,MAAM,CAAC,MAAM,6BAA6B,GAAG,gBAAgB,CAAC;AAC9D,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAC3C,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAEzC,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,oBAAoB,EAAE,mBAAmB,CAAU,CAAC;AAE9F,MAAM,CAAC,MAAM,uBAAuB,GAAmB,oBAAoB,CAAC;AAE5E,wFAAwF;AACxF,yFAAyF;AACzF,wFAAwF;AACxF,2FAA2F;AAC3F,mGAAmG;AACnG,MAAM,CAAC,MAAM,mBAAmB,GAAG,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-definition.embedded.d.ts","sourceRoot":"","sources":["../../src/template/template-definition.embedded.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,eAAO,MAAM,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"template-definition.embedded.d.ts","sourceRoot":"","sources":["../../src/template/template-definition.embedded.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,eAAO,MAAM,mBAAmB,EAAE,kBAmTjC,CAAC"}
|
|
@@ -10,9 +10,9 @@ export const TEMPLATE_DEFINITION = {
|
|
|
10
10
|
{
|
|
11
11
|
"type": "template",
|
|
12
12
|
"subType": "prompt",
|
|
13
|
-
"description": "An LLM-targeted renderable prompt template (FR-004). Carries the generic reference + governance attrs plus the LLM overlay (@maxTokens / @requiredSlots / @model / @responseRef). Its renderable body is required via @textRef.",
|
|
14
|
-
"whenToUse": "You are sending text to an LLM. Declare a prompt template with a typed payload so the prompt is versioned, drift-checked against its fields, and cache-stable — instead of string-building it in code.",
|
|
15
|
-
"rules": "prompt requires @payloadRef (the typed payload it renders against) AND @textRef (the body text, provider-resolved at render time — enforced in the loader's validateTemplatePayloadRefs pass, not at the attr layer where @textRef is relaxed to optional so template.output email can omit it). @format is a closed enum keyed by the render engine's escaper. @responseRef (optional) names the response value-object the prompt expects
|
|
13
|
+
"description": "An LLM-targeted renderable prompt template (FR-004). Carries the generic reference + governance attrs plus the LLM overlay (@maxTokens / @requiredSlots / @model / @responseRef). Its renderable body is required via @textRef. A prompt declaring @responseRef also owns the INBOUND half (ADR-0052): the parser-on-receipt, the FR-010 response-format fragment (@promptStyle), and the reply syntax (@responseFormat).",
|
|
14
|
+
"whenToUse": "You are sending text to an LLM. Declare a prompt template with a typed payload so the prompt is versioned, drift-checked against its fields, and cache-stable — instead of string-building it in code. Add @responseRef when you also want the reply parsed into a typed shape.",
|
|
15
|
+
"rules": "prompt requires @payloadRef (the typed payload it renders against) AND @textRef (the body text, provider-resolved at render time — enforced in the loader's validateTemplatePayloadRefs pass, not at the attr layer where @textRef is relaxed to optional so template.output email can omit it). @format is the syntax of the rendered PROMPT body, a closed enum keyed by the render engine's escaper; @responseFormat (ADR-0053) is the syntax of the model's REPLY. @responseRef (optional) names the response value-object the prompt expects, drives typed LLM-call trace derivation, and is the sole gate on the inbound codegen tier — which keys on its presence, never on a format value.",
|
|
16
16
|
"children": [
|
|
17
17
|
{
|
|
18
18
|
"type": "attr",
|
|
@@ -112,16 +112,43 @@ export const TEMPLATE_DEFINITION = {
|
|
|
112
112
|
"name": "responseRef",
|
|
113
113
|
"min": 0,
|
|
114
114
|
"max": 1,
|
|
115
|
-
"description": "Optional ref to the response value-object this prompt expects (peer of @payloadRef; drives typed LLM-call trace derivation)."
|
|
115
|
+
"description": "Optional ref to the response value-object this prompt expects (peer of @payloadRef; drives typed LLM-call trace derivation). Its presence is the sole gate on the inbound codegen tier (ADR-0052): parser-on-receipt, tolerant extract, and the FR-010 response-format fragment."
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"type": "attr",
|
|
119
|
+
"subType": "string",
|
|
120
|
+
"name": "promptStyle",
|
|
121
|
+
"min": 0,
|
|
122
|
+
"max": 1,
|
|
123
|
+
"default": "guide",
|
|
124
|
+
"allowedValues": [
|
|
125
|
+
"guide",
|
|
126
|
+
"inline",
|
|
127
|
+
"exampleOnly"
|
|
128
|
+
],
|
|
129
|
+
"description": "FR-010 response-format fragment presentation: 'guide' (prose list + example), 'inline' (inline placeholders / enum choices), or 'exampleOnly' (filled skeleton). Guidance is never emitted as comments."
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"type": "attr",
|
|
133
|
+
"subType": "string",
|
|
134
|
+
"name": "responseFormat",
|
|
135
|
+
"min": 0,
|
|
136
|
+
"max": 1,
|
|
137
|
+
"default": "json",
|
|
138
|
+
"allowedValues": [
|
|
139
|
+
"json",
|
|
140
|
+
"xml"
|
|
141
|
+
],
|
|
142
|
+
"description": "ADR-0053: the syntax of the model's REPLY, read by the parser-on-receipt and the FR-010 response-format fragment. Distinct from @format, which is the syntax of the rendered PROMPT body. Two members because two is what every shipping consumer dispatches on; the other @format members are reserved-not-registered."
|
|
116
143
|
}
|
|
117
144
|
]
|
|
118
145
|
},
|
|
119
146
|
{
|
|
120
147
|
"type": "template",
|
|
121
148
|
"subType": "output",
|
|
122
|
-
"description": "An output / serialization template (FR-004): every rendered artifact other than an LLM prompt — a document (email, export, docs, config) or an email. Carries the generic reference + governance attrs
|
|
123
|
-
"whenToUse": "You render a document/email/serialized output from typed data. Declare an output template so the {{fields}} are drift-checked against the payload VO at build time.",
|
|
124
|
-
"rules": "output is either a document (@kind=\"document\" or absent → renders @textRef in @format to one string) or an email (@kind=\"email\" → renders subject + html + optional text to a structured EmailDocument). The cross-field presence rule is enforced in the loader's validateTemplatePayloadRefs pass: document requires @textRef; email requires @subjectRef AND @htmlBodyRef (with @textBodyRef optional) and carries NO @textRef. @format is a closed enum keyed by the render engine's escaper
|
|
149
|
+
"description": "An output / serialization template (FR-004): every rendered artifact other than an LLM prompt — a document (email, export, docs, config) or an email. Carries the generic reference + governance attrs and the @kind + email part-refs. OUTBOUND ONLY (ADR-0052) — it renders, and generates no parser.",
|
|
150
|
+
"whenToUse": "You render a document/email/serialized output from typed data. Declare an output template so the {{fields}} are drift-checked against the payload VO at build time. To parse a model's reply instead, declare @responseRef on the template.prompt that elicits it — never a template.output.",
|
|
151
|
+
"rules": "output is either a document (@kind=\"document\" or absent → renders @textRef in @format to one string) or an email (@kind=\"email\" → renders subject + html + optional text to a structured EmailDocument). The cross-field presence rule is enforced in the loader's validateTemplatePayloadRefs pass: document requires @textRef; email requires @subjectRef AND @htmlBodyRef (with @textBodyRef optional) and carries NO @textRef. @format is a closed enum keyed by the render engine's escaper. template.output is OUTBOUND ONLY (ADR-0052): it emits a render helper and nothing that reads a model's reply — the parser-on-receipt, the tolerant extract and the FR-010 response-format fragment all belong to template.prompt @responseRef.",
|
|
125
152
|
"children": [
|
|
126
153
|
{
|
|
127
154
|
"type": "attr",
|
|
@@ -190,20 +217,6 @@ export const TEMPLATE_DEFINITION = {
|
|
|
190
217
|
"max": 1,
|
|
191
218
|
"description": "Output tags the rendered text must contain (drives the verify output-tag check)."
|
|
192
219
|
},
|
|
193
|
-
{
|
|
194
|
-
"type": "attr",
|
|
195
|
-
"subType": "string",
|
|
196
|
-
"name": "promptStyle",
|
|
197
|
-
"min": 0,
|
|
198
|
-
"max": 1,
|
|
199
|
-
"default": "guide",
|
|
200
|
-
"allowedValues": [
|
|
201
|
-
"guide",
|
|
202
|
-
"inline",
|
|
203
|
-
"exampleOnly"
|
|
204
|
-
],
|
|
205
|
-
"description": "FR-010 output-format prompt presentation: 'guide' (prose list + example), 'inline' (inline placeholders / enum choices), or 'exampleOnly' (filled skeleton). Guidance is never emitted as comments."
|
|
206
|
-
},
|
|
207
220
|
{
|
|
208
221
|
"type": "attr",
|
|
209
222
|
"subType": "string",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-definition.embedded.js","sourceRoot":"","sources":["../../src/template/template-definition.embedded.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,mBAAmB,GAAuB;IACrD,UAAU,EAAE,wBAAwB;IACpC,OAAO,EAAE;QACP;YACE,MAAM,EAAE,UAAU;YAClB,SAAS,EAAE,MAAM;YACjB,aAAa,EAAE,4SAA4S;YAC3T,OAAO,EAAE,gWAAgW;SAC1W;QACD;YACE,MAAM,EAAE,UAAU;YAClB,SAAS,EAAE,QAAQ;YACnB,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"template-definition.embedded.js","sourceRoot":"","sources":["../../src/template/template-definition.embedded.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type RetirementNote } from "./retired-vocabulary.js";
|
|
2
|
+
export interface RewriteChange {
|
|
3
|
+
/** Attribute name, without the sigil. */
|
|
4
|
+
readonly attr: string;
|
|
5
|
+
readonly from: string;
|
|
6
|
+
readonly to: string;
|
|
7
|
+
/** 1-indexed line in the ORIGINAL document. */
|
|
8
|
+
readonly line: number;
|
|
9
|
+
}
|
|
10
|
+
export interface RewriteRefusal extends RetirementNote {
|
|
11
|
+
/** What was refused, ready to print: `@status` for an attribute, `origin.collection` for
|
|
12
|
+
* a retired subtype. Carries its own sigil so a caller never has to guess which. */
|
|
13
|
+
readonly subject: string;
|
|
14
|
+
readonly value?: string;
|
|
15
|
+
readonly line: number;
|
|
16
|
+
}
|
|
17
|
+
export interface RewriteResult {
|
|
18
|
+
readonly text: string;
|
|
19
|
+
readonly changes: readonly RewriteChange[];
|
|
20
|
+
readonly refusals: readonly RewriteRefusal[];
|
|
21
|
+
}
|
|
22
|
+
export interface RewriteOpts {
|
|
23
|
+
/** Only apply retirements at or before this version. */
|
|
24
|
+
readonly maxVersion?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Rewrite retired vocabulary in one raw canonical-JSON metadata document.
|
|
28
|
+
*
|
|
29
|
+
* Pure: no filesystem, no loader, no registry. Returns the new text plus every change and
|
|
30
|
+
* every refusal, so a caller can print a diff and exit non-zero when work remains.
|
|
31
|
+
*/
|
|
32
|
+
export declare function rewriteDocument(source: string, opts?: RewriteOpts): RewriteResult;
|
|
33
|
+
//# sourceMappingURL=vocabulary-rewrite.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vocabulary-rewrite.d.ts","sourceRoot":"","sources":["../src/vocabulary-rewrite.ts"],"names":[],"mappings":"AA4CA,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAe,SAAQ,cAAc;IACpD;yFACqF;IACrF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;CAC9C;AAED,MAAM,WAAW,WAAW;IAC1B,wDAAwD;IACxD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AA4KD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,WAAgB,GAAG,aAAa,CAyFrF"}
|