@x12i/memorix-descriptors 1.20.0 → 1.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -0
- package/dist/admin/create-admin.d.ts +1 -0
- package/dist/admin/create-admin.d.ts.map +1 -1
- package/dist/admin/create-admin.js +2 -0
- package/dist/admin/create-admin.js.map +1 -1
- package/dist/collections/content-type-defaults.js +1 -1
- package/dist/collections/content-type-defaults.js.map +1 -1
- package/dist/collections/content-type-vocabulary.d.ts +21 -0
- package/dist/collections/content-type-vocabulary.d.ts.map +1 -0
- package/dist/collections/content-type-vocabulary.js +66 -0
- package/dist/collections/content-type-vocabulary.js.map +1 -0
- package/dist/collections/mongo-env.d.ts +2 -0
- package/dist/collections/mongo-env.d.ts.map +1 -1
- package/dist/collections/mongo-env.js +7 -1
- package/dist/collections/mongo-env.js.map +1 -1
- package/dist/having-narratives/discover-signals.d.ts +18 -0
- package/dist/having-narratives/discover-signals.d.ts.map +1 -0
- package/dist/having-narratives/discover-signals.js +284 -0
- package/dist/having-narratives/discover-signals.js.map +1 -0
- package/dist/index.d.ts +10 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -2
- package/dist/index.js.map +1 -1
- package/dist/migration/enrich-root-properties.d.ts +12 -0
- package/dist/migration/enrich-root-properties.d.ts.map +1 -0
- package/dist/migration/enrich-root-properties.js +110 -0
- package/dist/migration/enrich-root-properties.js.map +1 -0
- package/dist/migration/generate-descriptors.d.ts +5 -2
- package/dist/migration/generate-descriptors.d.ts.map +1 -1
- package/dist/migration/generate-descriptors.js +5 -3
- package/dist/migration/generate-descriptors.js.map +1 -1
- package/dist/migration/object-type-specs.d.ts.map +1 -1
- package/dist/migration/object-type-specs.js +15 -2
- package/dist/migration/object-type-specs.js.map +1 -1
- package/dist/migration/plan.d.ts.map +1 -1
- package/dist/migration/plan.js +3 -1
- package/dist/migration/plan.js.map +1 -1
- package/dist/root-properties/compute-catalog.d.ts +20 -0
- package/dist/root-properties/compute-catalog.d.ts.map +1 -0
- package/dist/root-properties/compute-catalog.js +71 -0
- package/dist/root-properties/compute-catalog.js.map +1 -0
- package/dist/root-properties/constants.d.ts +7 -0
- package/dist/root-properties/constants.d.ts.map +1 -0
- package/dist/root-properties/constants.js +59 -0
- package/dist/root-properties/constants.js.map +1 -0
- package/dist/root-properties/inference.d.ts +31 -0
- package/dist/root-properties/inference.d.ts.map +1 -0
- package/dist/root-properties/inference.js +121 -0
- package/dist/root-properties/inference.js.map +1 -0
- package/dist/root-properties/scan-catalog.d.ts +20 -0
- package/dist/root-properties/scan-catalog.d.ts.map +1 -0
- package/dist/root-properties/scan-catalog.js +136 -0
- package/dist/root-properties/scan-catalog.js.map +1 -0
- package/dist/seeds/default-seed-spec.d.ts.map +1 -1
- package/dist/seeds/default-seed-spec.js +6 -1
- package/dist/seeds/default-seed-spec.js.map +1 -1
- package/dist/store/descriptor-normalize.d.ts.map +1 -1
- package/dist/store/descriptor-normalize.js +8 -0
- package/dist/store/descriptor-normalize.js.map +1 -1
- package/dist/types/canonical-v2.d.ts +9 -1
- package/dist/types/canonical-v2.d.ts.map +1 -1
- package/dist/types/canonical-v2.js.map +1 -1
- package/dist/types/descriptors.d.ts +175 -0
- package/dist/types/descriptors.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/validation/canonical-contamination.js +7 -1
- package/dist/validation/canonical-contamination.js.map +1 -1
- package/dist/validation/canonical-v2-validation.d.ts.map +1 -1
- package/dist/validation/canonical-v2-validation.js +29 -0
- package/dist/validation/canonical-v2-validation.js.map +1 -1
- package/dist/validation/descriptor-validation.d.ts +11 -1
- package/dist/validation/descriptor-validation.d.ts.map +1 -1
- package/dist/validation/descriptor-validation.js +160 -0
- package/dist/validation/descriptor-validation.js.map +1 -1
- package/dist/validation/processing-validation.d.ts +3 -0
- package/dist/validation/processing-validation.d.ts.map +1 -0
- package/dist/validation/processing-validation.js +121 -0
- package/dist/validation/processing-validation.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonical-contamination.js","sourceRoot":"","sources":["../../src/validation/canonical-contamination.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"canonical-contamination.js","sourceRoot":"","sources":["../../src/validation/canonical-contamination.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonical-v2-validation.d.ts","sourceRoot":"","sources":["../../src/validation/canonical-v2-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,6BAA6B,EAC9B,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"canonical-v2-validation.d.ts","sourceRoot":"","sources":["../../src/validation/canonical-v2-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,6BAA6B,EAC9B,MAAM,0BAA0B,CAAC;AAoBlC,eAAO,MAAM,0BAA0B,aAQrC,CAAC;AAYH,wBAAgB,qCAAqC,CACnD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,6BAA6B,CAuL/B;AAED,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,6BAA6B,CAAC,GACzD,uBAAuB,CA6HzB;AAED,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,6BAA6B,CAAC,GACzD,uBAAuB,CA2FzB;AAED,wBAAgB,kCAAkC,CAChD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,6BAA6B,CAAC,GACzD,0BAA0B,CA4D5B;AAED,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,wBAAwB,CAwD1B"}
|
|
@@ -2,6 +2,8 @@ import { COMPLETION_MAPPING_SCHEMA_V2, INVENTORY_POLICY_SCHEMA_V1, ITEM_DESCRIPT
|
|
|
2
2
|
import { findContaminationInDescriptorData } from "./canonical-contamination.js";
|
|
3
3
|
import { DescriptorValidationError } from "./errors.js";
|
|
4
4
|
import { validateListPagination } from "./list-pagination.js";
|
|
5
|
+
import { validateMemorixEntityProcessingDescriptor } from "./processing-validation.js";
|
|
6
|
+
import { validateNarrativesCatalog, validateRootPropertyCatalog, } from "./descriptor-validation.js";
|
|
5
7
|
const VALID_TARGETS = ["entity", "event", "knowledge"];
|
|
6
8
|
export const WORKSPACE_SYNTHETIC_FIELDS = new Set([
|
|
7
9
|
"objectType",
|
|
@@ -78,6 +80,24 @@ export function validateMemorixObjectTypeDescriptorV2(raw) {
|
|
|
78
80
|
throw new DescriptorValidationError("UNKNOWN_CONTENT_TYPE", `Property "${propName}" references unknown content type "${source.contentType}"`);
|
|
79
81
|
}
|
|
80
82
|
}
|
|
83
|
+
const rootProperties = d.rootProperties;
|
|
84
|
+
if (rootProperties !== undefined) {
|
|
85
|
+
if (typeof rootProperties !== "object" || Array.isArray(rootProperties)) {
|
|
86
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", "Object type descriptor rootProperties must be an object when set");
|
|
87
|
+
}
|
|
88
|
+
for (const [name, entry] of Object.entries(rootProperties)) {
|
|
89
|
+
const source = entry.source;
|
|
90
|
+
if (!entry.label || !source?.contentType || !source?.path?.trim()) {
|
|
91
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `Root property "${name}" requires label and source`);
|
|
92
|
+
}
|
|
93
|
+
if (!(source.contentType in contentTypes)) {
|
|
94
|
+
throw new DescriptorValidationError("UNKNOWN_CONTENT_TYPE", `Root property "${name}" references unknown content type "${source.contentType}"`);
|
|
95
|
+
}
|
|
96
|
+
if (source.path !== name) {
|
|
97
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `Root property "${name}" source.path must equal the root property key`);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
81
101
|
const relations = d.relations;
|
|
82
102
|
if (relations) {
|
|
83
103
|
for (const [relName, rel] of Object.entries(relations)) {
|
|
@@ -86,6 +106,15 @@ export function validateMemorixObjectTypeDescriptorV2(raw) {
|
|
|
86
106
|
}
|
|
87
107
|
}
|
|
88
108
|
}
|
|
109
|
+
if (d.processing !== undefined) {
|
|
110
|
+
d.processing = validateMemorixEntityProcessingDescriptor(d.processing, contentTypes);
|
|
111
|
+
}
|
|
112
|
+
if (d.narratives !== undefined) {
|
|
113
|
+
d.narratives = validateNarrativesCatalog(d.narratives);
|
|
114
|
+
}
|
|
115
|
+
if (d.rootPropertyCatalog !== undefined) {
|
|
116
|
+
d.rootPropertyCatalog = validateRootPropertyCatalog(d.rootPropertyCatalog, contentTypes);
|
|
117
|
+
}
|
|
89
118
|
const contamination = findContaminationInDescriptorData(d);
|
|
90
119
|
if (contamination.length > 0) {
|
|
91
120
|
throw new DescriptorValidationError("RUNTIME_CONTAMINATION", contamination.map((hit) => `${hit.path}: ${hit.reason}`).join("; "));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonical-v2-validation.js","sourceRoot":"","sources":["../../src/validation/canonical-v2-validation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"canonical-v2-validation.js","sourceRoot":"","sources":["../../src/validation/canonical-v2-validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,18 @@
|
|
|
1
|
-
import type { MemorixEntityDescriptor, MemorixEntityListDescriptor, MemorixItemDescriptor, MemorixListDescriptor, MemorixPropertyDescriptor, MemorixWorkspaceListDescriptor } from "../types/descriptors.js";
|
|
1
|
+
import type { MemorixEntityDescriptor, MemorixEntityListDescriptor, MemorixItemDescriptor, MemorixListDescriptor, MemorixManagedAssociatedProperty, MemorixNarrativeDefinition, MemorixContentTypeRootProperties, MemorixRootPropertyDescriptor, MemorixRootPropertyStat, MemorixPropertyDescriptor, MemorixWorkspaceListDescriptor } from "../types/descriptors.js";
|
|
2
2
|
export { DescriptorValidationError } from "./errors.js";
|
|
3
3
|
export { validateListPagination } from "./list-pagination.js";
|
|
4
|
+
export declare function validateNarrativeDefinition(key: string, entry: unknown): MemorixNarrativeDefinition;
|
|
5
|
+
export declare function validateNarrativesCatalog(narratives: Record<string, unknown>): Record<string, MemorixNarrativeDefinition>;
|
|
6
|
+
export declare function validateRootPropertyStat(contentType: string, entry: unknown): MemorixRootPropertyStat;
|
|
7
|
+
export declare function validateRootPropertyCatalog(catalog: unknown, contentTypes: Record<string, {
|
|
8
|
+
postfix?: string;
|
|
9
|
+
}>): MemorixContentTypeRootProperties[];
|
|
4
10
|
export declare function validateMemorixEntityDescriptor(raw: Record<string, unknown>): MemorixEntityDescriptor;
|
|
5
11
|
export declare function validatePropertyDescriptor(prop: MemorixPropertyDescriptor): void;
|
|
12
|
+
export declare function validateRootPropertyDescriptor(name: string, entry: MemorixRootPropertyDescriptor, contentTypes: Record<string, {
|
|
13
|
+
postfix?: string;
|
|
14
|
+
}>): void;
|
|
15
|
+
export declare function validateManagedAssociatedProperty(entry: MemorixManagedAssociatedProperty): void;
|
|
6
16
|
export declare function isMemorixWorkspaceListDescriptor(descriptor: MemorixListDescriptor): descriptor is MemorixWorkspaceListDescriptor;
|
|
7
17
|
export declare function validateMemorixWorkspaceListDescriptor(raw: Record<string, unknown>): MemorixWorkspaceListDescriptor;
|
|
8
18
|
export declare function validateBootstrapEntityListDescriptor(raw: Record<string, unknown>): MemorixEntityListDescriptor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"descriptor-validation.d.ts","sourceRoot":"","sources":["../../src/validation/descriptor-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,2BAA2B,EAC3B,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,8BAA8B,EAC/B,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"descriptor-validation.d.ts","sourceRoot":"","sources":["../../src/validation/descriptor-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,2BAA2B,EAC3B,qBAAqB,EACrB,qBAAqB,EACrB,gCAAgC,EAChC,0BAA0B,EAE1B,gCAAgC,EAChC,6BAA6B,EAC7B,uBAAuB,EAEvB,yBAAyB,EACzB,8BAA8B,EAC/B,MAAM,yBAAyB,CAAC;AAMjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AA4B9D,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,GACb,0BAA0B,CAwB5B;AAED,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAe5C;AAED,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,OAAO,GACb,uBAAuB,CAkDzB;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GACjD,gCAAgC,EAAE,CAwDpC;AAED,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,uBAAuB,CAmGzB;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,yBAAyB,GAAG,IAAI,CAahF;AAED,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,6BAA6B,EACpC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GACjD,IAAI,CAuCN;AAED,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,gCAAgC,GACtC,IAAI,CAaN;AAED,wBAAgB,gCAAgC,CAC9C,UAAU,EAAE,qBAAqB,GAChC,UAAU,IAAI,8BAA8B,CAE9C;AAED,wBAAgB,sCAAsC,CACpD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,8BAA8B,CAgBhC;AAED,wBAAgB,qCAAqC,CACnD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,2BAA2B,CAgB7B;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,2BAA2B,GAAG,IAAI,CAqBrF;AAED,wBAAgB,mCAAmC,CACjD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,2BAA2B,CAiB7B;AAED,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,qBAAqB,CAWvB;AAED,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,qBAAqB,CAqBvB;AAED,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,2BAA2B,EACjC,MAAM,EAAE,uBAAuB,GAC9B,IAAI,CAgBN;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAE1E;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAWhE;AAED,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAElE"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { validateMemorixEntityProcessingDescriptor } from "./processing-validation.js";
|
|
1
2
|
import { DescriptorValidationError } from "./errors.js";
|
|
2
3
|
import { validateListPagination } from "./list-pagination.js";
|
|
3
4
|
export { DescriptorValidationError } from "./errors.js";
|
|
@@ -9,6 +10,109 @@ function assertObject(value, label) {
|
|
|
9
10
|
return value;
|
|
10
11
|
}
|
|
11
12
|
const VALID_TARGETS = ["entity", "event", "knowledge"];
|
|
13
|
+
const VALID_NARRATIVE_KINDS = [
|
|
14
|
+
"having-signal",
|
|
15
|
+
"association-common-property",
|
|
16
|
+
];
|
|
17
|
+
const VALID_ROOT_PROPERTY_VALUE_TYPES = [
|
|
18
|
+
"object",
|
|
19
|
+
"array",
|
|
20
|
+
"string",
|
|
21
|
+
"number",
|
|
22
|
+
"boolean",
|
|
23
|
+
"null",
|
|
24
|
+
];
|
|
25
|
+
export function validateNarrativeDefinition(key, entry) {
|
|
26
|
+
if (!entry || typeof entry !== "object" || Array.isArray(entry)) {
|
|
27
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `Narrative "${key}" must be an object`);
|
|
28
|
+
}
|
|
29
|
+
const raw = entry;
|
|
30
|
+
const kind = raw.kind;
|
|
31
|
+
if (typeof kind !== "string" || !VALID_NARRATIVE_KINDS.includes(kind)) {
|
|
32
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `Narrative "${key}" requires kind "having-signal" or "association-common-property"`);
|
|
33
|
+
}
|
|
34
|
+
for (const field of ["label", "description", "sourceRef", "targetEntity", "property", "value"]) {
|
|
35
|
+
if (raw[field] !== undefined && typeof raw[field] !== "string") {
|
|
36
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `Narrative "${key}" field "${field}" must be a string when set`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return raw;
|
|
40
|
+
}
|
|
41
|
+
export function validateNarrativesCatalog(narratives) {
|
|
42
|
+
if (typeof narratives !== "object" || Array.isArray(narratives)) {
|
|
43
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", "Entity descriptor narratives must be an object when set");
|
|
44
|
+
}
|
|
45
|
+
const validated = {};
|
|
46
|
+
for (const [key, entry] of Object.entries(narratives)) {
|
|
47
|
+
if (!key.trim()) {
|
|
48
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", "Narrative key must be non-empty");
|
|
49
|
+
}
|
|
50
|
+
validated[key] = validateNarrativeDefinition(key, entry);
|
|
51
|
+
}
|
|
52
|
+
return validated;
|
|
53
|
+
}
|
|
54
|
+
export function validateRootPropertyStat(contentType, entry) {
|
|
55
|
+
if (!entry || typeof entry !== "object" || Array.isArray(entry)) {
|
|
56
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `Root property catalog entry for content type "${contentType}" must be an object`);
|
|
57
|
+
}
|
|
58
|
+
const raw = entry;
|
|
59
|
+
if (typeof raw.key !== "string" || !raw.key.trim()) {
|
|
60
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `Root property catalog entry for content type "${contentType}" requires key`);
|
|
61
|
+
}
|
|
62
|
+
if (!Array.isArray(raw.valueTypes) || raw.valueTypes.length === 0) {
|
|
63
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `Root property "${raw.key}" requires non-empty valueTypes array`);
|
|
64
|
+
}
|
|
65
|
+
for (const valueType of raw.valueTypes) {
|
|
66
|
+
if (typeof valueType !== "string" ||
|
|
67
|
+
!VALID_ROOT_PROPERTY_VALUE_TYPES.includes(valueType)) {
|
|
68
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `Root property "${raw.key}" has invalid valueType "${String(valueType)}"`);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
if (typeof raw.presentCount !== "number" || !Number.isFinite(raw.presentCount) || raw.presentCount < 0) {
|
|
72
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `Root property "${raw.key}" requires non-negative presentCount`);
|
|
73
|
+
}
|
|
74
|
+
if (typeof raw.totalCount !== "number" || !Number.isFinite(raw.totalCount) || raw.totalCount < 0) {
|
|
75
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `Root property "${raw.key}" requires non-negative totalCount`);
|
|
76
|
+
}
|
|
77
|
+
if (raw.internal !== undefined && typeof raw.internal !== "boolean") {
|
|
78
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `Root property "${raw.key}" internal must be boolean when set`);
|
|
79
|
+
}
|
|
80
|
+
return raw;
|
|
81
|
+
}
|
|
82
|
+
export function validateRootPropertyCatalog(catalog, contentTypes) {
|
|
83
|
+
if (!Array.isArray(catalog)) {
|
|
84
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", "Entity descriptor rootPropertyCatalog must be an array when set");
|
|
85
|
+
}
|
|
86
|
+
return catalog.map((entry, index) => {
|
|
87
|
+
if (!entry || typeof entry !== "object" || Array.isArray(entry)) {
|
|
88
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `rootPropertyCatalog[${index}] must be an object`);
|
|
89
|
+
}
|
|
90
|
+
const raw = entry;
|
|
91
|
+
const contentType = raw.contentType;
|
|
92
|
+
if (typeof contentType !== "string" || !contentType.trim()) {
|
|
93
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `rootPropertyCatalog[${index}] requires contentType`);
|
|
94
|
+
}
|
|
95
|
+
if (!(contentType in contentTypes)) {
|
|
96
|
+
throw new DescriptorValidationError("UNKNOWN_CONTENT_TYPE", `rootPropertyCatalog[${index}] references unknown content type "${contentType}"`);
|
|
97
|
+
}
|
|
98
|
+
if (typeof raw.computedAt !== "string" || !raw.computedAt.trim()) {
|
|
99
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `rootPropertyCatalog[${index}] requires computedAt ISO timestamp`);
|
|
100
|
+
}
|
|
101
|
+
if (raw.fullScan !== true && raw.fullScan !== false) {
|
|
102
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `rootPropertyCatalog[${index}] requires fullScan boolean`);
|
|
103
|
+
}
|
|
104
|
+
if (!Array.isArray(raw.properties)) {
|
|
105
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `rootPropertyCatalog[${index}] requires properties array`);
|
|
106
|
+
}
|
|
107
|
+
const properties = raw.properties.map((prop) => validateRootPropertyStat(contentType, prop));
|
|
108
|
+
return {
|
|
109
|
+
contentType,
|
|
110
|
+
properties,
|
|
111
|
+
computedAt: raw.computedAt,
|
|
112
|
+
fullScan: raw.fullScan,
|
|
113
|
+
};
|
|
114
|
+
});
|
|
115
|
+
}
|
|
12
116
|
export function validateMemorixEntityDescriptor(raw) {
|
|
13
117
|
const d = raw;
|
|
14
118
|
if (!d.id || !d.entityName || !d.collectionPrefix) {
|
|
@@ -37,6 +141,22 @@ export function validateMemorixEntityDescriptor(raw) {
|
|
|
37
141
|
for (const prop of Object.values(d.properties)) {
|
|
38
142
|
validatePropertyDescriptor(prop);
|
|
39
143
|
}
|
|
144
|
+
if (d.rootProperties !== undefined) {
|
|
145
|
+
if (typeof d.rootProperties !== "object" || Array.isArray(d.rootProperties)) {
|
|
146
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", "Entity descriptor rootProperties must be an object when set");
|
|
147
|
+
}
|
|
148
|
+
for (const [name, entry] of Object.entries(d.rootProperties)) {
|
|
149
|
+
validateRootPropertyDescriptor(name, entry, d.contentTypes);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
if (d.associatedProperties !== undefined) {
|
|
153
|
+
if (!Array.isArray(d.associatedProperties)) {
|
|
154
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", "Entity descriptor associatedProperties must be an array when set");
|
|
155
|
+
}
|
|
156
|
+
for (const entry of d.associatedProperties) {
|
|
157
|
+
validateManagedAssociatedProperty(entry);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
40
160
|
const canonicalTypes = Object.entries(d.contentTypes).filter(([, ct]) => ct.isCanonical);
|
|
41
161
|
if (canonicalTypes.length !== 1) {
|
|
42
162
|
throw new DescriptorValidationError("INVALID_DESCRIPTOR", "Entity descriptor requires exactly one content type with isCanonical: true");
|
|
@@ -45,6 +165,15 @@ export function validateMemorixEntityDescriptor(raw) {
|
|
|
45
165
|
if (canonicalName !== d.defaults.canonicalContentType) {
|
|
46
166
|
throw new DescriptorValidationError("INVALID_DESCRIPTOR", "defaults.canonicalContentType must match the isCanonical content type key");
|
|
47
167
|
}
|
|
168
|
+
if (d.processing !== undefined) {
|
|
169
|
+
d.processing = validateMemorixEntityProcessingDescriptor(d.processing, d.contentTypes);
|
|
170
|
+
}
|
|
171
|
+
if (d.narratives !== undefined) {
|
|
172
|
+
d.narratives = validateNarrativesCatalog(d.narratives);
|
|
173
|
+
}
|
|
174
|
+
if (d.rootPropertyCatalog !== undefined) {
|
|
175
|
+
d.rootPropertyCatalog = validateRootPropertyCatalog(d.rootPropertyCatalog, d.contentTypes);
|
|
176
|
+
}
|
|
48
177
|
return d;
|
|
49
178
|
}
|
|
50
179
|
export function validatePropertyDescriptor(prop) {
|
|
@@ -55,6 +184,37 @@ export function validatePropertyDescriptor(prop) {
|
|
|
55
184
|
throw new DescriptorValidationError("INVALID_DESCRIPTOR", "Property descriptor requires humanReadable boolean");
|
|
56
185
|
}
|
|
57
186
|
}
|
|
187
|
+
export function validateRootPropertyDescriptor(name, entry, contentTypes) {
|
|
188
|
+
if (!name.trim()) {
|
|
189
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", "Root property name must be non-empty");
|
|
190
|
+
}
|
|
191
|
+
if (!entry.label?.trim()) {
|
|
192
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `Root property "${name}" requires label`);
|
|
193
|
+
}
|
|
194
|
+
if (!entry.source?.contentType || !entry.source?.path?.trim()) {
|
|
195
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `Root property "${name}" requires source.contentType and source.path`);
|
|
196
|
+
}
|
|
197
|
+
if (!(entry.source.contentType in contentTypes)) {
|
|
198
|
+
throw new DescriptorValidationError("UNKNOWN_CONTENT_TYPE", `Root property "${name}" references unknown content type "${entry.source.contentType}"`);
|
|
199
|
+
}
|
|
200
|
+
if (entry.source.path !== name) {
|
|
201
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `Root property "${name}" source.path must equal the root property key`);
|
|
202
|
+
}
|
|
203
|
+
if (entry.valueShape !== undefined &&
|
|
204
|
+
entry.valueShape !== "object" &&
|
|
205
|
+
entry.valueShape !== "array" &&
|
|
206
|
+
entry.valueShape !== "unknown") {
|
|
207
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `Root property "${name}" valueShape must be object, array, or unknown`);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
export function validateManagedAssociatedProperty(entry) {
|
|
211
|
+
if (!entry.name?.startsWith("associated")) {
|
|
212
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", "Managed associated property name must start with associated");
|
|
213
|
+
}
|
|
214
|
+
if (entry.contentType !== "snapshots" || entry.kind !== "associated" || entry.managed !== true) {
|
|
215
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", "Managed associated property requires contentType snapshots, kind associated, managed true");
|
|
216
|
+
}
|
|
217
|
+
}
|
|
58
218
|
export function isMemorixWorkspaceListDescriptor(descriptor) {
|
|
59
219
|
return descriptor.kind === "workspace";
|
|
60
220
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"descriptor-validation.js","sourceRoot":"","sources":["../../src/validation/descriptor-validation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"descriptor-validation.js","sourceRoot":"","sources":["../../src/validation/descriptor-validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { MemorixEntityProcessingDescriptor } from "../types/descriptors.js";
|
|
2
|
+
export declare function validateMemorixEntityProcessingDescriptor(raw: unknown, contentTypes: Record<string, unknown>): MemorixEntityProcessingDescriptor;
|
|
3
|
+
//# sourceMappingURL=processing-validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processing-validation.d.ts","sourceRoot":"","sources":["../../src/validation/processing-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,iCAAiC,EAMlC,MAAM,yBAAyB,CAAC;AAqKjC,wBAAgB,yCAAyC,CACvD,GAAG,EAAE,OAAO,EACZ,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACpC,iCAAiC,CAsDnC"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { DescriptorValidationError } from "./errors.js";
|
|
2
|
+
const VALID_PROCESSOR_KINDS = new Set(["function", "api"]);
|
|
3
|
+
const VALID_PREREQUISITE_ACTIONS = new Set(["skip", "defer", "markUnresolved"]);
|
|
4
|
+
function assertObject(value, label) {
|
|
5
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
6
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `${label} must be an object`);
|
|
7
|
+
}
|
|
8
|
+
return value;
|
|
9
|
+
}
|
|
10
|
+
function validateProcessorBinding(binding, label) {
|
|
11
|
+
if (!binding.processorId?.trim()) {
|
|
12
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `${label} requires processorId`);
|
|
13
|
+
}
|
|
14
|
+
if (!VALID_PROCESSOR_KINDS.has(binding.kind)) {
|
|
15
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `${label} kind must be "function" or "api"`);
|
|
16
|
+
}
|
|
17
|
+
if (binding.config !== undefined && (typeof binding.config !== "object" || Array.isArray(binding.config))) {
|
|
18
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `${label} config must be an object when set`);
|
|
19
|
+
}
|
|
20
|
+
if (binding.sources !== undefined && (typeof binding.sources !== "object" || Array.isArray(binding.sources))) {
|
|
21
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `${label} sources must be an object when set`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
function validateRoutePrerequisite(prerequisite, label) {
|
|
25
|
+
if (!prerequisite.parentObjectType?.trim()) {
|
|
26
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `${label} prerequisite requires parentObjectType`);
|
|
27
|
+
}
|
|
28
|
+
if (!VALID_PREREQUISITE_ACTIONS.has(prerequisite.onMissing)) {
|
|
29
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `${label} prerequisite onMissing must be skip, defer, or markUnresolved`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
function validateContentTypeRef(contentType, contentTypes, label) {
|
|
33
|
+
if (!contentType?.trim()) {
|
|
34
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `${label} requires contentType`);
|
|
35
|
+
}
|
|
36
|
+
if (!(contentType in contentTypes)) {
|
|
37
|
+
throw new DescriptorValidationError("UNKNOWN_CONTENT_TYPE", `${label} references unknown content type "${contentType}"`);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
function validateRoute(route, index, contentTypes) {
|
|
41
|
+
const label = `processing.entityRoutes[${index}]`;
|
|
42
|
+
if (!route.routeKey?.trim()) {
|
|
43
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `${label} requires routeKey`);
|
|
44
|
+
}
|
|
45
|
+
if (!route.parentObjectType?.trim()) {
|
|
46
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `${label} requires parentObjectType`);
|
|
47
|
+
}
|
|
48
|
+
if (route.direction !== "parentToChild") {
|
|
49
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `${label} direction must be parentToChild`);
|
|
50
|
+
}
|
|
51
|
+
validateContentTypeRef(route.source?.contentType, contentTypes, `${label}.source`);
|
|
52
|
+
if (!route.source?.path?.trim()) {
|
|
53
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `${label}.source requires path`);
|
|
54
|
+
}
|
|
55
|
+
validateContentTypeRef(route.target?.contentType, contentTypes, `${label}.target`);
|
|
56
|
+
if (!route.target?.path?.trim()) {
|
|
57
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `${label}.target requires path`);
|
|
58
|
+
}
|
|
59
|
+
if (route.prerequisites) {
|
|
60
|
+
if (!Array.isArray(route.prerequisites)) {
|
|
61
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `${label} prerequisites must be an array`);
|
|
62
|
+
}
|
|
63
|
+
route.prerequisites.forEach((prerequisite, pIndex) => validateRoutePrerequisite(prerequisite, `${label}.prerequisites[${pIndex}]`));
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
function validateResolver(resolver, index) {
|
|
67
|
+
const label = `processing.resolvers[${index}]`;
|
|
68
|
+
validateProcessorBinding(resolver, label);
|
|
69
|
+
}
|
|
70
|
+
function validateInsightStage(stage, index) {
|
|
71
|
+
const label = `processing.insightStages[${index}]`;
|
|
72
|
+
validateProcessorBinding(stage, label);
|
|
73
|
+
if (!stage.inputKind?.trim()) {
|
|
74
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `${label} requires inputKind`);
|
|
75
|
+
}
|
|
76
|
+
if (!stage.outputKind?.trim()) {
|
|
77
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `${label} requires outputKind`);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
function validateAssociatedContentPolicy(policy) {
|
|
81
|
+
if (policy.excludePostfixes !== undefined && !Array.isArray(policy.excludePostfixes)) {
|
|
82
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", "processing.associatedContent.excludePostfixes must be an array when set");
|
|
83
|
+
}
|
|
84
|
+
if (policy.rollParentSnapshots !== undefined &&
|
|
85
|
+
typeof policy.rollParentSnapshots !== "boolean") {
|
|
86
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", "processing.associatedContent.rollParentSnapshots must be boolean when set");
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
export function validateMemorixEntityProcessingDescriptor(raw, contentTypes) {
|
|
90
|
+
const processing = assertObject(raw, "processing");
|
|
91
|
+
if (processing.entityRoutes !== undefined) {
|
|
92
|
+
if (!Array.isArray(processing.entityRoutes)) {
|
|
93
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", "processing.entityRoutes must be an array when set");
|
|
94
|
+
}
|
|
95
|
+
const routeKeys = new Set();
|
|
96
|
+
for (const [index, route] of processing.entityRoutes.entries()) {
|
|
97
|
+
validateRoute(route, index, contentTypes);
|
|
98
|
+
if (routeKeys.has(route.routeKey)) {
|
|
99
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", `Duplicate processing.entityRoutes routeKey "${route.routeKey}"`);
|
|
100
|
+
}
|
|
101
|
+
routeKeys.add(route.routeKey);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
if (processing.resolvers !== undefined) {
|
|
105
|
+
if (!Array.isArray(processing.resolvers)) {
|
|
106
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", "processing.resolvers must be an array when set");
|
|
107
|
+
}
|
|
108
|
+
processing.resolvers.forEach((resolver, index) => validateResolver(resolver, index));
|
|
109
|
+
}
|
|
110
|
+
if (processing.insightStages !== undefined) {
|
|
111
|
+
if (!Array.isArray(processing.insightStages)) {
|
|
112
|
+
throw new DescriptorValidationError("INVALID_DESCRIPTOR", "processing.insightStages must be an array when set");
|
|
113
|
+
}
|
|
114
|
+
processing.insightStages.forEach((stage, index) => validateInsightStage(stage, index));
|
|
115
|
+
}
|
|
116
|
+
if (processing.associatedContent !== undefined) {
|
|
117
|
+
validateAssociatedContentPolicy(processing.associatedContent);
|
|
118
|
+
}
|
|
119
|
+
return processing;
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=processing-validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processing-validation.js","sourceRoot":"","sources":["../../src/validation/processing-validation.ts"],"names":[],"mappings":"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"}
|