@astrale-os/kernel-dsl 1.0.0-beta.12 → 1.0.0-beta.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/dist/v1/addressing/definition-ref.js +21 -37
  2. package/dist/v1/addressing/ordering.d.ts +2 -0
  3. package/dist/v1/addressing/ordering.js +4 -0
  4. package/dist/v1/addressing/patterns.d.ts +0 -1
  5. package/dist/v1/addressing/patterns.js +0 -5
  6. package/dist/v1/builder/class/authoring.js +5 -28
  7. package/dist/v1/builder/lowering/schema/context.js +2 -4
  8. package/dist/v1/builder/lowering/value/path.js +2 -4
  9. package/dist/v1/builder/lowering/value/zod.js +1 -3
  10. package/dist/v1/builder/schema/define.d.ts +0 -1
  11. package/dist/v1/builder/schema/diagnostic.d.ts +2 -1
  12. package/dist/v1/builder/schema/diagnostic.js +5 -10
  13. package/dist/v1/builder/schema/projection.d.ts +1 -1
  14. package/dist/v1/builder/value/full-match.d.ts +0 -1
  15. package/dist/v1/builder/value/full-match.js +0 -1
  16. package/dist/v1/bundle/codec.js +2 -4
  17. package/dist/v1/bundle/diagnostic.js +3 -7
  18. package/dist/v1/bundle/structure.js +2 -4
  19. package/dist/v1/compiled/admission/diagnostic.d.ts +1 -1
  20. package/dist/v1/compiled/admission/diagnostic.js +1 -3
  21. package/dist/v1/compiled/admission/revision.d.ts +9 -1
  22. package/dist/v1/compiled/admission/revision.js +6 -3
  23. package/dist/v1/compiled/admission/semantics/class.d.ts +4 -1
  24. package/dist/v1/compiled/admission/semantics/class.js +4 -8
  25. package/dist/v1/compiled/admission/semantics/core.d.ts +1 -24
  26. package/dist/v1/compiled/admission/semantics/core.js +54 -34
  27. package/dist/v1/compiled/admission/semantics/edge.d.ts +2 -4
  28. package/dist/v1/compiled/admission/semantics/edge.js +6 -65
  29. package/dist/v1/compiled/admission/semantics/policy/callable.js +0 -2
  30. package/dist/v1/compiled/admission/semantics/policy/contracts.d.ts +5 -20
  31. package/dist/v1/compiled/admission/semantics/policy/contracts.js +8 -21
  32. package/dist/v1/compiled/admission/semantics/policy/parity.js +13 -22
  33. package/dist/v1/compiled/admission/semantics/policy/pattern.d.ts +4 -1
  34. package/dist/v1/compiled/admission/semantics/policy/pattern.js +4 -16
  35. package/dist/v1/compiled/admission/semantics/policy/typing.d.ts +2 -24
  36. package/dist/v1/compiled/admission/semantics/policy/typing.js +19 -201
  37. package/dist/v1/compiled/compiler/compile.js +6 -8
  38. package/dist/v1/compiled/diagnostic.js +2 -3
  39. package/dist/v1/compiled/loader/load.d.ts +3 -2
  40. package/dist/v1/compiled/loader/load.js +10 -44
  41. package/dist/v1/domain/create.js +3 -5
  42. package/dist/v1/domain/namespace/member-collection.js +4 -6
  43. package/dist/v1/domain/validation/create.d.ts +0 -1
  44. package/dist/v1/domain/validation/create.js +0 -35
  45. package/dist/v1/language/class/inheritance.d.ts +18 -0
  46. package/dist/v1/language/class/inheritance.js +73 -0
  47. package/dist/v1/language/class/property-values.js +2 -4
  48. package/dist/v1/language/core/facts.d.ts +72 -0
  49. package/dist/v1/language/core/facts.js +95 -0
  50. package/dist/v1/language/policy/analysis/branches.d.ts +8 -0
  51. package/dist/v1/language/policy/analysis/branches.js +2 -1
  52. package/dist/v1/language/policy/analysis/budgets.d.ts +13 -1
  53. package/dist/v1/language/policy/analysis/budgets.js +104 -0
  54. package/dist/v1/language/policy/analysis/typing.d.ts +48 -0
  55. package/dist/v1/language/policy/analysis/typing.js +338 -0
  56. package/dist/v1/language/validation/diagnostic.d.ts +14 -0
  57. package/dist/v1/language/validation/diagnostic.js +21 -0
  58. package/dist/v1/language/value/compile/fields.js +4 -8
  59. package/dist/v1/language/value/profile/rules.js +5 -7
  60. package/dist/v1/language/value/profile/validate.js +1 -10
  61. package/dist/v1/language/value/reference/recursion.js +2 -22
  62. package/dist/v1/language/value/syntax/pointer.d.ts +2 -0
  63. package/dist/v1/language/value/syntax/pointer.js +5 -2
  64. package/dist/v1/language/value/syntax/walk.d.ts +2 -0
  65. package/dist/v1/language/value/syntax/walk.js +19 -20
  66. package/dist/v1/schema/compatibility/diff.js +2 -4
  67. package/dist/v1/schema/compatibility/meaning/footprint.js +16 -50
  68. package/dist/v1/schema/compatibility/structure/requirements.js +26 -58
  69. package/dist/v1/schema/compatibility/walk.d.ts +17 -0
  70. package/dist/v1/schema/compatibility/walk.js +41 -0
  71. package/dist/v1/schema/diagnostic.js +3 -11
  72. package/dist/v1/schema/resolution/context.js +3 -5
  73. package/dist/v1/schema/validation/callable.js +3 -5
  74. package/dist/v1/schema/validation/class.js +10 -52
  75. package/dist/v1/schema/validation/core.js +65 -199
  76. package/dist/v1/schema/validation/domain.js +1 -10
  77. package/dist/v1/schema/validation/domain.structure.js +2 -4
  78. package/dist/v1/schema/validation/policy/budgets.js +5 -112
  79. package/dist/v1/schema/validation/policy/context.d.ts +5 -3
  80. package/dist/v1/schema/validation/policy/context.js +5 -3
  81. package/dist/v1/schema/validation/policy/objects.d.ts +1 -1
  82. package/dist/v1/schema/validation/policy/objects.js +6 -14
  83. package/dist/v1/schema/validation/policy/references.js +5 -6
  84. package/dist/v1/schema/validation/policy/typing.d.ts +3 -18
  85. package/dist/v1/schema/validation/policy/typing.js +22 -356
  86. package/dist/v1/schema/validation/policy/uses.d.ts +1 -1
  87. package/dist/v1/schema/validation/policy/uses.js +9 -22
  88. package/dist/v1/schema/validation/policy/validate.js +3 -2
  89. package/dist/v1/schema/validation/value-api.js +2 -2
  90. package/dist/v1/schema/validation/value.js +5 -7
  91. package/dist/v1/schema/validation/view.js +4 -8
  92. package/package.json +1 -1
  93. package/dist/v1/compiled/admission/semantics/cardinality.d.ts +0 -5
  94. package/dist/v1/compiled/admission/semantics/cardinality.js +0 -128
  95. package/dist/v1/compiled/admission/semantics/policy/equality.d.ts +0 -8
  96. package/dist/v1/compiled/admission/semantics/policy/equality.js +0 -27
  97. package/dist/v1/compiled/admission/semantics/policy/measure.d.ts +0 -9
  98. package/dist/v1/compiled/admission/semantics/policy/measure.js +0 -81
  99. package/dist/v1/compiled/admission/semantics/policy/variants.d.ts +0 -10
  100. package/dist/v1/compiled/admission/semantics/policy/variants.js +0 -65
  101. package/dist/v1/language/class/index.d.ts +0 -8
  102. package/dist/v1/language/class/index.js +0 -1
  103. package/dist/v1/language/core/index.d.ts +0 -2
  104. package/dist/v1/language/core/index.js +0 -1
  105. package/dist/v1/language/value/index.d.ts +0 -11
  106. package/dist/v1/language/value/index.js +0 -8
@@ -1,128 +0,0 @@
1
- import { Key } from '../../../addressing/index.js';
2
- import { compareUnicode } from '../../../addressing/ordering.js';
3
- import {} from '../../../language/class/model/edge.js';
4
- import { coveringEdgeUniqueTuples, edgeUniqueKeys } from '../../../language/class/unique.js';
5
- import {} from '../../model/schema.js';
6
- import { fail } from '../diagnostic.js';
7
- import { isCompiledEdge, classSatisfiesAny, } from './context.js';
8
- import {} from './core.js';
9
- import { sameIncidentEndpoint, countBounds } from './edge.js';
10
- /** Check normalized Edge identity, keys, noSelf, cycles and complete Core degrees. */
11
- export function validateCoreEdgeSet(context, entry, entryIndex, nodes, edges) {
12
- const seen = new Set();
13
- const slices = new Map();
14
- for (const edge of edges) {
15
- const classKey = Key.of(edge.value.class);
16
- const [source, target] = edge.class.value.orientation === 'undirected' &&
17
- compareUnicode(edge.source.key, edge.target.key) > 0
18
- ? [edge.target.key, edge.source.key]
19
- : [edge.source.key, edge.target.key];
20
- const key = `${classKey}\u0000${source}\u0000${target}`;
21
- if (seen.has(key))
22
- fail(edge.pointer, 'Core Edge duplicates an exact normalized Edge identity.');
23
- seen.add(key);
24
- const values = slices.get(classKey) ?? [];
25
- values.push(edge);
26
- slices.set(classKey, values);
27
- if (edge.class.value.constraints.noSelf === true && edge.source.key === edge.target.key)
28
- fail(edge.pointer, 'Core Edge violates noSelf.');
29
- }
30
- // No two Core Edges hold one key under a tuple covering their Classes (DV-EDGE-UNIQUE).
31
- const resolve = (ref) => context.classes.get(Key.of(ref))?.value;
32
- const holders = new Set();
33
- for (const edge of edges) {
34
- const keys = edgeUniqueKeys(coveringEdgeUniqueTuples(edge.class.value, resolve), {
35
- source: edge.source.key,
36
- target: edge.target.key,
37
- props: edge.value.properties,
38
- });
39
- if (keys.some((key) => holders.has(key)))
40
- fail(edge.pointer, 'Core Edge holds a key another Core Edge holds.');
41
- for (const key of keys)
42
- holders.add(key);
43
- }
44
- for (const edgeClass of entry.definitions.classes) {
45
- if (!isCompiledEdge(edgeClass))
46
- continue;
47
- const classEdges = slices.get(Key.of(edgeClass.ref)) ?? [];
48
- if (edgeClass.constraints.acyclic === true && hasCycle(classEdges))
49
- fail(`/closure/${entryIndex}/facts/core`, 'Core Edge set violates exact-Class acyclicity.');
50
- validateCardinality(context, edgeClass, classEdges, nodes);
51
- }
52
- }
53
- function validateCardinality(context, declaration, edges, nodes) {
54
- for (const subject of cardinalitySubjects(edges, nodes)) {
55
- if (declaration.orientation === 'directed') {
56
- if (classSatisfiesAny(context, subject.class, declaration.endpoints.source.accepts))
57
- checkCount(declaration.endpoints.source.outgoing, edges.filter(({ source }) => source.key === subject.key).length, subject.pointer, subject.minimum);
58
- if (classSatisfiesAny(context, subject.class, declaration.endpoints.target.accepts))
59
- checkCount(declaration.endpoints.target.incoming, edges.filter(({ target }) => target.key === subject.key).length, subject.pointer, subject.minimum);
60
- }
61
- else {
62
- const degree = edges.filter(({ source, target }) => source.key === subject.key || target.key === subject.key).length;
63
- const [first, second] = declaration.endpoints;
64
- if (classSatisfiesAny(context, subject.class, first.accepts))
65
- checkCount(first.incident, degree, subject.pointer, subject.minimum);
66
- if (!sameIncidentEndpoint(first, second) &&
67
- classSatisfiesAny(context, subject.class, second.accepts))
68
- checkCount(second.incident, degree, subject.pointer, subject.minimum);
69
- }
70
- }
71
- }
72
- /**
73
- * Every declared Core Node proves its own complete degree, so both bounds hold. A Definition
74
- * endpoint is only named by the Edges that reach it: the Domain may also create ordinary Edges of
75
- * the same Class against it, so a minimum is unprovable here and only the maximum is enforced.
76
- */
77
- function cardinalitySubjects(edges, nodes) {
78
- const subjects = new Map();
79
- for (const node of nodes.values()) {
80
- subjects.set(node.key, {
81
- key: node.key,
82
- class: node.value.class,
83
- pointer: node.pointer,
84
- minimum: true,
85
- });
86
- }
87
- for (const edge of edges) {
88
- for (const endpoint of [edge.source, edge.target]) {
89
- if ('value' in endpoint || !('class' in endpoint) || subjects.has(endpoint.key))
90
- continue;
91
- subjects.set(endpoint.key, {
92
- key: endpoint.key,
93
- class: endpoint.class,
94
- pointer: endpoint.pointer,
95
- minimum: false,
96
- });
97
- }
98
- }
99
- return Object.freeze([...subjects.values()]);
100
- }
101
- function checkCount(count, degree, path, enforceMinimum) {
102
- const [minimum, maximum] = countBounds(count);
103
- if (degree > maximum || (degree < minimum && enforceMinimum))
104
- fail(path, `Core degree ${degree} violates Edge count ${count}.`);
105
- }
106
- function hasCycle(edges) {
107
- const outgoing = new Map();
108
- for (const edge of edges) {
109
- const values = outgoing.get(edge.source.key) ?? [];
110
- values.push(edge.target.key);
111
- outgoing.set(edge.source.key, values);
112
- }
113
- const visiting = new Set();
114
- const visited = new Set();
115
- const visit = (key) => {
116
- if (visiting.has(key))
117
- return true;
118
- if (visited.has(key))
119
- return false;
120
- visiting.add(key);
121
- if ((outgoing.get(key) ?? []).some(visit))
122
- return true;
123
- visiting.delete(key);
124
- visited.add(key);
125
- return false;
126
- };
127
- return [...outgoing.keys()].some(visit);
128
- }
@@ -1,8 +0,0 @@
1
- /** Retain and merge term equalities while typing one Policy branch. */
2
- export declare class CompiledUnionFind {
3
- #private;
4
- constructor(values: Iterable<string>);
5
- add(value: string): void;
6
- find(value: string): string;
7
- join(left: string, right: string): void;
8
- }
@@ -1,27 +0,0 @@
1
- /** Retain and merge term equalities while typing one Policy branch. */
2
- export class CompiledUnionFind {
3
- #parents = new Map();
4
- constructor(values) {
5
- for (const value of values)
6
- this.add(value);
7
- }
8
- add(value) {
9
- if (!this.#parents.has(value))
10
- this.#parents.set(value, value);
11
- }
12
- find(value) {
13
- this.add(value);
14
- const parent = this.#parents.get(value);
15
- if (parent === value)
16
- return value;
17
- const root = this.find(parent);
18
- this.#parents.set(value, root);
19
- return root;
20
- }
21
- join(left, right) {
22
- const a = this.find(left);
23
- const b = this.find(right);
24
- if (a !== b)
25
- this.#parents.set(b, a);
26
- }
27
- }
@@ -1,9 +0,0 @@
1
- import { type PolicyExpression } from '../../../../language/policy/model/policy.js';
2
- interface CompiledPatternMeasure {
3
- readonly depth: number;
4
- readonly edgeCounts: readonly number[];
5
- readonly domains: ReadonlySet<string>;
6
- }
7
- /** Measure expanded Policy branches, depth and referenced Domains. */
8
- export declare function measureCompiledPolicy(origin: string, name: string, normalized: ReadonlyMap<string, PolicyExpression>, visiting: Set<string>): CompiledPatternMeasure | undefined;
9
- export {};
@@ -1,81 +0,0 @@
1
- import { policyObjectOrigin, policyVariableClass } from '../../../../language/index.js';
2
- import { BRANCH_OVERFLOW } from '../../../../language/policy/analysis/budgets.js';
3
- import {} from '../../../../language/policy/model/policy.js';
4
- /** Measure expanded Policy branches, depth and referenced Domains. */
5
- export function measureCompiledPolicy(origin, name, normalized, visiting) {
6
- if (visiting.has(name))
7
- return undefined;
8
- const expression = normalized.get(name);
9
- if (expression === undefined)
10
- return undefined;
11
- if ('match' in expression)
12
- return measureCompiledPattern(expression.match, origin);
13
- const nested = new Set(visiting);
14
- nested.add(name);
15
- const refs = 'allOf' in expression ? expression.allOf : expression.anyOf;
16
- const children = refs.map((ref) => ref.origin === origin ? measureCompiledPolicy(origin, ref.name, normalized, nested) : undefined);
17
- if (children.some((value) => value === undefined))
18
- return undefined;
19
- return combineCompiledMeasures('allOf' in expression ? 'allOf' : 'anyOf', children);
20
- }
21
- function measureCompiledPattern(pattern, origin) {
22
- if ('sameNode' in pattern)
23
- return {
24
- depth: 1,
25
- edgeCounts: [1],
26
- domains: new Set([
27
- origin,
28
- ...[pattern.sameNode.left, pattern.sameNode.right].flatMap((term) => term.kind === 'ref' ? [policyObjectOrigin(term.ref)] : []),
29
- ]),
30
- };
31
- if ('source' in pattern)
32
- return {
33
- depth: 1,
34
- edgeCounts: [1],
35
- domains: new Set([
36
- origin,
37
- pattern.class.origin,
38
- ...[pattern.source, pattern.target].flatMap((term) => term.kind === 'ref' ? [policyObjectOrigin(term.ref)] : []),
39
- ]),
40
- };
41
- if ('exists' in pattern) {
42
- const child = measureCompiledPattern(pattern.exists.where, origin);
43
- return {
44
- depth: child.depth + 1,
45
- edgeCounts: child.edgeCounts,
46
- domains: new Set([
47
- ...child.domains,
48
- ...pattern.exists.nodes.flatMap((node) => {
49
- const ref = policyVariableClass(node);
50
- return ref === undefined ? [] : [ref.origin];
51
- }),
52
- ]),
53
- };
54
- }
55
- return combineCompiledMeasures('allOf' in pattern ? 'allOf' : 'anyOf', ('allOf' in pattern ? pattern.allOf : pattern.anyOf).map((child) => measureCompiledPattern(child, origin)));
56
- }
57
- function combineCompiledMeasures(kind, children) {
58
- const depth = 1 + Math.max(0, ...children.map((child) => child.depth));
59
- const domains = new Set(children.flatMap((child) => [...child.domains]));
60
- if (kind === 'anyOf')
61
- return {
62
- depth,
63
- edgeCounts: children.flatMap((child) => child.edgeCounts).slice(0, BRANCH_OVERFLOW),
64
- domains,
65
- };
66
- let edgeCounts = [0];
67
- for (const child of children) {
68
- const next = [];
69
- for (const left of edgeCounts) {
70
- for (const right of child.edgeCounts) {
71
- next.push(left + right);
72
- if (next.length >= BRANCH_OVERFLOW)
73
- break;
74
- }
75
- if (next.length >= BRANCH_OVERFLOW)
76
- break;
77
- }
78
- edgeCounts = next;
79
- }
80
- return { depth, edgeCounts, domains };
81
- }
@@ -1,10 +0,0 @@
1
- import type { CompiledPolicyTyping } from './typing.js';
2
- import { type ClassRef } from '../../../../addressing/index.js';
3
- import { type PatternEdgeUse } from '../../../../language/policy/analysis/branches.js';
4
- /** One possible combination of endpoint constraints and term equalities. */
5
- export interface CompiledEdgeVariant {
6
- readonly constraints: readonly (readonly [string, readonly ClassRef[]])[];
7
- readonly equalities: readonly (readonly [string, string])[];
8
- }
9
- /** Enumerate satisfiable endpoint variants for a branch’s Edge uses. */
10
- export declare function compiledEdgeAlternatives(edges: readonly PatternEdgeUse[], typing: CompiledPolicyTyping): readonly (readonly CompiledEdgeVariant[])[];
@@ -1,65 +0,0 @@
1
- import { Key } from '../../../../addressing/index.js';
2
- import { compareUnicode } from '../../../../addressing/ordering.js';
3
- import {} from '../../../../language/class/model/edge.js';
4
- import { termKey } from '../../../../language/policy/analysis/branches.js';
5
- import { isCompiledEdge } from '../context.js';
6
- /** Enumerate satisfiable endpoint variants for a branch’s Edge uses. */
7
- export function compiledEdgeAlternatives(edges, typing) {
8
- let result = [[]];
9
- for (const edge of edges) {
10
- const variants = compiledVariantsForEdge(edge, typing);
11
- if (variants.length === 0)
12
- return [];
13
- result = result.flatMap((prefix) => variants.map((variant) => [...prefix, variant]));
14
- }
15
- return result;
16
- }
17
- function compiledVariantsForEdge(use, typing) {
18
- const declaration = typing.context.classes.get(Key.of(use.pattern.class))?.value;
19
- if (declaration === undefined || !isCompiledEdge(declaration))
20
- return [];
21
- const endpoints = declaration.orientation === 'directed'
22
- ? [declaration.endpoints.source, declaration.endpoints.target]
23
- : declaration.endpoints;
24
- const repeat = use.pattern.repeat ?? { min: 1, max: 1 };
25
- const sourceKey = termKey(use.pattern.source, use.namespace);
26
- const targetKey = termKey(use.pattern.target, use.namespace);
27
- const variants = [];
28
- for (let length = repeat.min; length <= repeat.max; length++) {
29
- if (length === 0) {
30
- variants.push({ constraints: [], equalities: [[sourceKey, targetKey]] });
31
- continue;
32
- }
33
- const orientationCount = declaration.orientation === 'undirected' ? 2 ** length : 1;
34
- for (let mask = 0; mask < orientationCount; mask++) {
35
- const reversed = Array.from({ length }, (_, index) => declaration.orientation === 'undirected' && (mask & (1 << index)) !== 0);
36
- let valid = true;
37
- for (let index = 0; index + 1 < length; index++) {
38
- const incoming = reversed[index] ? endpoints[0] : endpoints[1];
39
- const outgoing = reversed[index + 1] ? endpoints[1] : endpoints[0];
40
- if (!typing.endpointsOverlap(incoming.accepts, outgoing.accepts))
41
- valid = false;
42
- }
43
- if (!valid)
44
- continue;
45
- const first = reversed[0] ? endpoints[1] : endpoints[0];
46
- const last = reversed[length - 1] ? endpoints[0] : endpoints[1];
47
- variants.push({
48
- constraints: [
49
- [sourceKey, first.accepts],
50
- [targetKey, last.accepts],
51
- ],
52
- equalities: [],
53
- });
54
- }
55
- }
56
- return uniqueCompiledEdgeVariants(variants);
57
- }
58
- function uniqueCompiledEdgeVariants(values) {
59
- const result = new Map();
60
- for (const value of values) {
61
- const key = `${value.constraints.map(([term, accepts]) => `${term}:${accepts.map(Key.of).sort(compareUnicode).join(',')}`).join('|')}=${value.equalities.map(([left, right]) => `${left}:${right}`).join('|')}`;
62
- result.set(key, value);
63
- }
64
- return [...result.values()];
65
- }
@@ -1,8 +0,0 @@
1
- export type * from './model/class.js';
2
- export type * from './model/data.js';
3
- export type * from './model/edge.js';
4
- export type * from './model/property.js';
5
- export { PropertyValues } from './property-values.js';
6
- export type { PropertyValuesOperations } from './property-values.js';
7
- export type * from './facets.js';
8
- export type * from './resolved.js';
@@ -1 +0,0 @@
1
- export { PropertyValues } from './property-values.js';
@@ -1,2 +0,0 @@
1
- export type * from './model/core.js';
2
- export type * from './resolved.js';
@@ -1 +0,0 @@
1
- export {};
@@ -1,11 +0,0 @@
1
- /** Complete V1 inline value language. Named Type Definitions do not exist. */
2
- export type { JsonSchema as ValueSchema, JsonSchemaObject as ValueSchemaObject, PathAnnotation, PropertyObjectSchema, ValueSchemaContext, } from './model/schema.js';
3
- export { JSON_SCHEMA_DIALECT, VALUE_SCHEMA_DIALECT, VALUE_SCHEMA_VOCABULARY, } from './model/schema.js';
4
- export { instant, isInstantValue } from './model/instant.js';
5
- export { classifyOrdering, classifyValueKind, type OrderingKind } from './ordering.js';
6
- export { canonicalizeValueSchema } from './profile/canonicalize.js';
7
- export { validateValueSchema } from './profile/validate.js';
8
- export { validateJsonInstance } from './evaluate/validate.js';
9
- export { prepareValueSchema, type InstanceSchemaCompilation } from './evaluate/preparation.js';
10
- export type { ValueProgram } from './compile/model.js';
11
- export type { ValueSchemaRegistry, ValueSchemaDomainRegistry } from './reference/registry.js';
@@ -1,8 +0,0 @@
1
- /** Complete V1 inline value language. Named Type Definitions do not exist. */
2
- export { JSON_SCHEMA_DIALECT, VALUE_SCHEMA_DIALECT, VALUE_SCHEMA_VOCABULARY, } from './model/schema.js';
3
- export { instant, isInstantValue } from './model/instant.js';
4
- export { classifyOrdering, classifyValueKind } from './ordering.js';
5
- export { canonicalizeValueSchema } from './profile/canonicalize.js';
6
- export { validateValueSchema } from './profile/validate.js';
7
- export { validateJsonInstance } from './evaluate/validate.js';
8
- export { prepareValueSchema } from './evaluate/preparation.js';