@metaobjectsdev/metadata 0.21.6 → 0.22.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/requirement/meta-requirement.d.ts +23 -0
- package/dist/core/requirement/meta-requirement.d.ts.map +1 -0
- package/dist/core/requirement/meta-requirement.js +52 -0
- package/dist/core/requirement/meta-requirement.js.map +1 -0
- package/dist/core/requirement/requirement-constants.d.ts +35 -0
- package/dist/core/requirement/requirement-constants.d.ts.map +1 -0
- package/dist/core/requirement/requirement-constants.js +68 -0
- package/dist/core/requirement/requirement-constants.js.map +1 -0
- package/dist/core/requirement/requirement-definition.embedded.d.ts +3 -0
- package/dist/core/requirement/requirement-definition.embedded.d.ts.map +1 -0
- package/dist/core/requirement/requirement-definition.embedded.js +141 -0
- package/dist/core/requirement/requirement-definition.embedded.js.map +1 -0
- package/dist/core-types.d.ts.map +1 -1
- package/dist/core-types.js +27 -1
- package/dist/core-types.js.map +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +1 -0
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/naming.d.ts.map +1 -1
- package/dist/naming.js +9 -3
- package/dist/naming.js.map +1 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +28 -0
- package/dist/registry.js.map +1 -1
- package/dist/shared/base-types.d.ts +4 -1
- package/dist/shared/base-types.d.ts.map +1 -1
- package/dist/shared/base-types.js +4 -0
- package/dist/shared/base-types.js.map +1 -1
- package/dist/shared/node-guards.d.ts +24 -0
- package/dist/shared/node-guards.d.ts.map +1 -0
- package/dist/shared/node-guards.js +87 -0
- package/dist/shared/node-guards.js.map +1 -0
- package/dist/template/prompt-definition.embedded.d.ts.map +1 -1
- package/dist/template/prompt-definition.embedded.js +0 -276
- package/dist/template/prompt-definition.embedded.js.map +1 -1
- package/dist/template/template-definition.embedded.d.ts.map +1 -1
- package/dist/template/template-definition.embedded.js +267 -3
- package/dist/template/template-definition.embedded.js.map +1 -1
- package/package.json +1 -1
- package/src/core/requirement/meta-requirement.ts +69 -0
- package/src/core/requirement/requirement-constants.ts +82 -0
- package/src/core/requirement/requirement-definition.embedded.ts +148 -0
- package/src/core-types.ts +30 -0
- package/src/errors.ts +1 -0
- package/src/index.ts +15 -0
- package/src/naming.ts +10 -4
- package/src/registry.ts +34 -0
- package/src/shared/base-types.ts +4 -0
- package/src/shared/node-guards.ts +96 -0
- package/src/template/prompt-definition.embedded.ts +0 -276
- package/src/template/template-definition.embedded.ts +267 -3
package/dist/index.js
CHANGED
|
@@ -16,6 +16,8 @@ export * from "./core/documentation/doc-constants.js";
|
|
|
16
16
|
export * from "./core/validator/validator-constants.js";
|
|
17
17
|
export * from "./core/identity/identity-constants.js";
|
|
18
18
|
export * from "./core/index/index-constants.js";
|
|
19
|
+
export * from "./core/requirement/requirement-constants.js";
|
|
20
|
+
export { MetaRequirement } from "./core/requirement/meta-requirement.js";
|
|
19
21
|
export * from "./core/relationship/relationship-constants.js";
|
|
20
22
|
export * from "./core/query/query-constants.js";
|
|
21
23
|
export * from "./persistence/source/source-constants.js";
|
|
@@ -28,6 +30,11 @@ export * from "./presentation/layout/layout-constants.js";
|
|
|
28
30
|
export { MetaData } from "./shared/meta-data.js";
|
|
29
31
|
// Shared node classes
|
|
30
32
|
export { MetaRoot } from "./shared/meta-root.js";
|
|
33
|
+
// Cross-realm node guards — identify a node by metamodel `type`, not `instanceof`.
|
|
34
|
+
// Cross-package callers (codegen-ts / migrate-ts / runtime-ts) MUST use these:
|
|
35
|
+
// `instanceof` silently fails when two physical copies of this package are
|
|
36
|
+
// loaded. See shared/node-guards.ts for the mechanism.
|
|
37
|
+
export { isMetaRoot, isMetaObject, isMetaField, isMetaSource, isWritableSource, isReadOnlySource, } from "./shared/node-guards.js";
|
|
31
38
|
// Core node classes
|
|
32
39
|
export { MetaObject } from "./core/object/meta-object.js";
|
|
33
40
|
export { MetaField } from "./core/field/meta-field.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,EAAE;AACF,wEAAwE;AACxE,0EAA0E;AAC1E,yEAAyE;AACzE,EAAE;AACF,mDAAmD;AACnD,uDAAuD;AAiBvD,mEAAmE;AACnE,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AACxD,cAAc,uCAAuC,CAAC;AACtD,cAAc,iCAAiC,CAAC;AAChD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,iCAAiC,CAAC;AAChD,cAAc,0CAA0C,CAAC;AACzD,cAAc,0CAA0C,CAAC;AACzD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,2CAA2C,CAAC;AAE1D,8DAA8D;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGjD,sBAAsB;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,oBAAoB;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,0EAA0E;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAEvE,OAAO,EACL,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,wCAAwC,CAAC;AAEhD,oCAAoC;AACpC,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,kCAAkC,CAAC;AAC1C,QAAQ;AACR,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,4EAA4E;AAC5E,mCAAmC;AACnC,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,kDAAkD,CAAC;AAE1D,eAAe;AACf,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,gCAAgC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAE7E,gFAAgF;AAChF,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAE/F,qCAAqC;AACrC,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,oCAAoC,CAAC;AAE5C,2BAA2B;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACjE,kCAAkC;AAClC,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,GAChB,MAAM,qCAAqC,CAAC;AAC7C,sDAAsD;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,4BAA4B;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAsBlE,WAAW;AACX,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEvE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEtF,gFAAgF;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,sFAAsF;AACtF,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE7H,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEpE,6EAA6E;AAC7E,0EAA0E;AAC1E,yEAAyE;AACzE,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AAGnC,4EAA4E;AAC5E,+EAA+E;AAC/E,uEAAuE;AACvE,6EAA6E;AAC7E,8EAA8E;AAC9E,0FAA0F;AAC1F,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE,sBAAsB;AACtB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhD,0BAA0B;AAC1B,OAAO,EACL,UAAU,EACV,iBAAiB,EAAE,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAClE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,GACnD,MAAM,gBAAgB,CAAC;AAGxB,oCAAoC;AACpC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGpE,sEAAsE;AACtE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAErE,uDAAuD;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,aAAa;AACb,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG3F,0FAA0F;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,2EAA2E;AAC3E,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAExI,mBAAmB;AACnB,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,0EAA0E;AAC1E,wEAAwE;AACxE,6EAA6E;AAC7E,sEAAsE;AACtE,yDAAyD;AACzD,OAAO,EACL,aAAa,EACb,QAAQ,EACR,UAAU,GACX,MAAM,uBAAuB,CAAC;AAE/B,SAAS;AACT,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AActE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,8CAA8C;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D,wGAAwG;AACxG,kDAAkD;AAClD,OAAO,EACL,WAAW,EAAE,WAAW,EAAE,SAAS,EACnC,yBAAyB,EAAE,8BAA8B,EACzD,gBAAgB,EAAE,iBAAiB,EAAE,kBAAkB,EACvD,YAAY,EACZ,YAAY,GACb,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/naming.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"naming.d.ts","sourceRoot":"","sources":["../src/naming.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"naming.d.ts","sourceRoot":"","sources":["../src/naming.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAiBtD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAI7D;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAK7C;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,SAAS,GAAG,YAAY,CAAC;AAE3E,sDAAsD;AACtD,eAAO,MAAM,8BAA8B,EAAE,oBAAmC,CAAC;AAEjF,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,GAAG,MAAM,CAM9F;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAI3C;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAiBzD;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,QAAQ,EACf,QAAQ,GAAE,oBAAqD,GAC9D,MAAM,CAKR;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAUvE;AAED,2GAA2G;AAC3G,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,QAAQ,EAChB,QAAQ,GAAE,oBAAqD,GAC9D,aAAa,CAYf"}
|
package/dist/naming.js
CHANGED
|
@@ -2,7 +2,13 @@ import { TYPE_FIELD } from "./shared/base-types.js";
|
|
|
2
2
|
import { PACKAGE_SEPARATOR } from "./shared/structural.js";
|
|
3
3
|
import { FIELD_ATTR_COLUMN } from "./persistence/db/db-constants.js";
|
|
4
4
|
import { SOURCE_ATTR_SCHEMA, SOURCE_ROLE_PRIMARY, } from "./persistence/source/source-constants.js";
|
|
5
|
-
|
|
5
|
+
// isMetaSource, not `instanceof`: unlike the loader-internal validators, these two
|
|
6
|
+
// are EXPORTED helpers that run on a caller-supplied node — migrate-ts calls both
|
|
7
|
+
// on nodes the CLI's loader built. Under a split @metaobjectsdev/metadata tree the
|
|
8
|
+
// class check would be false for a real primary source, and resolveTableName would
|
|
9
|
+
// silently fall through to the entity-name fallback: a DIFFERENT table name, which
|
|
10
|
+
// migrate then emits as a rename against a live database.
|
|
11
|
+
import { isMetaSource } from "./shared/node-guards.js";
|
|
6
12
|
/**
|
|
7
13
|
* Strip the package prefix from a metadata-qualified name
|
|
8
14
|
* (e.g. "pkg::Name" → "Name"). Returns the input unchanged if no
|
|
@@ -53,7 +59,7 @@ export function resolveTableName(entity) {
|
|
|
53
59
|
// single table (FR-017) — resolves to that base table rather than the
|
|
54
60
|
// entity-name fallback. For an entity declaring its own source, own shadows
|
|
55
61
|
// inherited, so the result is unchanged.
|
|
56
|
-
const source = entity.children().find((c) => c
|
|
62
|
+
const source = entity.children().find((c) => isMetaSource(c) && c.role === SOURCE_ROLE_PRIMARY);
|
|
57
63
|
if (source !== undefined)
|
|
58
64
|
return source.physicalName;
|
|
59
65
|
return pluralize(toSnakeCase(entity.name));
|
|
@@ -74,7 +80,7 @@ export function resolveColumnName(field, strategy = DEFAULT_COLUMN_NAMING_STRATE
|
|
|
74
80
|
*/
|
|
75
81
|
export function resolveTableSchema(entity) {
|
|
76
82
|
// ADR-0039: resolving — a concrete entity may inherit its source.rdb via extends.
|
|
77
|
-
const source = entity.children().find((c) => c
|
|
83
|
+
const source = entity.children().find((c) => isMetaSource(c) && c.role === SOURCE_ROLE_PRIMARY);
|
|
78
84
|
if (!source)
|
|
79
85
|
return undefined;
|
|
80
86
|
// ADR-0039: resolving — an inherited source's @schema lives on the super node.
|
package/dist/naming.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"naming.js","sourceRoot":"","sources":["../src/naming.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EACL,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"naming.js","sourceRoot":"","sources":["../src/naming.ts"],"names":[],"mappings":"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"}
|
package/dist/registry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/registry.js
CHANGED
|
@@ -116,6 +116,17 @@ export class TypeRegistry {
|
|
|
116
116
|
throw new Error(`TypeRegistry.registerCommonAttrs: attr "${attr.name}" declares valueType "${SUBTYPE_BASE}", ` +
|
|
117
117
|
`which is not valid for attrs. Use no valueType (omit the field) for a polymorphic/untyped attr.`);
|
|
118
118
|
}
|
|
119
|
+
// ADR-0050, the second door. A common attr is a projection onto EVERY type, so a
|
|
120
|
+
// required one is the same defect as a required `extend` — with the widest possible
|
|
121
|
+
// blast radius: drop the provider and every type in the registry silently loses a
|
|
122
|
+
// required-attr rule. Java makes this unrepresentable (its registerCommonAttribute
|
|
123
|
+
// takes no `required` parameter); TS's AttrSchema carries `required`, so it needs the
|
|
124
|
+
// explicit guard.
|
|
125
|
+
if (attr.required === true) {
|
|
126
|
+
throw new MetaModelError(`TypeRegistry.registerCommonAttrs: attribute "${attr.name}" is REQUIRED. A common attr ` +
|
|
127
|
+
`is projected onto every registered type, so a required one would vanish from all of ` +
|
|
128
|
+
`them whenever its provider is composed out. Common attrs must be optional (ADR-0050).`, { code: "ERR_EXTEND_REQUIRED_ATTR" });
|
|
129
|
+
}
|
|
119
130
|
if (this._commonAttrs.some((existing) => existing.name === attr.name)) {
|
|
120
131
|
continue; // dedupe same-name re-registration; conflict-with-per-type-attr is checked at validation time
|
|
121
132
|
}
|
|
@@ -148,6 +159,23 @@ export class TypeRegistry {
|
|
|
148
159
|
if (def.attributes.some((a) => a.name === attr.name)) {
|
|
149
160
|
throw new MetaModelError(`TypeRegistry.extend: attribute "${attr.name}" is already declared on "${type}.${subType}"`, { code: "ERR_PROVIDER_ATTR_CONFLICT" });
|
|
150
161
|
}
|
|
162
|
+
// ADR-0050: a REQUIRED attr may never be PROJECTED onto someone else's type.
|
|
163
|
+
// `extend` is how a concern provider decorates a type another provider owns, and
|
|
164
|
+
// a concern can be composed out. A required attr arriving this way makes the
|
|
165
|
+
// target type's validity depend on an optional provider — and the failure is
|
|
166
|
+
// silent: drop the provider and the type stays registered while its required-attr
|
|
167
|
+
// rule simply stops firing, so invalid metadata begins loading clean.
|
|
168
|
+
//
|
|
169
|
+
// If the attr is genuinely required, it is OWN, not projected: declare it with the
|
|
170
|
+
// type, in the type's own provider. This is exactly how FR-033 broke template.*'s
|
|
171
|
+
// @payloadRef / @toolName, and this guard makes that class unrepresentable rather
|
|
172
|
+
// than merely fixed.
|
|
173
|
+
if (attr.required === true) {
|
|
174
|
+
throw new MetaModelError(`TypeRegistry.extend: attribute "${attr.name}" being added to "${type}.${subType}" is REQUIRED. ` +
|
|
175
|
+
`A provider may only project OPTIONAL attributes onto a type it does not own — a required ` +
|
|
176
|
+
`attr registered this way disappears, silently, whenever that provider is composed out. ` +
|
|
177
|
+
`Declare it with the type instead (ADR-0050).`, { code: "ERR_EXTEND_REQUIRED_ATTR" });
|
|
178
|
+
}
|
|
151
179
|
def.attributes.push(attr);
|
|
152
180
|
}
|
|
153
181
|
for (const rule of ext.childRules ?? []) {
|
package/dist/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,10 @@ export declare const TYPE_ORIGIN = "origin";
|
|
|
12
12
|
export declare const TYPE_TEMPLATE = "template";
|
|
13
13
|
/** Non-unique lookup indexes — `index.lookup` is the only registered subtype. */
|
|
14
14
|
export declare const TYPE_INDEX = "index";
|
|
15
|
-
|
|
15
|
+
/** Capability / requirement records — `requirement.functional` (existence check)
|
|
16
|
+
* and `requirement.architectural` (universality check). Ruling amendment 3. */
|
|
17
|
+
export declare const TYPE_REQUIREMENT = "requirement";
|
|
18
|
+
export declare const BASE_TYPES: readonly ["metadata", "object", "field", "attr", "validator", "view", "identity", "relationship", "layout", "source", "origin", "template", "index", "requirement"];
|
|
16
19
|
export type BaseType = (typeof BASE_TYPES)[number];
|
|
17
20
|
export declare const SUBTYPE_BASE = "base";
|
|
18
21
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-types.d.ts","sourceRoot":"","sources":["../../src/shared/base-types.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,aAAa,aAAa,CAAC;AACxC,eAAO,MAAM,WAAW,WAAW,CAAC;AACpC,eAAO,MAAM,UAAU,UAAU,CAAC;AAClC,eAAO,MAAM,SAAS,SAAS,CAAC;AAChC,eAAO,MAAM,cAAc,cAAc,CAAC;AAC1C,eAAO,MAAM,SAAS,SAAS,CAAC;AAChC,eAAO,MAAM,aAAa,aAAa,CAAC;AACxC,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAChD,eAAO,MAAM,WAAW,WAAW,CAAC;AACpC,eAAO,MAAM,WAAW,WAAW,CAAC;AACpC,eAAO,MAAM,WAAW,WAAW,CAAC;AACpC,eAAO,MAAM,aAAa,aAAa,CAAC;AACxC,iFAAiF;AACjF,eAAO,MAAM,UAAU,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"base-types.d.ts","sourceRoot":"","sources":["../../src/shared/base-types.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,aAAa,aAAa,CAAC;AACxC,eAAO,MAAM,WAAW,WAAW,CAAC;AACpC,eAAO,MAAM,UAAU,UAAU,CAAC;AAClC,eAAO,MAAM,SAAS,SAAS,CAAC;AAChC,eAAO,MAAM,cAAc,cAAc,CAAC;AAC1C,eAAO,MAAM,SAAS,SAAS,CAAC;AAChC,eAAO,MAAM,aAAa,aAAa,CAAC;AACxC,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAChD,eAAO,MAAM,WAAW,WAAW,CAAC;AACpC,eAAO,MAAM,WAAW,WAAW,CAAC;AACpC,eAAO,MAAM,WAAW,WAAW,CAAC;AACpC,eAAO,MAAM,aAAa,aAAa,CAAC;AACxC,iFAAiF;AACjF,eAAO,MAAM,UAAU,UAAU,CAAC;AAClC;gFACgF;AAChF,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAE9C,eAAO,MAAM,UAAU,qKAeb,CAAC;AACX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAMnD,eAAO,MAAM,YAAY,SAAS,CAAC;AAMnC;;;;GAIG;AACH,eAAO,MAAM,YAAY,SAAS,CAAC;AAEnC,eAAO,MAAM,iBAAiB,mBAA0B,CAAC;AACzD,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -17,6 +17,9 @@ export const TYPE_ORIGIN = "origin";
|
|
|
17
17
|
export const TYPE_TEMPLATE = "template";
|
|
18
18
|
/** Non-unique lookup indexes — `index.lookup` is the only registered subtype. */
|
|
19
19
|
export const TYPE_INDEX = "index";
|
|
20
|
+
/** Capability / requirement records — `requirement.functional` (existence check)
|
|
21
|
+
* and `requirement.architectural` (universality check). Ruling amendment 3. */
|
|
22
|
+
export const TYPE_REQUIREMENT = "requirement";
|
|
20
23
|
export const BASE_TYPES = [
|
|
21
24
|
TYPE_METADATA,
|
|
22
25
|
TYPE_OBJECT,
|
|
@@ -31,6 +34,7 @@ export const BASE_TYPES = [
|
|
|
31
34
|
TYPE_ORIGIN,
|
|
32
35
|
TYPE_TEMPLATE,
|
|
33
36
|
TYPE_INDEX,
|
|
37
|
+
TYPE_REQUIREMENT,
|
|
34
38
|
];
|
|
35
39
|
// ---------------------------------------------------------------------------
|
|
36
40
|
// Universal subtype
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-types.js","sourceRoot":"","sources":["../../src/shared/base-types.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAErF,8EAA8E;AAC9E,iFAAiF;AACjF,yEAAyE;AACzE,8EAA8E;AAE9E,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC;AACxC,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC;AACpC,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC;AAClC,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC;AAChC,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC;AAC1C,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC;AAChC,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC;AACxC,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAChD,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC;AACpC,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC;AACpC,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC;AACpC,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC;AACxC,iFAAiF;AACjF,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"base-types.js","sourceRoot":"","sources":["../../src/shared/base-types.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAErF,8EAA8E;AAC9E,iFAAiF;AACjF,yEAAyE;AACzE,8EAA8E;AAE9E,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC;AACxC,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC;AACpC,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC;AAClC,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC;AAChC,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC;AAC1C,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC;AAChC,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC;AACxC,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAChD,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC;AACpC,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC;AACpC,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC;AACpC,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC;AACxC,iFAAiF;AACjF,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC;AAClC;gFACgF;AAChF,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAE9C,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,aAAa;IACb,WAAW;IACX,UAAU;IACV,SAAS;IACT,cAAc;IACd,SAAS;IACT,aAAa;IACb,iBAAiB;IACjB,WAAW;IACX,WAAW;IACX,WAAW;IACX,aAAa;IACb,UAAU;IACV,gBAAgB;CACR,CAAC;AAGX,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC;AAEnC,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC;AAEnC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,YAAY,CAAU,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { MetaData } from "./meta-data.js";
|
|
2
|
+
import type { MetaRoot } from "./meta-root.js";
|
|
3
|
+
import type { MetaObject } from "../core/object/meta-object.js";
|
|
4
|
+
import type { MetaField } from "../core/field/meta-field.js";
|
|
5
|
+
import type { MetaSource } from "../persistence/source/meta-source.js";
|
|
6
|
+
/** True when the node is a metadata root (type=metadata), across package copies. */
|
|
7
|
+
export declare function isMetaRoot(node: unknown): node is MetaRoot;
|
|
8
|
+
/** True when the node is an object node (type=object), across package copies. */
|
|
9
|
+
export declare function isMetaObject(node: unknown): node is MetaObject;
|
|
10
|
+
/** True when the node is a field node (type=field), across package copies. */
|
|
11
|
+
export declare function isMetaField(node: unknown): node is MetaField;
|
|
12
|
+
/** True when the node is a source node (type=source), across package copies. */
|
|
13
|
+
export declare function isMetaSource(node: unknown): node is MetaSource;
|
|
14
|
+
/**
|
|
15
|
+
* True when the node is a source that reports itself writable.
|
|
16
|
+
*
|
|
17
|
+
* Reads the writability surface through the node rather than through the class,
|
|
18
|
+
* and fails closed when a foreign node cannot answer — the same outcome the old
|
|
19
|
+
* `instanceof` guard produced for a node it did not recognise.
|
|
20
|
+
*/
|
|
21
|
+
export declare function isWritableSource(node: MetaData | undefined): node is MetaSource;
|
|
22
|
+
/** True when the node is a source that reports itself read-only. See isWritableSource. */
|
|
23
|
+
export declare function isReadOnlySource(node: MetaData | undefined): node is MetaSource;
|
|
24
|
+
//# sourceMappingURL=node-guards.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-guards.d.ts","sourceRoot":"","sources":["../../src/shared/node-guards.ts"],"names":[],"mappings":"AA4CA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AASvE,oFAAoF;AACpF,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,QAAQ,CAE1D;AAED,iFAAiF;AACjF,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,UAAU,CAE9D;AAED,8EAA8E;AAC9E,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,SAAS,CAE5D;AAED,gFAAgF;AAChF,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,UAAU,CAE9D;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI,IAAI,UAAU,CAI/E;AAED,0FAA0F;AAC1F,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI,IAAI,UAAU,CAI/E"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
// Cross-realm node guards — identify a node by its metamodel `type`, never by
|
|
2
|
+
// `instanceof`.
|
|
3
|
+
//
|
|
4
|
+
// WHY THESE EXIST
|
|
5
|
+
//
|
|
6
|
+
// `x instanceof MetaSource` is only sound when the class object and the instance
|
|
7
|
+
// come from the SAME physical copy of this package. Two copies in one process —
|
|
8
|
+
// a globally-installed or linked `meta` CLI alongside a project-local
|
|
9
|
+
// dependency — give them different class objects, so `instanceof` returns false
|
|
10
|
+
// for a node that is a source in every observable respect. This is the same
|
|
11
|
+
// class-identity defect that split ts-poet's `Code` objects in 0.21.6; there it
|
|
12
|
+
// was loud (duplicate imports → TS2300), but across the metadata boundary it is
|
|
13
|
+
// SILENT: a consumer package reads the node as "not a source" and simply emits
|
|
14
|
+
// nothing for it, with no error.
|
|
15
|
+
//
|
|
16
|
+
// WHO IS EXPOSED
|
|
17
|
+
//
|
|
18
|
+
// Sites INSIDE this package are immune by construction — a package's own module
|
|
19
|
+
// graph resolves its own files, so the class and the instance always match.
|
|
20
|
+
// The exposed callers are the OTHER packages that import a class from here
|
|
21
|
+
// (`codegen-ts`, `migrate-ts`, `runtime-ts`). `meta gen` / `meta migrate` alias
|
|
22
|
+
// `@metaobjectsdev/metadata` to the CLI's own copy (the CLI's
|
|
23
|
+
// `load-metaobjects-config.ts` CLI_PKG_PATHS), which closes the split for the
|
|
24
|
+
// CLI path — but that alias map does not run when a consumer embeds `runGen()`
|
|
25
|
+
// or the migrate engine programmatically, so cross-package code must not depend
|
|
26
|
+
// on it. A flat single-tree install also dedupes and hides the split, which is
|
|
27
|
+
// why in-process gates do not reproduce it.
|
|
28
|
+
//
|
|
29
|
+
// WHY TYPE-BASED IDENTIFICATION IS EQUIVALENT
|
|
30
|
+
//
|
|
31
|
+
// The registry binds one concrete class per metamodel type (TYPE_SOURCE →
|
|
32
|
+
// MetaSource, TYPE_OBJECT → MetaObject, TYPE_METADATA → MetaRoot), so on a
|
|
33
|
+
// single-copy tree `node.type === TYPE_SOURCE` and `node instanceof MetaSource`
|
|
34
|
+
// answer identically — these guards change nothing there. On a split tree the
|
|
35
|
+
// type still answers correctly, because `type` is data on the node rather than
|
|
36
|
+
// an identity shared with a class object.
|
|
37
|
+
//
|
|
38
|
+
// The returned predicate narrows to this copy's class type. That is a
|
|
39
|
+
// structural assertion, not a claim of instance identity: a foreign-realm node
|
|
40
|
+
// carries the same properties and prototype methods, so every member the caller
|
|
41
|
+
// then touches resolves. Callers needing behaviour from a node that may be
|
|
42
|
+
// foreign should still fail closed if a method is absent.
|
|
43
|
+
import { TYPE_FIELD, TYPE_METADATA, TYPE_OBJECT, TYPE_SOURCE } from "./base-types.js";
|
|
44
|
+
/** The node's metamodel `type`, or undefined when the value is not a node at all. */
|
|
45
|
+
function nodeType(node) {
|
|
46
|
+
if (typeof node !== "object" || node === null)
|
|
47
|
+
return undefined;
|
|
48
|
+
const t = node.type;
|
|
49
|
+
return typeof t === "string" ? t : undefined;
|
|
50
|
+
}
|
|
51
|
+
/** True when the node is a metadata root (type=metadata), across package copies. */
|
|
52
|
+
export function isMetaRoot(node) {
|
|
53
|
+
return nodeType(node) === TYPE_METADATA;
|
|
54
|
+
}
|
|
55
|
+
/** True when the node is an object node (type=object), across package copies. */
|
|
56
|
+
export function isMetaObject(node) {
|
|
57
|
+
return nodeType(node) === TYPE_OBJECT;
|
|
58
|
+
}
|
|
59
|
+
/** True when the node is a field node (type=field), across package copies. */
|
|
60
|
+
export function isMetaField(node) {
|
|
61
|
+
return nodeType(node) === TYPE_FIELD;
|
|
62
|
+
}
|
|
63
|
+
/** True when the node is a source node (type=source), across package copies. */
|
|
64
|
+
export function isMetaSource(node) {
|
|
65
|
+
return nodeType(node) === TYPE_SOURCE;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* True when the node is a source that reports itself writable.
|
|
69
|
+
*
|
|
70
|
+
* Reads the writability surface through the node rather than through the class,
|
|
71
|
+
* and fails closed when a foreign node cannot answer — the same outcome the old
|
|
72
|
+
* `instanceof` guard produced for a node it did not recognise.
|
|
73
|
+
*/
|
|
74
|
+
export function isWritableSource(node) {
|
|
75
|
+
if (!isMetaSource(node))
|
|
76
|
+
return false;
|
|
77
|
+
const probe = node;
|
|
78
|
+
return typeof probe.isWritable === "function" && probe.isWritable();
|
|
79
|
+
}
|
|
80
|
+
/** True when the node is a source that reports itself read-only. See isWritableSource. */
|
|
81
|
+
export function isReadOnlySource(node) {
|
|
82
|
+
if (!isMetaSource(node))
|
|
83
|
+
return false;
|
|
84
|
+
const probe = node;
|
|
85
|
+
return typeof probe.isReadOnly === "function" && probe.isReadOnly();
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=node-guards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-guards.js","sourceRoot":"","sources":["../../src/shared/node-guards.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,gBAAgB;AAChB,EAAE;AACF,kBAAkB;AAClB,EAAE;AACF,iFAAiF;AACjF,gFAAgF;AAChF,sEAAsE;AACtE,gFAAgF;AAChF,4EAA4E;AAC5E,gFAAgF;AAChF,gFAAgF;AAChF,+EAA+E;AAC/E,iCAAiC;AACjC,EAAE;AACF,iBAAiB;AACjB,EAAE;AACF,gFAAgF;AAChF,4EAA4E;AAC5E,2EAA2E;AAC3E,gFAAgF;AAChF,8DAA8D;AAC9D,8EAA8E;AAC9E,+EAA+E;AAC/E,gFAAgF;AAChF,+EAA+E;AAC/E,4CAA4C;AAC5C,EAAE;AACF,8CAA8C;AAC9C,EAAE;AACF,0EAA0E;AAC1E,2EAA2E;AAC3E,gFAAgF;AAChF,8EAA8E;AAC9E,+EAA+E;AAC/E,0CAA0C;AAC1C,EAAE;AACF,sEAAsE;AACtE,+EAA+E;AAC/E,gFAAgF;AAChF,2EAA2E;AAC3E,0DAA0D;AAE1D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAOtF,qFAAqF;AACrF,SAAS,QAAQ,CAAC,IAAa;IAC7B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAChE,MAAM,CAAC,GAAI,IAA2B,CAAC,IAAI,CAAC;IAC5C,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/C,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,UAAU,CAAC,IAAa;IACtC,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,aAAa,CAAC;AAC1C,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,YAAY,CAAC,IAAa;IACxC,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,WAAW,CAAC;AACxC,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,WAAW,CAAC,IAAa;IACvC,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC;AACvC,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,YAAY,CAAC,IAAa;IACxC,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,WAAW,CAAC;AACxC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAA0B;IACzD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,MAAM,KAAK,GAAG,IAAiD,CAAC;IAChE,OAAO,OAAO,KAAK,CAAC,UAAU,KAAK,UAAU,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;AACtE,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,gBAAgB,CAAC,IAA0B;IACzD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,MAAM,KAAK,GAAG,IAAiD,CAAC;IAChE,OAAO,OAAO,KAAK,CAAC,UAAU,KAAK,UAAU,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;AACtE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-definition.embedded.d.ts","sourceRoot":"","sources":["../../src/template/prompt-definition.embedded.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,eAAO,MAAM,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"prompt-definition.embedded.d.ts","sourceRoot":"","sources":["../../src/template/prompt-definition.embedded.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,eAAO,MAAM,iBAAiB,EAAE,kBAkG/B,CAAC"}
|