glossarist 0.4.51 → 0.4.53

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 (37) hide show
  1. package/dist/index.d.ts +10 -2
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +9 -2
  4. package/dist/index.js.map +1 -1
  5. package/dist/models/index.d.ts +2 -1
  6. package/dist/models/index.d.ts.map +1 -1
  7. package/dist/models/index.js +1 -1
  8. package/dist/models/index.js.map +1 -1
  9. package/dist/models/non-verbal-entity.d.ts +17 -6
  10. package/dist/models/non-verbal-entity.d.ts.map +1 -1
  11. package/dist/models/non-verbal-entity.js +10 -3
  12. package/dist/models/non-verbal-entity.js.map +1 -1
  13. package/dist/models/shared-non-verbal-entity.d.ts +11 -4
  14. package/dist/models/shared-non-verbal-entity.d.ts.map +1 -1
  15. package/dist/models/shared-non-verbal-entity.js +9 -2
  16. package/dist/models/shared-non-verbal-entity.js.map +1 -1
  17. package/dist/reference-mention.d.ts +49 -20
  18. package/dist/reference-mention.d.ts.map +1 -1
  19. package/dist/reference-mention.js +124 -25
  20. package/dist/reference-mention.js.map +1 -1
  21. package/dist/reference-resolver.d.ts +39 -0
  22. package/dist/reference-resolver.d.ts.map +1 -1
  23. package/dist/reference-resolver.js +45 -0
  24. package/dist/reference-resolver.js.map +1 -1
  25. package/dist/utils/external-detection.d.ts +38 -0
  26. package/dist/utils/external-detection.d.ts.map +1 -0
  27. package/dist/utils/external-detection.js +55 -0
  28. package/dist/utils/external-detection.js.map +1 -0
  29. package/dist/validators/extensional-completeness.d.ts +18 -0
  30. package/dist/validators/extensional-completeness.d.ts.map +1 -0
  31. package/dist/validators/extensional-completeness.js +41 -0
  32. package/dist/validators/extensional-completeness.js.map +1 -0
  33. package/dist/validators/raw-html-validator.d.ts +14 -0
  34. package/dist/validators/raw-html-validator.d.ts.map +1 -0
  35. package/dist/validators/raw-html-validator.js +73 -0
  36. package/dist/validators/raw-html-validator.js.map +1 -0
  37. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -9,13 +9,21 @@ export { ManagedConceptCollection } from './managed-concept-collection.js';
9
9
  export { validateConcept, validateRegister, validateGcrPackage, createConceptValidator, ValidationError, ValidationRule, ValidationResult, RegisterValidator, GcrValidator } from './validators/index.js';
10
10
  export { conceptUuid, localizedConceptUuid, uuidV5 } from './uuid.js';
11
11
  export { ReferenceResolver, Reference, referenceResolver, resolveBibliographyRecord, findNonVerbalEntity } from './reference-resolver.js';
12
- export { parseMention } from './reference-mention.js';
12
+ export type { CitationClassification, CitationInput, CiteResolution } from './reference-resolver.js';
13
+ export { parseMention, extractMentionsFromText } from './reference-mention.js';
14
+ export type { MentionKind, MentionParseResult, ParseOptions, ExtractedMention } from './reference-mention.js';
13
15
  export { ReferenceClassifier } from './render-classification.js';
14
16
  export { V1Reader, migrateV1ToV2 } from './v1-reader.js';
15
17
  export { GlossaristError, InvalidInputError, YamlParseError } from './errors.js';
18
+ export { isExternalConcept, isExternalMember, isExternalComprehensive, getExternalMembers, hasProvidedBy, hasDanglingExternal, } from './utils/external-detection.js';
19
+ export type { ConceptStore, ExternalConceptLike } from './utils/external-detection.js';
20
+ export { checkExtensionalCompleteness, OPEN_ENDED_PATTERNS, } from './validators/extensional-completeness.js';
21
+ export type { ExtensionalDefinitionLike, ExtensionalCompletenessIssue } from './validators/extensional-completeness.js';
22
+ export { validateNoRawHtml } from './validators/raw-html-validator.js';
23
+ export type { HtmlValidationIssue } from './validators/raw-html-validator.js';
16
24
  export { COMPILED_EXTENSIONS, COMPILED_FORMATS, isKnownFormat, compiledFilename, compiledPath, parseCompiledPath, } from './compiled-format.js';
17
25
  export { DATASET_ASSETS, FILE_ASSETS, DIRECTORY_ASSETS, } from './dataset-asset.js';
18
- export { GlossaristModel, RegistrableModel, Register, Section, REGISTER_STATUSES, ORDERING_METHODS, Concept, LocalizedConcept, Designation, Expression, Abbreviation, Symbol, GraphicalSymbol, Citation, ConceptRef, ConceptSource, RelatedConcept, DesignationRelationship, ConceptReference, ConceptDate, DetailedDefinition, NonVerbRep, NON_VERBAL_TYPES, NonVerbalEntity, SharedNonVerbalEntity, Figure, FigureImage, Table, Formula, NonVerbalReference, FigureReference, TableReference, FormulaReference, BibliographyEntry, BibliographyData, fetchLocalizedString, localizedStringIsEmpty, localizedStringIsPresent, GcrMetadata, GcrStatistics, RELATIONSHIP_TYPES, DESIGNATION_RELATIONSHIP_TYPES, DATE_TYPES, PartitiveHyperedge, PARTITIVE_ENUMERATION, PARTITIVE_ENUMERATION_VALUES, PLURALITY_MARKER, PLURALITY_MARKER_VALUES, } from './models/index.js';
26
+ export { GlossaristModel, RegistrableModel, Register, Section, REGISTER_STATUSES, ORDERING_METHODS, Concept, LocalizedConcept, Designation, Expression, Abbreviation, Symbol, GraphicalSymbol, Citation, ConceptRef, ConceptSource, RelatedConcept, DesignationRelationship, ConceptReference, ConceptDate, DetailedDefinition, NonVerbRep, NON_VERBAL_TYPES, NonConceptEntity, NonVerbalEntity, SharedNonVerbalEntity, Figure, FigureImage, Table, Formula, NonVerbalReference, FigureReference, TableReference, FormulaReference, BibliographyEntry, BibliographyData, fetchLocalizedString, localizedStringIsEmpty, localizedStringIsPresent, GcrMetadata, GcrStatistics, RELATIONSHIP_TYPES, DESIGNATION_RELATIONSHIP_TYPES, DATE_TYPES, PartitiveHyperedge, PARTITIVE_ENUMERATION, PARTITIVE_ENUMERATION_VALUES, PLURALITY_MARKER, PLURALITY_MARKER_VALUES, } from './models/index.js';
19
27
  export { AssetIndex } from './validators/asset-index.js';
20
28
  export { ENTITY_DIRECTORIES, ENTITY_TYPES, entityDir, entityPath, isKnownEntityType, parseEntityPath, } from './entity-directory.js';
21
29
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,KAAK,EACL,OAAO,EACP,OAAO,GACR,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1M,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC1I,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEjF,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,cAAc,EACd,WAAW,EACX,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,QAAQ,EAAE,OAAO,EACjB,iBAAiB,EAAE,gBAAgB,EACnC,OAAO,EAAE,gBAAgB,EACzB,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe,EAC9D,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,WAAW,EAC3G,kBAAkB,EAAE,UAAU,EAAE,gBAAgB,EAChD,eAAe,EAAE,qBAAqB,EACtC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EACnC,kBAAkB,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EACrE,iBAAiB,EAAE,gBAAgB,EACnC,oBAAoB,EAAE,sBAAsB,EAAE,wBAAwB,EACtE,WAAW,EAAE,aAAa,EAC1B,kBAAkB,EAAE,8BAA8B,EAAE,UAAU,EAC9D,kBAAkB,EAClB,qBAAqB,EAAE,4BAA4B,EACnD,gBAAgB,EAAE,uBAAuB,GAC1C,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,eAAe,GAChB,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -9,13 +9,20 @@ export { ManagedConceptCollection } from './managed-concept-collection.js';
9
9
  export { validateConcept, validateRegister, validateGcrPackage, createConceptValidator, ValidationError, ValidationRule, ValidationResult, RegisterValidator, GcrValidator } from './validators/index.js';
10
10
  export { conceptUuid, localizedConceptUuid, uuidV5 } from './uuid.js';
11
11
  export { ReferenceResolver, Reference, referenceResolver, resolveBibliographyRecord, findNonVerbalEntity } from './reference-resolver.js';
12
- export { parseMention } from './reference-mention.js';
12
+ export { parseMention, extractMentionsFromText } from './reference-mention.js';
13
13
  export { ReferenceClassifier } from './render-classification.js';
14
14
  export { V1Reader, migrateV1ToV2 } from './v1-reader.js';
15
15
  export { GlossaristError, InvalidInputError, YamlParseError } from './errors.js';
16
+ // External concept detection + extensional completeness check.
17
+ // Utilities for concept-browser and other consumers that need to render
18
+ // ISO 704:2022 external-concept and ellipsis notation.
19
+ // Per TODO 14 (external-concepts-ellipsis-rendering).
20
+ export { isExternalConcept, isExternalMember, isExternalComprehensive, getExternalMembers, hasProvidedBy, hasDanglingExternal, } from './utils/external-detection.js';
21
+ export { checkExtensionalCompleteness, OPEN_ENDED_PATTERNS, } from './validators/extensional-completeness.js';
22
+ export { validateNoRawHtml } from './validators/raw-html-validator.js';
16
23
  export { COMPILED_EXTENSIONS, COMPILED_FORMATS, isKnownFormat, compiledFilename, compiledPath, parseCompiledPath, } from './compiled-format.js';
17
24
  export { DATASET_ASSETS, FILE_ASSETS, DIRECTORY_ASSETS, } from './dataset-asset.js';
18
- export { GlossaristModel, RegistrableModel, Register, Section, REGISTER_STATUSES, ORDERING_METHODS, Concept, LocalizedConcept, Designation, Expression, Abbreviation, Symbol, GraphicalSymbol, Citation, ConceptRef, ConceptSource, RelatedConcept, DesignationRelationship, ConceptReference, ConceptDate, DetailedDefinition, NonVerbRep, NON_VERBAL_TYPES, NonVerbalEntity, SharedNonVerbalEntity, Figure, FigureImage, Table, Formula, NonVerbalReference, FigureReference, TableReference, FormulaReference, BibliographyEntry, BibliographyData, fetchLocalizedString, localizedStringIsEmpty, localizedStringIsPresent, GcrMetadata, GcrStatistics, RELATIONSHIP_TYPES, DESIGNATION_RELATIONSHIP_TYPES, DATE_TYPES, PartitiveHyperedge, PARTITIVE_ENUMERATION, PARTITIVE_ENUMERATION_VALUES, PLURALITY_MARKER, PLURALITY_MARKER_VALUES, } from './models/index.js';
25
+ export { GlossaristModel, RegistrableModel, Register, Section, REGISTER_STATUSES, ORDERING_METHODS, Concept, LocalizedConcept, Designation, Expression, Abbreviation, Symbol, GraphicalSymbol, Citation, ConceptRef, ConceptSource, RelatedConcept, DesignationRelationship, ConceptReference, ConceptDate, DetailedDefinition, NonVerbRep, NON_VERBAL_TYPES, NonConceptEntity, NonVerbalEntity, SharedNonVerbalEntity, Figure, FigureImage, Table, Formula, NonVerbalReference, FigureReference, TableReference, FormulaReference, BibliographyEntry, BibliographyData, fetchLocalizedString, localizedStringIsEmpty, localizedStringIsPresent, GcrMetadata, GcrStatistics, RELATIONSHIP_TYPES, DESIGNATION_RELATIONSHIP_TYPES, DATE_TYPES, PartitiveHyperedge, PARTITIVE_ENUMERATION, PARTITIVE_ENUMERATION_VALUES, PLURALITY_MARKER, PLURALITY_MARKER_VALUES, } from './models/index.js';
19
26
  export { AssetIndex } from './validators/asset-index.js';
20
27
  export { ENTITY_DIRECTORIES, ENTITY_TYPES, entityDir, entityPath, isKnownEntityType, parseEntityPath, } from './entity-directory.js';
21
28
  // RDF serialization layer (WS C). Mirrors lib/glossarist/rdf/.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,KAAK,EACL,OAAO,EACP,OAAO,GACR,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1M,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE1I,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEjF,+DAA+D;AAC/D,wEAAwE;AACxE,uDAAuD;AACvD,sDAAsD;AACtD,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,aAAa,EACb,mBAAmB,GACpB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,4BAA4B,EAC5B,mBAAmB,GACpB,MAAM,0CAA0C,CAAC;AAElD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAGvE,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,cAAc,EACd,WAAW,EACX,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,QAAQ,EAAE,OAAO,EACjB,iBAAiB,EAAE,gBAAgB,EACnC,OAAO,EAAE,gBAAgB,EACzB,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe,EAC9D,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,WAAW,EAC3G,kBAAkB,EAAE,UAAU,EAAE,gBAAgB,EAChD,gBAAgB,EAAE,eAAe,EACjC,qBAAqB,EACrB,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EACnC,kBAAkB,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EACrE,iBAAiB,EAAE,gBAAgB,EACnC,oBAAoB,EAAE,sBAAsB,EAAE,wBAAwB,EACtE,WAAW,EAAE,aAAa,EAC1B,kBAAkB,EAAE,8BAA8B,EAAE,UAAU,EAC9D,kBAAkB,EAClB,qBAAqB,EAAE,4BAA4B,EACnD,gBAAgB,EAAE,uBAAuB,GAC1C,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAE/B,+DAA+D;AAC/D,EAAE;AACF,sEAAsE;AACtE,yEAAyE;AACzE,sEAAsE;AACtE,0CAA0C;AAC1C,EAAE;AACF,kEAAkE;AAClE,qEAAqE;AACrE,EAAE;AACF,wDAAwD"}
@@ -39,7 +39,8 @@ export { Locality } from './locality.js';
39
39
  export { GcrMetadata } from './gcr-metadata.js';
40
40
  export { GcrStatistics } from './gcr-statistics.js';
41
41
  export { RegistrableModel } from './registrable.js';
42
- export { NonVerbalEntity } from './non-verbal-entity.js';
42
+ export { NonConceptEntity, NonVerbalEntity } from './non-verbal-entity.js';
43
+ export type { NonConceptEntityJson, NonVerbalEntityJson } from './non-verbal-entity.js';
43
44
  export { SharedNonVerbalEntity } from './shared-non-verbal-entity.js';
44
45
  export { Figure, FigureImage } from './figure.js';
45
46
  export { Table } from './table.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"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"}
@@ -50,7 +50,7 @@ export { Locality } from './locality.js';
50
50
  export { GcrMetadata } from './gcr-metadata.js';
51
51
  export { GcrStatistics } from './gcr-statistics.js';
52
52
  export { RegistrableModel } from './registrable.js';
53
- export { NonVerbalEntity } from './non-verbal-entity.js';
53
+ export { NonConceptEntity, NonVerbalEntity } from './non-verbal-entity.js';
54
54
  export { SharedNonVerbalEntity } from './shared-non-verbal-entity.js';
55
55
  export { Figure, FigureImage } from './figure.js';
56
56
  export { Table } from './table.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,22 @@
1
1
  import { RegistrableModel } from './registrable.js';
2
2
  import { ConceptSource } from './concept-source.js';
3
3
  import type { ConceptSourceJson } from './concept-source.js';
4
- export interface NonVerbalEntityJson {
4
+ export interface NonConceptEntityJson {
5
5
  caption?: string | null;
6
6
  description?: string | null;
7
7
  alt?: string | null;
8
8
  sources?: ReadonlyArray<ConceptSourceJson | ConceptSource>;
9
9
  type?: string | null;
10
10
  }
11
- export declare class NonVerbalEntity extends RegistrableModel {
11
+ /** @deprecated Use NonConceptEntityJson. Kept for backward compat. */
12
+ export type NonVerbalEntityJson = NonConceptEntityJson;
13
+ export declare class NonConceptEntity extends RegistrableModel {
12
14
  readonly caption: string | null;
13
15
  readonly description: string | null;
14
16
  readonly alt: string | null;
15
17
  protected readonly _rawSources: ReadonlyArray<ConceptSourceJson | ConceptSource>;
16
18
  protected _sources: ReadonlyArray<ConceptSource> | null;
17
- constructor(data?: NonVerbalEntityJson);
19
+ constructor(data?: NonConceptEntityJson);
18
20
  get sources(): ReadonlyArray<ConceptSource>;
19
21
  /**
20
22
  * Ontology class local-name. Subtypes override to return their specific
@@ -22,9 +24,18 @@ export declare class NonVerbalEntity extends RegistrableModel {
22
24
  * registers without editing the emitter (OCP).
23
25
  */
24
26
  rdfClass(): string;
25
- findById(_targetId: string): NonVerbalEntity | null;
27
+ findById(_targetId: string): NonConceptEntity | null;
26
28
  allIds(): string[];
27
- toJSON(): NonVerbalEntityJson;
28
- static fromJSON(data: NonVerbalEntityJson): NonVerbalEntity;
29
+ toJSON(): NonConceptEntityJson;
30
+ static fromJSON(data: NonConceptEntityJson): NonConceptEntity;
29
31
  }
32
+ /**
33
+ * @deprecated Use NonConceptEntity instead. The old name conflated
34
+ * non-verbal designations (NonVerbRep — a concept designation like
35
+ * symbol `kg`) with non-concept entities (Figure/Table/Formula —
36
+ * standalone entities that are NOT concepts).
37
+ */
38
+ export declare const NonVerbalEntity: typeof NonConceptEntity;
39
+ /** @deprecated Use NonConceptEntity. Type alias for backward compat. */
40
+ export type NonVerbalEntity = NonConceptEntity;
30
41
  //# sourceMappingURL=non-verbal-entity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"non-verbal-entity.d.ts","sourceRoot":"","sources":["../../src/models/non-verbal-entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,aAAa,CAAC,iBAAiB,GAAG,aAAa,CAAC,CAAC;IAC3D,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,qBAAa,eAAgB,SAAQ,gBAAgB;IACnD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,iBAAiB,GAAG,aAAa,CAAC,CAAC;IACjF,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC,aAAa,CAAC,GAAG,IAAI,CAAQ;gBAEnD,IAAI,GAAE,mBAAwB;IAQ1C,IAAI,OAAO,IAAI,aAAa,CAAC,aAAa,CAAC,CAM1C;IAED;;;;OAIG;IACH,QAAQ,IAAI,MAAM;IAIlB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAInD,MAAM,IAAI,MAAM,EAAE;IAIT,MAAM,IAAI,mBAAmB;WAStB,QAAQ,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe;CAGrE"}
1
+ {"version":3,"file":"non-verbal-entity.d.ts","sourceRoot":"","sources":["../../src/models/non-verbal-entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAW7D,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,aAAa,CAAC,iBAAiB,GAAG,aAAa,CAAC,CAAC;IAC3D,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,sEAAsE;AACtE,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AAEvD,qBAAa,gBAAiB,SAAQ,gBAAgB;IACpD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,iBAAiB,GAAG,aAAa,CAAC,CAAC;IACjF,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC,aAAa,CAAC,GAAG,IAAI,CAAQ;gBAEnD,IAAI,GAAE,oBAAyB;IAQ3C,IAAI,OAAO,IAAI,aAAa,CAAC,aAAa,CAAC,CAM1C;IAED;;;;OAIG;IACH,QAAQ,IAAI,MAAM;IAIlB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IAIpD,MAAM,IAAI,MAAM,EAAE;IAIT,MAAM,IAAI,oBAAoB;WASvB,QAAQ,CAAC,IAAI,EAAE,oBAAoB,GAAG,gBAAgB;CAGvE;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,yBAAmB,CAAC;AAEhD,wEAAwE;AACxE,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { RegistrableModel } from './registrable.js';
2
2
  import { ConceptSource } from './concept-source.js';
3
- export class NonVerbalEntity extends RegistrableModel {
3
+ export class NonConceptEntity extends RegistrableModel {
4
4
  caption;
5
5
  description;
6
6
  alt;
@@ -22,7 +22,7 @@ export class NonVerbalEntity extends RegistrableModel {
22
22
  * registers without editing the emitter (OCP).
23
23
  */
24
24
  rdfClass() {
25
- return 'NonVerbalEntity';
25
+ return 'NonConceptEntity';
26
26
  }
27
27
  findById(_targetId) {
28
28
  return null;
@@ -42,7 +42,14 @@ export class NonVerbalEntity extends RegistrableModel {
42
42
  return obj;
43
43
  }
44
44
  static fromJSON(data) {
45
- return NonVerbalEntity.fromData(data);
45
+ return NonConceptEntity.fromData(data);
46
46
  }
47
47
  }
48
+ /**
49
+ * @deprecated Use NonConceptEntity instead. The old name conflated
50
+ * non-verbal designations (NonVerbRep — a concept designation like
51
+ * symbol `kg`) with non-concept entities (Figure/Table/Formula —
52
+ * standalone entities that are NOT concepts).
53
+ */
54
+ export const NonVerbalEntity = NonConceptEntity;
48
55
  //# sourceMappingURL=non-verbal-entity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"non-verbal-entity.js","sourceRoot":"","sources":["../../src/models/non-verbal-entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAWpD,MAAM,OAAO,eAAgB,SAAQ,gBAAgB;IAC1C,OAAO,CAAgB;IACvB,WAAW,CAAgB;IAC3B,GAAG,CAAgB;IACT,WAAW,CAAmD;IACvE,QAAQ,GAAwC,IAAI,CAAC;IAE/D,YAAY,OAA4B,EAAE;QACxC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC;QAC5C,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IACxC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CACf,UAAU,EACV,aAAa,EACb,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAsB,CAAC,CAAC,CACpF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,QAAQ,CAAC,SAAiB;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM;QACJ,OAAO,EAAE,CAAC;IACZ,CAAC;IAEQ,MAAM;QACb,MAAM,GAAG,GAAwB,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI;YAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACrD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI;YAAE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACjE,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI;YAAE,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACzC,IAAI,CAAC,UAAU,CAAC,GAAyC,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QACjG,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAU,QAAQ,CAAC,IAAyB;QAChD,OAAO,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;CACF"}
1
+ {"version":3,"file":"non-verbal-entity.js","sourceRoot":"","sources":["../../src/models/non-verbal-entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAuBpD,MAAM,OAAO,gBAAiB,SAAQ,gBAAgB;IAC3C,OAAO,CAAgB;IACvB,WAAW,CAAgB;IAC3B,GAAG,CAAgB;IACT,WAAW,CAAmD;IACvE,QAAQ,GAAwC,IAAI,CAAC;IAE/D,YAAY,OAA6B,EAAE;QACzC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC;QAC5C,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IACxC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CACf,UAAU,EACV,aAAa,EACb,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAsB,CAAC,CAAC,CACpF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,QAAQ,CAAC,SAAiB;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM;QACJ,OAAO,EAAE,CAAC;IACZ,CAAC;IAEQ,MAAM;QACb,MAAM,GAAG,GAAyB,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI;YAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACrD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI;YAAE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACjE,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI;YAAE,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACzC,IAAI,CAAC,UAAU,CAAC,GAAyC,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QACjG,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAU,QAAQ,CAAC,IAA0B;QACjD,OAAO,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,gBAAgB,CAAC"}
@@ -1,10 +1,17 @@
1
- import { NonVerbalEntity } from './non-verbal-entity.js';
2
- import type { NonVerbalEntityJson } from './non-verbal-entity.js';
3
- export interface SharedNonVerbalEntityJson extends NonVerbalEntityJson {
1
+ import { NonConceptEntity } from './non-verbal-entity.js';
2
+ import type { NonConceptEntityJson } from './non-verbal-entity.js';
3
+ export interface SharedNonVerbalEntityJson extends NonConceptEntityJson {
4
4
  id?: string | null;
5
5
  identifier?: string | null;
6
6
  }
7
- export declare class SharedNonVerbalEntity extends NonVerbalEntity {
7
+ /**
8
+ * SharedNonVerbalEntity — a NonConceptEntity with stable identity
9
+ * (id/identifier). Figure/Table/Formula extend this.
10
+ *
11
+ * @deprecated This class will be merged into NonConceptEntity in a
12
+ * future release. New code should extend NonConceptEntity directly.
13
+ */
14
+ export declare class SharedNonVerbalEntity extends NonConceptEntity {
8
15
  readonly id: string | null;
9
16
  readonly identifier: string | null;
10
17
  constructor(data?: SharedNonVerbalEntityJson);
@@ -1 +1 @@
1
- {"version":3,"file":"shared-non-verbal-entity.d.ts","sourceRoot":"","sources":["../../src/models/shared-non-verbal-entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB;IACpE,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,qBAAa,qBAAsB,SAAQ,eAAe;IACxD,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;gBAEvB,IAAI,GAAE,yBAA8B;IAMvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAGvC,MAAM,IAAI,MAAM,EAAE;IAIlB,MAAM,IAAI,yBAAyB;WAO5B,QAAQ,CAAC,IAAI,EAAE,yBAAyB,GAAG,qBAAqB;CAGjF"}
1
+ {"version":3,"file":"shared-non-verbal-entity.d.ts","sourceRoot":"","sources":["../../src/models/shared-non-verbal-entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,MAAM,WAAW,yBAA0B,SAAQ,oBAAoB;IACrE,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,qBAAa,qBAAsB,SAAQ,gBAAgB;IACzD,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;gBAEvB,IAAI,GAAE,yBAA8B;IAMvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAGvC,MAAM,IAAI,MAAM,EAAE;IAIlB,MAAM,IAAI,yBAAyB;WAO5B,QAAQ,CAAC,IAAI,EAAE,yBAAyB,GAAG,qBAAqB;CAGjF"}
@@ -1,5 +1,12 @@
1
- import { NonVerbalEntity } from './non-verbal-entity.js';
2
- export class SharedNonVerbalEntity extends NonVerbalEntity {
1
+ import { NonConceptEntity } from './non-verbal-entity.js';
2
+ /**
3
+ * SharedNonVerbalEntity — a NonConceptEntity with stable identity
4
+ * (id/identifier). Figure/Table/Formula extend this.
5
+ *
6
+ * @deprecated This class will be merged into NonConceptEntity in a
7
+ * future release. New code should extend NonConceptEntity directly.
8
+ */
9
+ export class SharedNonVerbalEntity extends NonConceptEntity {
3
10
  id;
4
11
  identifier;
5
12
  constructor(data = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"shared-non-verbal-entity.js","sourceRoot":"","sources":["../../src/models/shared-non-verbal-entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAQzD,MAAM,OAAO,qBAAsB,SAAQ,eAAe;IAC/C,EAAE,CAAgB;IAClB,UAAU,CAAgB;IAEnC,YAAY,OAAkC,EAAE;QAC9C,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC;IAC5C,CAAC;IAEQ,QAAQ,CAAC,QAAgB;QAChC,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5C,CAAC;IACQ,MAAM;QACb,OAAO,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1C,CAAC;IAEQ,MAAM;QACb,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,EAA+B,CAAC;QACxD,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI;YAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI;YAAE,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAC9D,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAU,QAAQ,CAAC,IAA+B;QACtD,OAAO,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;CACF"}
1
+ {"version":3,"file":"shared-non-verbal-entity.js","sourceRoot":"","sources":["../../src/models/shared-non-verbal-entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAQ1D;;;;;;GAMG;AACH,MAAM,OAAO,qBAAsB,SAAQ,gBAAgB;IAChD,EAAE,CAAgB;IAClB,UAAU,CAAgB;IAEnC,YAAY,OAAkC,EAAE;QAC9C,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC;IAC5C,CAAC;IAEQ,QAAQ,CAAC,QAAgB;QAChC,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5C,CAAC;IACQ,MAAM;QACb,OAAO,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1C,CAAC;IAEQ,MAAM;QACb,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,EAA+B,CAAC;QACxD,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI;YAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI;YAAE,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAC9D,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAU,QAAQ,CAAC,IAA+B;QACtD,OAAO,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;CACF"}
@@ -11,39 +11,68 @@
11
11
  * {{cite:key, render term}} cite-key + render term
12
12
  * {{urn:...}} URN reference
13
13
  * {{urn:..., render term}} URN + render term
14
+ * {{link:URL}} external link
15
+ * {{link:URL, label}} external link with label
16
+ * {{image:src}} embedded image
17
+ * {{image:src, alt}} embedded image with alt text
18
+ * {{bib:id}} bibliography record
19
+ * {{bib:id, label}} bibliography record with label
14
20
  * {{numeric_id}} local concept ID
15
21
  * {{numeric_id, render term}} local concept ID + render term
16
22
  * {{designation}} designation matching
17
23
  * {{designation, render term}} designation + render term
18
- *
19
- * @typedef {Object} MentionParseResult
20
- * @property {'cite-ref' | 'urn-ref' | 'numeric' | 'designation' | 'unresolved'} kind
21
- * @property {string} [key] — for 'cite-ref': the local key
22
- * @property {string} [uri] — for 'urn-ref': the URN
23
- * @property {string} [label] — render text (always last)
24
- * @property {string} [id] — for 'numeric' / 'designation': the id
25
- * @property {string} raw — the original mention body
26
- */
27
- /**
28
- * Parse the body of a {{...}} mention (without the braces).
29
- *
30
- * The function is pure: no I/O, no model lookups, no state.
31
- * Resolution of the parsed result is the extractor's job.
32
- *
33
- * @param {string} raw — the trimmed text inside {{...}}
34
- * @returns {MentionParseResult}
35
24
  */
36
- export type MentionKind = 'cite-ref' | 'urn-ref' | 'numeric' | 'designation' | 'unresolved' | 'fig-ref' | 'table-ref' | 'formula-ref';
25
+ export type MentionKind = 'cite-ref' | 'urn-ref' | 'link-ref' | 'image-ref' | 'bib-ref' | 'numeric' | 'designation' | 'unresolved' | 'fig-ref' | 'table-ref' | 'formula-ref';
37
26
  export interface MentionParseResult {
38
27
  kind: MentionKind;
28
+ /** cite-ref / fig-ref / table-ref / formula-ref: the local key */
39
29
  key?: string;
30
+ /** urn-ref / link-ref: the URI */
40
31
  uri?: string;
41
- label?: string | null;
32
+ /** image-ref: the image source path */
33
+ src?: string;
34
+ /** image-ref: accessibility text */
35
+ alt?: string | null;
36
+ /** bib-ref / numeric / designation: the identifier */
42
37
  id?: string;
38
+ /** render text (cite-ref, urn-ref, numeric, designation, bib-ref, fig/table/formula-ref) */
39
+ label?: string | null;
43
40
  raw: string;
44
41
  }
42
+ export interface ParseOptions {
43
+ /**
44
+ * Called when a deprecated syntax is encountered (e.g. `<<target, caption>>`).
45
+ * The callback receives a human-readable message and the source text.
46
+ */
47
+ onDeprecated?: (message: string, source: string) => void;
48
+ }
45
49
  /**
46
50
  * Parse the body of a {{...}} mention (without the braces).
51
+ *
52
+ * Pure: no I/O, no model lookups, no state. Resolution is the caller's job.
53
+ */
54
+ export declare function parseMention(raw: string, _options?: ParseOptions): MentionParseResult;
55
+ export interface ExtractedMention {
56
+ /** The parsed mention result */
57
+ result: MentionParseResult;
58
+ /** Full text including braces, e.g. `{{cite:foo}}` or `<<target,caption>>` */
59
+ fullMatch: string;
60
+ /** Start offset in the source text */
61
+ start: number;
62
+ /** End offset in the source text */
63
+ end: number;
64
+ }
65
+ /**
66
+ * Extract all inline mentions from concept text. Handles both:
67
+ * - `{{kind:target[,label]}}` — the canonical syntax
68
+ * - `<<target, caption>>` — legacy AsciiDoc xref (deprecated)
69
+ *
70
+ * For `<<...>>` syntax, emits a deprecation warning via `options.onDeprecated`
71
+ * and re-parses the inner content as if it were a `{{...}}` mention.
72
+ *
73
+ * The re-parse strategy:
74
+ * - If the target looks like a fig/table/formula entity → treat as that kind
75
+ * - Otherwise → treat as a cite (let the resolution cascade handle it)
47
76
  */
48
- export declare function parseMention(raw: string): MentionParseResult;
77
+ export declare function extractMentionsFromText(text: string, options?: ParseOptions): Generator<ExtractedMention>;
49
78
  //# sourceMappingURL=reference-mention.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reference-mention.d.ts","sourceRoot":"","sources":["../src/reference-mention.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAUH;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,GAAG,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa,CAAC;AAEtI,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,WAAW,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAyD5D"}
1
+ {"version":3,"file":"reference-mention.d.ts","sourceRoot":"","sources":["../src/reference-mention.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAeH,MAAM,MAAM,WAAW,GACnB,UAAU,GACV,SAAS,GACT,UAAU,GACV,WAAW,GACX,SAAS,GACT,SAAS,GACT,aAAa,GACb,YAAY,GACZ,SAAS,GACT,WAAW,GACX,aAAa,CAAC;AAElB,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,WAAW,CAAC;IAClB,kEAAkE;IAClE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,sDAAsD;IACtD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,4FAA4F;IAC5F,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1D;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,YAAY,GAAG,kBAAkB,CA0FrF;AAED,MAAM,WAAW,gBAAgB;IAC/B,gCAAgC;IAChC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,8EAA8E;IAC9E,SAAS,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;;;;GAWG;AACH,wBAAiB,uBAAuB,CACtC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,YAAiB,GACzB,SAAS,CAAC,gBAAgB,CAAC,CA8B7B"}
@@ -11,18 +11,16 @@
11
11
  * {{cite:key, render term}} cite-key + render term
12
12
  * {{urn:...}} URN reference
13
13
  * {{urn:..., render term}} URN + render term
14
+ * {{link:URL}} external link
15
+ * {{link:URL, label}} external link with label
16
+ * {{image:src}} embedded image
17
+ * {{image:src, alt}} embedded image with alt text
18
+ * {{bib:id}} bibliography record
19
+ * {{bib:id, label}} bibliography record with label
14
20
  * {{numeric_id}} local concept ID
15
21
  * {{numeric_id, render term}} local concept ID + render term
16
22
  * {{designation}} designation matching
17
23
  * {{designation, render term}} designation + render term
18
- *
19
- * @typedef {Object} MentionParseResult
20
- * @property {'cite-ref' | 'urn-ref' | 'numeric' | 'designation' | 'unresolved'} kind
21
- * @property {string} [key] — for 'cite-ref': the local key
22
- * @property {string} [uri] — for 'urn-ref': the URN
23
- * @property {string} [label] — render text (always last)
24
- * @property {string} [id] — for 'numeric' / 'designation': the id
25
- * @property {string} raw — the original mention body
26
24
  */
27
25
  const NUMERIC_RE = /^\d+(?:[.-]\d+)+$/;
28
26
  const NVR_PREFIXES = Object.freeze([
@@ -32,42 +30,75 @@ const NVR_PREFIXES = Object.freeze([
32
30
  ]);
33
31
  /**
34
32
  * Parse the body of a {{...}} mention (without the braces).
33
+ *
34
+ * Pure: no I/O, no model lookups, no state. Resolution is the caller's job.
35
35
  */
36
- export function parseMention(raw) {
36
+ export function parseMention(raw, _options) {
37
37
  const body = raw.trim();
38
- // 1. cite:<key>[,render] — explicit citation reference.
38
+ // 1. cite:<key>[,label] — explicit citation reference.
39
39
  const citeMatch = body.match(/^cite:([^,}]+)(?:,(.*))?$/);
40
40
  if (citeMatch) {
41
- const label = citeMatch[2] !== undefined ? unquoteLabel(citeMatch[2].trim()) : null;
42
41
  return {
43
42
  kind: 'cite-ref',
44
43
  key: citeMatch[1].trim(),
45
- label,
44
+ label: citeMatch[2] !== undefined ? unquoteLabel(citeMatch[2].trim()) : null,
45
+ raw: body,
46
+ };
47
+ }
48
+ // 2. bib:<id>[,label] — flat bibliography record (case-3-only path).
49
+ const bibMatch = body.match(/^bib:([^,}]+)(?:,(.*))?$/);
50
+ if (bibMatch) {
51
+ return {
52
+ kind: 'bib-ref',
53
+ id: bibMatch[1].trim(),
54
+ label: bibMatch[2] !== undefined ? unquoteLabel(bibMatch[2].trim()) : null,
55
+ raw: body,
56
+ };
57
+ }
58
+ // 3. link:<uri>[,label] — external link.
59
+ const linkMatch = body.match(/^link:([^,}]+)(?:,(.*))?$/);
60
+ if (linkMatch) {
61
+ return {
62
+ kind: 'link-ref',
63
+ uri: linkMatch[1].trim(),
64
+ label: linkMatch[2] !== undefined ? unquoteLabel(linkMatch[2].trim()) : null,
65
+ raw: body,
66
+ };
67
+ }
68
+ // 4. image:<src>[,alt] — embedded image.
69
+ const imageMatch = body.match(/^image:([^,}]+)(?:,(.*))?$/);
70
+ if (imageMatch) {
71
+ return {
72
+ kind: 'image-ref',
73
+ src: imageMatch[1].trim(),
74
+ alt: imageMatch[2] !== undefined ? unquoteLabel(imageMatch[2].trim()) : null,
46
75
  raw: body,
47
76
  };
48
77
  }
49
- // 2. urn:...[,render] — URN reference.
78
+ // 5. urn:...[,label] — URN reference.
50
79
  const urnMatch = body.match(/^(urn:[^,}]+)(?:,(.*))?$/);
51
80
  if (urnMatch) {
52
- const label = urnMatch[2] !== undefined ? unquoteLabel(urnMatch[2].trim()) : null;
53
81
  return {
54
82
  kind: 'urn-ref',
55
83
  uri: urnMatch[1].trim(),
56
- label,
84
+ label: urnMatch[2] !== undefined ? unquoteLabel(urnMatch[2].trim()) : null,
57
85
  raw: body,
58
86
  };
59
87
  }
60
- // 3. NVR prefixes (fig:/table:/formula:) — config-driven dispatch.
88
+ // 6. NVR prefixes (fig:/table:/formula:).
61
89
  for (const { prefix, kind } of NVR_PREFIXES) {
62
90
  const escPrefix = prefix.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
63
91
  const match = body.match(new RegExp(`^${escPrefix}([^,}]+)(?:,(.*))?$`));
64
92
  if (match) {
65
- const label = match[2] !== undefined ? unquoteLabel(match[2].trim()) : null;
66
- return { kind: kind, key: match[1].trim(), label, raw: body };
93
+ return {
94
+ kind,
95
+ key: match[1].trim(),
96
+ label: match[2] !== undefined ? unquoteLabel(match[2].trim()) : null,
97
+ raw: body,
98
+ };
67
99
  }
68
100
  }
69
- // 4. Comma-separated form: {{id, render}}.
70
- // ID always comes first, render text always comes last.
101
+ // 7. Comma-separated form: {{id, label}}.
71
102
  const commaIdx = body.indexOf(',');
72
103
  if (commaIdx !== -1) {
73
104
  const id = body.slice(0, commaIdx).trim();
@@ -77,18 +108,86 @@ export function parseMention(raw) {
77
108
  }
78
109
  return { kind: 'designation', id, label, raw: body };
79
110
  }
80
- // 5. Bare numeric id.
111
+ // 8. Bare numeric id.
81
112
  if (NUMERIC_RE.test(body)) {
82
113
  return { kind: 'numeric', id: body, label: null, raw: body };
83
114
  }
84
- // 6. Anything else is unresolved at the parse layer.
115
+ // 9. Unresolved.
85
116
  return { kind: 'unresolved', raw: body };
86
117
  }
87
118
  /**
88
- * Strip surrounding double quotes from a label, unescaping
89
- * CSV-style "" to a single ". If the input is not quoted,
90
- * return it unchanged.
119
+ * Extract all inline mentions from concept text. Handles both:
120
+ * - `{{kind:target[,label]}}` — the canonical syntax
121
+ * - `<<target, caption>>` — legacy AsciiDoc xref (deprecated)
122
+ *
123
+ * For `<<...>>` syntax, emits a deprecation warning via `options.onDeprecated`
124
+ * and re-parses the inner content as if it were a `{{...}}` mention.
125
+ *
126
+ * The re-parse strategy:
127
+ * - If the target looks like a fig/table/formula entity → treat as that kind
128
+ * - Otherwise → treat as a cite (let the resolution cascade handle it)
129
+ */
130
+ export function* extractMentionsFromText(text, options = {}) {
131
+ // Combined regex: matches either {{...}} or <<...>>.
132
+ // {{...}} takes precedence (non-greedy on inner content).
133
+ const re = /\{\{([^{}]*?)\}\}|<<([^<>]*?)>>/g;
134
+ let m;
135
+ while ((m = re.exec(text)) !== null) {
136
+ const fullMatch = m[0];
137
+ const start = m.index;
138
+ const end = start + fullMatch.length;
139
+ if (m[1] !== undefined) {
140
+ // {{...}} — canonical syntax
141
+ const result = parseMention(m[1], options);
142
+ yield { result, fullMatch, start, end };
143
+ }
144
+ else if (m[2] !== undefined) {
145
+ // <<...>> — deprecated AsciiDoc xref syntax
146
+ const inner = m[2];
147
+ if (options.onDeprecated) {
148
+ options.onDeprecated(`Deprecated syntax: <<${inner}>>. Use {{kind:target}} instead. ` +
149
+ `For figures/tables/formulas: {{fig:target}}, {{table:target}}, {{formula:target}}. ` +
150
+ `For citations: {{cite:target}}.`, fullMatch);
151
+ }
152
+ // Re-parse: check if target matches an entity prefix, else fall back to cite.
153
+ const result = reparseLegacyXref(inner);
154
+ yield { result, fullMatch, start, end };
155
+ }
156
+ }
157
+ }
158
+ /**
159
+ * Re-parse a `<<target, caption>>` body into a MentionParseResult.
160
+ *
161
+ * Strategy:
162
+ * - If target starts with fig:/table:/formula: → use that kind
163
+ * - Otherwise → treat as {{cite:target, caption}} (resolution cascade handles it)
91
164
  */
165
+ function reparseLegacyXref(inner) {
166
+ const body = inner.trim();
167
+ const commaIdx = body.indexOf(',');
168
+ const target = commaIdx !== -1 ? body.slice(0, commaIdx).trim() : body;
169
+ const caption = commaIdx !== -1 ? unquoteLabel(body.slice(commaIdx + 1).trim()) : null;
170
+ // Check for entity prefixes first.
171
+ for (const { prefix, kind } of NVR_PREFIXES) {
172
+ if (target.startsWith(prefix)) {
173
+ const entityId = target.slice(prefix.length).trim();
174
+ return {
175
+ kind,
176
+ key: entityId,
177
+ label: caption,
178
+ raw: body,
179
+ };
180
+ }
181
+ }
182
+ // Default: treat as a cite reference. The resolution cascade
183
+ // (sourceRefs → routing → citation.link → unresolved) handles it.
184
+ return {
185
+ kind: 'cite-ref',
186
+ key: target,
187
+ label: caption,
188
+ raw: body,
189
+ };
190
+ }
92
191
  function unquoteLabel(label) {
93
192
  if (label.length >= 2 && label.startsWith('"') && label.endsWith('"')) {
94
193
  return label.slice(1, -1).replace(/""/g, '"');
@@ -1 +1 @@
1
- {"version":3,"file":"reference-mention.js","sourceRoot":"","sources":["../src/reference-mention.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reference-mention.js","sourceRoot":"","sources":["../src/reference-mention.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,28 @@
1
1
  import type { MentionParseResult } from './reference-mention.js';
2
2
  import type { Concept } from './models/concept.js';
3
3
  type RefType = 'concept' | 'bibliography' | 'figure' | 'table' | 'formula' | 'dataset' | 'typed-ref' | 'standard';
4
+ export type CitationClassification = 'internal-citation' | 'external-citation' | 'self-contained-citation' | 'unresolved-citation';
5
+ export interface CitationInput {
6
+ /** The cite key, e.g. `foo` from `{{cite:foo}}` */
7
+ key?: string | null;
8
+ /** The source id from the concept's sources array */
9
+ sourceId?: string | null;
10
+ /** Optional explicit citation object (with ref.source/ref.id) */
11
+ ref?: {
12
+ source?: string | null;
13
+ id?: string | null;
14
+ version?: string | null;
15
+ } | null;
16
+ /** Optional external link URL */
17
+ link?: string | null;
18
+ }
19
+ export interface CiteResolution {
20
+ classification: CitationClassification;
21
+ resolved: {
22
+ registerId: string;
23
+ conceptId: string;
24
+ } | null;
25
+ }
4
26
  interface ReferenceExtras {
5
27
  uri?: string | null;
6
28
  citation?: unknown;
@@ -34,6 +56,23 @@ export declare function findNonVerbalEntity(ref: {
34
56
  } | null;
35
57
  }, registry: Registry): unknown;
36
58
  export declare class ReferenceResolver {
59
+ /**
60
+ * The canonical citation resolution entry point.
61
+ *
62
+ * Walks the cascade: sourceRefs → routing → citation.link → unresolved.
63
+ * Both classification and navigation target come from this one call,
64
+ * so they can never disagree.
65
+ *
66
+ * Classification mapping:
67
+ * internal-citation — the citation resolves to a concept in the
68
+ * same dataset (sourceDatasetId matches)
69
+ * external-citation — the citation resolves to a concept in a
70
+ * different known dataset (routing entry)
71
+ * self-contained-citation — the citation has a flat bib record
72
+ * (citation.link present, no concept resolution)
73
+ * unresolved-citation — no match in any source
74
+ */
75
+ resolveCite(citation: CitationInput, sourceDatasetId?: string | null): CiteResolution;
37
76
  extractReferences(concept: Concept): Reference[];
38
77
  _dedup(refs: Reference[]): Reference[];
39
78
  _extractFromText(text: string, source: string, concept: Concept): Reference[];
@@ -1 +1 @@
1
- {"version":3,"file":"reference-resolver.d.ts","sourceRoot":"","sources":["../src/reference-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reference-resolver.d.ts","sourceRoot":"","sources":["../src/reference-resolver.ts"],"names":[],"mappings":"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"}
@@ -91,6 +91,51 @@ export function findNonVerbalEntity(ref, registry) {
91
91
  return null;
92
92
  }
93
93
  export class ReferenceResolver {
94
+ /**
95
+ * The canonical citation resolution entry point.
96
+ *
97
+ * Walks the cascade: sourceRefs → routing → citation.link → unresolved.
98
+ * Both classification and navigation target come from this one call,
99
+ * so they can never disagree.
100
+ *
101
+ * Classification mapping:
102
+ * internal-citation — the citation resolves to a concept in the
103
+ * same dataset (sourceDatasetId matches)
104
+ * external-citation — the citation resolves to a concept in a
105
+ * different known dataset (routing entry)
106
+ * self-contained-citation — the citation has a flat bib record
107
+ * (citation.link present, no concept resolution)
108
+ * unresolved-citation — no match in any source
109
+ */
110
+ resolveCite(citation, sourceDatasetId) {
111
+ const ref = citation.ref ?? null;
112
+ const sourceId = citation.sourceId ?? ref?.source ?? null;
113
+ const id = citation.key ?? ref?.id ?? null;
114
+ // Case 3: flat bib record with link — self-contained citation.
115
+ if (citation.link && !sourceId && !id) {
116
+ return {
117
+ classification: 'self-contained-citation',
118
+ resolved: null,
119
+ };
120
+ }
121
+ if (!sourceId || !id) {
122
+ return { classification: 'unresolved-citation', resolved: null };
123
+ }
124
+ // Case 1: internal — the citation's source dataset matches the current dataset.
125
+ if (sourceDatasetId && sourceId === sourceDatasetId) {
126
+ return {
127
+ classification: 'internal-citation',
128
+ resolved: { registerId: sourceId, conceptId: id },
129
+ };
130
+ }
131
+ // Case 2: external — the citation's source is a different known dataset.
132
+ // The routing table is consumer-side; we classify as external and let
133
+ // the caller look up the URL.
134
+ return {
135
+ classification: 'external-citation',
136
+ resolved: { registerId: sourceId, conceptId: id },
137
+ };
138
+ }
94
139
  extractReferences(concept) {
95
140
  const refs = [];
96
141
  for (const rc of concept.relatedConcepts) {
@@ -1 +1 @@
1
- {"version":3,"file":"reference-resolver.js","sourceRoot":"","sources":["../src/reference-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reference-resolver.js","sourceRoot":"","sources":["../src/reference-resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import type { ConceptRef } from '../models/concept-ref.js';
2
+ /** Minimal concept shape these utilities need. */
3
+ export interface ExternalConceptLike {
4
+ status?: string | null;
5
+ related?: ReadonlyArray<{
6
+ type?: string;
7
+ }>;
8
+ }
9
+ /** Lookup interface the caller provides. */
10
+ export interface ConceptStore {
11
+ lookup(ref: ConceptRef | RefShape | null | undefined): ExternalConceptLike | null | undefined;
12
+ }
13
+ interface RefShape {
14
+ source?: string | null;
15
+ id?: string | null;
16
+ text?: string | null;
17
+ }
18
+ interface MemberLike {
19
+ ref?: ConceptRef | RefShape | null;
20
+ }
21
+ interface HyperedgeLike {
22
+ comprehensive?: ConceptRef | RefShape | null;
23
+ members?: ReadonlyArray<MemberLike>;
24
+ partitives?: ReadonlyArray<MemberLike>;
25
+ }
26
+ export declare function isExternalConcept(concept: ExternalConceptLike | null | undefined): boolean;
27
+ export declare function isExternalMember(member: MemberLike | null | undefined, store: ConceptStore): boolean;
28
+ export declare function isExternalComprehensive(hyperedge: HyperedgeLike, store: ConceptStore): boolean;
29
+ export declare function getExternalMembers(hyperedge: HyperedgeLike, store: ConceptStore): MemberLike[];
30
+ export declare function hasProvidedBy(concept: ExternalConceptLike | null | undefined): boolean;
31
+ /**
32
+ * True if any external concept (comprehensive or member) lacks a
33
+ * `provided_by` edge — the decomposition dangles because there's no
34
+ * way to reach the providing dataset.
35
+ */
36
+ export declare function hasDanglingExternal(hyperedge: HyperedgeLike, store: ConceptStore): boolean;
37
+ export {};
38
+ //# sourceMappingURL=external-detection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external-detection.d.ts","sourceRoot":"","sources":["../../src/utils/external-detection.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,kDAAkD;AAClD,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,aAAa,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5C;AAED,4CAA4C;AAC5C,MAAM,WAAW,YAAY;IAC3B,MAAM,CACJ,GAAG,EAAE,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,SAAS,GAC5C,mBAAmB,GAAG,IAAI,GAAG,SAAS,CAAC;CAC3C;AAED,UAAU,QAAQ;IAChB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,UAAU,UAAU;IAClB,GAAG,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,IAAI,CAAC;CACpC;AAED,UAAU,aAAa;IACrB,aAAa,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,IAAI,CAAC;IAC7C,OAAO,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACpC,UAAU,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;CACxC;AAID,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,mBAAmB,GAAG,IAAI,GAAG,SAAS,GAC9C,OAAO,CAET;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,EACrC,KAAK,EAAE,YAAY,GAClB,OAAO,CAGT;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE,YAAY,GAClB,OAAO,CAGT;AAED,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE,YAAY,GAClB,UAAU,EAAE,CAGd;AAED,wBAAgB,aAAa,CAC3B,OAAO,EAAE,mBAAmB,GAAG,IAAI,GAAG,SAAS,GAC9C,OAAO,CAET;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE,YAAY,GAClB,OAAO,CAWT"}
@@ -0,0 +1,55 @@
1
+ // External concept detection utilities.
2
+ //
3
+ // ISO 704:2022 diagrams distinguish "external concepts" — concepts
4
+ // referenced from this dataset but defined elsewhere. They are rendered
5
+ // with parentheses: `(precision condition of measurement)` instead of
6
+ // `precision condition of measurement`.
7
+ //
8
+ // External detection requires concept resolution (looking up the
9
+ // referenced concept's status), which is a consumer concern. These
10
+ // utilities take a `ConceptStore` abstraction so the model layer stays
11
+ // pure — the caller decides how to resolve refs (in-memory map, async
12
+ // fetch, etc.).
13
+ //
14
+ // Per TODO 14 (external-concepts-ellipsis-rendering).
15
+ const PROVIDED_BY_TYPES = new Set(['provided_by', 'provides']);
16
+ export function isExternalConcept(concept) {
17
+ return concept?.status === 'external';
18
+ }
19
+ export function isExternalMember(member, store) {
20
+ if (!member)
21
+ return false;
22
+ return isExternalConcept(store.lookup(member.ref ?? null));
23
+ }
24
+ export function isExternalComprehensive(hyperedge, store) {
25
+ if (!hyperedge?.comprehensive)
26
+ return false;
27
+ return isExternalConcept(store.lookup(hyperedge.comprehensive));
28
+ }
29
+ export function getExternalMembers(hyperedge, store) {
30
+ const members = hyperedge?.members ?? hyperedge?.partitives ?? [];
31
+ return members.filter(m => isExternalMember(m, store));
32
+ }
33
+ export function hasProvidedBy(concept) {
34
+ return !!concept?.related?.some(r => r.type != null && PROVIDED_BY_TYPES.has(r.type));
35
+ }
36
+ /**
37
+ * True if any external concept (comprehensive or member) lacks a
38
+ * `provided_by` edge — the decomposition dangles because there's no
39
+ * way to reach the providing dataset.
40
+ */
41
+ export function hasDanglingExternal(hyperedge, store) {
42
+ const refs = [
43
+ hyperedge?.comprehensive ?? null,
44
+ ...(hyperedge?.members ?? hyperedge?.partitives ?? []).map(m => m?.ref ?? null),
45
+ ];
46
+ for (const ref of refs) {
47
+ const concept = store.lookup(ref);
48
+ if (!isExternalConcept(concept))
49
+ continue;
50
+ if (!hasProvidedBy(concept))
51
+ return true;
52
+ }
53
+ return false;
54
+ }
55
+ //# sourceMappingURL=external-detection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external-detection.js","sourceRoot":"","sources":["../../src/utils/external-detection.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,EAAE;AACF,mEAAmE;AACnE,wEAAwE;AACxE,sEAAsE;AACtE,wCAAwC;AACxC,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,uEAAuE;AACvE,sEAAsE;AACtE,gBAAgB;AAChB,EAAE;AACF,sDAAsD;AAiCtD,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;AAE/D,MAAM,UAAU,iBAAiB,CAC/B,OAA+C;IAE/C,OAAO,OAAO,EAAE,MAAM,KAAK,UAAU,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,MAAqC,EACrC,KAAmB;IAEnB,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,OAAO,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,SAAwB,EACxB,KAAmB;IAEnB,IAAI,CAAC,SAAS,EAAE,aAAa;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,SAAwB,EACxB,KAAmB;IAEnB,MAAM,OAAO,GAAG,SAAS,EAAE,OAAO,IAAI,SAAS,EAAE,UAAU,IAAI,EAAE,CAAC;IAClE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,OAA+C;IAE/C,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,SAAwB,EACxB,KAAmB;IAEnB,MAAM,IAAI,GAAgD;QACxD,SAAS,EAAE,aAAa,IAAI,IAAI;QAChC,GAAG,CAAC,SAAS,EAAE,OAAO,IAAI,SAAS,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC;KAChF,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;YAAE,SAAS;QAC1C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;IAC3C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,18 @@
1
+ export declare const OPEN_ENDED_PATTERNS: readonly ReadonlyRegExp[];
2
+ export interface ExtensionalDefinitionLike {
3
+ type?: string | null;
4
+ content?: string | null;
5
+ }
6
+ export interface ExtensionalCompletenessIssue {
7
+ rule: 'ISO-704-6.4.5.1';
8
+ severity: 'warning';
9
+ message: string;
10
+ match: string;
11
+ }
12
+ export declare function checkExtensionalCompleteness(definition: ExtensionalDefinitionLike | null | undefined): ExtensionalCompletenessIssue | null;
13
+ interface ReadonlyRegExp extends RegExp {
14
+ readonly source: string;
15
+ readonly flags: string;
16
+ }
17
+ export {};
18
+ //# sourceMappingURL=extensional-completeness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extensional-completeness.d.ts","sourceRoot":"","sources":["../../src/validators/extensional-completeness.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,mBAAmB,EAQ3B,SAAS,cAAc,EAAE,CAAC;AAE/B,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,yBAAyB,GAAG,IAAI,GAAG,SAAS,GACvD,4BAA4B,GAAG,IAAI,CAiBrC;AAED,UAAU,cAAe,SAAQ,MAAM;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB"}
@@ -0,0 +1,41 @@
1
+ // Extensional definition completeness check.
2
+ //
3
+ // ISO 704:2022 §6.4.5.1 requires extensional definitions to enumerate
4
+ // exhaustively. Open-ended wording ("etc.", "...", "and so on") in an
5
+ // extensional definition violates this — the reader cannot reconstruct
6
+ // the full set from the definition text.
7
+ //
8
+ // This is a pure function, not a ValidationRule, because the check
9
+ // applies per-definition, not per-concept. Callers (validators, UI
10
+ // components) iterate definitions and call this on each.
11
+ //
12
+ // Per TODO 14 (external-concepts-ellipsis-rendering), mirroring the
13
+ // concept-model `check-definition-rules` §6.4.5.1.
14
+ export const OPEN_ENDED_PATTERNS = [
15
+ /\.\.\./,
16
+ /\betc\b\.?/i,
17
+ /\band similar\b/i,
18
+ /\band so on\b/i,
19
+ /\band the like\b/i,
20
+ /\band others?\b/i,
21
+ /\bincluding\b/i,
22
+ ];
23
+ export function checkExtensionalCompleteness(definition) {
24
+ if (definition?.type !== 'extensional')
25
+ return null;
26
+ const content = definition?.content ?? '';
27
+ for (const pattern of OPEN_ENDED_PATTERNS) {
28
+ const match = content.match(pattern);
29
+ if (match) {
30
+ return {
31
+ rule: 'ISO-704-6.4.5.1',
32
+ severity: 'warning',
33
+ message: `Extensional definition contains open-ended wording '${match[0]}'; ` +
34
+ 'ISO 704:2022 §6.4.5.1 requires exhaustive enumeration.',
35
+ match: match[0],
36
+ };
37
+ }
38
+ }
39
+ return null;
40
+ }
41
+ //# sourceMappingURL=extensional-completeness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extensional-completeness.js","sourceRoot":"","sources":["../../src/validators/extensional-completeness.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,sEAAsE;AACtE,uEAAuE;AACvE,yCAAyC;AACzC,EAAE;AACF,mEAAmE;AACnE,mEAAmE;AACnE,yDAAyD;AACzD,EAAE;AACF,oEAAoE;AACpE,mDAAmD;AAEnD,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,QAAQ;IACR,aAAa;IACb,kBAAkB;IAClB,gBAAgB;IAChB,mBAAmB;IACnB,kBAAkB;IAClB,gBAAgB;CACY,CAAC;AAc/B,MAAM,UAAU,4BAA4B,CAC1C,UAAwD;IAExD,IAAI,UAAU,EAAE,IAAI,KAAK,aAAa;QAAE,OAAO,IAAI,CAAC;IACpD,MAAM,OAAO,GAAG,UAAU,EAAE,OAAO,IAAI,EAAE,CAAC;IAC1C,KAAK,MAAM,OAAO,IAAI,mBAAmB,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,KAAK,EAAE,CAAC;YACV,OAAO;gBACL,IAAI,EAAE,iBAAiB;gBACvB,QAAQ,EAAE,SAAS;gBACnB,OAAO,EACL,uDAAuD,KAAK,CAAC,CAAC,CAAC,KAAK;oBACpE,wDAAwD;gBAC1D,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;aAChB,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,14 @@
1
+ export interface HtmlValidationIssue {
2
+ severity: 'warning' | 'error';
3
+ message: string;
4
+ match: string;
5
+ suggestion: string;
6
+ }
7
+ /**
8
+ * Scan concept text for raw HTML and suggest typed mention replacements.
9
+ *
10
+ * Returns one issue per raw HTML tag found. Callers can display these
11
+ * as warnings during data loading or as errors in CI.
12
+ */
13
+ export declare function validateNoRawHtml(text: string): HtmlValidationIssue[];
14
+ //# sourceMappingURL=raw-html-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw-html-validator.d.ts","sourceRoot":"","sources":["../../src/validators/raw-html-validator.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AA8CD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAgBrE"}
@@ -0,0 +1,73 @@
1
+ // Raw-HTML validator for concept text.
2
+ //
3
+ // Concept text should use typed mention syntax ({{link:URL}},
4
+ // {{image:SRC,ALT}}) instead of raw HTML. Raw HTML bypasses the
5
+ // renderer, is brittle, has no accessibility contract, and can embed
6
+ // deployment-specific URLs.
7
+ //
8
+ // This validator scans text and suggests typed mention replacements.
9
+ // Opt-in — concept-browser calls this during data loading.
10
+ //
11
+ // Per PROMPT-NOW.md P5.
12
+ const PATTERNS = [
13
+ {
14
+ // <a href="URL">label</a> → {{link:URL, label}}
15
+ regex: /<a\s+[^>]*href=["']([^"']+)["'][^>]*>([^<]*)<\/a>/gi,
16
+ message: 'Raw <a> tag — use typed mention syntax for links',
17
+ buildSuggestion: (match) => {
18
+ const m = match.match(/href=["']([^"']+)["']/i);
19
+ const labelMatch = match.match(/>([^<]*)<\//);
20
+ const url = m?.[1] ?? 'URL';
21
+ const label = labelMatch?.[1]?.trim();
22
+ return label && label !== url
23
+ ? `{{link:${url}, ${label}}}`
24
+ : `{{link:${url}}}`;
25
+ },
26
+ },
27
+ {
28
+ // <img src="SRC" alt="ALT"> → {{image:SRC, ALT}}
29
+ regex: /<img\s+[^>]*src=["']([^"']+)["'][^>]*>/gi,
30
+ message: 'Raw <img> tag — use typed mention syntax for images',
31
+ buildSuggestion: (match) => {
32
+ const srcMatch = match.match(/src=["']([^"']+)["']/i);
33
+ const altMatch = match.match(/alt=["']([^"']+)["']/i);
34
+ const src = srcMatch?.[1] ?? 'SRC';
35
+ const alt = altMatch?.[1];
36
+ return alt ? `{{image:${src}, ${alt}}}` : `{{image:${src}}}`;
37
+ },
38
+ },
39
+ {
40
+ // <iframe src="URL"> → {{link:URL}} (iframes not supported as embeds)
41
+ regex: /<iframe\s+[^>]*src=["']([^"']+)["'][^>]*>\s*<\/iframe>/gi,
42
+ message: 'Raw <iframe> tag — iframes are not supported as embeds; use a link',
43
+ buildSuggestion: (match) => {
44
+ const m = match.match(/src=["']([^"']+)["']/i);
45
+ return `{{link:${m?.[1] ?? 'URL'}}}`;
46
+ },
47
+ },
48
+ ];
49
+ /**
50
+ * Scan concept text for raw HTML and suggest typed mention replacements.
51
+ *
52
+ * Returns one issue per raw HTML tag found. Callers can display these
53
+ * as warnings during data loading or as errors in CI.
54
+ */
55
+ export function validateNoRawHtml(text) {
56
+ if (!text || typeof text !== 'string')
57
+ return [];
58
+ const issues = [];
59
+ for (const pattern of PATTERNS) {
60
+ pattern.regex.lastIndex = 0;
61
+ let m;
62
+ while ((m = pattern.regex.exec(text)) !== null) {
63
+ issues.push({
64
+ severity: 'warning',
65
+ message: pattern.message,
66
+ match: m[0],
67
+ suggestion: pattern.buildSuggestion(m[0]),
68
+ });
69
+ }
70
+ }
71
+ return issues;
72
+ }
73
+ //# sourceMappingURL=raw-html-validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw-html-validator.js","sourceRoot":"","sources":["../../src/validators/raw-html-validator.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,EAAE;AACF,8DAA8D;AAC9D,gEAAgE;AAChE,qEAAqE;AACrE,4BAA4B;AAC5B,EAAE;AACF,qEAAqE;AACrE,2DAA2D;AAC3D,EAAE;AACF,wBAAwB;AAexB,MAAM,QAAQ,GAA8B;IAC1C;QACE,gDAAgD;QAChD,KAAK,EAAE,qDAAqD;QAC5D,OAAO,EAAE,kDAAkD;QAC3D,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;YACzB,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAChD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC9C,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;YAC5B,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YACtC,OAAO,KAAK,IAAI,KAAK,KAAK,GAAG;gBAC3B,CAAC,CAAC,UAAU,GAAG,KAAK,KAAK,IAAI;gBAC7B,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;QACxB,CAAC;KACF;IACD;QACE,iDAAiD;QACjD,KAAK,EAAE,0CAA0C;QACjD,OAAO,EAAE,qDAAqD;QAC9D,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;YACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACtD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACtD,MAAM,GAAG,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;YACnC,MAAM,GAAG,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;YAC1B,OAAO,GAAG,CAAC,CAAC,CAAC,WAAW,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC;QAC/D,CAAC;KACF;IACD;QACE,sEAAsE;QACtE,KAAK,EAAE,0DAA0D;QACjE,OAAO,EAAE,oEAAoE;QAC7E,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;YACzB,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC/C,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC;QACvC,CAAC;KACF;CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACjD,MAAM,MAAM,GAA0B,EAAE,CAAC;IACzC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAyB,CAAC;QAC9B,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC/C,MAAM,CAAC,IAAI,CAAC;gBACV,QAAQ,EAAE,SAAS;gBACnB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,KAAK,EAAE,CAAC,CAAC,CAAC,CAAE;gBACZ,UAAU,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;aAC3C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "glossarist",
3
- "version": "0.4.51",
3
+ "version": "0.4.53",
4
4
  "description": "JavaScript SDK for Glossarist GCR packages — read, write, validate, and manage terminology concepts",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",