@metaobjectsdev/metadata 0.10.0 → 0.11.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.
Files changed (214) hide show
  1. package/dist/attr-schema-validate.js +12 -4
  2. package/dist/attr-schema-validate.js.map +1 -1
  3. package/dist/core/identity/identity-constants.d.ts.map +1 -1
  4. package/dist/core/identity/identity-constants.js +3 -0
  5. package/dist/core/identity/identity-constants.js.map +1 -1
  6. package/dist/core/identity/identity-definition.embedded.d.ts.map +1 -1
  7. package/dist/core/identity/identity-definition.embedded.js +2 -0
  8. package/dist/core/identity/identity-definition.embedded.js.map +1 -1
  9. package/dist/core/identity/meta-identity.d.ts.map +1 -1
  10. package/dist/core/identity/meta-identity.js +8 -1
  11. package/dist/core/identity/meta-identity.js.map +1 -1
  12. package/dist/core/validator/validator-constants.d.ts +14 -1
  13. package/dist/core/validator/validator-constants.d.ts.map +1 -1
  14. package/dist/core/validator/validator-constants.js +20 -1
  15. package/dist/core/validator/validator-constants.js.map +1 -1
  16. package/dist/core/validator/validator-definition.embedded.d.ts.map +1 -1
  17. package/dist/core/validator/validator-definition.embedded.js +121 -0
  18. package/dist/core/validator/validator-definition.embedded.js.map +1 -1
  19. package/dist/core-types.d.ts.map +1 -1
  20. package/dist/core-types.js +25 -2
  21. package/dist/core-types.js.map +1 -1
  22. package/dist/errors.d.ts +3 -3
  23. package/dist/errors.d.ts.map +1 -1
  24. package/dist/errors.js +9 -0
  25. package/dist/errors.js.map +1 -1
  26. package/dist/loader/meta-data-loader.d.ts.map +1 -1
  27. package/dist/loader/meta-data-loader.js +10 -0
  28. package/dist/loader/meta-data-loader.js.map +1 -1
  29. package/dist/loader/validation-passes.d.ts.map +1 -1
  30. package/dist/loader/validation-passes.js +6 -1
  31. package/dist/loader/validation-passes.js.map +1 -1
  32. package/dist/loader/validation-registry.d.ts +10 -0
  33. package/dist/loader/validation-registry.d.ts.map +1 -0
  34. package/dist/loader/validation-registry.js +84 -0
  35. package/dist/loader/validation-registry.js.map +1 -0
  36. package/dist/parser-core.js +10 -1
  37. package/dist/parser-core.js.map +1 -1
  38. package/dist/persistence/db/db-constants.d.ts +10 -0
  39. package/dist/persistence/db/db-constants.d.ts.map +1 -1
  40. package/dist/persistence/db/db-constants.js +14 -0
  41. package/dist/persistence/db/db-constants.js.map +1 -1
  42. package/dist/persistence/db/db-definition.embedded.d.ts.map +1 -1
  43. package/dist/persistence/db/db-definition.embedded.js +57 -0
  44. package/dist/persistence/db/db-definition.embedded.js.map +1 -1
  45. package/dist/provider-data.d.ts +15 -0
  46. package/dist/provider-data.d.ts.map +1 -1
  47. package/dist/provider-data.js +2 -0
  48. package/dist/provider-data.js.map +1 -1
  49. package/dist/registry.d.ts +16 -0
  50. package/dist/registry.d.ts.map +1 -1
  51. package/dist/registry.js.map +1 -1
  52. package/dist/validate-max-occurs.d.ts +5 -0
  53. package/dist/validate-max-occurs.d.ts.map +1 -0
  54. package/dist/validate-max-occurs.js +28 -0
  55. package/dist/validate-max-occurs.js.map +1 -0
  56. package/dist/validation-types.d.ts +36 -0
  57. package/dist/validation-types.d.ts.map +1 -0
  58. package/dist/validation-types.js +7 -0
  59. package/dist/validation-types.js.map +1 -0
  60. package/package.json +1 -1
  61. package/src/attr-schema-validate.ts +12 -4
  62. package/src/core/identity/identity-constants.ts +4 -0
  63. package/src/core/identity/identity-definition.embedded.ts +2 -0
  64. package/src/core/identity/meta-identity.ts +8 -1
  65. package/src/core/validator/validator-constants.ts +22 -1
  66. package/src/core/validator/validator-definition.embedded.ts +121 -0
  67. package/src/core-types.ts +26 -1
  68. package/src/errors.ts +11 -2
  69. package/src/loader/meta-data-loader.ts +12 -0
  70. package/src/loader/validation-passes.ts +11 -1
  71. package/src/loader/validation-registry.ts +93 -0
  72. package/src/parser-core.ts +10 -1
  73. package/src/persistence/db/db-constants.ts +16 -0
  74. package/src/persistence/db/db-definition.embedded.ts +57 -0
  75. package/src/provider-data.ts +17 -0
  76. package/src/registry.ts +16 -0
  77. package/src/validate-max-occurs.ts +39 -0
  78. package/src/validation-types.ts +57 -0
  79. package/dist/constants.d.ts +0 -208
  80. package/dist/constants.d.ts.map +0 -1
  81. package/dist/constants.js +0 -419
  82. package/dist/constants.js.map +0 -1
  83. package/dist/core/documentation/doc-schema.d.ts +0 -8
  84. package/dist/core/documentation/doc-schema.d.ts.map +0 -1
  85. package/dist/core/documentation/doc-schema.js +0 -61
  86. package/dist/core/documentation/doc-schema.js.map +0 -1
  87. package/dist/core/field/field-schema.d.ts +0 -6
  88. package/dist/core/field/field-schema.d.ts.map +0 -1
  89. package/dist/core/field/field-schema.js +0 -23
  90. package/dist/core/field/field-schema.js.map +0 -1
  91. package/dist/core/file-meta-data-loader.d.ts +0 -18
  92. package/dist/core/file-meta-data-loader.d.ts.map +0 -1
  93. package/dist/core/file-meta-data-loader.js +0 -81
  94. package/dist/core/file-meta-data-loader.js.map +0 -1
  95. package/dist/core/file-source.d.ts +0 -12
  96. package/dist/core/file-source.d.ts.map +0 -1
  97. package/dist/core/file-source.js +0 -46
  98. package/dist/core/file-source.js.map +0 -1
  99. package/dist/core/identity/identity-schema.d.ts +0 -6
  100. package/dist/core/identity/identity-schema.d.ts.map +0 -1
  101. package/dist/core/identity/identity-schema.js +0 -56
  102. package/dist/core/identity/identity-schema.js.map +0 -1
  103. package/dist/core/object/object-schema.d.ts +0 -4
  104. package/dist/core/object/object-schema.d.ts.map +0 -1
  105. package/dist/core/object/object-schema.js +0 -28
  106. package/dist/core/object/object-schema.js.map +0 -1
  107. package/dist/core/relationship/relationship-schema.d.ts +0 -4
  108. package/dist/core/relationship/relationship-schema.d.ts.map +0 -1
  109. package/dist/core/relationship/relationship-schema.js +0 -57
  110. package/dist/core/relationship/relationship-schema.js.map +0 -1
  111. package/dist/core/validator/validator-schema.d.ts +0 -4
  112. package/dist/core/validator/validator-schema.d.ts.map +0 -1
  113. package/dist/core/validator/validator-schema.js +0 -38
  114. package/dist/core/validator/validator-schema.js.map +0 -1
  115. package/dist/core-attr-schemas.d.ts +0 -22
  116. package/dist/core-attr-schemas.d.ts.map +0 -1
  117. package/dist/core-attr-schemas.js +0 -324
  118. package/dist/core-attr-schemas.js.map +0 -1
  119. package/dist/db/db-attr-schemas.d.ts +0 -8
  120. package/dist/db/db-attr-schemas.d.ts.map +0 -1
  121. package/dist/db/db-attr-schemas.js +0 -26
  122. package/dist/db/db-attr-schemas.js.map +0 -1
  123. package/dist/db/db-provider.d.ts +0 -3
  124. package/dist/db/db-provider.d.ts.map +0 -1
  125. package/dist/db/db-provider.js +0 -28
  126. package/dist/db/db-provider.js.map +0 -1
  127. package/dist/meta/find-reference.d.ts +0 -22
  128. package/dist/meta/find-reference.d.ts.map +0 -1
  129. package/dist/meta/find-reference.js +0 -29
  130. package/dist/meta/find-reference.js.map +0 -1
  131. package/dist/meta/meta-attr.d.ts +0 -8
  132. package/dist/meta/meta-attr.d.ts.map +0 -1
  133. package/dist/meta/meta-attr.js +0 -17
  134. package/dist/meta/meta-attr.js.map +0 -1
  135. package/dist/meta/meta-data.d.ts +0 -107
  136. package/dist/meta/meta-data.d.ts.map +0 -1
  137. package/dist/meta/meta-data.js +0 -302
  138. package/dist/meta/meta-data.js.map +0 -1
  139. package/dist/meta/meta-field.d.ts +0 -48
  140. package/dist/meta/meta-field.d.ts.map +0 -1
  141. package/dist/meta/meta-field.js +0 -94
  142. package/dist/meta/meta-field.js.map +0 -1
  143. package/dist/meta/meta-identity.d.ts +0 -71
  144. package/dist/meta/meta-identity.d.ts.map +0 -1
  145. package/dist/meta/meta-identity.js +0 -129
  146. package/dist/meta/meta-identity.js.map +0 -1
  147. package/dist/meta/meta-layout.d.ts +0 -23
  148. package/dist/meta/meta-layout.d.ts.map +0 -1
  149. package/dist/meta/meta-layout.js +0 -45
  150. package/dist/meta/meta-layout.js.map +0 -1
  151. package/dist/meta/meta-object.d.ts +0 -40
  152. package/dist/meta/meta-object.d.ts.map +0 -1
  153. package/dist/meta/meta-object.js +0 -81
  154. package/dist/meta/meta-object.js.map +0 -1
  155. package/dist/meta/meta-origin.d.ts +0 -32
  156. package/dist/meta/meta-origin.d.ts.map +0 -1
  157. package/dist/meta/meta-origin.js +0 -55
  158. package/dist/meta/meta-origin.js.map +0 -1
  159. package/dist/meta/meta-relationship.d.ts +0 -11
  160. package/dist/meta/meta-relationship.d.ts.map +0 -1
  161. package/dist/meta/meta-relationship.js +0 -27
  162. package/dist/meta/meta-relationship.js.map +0 -1
  163. package/dist/meta/meta-root.d.ts +0 -12
  164. package/dist/meta/meta-root.d.ts.map +0 -1
  165. package/dist/meta/meta-root.js +0 -24
  166. package/dist/meta/meta-root.js.map +0 -1
  167. package/dist/meta/meta-source.d.ts +0 -18
  168. package/dist/meta/meta-source.d.ts.map +0 -1
  169. package/dist/meta/meta-source.js +0 -31
  170. package/dist/meta/meta-source.js.map +0 -1
  171. package/dist/meta/meta-validator.d.ts +0 -29
  172. package/dist/meta/meta-validator.d.ts.map +0 -1
  173. package/dist/meta/meta-validator.js +0 -49
  174. package/dist/meta/meta-validator.js.map +0 -1
  175. package/dist/meta/meta-view.d.ts +0 -4
  176. package/dist/meta/meta-view.d.ts.map +0 -1
  177. package/dist/meta/meta-view.js +0 -8
  178. package/dist/meta/meta-view.js.map +0 -1
  179. package/dist/persistence/db/db-attr-schemas.d.ts +0 -8
  180. package/dist/persistence/db/db-attr-schemas.d.ts.map +0 -1
  181. package/dist/persistence/db/db-attr-schemas.js +0 -28
  182. package/dist/persistence/db/db-attr-schemas.js.map +0 -1
  183. package/dist/persistence/db/db-schema.d.ts +0 -28
  184. package/dist/persistence/db/db-schema.d.ts.map +0 -1
  185. package/dist/persistence/db/db-schema.js +0 -62
  186. package/dist/persistence/db/db-schema.js.map +0 -1
  187. package/dist/persistence/origin/origin-schema.d.ts +0 -4
  188. package/dist/persistence/origin/origin-schema.d.ts.map +0 -1
  189. package/dist/persistence/origin/origin-schema.js +0 -63
  190. package/dist/persistence/origin/origin-schema.js.map +0 -1
  191. package/dist/persistence/source/source-schema.d.ts +0 -4
  192. package/dist/persistence/source/source-schema.d.ts.map +0 -1
  193. package/dist/persistence/source/source-schema.js +0 -98
  194. package/dist/persistence/source/source-schema.js.map +0 -1
  195. package/dist/presentation/layout/layout-schema.d.ts +0 -4
  196. package/dist/presentation/layout/layout-schema.d.ts.map +0 -1
  197. package/dist/presentation/layout/layout-schema.js +0 -47
  198. package/dist/presentation/layout/layout-schema.js.map +0 -1
  199. package/dist/presentation/ui/ui-schema.d.ts +0 -10
  200. package/dist/presentation/ui/ui-schema.d.ts.map +0 -1
  201. package/dist/presentation/ui/ui-schema.js +0 -41
  202. package/dist/presentation/ui/ui-schema.js.map +0 -1
  203. package/dist/presentation/view/view-schema.d.ts +0 -4
  204. package/dist/presentation/view/view-schema.d.ts.map +0 -1
  205. package/dist/presentation/view/view-schema.js +0 -15
  206. package/dist/presentation/view/view-schema.js.map +0 -1
  207. package/dist/template/prompt-schema.d.ts +0 -20
  208. package/dist/template/prompt-schema.d.ts.map +0 -1
  209. package/dist/template/prompt-schema.js +0 -70
  210. package/dist/template/prompt-schema.js.map +0 -1
  211. package/dist/template/template-schema.d.ts +0 -3
  212. package/dist/template/template-schema.d.ts.map +0 -1
  213. package/dist/template/template-schema.js +0 -181
  214. package/dist/template/template-schema.js.map +0 -1
@@ -1,70 +0,0 @@
1
- // Prompt-domain attribute schemas — registered by promptProvider
2
- // (prompt-provider.ts), the AI + serialization concern (FR-004/006/010/011).
3
- // These field-teaching + tolerant-extract markers were re-homed out of the core
4
- // field definition (spec/metamodel/field.json) and object.value (object.json) by
5
- // FR-033 S1-field-A. The descriptions are copied VERBATIM from those sources so
6
- // the composed registry manifest stays byte-identical — only the owning provider
7
- // changes.
8
- import { ATTR_SUBTYPE_STRING, ATTR_SUBTYPE_PROPERTIES, } from "../core/attr/attr-constants.js";
9
- import { FIELD_ATTR_EXAMPLE, FIELD_ATTR_INSTRUCTION, FIELD_ATTR_ENUM_ALIAS, FIELD_ATTR_ENUM_DOC, FIELD_ATTR_COERCE_DEFAULT, FIELD_ATTR_NORMALIZE, NORMALIZE_MODES, NORMALIZE_DEFAULT, } from "../core/field/field-constants.js";
10
- // --- on EVERY field subtype (FR-010 field-teaching) ---
11
- /** `@example` — example value shown in the generated output-format prompt fragment. */
12
- export const exampleSchema = {
13
- name: FIELD_ATTR_EXAMPLE,
14
- valueType: ATTR_SUBTYPE_STRING,
15
- required: false,
16
- description: "FR-010: an example value for this field, shown in the generated output-format prompt fragment.",
17
- };
18
- /** `@instruction` — short instruction shown in the generated output-format prompt fragment. */
19
- export const instructionSchema = {
20
- name: FIELD_ATTR_INSTRUCTION,
21
- valueType: ATTR_SUBTYPE_STRING,
22
- required: false,
23
- description: "FR-010: a short instruction for this field, shown in the generated output-format prompt fragment.",
24
- };
25
- /** The two field-teaching markers added to every field subtype. */
26
- export const promptFieldAttrs = [
27
- exampleSchema,
28
- instructionSchema,
29
- ];
30
- // --- on field.enum ONLY (FR-010/FR-011 tolerant-extract overlays) ---
31
- /** `@enumAlias` — off-vocabulary token → canonical member map (FR-010 alias-fold). */
32
- export const enumAliasSchema = {
33
- name: FIELD_ATTR_ENUM_ALIAS,
34
- valueType: ATTR_SUBTYPE_PROPERTIES,
35
- required: false,
36
- description: "Map of alternate/off-vocabulary tokens to canonical enum members; feeds the FR-010 tolerant extract alias-fold.",
37
- };
38
- /** `@enumDoc` — per-member human-readable description map (FR-010 'guide' fragment). */
39
- export const enumDocSchema = {
40
- name: FIELD_ATTR_ENUM_DOC,
41
- valueType: ATTR_SUBTYPE_PROPERTIES,
42
- required: false,
43
- description: "Map of enum member to a human-readable description; shown per-member in the FR-010 'guide'-style prompt fragment.",
44
- };
45
- /** `@coerceDefault` — uncoercible-value fallback member (FR-011). */
46
- export const coerceDefaultSchema = {
47
- name: FIELD_ATTR_COERCE_DEFAULT,
48
- valueType: ATTR_SUBTYPE_STRING,
49
- required: false,
50
- description: "Fallback enum member used by tolerant extract when a present value cannot be coerced; must be one of the field's @values.",
51
- };
52
- /** `@normalize` — ASCII normalization mode for tolerant enum extract (FR-011).
53
- * On field.enum it is per-field; on object.value it is the default for the
54
- * object's enum fields. The same AttrSchema is reused for both placements. */
55
- export const normalizeSchema = {
56
- name: FIELD_ATTR_NORMALIZE,
57
- valueType: ATTR_SUBTYPE_STRING,
58
- required: false,
59
- default: NORMALIZE_DEFAULT,
60
- allowedValues: [...NORMALIZE_MODES],
61
- description: "ASCII normalization mode for tolerant enum extract (none|collapse|strip, default strip). On field.enum it is per-field; on object.value it is the default for the object's enum fields.",
62
- };
63
- /** The four extract-overlay attrs added to field.enum only. */
64
- export const promptEnumAttrs = [
65
- enumAliasSchema,
66
- enumDocSchema,
67
- coerceDefaultSchema,
68
- normalizeSchema,
69
- ];
70
- //# sourceMappingURL=prompt-schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompt-schema.js","sourceRoot":"","sources":["../../src/template/prompt-schema.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,6EAA6E;AAC7E,gFAAgF;AAChF,iFAAiF;AACjF,gFAAgF;AAChF,iFAAiF;AACjF,WAAW;AAGX,OAAO,EACL,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,eAAe,EACf,iBAAiB,GAClB,MAAM,kCAAkC,CAAC;AAE1C,yDAAyD;AAEzD,uFAAuF;AACvF,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,IAAI,EAAE,kBAAkB;IACxB,SAAS,EAAE,mBAAmB;IAC9B,QAAQ,EAAE,KAAK;IACf,WAAW,EACT,gGAAgG;CACnG,CAAC;AAEF,+FAA+F;AAC/F,MAAM,CAAC,MAAM,iBAAiB,GAAe;IAC3C,IAAI,EAAE,sBAAsB;IAC5B,SAAS,EAAE,mBAAmB;IAC9B,QAAQ,EAAE,KAAK;IACf,WAAW,EACT,mGAAmG;CACtG,CAAC;AAEF,mEAAmE;AACnE,MAAM,CAAC,MAAM,gBAAgB,GAA0B;IACrD,aAAa;IACb,iBAAiB;CAClB,CAAC;AAEF,uEAAuE;AAEvE,sFAAsF;AACtF,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,IAAI,EAAE,qBAAqB;IAC3B,SAAS,EAAE,uBAAuB;IAClC,QAAQ,EAAE,KAAK;IACf,WAAW,EACT,iHAAiH;CACpH,CAAC;AAEF,wFAAwF;AACxF,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,IAAI,EAAE,mBAAmB;IACzB,SAAS,EAAE,uBAAuB;IAClC,QAAQ,EAAE,KAAK;IACf,WAAW,EACT,mHAAmH;CACtH,CAAC;AAEF,qEAAqE;AACrE,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC7C,IAAI,EAAE,yBAAyB;IAC/B,SAAS,EAAE,mBAAmB;IAC9B,QAAQ,EAAE,KAAK;IACf,WAAW,EACT,2HAA2H;CAC9H,CAAC;AAEF;;+EAE+E;AAC/E,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,IAAI,EAAE,oBAAoB;IAC1B,SAAS,EAAE,mBAAmB;IAC9B,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,iBAAiB;IAC1B,aAAa,EAAE,CAAC,GAAG,eAAe,CAAC;IACnC,WAAW,EACT,yLAAyL;CAC5L,CAAC;AAEF,+DAA+D;AAC/D,MAAM,CAAC,MAAM,eAAe,GAA0B;IACpD,eAAe;IACf,aAAa;IACb,mBAAmB;IACnB,eAAe;CAChB,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { AttrSchema } from "../registry.js";
2
- export declare const TEMPLATE_ATTRS_MAP: Map<string, AttrSchema[]>;
3
- //# sourceMappingURL=template-schema.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"template-schema.d.ts","sourceRoot":"","sources":["../../src/template/template-schema.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AA6MjD,eAAO,MAAM,kBAAkB,2BAK7B,CAAC"}
@@ -1,181 +0,0 @@
1
- // Reserved-attribute schemas per template subtype (FR-004, R1).
2
- //
3
- // Both subtypes share the generic attrs; @format is a closed enum (allowedValues)
4
- // that the render engine keys its escaper off. template.prompt additionally
5
- // carries the LLM-overlay attrs. References (@payloadRef, @textRef) are plain
6
- // strings here — resolution against a real payload / text source is render-time
7
- // `verify` scope (Plan #3), not load-time validation.
8
- import { ATTR_SUBTYPE_STRING, ATTR_SUBTYPE_INT, } from "../core/attr/attr-constants.js";
9
- import { SUBTYPE_BASE } from "../shared/base-types.js";
10
- import { TEMPLATE_SUBTYPE_PROMPT, TEMPLATE_SUBTYPE_OUTPUT, TEMPLATE_SUBTYPE_TOOLCALL, TEMPLATE_ATTR_PAYLOAD_REF, TEMPLATE_ATTR_TEXT_REF, TEMPLATE_ATTR_FORMAT, TEMPLATE_ATTR_MAX_CHARS, TEMPLATE_ATTR_OWNER, TEMPLATE_ATTR_SINCE, TEMPLATE_ATTR_REQUIRED_TAGS, TEMPLATE_ATTR_RESPONSE_REF, TEMPLATE_ATTR_MAX_TOKENS, TEMPLATE_ATTR_REQUIRED_SLOTS, TEMPLATE_ATTR_MODEL, TEMPLATE_ATTR_TOOL_NAME, TEMPLATE_FORMATS, TEMPLATE_ATTR_PROMPT_STYLE, PROMPT_STYLE_DEFAULT, PROMPT_STYLES, TEMPLATE_ATTR_KIND, TEMPLATE_KINDS, TEMPLATE_KIND_DEFAULT, TEMPLATE_ATTR_SUBJECT_REF, TEMPLATE_ATTR_HTML_BODY_REF, TEMPLATE_ATTR_TEXT_BODY_REF, } from "./template-constants.js";
11
- // Generic attrs shared by template.prompt and template.output.
12
- const genericAttrs = [
13
- {
14
- name: TEMPLATE_ATTR_PAYLOAD_REF,
15
- valueType: ATTR_SUBTYPE_STRING,
16
- required: true,
17
- description: "Reference to the payload (a view-object / projection) this template renders against.",
18
- },
19
- {
20
- name: TEMPLATE_ATTR_TEXT_REF,
21
- valueType: ATTR_SUBTYPE_STRING,
22
- // Relaxed to optional at the schema level: a template.output with @kind="email"
23
- // renders subject/html/text parts and carries NO @textRef. The presence rule is
24
- // enforced conditionally in the loader (validateTemplatePayloadRefs): document /
25
- // prompt require @textRef; email does not. template.prompt's @textRef requirement
26
- // is likewise enforced there.
27
- required: false,
28
- description: "2-layer logical reference (group/source) to the body text, resolved by a provider at render time.",
29
- },
30
- {
31
- name: TEMPLATE_ATTR_FORMAT,
32
- valueType: ATTR_SUBTYPE_STRING,
33
- required: false,
34
- default: "text",
35
- allowedValues: [...TEMPLATE_FORMATS],
36
- description: "Output format; drives the render engine's escaping/whitespace behavior.",
37
- },
38
- {
39
- name: TEMPLATE_ATTR_MAX_CHARS,
40
- valueType: ATTR_SUBTYPE_INT,
41
- required: false,
42
- description: "Size budget for the rendered output, in characters.",
43
- },
44
- {
45
- name: TEMPLATE_ATTR_OWNER,
46
- valueType: ATTR_SUBTYPE_STRING,
47
- required: false,
48
- description: "Governance: the owner of this template.",
49
- },
50
- {
51
- name: TEMPLATE_ATTR_SINCE,
52
- valueType: ATTR_SUBTYPE_STRING,
53
- required: false,
54
- description: "Governance: the version this template was introduced in.",
55
- },
56
- {
57
- name: TEMPLATE_ATTR_REQUIRED_TAGS,
58
- valueType: ATTR_SUBTYPE_STRING,
59
- isArray: true,
60
- required: false,
61
- description: "Output tags the rendered text must contain (drives the verify output-tag check).",
62
- },
63
- ];
64
- // FR-010 artifact-1: output-format prompt presentation style (template.output only).
65
- // Closed enum, enforced via allowedValues exactly like @format. Default "guide".
66
- const promptStyleAttr = {
67
- name: TEMPLATE_ATTR_PROMPT_STYLE,
68
- valueType: ATTR_SUBTYPE_STRING,
69
- required: false,
70
- default: PROMPT_STYLE_DEFAULT,
71
- allowedValues: [...PROMPT_STYLES],
72
- 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.",
73
- };
74
- // @kind + email part-refs (template.output only).
75
- //
76
- // @kind is a closed enum (document|email), default "document", enforced via
77
- // allowedValues exactly like @format / @promptStyle. The 3 part-refs are optional
78
- // 2-layer logical (group/source) textRefs; their conditional presence (email needs
79
- // @subjectRef + @htmlBodyRef) is enforced in the loader validation pass.
80
- const outputKindAttrs = [
81
- {
82
- name: TEMPLATE_ATTR_KIND,
83
- valueType: ATTR_SUBTYPE_STRING,
84
- required: false,
85
- default: TEMPLATE_KIND_DEFAULT,
86
- allowedValues: [...TEMPLATE_KINDS],
87
- description: "Output shape: 'document' (renders @textRef in @format → one string) or 'email' (renders subject + html + optional text → a structured EmailDocument).",
88
- },
89
- {
90
- name: TEMPLATE_ATTR_SUBJECT_REF,
91
- valueType: ATTR_SUBTYPE_STRING,
92
- required: false,
93
- description: "Email only: 2-layer logical reference (group/source) to the subject-line text. Required when @kind=\"email\".",
94
- },
95
- {
96
- name: TEMPLATE_ATTR_HTML_BODY_REF,
97
- valueType: ATTR_SUBTYPE_STRING,
98
- required: false,
99
- description: "Email only: 2-layer logical reference (group/source) to the HTML body text. Required when @kind=\"email\".",
100
- },
101
- {
102
- name: TEMPLATE_ATTR_TEXT_BODY_REF,
103
- valueType: ATTR_SUBTYPE_STRING,
104
- required: false,
105
- description: "Email only: 2-layer logical reference (group/source) to the optional plain-text alternative body.",
106
- },
107
- ];
108
- // LLM-overlay attrs (template.prompt only).
109
- const promptOverlayAttrs = [
110
- {
111
- name: TEMPLATE_ATTR_MAX_TOKENS,
112
- valueType: ATTR_SUBTYPE_INT,
113
- required: false,
114
- description: "Token budget for the rendered prompt (LLM-specific).",
115
- },
116
- {
117
- name: TEMPLATE_ATTR_REQUIRED_SLOTS,
118
- valueType: ATTR_SUBTYPE_STRING,
119
- isArray: true,
120
- required: false,
121
- description: "Slots that must resolve at render time (drives the verify check).",
122
- },
123
- {
124
- name: TEMPLATE_ATTR_MODEL,
125
- valueType: ATTR_SUBTYPE_STRING,
126
- required: false,
127
- description: "Target model id (LLM-specific).",
128
- },
129
- {
130
- name: TEMPLATE_ATTR_RESPONSE_REF,
131
- valueType: ATTR_SUBTYPE_STRING,
132
- required: false,
133
- description: "Optional ref to the response value-object this prompt expects (peer of @payloadRef; drives typed LLM-call trace derivation).",
134
- },
135
- ];
136
- // Toolcall attrs (template.toolcall only — does NOT inherit genericAttrs).
137
- // Per ADR-0011: vendor-agnostic in core; vendor wire details (retry semantics,
138
- // fallback shapes, parallel invocation, cache hints) added by consumer
139
- // providers via registry.extend(TYPE_TEMPLATE, "toolcall", { attributes: [...] }).
140
- //
141
- // Critical: @textRef is intentionally NOT required here. A tool-call has no
142
- // renderable text body — the body IS the structured output schema resolved
143
- // via @payloadRef. This is the design rationale for toolcall being its own
144
- // subtype rather than template.output + @toolName.
145
- //
146
- // @description is intentionally NOT declared here — it's already a documentation
147
- // common attr added to every type by docProvider. Tool descriptions surfaced to
148
- // the LLM read the same @description common attr that doc-gen uses.
149
- const toolcallAttrs = [
150
- {
151
- name: TEMPLATE_ATTR_TOOL_NAME,
152
- valueType: ATTR_SUBTYPE_STRING,
153
- required: true,
154
- description: "Wire tool name surfaced to the LLM (vendor-specific format).",
155
- },
156
- {
157
- name: TEMPLATE_ATTR_PAYLOAD_REF,
158
- valueType: ATTR_SUBTYPE_STRING,
159
- required: true,
160
- description: "Output value-object the tool produces (resolved against the metamodel).",
161
- },
162
- {
163
- name: TEMPLATE_ATTR_OWNER,
164
- valueType: ATTR_SUBTYPE_STRING,
165
- required: false,
166
- description: "Governance: the owner of this toolcall.",
167
- },
168
- {
169
- name: TEMPLATE_ATTR_SINCE,
170
- valueType: ATTR_SUBTYPE_STRING,
171
- required: false,
172
- description: "Governance: the version this toolcall was introduced in.",
173
- },
174
- ];
175
- export const TEMPLATE_ATTRS_MAP = new Map([
176
- [SUBTYPE_BASE, []],
177
- [TEMPLATE_SUBTYPE_PROMPT, [...genericAttrs, ...promptOverlayAttrs]],
178
- [TEMPLATE_SUBTYPE_OUTPUT, [...genericAttrs, promptStyleAttr, ...outputKindAttrs]],
179
- [TEMPLATE_SUBTYPE_TOOLCALL, [...toolcallAttrs]],
180
- ]);
181
- //# sourceMappingURL=template-schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"template-schema.js","sourceRoot":"","sources":["../../src/template/template-schema.ts"],"names":[],"mappings":"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"}