glossarist 0.4.54 → 0.4.56

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -12,6 +12,9 @@ export { ReferenceResolver, Reference, referenceResolver, resolveBibliographyRec
12
12
  export type { CitationClassification, CitationInput, CiteResolution } from './reference-resolver.js';
13
13
  export { parseMention, extractMentionsFromText } from './reference-mention.js';
14
14
  export type { MentionKind, MentionParseResult, ParseOptions, ExtractedMention } from './reference-mention.js';
15
+ export { parseMentions, parseMentionStrict, InvalidMentionError } from './mentions/parser.js';
16
+ export type { Segment, Mention as StrictMention, TextSegment, Target, TargetType, MentionKind as StrictMentionKind } from './mentions/parser.js';
17
+ export { resolveMention, resolveAll } from './mentions/resolver.js';
15
18
  export { ReferenceClassifier } from './render-classification.js';
16
19
  export { V1Reader, migrateV1ToV2 } from './v1-reader.js';
17
20
  export { GlossaristError, InvalidInputError, YamlParseError } from './errors.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -10,6 +10,8 @@ export { validateConcept, validateRegister, validateGcrPackage, createConceptVal
10
10
  export { conceptUuid, localizedConceptUuid, uuidV5 } from './uuid.js';
11
11
  export { ReferenceResolver, Reference, referenceResolver, resolveBibliographyRecord, findNonVerbalEntity } from './reference-resolver.js';
12
12
  export { parseMention, extractMentionsFromText } from './reference-mention.js';
13
+ export { parseMentions, parseMentionStrict, InvalidMentionError } from './mentions/parser.js';
14
+ export { resolveMention, resolveAll } from './mentions/resolver.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';
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":"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"}
@@ -0,0 +1,4 @@
1
+ export { parseMentions, parseMentionStrict, InvalidMentionError } from './parser.js';
2
+ export type { Segment, Mention, TextSegment, Target, TargetType, MentionKind } from './parser.js';
3
+ export { resolveMention, resolveAll } from './resolver.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mentions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACrF,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { parseMentions, parseMentionStrict, InvalidMentionError } from './parser.js';
2
+ export { resolveMention, resolveAll } from './resolver.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mentions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAErF,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Strict inline mention parser — implements the grammar defined in
3
+ * concept-model/docs/design/inline-mentions-implementation-guide.md.
4
+ *
5
+ * Key principle: invalid mentions produce errors, they are NEVER
6
+ * silently passed through.
7
+ */
8
+ export type TargetType = 'urn' | 'dataset_qualified' | 'entity_id' | 'url' | 'path';
9
+ export interface Target {
10
+ type: TargetType;
11
+ urn?: string;
12
+ dataset?: string;
13
+ id?: string;
14
+ url?: string;
15
+ path?: string;
16
+ }
17
+ export type MentionKind = 'concept' | 'cite' | 'fig' | 'table' | 'formula' | 'bib' | 'link' | 'image';
18
+ export interface Mention {
19
+ kind: MentionKind;
20
+ target: Target;
21
+ label: string | null;
22
+ raw: string;
23
+ start: number;
24
+ end: number;
25
+ }
26
+ export interface TextSegment {
27
+ kind: 'text';
28
+ content: string;
29
+ start: number;
30
+ end: number;
31
+ }
32
+ export type Segment = Mention | TextSegment;
33
+ export declare class InvalidMentionError extends Error {
34
+ readonly raw: string;
35
+ readonly reason: string;
36
+ readonly position: number;
37
+ constructor(raw: string, reason: string, position: number);
38
+ }
39
+ /**
40
+ * Parse a single mention body (the content inside {{...}}).
41
+ * Returns a Mention object or throws InvalidMentionError.
42
+ */
43
+ export declare function parseMentionStrict(raw: string, position?: number): Mention;
44
+ /**
45
+ * Parse a text string into an array of segments (text + mentions).
46
+ * Throws InvalidMentionError on any invalid mention.
47
+ */
48
+ export declare function parseMentions(text: string): Segment[];
49
+ //# sourceMappingURL=parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/mentions/parser.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,mBAAmB,GAAG,WAAW,GAAG,KAAK,GAAG,MAAM,CAAC;AAEpF,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;AAEtG,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,WAAW,CAAC;AAE5C,qBAAa,mBAAoB,SAAQ,KAAK;aAE1B,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,MAAM;aACd,QAAQ,EAAE,MAAM;gBAFhB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM;CAKnC;AAuED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,OAAO,CAqD7E;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,CAkCrD"}
@@ -0,0 +1,160 @@
1
+ /**
2
+ * Strict inline mention parser — implements the grammar defined in
3
+ * concept-model/docs/design/inline-mentions-implementation-guide.md.
4
+ *
5
+ * Key principle: invalid mentions produce errors, they are NEVER
6
+ * silently passed through.
7
+ */
8
+ export class InvalidMentionError extends Error {
9
+ raw;
10
+ reason;
11
+ position;
12
+ constructor(raw, reason, position) {
13
+ super(`Invalid mention at position ${position}: ${reason}`);
14
+ this.raw = raw;
15
+ this.reason = reason;
16
+ this.position = position;
17
+ this.name = 'InvalidMentionError';
18
+ }
19
+ }
20
+ const URL_RE = /^https?:\/\/.+/;
21
+ const URN_RE = /^urn:[^:]+:.+/;
22
+ const DATASET_QUALIFIED_RE = /^([A-Za-z][A-Za-z0-9_-]*):(.+)$/;
23
+ /**
24
+ * Parse a target string into a structured Target object.
25
+ * Colon splitting: for DATASET:ID, split on the LAST colon.
26
+ */
27
+ function parseTarget(text) {
28
+ const trimmed = text.trim();
29
+ if (URN_RE.test(trimmed)) {
30
+ return { type: 'urn', urn: trimmed };
31
+ }
32
+ if (URL_RE.test(trimmed)) {
33
+ return { type: 'url', url: trimmed };
34
+ }
35
+ if (trimmed.includes('/') || trimmed.includes('\\')) {
36
+ return { type: 'path', path: trimmed };
37
+ }
38
+ const dsMatch = trimmed.match(DATASET_QUALIFIED_RE);
39
+ if (dsMatch) {
40
+ const lastColon = trimmed.lastIndexOf(':');
41
+ return {
42
+ type: 'dataset_qualified',
43
+ dataset: trimmed.slice(0, lastColon),
44
+ id: trimmed.slice(lastColon + 1),
45
+ };
46
+ }
47
+ return { type: 'entity_id', id: trimmed };
48
+ }
49
+ /**
50
+ * Validate that a target type is acceptable for a given mention kind.
51
+ * Throws InvalidMentionError if the combination is invalid.
52
+ */
53
+ function validateTargetForKind(kind, target, raw, position) {
54
+ const allowed = {
55
+ concept: ['dataset_qualified', 'urn', 'entity_id'],
56
+ cite: ['dataset_qualified', 'urn'],
57
+ fig: ['entity_id', 'urn'],
58
+ table: ['entity_id', 'urn'],
59
+ formula: ['entity_id', 'urn'],
60
+ bib: ['entity_id'],
61
+ link: ['url'],
62
+ image: ['path', 'url'],
63
+ };
64
+ const accepted = allowed[kind];
65
+ if (!accepted.includes(target.type)) {
66
+ const targetDesc = target.type === 'dataset_qualified'
67
+ ? `DATASET:ID '${target.dataset}:${target.id}'`
68
+ : target.type === 'urn'
69
+ ? `URN '${target.urn}'`
70
+ : target.type === 'url'
71
+ ? `URL '${target.url}'`
72
+ : target.type === 'path'
73
+ ? `path '${target.path}'`
74
+ : `bare ID '${target.id}'`;
75
+ const acceptDesc = accepted.join(' or ');
76
+ throw new InvalidMentionError(raw, `${kind} target must be ${acceptDesc}; got ${targetDesc}`, position);
77
+ }
78
+ }
79
+ /**
80
+ * Parse a single mention body (the content inside {{...}}).
81
+ * Returns a Mention object or throws InvalidMentionError.
82
+ */
83
+ export function parseMentionStrict(raw, position = 0) {
84
+ const body = raw.trim();
85
+ // Implicit same-dataset concept reference — no kind prefix needed.
86
+ // {{17-12, label}} and {{designation text, label}} are valid local
87
+ // concept references within the same dataset.
88
+ // Only check for implicit forms when there's no recognized kind: prefix.
89
+ const colonIdx = body.indexOf(':');
90
+ const KNOWN_KINDS = ['concept', 'cite', 'fig', 'table', 'formula', 'bib', 'link', 'image'];
91
+ // Check if the text before the first colon is a known kind
92
+ const possibleKind = colonIdx > 0 ? body.slice(0, colonIdx).trim().toLowerCase() : '';
93
+ const hasKnownKind = KNOWN_KINDS.includes(possibleKind);
94
+ if (!hasKnownKind) {
95
+ // No kind prefix → implicit same-dataset concept reference.
96
+ // Split target,label (same as explicit kinds)
97
+ const commaIdx = body.indexOf(',');
98
+ const targetStr = (commaIdx >= 0 ? body.slice(0, commaIdx) : body).trim();
99
+ const label = commaIdx >= 0 ? body.slice(commaIdx + 1).trim() : null;
100
+ const target = parseTarget(targetStr);
101
+ return {
102
+ kind: 'concept',
103
+ target,
104
+ label,
105
+ raw: body,
106
+ start: position,
107
+ end: position + raw.length,
108
+ };
109
+ }
110
+ const kindStr = possibleKind;
111
+ const rest = body.slice(colonIdx + 1);
112
+ // Split target,label
113
+ const commaIdx = rest.indexOf(',');
114
+ const targetStr = (commaIdx >= 0 ? rest.slice(0, commaIdx) : rest).trim();
115
+ const label = commaIdx >= 0 ? rest.slice(commaIdx + 1).trim() : null;
116
+ const VALID_KINDS = ['concept', 'cite', 'fig', 'table', 'formula', 'bib', 'link', 'image'];
117
+ if (!VALID_KINDS.includes(kindStr)) {
118
+ throw new InvalidMentionError(raw, `unknown kind '${kindStr}' — valid kinds: ${VALID_KINDS.join(', ')}`, position);
119
+ }
120
+ const kind = kindStr;
121
+ const target = parseTarget(targetStr);
122
+ validateTargetForKind(kind, target, raw, position);
123
+ return { kind, target, label, raw: body, start: position, end: position + raw.length };
124
+ }
125
+ /**
126
+ * Parse a text string into an array of segments (text + mentions).
127
+ * Throws InvalidMentionError on any invalid mention.
128
+ */
129
+ export function parseMentions(text) {
130
+ const segments = [];
131
+ const re = /\{\{([^{}]*?)\}\}/g;
132
+ let lastEnd = 0;
133
+ let m;
134
+ while ((m = re.exec(text)) !== null) {
135
+ // Text before this mention
136
+ if (m.index > lastEnd) {
137
+ segments.push({
138
+ kind: 'text',
139
+ content: text.slice(lastEnd, m.index),
140
+ start: lastEnd,
141
+ end: m.index,
142
+ });
143
+ }
144
+ // Parse the mention
145
+ const mention = parseMentionStrict(m[1], m.index);
146
+ segments.push(mention);
147
+ lastEnd = m.index + m[0].length;
148
+ }
149
+ // Trailing text
150
+ if (lastEnd < text.length) {
151
+ segments.push({
152
+ kind: 'text',
153
+ content: text.slice(lastEnd),
154
+ start: lastEnd,
155
+ end: text.length,
156
+ });
157
+ }
158
+ return segments;
159
+ }
160
+ //# sourceMappingURL=parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/mentions/parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { Mention, ResolutionContext, ResolvedMention } from './types.js';
2
+ /**
3
+ * Resolve a parsed mention against a ResolutionContext.
4
+ * Returns a ResolvedMention with status indicating the outcome.
5
+ */
6
+ export declare function resolveMention(mention: Mention, context: ResolutionContext): ResolvedMention;
7
+ export declare function resolveAll(mentions: ReadonlyArray<Mention>, context: ResolutionContext): ResolvedMention[];
8
+ //# sourceMappingURL=resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/mentions/resolver.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,OAAO,EACP,iBAAiB,EACjB,eAAe,EAEhB,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,iBAAiB,GACzB,eAAe,CAsBjB;AAED,wBAAgB,UAAU,CACxB,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,EAChC,OAAO,EAAE,iBAAiB,GACzB,eAAe,EAAE,CAEnB"}
@@ -0,0 +1,163 @@
1
+ // Spec-compliant inline mention resolver.
2
+ // Per docs/design/inline-mentions-implementation-guide.md §1.2.
3
+ /**
4
+ * Resolve a parsed mention against a ResolutionContext.
5
+ * Returns a ResolvedMention with status indicating the outcome.
6
+ */
7
+ export function resolveMention(mention, context) {
8
+ switch (mention.kind) {
9
+ case 'concept':
10
+ return resolveConceptLike(mention, context, false);
11
+ case 'cite':
12
+ return resolveConceptLike(mention, context, true);
13
+ case 'fig':
14
+ case 'table':
15
+ case 'formula':
16
+ return resolveEntity(mention, context);
17
+ case 'bib':
18
+ return resolveBib(mention, context);
19
+ case 'link':
20
+ return {
21
+ status: 'external',
22
+ kind: 'link',
23
+ label: mention.label,
24
+ url: mention.target.url ?? '',
25
+ };
26
+ case 'image':
27
+ return resolveImage(mention);
28
+ }
29
+ }
30
+ export function resolveAll(mentions, context) {
31
+ return mentions.map(m => resolveMention(m, context));
32
+ }
33
+ function resolveConceptLike(mention, context, isCite) {
34
+ const target = mention.target;
35
+ const concept = target.type === 'urn'
36
+ ? context.resolveConcept?.({ urn: target.urn }) ?? null
37
+ : target.type === 'dataset_qualified'
38
+ ? context.resolveConcept?.({ dataset: target.dataset, id: target.id }) ?? null
39
+ : null;
40
+ if (!concept) {
41
+ return {
42
+ status: 'unresolved',
43
+ kind: mention.kind,
44
+ label: mention.label,
45
+ target,
46
+ };
47
+ }
48
+ if (concept == null) {
49
+ return {
50
+ status: 'unresolved',
51
+ kind: mention.kind,
52
+ label: mention.label,
53
+ target,
54
+ };
55
+ }
56
+ let source = undefined;
57
+ if (isCite && context.concept) {
58
+ source = findMatchingSource(context.concept, target);
59
+ }
60
+ return {
61
+ status: 'resolved',
62
+ kind: mention.kind,
63
+ label: mention.label,
64
+ concept,
65
+ source,
66
+ };
67
+ }
68
+ function resolveEntity(mention, context) {
69
+ const target = mention.target;
70
+ if (target.type !== 'entity_id' && target.type !== 'urn') {
71
+ return {
72
+ status: 'unresolved',
73
+ kind: mention.kind,
74
+ label: mention.label,
75
+ target,
76
+ };
77
+ }
78
+ const id = target.type === 'entity_id' ? target.id : '';
79
+ if (!id) {
80
+ return {
81
+ status: 'unresolved',
82
+ kind: mention.kind,
83
+ label: mention.label,
84
+ target,
85
+ };
86
+ }
87
+ const entityKind = mention.kind;
88
+ const entity = context.resolveEntity?.(entityKind, id) ?? null;
89
+ if (entity == null) {
90
+ return {
91
+ status: 'unresolved',
92
+ kind: mention.kind,
93
+ label: mention.label,
94
+ target,
95
+ };
96
+ }
97
+ return {
98
+ status: 'resolved',
99
+ kind: mention.kind,
100
+ label: mention.label,
101
+ entity,
102
+ };
103
+ }
104
+ function resolveBib(mention, context) {
105
+ const target = mention.target;
106
+ if (target.type !== 'entity_id') {
107
+ return {
108
+ status: 'unresolved',
109
+ kind: 'bib',
110
+ label: mention.label,
111
+ target,
112
+ };
113
+ }
114
+ const entry = context.resolveBibEntry?.(target.id) ?? null;
115
+ if (entry == null) {
116
+ return {
117
+ status: 'unresolved',
118
+ kind: 'bib',
119
+ label: mention.label,
120
+ target,
121
+ };
122
+ }
123
+ return {
124
+ status: 'resolved',
125
+ kind: 'bib',
126
+ label: mention.label,
127
+ entry,
128
+ };
129
+ }
130
+ function resolveImage(mention) {
131
+ const target = mention.target;
132
+ if (target.type === 'url') {
133
+ return {
134
+ status: 'external_image',
135
+ kind: 'image',
136
+ label: mention.label,
137
+ url: target.url,
138
+ };
139
+ }
140
+ return {
141
+ status: 'local_image',
142
+ kind: 'image',
143
+ label: mention.label,
144
+ path: target.path,
145
+ };
146
+ }
147
+ function findMatchingSource(concept, target) {
148
+ if (!concept.sources)
149
+ return undefined;
150
+ for (const source of concept.sources) {
151
+ const s = source;
152
+ const ref = s?.origin?.ref;
153
+ if (!ref)
154
+ continue;
155
+ if (target.type === 'dataset_qualified') {
156
+ if (ref.source === target.dataset && ref.id === target.id) {
157
+ return source;
158
+ }
159
+ }
160
+ }
161
+ return undefined;
162
+ }
163
+ //# sourceMappingURL=resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/mentions/resolver.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,gEAAgE;AAShE;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAgB,EAChB,OAA0B;IAE1B,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,SAAS;YACZ,OAAO,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACrD,KAAK,MAAM;YACT,OAAO,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACpD,KAAK,KAAK,CAAC;QACX,KAAK,OAAO,CAAC;QACb,KAAK,SAAS;YACZ,OAAO,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACzC,KAAK,KAAK;YACR,OAAO,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtC,KAAK,MAAM;YACT,OAAO;gBACL,MAAM,EAAE,UAAU;gBAClB,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,GAAG,EAAG,OAAO,CAAC,MAA2B,CAAC,GAAG,IAAI,EAAE;aACpD,CAAC;QACJ,KAAK,OAAO;YACV,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,QAAgC,EAChC,OAA0B;IAE1B,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,kBAAkB,CACzB,OAAgB,EAChB,OAA0B,EAC1B,MAAe;IAEf,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,KAAK,KAAK;QACnC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI;QACvD,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,mBAAmB;YACnC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI;YAC9E,CAAC,CAAC,IAAI,CAAC;IAEX,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,MAAM,EAAE,YAAY;YACpB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM;SACP,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;QACpB,OAAO;YACL,MAAM,EAAE,YAAY;YACpB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM;SACP,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,GAAY,SAAS,CAAC;IAChC,IAAI,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;IAED,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,OAAO;QACP,MAAM;KACP,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,OAAgB,EAChB,OAA0B;IAE1B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACzD,OAAO;YACL,MAAM,EAAE,YAAY;YACpB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM;SACP,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO;YACL,MAAM,EAAE,YAAY;YACpB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM;SACP,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,IAAmC,CAAC;IAC/D,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC;IAC/D,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACnB,OAAO;YACL,MAAM,EAAE,YAAY;YACpB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM;SACP,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM;KACP,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CACjB,OAAgB,EAChB,OAA0B;IAE1B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAChC,OAAO;YACL,MAAM,EAAE,YAAY;YACpB,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM;SACP,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;IAC3D,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,OAAO;YACL,MAAM,EAAE,YAAY;YACpB,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM;SACP,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK;KACN,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,OAAgB;IACpC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC1B,OAAO;YACL,MAAM,EAAE,gBAAgB;YACxB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,GAAG,EAAE,MAAM,CAAC,GAAG;SAChB,CAAC;IACJ,CAAC;IACD,OAAO;QACL,MAAM,EAAE,aAAa;QACrB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAG,MAA4B,CAAC,IAAI;KACzC,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,OAA6C,EAC7C,MAAc;IAEd,IAAI,CAAC,OAAO,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IACvC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,MAET,CAAC;QACF,MAAM,GAAG,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC;QAC3B,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACxC,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC;gBAC1D,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,70 @@
1
+ export type TargetType = 'urn' | 'dataset_qualified' | 'entity_id' | 'url' | 'path';
2
+ export interface UrnTarget {
3
+ type: 'urn';
4
+ urn: string;
5
+ }
6
+ export interface DatasetQualifiedTarget {
7
+ type: 'dataset_qualified';
8
+ dataset: string;
9
+ id: string;
10
+ }
11
+ export interface EntityIdTarget {
12
+ type: 'entity_id';
13
+ id: string;
14
+ }
15
+ export interface UrlTarget {
16
+ type: 'url';
17
+ url: string;
18
+ }
19
+ export interface PathTarget {
20
+ type: 'path';
21
+ path: string;
22
+ }
23
+ export type Target = UrnTarget | DatasetQualifiedTarget | EntityIdTarget | UrlTarget | PathTarget;
24
+ export type MentionKind = 'concept' | 'cite' | 'fig' | 'table' | 'formula' | 'bib' | 'link' | 'image';
25
+ export interface Mention {
26
+ kind: MentionKind;
27
+ target: Target;
28
+ label: string | null;
29
+ raw: string;
30
+ start: number;
31
+ end: number;
32
+ }
33
+ export interface TextSegment {
34
+ kind: 'text';
35
+ content: string;
36
+ }
37
+ export type Segment = Mention | TextSegment;
38
+ export declare class InvalidMentionError extends Error {
39
+ readonly raw: string;
40
+ readonly reason: string;
41
+ readonly position: number;
42
+ constructor(raw: string, reason: string, position: number);
43
+ }
44
+ export interface ResolvedMention {
45
+ status: 'resolved' | 'external' | 'external_image' | 'local_image' | 'unresolved';
46
+ kind: MentionKind;
47
+ label: string | null;
48
+ concept?: unknown;
49
+ source?: unknown;
50
+ entity?: unknown;
51
+ entry?: unknown;
52
+ url?: string;
53
+ path?: string;
54
+ target?: Target;
55
+ }
56
+ export interface ResolutionContext {
57
+ concept?: {
58
+ sources?: ReadonlyArray<unknown>;
59
+ };
60
+ datasetName?: string;
61
+ resolveConcept?: (ref: {
62
+ dataset: string;
63
+ id: string;
64
+ } | {
65
+ urn: string;
66
+ }) => unknown | null;
67
+ resolveEntity?: (kind: 'fig' | 'table' | 'formula', id: string) => unknown | null;
68
+ resolveBibEntry?: (id: string) => unknown | null;
69
+ }
70
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mentions/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ // Spec-compliant inline mention types.
2
+ // Per docs/design/inline-mentions-implementation-guide.md
3
+ export class InvalidMentionError extends Error {
4
+ raw;
5
+ reason;
6
+ position;
7
+ constructor(raw, reason, position) {
8
+ super(`Invalid mention at position ${position}: ${reason}`);
9
+ this.name = 'InvalidMentionError';
10
+ this.raw = raw;
11
+ this.reason = reason;
12
+ this.position = position;
13
+ }
14
+ }
15
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/mentions/types.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,0DAA0D;AAoE1D,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IACnC,GAAG,CAAS;IACZ,MAAM,CAAS;IACf,QAAQ,CAAS;IAE1B,YAAY,GAAW,EAAE,MAAc,EAAE,QAAgB;QACvD,KAAK,CAAC,+BAA+B,QAAQ,KAAK,MAAM,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAClC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF"}
@@ -8,7 +8,16 @@ export interface RelatedConceptJson {
8
8
  type?: RelationshipType;
9
9
  content?: LocalizedString | string | null;
10
10
  ref?: ConceptRefJson | ConceptRef | null;
11
- /** Resolved concept URI for cross-dataset relations (e.g. supersedes links). */
11
+ /**
12
+ * Explicit cross-dataset link URL authored in the YAML data.
13
+ *
14
+ * MECE boundary: `ref` is the canonical, deployment-independent
15
+ * reference ({source, id}). `target` is an author-provided URL for
16
+ * cases where the dataset explicitly records a resolved link (e.g.
17
+ * supersedes links to external standards). The resolver layer
18
+ * computes runtime URIs from `ref`; `target` is not computed —
19
+ * it is data.
20
+ */
12
21
  target?: string | null;
13
22
  }
14
23
  export declare class RelatedConcept extends GlossaristModel {
@@ -29,6 +38,7 @@ export declare class RelatedConcept extends GlossaristModel {
29
38
  source?: string | null;
30
39
  id?: string | null;
31
40
  } | null;
41
+ target?: string | null;
32
42
  } | null | undefined): string;
33
43
  identity(): string;
34
44
  static fromJSON(data: RelatedConceptJson): RelatedConcept;
@@ -1 +1 @@
1
- {"version":3,"file":"related-concept.d.ts","sourceRoot":"","sources":["../../src/models/related-concept.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,MAAM,CAkCnD,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEtC,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAAC;IAC1C,GAAG,CAAC,EAAE,cAAc,GAAG,UAAU,GAAG,IAAI,CAAC;IACzC,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,qBAAa,cAAe,SAAQ,eAAe;IACjD,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;gBAEnB,IAAI,GAAE,kBAAuB;IAYzC;;;OAGG;IACH,IAAI,aAAa,IAAI,MAAM,GAAG,IAAI,CAIjC;IAEQ,MAAM,IAAI,kBAAkB;IAQrC,MAAM,CAAC,UAAU,CACf,KAAK,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,GAAG,IAAI,CAAC;KAC7D,GAAG,IAAI,GAAG,SAAS,GACnB,MAAM;IAMA,QAAQ,IAAI,MAAM;WAIX,QAAQ,CAAC,IAAI,EAAE,kBAAkB,GAAG,cAAc;CAGnE"}
1
+ {"version":3,"file":"related-concept.d.ts","sourceRoot":"","sources":["../../src/models/related-concept.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,MAAM,CAkCnD,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEtC,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAAC;IAC1C,GAAG,CAAC,EAAE,cAAc,GAAG,UAAU,GAAG,IAAI,CAAC;IACzC;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,qBAAa,cAAe,SAAQ,eAAe;IACjD,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;gBAEnB,IAAI,GAAE,kBAAuB;IAYzC;;;OAGG;IACH,IAAI,aAAa,IAAI,MAAM,GAAG,IAAI,CAIjC;IAEQ,MAAM,IAAI,kBAAkB;IAQrC,MAAM,CAAC,UAAU,CACf,KAAK,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,GAAG,IAAI,CAAC;QAC5D,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACxB,GAAG,IAAI,GAAG,SAAS,GACnB,MAAM;IAMA,QAAQ,IAAI,MAAM;WAIX,QAAQ,CAAC,IAAI,EAAE,kBAAkB,GAAG,cAAc;CAGnE"}
@@ -74,7 +74,7 @@ export class RelatedConcept extends GlossaristModel {
74
74
  static identityOf(value) {
75
75
  const v = value ?? {};
76
76
  const ref = v.ref;
77
- return `${v.type ?? ''}|${ref?.source ?? ''}|${ref?.id ?? ''}`;
77
+ return `${v.type ?? ''}|${ref?.source ?? ''}|${ref?.id ?? ''}|${v.target ?? ''}`;
78
78
  }
79
79
  identity() {
80
80
  return RelatedConcept.identityOf(this);
@@ -1 +1 @@
1
- {"version":3,"file":"related-concept.js","sourceRoot":"","sources":["../../src/models/related-concept.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI9C,MAAM,CAAC,MAAM,kBAAkB,GAA0B,MAAM,CAAC,MAAM,CAAC;IACrE,0BAA0B;IAC1B,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe;IAC5D,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB;IAC1D,SAAS,EAAE,YAAY;IACvB,sBAAsB;IACtB,SAAS,EAAE,UAAU;IACrB,oBAAoB;IACpB,iBAAiB,EAAE,kBAAkB;IACrC,sBAAsB;IACtB,mBAAmB,EAAE,oBAAoB;IACzC,uBAAuB;IACvB,oBAAoB,EAAE,qBAAqB;IAC3C,+BAA+B;IAC/B,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc;IAC7D,gBAAgB,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY;IAC3D,UAAU,EAAE,cAAc;IAC1B,uBAAuB;IACvB,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,oBAAoB;IACpE,eAAe;IACf,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe;IAC3E,wCAAwC;IACxC,KAAK,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,0BAA0B;IAC/E,YAAY;IACZ,qEAAqE;IACrE,yEAAyE;IACzE,6DAA6D;IAC7D,UAAU,EAAE,aAAa;IACzB,4BAA4B;IAC5B,SAAS,EAAE,UAAU;IACrB,mCAAmC;IACnC,8BAA8B,EAAE,2BAA2B,EAAE,4BAA4B;IACzF,4BAA4B;IAC5B,WAAW,EAAE,cAAc;CAC5B,CAAC,CAAC;AAYH,MAAM,OAAO,cAAe,SAAQ,eAAe;IACxC,IAAI,CAAmB;IACvB,OAAO,CAAyB;IAChC,GAAG,CAAoB;IACvB,MAAM,CAAgB;IAE/B,YAAY,OAA2B,EAAE;QACvC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG;YACjB,CAAC,CAAC,IAAI,CAAC,GAAG,YAAY,UAAU;gBAC9B,CAAC,CAAC,IAAI,CAAC,GAAG;gBACV,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;YAC5B,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,IAAI,aAAa;QACf,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,CAAC;IAEQ,MAAM;QACb,MAAM,GAAG,GAAuB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QACpD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI;YAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACrD,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI;YAAE,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAClD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI;YAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAClD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,UAAU,CACf,KAGoB;QAEpB,MAAM,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;QAClB,OAAO,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;IACjE,CAAC;IAEQ,QAAQ;QACf,OAAO,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAU,QAAQ,CAAC,IAAwB;QAC/C,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;CACF;AAED,SAAS,iBAAiB,CACxB,KAAkD;IAElD,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACzD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAC1C,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CACjC,CAAC;QACF,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC;YACvB,CAAC,CAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAqB;YAClD,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"related-concept.js","sourceRoot":"","sources":["../../src/models/related-concept.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "glossarist",
3
- "version": "0.4.54",
3
+ "version": "0.4.56",
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",