@inventarch/language 0.0.0-stage → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/LANGUAGE.md +56 -0
  2. package/LICENSE +202 -0
  3. package/NOTICE +4 -0
  4. package/README.md +33 -2
  5. package/SPEC.md +225 -0
  6. package/dist/ast.d.ts +114 -0
  7. package/dist/ast.d.ts.map +1 -0
  8. package/dist/ast.js +2 -0
  9. package/dist/ast.js.map +1 -0
  10. package/dist/compile/compile.d.ts +82 -0
  11. package/dist/compile/compile.d.ts.map +1 -0
  12. package/dist/compile/compile.js +249 -0
  13. package/dist/compile/compile.js.map +1 -0
  14. package/dist/compile/index.d.ts +6 -0
  15. package/dist/compile/index.d.ts.map +1 -0
  16. package/dist/compile/index.js +4 -0
  17. package/dist/compile/index.js.map +1 -0
  18. package/dist/compile/spellings.d.ts +7 -0
  19. package/dist/compile/spellings.d.ts.map +1 -0
  20. package/dist/compile/spellings.js +47 -0
  21. package/dist/compile/spellings.js.map +1 -0
  22. package/dist/compile/values.d.ts +32 -0
  23. package/dist/compile/values.d.ts.map +1 -0
  24. package/dist/compile/values.js +48 -0
  25. package/dist/compile/values.js.map +1 -0
  26. package/dist/diagnostics.d.ts +22 -0
  27. package/dist/diagnostics.d.ts.map +1 -0
  28. package/dist/diagnostics.js +71 -0
  29. package/dist/diagnostics.js.map +1 -0
  30. package/dist/editor/index.d.ts +49 -0
  31. package/dist/editor/index.d.ts.map +1 -0
  32. package/dist/editor/index.js +155 -0
  33. package/dist/editor/index.js.map +1 -0
  34. package/dist/fold.d.ts +8 -0
  35. package/dist/fold.d.ts.map +1 -0
  36. package/dist/fold.js +26 -0
  37. package/dist/fold.js.map +1 -0
  38. package/dist/formatter.d.ts +10 -0
  39. package/dist/formatter.d.ts.map +1 -0
  40. package/dist/formatter.js +108 -0
  41. package/dist/formatter.js.map +1 -0
  42. package/dist/identity.d.ts +31 -0
  43. package/dist/identity.d.ts.map +1 -0
  44. package/dist/identity.js +64 -0
  45. package/dist/identity.js.map +1 -0
  46. package/dist/index.d.ts +35 -0
  47. package/dist/index.d.ts.map +1 -0
  48. package/dist/index.js +22 -0
  49. package/dist/index.js.map +1 -0
  50. package/dist/kernel.generated.d.ts +99 -0
  51. package/dist/kernel.generated.d.ts.map +1 -0
  52. package/dist/kernel.generated.js +422 -0
  53. package/dist/kernel.generated.js.map +1 -0
  54. package/dist/parser/index.d.ts +5 -0
  55. package/dist/parser/index.d.ts.map +1 -0
  56. package/dist/parser/index.js +3 -0
  57. package/dist/parser/index.js.map +1 -0
  58. package/dist/parser/parser.d.ts +11 -0
  59. package/dist/parser/parser.d.ts.map +1 -0
  60. package/dist/parser/parser.js +297 -0
  61. package/dist/parser/parser.js.map +1 -0
  62. package/dist/parser/values.d.ts +24 -0
  63. package/dist/parser/values.d.ts.map +1 -0
  64. package/dist/parser/values.js +284 -0
  65. package/dist/parser/values.js.map +1 -0
  66. package/dist/paths.d.ts +6 -0
  67. package/dist/paths.d.ts.map +1 -0
  68. package/dist/paths.js +21 -0
  69. package/dist/paths.js.map +1 -0
  70. package/dist/references.d.ts +15 -0
  71. package/dist/references.d.ts.map +1 -0
  72. package/dist/references.js +40 -0
  73. package/dist/references.js.map +1 -0
  74. package/dist/registry/consent.d.ts +11 -0
  75. package/dist/registry/consent.d.ts.map +1 -0
  76. package/dist/registry/consent.js +31 -0
  77. package/dist/registry/consent.js.map +1 -0
  78. package/dist/registry/extract.d.ts +11 -0
  79. package/dist/registry/extract.d.ts.map +1 -0
  80. package/dist/registry/extract.js +275 -0
  81. package/dist/registry/extract.js.map +1 -0
  82. package/dist/registry/fields.d.ts +14 -0
  83. package/dist/registry/fields.d.ts.map +1 -0
  84. package/dist/registry/fields.js +30 -0
  85. package/dist/registry/fields.js.map +1 -0
  86. package/dist/registry/floor.d.ts +17 -0
  87. package/dist/registry/floor.d.ts.map +1 -0
  88. package/dist/registry/floor.js +42 -0
  89. package/dist/registry/floor.js.map +1 -0
  90. package/dist/registry/index.d.ts +19 -0
  91. package/dist/registry/index.d.ts.map +1 -0
  92. package/dist/registry/index.js +80 -0
  93. package/dist/registry/index.js.map +1 -0
  94. package/dist/registry/merge.d.ts +32 -0
  95. package/dist/registry/merge.d.ts.map +1 -0
  96. package/dist/registry/merge.js +84 -0
  97. package/dist/registry/merge.js.map +1 -0
  98. package/dist/registry/order.d.ts +12 -0
  99. package/dist/registry/order.d.ts.map +1 -0
  100. package/dist/registry/order.js +134 -0
  101. package/dist/registry/order.js.map +1 -0
  102. package/dist/registry/records.d.ts +14 -0
  103. package/dist/registry/records.d.ts.map +1 -0
  104. package/dist/registry/records.js +64 -0
  105. package/dist/registry/records.js.map +1 -0
  106. package/dist/registry/schemas.d.ts +20 -0
  107. package/dist/registry/schemas.d.ts.map +1 -0
  108. package/dist/registry/schemas.js +282 -0
  109. package/dist/registry/schemas.js.map +1 -0
  110. package/dist/registry/types.d.ts +130 -0
  111. package/dist/registry/types.d.ts.map +1 -0
  112. package/dist/registry/types.js +2 -0
  113. package/dist/registry/types.js.map +1 -0
  114. package/dist/scanner/index.d.ts +16 -0
  115. package/dist/scanner/index.d.ts.map +1 -0
  116. package/dist/scanner/index.js +78 -0
  117. package/dist/scanner/index.js.map +1 -0
  118. package/dist/scanner/lines.d.ts +46 -0
  119. package/dist/scanner/lines.d.ts.map +1 -0
  120. package/dist/scanner/lines.js +210 -0
  121. package/dist/scanner/lines.js.map +1 -0
  122. package/dist/scanner/tokenize.d.ts +9 -0
  123. package/dist/scanner/tokenize.d.ts.map +1 -0
  124. package/dist/scanner/tokenize.js +125 -0
  125. package/dist/scanner/tokenize.js.map +1 -0
  126. package/dist/scanner/tokens.d.ts +52 -0
  127. package/dist/scanner/tokens.d.ts.map +1 -0
  128. package/dist/scanner/tokens.js +2 -0
  129. package/dist/scanner/tokens.js.map +1 -0
  130. package/dist/semantic/cases.d.ts +12 -0
  131. package/dist/semantic/cases.d.ts.map +1 -0
  132. package/dist/semantic/cases.js +81 -0
  133. package/dist/semantic/cases.js.map +1 -0
  134. package/dist/semantic/cells.d.ts +9 -0
  135. package/dist/semantic/cells.d.ts.map +1 -0
  136. package/dist/semantic/cells.js +120 -0
  137. package/dist/semantic/cells.js.map +1 -0
  138. package/dist/semantic/conditions.d.ts +22 -0
  139. package/dist/semantic/conditions.d.ts.map +1 -0
  140. package/dist/semantic/conditions.js +54 -0
  141. package/dist/semantic/conditions.js.map +1 -0
  142. package/dist/semantic/contracts.d.ts +11 -0
  143. package/dist/semantic/contracts.d.ts.map +1 -0
  144. package/dist/semantic/contracts.js +75 -0
  145. package/dist/semantic/contracts.js.map +1 -0
  146. package/dist/semantic/edges.d.ts +19 -0
  147. package/dist/semantic/edges.d.ts.map +1 -0
  148. package/dist/semantic/edges.js +129 -0
  149. package/dist/semantic/edges.js.map +1 -0
  150. package/dist/semantic/placement.d.ts +6 -0
  151. package/dist/semantic/placement.d.ts.map +1 -0
  152. package/dist/semantic/placement.js +47 -0
  153. package/dist/semantic/placement.js.map +1 -0
  154. package/dist/semantic/requirements.d.ts +14 -0
  155. package/dist/semantic/requirements.d.ts.map +1 -0
  156. package/dist/semantic/requirements.js +32 -0
  157. package/dist/semantic/requirements.js.map +1 -0
  158. package/dist/semantic/resolve.d.ts +23 -0
  159. package/dist/semantic/resolve.d.ts.map +1 -0
  160. package/dist/semantic/resolve.js +62 -0
  161. package/dist/semantic/resolve.js.map +1 -0
  162. package/dist/semantic/selectors.d.ts +10 -0
  163. package/dist/semantic/selectors.d.ts.map +1 -0
  164. package/dist/semantic/selectors.js +33 -0
  165. package/dist/semantic/selectors.js.map +1 -0
  166. package/dist/semantic/types.d.ts +56 -0
  167. package/dist/semantic/types.d.ts.map +1 -0
  168. package/dist/semantic/types.js +11 -0
  169. package/dist/semantic/types.js.map +1 -0
  170. package/dist/semantic/variants.d.ts +10 -0
  171. package/dist/semantic/variants.d.ts.map +1 -0
  172. package/dist/semantic/variants.js +63 -0
  173. package/dist/semantic/variants.js.map +1 -0
  174. package/dist/semantic/vocabulary.d.ts +12 -0
  175. package/dist/semantic/vocabulary.d.ts.map +1 -0
  176. package/dist/semantic/vocabulary.js +33 -0
  177. package/dist/semantic/vocabulary.js.map +1 -0
  178. package/dist/taxonomy.d.ts +51 -0
  179. package/dist/taxonomy.d.ts.map +1 -0
  180. package/dist/taxonomy.js +42 -0
  181. package/dist/taxonomy.js.map +1 -0
  182. package/package.json +221 -3
@@ -0,0 +1,64 @@
1
+ import { diag } from './diagnostics.js';
2
+ import { fieldOf } from './registry/fields.js';
3
+ export function renderIdentity(system, kind, facet, name) {
4
+ return `${system}/${kind}/${facet}/${name}`;
5
+ }
6
+ /** Spec 3.1: the facet is the `facet` head field or the registration's first facet; the name is lowercased; the authored spelling is kept. */
7
+ export function identityOf(record, registration, path) {
8
+ let facet = registration.facets[0]; // A joined registration declares at least one facet (4.2).
9
+ const facetField = fieldOf(record.head, ['facet']);
10
+ if (facetField !== undefined) {
11
+ const value = facetField.value;
12
+ const named = value.kind === 'scalar' || value.kind === 'string' ? value.text : '';
13
+ if (!registration.facets.includes(named)) {
14
+ const line = facetField.span.line;
15
+ return {
16
+ identity: undefined,
17
+ diagnostics: [
18
+ diag('IA-LANG-FACET-UNDECLARED', path, line, `${path}:${line}: facet '${named}' is not declared for '${registration.keyword}'; declared: ${registration.facets.join(', ')}`),
19
+ ],
20
+ };
21
+ }
22
+ facet = named;
23
+ }
24
+ const name = record.name.toLowerCase();
25
+ return {
26
+ identity: {
27
+ identity: renderIdentity(registration.system, registration.kind, facet, name),
28
+ system: registration.system,
29
+ kind: registration.kind,
30
+ facet,
31
+ name,
32
+ displayName: record.name,
33
+ },
34
+ diagnostics: [],
35
+ };
36
+ }
37
+ /** Spec 3.2 and 3.3: one identity twice at one band is a collision on both; across bands the graph's authority rule decides. */
38
+ export function collisions(occurrences) {
39
+ const groups = new Map();
40
+ for (const occurrence of occurrences) {
41
+ const key = `${occurrence.identity}@${occurrence.band}`;
42
+ const group = groups.get(key);
43
+ if (group === undefined)
44
+ groups.set(key, [occurrence]);
45
+ else
46
+ group.push(occurrence);
47
+ }
48
+ const refused = new Set();
49
+ const diagnostics = [];
50
+ for (const group of groups.values()) {
51
+ if (group.length < 2)
52
+ continue;
53
+ for (const occurrence of group) {
54
+ refused.add(occurrence);
55
+ const others = group
56
+ .filter((other) => other !== occurrence)
57
+ .map((other) => `${other.path}:${other.line}`)
58
+ .join(', ');
59
+ diagnostics.push(diag('IA-LANG-IDENTITY-COLLISION', occurrence.path, occurrence.line, `${occurrence.path}:${occurrence.line}: identity ${occurrence.identity} is also declared at ${others} (band ${occurrence.band})`, { identity: occurrence.identity }));
60
+ }
61
+ }
62
+ return { refused, diagnostics };
63
+ }
64
+ //# sourceMappingURL=identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ export { LANGUAGE_VERSION, parse, SUPPORTED_VERSIONS } from './parser/index.js';
2
+ export type { ParseResult } from './parser/index.js';
3
+ export { scan } from './scanner/index.js';
4
+ export type { ScanResult, StreamToken, Token, Trivia } from './scanner/index.js';
5
+ export { diag, isError, LANG_CODES } from './diagnostics.js';
6
+ export type { Diagnostic, LangCode, Severity } from './diagnostics.js';
7
+ export { foldProse } from './fold.js';
8
+ export type { ChildNode, FieldNode, FileNode, ItemNode, ItemValue, ListItem, RecordNode, SectionNode, Span, TriviaNode, Value, } from './ast.js';
9
+ export { AXES, BAND_OF, BANDS, CARDINALITIES, CATEGORIES, INVERSE_OF, KINDS, MOVES, PHASES, PLACEMENT_KINDS, PREDICATE_PAIRS, PREDICATES, PRIMITIVES, PROVENANCES, SEVERITIES, TEXT_FORMS, VALUE_TYPES, fieldTypeOf, isAxis, isBand, isCardinality, isCategory, isKind, isMove, isPhase, isPlacementKind, isId, isPredicate, isPrimitive, isProvenance, isSeverity, isTextForm, isValueType, } from './taxonomy.js';
10
+ export type { Axis, Band, Cardinality, Category, FieldType, Kind, Move, Phase, PlacementKind, Predicate, Primitive, Provenance, TextForm, ValueType, } from './taxonomy.js';
11
+ export type { Severity as KernelSeverity } from './taxonomy.js';
12
+ export { canonicalPath } from './paths.js';
13
+ export { collisions, identityOf, renderIdentity } from './identity.js';
14
+ export type { Identity, IdentityOccurrence } from './identity.js';
15
+ export { admits, buildRegistry, consentFor, fieldTypeText, sortDiagnostics, BUILTIN_SYSTEMS, FLOOR_REGISTRATIONS, FLOOR_SYSTEM, RESERVED_KEYWORDS, TAXONOMY_SYSTEM, } from './registry/index.js';
16
+ export type { ConsentRow, Entry, FrozenRegistry, Location, Placement, Registration, RegistryResult, RequiredSystem, SchemaDeclaration, SchemaEdge, SchemaField, SchemaSection, Source, Steward, SystemDeclaration, } from './registry/index.js';
17
+ export { compile } from './compile/index.js';
18
+ export type { CompileResult, CompiledChild, CompiledEdge, CompiledField, CompiledItem, CompiledRecord, CompiledSection, CompiledValue, SourceMapEntry, } from './compile/index.js';
19
+ export type { Cell, ConditionAxis, EdgeReference, Requirement, RequirementKind, Selector, SelectorTerm, Term, Variant, } from './semantic/types.js';
20
+ export { ARTIFACT_SETS, LANES, SHAPES } from './taxonomy.js';
21
+ export type { ArtifactSet, Lane, Shape } from './taxonomy.js';
22
+ export { indexedResolver, resolveTarget, validatePool } from './semantic/resolve.js';
23
+ export type { Resolution, ResolutionCandidate } from './semantic/resolve.js';
24
+ export { requirementCollisions, isRequirementId } from './semantic/requirements.js';
25
+ export type { RequirementOccurrence } from './semantic/requirements.js';
26
+ export { REQUIREMENT_KINDS } from './semantic/types.js';
27
+ export { canonicalValue, valuesFor, verbOf, CONDITION_AXES, VERB_PHRASES } from './semantic/vocabulary.js';
28
+ export type { Verb } from './semantic/vocabulary.js';
29
+ export { KERNEL_DIGEST, SHAPE_ROWS, KIND_LANES, PRIMITIVE_ANCHORS, DIMENSION_PATHS } from './taxonomy.js';
30
+ export { format, checkFormatPreservation } from './formatter.js';
31
+ export type { FormatResult } from './formatter.js';
32
+ export { KERNEL_SOURCES } from './kernel.generated.js';
33
+ export { references } from './references.js';
34
+ export type { TypedReference } from './references.js';
35
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAChF,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC7D,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,YAAY,EACV,SAAS,EACT,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,UAAU,EACV,WAAW,EACX,IAAI,EACJ,UAAU,EACV,KAAK,GACN,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,IAAI,EACJ,OAAO,EACP,KAAK,EACL,aAAa,EACb,UAAU,EACV,UAAU,EACV,KAAK,EACL,KAAK,EACL,MAAM,EACN,eAAe,EACf,eAAe,EACf,UAAU,EACV,UAAU,EACV,WAAW,EACX,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,MAAM,EACN,MAAM,EACN,aAAa,EACb,UAAU,EACV,MAAM,EACN,MAAM,EACN,OAAO,EACP,eAAe,EACf,IAAI,EACJ,WAAW,EACX,WAAW,EACX,YAAY,EACZ,UAAU,EACV,UAAU,EACV,WAAW,GACZ,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,IAAI,EACJ,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,aAAa,EACb,SAAS,EACT,SAAS,EACT,UAAU,EACV,QAAQ,EACR,SAAS,GACV,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACvE,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EACL,MAAM,EACN,aAAa,EACb,UAAU,EACV,aAAa,EACb,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,UAAU,EACV,KAAK,EACL,cAAc,EACd,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,UAAU,EACV,WAAW,EACX,aAAa,EACb,MAAM,EACN,OAAO,EACP,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,YAAY,EACV,aAAa,EACb,aAAa,EACb,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,cAAc,EACd,eAAe,EACf,aAAa,EACb,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,IAAI,EACJ,aAAa,EACb,aAAa,EACb,WAAW,EACX,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,IAAI,EACJ,OAAO,GACR,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC7D,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrF,YAAY,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACpF,YAAY,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC3G,YAAY,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC1G,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACjE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,22 @@
1
+ // The public surface is `parse`, `scan`, `buildRegistry` and `compile` with their types, the kernel
2
+ // embed, identity and paths. The pipeline stages behind them (logical lines, line tokenizer, key rule,
3
+ // field readers, spellings) are internal: spec 9.1 gives consumers the stream, spec 10 the records.
4
+ export { LANGUAGE_VERSION, parse, SUPPORTED_VERSIONS } from './parser/index.js';
5
+ export { scan } from './scanner/index.js';
6
+ export { diag, isError, LANG_CODES } from './diagnostics.js';
7
+ export { foldProse } from './fold.js';
8
+ export { AXES, BAND_OF, BANDS, CARDINALITIES, CATEGORIES, INVERSE_OF, KINDS, MOVES, PHASES, PLACEMENT_KINDS, PREDICATE_PAIRS, PREDICATES, PRIMITIVES, PROVENANCES, SEVERITIES, TEXT_FORMS, VALUE_TYPES, fieldTypeOf, isAxis, isBand, isCardinality, isCategory, isKind, isMove, isPhase, isPlacementKind, isId, isPredicate, isPrimitive, isProvenance, isSeverity, isTextForm, isValueType, } from './taxonomy.js';
9
+ export { canonicalPath } from './paths.js';
10
+ export { collisions, identityOf, renderIdentity } from './identity.js';
11
+ export { admits, buildRegistry, consentFor, fieldTypeText, sortDiagnostics, BUILTIN_SYSTEMS, FLOOR_REGISTRATIONS, FLOOR_SYSTEM, RESERVED_KEYWORDS, TAXONOMY_SYSTEM, } from './registry/index.js';
12
+ export { compile } from './compile/index.js';
13
+ export { ARTIFACT_SETS, LANES, SHAPES } from './taxonomy.js';
14
+ export { indexedResolver, resolveTarget, validatePool } from './semantic/resolve.js';
15
+ export { requirementCollisions, isRequirementId } from './semantic/requirements.js';
16
+ export { REQUIREMENT_KINDS } from './semantic/types.js';
17
+ export { canonicalValue, valuesFor, verbOf, CONDITION_AXES, VERB_PHRASES } from './semantic/vocabulary.js';
18
+ export { KERNEL_DIGEST, SHAPE_ROWS, KIND_LANES, PRIMITIVE_ANCHORS, DIMENSION_PATHS } from './taxonomy.js';
19
+ export { format, checkFormatPreservation } from './formatter.js';
20
+ export { KERNEL_SOURCES } from './kernel.generated.js';
21
+ export { references } from './references.js';
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,oGAAoG;AACpG,uGAAuG;AACvG,oGAAoG;AACpG,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEhF,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE1C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AActC,OAAO,EACL,IAAI,EACJ,OAAO,EACP,KAAK,EACL,aAAa,EACb,UAAU,EACV,UAAU,EACV,KAAK,EACL,KAAK,EACL,MAAM,EACN,eAAe,EACf,eAAe,EACf,UAAU,EACV,UAAU,EACV,WAAW,EACX,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,MAAM,EACN,MAAM,EACN,aAAa,EACb,UAAU,EACV,MAAM,EACN,MAAM,EACN,OAAO,EACP,eAAe,EACf,IAAI,EACJ,WAAW,EACX,WAAW,EACX,YAAY,EACZ,UAAU,EACV,UAAU,EACV,WAAW,GACZ,MAAM,eAAe,CAAC;AAkBvB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEvE,OAAO,EACL,MAAM,EACN,aAAa,EACb,UAAU,EACV,aAAa,EACb,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAkB7B,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAuB7C,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE7D,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErF,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAEpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG3G,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC1G,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,99 @@
1
+ export declare const KINDS: readonly ["governance", "contract", "definition", "template", "check", "policy", "binding"];
2
+ export declare const CATEGORIES: readonly ["thing", "kind", "property", "state", "event", "relation", "rule", "capability", "intent", "decision", "evidence", "representation", "process", "measure", "boundary"];
3
+ export declare const LANES: readonly ["authority", "contracts", "definitions", "templates", "enforcement", "bindings"];
4
+ export declare const PHASES: readonly ["orient", "plan", "act", "learn"];
5
+ export declare const PRIMITIVES: readonly ["Memory", "Attention", "Inference", "Decision", "Escalation", "Learning"];
6
+ export declare const MOVES: readonly ["Observation", "Execution", "Delegation", "Synthesis", "Verification"];
7
+ export declare const AXES: readonly ["shape", "category", "phase", "primitive", "move", "kind", "lane", "predicate", "artifact-set"];
8
+ export declare const SHAPES: readonly ["context", "governance", "execution", "sequence", "learning"];
9
+ export declare const ARTIFACT_SETS: readonly ["inquiry", "decision", "contract", "product-definition", "execution", "operational", "evidence", "projection", "principle"];
10
+ export declare const PLACEMENT_KINDS: readonly ["authored", "adopted", "open", "floor", "runtime"];
11
+ export declare const VALUE_TYPES: readonly ["text", "id", "qname", "number", "ref", "flag"];
12
+ export declare const CARDINALITIES: readonly ["one", "one-or-more", "optional"];
13
+ export declare const PREDICATE_PAIRS: readonly [readonly ["govern", "governed-by"], readonly ["enforce", "enforced-by"], readonly ["ground", "grounded-by"], readonly ["constrain", "constrained-by"], readonly ["implement", "implemented-by"], readonly ["produce", "produced-by"], readonly ["consume", "consumed-by"], readonly ["record-lineage-from", "lineage-recorded-by"], readonly ["grant-access-to", "access-granted-by"], readonly ["run-before", "run-after"], readonly ["trigger", "triggered-by"], readonly ["cite", "cited-by"], readonly ["supersede", "superseded-by"], readonly ["require", "required-by"], readonly ["use", "used-by"], readonly ["forbid", "forbidden-by"], readonly ["route", "routed-by"], readonly ["land", "landed-by"]];
14
+ export declare const PRESENT_PHRASES: readonly ["governs", "enforces", "grounds", "constrains", "implements", "produces", "consumes", "records lineage from", "grants access to", "runs before", "triggers", "cites", "supersedes", "requires", "uses", "forbids", "routes to", "lands at"];
15
+ export declare const DIMENSION_PATHS: {
16
+ readonly severity: "governance.severity";
17
+ readonly provenance: "provenance";
18
+ readonly "artifact-set": "classification";
19
+ };
20
+ export declare const SEVERITIES: readonly ["blocking", "advisory", "informational"];
21
+ export declare const PROVENANCES: readonly ["workspace", "methodology", "bootstrap", "runtime"];
22
+ export declare const BANDS: readonly [100, 90, 50, 10, 0];
23
+ export declare const BAND_OF: {
24
+ readonly authored: 100;
25
+ readonly adopted: 90;
26
+ readonly open: 50;
27
+ readonly floor: 10;
28
+ readonly runtime: 0;
29
+ };
30
+ export declare const KIND_LANES: {
31
+ readonly governance: "authority";
32
+ readonly contract: "contracts";
33
+ readonly definition: "definitions";
34
+ readonly template: "templates";
35
+ readonly check: "enforcement";
36
+ readonly policy: "enforcement";
37
+ readonly binding: "bindings";
38
+ };
39
+ export declare const PRIMITIVE_ANCHORS: {
40
+ readonly Memory: "orient";
41
+ readonly Attention: "orient";
42
+ readonly Inference: "plan";
43
+ readonly Decision: "act";
44
+ readonly Escalation: "act";
45
+ readonly Learning: "learn";
46
+ };
47
+ export declare const SHAPE_ROWS: {
48
+ readonly context: {
49
+ readonly category: "relation";
50
+ readonly primitive: "Attention";
51
+ readonly tiePrecedence: 4;
52
+ readonly kinds: readonly ["definition", "contract"];
53
+ readonly lanes: readonly ["definitions", "contracts"];
54
+ readonly predicates: readonly ["cite", "ground", "require"];
55
+ readonly priming: readonly [];
56
+ };
57
+ readonly governance: {
58
+ readonly category: "rule";
59
+ readonly primitive: "Inference";
60
+ readonly tiePrecedence: 0;
61
+ readonly kinds: readonly ["governance", "policy", "check"];
62
+ readonly lanes: readonly ["authority", "enforcement"];
63
+ readonly predicates: readonly ["govern", "constrain", "forbid", "enforce"];
64
+ readonly priming: readonly ["govern", "constrain", "forbid", "enforce", "implement"];
65
+ };
66
+ readonly execution: {
67
+ readonly category: "capability";
68
+ readonly primitive: "Decision";
69
+ readonly tiePrecedence: 3;
70
+ readonly kinds: readonly ["binding", "template"];
71
+ readonly lanes: readonly ["bindings", "templates"];
72
+ readonly predicates: readonly ["implement", "trigger", "route", "consume"];
73
+ readonly priming: readonly [];
74
+ };
75
+ readonly sequence: {
76
+ readonly category: "process";
77
+ readonly primitive: "Inference";
78
+ readonly tiePrecedence: 1;
79
+ readonly kinds: readonly ["contract", "binding"];
80
+ readonly lanes: readonly ["contracts", "bindings"];
81
+ readonly predicates: readonly ["run-before", "require", "supersede"];
82
+ readonly priming: readonly [];
83
+ };
84
+ readonly learning: {
85
+ readonly category: "evidence";
86
+ readonly primitive: "Learning";
87
+ readonly tiePrecedence: 2;
88
+ readonly kinds: readonly ["definition"];
89
+ readonly lanes: readonly ["definitions"];
90
+ readonly predicates: readonly ["record-lineage-from", "produce", "cite"];
91
+ readonly priming: readonly [];
92
+ };
93
+ };
94
+ export declare const KERNEL_DIGEST: "c89066c387ca615148c78a5013b7cd34123be6aebcf6d8af8582e48e85ffacb6";
95
+ export declare const KERNEL_SOURCES: readonly Readonly<{
96
+ path: string;
97
+ text: string;
98
+ }>[];
99
+ //# sourceMappingURL=kernel.generated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kernel.generated.d.ts","sourceRoot":"","sources":["../src/kernel.generated.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK,6FAQR,CAAC;AAEX,eAAO,MAAM,UAAU,kLAgBb,CAAC;AAEX,eAAO,MAAM,KAAK,4FAOR,CAAC;AAEX,eAAO,MAAM,MAAM,6CAKT,CAAC;AAEX,eAAO,MAAM,UAAU,qFAOb,CAAC;AAEX,eAAO,MAAM,KAAK,kFAMR,CAAC;AAEX,eAAO,MAAM,IAAI,2GAUP,CAAC;AAEX,eAAO,MAAM,MAAM,yEAMT,CAAC;AAEX,eAAO,MAAM,aAAa,uIAUhB,CAAC;AAEX,eAAO,MAAM,eAAe,8DAMlB,CAAC;AAEX,eAAO,MAAM,WAAW,2DAOd,CAAC;AAEX,eAAO,MAAM,aAAa,6CAIhB,CAAC;AAEX,eAAO,MAAM,eAAe,8rBAyElB,CAAC;AAEX,eAAO,MAAM,eAAe,uPAmBlB,CAAC;AAEX,eAAO,MAAM,eAAe;;;;CAIlB,CAAC;AAEX,eAAO,MAAM,UAAU,oDAIb,CAAC;AAEX,eAAO,MAAM,WAAW,+DAKd,CAAC;AAEX,eAAO,MAAM,KAAK,+BAMR,CAAC;AAEX,eAAO,MAAM,OAAO;;;;;;CAMV,CAAC;AAEX,eAAO,MAAM,UAAU;;;;;;;;CAQb,CAAC;AAEX,eAAO,MAAM,iBAAiB;;;;;;;CAOpB,CAAC;AAEX,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuGb,CAAC;AAEX,eAAO,MAAM,aAAa,EAAG,kEAA2E,CAAC;AAEzG,eAAO,MAAM,cAAc,EAAE,SAAS,QAAQ,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAqErC,CAAC"}