annosearch 0.4.2 → 0.4.4
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/README.md +118 -22
- package/dist/highlight.js +5 -2
- package/dist/highlight.js.map +1 -1
- package/dist/index.js +0 -0
- package/dist/load.js +14 -10
- package/dist/load.js.map +1 -1
- package/dist/utils.js +24 -0
- package/dist/utils.js.map +1 -1
- package/package.json +2 -2
- package/dist/index-config.yaml +0 -11
package/README.md
CHANGED
|
@@ -74,7 +74,9 @@ After Quickwit finishes ingesting and indexing the data we can perform a search.
|
|
|
74
74
|
|
|
75
75
|
## Usage
|
|
76
76
|
|
|
77
|
-
|
|
77
|
+
You can use AnnoSearch either natively with npm or via Docker containers.
|
|
78
|
+
|
|
79
|
+
### Native Installation (npm)
|
|
78
80
|
|
|
79
81
|
Make sure you have Quickwit installed and [running](https://quickwit.io/docs/get-started/quickstart) and then install AnnoSearch.
|
|
80
82
|
|
|
@@ -82,34 +84,31 @@ Make sure you have Quickwit installed and [running](https://quickwit.io/docs/get
|
|
|
82
84
|
npm install -g annosearch
|
|
83
85
|
```
|
|
84
86
|
|
|
85
|
-
|
|
87
|
+
Once installed, you can use all the commands directly (see [Commands](#commands) section below).
|
|
88
|
+
|
|
89
|
+
### Docker Usage
|
|
90
|
+
|
|
91
|
+
For containerized deployments, you can use Docker instead of installing npm packages.
|
|
86
92
|
|
|
87
|
-
|
|
93
|
+
#### Using Docker Compose
|
|
94
|
+
|
|
95
|
+
The docker-compose.yml file supports both pulling the published image from GitHub Container Registry (GHCR) or building locally:
|
|
88
96
|
|
|
89
97
|
```bash
|
|
98
|
+
# Pull from GHCR (recommended for production)
|
|
99
|
+
docker compose pull
|
|
100
|
+
docker compose up
|
|
101
|
+
|
|
102
|
+
# Or build locally (for development)
|
|
103
|
+
docker compose build
|
|
90
104
|
docker compose up
|
|
91
105
|
```
|
|
92
106
|
|
|
93
|
-
|
|
94
|
-
```bash
|
|
95
|
-
❯ http :3000/version
|
|
96
|
-
HTTP/1.1 200 OK
|
|
97
|
-
Access-Control-Allow-Credentials: true
|
|
98
|
-
Access-Control-Allow-Origin: *
|
|
99
|
-
Connection: keep-alive
|
|
100
|
-
Content-Length: 19
|
|
101
|
-
Content-Type: application/json; charset=utf-8
|
|
102
|
-
Date: Wed, 11 Jun 2025 13:01:46 GMT
|
|
103
|
-
ETag: W/"13-iZUY2mYGnAauZNa8YzHxtZrPkFE"
|
|
104
|
-
Keep-Alive: timeout=5
|
|
105
|
-
X-Powered-By: Express
|
|
107
|
+
The published image is available at `ghcr.io/annosearch/annosearch:latest`.
|
|
106
108
|
|
|
107
|
-
|
|
108
|
-
"version": "0.3.6"
|
|
109
|
-
}
|
|
110
|
-
```
|
|
109
|
+
## Commands
|
|
111
110
|
|
|
112
|
-
|
|
111
|
+
The following commands work with both native npm installation and Docker. For each command, expand the "Docker example" section to see how to run it in a container.
|
|
113
112
|
|
|
114
113
|
#### `init`
|
|
115
114
|
|
|
@@ -119,6 +118,22 @@ Initialize a new index with a specified ID.
|
|
|
119
118
|
annosearch init --index <index-id>
|
|
120
119
|
```
|
|
121
120
|
|
|
121
|
+
<details>
|
|
122
|
+
<summary>Docker example</summary>
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
# Using docker-compose
|
|
126
|
+
docker compose run --rm annosearch init --index <index-id>
|
|
127
|
+
|
|
128
|
+
# Using standalone docker (with published image)
|
|
129
|
+
docker run --rm --network annosearch_default \
|
|
130
|
+
-e QUICKWIT_BASE_URL=http://quickwit:7280/api/v1/ \
|
|
131
|
+
-v $(pwd)/qwdata:/quickwit/qwdata \
|
|
132
|
+
ghcr.io/annosearch/annosearch:latest init --index <index-id>
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
</details>
|
|
136
|
+
|
|
122
137
|
#### `load`
|
|
123
138
|
|
|
124
139
|
Load an index from a URI, specifying the type of content being loaded (e.g., Manifest, Collection, or AnnotationCollection).
|
|
@@ -130,6 +145,22 @@ annosearch load --index <index-id> --type <type> --uri <uri>
|
|
|
130
145
|
- `type`: The type of content (Manifest, Collection, AnnotationCollection).
|
|
131
146
|
- `uri`: The URI to load the content from.
|
|
132
147
|
|
|
148
|
+
<details>
|
|
149
|
+
<summary>Docker example</summary>
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
# Using docker-compose
|
|
153
|
+
docker compose run --rm annosearch load --index <index-id> --type <type> --uri <uri>
|
|
154
|
+
|
|
155
|
+
# Using standalone docker (with published image)
|
|
156
|
+
docker run --rm --network annosearch_default \
|
|
157
|
+
-e QUICKWIT_BASE_URL=http://quickwit:7280/api/v1/ \
|
|
158
|
+
-v $(pwd)/qwdata:/quickwit/qwdata \
|
|
159
|
+
ghcr.io/annosearch/annosearch:latest load --index <index-id> --type <type> --uri <uri>
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
</details>
|
|
163
|
+
|
|
133
164
|
#### `delete`
|
|
134
165
|
|
|
135
166
|
Delete an existing index by ID.
|
|
@@ -138,6 +169,22 @@ Delete an existing index by ID.
|
|
|
138
169
|
annosearch delete --index <index-id>
|
|
139
170
|
```
|
|
140
171
|
|
|
172
|
+
<details>
|
|
173
|
+
<summary>Docker example</summary>
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
# Using docker-compose
|
|
177
|
+
docker compose run --rm annosearch delete --index <index-id>
|
|
178
|
+
|
|
179
|
+
# Using standalone docker (with published image)
|
|
180
|
+
docker run --rm --network annosearch_default \
|
|
181
|
+
-e QUICKWIT_BASE_URL=http://quickwit:7280/api/v1/ \
|
|
182
|
+
-v $(pwd)/qwdata:/quickwit/qwdata \
|
|
183
|
+
ghcr.io/annosearch/annosearch:latest delete --index <index-id>
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
</details>
|
|
187
|
+
|
|
141
188
|
#### `search`
|
|
142
189
|
|
|
143
190
|
Perform a search on a specified index.
|
|
@@ -150,7 +197,23 @@ annosearch search --index <index-id> --query <search-query> [--page <page-number
|
|
|
150
197
|
- `page`: Optional page number (defaults to 0).
|
|
151
198
|
- `motivation`: Optional space separated list of motivation terms.
|
|
152
199
|
- `date`: Optional space separated list of date ranges.
|
|
153
|
-
- `user`: Optional space separated list of URIs that are the identities of users.
|
|
200
|
+
- `user`: Optional space separated list of URIs that are the identities of users.
|
|
201
|
+
|
|
202
|
+
<details>
|
|
203
|
+
<summary>Docker example</summary>
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
# Using docker-compose
|
|
207
|
+
docker compose run --rm annosearch search --index <index-id> --query <search-query>
|
|
208
|
+
|
|
209
|
+
# Using standalone docker (with published image)
|
|
210
|
+
docker run --rm --network annosearch_default \
|
|
211
|
+
-e QUICKWIT_BASE_URL=http://quickwit:7280/api/v1/ \
|
|
212
|
+
-v $(pwd)/qwdata:/quickwit/qwdata \
|
|
213
|
+
ghcr.io/annosearch/annosearch:latest search --index <index-id> --query <search-query>
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
</details>
|
|
154
217
|
|
|
155
218
|
#### `serve`
|
|
156
219
|
|
|
@@ -164,6 +227,30 @@ annosearch serve --port <port> --host <host> --cors <cors-origin>
|
|
|
164
227
|
- `host`: The host on which to run the server.
|
|
165
228
|
- `cors`: The cors origin.
|
|
166
229
|
|
|
230
|
+
For example, if you have indexed a collection called `foobar`, you can search it via:
|
|
231
|
+
|
|
232
|
+
```bash
|
|
233
|
+
http://localhost:3000/foobar/search?q=baz
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
<details>
|
|
237
|
+
<summary>Docker example</summary>
|
|
238
|
+
|
|
239
|
+
```bash
|
|
240
|
+
# Using docker-compose (recommended)
|
|
241
|
+
docker compose up
|
|
242
|
+
|
|
243
|
+
# Using standalone docker (with published image)
|
|
244
|
+
docker run --rm --network annosearch_default \
|
|
245
|
+
-e QUICKWIT_BASE_URL=http://quickwit:7280/api/v1/ \
|
|
246
|
+
-e ANNOSEARCH_PUBLIC_URL=http://localhost:3000 \
|
|
247
|
+
-p 3000:3000 \
|
|
248
|
+
-v $(pwd)/qwdata:/quickwit/qwdata \
|
|
249
|
+
ghcr.io/annosearch/annosearch:latest serve --port 3000 --host 0.0.0.0
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
</details>
|
|
253
|
+
|
|
167
254
|
#### `version`
|
|
168
255
|
|
|
169
256
|
Display the current version of AnnoSearch.
|
|
@@ -172,6 +259,15 @@ Display the current version of AnnoSearch.
|
|
|
172
259
|
annosearch version
|
|
173
260
|
```
|
|
174
261
|
|
|
262
|
+
<details>
|
|
263
|
+
<summary>Docker example</summary>
|
|
264
|
+
|
|
265
|
+
```bash
|
|
266
|
+
docker run --rm ghcr.io/annosearch/annosearch:latest version
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
</details>
|
|
270
|
+
|
|
175
271
|
|
|
176
272
|
## Configuration
|
|
177
273
|
|
package/dist/highlight.js
CHANGED
|
@@ -86,12 +86,12 @@ function createItem(id, term, prefix, suffix, counter, language) {
|
|
|
86
86
|
}
|
|
87
87
|
function highlightTerms(annotation_page, query, snippetLength = 25) {
|
|
88
88
|
const terms = query.split(/\s+/).map(utils_1.normalizeTerm).filter(Boolean); // Split into terms, normalize, remove empty ones
|
|
89
|
-
const annotationPageParser = new maniiifest_1.
|
|
89
|
+
const annotationPageParser = new maniiifest_1.ManiiifestAnnotationPage(annotation_page);
|
|
90
90
|
const annotations = annotationPageParser.iterateAnnotationPageAnnotation();
|
|
91
91
|
let matchCounter = 1;
|
|
92
92
|
let annotationItems = [];
|
|
93
93
|
for (const annotation of annotations) {
|
|
94
|
-
const annotationParser = new maniiifest_1.
|
|
94
|
+
const annotationParser = new maniiifest_1.ManiiifestAnnotation(annotation);
|
|
95
95
|
const bodyParser = annotationParser.iterateAnnotationTextualBody();
|
|
96
96
|
for (const body of bodyParser) {
|
|
97
97
|
const bodyValue = body.value;
|
|
@@ -108,6 +108,9 @@ function highlightTerms(annotation_page, query, snippetLength = 25) {
|
|
|
108
108
|
const exactMatch = match[0]; // Capture the exact match from the original text
|
|
109
109
|
let prefix = bodyValue.substring(Math.max(0, match.index - snippetLength), match.index);
|
|
110
110
|
let suffix = bodyValue.substring(match.index + exactMatch.length, Math.min(bodyValue.length, match.index + exactMatch.length + snippetLength));
|
|
111
|
+
// Strip HTML tags from prefix and suffix to ensure safe plain text display
|
|
112
|
+
prefix = (0, utils_1.stripHtmlTagsClean)(prefix);
|
|
113
|
+
suffix = (0, utils_1.stripHtmlTagsClean)(suffix);
|
|
111
114
|
// Add ellipses if the prefix or suffix is truncated
|
|
112
115
|
if (match.index - snippetLength > 0) {
|
|
113
116
|
prefix = '...' + prefix;
|
package/dist/highlight.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"highlight.js","sourceRoot":"","sources":["../src/highlight.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDA,
|
|
1
|
+
{"version":3,"file":"highlight.js","sourceRoot":"","sources":["../src/highlight.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
File without changes
|
package/dist/load.js
CHANGED
|
@@ -89,9 +89,13 @@ function processAutocompleteTerms(parser) {
|
|
|
89
89
|
const language = Array.isArray(lang)
|
|
90
90
|
? (lang.length > 0 ? lang[0] : '')
|
|
91
91
|
: (lang || '');
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
92
|
+
// First strip HTML tags from the entire text, then split into terms
|
|
93
|
+
const textWithoutHtml = (0, utils_1.stripHtmlTagsWithSpaces)(body.value);
|
|
94
|
+
for (const term of textWithoutHtml.split(/\s+/)) {
|
|
95
|
+
// Remove leading and trailing non-letter/number characters before normalization
|
|
96
|
+
const cleanedTerm = term
|
|
97
|
+
.replace(/^[^\p{L}\p{N}]+/u, '') // Remove leading non-letter/number characters
|
|
98
|
+
.replace(/[^\p{L}\p{N}]+$/u, ''); // Remove trailing non-letter/number characters
|
|
95
99
|
const normalizedTerm = (0, utils_1.normalizeTerm)(cleanedTerm);
|
|
96
100
|
if (normalizedTerm.length > 3) {
|
|
97
101
|
incrementTerm(normalizedTerm, language);
|
|
@@ -101,7 +105,7 @@ function processAutocompleteTerms(parser) {
|
|
|
101
105
|
}
|
|
102
106
|
function* processAnnotationsWorker(parser, uri, type) {
|
|
103
107
|
for (const annotation of parser.iterateAnnotationPageAnnotation()) {
|
|
104
|
-
const annotation_parser = new maniiifest_1.
|
|
108
|
+
const annotation_parser = new maniiifest_1.ManiiifestAnnotation(annotation);
|
|
105
109
|
const modifiedTarget = modifyAnnotationTarget(annotation_parser, uri, type).target;
|
|
106
110
|
yield Object.assign(Object.assign({}, annotation), { target: modifiedTarget });
|
|
107
111
|
}
|
|
@@ -120,7 +124,7 @@ function processAnnotations(indexId, uri, type, parser, commit) {
|
|
|
120
124
|
if (!jsonData) {
|
|
121
125
|
throw new errors_1.AnnoSearchValidationError('No JSON data returned from fetchJson');
|
|
122
126
|
}
|
|
123
|
-
currentParser = new maniiifest_1.
|
|
127
|
+
currentParser = new maniiifest_1.ManiiifestAnnotationPage(jsonData);
|
|
124
128
|
}
|
|
125
129
|
else {
|
|
126
130
|
currentParser = null;
|
|
@@ -131,13 +135,13 @@ function processAnnotations(indexId, uri, type, parser, commit) {
|
|
|
131
135
|
function processAnnotationPageRef(indexId, uri, type, annotationPageUrl, commit) {
|
|
132
136
|
return __awaiter(this, void 0, void 0, function* () {
|
|
133
137
|
const jsonData = yield (0, utils_1.fetchJson)(annotationPageUrl);
|
|
134
|
-
const parser = new maniiifest_1.
|
|
138
|
+
const parser = new maniiifest_1.ManiiifestAnnotationPage(jsonData);
|
|
135
139
|
yield processAnnotations(indexId, uri, type, parser, commit);
|
|
136
140
|
});
|
|
137
141
|
}
|
|
138
142
|
function processAnnotationPage(indexId, uri, type, page, commit) {
|
|
139
143
|
return __awaiter(this, void 0, void 0, function* () {
|
|
140
|
-
const parser = new maniiifest_1.
|
|
144
|
+
const parser = new maniiifest_1.ManiiifestAnnotationPage(page);
|
|
141
145
|
yield processAnnotations(indexId, uri, type, parser, commit);
|
|
142
146
|
});
|
|
143
147
|
}
|
|
@@ -172,7 +176,7 @@ function processManifest(indexId, manifestUrl, commit) {
|
|
|
172
176
|
yield ingestData(indexId + '_annotations', uniqueAnnotations, commit);
|
|
173
177
|
});
|
|
174
178
|
if (page.items) {
|
|
175
|
-
const parser = new maniiifest_1.
|
|
179
|
+
const parser = new maniiifest_1.ManiiifestAnnotationPage(page);
|
|
176
180
|
processAutocompleteTerms(parser);
|
|
177
181
|
const annotations = Array.from(processAnnotationsWorker(parser, manifestUrl, type));
|
|
178
182
|
yield filterAndProcess(annotations);
|
|
@@ -182,7 +186,7 @@ function processManifest(indexId, manifestUrl, commit) {
|
|
|
182
186
|
throw new errors_1.AnnoSearchValidationError('Annotation page ID is undefined');
|
|
183
187
|
}
|
|
184
188
|
const jsonData = yield (0, utils_1.fetchJson)(pageId);
|
|
185
|
-
const parser = new maniiifest_1.
|
|
189
|
+
const parser = new maniiifest_1.ManiiifestAnnotationPage(jsonData);
|
|
186
190
|
processAutocompleteTerms(parser);
|
|
187
191
|
const annotations = Array.from(processAnnotationsWorker(parser, manifestUrl, type));
|
|
188
192
|
yield filterAndProcess(annotations);
|
|
@@ -230,7 +234,7 @@ function processCollection(indexId, uri, commit) {
|
|
|
230
234
|
function processAnnotationCollection(indexId, annotationCollectionUrl, commit) {
|
|
231
235
|
return __awaiter(this, void 0, void 0, function* () {
|
|
232
236
|
const jsonData = yield (0, utils_1.fetchJson)(annotationCollectionUrl);
|
|
233
|
-
const parser = new maniiifest_1.
|
|
237
|
+
const parser = new maniiifest_1.ManiiifestAnnotationCollection(jsonData);
|
|
234
238
|
const type = parser.getAnnotationCollectionType();
|
|
235
239
|
if (type !== 'AnnotationCollection') {
|
|
236
240
|
throw new errors_1.AnnoSearchParseError('Should be a W3C annotation collection');
|
package/dist/load.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load.js","sourceRoot":"","sources":["../src/load.ts"],"names":[],"mappings":";;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"load.js","sourceRoot":"","sources":["../src/load.ts"],"names":[],"mappings":";;;;;;;;;;;AA2PA,8BA6BC;AAxRD,2CAAwH;AACxH,mCAAyF;AACzF,qCAA2E;AAC3E,yCAA0C;AAE1C,MAAM,WAAW,GAAG,sBAAsB,CAAC;AAC3C,MAAM,cAAc,GAAG,IAAA,uBAAY,EAAC,WAAW,CAAC,CAAC;AAEjD,MAAM,cAAc,GAAG,QAAQ,CAAC,CAAC,6BAA6B;AAC9D,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;AAElD,QAAQ,CAAC,CAAC,cAAc,CACpB,GAAwB,EACxB,SAAiB;IAEjB,IAAI,KAAK,GAA6D,EAAE,CAAC;IACzE,KAAK,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACnD,KAAK,CAAC,IAAI,+BACN,IAAI,IACD,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAE,6CAA6C;YAChF,SAAS,IACX,CAAC;QACH,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,KAAK,CAAC;YACZ,KAAK,GAAG,EAAE,CAAC;QACf,CAAC;IACL,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,KAAK,CAAC;IAChB,CAAC;AACL,CAAC;AAED,SAAe,UAAU,CAAI,OAAe,EAAE,WAAgB,EAAE,MAAe;;QAC3E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAA,mBAAW,EAAC,WAAW,CAAC,CAAC;YACzC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,sBAAsB,CAAC,CAAC,CAAC,GAAG,OAAO,SAAS,CAAC;YAC5E,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACzD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACjB,MAAM,IAAI,kCAAyB,CAAC,yCAAyC,CAAC,CAAC;YACnF,CAAC;YACD,mDAAmD;YACnD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC3C,wDAAwD;gBACxD,6CAA6C;gBAC7C,0DAA0D;YAC9D,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,kCAAyB,CAAC,uDAAuD,CAAC,CAAC;YACjG,CAAC;QACL,CAAC;IACL,CAAC;CAAA;AAED,SAAS,sBAAsB,CAAC,MAAW,EAAE,GAAW,EAAE,IAAY;IAClE,MAAM,MAAM,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;IAC5C,MAAM,MAAM,GAAG;QACX,EAAE,EAAE,GAAG;QACP,IAAI,EAAE,IAAI;KACb,CAAC;IACF,MAAM,kBAAkB,GAAG,CAAC,YAAiB,EAAE,EAAE;QAC7C,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACnC,iFAAiF;YACjF,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAChD,CAAC;aAAM,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YACnE,oEAAoE;YACpE,uCAAY,YAAY,KAAE,MAAM,EAAE,MAAM,IAAG;QAC/C,CAAC;QACD,+CAA+C;QAC/C,OAAO,YAAY,CAAC;IACxB,CAAC,CAAC;IACF,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC;IACtD,CAAC;SAAM,CAAC;QACJ,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;IAClD,CAAC;AACL,CAAC;AAGD,SAAS,aAAa,CAAC,IAAY,EAAE,QAAgB;IACjD,MAAM,GAAG,GAAG,GAAG,IAAI,GAAG,cAAc,GAAG,QAAQ,EAAE,CAAC;IAClD,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAW;IACzC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,0CAA0C,EAAE,EAAE,CAAC;QACrE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAyC,CAAC;QAC5D,MAAM,QAAQ,GAAW,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YACxC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAEnB,oEAAoE;QACpE,MAAM,eAAe,GAAG,IAAA,+BAAuB,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE5D,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9C,gFAAgF;YAChF,MAAM,WAAW,GAAG,IAAI;iBACnB,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,8CAA8C;iBAC9E,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,+CAA+C;YAErF,MAAM,cAAc,GAAG,IAAA,qBAAa,EAAC,WAAW,CAAC,CAAC;YAClD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,aAAa,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC;IACL,CAAC;AACL,CAAC;AAED,QAAQ,CAAC,CAAC,wBAAwB,CAAC,MAAW,EAAE,GAAW,EAAE,IAAY;IACrE,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,+BAA+B,EAAE,EAAE,CAAC;QAChE,MAAM,iBAAiB,GAAG,IAAI,iCAAoB,CAAC,UAAU,CAAC,CAAC;QAC/D,MAAM,cAAc,GAAG,sBAAsB,CAAC,iBAAiB,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC;QACnF,sCAAW,UAAU,KAAE,MAAM,EAAE,cAAc,GAAE,CAAC;IACpD,CAAC;AACL,CAAC;AAED,SAAe,kBAAkB,CAAC,OAAe,EAAE,GAAW,EAAE,IAAY,EAAE,MAAW,EAAE,MAAe;;QACtG,IAAI,aAAa,GAAG,MAAM,CAAC;QAC3B,OAAO,aAAa,EAAE,CAAC;YACnB,wBAAwB,CAAC,aAAa,CAAC,CAAC;YACxC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,aAAa,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;YACnF,MAAM,UAAU,CAAC,OAAO,GAAG,cAAc,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;YAChE,gDAAgD;YAChD,MAAM,WAAW,GAAG,aAAa,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC;YAC3D,IAAI,WAAW,EAAE,CAAC;gBACd,MAAM,QAAQ,GAAG,MAAM,IAAA,iBAAS,EAAC,WAAW,CAAC,CAAC;gBAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACZ,MAAM,IAAI,kCAAyB,CAAC,sCAAsC,CAAC,CAAC;gBAChF,CAAC;gBACD,aAAa,GAAG,IAAI,qCAAwB,CAAC,QAAQ,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACJ,aAAa,GAAG,IAAI,CAAC;YACzB,CAAC;QACL,CAAC;IAEL,CAAC;CAAA;AAED,SAAe,wBAAwB,CAAC,OAAe,EAAE,GAAW,EAAE,IAAY,EAAE,iBAAyB,EAAE,MAAe;;QAC1H,MAAM,QAAQ,GAAG,MAAM,IAAA,iBAAS,EAAC,iBAAiB,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,IAAI,qCAAwB,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,kBAAkB,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC;CAAA;AAED,SAAe,qBAAqB,CAAC,OAAe,EAAE,GAAW,EAAE,IAAY,EAAE,IAAS,EAAE,MAAe;;QACvG,MAAM,MAAM,GAAG,IAAI,qCAAwB,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,kBAAkB,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC;CAAA;AAED,SAAe,eAAe,CAAC,OAAe,EAAE,WAAmB,EAAE,MAAe;;QAChF,MAAM,QAAQ,GAAG,MAAM,IAAA,iBAAS,EAAC,WAAW,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,uBAAU,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,MAAM,CAAC,oBAAoB,EAAE,CAAC;QAC3C,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACtB,MAAM,IAAI,6BAAoB,CAAC,oCAAoC,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QACtC,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC5C,MAAM,eAAe,GAAG,MAAM,CAAC,sCAAsC,EAAE,CAAC;QAExE,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;YACvB,IAAI,MAAM,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpC,OAAO,CAAC,IAAI,CAAC,4BAA4B,MAAM,EAAE,CAAC,CAAC;gBACnD,SAAS;YACb,CAAC;YACD,IAAI,MAAM;gBAAE,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAEpC,0DAA0D;YAC1D,MAAM,gBAAgB,GAAG,CAAO,WAAkB,EAAE,EAAE;gBAClD,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;oBAChD,IAAI,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;wBACjC,OAAO,KAAK,CAAC;oBACjB,CAAC;oBACD,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC/B,OAAO,IAAI,CAAC;gBAChB,CAAC,CAAC,CAAC;gBACH,MAAM,UAAU,CAAC,OAAO,GAAG,cAAc,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;YAC1E,CAAC,CAAA,CAAC;YAEF,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,IAAI,qCAAwB,CAAC,IAAI,CAAC,CAAC;gBAClD,wBAAwB,CAAC,MAAM,CAAC,CAAC;gBACjC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;gBACpF,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,MAAM,EAAE,CAAC;oBACV,MAAM,IAAI,kCAAyB,CAAC,iCAAiC,CAAC,CAAC;gBAC3E,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,IAAA,iBAAS,EAAC,MAAM,CAAC,CAAC;gBACzC,MAAM,MAAM,GAAG,IAAI,qCAAwB,CAAC,QAAQ,CAAC,CAAC;gBACtD,wBAAwB,CAAC,MAAM,CAAC,CAAC;gBACjC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;gBACpF,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;YACxC,CAAC;QACL,CAAC;IACL,CAAC;CAAA;AAGD,SAAe,iBAAiB,CAAC,OAAe,EAAE,GAAW,EAAE,MAAe;;QAC1E,MAAM,QAAQ,GAAG,MAAM,IAAA,iBAAS,EAAC,GAAG,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,uBAAU,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,MAAM,CAAC,oBAAoB,EAAE,KAAK,YAAY,EAAE,CAAC;YACjD,MAAM,IAAI,6BAAoB,CAAC,uBAAuB,CAAC,CAAC;QAC5D,CAAC;QACD,SAAe,OAAO,CAAC,UAAe,EAAE,oBAAiC;;gBACrE,IAAI,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;oBAAE,OAAO;gBACpD,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBACxC,MAAM,MAAM,GAAG,IAAI,uBAAU,CAAC,UAAU,CAAC,CAAC;gBAC1C,IAAI,cAAc,GAAG,KAAK,CAAC;gBAC3B,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,yBAAyB,EAAE,EAAE,CAAC;oBAC5D,OAAO,CAAC,GAAG,CAAC,uBAAuB,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;oBACtD,MAAM,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;oBACxD,cAAc,GAAG,IAAI,CAAC;gBAC1B,CAAC;gBACD,IAAI,CAAC,cAAc,EAAE,CAAC;oBAClB,KAAK,MAAM,cAAc,IAAI,MAAM,CAAC,2BAA2B,EAAE,EAAE,CAAC;wBAChE,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;4BACvB,4CAA4C;4BAC5C,MAAM,OAAO,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC;wBACxD,CAAC;6BAAM,CAAC;4BACJ,+CAA+C;4BAC/C,MAAM,UAAU,GAAG,MAAM,IAAA,iBAAS,EAAC,cAAc,CAAC,EAAE,CAAC,CAAC;4BACtD,MAAM,OAAO,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;wBACpD,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;SAAA;QACD,MAAM,OAAO,CAAC,QAAQ,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IACvC,CAAC;CAAA;AAED,SAAe,2BAA2B,CAAC,OAAe,EAAE,uBAA+B,EAAE,MAAe;;QACxG,MAAM,QAAQ,GAAG,MAAM,IAAA,iBAAS,EAAC,uBAAuB,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,IAAI,2CAA8B,CAAC,QAAQ,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,MAAM,CAAC,2BAA2B,EAAE,CAAC;QAClD,IAAI,IAAI,KAAK,sBAAsB,EAAE,CAAC;YAClC,MAAM,IAAI,6BAAoB,CAAC,uCAAuC,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,4BAA4B,EAAE,CAAC;QACxD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC,CAAC,oBAAoB;YACrD,MAAM,wBAAwB,CAAC,OAAO,EAAE,uBAAuB,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAC9F,CAAC;aAAM,CAAC;YACJ,MAAM,qBAAqB,CAAC,OAAO,EAAE,uBAAuB,EAAE,IAAI,EAAE,SAAgB,EAAE,MAAM,CAAC,CAAC;QAClG,CAAC;IACL,CAAC;CAAA;AAED,SAAe,uBAAuB,CAAC,OAAe,EAAE,MAAe;;QACnE,MAAM,MAAM,GAAG,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QACrD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACzB,MAAM,UAAU,CAAC,OAAO,GAAG,eAAe,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC;CAAA;AAED,SAAsB,SAAS,CAAC,OAAe,EAAE,GAAW,EAAE,IAAY,EAAE,MAAe;;QACvF,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;YACjC,MAAM,IAAI,kCAAyB,CAAC,gCAAgC,CAAC,CAAC;QAC1E,CAAC;QAED,uEAAuE;QACvE,MAAM,aAAa,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,YAAY,OAAO,GAAG,cAAc,WAAW,CAAC,CAAC;QAChG,IAAI,aAAa,CAAC,IAAI,CAAC,kBAAkB,GAAG,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,kCAAyB,CAAC,SAAS,OAAO,wBAAwB,CAAC,CAAC;QAClF,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,SAAS,GAAG,eAAe,OAAO,EAAE,CAAC,CAAC;QACjE,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,UAAU;gBACX,MAAM,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;gBAC5C,MAAM;YACV,KAAK,YAAY;gBACb,MAAM,iBAAiB,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;gBAC9C,MAAM;YACV,KAAK,sBAAsB;gBACvB,MAAM,2BAA2B,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;gBACxD,MAAM;YACV;gBACI,MAAM,IAAI,kCAAyB,CAAC,kBAAkB,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,uBAAuB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAE5C,CAAC;CAAA"}
|
package/dist/utils.js
CHANGED
|
@@ -18,6 +18,8 @@ exports.handleError = handleError;
|
|
|
18
18
|
exports.handleWebError = handleWebError;
|
|
19
19
|
exports.fetchJson = fetchJson;
|
|
20
20
|
exports.createJsonl = createJsonl;
|
|
21
|
+
exports.stripHtmlTagsWithSpaces = stripHtmlTagsWithSpaces;
|
|
22
|
+
exports.stripHtmlTagsClean = stripHtmlTagsClean;
|
|
21
23
|
exports.normalizeTerm = normalizeTerm;
|
|
22
24
|
exports.escapeRegex = escapeRegex;
|
|
23
25
|
exports.escapeQuickwitQuery = escapeQuickwitQuery;
|
|
@@ -123,6 +125,28 @@ function createJsonl(data) {
|
|
|
123
125
|
return JSON.stringify(data) + '\n';
|
|
124
126
|
}
|
|
125
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* Strip HTML tags from text content, replacing with spaces to maintain word separation
|
|
130
|
+
* Used for processing text where HTML tags separate words (e.g., autocomplete term extraction)
|
|
131
|
+
*/
|
|
132
|
+
function stripHtmlTagsWithSpaces(text) {
|
|
133
|
+
return text.replace(/<[^>]*>/g, ' ');
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Strip HTML tags from text content completely for clean display text
|
|
137
|
+
* Used for creating clean snippets and display text (e.g., highlighting prefixes/suffixes)
|
|
138
|
+
* Removes only genuinely malformed HTML syntax that could cause display issues
|
|
139
|
+
*/
|
|
140
|
+
function stripHtmlTagsClean(text) {
|
|
141
|
+
return text
|
|
142
|
+
// Remove orphaned closing brackets at start (e.g., "p>text", "div>content")
|
|
143
|
+
.replace(/^[^<]*>/, '')
|
|
144
|
+
// Remove incomplete opening tags at end (missing closing bracket, e.g., "text<p", "word<div class=")
|
|
145
|
+
.replace(/<[^>]*$/, '')
|
|
146
|
+
// Remove incomplete closing tags at end (e.g., "text</div", "content</sp")
|
|
147
|
+
.replace(/<\/[^>]*$/, '')
|
|
148
|
+
.trim();
|
|
149
|
+
}
|
|
126
150
|
/**
|
|
127
151
|
* Normalize a term by trimming whitespace, converting to lowercase,
|
|
128
152
|
* and removing non-alphanumeric characters from the start and end.
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAQA,8BAEC;AAGD,4BAoBC;AAKD,kCAGC;AAED,wCAwCC;AAID,8BAOC;AAED,kCAMC;AAMD,sCAQC;AAED,kCAGC;AAKD,kDAMC;AAKD,gDAEC;AAKD,wDAKC;AAKD,0DAcC;AAKD,wCAcC;AAKD,gDAaC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "annosearch",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.4",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist/**/*"
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"cors": "^2.8.5",
|
|
37
37
|
"express": "^4.21.2",
|
|
38
38
|
"jest": "^29.7.0",
|
|
39
|
-
"maniiifest": "^
|
|
39
|
+
"maniiifest": "^2.0.0",
|
|
40
40
|
"nock": "^13.5.6",
|
|
41
41
|
"pino": "^9.5.0",
|
|
42
42
|
"pino-http": "^10.3.0",
|