@velvetmonkey/vault-core 0.2.0 → 0.2.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"wikilinks.d.ts","sourceRoot":"","sources":["../src/wikilinks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AA8D1E;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,GAAE,eAAoB,GAC5B,cAAc,CA+EhB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,GAAE,eAAoB,GAC5B,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA4DxE"}
1
+ {"version":3,"file":"wikilinks.d.ts","sourceRoot":"","sources":["../src/wikilinks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAmF1E;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,GAAE,eAAoB,GAC5B,cAAc,CAgNhB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,GAAE,eAAoB,GAC5B,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA4DxE"}
package/dist/wikilinks.js CHANGED
@@ -11,6 +11,23 @@ import { getProtectedZones, rangeOverlapsProtectedZone } from './protectedZones.
11
11
  function extractEntityName(entity) {
12
12
  return typeof entity === 'string' ? entity : entity.name;
13
13
  }
14
+ /**
15
+ * Get all search terms for an entity (name + aliases)
16
+ * Returns tuples of [searchTerm, entityName] for proper linking
17
+ */
18
+ function getSearchTerms(entity) {
19
+ if (typeof entity === 'string') {
20
+ return [{ term: entity, entityName: entity }];
21
+ }
22
+ // Include the entity name and all aliases
23
+ const terms = [
24
+ { term: entity.name, entityName: entity.name }
25
+ ];
26
+ for (const alias of entity.aliases) {
27
+ terms.push({ term: alias, entityName: entity.name });
28
+ }
29
+ return terms;
30
+ }
14
31
  /**
15
32
  * Common words to exclude from wikilink suggestions
16
33
  */
@@ -69,32 +86,94 @@ export function applyWikilinks(content, entities, options = {}) {
69
86
  linkedEntities: [],
70
87
  };
71
88
  }
72
- // Extract entity names, filter out excluded words, and sort by length (longest first)
73
- // to avoid partial matches (e.g., "API Management" before "API")
74
- const sortedEntities = entities
75
- .map(e => extractEntityName(e))
76
- .filter(e => !shouldExcludeEntity(e))
77
- .sort((a, b) => b.length - a.length);
89
+ // Build search terms from all entities (names + aliases)
90
+ // Each term maps back to its canonical entity name
91
+ const allSearchTerms = [];
92
+ for (const entity of entities) {
93
+ const terms = getSearchTerms(entity);
94
+ for (const t of terms) {
95
+ if (!shouldExcludeEntity(t.term)) {
96
+ allSearchTerms.push(t);
97
+ }
98
+ }
99
+ }
100
+ // Sort by term length (longest first) to avoid partial matches
101
+ allSearchTerms.sort((a, b) => b.term.length - a.term.length);
78
102
  // Get protected zones
79
103
  let zones = getProtectedZones(content);
80
104
  let result = content;
81
105
  let linksAdded = 0;
82
106
  const linkedEntities = [];
83
- for (const entity of sortedEntities) {
84
- // Find all matches
85
- const matches = findEntityMatches(result, entity, caseInsensitive);
86
- // Filter out matches in protected zones
87
- const validMatches = matches.filter(match => !rangeOverlapsProtectedZone(match.start, match.end, zones));
88
- if (validMatches.length === 0) {
89
- continue;
107
+ if (firstOccurrenceOnly) {
108
+ // For firstOccurrenceOnly mode, we need to find the earliest match across
109
+ // all terms (name + aliases) for each entity, then link that one
110
+ // Also need to handle overlapping matches between different entities
111
+ // First, collect ALL valid matches for each entity (name + aliases combined)
112
+ const entityAllMatches = new Map();
113
+ for (const { term, entityName } of allSearchTerms) {
114
+ const entityKey = entityName.toLowerCase();
115
+ // Find all matches of the search term
116
+ const matches = findEntityMatches(result, term, caseInsensitive);
117
+ // Filter out matches in protected zones
118
+ const validMatches = matches.filter(match => !rangeOverlapsProtectedZone(match.start, match.end, zones));
119
+ if (validMatches.length === 0) {
120
+ continue;
121
+ }
122
+ // Add to entity's matches
123
+ const existingMatches = entityAllMatches.get(entityKey) || [];
124
+ for (const match of validMatches) {
125
+ existingMatches.push({ term, match });
126
+ }
127
+ entityAllMatches.set(entityKey, existingMatches);
128
+ }
129
+ // Sort each entity's matches by position
130
+ for (const [_entityKey, matches] of entityAllMatches.entries()) {
131
+ matches.sort((a, b) => a.match.start - b.match.start);
132
+ }
133
+ // Build final list: for each entity, pick the earliest non-overlapping match
134
+ // Process entities in order of their earliest match length (longest first for same position)
135
+ let allCandidates = [];
136
+ for (const [entityKey, matches] of entityAllMatches.entries()) {
137
+ // Find the original entityName (with correct casing)
138
+ const entityName = allSearchTerms.find(t => t.entityName.toLowerCase() === entityKey)?.entityName || entityKey;
139
+ for (const m of matches) {
140
+ allCandidates.push({ entityName, ...m });
141
+ }
90
142
  }
91
- // Determine which matches to process
92
- const matchesToProcess = firstOccurrenceOnly
93
- ? [validMatches[0]]
94
- : [...validMatches].reverse(); // Process from end to start to preserve positions
95
- for (const match of matchesToProcess) {
96
- // Apply wikilink (use original entity name for consistency)
97
- const wikilink = `[[${entity}]]`;
143
+ // Sort by position, then by match length (descending)
144
+ allCandidates.sort((a, b) => {
145
+ if (a.match.start !== b.match.start)
146
+ return a.match.start - b.match.start;
147
+ return b.match.matched.length - a.match.matched.length;
148
+ });
149
+ // Select non-overlapping matches, preferring longer ones at same position
150
+ // Each entity gets at most one match
151
+ const selectedMatches = [];
152
+ const selectedEntityNames = new Set();
153
+ for (const candidate of allCandidates) {
154
+ const entityKey = candidate.entityName.toLowerCase();
155
+ // Skip if this entity already has a selected match
156
+ if (selectedEntityNames.has(entityKey)) {
157
+ continue;
158
+ }
159
+ // Check if this overlaps with any already selected match
160
+ const overlaps = selectedMatches.some(existing => (candidate.match.start >= existing.match.start && candidate.match.start < existing.match.end) ||
161
+ (candidate.match.end > existing.match.start && candidate.match.end <= existing.match.end) ||
162
+ (candidate.match.start <= existing.match.start && candidate.match.end >= existing.match.end));
163
+ if (!overlaps) {
164
+ selectedMatches.push(candidate);
165
+ selectedEntityNames.add(entityKey);
166
+ }
167
+ }
168
+ // Sort by position from end to start to preserve offsets when inserting
169
+ selectedMatches.sort((a, b) => b.match.start - a.match.start);
170
+ for (const { entityName, term: _term, match } of selectedMatches) {
171
+ // Use display text format when matched text differs from entity name
172
+ const matchedTextLower = match.matched.toLowerCase();
173
+ const entityNameLower = entityName.toLowerCase();
174
+ const wikilink = matchedTextLower === entityNameLower
175
+ ? `[[${entityName}]]`
176
+ : `[[${entityName}|${match.matched}]]`;
98
177
  result = result.slice(0, match.start) + wikilink + result.slice(match.end);
99
178
  // Update protected zones (shift positions after insertion)
100
179
  const shift = wikilink.length - match.matched.length;
@@ -111,8 +190,49 @@ export function applyWikilinks(content, entities, options = {}) {
111
190
  });
112
191
  zones.sort((a, b) => a.start - b.start);
113
192
  linksAdded++;
114
- if (!linkedEntities.includes(entity)) {
115
- linkedEntities.push(entity);
193
+ if (!linkedEntities.includes(entityName)) {
194
+ linkedEntities.push(entityName);
195
+ }
196
+ }
197
+ }
198
+ else {
199
+ // For all occurrences mode, process each term
200
+ for (const { term, entityName } of allSearchTerms) {
201
+ // Find all matches of the search term
202
+ const matches = findEntityMatches(result, term, caseInsensitive);
203
+ // Filter out matches in protected zones
204
+ const validMatches = matches.filter(match => !rangeOverlapsProtectedZone(match.start, match.end, zones));
205
+ if (validMatches.length === 0) {
206
+ continue;
207
+ }
208
+ // Process from end to start to preserve positions
209
+ const matchesToProcess = [...validMatches].reverse();
210
+ for (const match of matchesToProcess) {
211
+ // Use display text format when matched text differs from entity name
212
+ const matchedTextLower = match.matched.toLowerCase();
213
+ const entityNameLower = entityName.toLowerCase();
214
+ const wikilink = matchedTextLower === entityNameLower
215
+ ? `[[${entityName}]]`
216
+ : `[[${entityName}|${match.matched}]]`;
217
+ result = result.slice(0, match.start) + wikilink + result.slice(match.end);
218
+ // Update protected zones (shift positions after insertion)
219
+ const shift = wikilink.length - match.matched.length;
220
+ zones = zones.map(zone => ({
221
+ ...zone,
222
+ start: zone.start <= match.start ? zone.start : zone.start + shift,
223
+ end: zone.end <= match.start ? zone.end : zone.end + shift,
224
+ }));
225
+ // Add new wikilink as protected zone
226
+ zones.push({
227
+ start: match.start,
228
+ end: match.start + wikilink.length,
229
+ type: 'wikilink',
230
+ });
231
+ zones.sort((a, b) => a.start - b.start);
232
+ linksAdded++;
233
+ if (!linkedEntities.includes(entityName)) {
234
+ linkedEntities.push(entityName);
235
+ }
116
236
  }
117
237
  }
118
238
  }
@@ -1 +1 @@
1
- {"version":3,"file":"wikilinks.js","sourceRoot":"","sources":["../src/wikilinks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wikilinks.js","sourceRoot":"","sources":["../src/wikilinks.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@velvetmonkey/vault-core",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Shared vault utilities for Flywheel ecosystem (entity scanning, wikilinks, protected zones)",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",