@metaobjectsdev/metadata 0.16.0 → 0.17.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/attr/attr-constants.d.ts +2 -1
- package/dist/core/attr/attr-constants.d.ts.map +1 -1
- package/dist/core/attr/attr-constants.js +4 -0
- package/dist/core/attr/attr-constants.js.map +1 -1
- package/dist/core/attr/attr-definition.embedded.d.ts.map +1 -1
- package/dist/core/attr/attr-definition.embedded.js +6 -0
- package/dist/core/attr/attr-definition.embedded.js.map +1 -1
- package/dist/core/attr/meta-attr-expression.d.ts +62 -0
- package/dist/core/attr/meta-attr-expression.d.ts.map +1 -0
- package/dist/core/attr/meta-attr-expression.js +203 -0
- package/dist/core/attr/meta-attr-expression.js.map +1 -0
- package/dist/core/field/meta-field.d.ts +8 -0
- package/dist/core/field/meta-field.d.ts.map +1 -1
- package/dist/core/field/meta-field.js +12 -1
- package/dist/core/field/meta-field.js.map +1 -1
- package/dist/core/object/object-constants.d.ts +6 -0
- package/dist/core/object/object-constants.d.ts.map +1 -1
- package/dist/core/object/object-constants.js +9 -0
- package/dist/core/object/object-constants.js.map +1 -1
- package/dist/core/object/object-definition.embedded.d.ts.map +1 -1
- package/dist/core/object/object-definition.embedded.js +11 -1
- package/dist/core/object/object-definition.embedded.js.map +1 -1
- package/dist/core-types.d.ts +1 -0
- package/dist/core-types.d.ts.map +1 -1
- package/dist/core-types.js +5 -2
- 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 +28 -0
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/loader/meta-data-loader.d.ts.map +1 -1
- package/dist/loader/meta-data-loader.js +12 -1
- package/dist/loader/meta-data-loader.js.map +1 -1
- package/dist/loader/validation-passes.d.ts +1 -0
- package/dist/loader/validation-passes.d.ts.map +1 -1
- package/dist/loader/validation-passes.js +264 -13
- package/dist/loader/validation-passes.js.map +1 -1
- package/dist/persistence/db/db-definition.embedded.d.ts.map +1 -1
- package/dist/persistence/db/db-definition.embedded.js +16 -0
- package/dist/persistence/db/db-definition.embedded.js.map +1 -1
- package/dist/persistence/origin/meta-origin.d.ts +30 -3
- package/dist/persistence/origin/meta-origin.d.ts.map +1 -1
- package/dist/persistence/origin/meta-origin.js +44 -2
- package/dist/persistence/origin/meta-origin.js.map +1 -1
- package/dist/persistence/origin/origin-constants.d.ts +15 -1
- package/dist/persistence/origin/origin-constants.d.ts.map +1 -1
- package/dist/persistence/origin/origin-constants.js +40 -3
- 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 +86 -8
- package/dist/persistence/origin/origin-definition.embedded.js.map +1 -1
- package/dist/persistence/source/meta-source.d.ts +12 -0
- package/dist/persistence/source/meta-source.d.ts.map +1 -1
- package/dist/persistence/source/meta-source.js +20 -1
- package/dist/persistence/source/meta-source.js.map +1 -1
- package/dist/persistence/source/source-constants.d.ts +9 -0
- package/dist/persistence/source/source-constants.d.ts.map +1 -1
- package/dist/persistence/source/source-constants.js +9 -0
- package/dist/persistence/source/source-constants.js.map +1 -1
- package/dist/persistence/source/validate-source-escapes.d.ts +9 -0
- package/dist/persistence/source/validate-source-escapes.d.ts.map +1 -0
- package/dist/persistence/source/validate-source-escapes.js +115 -0
- package/dist/persistence/source/validate-source-escapes.js.map +1 -0
- package/package.json +1 -1
- package/src/core/attr/attr-constants.ts +4 -0
- package/src/core/attr/attr-definition.embedded.ts +6 -0
- package/src/core/attr/meta-attr-expression.ts +230 -0
- package/src/core/field/meta-field.ts +13 -1
- package/src/core/object/object-constants.ts +10 -0
- package/src/core/object/object-definition.embedded.ts +11 -1
- package/src/core-types.ts +6 -1
- package/src/errors.ts +28 -0
- package/src/index.ts +2 -0
- package/src/loader/meta-data-loader.ts +14 -1
- package/src/loader/validation-passes.ts +370 -15
- package/src/persistence/db/db-definition.embedded.ts +16 -0
- package/src/persistence/origin/meta-origin.ts +55 -4
- package/src/persistence/origin/origin-constants.ts +45 -3
- package/src/persistence/origin/origin-definition.embedded.ts +86 -8
- package/src/persistence/source/meta-source.ts +23 -0
- package/src/persistence/source/source-constants.ts +10 -0
- package/src/persistence/source/validate-source-escapes.ts +158 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db-definition.embedded.js","sourceRoot":"","sources":["../../../src/persistence/db/db-definition.embedded.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"db-definition.embedded.js","sourceRoot":"","sources":["../../../src/persistence/db/db-definition.embedded.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { MetaData } from "../../shared/meta-data.js";
|
|
2
|
-
import { type
|
|
2
|
+
import { type OriginAggValue } from "./origin-constants.js";
|
|
3
|
+
import type { ExprNode } from "../../core/attr/meta-attr-expression.js";
|
|
3
4
|
export declare class MetaOrigin extends MetaData {
|
|
4
5
|
}
|
|
5
6
|
/**
|
|
@@ -22,8 +23,8 @@ export declare class MetaPassthroughOrigin extends MetaOrigin {
|
|
|
22
23
|
* Carries `@agg`, `@of`, and `@via` (all required).
|
|
23
24
|
*/
|
|
24
25
|
export declare class MetaAggregateOrigin extends MetaOrigin {
|
|
25
|
-
/** The
|
|
26
|
-
get agg():
|
|
26
|
+
/** The reducing function (count | sum | avg | min | max | any | all | collect). */
|
|
27
|
+
get agg(): OriginAggValue | undefined;
|
|
27
28
|
/** The dotted-path target of the aggregate (e.g. "Week.id"). */
|
|
28
29
|
get of(): string | undefined;
|
|
29
30
|
/** The dotted relationship path the aggregate walks (e.g. "Program.weeks"). */
|
|
@@ -39,4 +40,30 @@ export declare class MetaCollectionOrigin extends MetaOrigin {
|
|
|
39
40
|
/** The dotted relationship path (or wildcard selector) this collection is sourced from. */
|
|
40
41
|
get via(): string | undefined;
|
|
41
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Computed origin (#195) — a row-level value computed from the base entity's own
|
|
45
|
+
* fields via a structured expression tree (`@expr`). No related rows, no `@via`.
|
|
46
|
+
* The expression's inferred type must equal the carrying field's declared subType
|
|
47
|
+
* (ERR_COMPUTED_TYPE_MISMATCH).
|
|
48
|
+
*/
|
|
49
|
+
export declare class MetaComputedOrigin extends MetaOrigin {
|
|
50
|
+
/** The structured expression tree computing this field's value. */
|
|
51
|
+
get expr(): ExprNode | undefined;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* First origin (#195) — the single related row selected by `@orderBy` along
|
|
55
|
+
* `@via`, projecting its `@of` column (argmax-then-project). Empty related set
|
|
56
|
+
* (after `@filter`) → null, so the carrying field must not be `@required`.
|
|
57
|
+
*
|
|
58
|
+
* Carries `@of` (required, type-preserving), `@via` (optional; single-hop-unique
|
|
59
|
+
* inference), `@orderBy` (required), and an optional `@filter`.
|
|
60
|
+
*/
|
|
61
|
+
export declare class MetaFirstOrigin extends MetaOrigin {
|
|
62
|
+
/** The dotted Entity.field reference projected from the selected row (e.g. "ChildA.label"). */
|
|
63
|
+
get of(): string | undefined;
|
|
64
|
+
/** The dotted relationship path to the related rows (e.g. "Parent.childAs"). */
|
|
65
|
+
get via(): string | undefined;
|
|
66
|
+
/** The ordering keys ('field[:asc|desc]') selecting the single row. */
|
|
67
|
+
get orderBy(): string[] | undefined;
|
|
68
|
+
}
|
|
42
69
|
//# sourceMappingURL=meta-origin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta-origin.d.ts","sourceRoot":"","sources":["../../../src/persistence/origin/meta-origin.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,
|
|
1
|
+
{"version":3,"file":"meta-origin.d.ts","sourceRoot":"","sources":["../../../src/persistence/origin/meta-origin.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAWL,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yCAAyC,CAAC;AAExE,qBAAa,UAAW,SAAQ,QAAQ;CAAG;AAE3C;;;;;;GAMG;AACH,qBAAa,qBAAsB,SAAQ,UAAU;IACnD,sGAAsG;IACtG,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAI7B;IAED,gGAAgG;IAChG,IAAI,GAAG,IAAI,MAAM,GAAG,SAAS,CAI5B;CACF;AAED;;;;;GAKG;AACH,qBAAa,mBAAoB,SAAQ,UAAU;IACjD,mFAAmF;IACnF,IAAI,GAAG,IAAI,cAAc,GAAG,SAAS,CAIpC;IAED,gEAAgE;IAChE,IAAI,EAAE,IAAI,MAAM,GAAG,SAAS,CAI3B;IAED,+EAA+E;IAC/E,IAAI,GAAG,IAAI,MAAM,GAAG,SAAS,CAI5B;CACF;AAED;;;;;GAKG;AACH,qBAAa,oBAAqB,SAAQ,UAAU;IAClD,2FAA2F;IAC3F,IAAI,GAAG,IAAI,MAAM,GAAG,SAAS,CAI5B;CACF;AAED;;;;;GAKG;AACH,qBAAa,kBAAmB,SAAQ,UAAU;IAChD,mEAAmE;IACnE,IAAI,IAAI,IAAI,QAAQ,GAAG,SAAS,CAI/B;CACF;AAED;;;;;;;GAOG;AACH,qBAAa,eAAgB,SAAQ,UAAU;IAC7C,+FAA+F;IAC/F,IAAI,EAAE,IAAI,MAAM,GAAG,SAAS,CAI3B;IAED,gFAAgF;IAChF,IAAI,GAAG,IAAI,MAAM,GAAG,SAAS,CAI5B;IAED,uEAAuE;IACvE,IAAI,OAAO,IAAI,MAAM,EAAE,GAAG,SAAS,CAIlC;CACF"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
//
|
|
8
8
|
// Extends MetaData directly: no model wrapper, no metaOf() indirection.
|
|
9
9
|
import { MetaData } from "../../shared/meta-data.js";
|
|
10
|
-
import { ORIGIN_PASSTHROUGH_ATTR_FROM, ORIGIN_PASSTHROUGH_ATTR_VIA, ORIGIN_AGGREGATE_ATTR_AGG, ORIGIN_AGGREGATE_ATTR_OF, ORIGIN_AGGREGATE_ATTR_VIA, ORIGIN_COLLECTION_ATTR_VIA, } from "./origin-constants.js";
|
|
10
|
+
import { ORIGIN_PASSTHROUGH_ATTR_FROM, ORIGIN_PASSTHROUGH_ATTR_VIA, ORIGIN_AGGREGATE_ATTR_AGG, ORIGIN_AGGREGATE_ATTR_OF, ORIGIN_AGGREGATE_ATTR_VIA, ORIGIN_COLLECTION_ATTR_VIA, ORIGIN_COMPUTED_ATTR_EXPR, ORIGIN_FIRST_ATTR_OF, ORIGIN_FIRST_ATTR_VIA, ORIGIN_ATTR_ORDER_BY, } from "./origin-constants.js";
|
|
11
11
|
export class MetaOrigin extends MetaData {
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
@@ -38,7 +38,7 @@ export class MetaPassthroughOrigin extends MetaOrigin {
|
|
|
38
38
|
* Carries `@agg`, `@of`, and `@via` (all required).
|
|
39
39
|
*/
|
|
40
40
|
export class MetaAggregateOrigin extends MetaOrigin {
|
|
41
|
-
/** The
|
|
41
|
+
/** The reducing function (count | sum | avg | min | max | any | all | collect). */
|
|
42
42
|
get agg() {
|
|
43
43
|
// ADR-0039: own — origin.* never inherits (ADR-0029), so own is correct.
|
|
44
44
|
const v = this.ownAttr(ORIGIN_AGGREGATE_ATTR_AGG);
|
|
@@ -71,4 +71,46 @@ export class MetaCollectionOrigin extends MetaOrigin {
|
|
|
71
71
|
return typeof v === "string" ? v : undefined;
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* Computed origin (#195) — a row-level value computed from the base entity's own
|
|
76
|
+
* fields via a structured expression tree (`@expr`). No related rows, no `@via`.
|
|
77
|
+
* The expression's inferred type must equal the carrying field's declared subType
|
|
78
|
+
* (ERR_COMPUTED_TYPE_MISMATCH).
|
|
79
|
+
*/
|
|
80
|
+
export class MetaComputedOrigin extends MetaOrigin {
|
|
81
|
+
/** The structured expression tree computing this field's value. */
|
|
82
|
+
get expr() {
|
|
83
|
+
// ADR-0039: own — origin.* never inherits (ADR-0029), so own is correct.
|
|
84
|
+
const v = this.ownAttr(ORIGIN_COMPUTED_ATTR_EXPR);
|
|
85
|
+
return typeof v === "object" && v !== null && !Array.isArray(v) ? v : undefined;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* First origin (#195) — the single related row selected by `@orderBy` along
|
|
90
|
+
* `@via`, projecting its `@of` column (argmax-then-project). Empty related set
|
|
91
|
+
* (after `@filter`) → null, so the carrying field must not be `@required`.
|
|
92
|
+
*
|
|
93
|
+
* Carries `@of` (required, type-preserving), `@via` (optional; single-hop-unique
|
|
94
|
+
* inference), `@orderBy` (required), and an optional `@filter`.
|
|
95
|
+
*/
|
|
96
|
+
export class MetaFirstOrigin extends MetaOrigin {
|
|
97
|
+
/** The dotted Entity.field reference projected from the selected row (e.g. "ChildA.label"). */
|
|
98
|
+
get of() {
|
|
99
|
+
// ADR-0039: own — origin.* never inherits (ADR-0029), so own is correct.
|
|
100
|
+
const v = this.ownAttr(ORIGIN_FIRST_ATTR_OF);
|
|
101
|
+
return typeof v === "string" ? v : undefined;
|
|
102
|
+
}
|
|
103
|
+
/** The dotted relationship path to the related rows (e.g. "Parent.childAs"). */
|
|
104
|
+
get via() {
|
|
105
|
+
// ADR-0039: own — origin.* never inherits (ADR-0029), so own is correct.
|
|
106
|
+
const v = this.ownAttr(ORIGIN_FIRST_ATTR_VIA);
|
|
107
|
+
return typeof v === "string" ? v : undefined;
|
|
108
|
+
}
|
|
109
|
+
/** The ordering keys ('field[:asc|desc]') selecting the single row. */
|
|
110
|
+
get orderBy() {
|
|
111
|
+
// ADR-0039: own — origin.* never inherits (ADR-0029), so own is correct.
|
|
112
|
+
const v = this.ownAttr(ORIGIN_ATTR_ORDER_BY);
|
|
113
|
+
return Array.isArray(v) ? v : undefined;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
74
116
|
//# sourceMappingURL=meta-origin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta-origin.js","sourceRoot":"","sources":["../../../src/persistence/origin/meta-origin.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,sCAAsC;AACtC,gFAAgF;AAChF,EAAE;AACF,+EAA+E;AAC/E,0CAA0C;AAC1C,EAAE;AACF,wEAAwE;AAExE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EACL,4BAA4B,EAC5B,2BAA2B,EAC3B,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,
|
|
1
|
+
{"version":3,"file":"meta-origin.js","sourceRoot":"","sources":["../../../src/persistence/origin/meta-origin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
export declare const ORIGIN_SUBTYPE_PASSTHROUGH = "passthrough";
|
|
2
2
|
export declare const ORIGIN_SUBTYPE_AGGREGATE = "aggregate";
|
|
3
3
|
export declare const ORIGIN_SUBTYPE_COLLECTION = "collection";
|
|
4
|
-
export declare const
|
|
4
|
+
export declare const ORIGIN_SUBTYPE_COMPUTED = "computed";
|
|
5
|
+
export declare const ORIGIN_SUBTYPE_FIRST = "first";
|
|
6
|
+
export declare const ORIGIN_SUBTYPES: readonly ["base", "passthrough", "aggregate", "collection", "computed", "first"];
|
|
5
7
|
export type OriginSubType = (typeof ORIGIN_SUBTYPES)[number];
|
|
6
8
|
export declare const ORIGIN_PASSTHROUGH_ATTR_FROM = "from";
|
|
7
9
|
export declare const ORIGIN_PASSTHROUGH_ATTR_VIA = "via";
|
|
@@ -11,6 +13,18 @@ export declare const ORIGIN_AGGREGATE_ATTR_AGG = "agg";
|
|
|
11
13
|
export declare const ORIGIN_AGGREGATE_ATTR_OF = "of";
|
|
12
14
|
export declare const ORIGIN_AGGREGATE_ATTR_VIA = "via";
|
|
13
15
|
export declare const ORIGIN_AGGREGATE_ATTR_FILTER = "filter";
|
|
16
|
+
export declare const ORIGIN_ATTR_DISTINCT = "distinct";
|
|
17
|
+
export declare const ORIGIN_ATTR_ORDER_BY = "orderBy";
|
|
18
|
+
export declare const ORIGIN_COMPUTED_ATTR_EXPR = "expr";
|
|
19
|
+
export declare const ORIGIN_FIRST_ATTR_OF = "of";
|
|
20
|
+
export declare const ORIGIN_FIRST_ATTR_VIA = "via";
|
|
21
|
+
export declare const ORIGIN_FIRST_ATTR_FILTER = "filter";
|
|
14
22
|
export declare const AGGREGATE_FUNCTIONS: readonly ["count", "sum", "avg", "min", "max"];
|
|
15
23
|
export type AggregateFunction = (typeof AGGREGATE_FUNCTIONS)[number];
|
|
24
|
+
export declare const AGG_ANY = "any";
|
|
25
|
+
export declare const AGG_ALL = "all";
|
|
26
|
+
export declare const AGG_COLLECT = "collect";
|
|
27
|
+
/** The full @agg attribute vocabulary (matches origin.json allowedValues). */
|
|
28
|
+
export declare const ORIGIN_AGG_VALUES: readonly ["count", "sum", "avg", "min", "max", "any", "all", "collect"];
|
|
29
|
+
export type OriginAggValue = (typeof ORIGIN_AGG_VALUES)[number];
|
|
16
30
|
//# sourceMappingURL=origin-constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"origin-constants.d.ts","sourceRoot":"","sources":["../../../src/persistence/origin/origin-constants.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,0BAA0B,gBAAgB,CAAC;AACxD,eAAO,MAAM,wBAAwB,cAAgB,CAAC;AACtD,eAAO,MAAM,yBAAyB,eAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"origin-constants.d.ts","sourceRoot":"","sources":["../../../src/persistence/origin/origin-constants.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,0BAA0B,gBAAgB,CAAC;AACxD,eAAO,MAAM,wBAAwB,cAAgB,CAAC;AACtD,eAAO,MAAM,yBAAyB,eAAgB,CAAC;AAIvD,eAAO,MAAM,uBAAuB,aAAgB,CAAC;AACrD,eAAO,MAAM,oBAAoB,UAAgB,CAAC;AAElD,eAAO,MAAM,eAAe,kFAOlB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAG7D,eAAO,MAAM,4BAA4B,SAAS,CAAC;AACnD,eAAO,MAAM,2BAA2B,QAAS,CAAC;AAIlD,eAAO,MAAM,+BAA+B,YAAY,CAAC;AAKzD,eAAO,MAAM,0BAA0B,QAAQ,CAAC;AAGhD,eAAO,MAAM,yBAAyB,QAAQ,CAAC;AAC/C,eAAO,MAAM,wBAAwB,OAAQ,CAAC;AAC9C,eAAO,MAAM,yBAAyB,QAAQ,CAAC;AAM/C,eAAO,MAAM,4BAA4B,WAAW,CAAC;AAIrD,eAAO,MAAM,oBAAoB,aAAc,CAAC;AAChD,eAAO,MAAM,oBAAoB,YAAa,CAAC;AAG/C,eAAO,MAAM,yBAAyB,SAAS,CAAC;AAIhD,eAAO,MAAM,oBAAoB,OAAW,CAAC;AAC7C,eAAO,MAAM,qBAAqB,QAAW,CAAC;AAC9C,eAAO,MAAM,wBAAwB,WAAW,CAAC;AASjD,eAAO,MAAM,mBAAmB,gDAAiD,CAAC;AAClF,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAGrE,eAAO,MAAM,OAAO,QAAY,CAAC;AACjC,eAAO,MAAM,OAAO,QAAY,CAAC;AACjC,eAAO,MAAM,WAAW,YAAY,CAAC;AAErC,8EAA8E;AAC9E,eAAO,MAAM,iBAAiB,yEAKpB,CAAC;AACX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -11,18 +11,25 @@ import { SUBTYPE_BASE } from "../../shared/base-types.js";
|
|
|
11
11
|
export const ORIGIN_SUBTYPE_PASSTHROUGH = "passthrough";
|
|
12
12
|
export const ORIGIN_SUBTYPE_AGGREGATE = "aggregate";
|
|
13
13
|
export const ORIGIN_SUBTYPE_COLLECTION = "collection";
|
|
14
|
+
// #195 — computed: a row-level value from the base entity's own fields via a
|
|
15
|
+
// structured @expr tree (no related rows). first: the single related row picked
|
|
16
|
+
// by @orderBy along @via, projecting @of (argmax-then-project).
|
|
17
|
+
export const ORIGIN_SUBTYPE_COMPUTED = "computed";
|
|
18
|
+
export const ORIGIN_SUBTYPE_FIRST = "first";
|
|
14
19
|
export const ORIGIN_SUBTYPES = [
|
|
15
20
|
SUBTYPE_BASE,
|
|
16
21
|
ORIGIN_SUBTYPE_PASSTHROUGH,
|
|
17
22
|
ORIGIN_SUBTYPE_AGGREGATE,
|
|
18
23
|
ORIGIN_SUBTYPE_COLLECTION,
|
|
24
|
+
ORIGIN_SUBTYPE_COMPUTED,
|
|
25
|
+
ORIGIN_SUBTYPE_FIRST,
|
|
19
26
|
];
|
|
20
27
|
// passthrough attrs
|
|
21
28
|
export const ORIGIN_PASSTHROUGH_ATTR_FROM = "from";
|
|
22
29
|
export const ORIGIN_PASSTHROUGH_ATTR_VIA = "via";
|
|
23
30
|
// @convert (boolean): acknowledges a deliberate type change vs the @from source
|
|
24
31
|
// (#185). Suppresses ERR_PASSTHROUGH_TYPE_MISMATCH. Acknowledgement only — it
|
|
25
|
-
// does NOT generate a cast; real type-converting projections are origin.
|
|
32
|
+
// does NOT generate a cast; real type-converting projections are origin.computed (#195/#159).
|
|
26
33
|
export const ORIGIN_PASSTHROUGH_ATTR_CONVERT = "convert";
|
|
27
34
|
// collection attrs — a relationship-derived array of nested view-objects
|
|
28
35
|
// (FR-004 R4). @via is the dotted relationship path (optionally wildcard-
|
|
@@ -35,8 +42,38 @@ export const ORIGIN_AGGREGATE_ATTR_VIA = "via";
|
|
|
35
42
|
// @filter (attr.filter object): an optional PORTABLE structured predicate scoping
|
|
36
43
|
// which related rows the aggregate spans (same shape as a preset filter). Codegen
|
|
37
44
|
// renders it per target — the projection view emitter turns it into SQL
|
|
38
|
-
// FILTER (WHERE …) / SQLite CASE WHEN.
|
|
45
|
+
// FILTER (WHERE …) / SQLite CASE WHEN. On @agg:any|all it is the QUANTIFIED
|
|
46
|
+
// predicate (required there); on origin.first it scopes the eligible rows.
|
|
39
47
|
export const ORIGIN_AGGREGATE_ATTR_FILTER = "filter";
|
|
40
|
-
//
|
|
48
|
+
// #195 — shared origin attrs. @distinct (collect-only) applies set semantics;
|
|
49
|
+
// @orderBy carries ordering keys ('field[:asc|desc]', nulls-last) used by
|
|
50
|
+
// @agg:collect (element order) and required by origin.first (row selection).
|
|
51
|
+
export const ORIGIN_ATTR_DISTINCT = "distinct";
|
|
52
|
+
export const ORIGIN_ATTR_ORDER_BY = "orderBy";
|
|
53
|
+
// computed attrs — @expr is the structured expression tree (attr.expression).
|
|
54
|
+
export const ORIGIN_COMPUTED_ATTR_EXPR = "expr";
|
|
55
|
+
// first attrs — reuse the same physical names as aggregate (@of/@via/@filter)
|
|
56
|
+
// plus the required @orderBy above.
|
|
57
|
+
export const ORIGIN_FIRST_ATTR_OF = "of";
|
|
58
|
+
export const ORIGIN_FIRST_ATTR_VIA = "via";
|
|
59
|
+
export const ORIGIN_FIRST_ATTR_FILTER = "filter";
|
|
60
|
+
// aggregate function vocabulary.
|
|
61
|
+
//
|
|
62
|
+
// AGGREGATE_FUNCTIONS is the NUMERIC/ORDINAL reduce set — each maps directly to a
|
|
63
|
+
// SQL aggregate over the @of column and to the codegen `aggregate` SelectColumn
|
|
64
|
+
// kind. The predicate quantifiers (any/all) and the array rollup (collect) are
|
|
65
|
+
// distinct reducing behaviors handled by their own view-synthesis column kinds,
|
|
66
|
+
// so they are NOT in this set; the full @agg vocabulary is ORIGIN_AGG_VALUES.
|
|
41
67
|
export const AGGREGATE_FUNCTIONS = ["count", "sum", "avg", "min", "max"];
|
|
68
|
+
// #195 — the predicate-quantifier + array-rollup @agg values.
|
|
69
|
+
export const AGG_ANY = "any";
|
|
70
|
+
export const AGG_ALL = "all";
|
|
71
|
+
export const AGG_COLLECT = "collect";
|
|
72
|
+
/** The full @agg attribute vocabulary (matches origin.json allowedValues). */
|
|
73
|
+
export const ORIGIN_AGG_VALUES = [
|
|
74
|
+
...AGGREGATE_FUNCTIONS,
|
|
75
|
+
AGG_ANY,
|
|
76
|
+
AGG_ALL,
|
|
77
|
+
AGG_COLLECT,
|
|
78
|
+
];
|
|
42
79
|
//# sourceMappingURL=origin-constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"origin-constants.js","sourceRoot":"","sources":["../../../src/persistence/origin/origin-constants.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAElF,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,8EAA8E;AAC9E,oDAAoD;AACpD,EAAE;AACF,4EAA4E;AAC5E,6DAA6D;AAC7D,+DAA+D;AAC/D,EAAE;AACF,8EAA8E;AAE9E,MAAM,CAAC,MAAM,0BAA0B,GAAG,aAAa,CAAC;AACxD,MAAM,CAAC,MAAM,wBAAwB,GAAK,WAAW,CAAC;AACtD,MAAM,CAAC,MAAM,yBAAyB,GAAI,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"origin-constants.js","sourceRoot":"","sources":["../../../src/persistence/origin/origin-constants.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAElF,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,8EAA8E;AAC9E,oDAAoD;AACpD,EAAE;AACF,4EAA4E;AAC5E,6DAA6D;AAC7D,+DAA+D;AAC/D,EAAE;AACF,8EAA8E;AAE9E,MAAM,CAAC,MAAM,0BAA0B,GAAG,aAAa,CAAC;AACxD,MAAM,CAAC,MAAM,wBAAwB,GAAK,WAAW,CAAC;AACtD,MAAM,CAAC,MAAM,yBAAyB,GAAI,YAAY,CAAC;AACvD,6EAA6E;AAC7E,gFAAgF;AAChF,gEAAgE;AAChE,MAAM,CAAC,MAAM,uBAAuB,GAAM,UAAU,CAAC;AACrD,MAAM,CAAC,MAAM,oBAAoB,GAAS,OAAO,CAAC;AAElD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,YAAY;IACZ,0BAA0B;IAC1B,wBAAwB;IACxB,yBAAyB;IACzB,uBAAuB;IACvB,oBAAoB;CACZ,CAAC;AAGX,oBAAoB;AACpB,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC;AACnD,MAAM,CAAC,MAAM,2BAA2B,GAAI,KAAK,CAAC;AAClD,gFAAgF;AAChF,8EAA8E;AAC9E,8FAA8F;AAC9F,MAAM,CAAC,MAAM,+BAA+B,GAAG,SAAS,CAAC;AAEzD,yEAAyE;AACzE,0EAA0E;AAC1E,+DAA+D;AAC/D,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,CAAC;AAEhD,kBAAkB;AAClB,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,CAAC;AAC/C,MAAM,CAAC,MAAM,wBAAwB,GAAI,IAAI,CAAC;AAC9C,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,CAAC;AAC/C,kFAAkF;AAClF,kFAAkF;AAClF,wEAAwE;AACxE,4EAA4E;AAC5E,2EAA2E;AAC3E,MAAM,CAAC,MAAM,4BAA4B,GAAG,QAAQ,CAAC;AACrD,8EAA8E;AAC9E,0EAA0E;AAC1E,6EAA6E;AAC7E,MAAM,CAAC,MAAM,oBAAoB,GAAI,UAAU,CAAC;AAChD,MAAM,CAAC,MAAM,oBAAoB,GAAI,SAAS,CAAC;AAE/C,8EAA8E;AAC9E,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAEhD,8EAA8E;AAC9E,oCAAoC;AACpC,MAAM,CAAC,MAAM,oBAAoB,GAAO,IAAI,CAAC;AAC7C,MAAM,CAAC,MAAM,qBAAqB,GAAM,KAAK,CAAC;AAC9C,MAAM,CAAC,MAAM,wBAAwB,GAAG,QAAQ,CAAC;AAEjD,iCAAiC;AACjC,EAAE;AACF,kFAAkF;AAClF,gFAAgF;AAChF,+EAA+E;AAC/E,gFAAgF;AAChF,8EAA8E;AAC9E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAU,CAAC;AAGlF,8DAA8D;AAC9D,MAAM,CAAC,MAAM,OAAO,GAAO,KAAK,CAAC;AACjC,MAAM,CAAC,MAAM,OAAO,GAAO,KAAK,CAAC;AACjC,MAAM,CAAC,MAAM,WAAW,GAAG,SAAS,CAAC;AAErC,8EAA8E;AAC9E,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,GAAG,mBAAmB;IACtB,OAAO;IACP,OAAO;IACP,WAAW;CACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"origin-definition.embedded.d.ts","sourceRoot":"","sources":["../../../src/persistence/origin/origin-definition.embedded.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,eAAO,MAAM,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"origin-definition.embedded.d.ts","sourceRoot":"","sources":["../../../src/persistence/origin/origin-definition.embedded.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,eAAO,MAAM,iBAAiB,EAAE,kBAuL/B,CAAC"}
|
|
@@ -41,9 +41,9 @@ export const ORIGIN_DEFINITION = {
|
|
|
41
41
|
{
|
|
42
42
|
"type": "origin",
|
|
43
43
|
"subType": "aggregate",
|
|
44
|
-
"description": "A count/sum/avg/min/max
|
|
45
|
-
"whenToUse": "A projection needs a derived count/sum/avg/min/max
|
|
46
|
-
"rules": "@via may be omitted only when exactly one single-hop relationship leads from the base entity to the @of entity (single-hop-unique inference; FR-024, ADR-0029). Multi-hop paths must always be stated explicitly.",
|
|
44
|
+
"description": "A value reduced from the related row-set reached along a relationship path (@via) from the base entity: count/sum/avg/min/max over a column (@of); any/all predicate quantifiers over a @filter; or collect (an array rollup of @of).",
|
|
45
|
+
"whenToUse": "A projection needs a value derived by reducing related rows — a count/sum/avg/min/max, a 'did any/every related row match' flag, or an array of collected values. Declare it instead of hand-writing the aggregate query — it stays consistent and regenerates.",
|
|
46
|
+
"rules": "@via may be omitted only when exactly one single-hop relationship leads from the base entity to the @of entity (single-hop-unique inference; FR-024, ADR-0029). Multi-hop paths must always be stated explicitly. @of is required for count/sum/avg/min/max/collect and forbidden for any/all (which quantify over rows via @filter, not a column). @filter is required for any/all. The field must be isArray:true for collect and isArray:false for every other @agg. @distinct and @orderBy are collect-only.",
|
|
47
47
|
"children": [
|
|
48
48
|
{
|
|
49
49
|
"type": "attr",
|
|
@@ -56,17 +56,20 @@ export const ORIGIN_DEFINITION = {
|
|
|
56
56
|
"sum",
|
|
57
57
|
"avg",
|
|
58
58
|
"min",
|
|
59
|
-
"max"
|
|
59
|
+
"max",
|
|
60
|
+
"any",
|
|
61
|
+
"all",
|
|
62
|
+
"collect"
|
|
60
63
|
],
|
|
61
|
-
"description": "
|
|
64
|
+
"description": "The reducing function applied over the related row-set: count/sum/avg/min/max (numeric/ordinal reduces over @of); any/all (predicate quantifiers over @filter — @of forbidden; empty set → any=false, all=true); collect (array rollup of @of — the field must be isArray)."
|
|
62
65
|
},
|
|
63
66
|
{
|
|
64
67
|
"type": "attr",
|
|
65
68
|
"subType": "string",
|
|
66
69
|
"name": "of",
|
|
67
|
-
"min":
|
|
70
|
+
"min": 0,
|
|
68
71
|
"max": 1,
|
|
69
|
-
"description": "Dotted Entity.field reference identifying the column being aggregated (e.g. 'Week.durationMinutes')."
|
|
72
|
+
"description": "Dotted Entity.field reference identifying the column being aggregated (e.g. 'Week.durationMinutes'). Required for count/sum/avg/min/max/collect; forbidden for any/all (which quantify over rows via @filter, not a column)."
|
|
70
73
|
},
|
|
71
74
|
{
|
|
72
75
|
"type": "attr",
|
|
@@ -82,7 +85,24 @@ export const ORIGIN_DEFINITION = {
|
|
|
82
85
|
"name": "filter",
|
|
83
86
|
"min": 0,
|
|
84
87
|
"max": 1,
|
|
85
|
-
"description": "Optional structured predicate scoping which related rows the aggregate spans. A portable attr.filter object (eq/ne/in/isNull with and/or), desugared to canonical { field: { op: value } } at parse time; codegen renders it per target (e.g. SQL FILTER (WHERE ...) or SQLite CASE WHEN for a relational view)."
|
|
88
|
+
"description": "Optional structured predicate scoping which related rows the aggregate spans (required for any/all, where it is the quantified predicate). A portable attr.filter object (eq/ne/in/isNull with and/or), desugared to canonical { field: { op: value } } at parse time; codegen renders it per target (e.g. SQL FILTER (WHERE ...) or SQLite CASE WHEN for a relational view)."
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"type": "attr",
|
|
92
|
+
"subType": "boolean",
|
|
93
|
+
"name": "distinct",
|
|
94
|
+
"min": 0,
|
|
95
|
+
"max": 1,
|
|
96
|
+
"description": "Set (collect-only) to dedupe collected values (set semantics)."
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"type": "attr",
|
|
100
|
+
"subType": "string",
|
|
101
|
+
"name": "orderBy",
|
|
102
|
+
"isArray": true,
|
|
103
|
+
"min": 0,
|
|
104
|
+
"max": 1,
|
|
105
|
+
"description": "Ordering keys as 'field[:asc|desc]' (default asc) over the related entity's fields; nulls sort last. On @agg:collect sets element order (non-distinct only); on origin.first (required) selects the row. Semantic — carries no SQL syntax."
|
|
86
106
|
}
|
|
87
107
|
]
|
|
88
108
|
},
|
|
@@ -101,6 +121,64 @@ export const ORIGIN_DEFINITION = {
|
|
|
101
121
|
"description": "Dotted relationship path the collection walks to produce an array of nested view-objects (e.g. 'Author.posts'), or a wildcard selector for a package-spanning collection (e.g. '*.User')."
|
|
102
122
|
}
|
|
103
123
|
]
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"type": "origin",
|
|
127
|
+
"subType": "computed",
|
|
128
|
+
"description": "A row-level value computed from the base entity's own fields via a structured expression tree (@expr). No related rows, no @via. Read-only; the expression's inferred type must equal the field's declared subType.",
|
|
129
|
+
"whenToUse": "A projection field is a cheap derived value over the base row itself (e.g. 'payload IS NOT NULL' to avoid shipping a heavy column). Declare the expression tree instead of hand-writing the derived SELECT column.",
|
|
130
|
+
"children": [
|
|
131
|
+
{
|
|
132
|
+
"type": "attr",
|
|
133
|
+
"subType": "expression",
|
|
134
|
+
"name": "expr",
|
|
135
|
+
"min": 1,
|
|
136
|
+
"max": 1,
|
|
137
|
+
"description": "The structured expression tree computing this field's value from the base entity's own fields (closed node grammar; shares the filter op vocabulary). Its inferred root type must equal the field's declared subType (ERR_COMPUTED_TYPE_MISMATCH)."
|
|
138
|
+
}
|
|
139
|
+
]
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"type": "origin",
|
|
143
|
+
"subType": "first",
|
|
144
|
+
"description": "The single related row selected by @orderBy along @via, projecting its @of column (argmax then project). Latest = @orderBy desc. Read-only; empty related set (after @filter) → null, so the field must not be @required.",
|
|
145
|
+
"whenToUse": "A projection needs one related row's column chosen by an ordering — 'the latest child's status', 'the earliest event's timestamp'. Declare @via + @of + @orderBy instead of hand-writing the correlated ORDER BY … LIMIT 1 subquery.",
|
|
146
|
+
"rules": "@via may be omitted only when exactly one single-hop relationship leads from the base entity to the @of entity (FR-024, ADR-0029). The related entity's primary key ascending is always appended as the final ordering tie-breaker so the selection is deterministic.",
|
|
147
|
+
"children": [
|
|
148
|
+
{
|
|
149
|
+
"type": "attr",
|
|
150
|
+
"subType": "string",
|
|
151
|
+
"name": "of",
|
|
152
|
+
"min": 1,
|
|
153
|
+
"max": 1,
|
|
154
|
+
"description": "Dotted Entity.field reference identifying the column projected from the selected row (e.g. 'ChildA.label'). Type-preserving: the field's declared subType must equal this column's subType (#185 doctrine)."
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"type": "attr",
|
|
158
|
+
"subType": "string",
|
|
159
|
+
"name": "via",
|
|
160
|
+
"min": 0,
|
|
161
|
+
"max": 1,
|
|
162
|
+
"description": "Dotted relationship path from the base entity to the related rows (e.g. 'Parent.childAs'). May be omitted only when exactly one single-hop relationship leads from the base entity to the @of entity (FR-024, ADR-0029)."
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"type": "attr",
|
|
166
|
+
"subType": "string",
|
|
167
|
+
"name": "orderBy",
|
|
168
|
+
"isArray": true,
|
|
169
|
+
"min": 1,
|
|
170
|
+
"max": 1,
|
|
171
|
+
"description": "Ordering keys as 'field[:asc|desc]' (default asc) over the related entity's fields; nulls sort last. Selects the single row (the first after ordering). The related PK ascending is appended as the deterministic tie-breaker. Semantic — carries no SQL syntax."
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"type": "attr",
|
|
175
|
+
"subType": "filter",
|
|
176
|
+
"name": "filter",
|
|
177
|
+
"min": 0,
|
|
178
|
+
"max": 1,
|
|
179
|
+
"description": "Optional structured predicate scoping which related rows are eligible for selection. A portable attr.filter object (eq/ne/in/isNull with and/or), desugared to canonical { field: { op: value } } at parse time."
|
|
180
|
+
}
|
|
181
|
+
]
|
|
104
182
|
}
|
|
105
183
|
]
|
|
106
184
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"origin-definition.embedded.js","sourceRoot":"","sources":["../../../src/persistence/origin/origin-definition.embedded.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,iBAAiB,GAAuB;IACnD,UAAU,EAAE,wBAAwB;IACpC,OAAO,EAAE;QACP;YACE,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,MAAM;YACjB,aAAa,EAAE,wOAAwO;SACxP;QACD;YACE,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,aAAa;YACxB,aAAa,EAAE,mKAAmK;YAClL,WAAW,EAAE,yJAAyJ;YACtK,UAAU,EAAE;gBACV;oBACE,MAAM,EAAE,MAAM;oBACd,SAAS,EAAE,QAAQ;oBACnB,MAAM,EAAE,MAAM;oBACd,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;oBACR,aAAa,EAAE,yHAAyH;iBACzI;gBACD;oBACE,MAAM,EAAE,MAAM;oBACd,SAAS,EAAE,QAAQ;oBACnB,MAAM,EAAE,KAAK;oBACb,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;oBACR,aAAa,EAAE,2FAA2F;iBAC3G;gBACD;oBACE,MAAM,EAAE,MAAM;oBACd,SAAS,EAAE,SAAS;oBACpB,MAAM,EAAE,SAAS;oBACjB,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;oBACR,aAAa,EAAE,geAAge;iBAChf;aACF;SACF;QACD;YACE,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,WAAW;YACtB,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"origin-definition.embedded.js","sourceRoot":"","sources":["../../../src/persistence/origin/origin-definition.embedded.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,18 @@ export declare class MetaSource extends MetaData {
|
|
|
11
11
|
get effectiveKind(): string;
|
|
12
12
|
/** The multi-source role for this source (defaults to "primary" when omitted). */
|
|
13
13
|
get role(): string;
|
|
14
|
+
/**
|
|
15
|
+
* FR-024/#208 — the hand-written SQL body for this source's DB object, when
|
|
16
|
+
* declared via `@sql`. The tool registers + fingerprints + drift-checks this
|
|
17
|
+
* body but never authors or parses it.
|
|
18
|
+
*/
|
|
19
|
+
get sqlBody(): string | undefined;
|
|
20
|
+
/**
|
|
21
|
+
* FR-024/#208 — true when this source's DB object is managed elsewhere
|
|
22
|
+
* (Flyway / a hand-migration owns its DDL); `meta migrate` does not
|
|
23
|
+
* create/drop/drift-check it.
|
|
24
|
+
*/
|
|
25
|
+
get isUnmanaged(): boolean;
|
|
14
26
|
/**
|
|
15
27
|
* True when this source's effective kind is read-only (view, materializedView,
|
|
16
28
|
* storedProc, tableFunction). Derived from the @kind attr on source.rdb.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta-source.d.ts","sourceRoot":"","sources":["../../../src/persistence/source/meta-source.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"meta-source.d.ts","sourceRoot":"","sources":["../../../src/persistence/source/meta-source.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AA4BrD,qBAAa,UAAW,SAAQ,QAAQ;IACtC;;0DAEsD;IACtD,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAKlC;IAED;;;OAGG;IACH,IAAI,aAAa,IAAI,MAAM,CAI1B;IAED,kFAAkF;IAClF,IAAI,IAAI,IAAI,MAAM,CAIjB;IAED;;;;OAIG;IACH,IAAI,OAAO,IAAI,MAAM,GAAG,SAAS,CAIhC;IAED;;;;OAIG;IACH,IAAI,WAAW,IAAI,OAAO,CAGzB;IAED;;;OAGG;IACH,UAAU,IAAI,OAAO;IAIrB,8DAA8D;IAC9D,UAAU,IAAI,OAAO;IAIrB;;;;;;;;;;OAUG;IACH,IAAI,YAAY,IAAI,MAAM,CAgCzB;CACF"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
// Extends MetaData directly: no model wrapper, no metaOf() indirection.
|
|
7
7
|
import { MetaData } from "../../shared/meta-data.js";
|
|
8
8
|
import { pluralize, toSnakeCase } from "../../naming.js";
|
|
9
|
-
import { SOURCE_ATTR_TABLE, SOURCE_ATTR_VIEW, SOURCE_ATTR_MATERIALIZED_VIEW, SOURCE_ATTR_PROC, SOURCE_ATTR_FUNCTION, SOURCE_ATTR_KIND, SOURCE_ATTR_ROLE, SOURCE_READ_ONLY_KINDS, DEFAULT_SOURCE_KIND, DEFAULT_SOURCE_ROLE, PHYSICAL_NAME_ATTR_BY_KIND, } from "./source-constants.js";
|
|
9
|
+
import { SOURCE_ATTR_TABLE, SOURCE_ATTR_VIEW, SOURCE_ATTR_MATERIALIZED_VIEW, SOURCE_ATTR_PROC, SOURCE_ATTR_FUNCTION, SOURCE_ATTR_KIND, SOURCE_ATTR_ROLE, SOURCE_ATTR_SQL, SOURCE_ATTR_UNMANAGED, SOURCE_READ_ONLY_KINDS, DEFAULT_SOURCE_KIND, DEFAULT_SOURCE_ROLE, PHYSICAL_NAME_ATTR_BY_KIND, } from "./source-constants.js";
|
|
10
10
|
/** Every kind-aware physical-name alias key, ordered for deterministic
|
|
11
11
|
* iteration (matches the SOURCE_RDB_KINDS order). */
|
|
12
12
|
const ALL_PHYSICAL_NAME_ALIASES = [
|
|
@@ -41,6 +41,25 @@ export class MetaSource extends MetaData {
|
|
|
41
41
|
const v = this.attr(SOURCE_ATTR_ROLE);
|
|
42
42
|
return typeof v === "string" && v !== "" ? v : DEFAULT_SOURCE_ROLE;
|
|
43
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* FR-024/#208 — the hand-written SQL body for this source's DB object, when
|
|
46
|
+
* declared via `@sql`. The tool registers + fingerprints + drift-checks this
|
|
47
|
+
* body but never authors or parses it.
|
|
48
|
+
*/
|
|
49
|
+
get sqlBody() {
|
|
50
|
+
// ADR-0039: resolving — an inherited source's @sql lives on the super node.
|
|
51
|
+
const v = this.attr(SOURCE_ATTR_SQL);
|
|
52
|
+
return typeof v === "string" && v !== "" ? v : undefined;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* FR-024/#208 — true when this source's DB object is managed elsewhere
|
|
56
|
+
* (Flyway / a hand-migration owns its DDL); `meta migrate` does not
|
|
57
|
+
* create/drop/drift-check it.
|
|
58
|
+
*/
|
|
59
|
+
get isUnmanaged() {
|
|
60
|
+
// ADR-0039: resolving — an inherited source's @unmanaged lives on the super node.
|
|
61
|
+
return this.attr(SOURCE_ATTR_UNMANAGED) === true;
|
|
62
|
+
}
|
|
44
63
|
/**
|
|
45
64
|
* True when this source's effective kind is read-only (view, materializedView,
|
|
46
65
|
* storedProc, tableFunction). Derived from the @kind attr on source.rdb.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta-source.js","sourceRoot":"","sources":["../../../src/persistence/source/meta-source.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"meta-source.js","sourceRoot":"","sources":["../../../src/persistence/source/meta-source.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,qDAAqD;AACrD,0EAA0E;AAC1E,wCAAwC;AACxC,EAAE;AACF,wEAAwE;AAExE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,6BAA6B,EAC7B,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAE/B;sDACsD;AACtD,MAAM,yBAAyB,GAAG;IAChC,iBAAiB;IACjB,gBAAgB;IAChB,6BAA6B;IAC7B,gBAAgB;IAChB,oBAAoB;CACZ,CAAC;AAEX,MAAM,OAAO,UAAW,SAAQ,QAAQ;IACtC;;0DAEsD;IACtD,IAAI,SAAS;QACX,yEAAyE;QACzE,+EAA+E;QAC/E,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACvC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACH,IAAI,aAAa;QACf,6EAA6E;QAC7E,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACtC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC;IACrE,CAAC;IAED,kFAAkF;IAClF,IAAI,IAAI;QACN,6EAA6E;QAC7E,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACtC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC;IACrE,CAAC;IAED;;;;OAIG;IACH,IAAI,OAAO;QACT,4EAA4E;QAC5E,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACrC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3D,CAAC;IAED;;;;OAIG;IACH,IAAI,WAAW;QACb,kFAAkF;QAClF,OAAO,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,IAAI,CAAC;IACnD,CAAC;IAED;;;OAGG;IACH,UAAU;QACR,OAAO,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC;IAED,8DAA8D;IAC9D,UAAU;QACR,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;IAC5B,CAAC;IAED;;;;;;;;;;OAUG;IACH,IAAI,YAAY;QACd,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;QAEhC,+BAA+B;QAC/B,MAAM,aAAa,GAAG,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,sFAAsF;YACtF,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACnC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE;gBAAE,OAAO,CAAC,CAAC;QAClD,CAAC;QAED,4CAA4C;QAC5C,IAAI,aAAa,KAAK,iBAAiB,EAAE,CAAC;YACxC,kEAAkE;YAClE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC5C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,EAAE;gBAAE,OAAO,MAAM,CAAC;QACjE,CAAC;QAED,wEAAwE;QACxE,0CAA0C;QAC1C,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;YACrB,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QAED,uEAAuE;QACvE,4DAA4D;QAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;YAC7C,OAAO,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;CACF"}
|
|
@@ -27,6 +27,15 @@ export declare const SOURCE_ATTR_ROLE = "role";
|
|
|
27
27
|
* (FR-004) — the typed-input pattern reuses object.value rather than minting a
|
|
28
28
|
* new parameter.* node type. */
|
|
29
29
|
export declare const SOURCE_ATTR_PARAMETER_REF = "parameterRef";
|
|
30
|
+
/** FR-024/#208 escape valve — a hand-written SQL body the tool REGISTERS +
|
|
31
|
+
* fingerprints + drift-checks but never authors or parses. Legal only on a
|
|
32
|
+
* read-only @kind (not "table"). Mutually exclusive with @unmanaged; forbids
|
|
33
|
+
* origin.* children. */
|
|
34
|
+
export declare const SOURCE_ATTR_SQL = "sql";
|
|
35
|
+
/** FR-024/#208 escape valve — this DB object is managed elsewhere (Flyway / a
|
|
36
|
+
* hand-migration owns its DDL); meta migrate does not create/drop/drift-check
|
|
37
|
+
* it. Legal on any @kind including "table". Mutually exclusive with @sql. */
|
|
38
|
+
export declare const SOURCE_ATTR_UNMANAGED = "unmanaged";
|
|
30
39
|
export declare const SOURCE_KIND_TABLE = "table";
|
|
31
40
|
export declare const SOURCE_KIND_VIEW = "view";
|
|
32
41
|
export declare const SOURCE_KIND_MATERIALIZED_VIEW = "materializedView";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-constants.d.ts","sourceRoot":"","sources":["../../../src/persistence/source/source-constants.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,kBAAkB,QAAQ,CAAC;AAExC,eAAO,MAAM,eAAe,0BAGlB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D;;6CAE6C;AAC7C,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAE3C,qEAAqE;AACrE,eAAO,MAAM,0BAA0B,WAAW,CAAC;AAiBnD,4EAA4E;AAC5E,eAAO,MAAM,iBAAiB,UAAU,CAAC;AACzC,gEAAgE;AAChE,eAAO,MAAM,gBAAgB,SAAS,CAAC;AACvC,yFAAyF;AACzF,eAAO,MAAM,6BAA6B,qBAAqB,CAAC;AAChE,kFAAkF;AAClF,eAAO,MAAM,gBAAgB,SAAS,CAAC;AACvC,mFAAmF;AACnF,eAAO,MAAM,oBAAoB,aAAa,CAAC;AAE/C,8EAA8E;AAC9E,eAAO,MAAM,gBAAgB,SAAS,CAAC;AACvC,yDAAyD;AACzD,eAAO,MAAM,gBAAgB,SAAS,CAAC;AAEvC;;;;iCAIiC;AACjC,eAAO,MAAM,yBAAyB,iBAAiB,CAAC;AAExD,eAAO,MAAM,iBAAiB,UAAuB,CAAC;AACtD,eAAO,MAAM,gBAAgB,SAAuB,CAAC;AACrD,eAAO,MAAM,6BAA6B,qBAAsB,CAAC;AACjE,eAAO,MAAM,uBAAuB,eAAsB,CAAC;AAC3D,eAAO,MAAM,0BAA0B,kBAAsB,CAAC;AAE9D,eAAO,MAAM,gBAAgB,+EAMnB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D;;;2DAG2D;AAC3D,eAAO,MAAM,0BAA0B,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAMjE,CAAC;AAEH,uDAAuD;AACvD,eAAO,MAAM,mBAAmB,UAAoB,CAAC;AAErD,sFAAsF;AACtF,eAAO,MAAM,sBAAsB,EAAE,WAAW,CAAC,MAAM,CAKrD,CAAC;AAEH,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAC7C,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAC7C,eAAO,MAAM,iBAAiB,UAAY,CAAC;AAC3C,eAAO,MAAM,iBAAiB,UAAY,CAAC;AAC3C,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAC7C,eAAO,MAAM,kBAAkB,WAAY,CAAC;AAE5C,eAAO,MAAM,YAAY,wEAOf,CAAC;AACX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,qDAAqD;AACrD,eAAO,MAAM,mBAAmB,YAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"source-constants.d.ts","sourceRoot":"","sources":["../../../src/persistence/source/source-constants.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,kBAAkB,QAAQ,CAAC;AAExC,eAAO,MAAM,eAAe,0BAGlB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D;;6CAE6C;AAC7C,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAE3C,qEAAqE;AACrE,eAAO,MAAM,0BAA0B,WAAW,CAAC;AAiBnD,4EAA4E;AAC5E,eAAO,MAAM,iBAAiB,UAAU,CAAC;AACzC,gEAAgE;AAChE,eAAO,MAAM,gBAAgB,SAAS,CAAC;AACvC,yFAAyF;AACzF,eAAO,MAAM,6BAA6B,qBAAqB,CAAC;AAChE,kFAAkF;AAClF,eAAO,MAAM,gBAAgB,SAAS,CAAC;AACvC,mFAAmF;AACnF,eAAO,MAAM,oBAAoB,aAAa,CAAC;AAE/C,8EAA8E;AAC9E,eAAO,MAAM,gBAAgB,SAAS,CAAC;AACvC,yDAAyD;AACzD,eAAO,MAAM,gBAAgB,SAAS,CAAC;AAEvC;;;;iCAIiC;AACjC,eAAO,MAAM,yBAAyB,iBAAiB,CAAC;AAExD;;;yBAGyB;AACzB,eAAO,MAAM,eAAe,QAAQ,CAAC;AACrC;;8EAE8E;AAC9E,eAAO,MAAM,qBAAqB,cAAc,CAAC;AAEjD,eAAO,MAAM,iBAAiB,UAAuB,CAAC;AACtD,eAAO,MAAM,gBAAgB,SAAuB,CAAC;AACrD,eAAO,MAAM,6BAA6B,qBAAsB,CAAC;AACjE,eAAO,MAAM,uBAAuB,eAAsB,CAAC;AAC3D,eAAO,MAAM,0BAA0B,kBAAsB,CAAC;AAE9D,eAAO,MAAM,gBAAgB,+EAMnB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D;;;2DAG2D;AAC3D,eAAO,MAAM,0BAA0B,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAMjE,CAAC;AAEH,uDAAuD;AACvD,eAAO,MAAM,mBAAmB,UAAoB,CAAC;AAErD,sFAAsF;AACtF,eAAO,MAAM,sBAAsB,EAAE,WAAW,CAAC,MAAM,CAKrD,CAAC;AAEH,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAC7C,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAC7C,eAAO,MAAM,iBAAiB,UAAY,CAAC;AAC3C,eAAO,MAAM,iBAAiB,UAAY,CAAC;AAC3C,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAC7C,eAAO,MAAM,kBAAkB,WAAY,CAAC;AAE5C,eAAO,MAAM,YAAY,wEAOf,CAAC;AACX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,qDAAqD;AACrD,eAAO,MAAM,mBAAmB,YAAsB,CAAC"}
|
|
@@ -51,6 +51,15 @@ export const SOURCE_ATTR_ROLE = "role";
|
|
|
51
51
|
* (FR-004) — the typed-input pattern reuses object.value rather than minting a
|
|
52
52
|
* new parameter.* node type. */
|
|
53
53
|
export const SOURCE_ATTR_PARAMETER_REF = "parameterRef";
|
|
54
|
+
/** FR-024/#208 escape valve — a hand-written SQL body the tool REGISTERS +
|
|
55
|
+
* fingerprints + drift-checks but never authors or parses. Legal only on a
|
|
56
|
+
* read-only @kind (not "table"). Mutually exclusive with @unmanaged; forbids
|
|
57
|
+
* origin.* children. */
|
|
58
|
+
export const SOURCE_ATTR_SQL = "sql";
|
|
59
|
+
/** FR-024/#208 escape valve — this DB object is managed elsewhere (Flyway / a
|
|
60
|
+
* hand-migration owns its DDL); meta migrate does not create/drop/drift-check
|
|
61
|
+
* it. Legal on any @kind including "table". Mutually exclusive with @sql. */
|
|
62
|
+
export const SOURCE_ATTR_UNMANAGED = "unmanaged";
|
|
54
63
|
export const SOURCE_KIND_TABLE = "table";
|
|
55
64
|
export const SOURCE_KIND_VIEW = "view";
|
|
56
65
|
export const SOURCE_KIND_MATERIALIZED_VIEW = "materializedView";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-constants.js","sourceRoot":"","sources":["../../../src/persistence/source/source-constants.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"source-constants.js","sourceRoot":"","sources":["../../../src/persistence/source/source-constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { MetaData } from "../../shared/meta-data.js";
|
|
2
|
+
import { ParseError } from "../../errors.js";
|
|
3
|
+
import type { LoaderWarning } from "../../source.js";
|
|
4
|
+
export interface SourceEscapeValidationResult {
|
|
5
|
+
errors: ParseError[];
|
|
6
|
+
warnings: LoaderWarning[];
|
|
7
|
+
}
|
|
8
|
+
export declare function validateSourceEscapes(root: MetaData): SourceEscapeValidationResult;
|
|
9
|
+
//# sourceMappingURL=validate-source-escapes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-source-escapes.d.ts","sourceRoot":"","sources":["../../../src/persistence/source/validate-source-escapes.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOrD,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,QAAQ,GAAG,4BAA4B,CAwHlF"}
|