@cyanheads/zenodo-mcp-server 0.1.2 → 0.1.3
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/AGENTS.md +22 -15
- package/CLAUDE.md +22 -15
- package/Dockerfile +3 -3
- package/README.md +6 -4
- package/changelog/0.1.x/0.1.3.md +35 -0
- package/dist/mcp-server/tools/definitions/get-record.tool.d.ts +106 -2
- package/dist/mcp-server/tools/definitions/get-record.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-record.tool.js +452 -106
- package/dist/mcp-server/tools/definitions/get-record.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/index.d.ts +283 -180
- package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/list-files.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/list-files.tool.js +21 -15
- package/dist/mcp-server/tools/definitions/list-files.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/list-versions.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/list-versions.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/list-versions.tool.js +29 -20
- package/dist/mcp-server/tools/definitions/list-versions.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/lookup-vocabulary.tool.d.ts +2 -1
- package/dist/mcp-server/tools/definitions/lookup-vocabulary.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/lookup-vocabulary.tool.js +39 -22
- package/dist/mcp-server/tools/definitions/lookup-vocabulary.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/read-file.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/read-file.tool.js +16 -14
- package/dist/mcp-server/tools/definitions/read-file.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/search-records.tool.d.ts +3 -3
- package/dist/mcp-server/tools/definitions/search-records.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/search-records.tool.js +138 -29
- package/dist/mcp-server/tools/definitions/search-records.tool.js.map +1 -1
- package/dist/mcp-server/tools/paging.d.ts +42 -0
- package/dist/mcp-server/tools/paging.d.ts.map +1 -0
- package/dist/mcp-server/tools/paging.js +44 -0
- package/dist/mcp-server/tools/paging.js.map +1 -0
- package/dist/mcp-server/tools/record-miss.d.ts +5 -1
- package/dist/mcp-server/tools/record-miss.d.ts.map +1 -1
- package/dist/mcp-server/tools/record-miss.js +6 -2
- package/dist/mcp-server/tools/record-miss.js.map +1 -1
- package/dist/services/zenodo/html-to-text.d.ts +19 -8
- package/dist/services/zenodo/html-to-text.d.ts.map +1 -1
- package/dist/services/zenodo/html-to-text.js +175 -48
- package/dist/services/zenodo/html-to-text.js.map +1 -1
- package/dist/services/zenodo/http.js +1 -1
- package/dist/services/zenodo/http.js.map +1 -1
- package/dist/services/zenodo/normalize.d.ts.map +1 -1
- package/dist/services/zenodo/normalize.js +5 -2
- package/dist/services/zenodo/normalize.js.map +1 -1
- package/dist/services/zenodo/query-builder.d.ts +84 -8
- package/dist/services/zenodo/query-builder.d.ts.map +1 -1
- package/dist/services/zenodo/query-builder.js +484 -21
- package/dist/services/zenodo/query-builder.js.map +1 -1
- package/dist/services/zenodo/text-preview.d.ts +1 -1
- package/dist/services/zenodo/text-preview.d.ts.map +1 -1
- package/dist/services/zenodo/text-preview.js +38 -38
- package/dist/services/zenodo/text-preview.js.map +1 -1
- package/package.json +7 -7
- package/server.json +3 -3
|
@@ -10,24 +10,26 @@ import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
|
10
10
|
import { downloadUrl, hasDotSegment, parseRecordRef, recordUrl, } from '../../../services/zenodo/identifiers.js';
|
|
11
11
|
import { cutPreview, isZip, languageHint, looksLikeText, previewMode, } from '../../../services/zenodo/text-preview.js';
|
|
12
12
|
import { getZenodoService } from '../../../services/zenodo/zenodo-service.js';
|
|
13
|
+
import { applyCap } from '../paging.js';
|
|
13
14
|
import { fence, inline } from '../render.js';
|
|
14
15
|
import { blankToUndefined } from '../schema-helpers.js';
|
|
15
16
|
const STATUSES = ['text', 'not_text', 'restricted', 'empty'];
|
|
16
|
-
/**
|
|
17
|
+
/** Bytes one read covers: a larger max_bytes is served at this many. */
|
|
17
18
|
const MAX_READ_BYTES = 65_536;
|
|
18
19
|
/**
|
|
19
|
-
* Guidance when a ZIP member read stops at max_bytes. A member cannot
|
|
20
|
-
* at an offset, so the next step depends on whether one larger read
|
|
20
|
+
* Guidance when a ZIP member read stops at the applied max_bytes. A member cannot
|
|
21
|
+
* be continued at an offset, so the next step depends on whether one larger read
|
|
22
|
+
* covers it.
|
|
21
23
|
*/
|
|
22
|
-
function memberTruncationNotice(end, size, maxBytes) {
|
|
23
|
-
const shown = `Showing bytes 0–${end} of ${size ?? 'an unknown total'}`;
|
|
24
|
+
function memberTruncationNotice(end, size, maxBytes, capNote) {
|
|
25
|
+
const shown = `Showing bytes 0–${end} of ${size?.toLocaleString('en-US') ?? 'an unknown total'}${capNote ? ` (${capNote})` : ''}`;
|
|
24
26
|
if (size !== undefined && size <= MAX_READ_BYTES) {
|
|
25
27
|
return `${shown}; call zenodo_read_file again with max_bytes ${size} to read the whole member.`;
|
|
26
28
|
}
|
|
27
29
|
if (size === undefined && maxBytes < MAX_READ_BYTES) {
|
|
28
30
|
return `${shown}; call zenodo_read_file again with max_bytes ${MAX_READ_BYTES} to read more of this member, and download the archive from download_url if that still stops short.`;
|
|
29
31
|
}
|
|
30
|
-
return `${shown}; the member is larger than the ${MAX_READ_BYTES}-byte read cap, so download the archive from download_url for the rest${maxBytes < MAX_READ_BYTES ? ` (max_bytes ${MAX_READ_BYTES} shows more of its start)` : ''}.`;
|
|
32
|
+
return `${shown}; the member is larger than the ${MAX_READ_BYTES.toLocaleString('en-US')}-byte read cap, so download the archive from download_url for the rest${maxBytes < MAX_READ_BYTES ? ` (max_bytes ${MAX_READ_BYTES} shows more of its start)` : ''}.`;
|
|
31
33
|
}
|
|
32
34
|
export const readFile = tool('zenodo_read_file', {
|
|
33
35
|
title: 'Read a Zenodo file excerpt',
|
|
@@ -58,9 +60,8 @@ export const readFile = tool('zenodo_read_file', {
|
|
|
58
60
|
.number()
|
|
59
61
|
.int()
|
|
60
62
|
.min(256)
|
|
61
|
-
.max(MAX_READ_BYTES)
|
|
62
63
|
.default(16_384)
|
|
63
|
-
.describe('Maximum bytes to read (256
|
|
64
|
+
.describe('Maximum bytes to read (256 or more), at most 65536 per call; larger values return 65536.'),
|
|
64
65
|
}),
|
|
65
66
|
output: z.object({
|
|
66
67
|
recid: z.string().describe('Record id read from (the latest version for a concept id).'),
|
|
@@ -112,7 +113,7 @@ export const readFile = tool('zenodo_read_file', {
|
|
|
112
113
|
notice: z
|
|
113
114
|
.string()
|
|
114
115
|
.optional()
|
|
115
|
-
.describe('Why no text was returned, or how to read the rest of the file.'),
|
|
116
|
+
.describe('Why no text was returned, or how to read the rest of the file, naming the 65,536-byte cap when it held back bytes.'),
|
|
116
117
|
},
|
|
117
118
|
errors: [
|
|
118
119
|
{
|
|
@@ -187,6 +188,7 @@ export const readFile = tool('zenodo_read_file', {
|
|
|
187
188
|
},
|
|
188
189
|
],
|
|
189
190
|
async handler(input, ctx) {
|
|
191
|
+
const { applied: maxBytes, capNote } = applyCap('max_bytes', input.max_bytes, MAX_READ_BYTES);
|
|
190
192
|
const ref = parseRecordRef(input.id);
|
|
191
193
|
if (ref.kind === 'invalid') {
|
|
192
194
|
throw ctx.fail('invalid_identifier', ref.message);
|
|
@@ -276,7 +278,7 @@ export const readFile = tool('zenodo_read_file', {
|
|
|
276
278
|
mode = previewMode(member, meta.mimetype);
|
|
277
279
|
if (mode === 'binary')
|
|
278
280
|
return notPreviewable();
|
|
279
|
-
read = await service.readMember(recid, entry.key, member,
|
|
281
|
+
read = await service.readMember(recid, entry.key, member, maxBytes, ctx);
|
|
280
282
|
if (read.status === 'not_found') {
|
|
281
283
|
throw ctx.fail('member_not_found', `The .zip "${inline(input.key)}" in record ${recid} has no member "${displayName}".`);
|
|
282
284
|
}
|
|
@@ -287,7 +289,7 @@ export const readFile = tool('zenodo_read_file', {
|
|
|
287
289
|
...(entry.size !== undefined ? { size: entry.size } : {}),
|
|
288
290
|
};
|
|
289
291
|
if (meta.size !== undefined && input.offset_bytes >= meta.size && meta.size > 0) {
|
|
290
|
-
throw ctx.fail('offset_out_of_range', `offset_bytes ${input.offset_bytes} is at or past the end of ${displayName} (${meta.size} bytes).`);
|
|
292
|
+
throw ctx.fail('offset_out_of_range', `offset_bytes ${input.offset_bytes} is at or past the end of ${displayName} (${meta.size.toLocaleString('en-US')} bytes).`);
|
|
291
293
|
}
|
|
292
294
|
if (meta.size === 0) {
|
|
293
295
|
if (input.offset_bytes > 0) {
|
|
@@ -298,7 +300,7 @@ export const readFile = tool('zenodo_read_file', {
|
|
|
298
300
|
mode = previewMode(entry.key, meta.mimetype);
|
|
299
301
|
if (mode === 'binary')
|
|
300
302
|
return notPreviewable();
|
|
301
|
-
read = await service.readContent(recid, entry.key, input.offset_bytes,
|
|
303
|
+
read = await service.readContent(recid, entry.key, input.offset_bytes, maxBytes, ctx);
|
|
302
304
|
if (read.status === 'range_not_satisfiable') {
|
|
303
305
|
throw ctx.fail('offset_out_of_range', `offset_bytes ${input.offset_bytes} is past the end of ${displayName}.`);
|
|
304
306
|
}
|
|
@@ -334,8 +336,8 @@ export const readFile = tool('zenodo_read_file', {
|
|
|
334
336
|
if (hasMore) {
|
|
335
337
|
const end = nextOffset - 1;
|
|
336
338
|
ctx.enrich.notice(member
|
|
337
|
-
? memberTruncationNotice(end, meta.size,
|
|
338
|
-
: `Showing bytes ${input.offset_bytes}–${end} of ${meta.size ?? 'an unknown total'}; call zenodo_read_file again with offset_bytes ${nextOffset}.`);
|
|
339
|
+
? memberTruncationNotice(end, meta.size, maxBytes, capNote)
|
|
340
|
+
: `Showing bytes ${input.offset_bytes}–${end} of ${meta.size?.toLocaleString('en-US') ?? 'an unknown total'}${capNote ? ` (${capNote})` : ''}; call zenodo_read_file again with offset_bytes ${nextOffset}.`);
|
|
339
341
|
}
|
|
340
342
|
return {
|
|
341
343
|
...described('text', meta),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-file.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/read-file.tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"read-file.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/read-file.tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EACL,WAAW,EACX,aAAa,EACb,cAAc,EACd,SAAS,GACV,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,UAAU,EACV,KAAK,EACL,YAAY,EACZ,aAAa,EAEb,WAAW,GACZ,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,CAAU,CAAC;AAGtE,wEAAwE;AACxE,MAAM,cAAc,GAAG,MAAM,CAAC;AAE9B;;;;GAIG;AACH,SAAS,sBAAsB,CAC7B,GAAW,EACX,IAAwB,EACxB,QAAgB,EAChB,OAA2B;IAE3B,MAAM,KAAK,GAAG,mBAAmB,GAAG,OAAO,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,IAAI,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAClI,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,IAAI,cAAc,EAAE,CAAC;QACjD,OAAO,GAAG,KAAK,gDAAgD,IAAI,4BAA4B,CAAC;IAClG,CAAC;IACD,IAAI,IAAI,KAAK,SAAS,IAAI,QAAQ,GAAG,cAAc,EAAE,CAAC;QACpD,OAAO,GAAG,KAAK,gDAAgD,cAAc,qGAAqG,CAAC;IACrL,CAAC;IACD,OAAO,GAAG,KAAK,mCAAmC,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,yEAAyE,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,eAAe,cAAc,2BAA2B,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;AAChQ,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,EAAE;IAC/C,KAAK,EAAE,4BAA4B;IACnC,WAAW,EACT,koBAAkoB;IACpoB,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAC9E,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,EAAE,EAAE,CAAC;aACF,MAAM,EAAE;aACR,IAAI,EAAE;aACN,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,GAAG,CAAC;aACR,QAAQ,CACP,6MAA6M,CAC9M;QACH,GAAG,EAAE,CAAC;aACH,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,IAAI,CAAC;aACT,QAAQ,CAAC,4EAA4E,CAAC;QACzF,cAAc,EAAE,CAAC;aACd,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;aAC7D,QAAQ,CACP,mHAAmH,CACpH;QACH,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,OAAO,CAAC,CAAC,CAAC;aACV,QAAQ,CACP,iHAAiH,CAClH;QACH,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,GAAG,CAAC;aACR,OAAO,CAAC,MAAM,CAAC;aACf,QAAQ,CACP,0FAA0F,CAC3F;KACJ,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4DAA4D,CAAC;QACxF,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;QACzC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;QAC7F,MAAM,EAAE,CAAC;aACN,IAAI,CAAC,QAAQ,CAAC;aACd,QAAQ,CACP,ySAAyS,CAC1S;QACH,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;QAC3F,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;QAC7F,GAAG,EAAE,CAAC;aACH,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,6FAA6F,CAC9F;QACH,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,sFAAsF,CACvF;QACH,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QACvE,cAAc,EAAE,CAAC;aACd,MAAM,EAAE;aACR,QAAQ,CAAC,uEAAuE,CAAC;QACpF,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,qJAAqJ,CACtJ;QACH,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;QAC3E,iBAAiB,EAAE,CAAC;aACjB,MAAM,EAAE;aACR,QAAQ,CAAC,6EAA6E,CAAC;QAC1F,MAAM,EAAE,CAAC;aACN,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;YACjD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;SACvD,CAAC;aACD,QAAQ,CAAC,kCAAkC,CAAC,CAChD;aACA,QAAQ,CAAC,iDAAiD,CAAC;QAC9D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QACrE,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,QAAQ,CAAC,2EAA2E,CAAC;QACxF,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,2EAA2E,CAAC;KACzF,CAAC;IACF,UAAU,EAAE;QACV,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,oHAAoH,CACrH;KACJ;IACD,MAAM,EAAE;QACN;YACE,MAAM,EAAE,oBAAoB;YAC5B,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,yFAAyF;YAC/F,QAAQ,EACN,4JAA4J;SAC/J;QACD;YACE,MAAM,EAAE,kBAAkB;YAC1B,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,gGAAgG;YACtG,QAAQ,EACN,sFAAsF;SACzF;QACD;YACE,MAAM,EAAE,gBAAgB;YACxB,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,wEAAwE;YAC9E,QAAQ,EACN,kIAAkI;SACrI;QACD;YACE,MAAM,EAAE,gBAAgB;YACxB,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,yEAAyE;YAC/E,QAAQ,EAAE,0EAA0E;SACrF;QACD;YACE,MAAM,EAAE,gBAAgB;YACxB,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,6CAA6C;YACnD,QAAQ,EACN,yFAAyF;SAC5F;QACD;YACE,MAAM,EAAE,kBAAkB;YAC1B,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,wDAAwD;YAC9D,QAAQ,EAAE,kFAAkF;SAC7F;QACD;YACE,MAAM,EAAE,2BAA2B;YACnC,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,sDAAsD;YAC5D,QAAQ,EACN,uHAAuH;SAC1H;QACD;YACE,MAAM,EAAE,qBAAqB;YAC7B,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,gDAAgD;YACtD,QAAQ,EACN,mJAAmJ;SACtJ;QACD;YACE,MAAM,EAAE,qBAAqB;YAC7B,IAAI,EAAE,gBAAgB,CAAC,kBAAkB;YACzC,IAAI,EAAE,4JAA4J;YAClK,QAAQ,EAAE,SAAS;YACnB,QAAQ,EACN,mLAAmL;SACtL;QACD;YACE,MAAM,EAAE,oBAAoB;YAC5B,IAAI,EAAE,gBAAgB,CAAC,kBAAkB;YACzC,IAAI,EAAE,8OAA8O;YACpP,QAAQ,EAAE,SAAS;YACnB,QAAQ,EACN,oSAAoS;SACvS;QACD;YACE,MAAM,EAAE,cAAc;YACtB,IAAI,EAAE,gBAAgB,CAAC,WAAW;YAClC,IAAI,EAAE,yGAAyG;YAC/G,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,SAAS;YACnB,QAAQ,EACN,8GAA8G;SACjH;KACF;IAED,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAC9F,MAAM,GAAG,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QAEnC,IAAI,MAAoB,CAAC;QACzB,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAChC,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YAC3E,IAAI,UAAU,CAAC,MAAM,KAAK,eAAe,EAAE,CAAC;gBAC1C,MAAM,GAAG,CAAC,IAAI,CACZ,kBAAkB,EAClB,OAAO,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,GAAG,wCAAwC,CAC1E,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACvD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,GAAG,CAAC,IAAI,CACZ,gBAAgB,EAChB,UAAU,GAAG,CAAC,KAAK,uDAAuD,CAC3E,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAC9B,MAAM,GAAG,CAAC,IAAI,CACZ,kBAAkB,EAClB,MAAM,CAAC,MAAM,KAAK,YAAY;oBAC5B,CAAC,CAAC,UAAU,GAAG,CAAC,KAAK,wEAAwE;oBAC7F,CAAC,CAAC,2BAA2B,GAAG,CAAC,KAAK,GAAG,CAC5C,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QACzB,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QACxC,MAAM,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC;QACpC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAC5B,aAAa,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,yCAAyC,CAAC;QAErI,MAAM,IAAI,GAAG;YACX,KAAK;YACL,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,cAAc,EAAE,CAAC;YACjB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,CAAC;YACpB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YACrF,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC;YAC5B,YAAY,EAAE,KAAK,EAAE,YAAY,IAAI,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;YAClE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxD,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,IAA0C,EAAE,EAAE,CAAC,CAAC;YACjF,GAAG,IAAI;YACP,MAAM;YACN,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,GAAG,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrD,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,CAClB,MAAc,EACd,MAAc,EACd,IAA0C,EAC1C,EAAE;YACF,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC1B,OAAO,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC;QAEF,IAAI,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;YACnD,OAAO,WAAW,CAAC,YAAY,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,GAAG,CAAC,IAAI,CACZ,gBAAgB,EAChB,KAAK,CAAC,OAAO;gBACX,CAAC,CAAC,UAAU,KAAK,0BAA0B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI;gBAChE,CAAC,CAAC,UAAU,KAAK,4CAA4C,CAChE,CAAC;QACJ,CAAC;QAED,IAAI,IAA0C,CAAC;QAC/C,IAAI,IAAiB,CAAC;QACtB,IAAI,IAAiB,CAAC;QACtB,MAAM,cAAc,GAAG,GAAG,EAAE,CAC1B,WAAW,CACT,UAAU,EACV,GAAG,WAAW,oCAAoC,IAAI,CAAC,QAAQ,IAAI,cAAc,mCAAmC,EACpH,IAAI,CACL,CAAC;QACJ,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtC,MAAM,GAAG,CAAC,IAAI,CACZ,gBAAgB,EAChB,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,iEAAiE,CACvF,CAAC;YACJ,CAAC;YACD,IAAI,KAAK,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,GAAG,CAAC,IAAI,CACZ,2BAA2B,EAC3B,mGAAmG,CACpG,CAAC;YACJ,CAAC;YACD,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1B,MAAM,GAAG,CAAC,IAAI,CACZ,kBAAkB,EAClB,IAAI,WAAW,wEAAwE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAC7G,CAAC;YACJ,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACpE,MAAM,MAAM,GACV,SAAS,CAAC,MAAM,KAAK,IAAI;gBACvB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;gBAC1D,CAAC,CAAC,SAAS,CAAC;YAChB,IAAI,GAAG;gBACL,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,GAAG,CAAC,MAAM,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7D,CAAC;YACF,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;gBAAE,OAAO,WAAW,CAAC,OAAO,EAAE,GAAG,WAAW,YAAY,EAAE,IAAI,CAAC,CAAC;YACnF,IAAI,GAAG,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1C,IAAI,IAAI,KAAK,QAAQ;gBAAE,OAAO,cAAc,EAAE,CAAC;YAC/C,IAAI,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;YACzE,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAChC,MAAM,GAAG,CAAC,IAAI,CACZ,kBAAkB,EAClB,aAAa,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,KAAK,mBAAmB,WAAW,IAAI,CACrF,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,GAAG;gBACL,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1D,CAAC;YACF,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAChF,MAAM,GAAG,CAAC,IAAI,CACZ,qBAAqB,EACrB,gBAAgB,KAAK,CAAC,YAAY,6BAA6B,WAAW,KAAK,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,CAC3H,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACpB,IAAI,KAAK,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;oBAC3B,MAAM,GAAG,CAAC,IAAI,CACZ,qBAAqB,EACrB,GAAG,WAAW,8BAA8B,KAAK,CAAC,YAAY,mBAAmB,CAClF,CAAC;gBACJ,CAAC;gBACD,OAAO,WAAW,CAAC,OAAO,EAAE,GAAG,WAAW,YAAY,EAAE,IAAI,CAAC,CAAC;YAChE,CAAC;YACD,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7C,IAAI,IAAI,KAAK,QAAQ;gBAAE,OAAO,cAAc,EAAE,CAAC;YAC/C,IAAI,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,YAAY,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;YACtF,IAAI,IAAI,CAAC,MAAM,KAAK,uBAAuB,EAAE,CAAC;gBAC5C,MAAM,GAAG,CAAC,IAAI,CACZ,qBAAqB,EACrB,gBAAgB,KAAK,CAAC,YAAY,uBAAuB,WAAW,GAAG,CACxE,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAChC,MAAM,GAAG,CAAC,IAAI,CACZ,gBAAgB,EAChB,8BAA8B,WAAW,eAAe,KAAK,GAAG,CACjE,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;gBAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;QACxF,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAChC,gGAAgG;YAChG,OAAO,WAAW,CAChB,YAAY,EACZ,sCAAsC,WAAW,+CAA+C,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,8FAA8F,EAC3N,IAAI,CACL,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,uFAAuF;YACvF,IAAI,KAAK,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,GAAG,CAAC,IAAI,CACZ,qBAAqB,EACrB,gBAAgB,KAAK,CAAC,YAAY,uBAAuB,WAAW,GAAG,CACxE,CAAC;YACJ,CAAC;YACD,OAAO,WAAW,CAAC,OAAO,EAAE,GAAG,WAAW,YAAY,EAAE,IAAI,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE;YACjC,OAAO,EAAE,KAAK,CAAC,YAAY,KAAK,CAAC;YACjC,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAC;QACH,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,OAAO,WAAW,CAChB,UAAU,EACV,GAAG,WAAW,oCAAoC,IAAI,CAAC,QAAQ,IAAI,gBAAgB,mCAAmC,EACtH,IAAI,CACL,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;YAC7E,OAAO,WAAW,CAChB,UAAU,EACV,GAAG,WAAW,6DAA6D,IAAI,CAAC,QAAQ,IAAI,cAAc,mCAAmC,EAC7I,IAAI,CACL,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC;QACjC,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC;QACtD,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,GAAG,GAAG,UAAU,GAAG,CAAC,CAAC;YAC3B,GAAG,CAAC,MAAM,CAAC,MAAM,CACf,MAAM;gBACJ,CAAC,CAAC,sBAAsB,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC;gBAC3D,CAAC,CAAC,iBAAiB,KAAK,CAAC,YAAY,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,IAAI,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,mDAAmD,UAAU,GAAG,CAC/M,CAAC;QACJ,CAAC;QAED,OAAO;YACL,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC;YAC1B,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,cAAc,EAAE,GAAG,CAAC,SAAS;YAC7B,QAAQ,EAAE,OAAO;YACjB,GAAG,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,iBAAiB,EAAE,GAAG,CAAC,gBAAgB;SACxC,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QACjB,MAAM,IAAI,GAAG,MAAM,CAAC,cAAc;YAChC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG;YAC/D,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACvB,MAAM,KAAK,GAAa;YACtB,MAAM,IAAI,aAAa,MAAM,CAAC,KAAK,EAAE;YACrC,eAAe,MAAM,CAAC,MAAM,qBAAqB,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,SAAS,CAAC,qBAAqB,MAAM,CAAC,SAAS,IAAI,SAAS,SAAS,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;YACvM,eAAe,MAAM,CAAC,YAAY,0BAA0B,MAAM,CAAC,cAAc,oBAAoB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,uBAAuB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,6BAA6B,MAAM,CAAC,iBAAiB,EAAE;YACjQ,gBAAgB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,aAAa,MAAM,CAAC,UAAU,EAAE;YAClL,iBAAiB,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,wBAAwB,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;SAC1H,CAAC;QACF,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CACR,EAAE,EACF,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE;gBACjB,GAAG,EAAE,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,GAAG;gBACxC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,GAAG,CAAC;gBACvD,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC,CACH,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -117,8 +117,8 @@ export declare const searchRecords: import("@cyanheads/mcp-ts-core").ToolDefinit
|
|
|
117
117
|
}, {
|
|
118
118
|
readonly reason: "query_syntax";
|
|
119
119
|
readonly code: JsonRpcErrorCode.ValidationError;
|
|
120
|
-
readonly when: "The query
|
|
121
|
-
readonly recovery: "
|
|
120
|
+
readonly when: "The query holds something Zenodo cannot run: a regular expression with no closing / (an unescaped / outside double quotes) or with a \" inside /…/ left open; a \" inside a word whose phrase never closes (with a filter other than community and all_versions set, only when the query still fails once that phrase is closed at its end) or closes past a bracket the query needs; a range bound ending in a backslash, as one holding an escaped space, ] or } does; an unescaped ! with nothing after it; or a boost, fuzziness, or proximity value it cannot convert. Or a filter other than community and all_versions is set and the query is not valid search syntax, which Zenodo would match as plain text with every filter dropped";
|
|
121
|
+
readonly recovery: "Fix the syntax the message names, then call zenodo_search_records again: double-quote or backslash-escape any / [ ] { } ~ ^ : or ! meant as plain text (\"[CMIP6]\", \\[CMIP6\\], 10.5281\\/zenodo.1, climate\\!) and any \" inside a regular expression or a word (12\\\" vinyl), write phrases in double quotes rather than single, drop a doubled or dangling operator (AND AND, or one with nothing after it inside parentheses, as in (climate AND)), give a field: prefix a value, close a range as [a TO b] and double-quote a bound that holds a space, ] or } ([a TO \"b]\"]), and give a boost or fuzziness one decimal number and a phrase proximity a whole number (^2, ~0.5, \"x y\"~2).";
|
|
122
122
|
}, {
|
|
123
123
|
readonly reason: "query_failed";
|
|
124
124
|
readonly code: JsonRpcErrorCode.ServiceUnavailable;
|
|
@@ -151,7 +151,7 @@ export declare const searchRecords: import("@cyanheads/mcp-ts-core").ToolDefinit
|
|
|
151
151
|
}, {
|
|
152
152
|
readonly reason: "result_window_exceeded";
|
|
153
153
|
readonly code: JsonRpcErrorCode.ValidationError;
|
|
154
|
-
readonly when: "page × size
|
|
154
|
+
readonly when: "The page starts past the first 10,000 matches: (page − 1) × size is 10,000 or more, counting a size above 25 as 25";
|
|
155
155
|
readonly recovery: "Zenodo serves only the first 10,000 matches; add filters or a published_from/published_to range to zenodo_search_records instead of paging deeper.";
|
|
156
156
|
}, {
|
|
157
157
|
readonly reason: "rate_limited";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-records.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-records.tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"search-records.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-records.tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA2SjE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsfxB,CAAC"}
|
|
@@ -8,13 +8,105 @@
|
|
|
8
8
|
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
9
9
|
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
10
10
|
import { isValidOrcid, isWholeIdentifier, normalizeOrcid, ORCID_PATTERN, parseAwardRef, parseCommunityRef, parseFunderRef, } from '../../../services/zenodo/identifiers.js';
|
|
11
|
-
import { ACCESS_STATUSES, expandPartialDate,
|
|
11
|
+
import { ACCESS_STATUSES, engineSyntaxError, expandPartialDate, isConversionError, isValidPartialDate, queryAsSent, querySyntaxError, SEARCH_SORTS, } from '../../../services/zenodo/query-builder.js';
|
|
12
12
|
import { RESOURCE_TYPE_IDS, resolveResourceTypeId } from '../../../services/zenodo/resource-types.js';
|
|
13
13
|
import { getZenodoService } from '../../../services/zenodo/zenodo-service.js';
|
|
14
|
+
import { applyCap, hasMorePages, PAGE_SIZE_CAP, RESULT_WINDOW, reachableHits, windowRejection, } from '../paging.js';
|
|
14
15
|
import { inline } from '../render.js';
|
|
15
16
|
import { blankToUndefined, enumPreprocess, toOptionalArray } from '../schema-helpers.js';
|
|
16
|
-
const RESULT_WINDOW = 10_000;
|
|
17
17
|
const PARTIAL_DATE_PATTERN = /^\d{4}(-(0[1-9]|1[0-2])(-(0[1-9]|[12]\d|3[01]))?)?$/;
|
|
18
|
+
/** Inputs that compose into `q`; `community` and `all_versions` ride their own params. */
|
|
19
|
+
const Q_FILTERS = [
|
|
20
|
+
'resource_type',
|
|
21
|
+
'funder',
|
|
22
|
+
'award',
|
|
23
|
+
'creator_orcid',
|
|
24
|
+
'file_type',
|
|
25
|
+
'license',
|
|
26
|
+
'access_status',
|
|
27
|
+
'published_from',
|
|
28
|
+
'published_to',
|
|
29
|
+
];
|
|
30
|
+
/** `s` cut to `max` characters, marking the cut end with `…`. */
|
|
31
|
+
const clip = (s, max, from) => {
|
|
32
|
+
if (s.length <= max)
|
|
33
|
+
return s;
|
|
34
|
+
return from === 'end' ? `…${s.slice(-max)}` : `${s.slice(0, max)}…`;
|
|
35
|
+
};
|
|
36
|
+
/** Where and why `query` fails to parse, quoting the query around the spot. */
|
|
37
|
+
function describeSyntaxError(query, { index, problem, token }) {
|
|
38
|
+
const before = inline(clip(query.slice(0, index), 40, 'end')).trimEnd();
|
|
39
|
+
const from = inline(clip(query.slice(index), 40, 'start'));
|
|
40
|
+
const value = inline(clip(token, 40, 'start'));
|
|
41
|
+
switch (problem) {
|
|
42
|
+
case 'unexpected':
|
|
43
|
+
return `unexpected "${value}" ${before ? `after "${before}"` : 'at the start'}`;
|
|
44
|
+
case 'end':
|
|
45
|
+
return `it ends after "${before}" where a term must follow`;
|
|
46
|
+
case 'quote':
|
|
47
|
+
return `a term starts with a single quote at "${from}"`;
|
|
48
|
+
case 'escape':
|
|
49
|
+
return `a backslash ${index + 1 < query.length ? 'before a line break' : 'at the end'} escapes nothing (after "${before}")`;
|
|
50
|
+
case 'phrase':
|
|
51
|
+
return `the phrase starting "${from}" has no closing double quote`;
|
|
52
|
+
case 'regex':
|
|
53
|
+
return `the regular expression starting "${from}" has no closing /`;
|
|
54
|
+
case 'regex_quote':
|
|
55
|
+
return `the regular expression "${value}" opens a quoted string with " and never closes it`;
|
|
56
|
+
case 'word_quote':
|
|
57
|
+
return `the double quote after "${before}" opens a phrase that never closes`;
|
|
58
|
+
case 'word_span':
|
|
59
|
+
return `the ${token.startsWith('/') ? 'regular expression' : 'phrase'} "${value}" opened after "${before}" takes in a parenthesis or bracket the query needs`;
|
|
60
|
+
case 'range_escape':
|
|
61
|
+
return `the range bound "${value}" after "${before}" ends in a backslash`;
|
|
62
|
+
case 'dangling_not':
|
|
63
|
+
return `the ! after "${before}" is a NOT with nothing after it`;
|
|
64
|
+
case 'boost':
|
|
65
|
+
return `the boost "${value}" after "${before}" is not one decimal number such as ^2 or ^0.5`;
|
|
66
|
+
case 'fuzzy':
|
|
67
|
+
return `the fuzziness "${value}" after "${before}" is not one decimal number such as ~1 or ~0.5`;
|
|
68
|
+
case 'proximity':
|
|
69
|
+
return `the proximity "${value}" after "${before}" is not a whole number such as ~2`;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/** How Zenodo's search engine reads the character an {@link engineSyntaxError} problem turns on. */
|
|
73
|
+
function engineReading({ problem, token }) {
|
|
74
|
+
if (problem === 'regex' || (problem === 'word_span' && token.startsWith('/'))) {
|
|
75
|
+
return ' (Zenodo reads any unescaped / outside double quotes as a regular-expression delimiter)';
|
|
76
|
+
}
|
|
77
|
+
switch (problem) {
|
|
78
|
+
case 'regex_quote':
|
|
79
|
+
return '';
|
|
80
|
+
case 'range_escape':
|
|
81
|
+
return ' (Zenodo ends a range bound at its first space, ] or }, even an escaped one, and cannot end one in a backslash)';
|
|
82
|
+
case 'dangling_not':
|
|
83
|
+
return ' (Zenodo reads an unescaped ! outside double quotes as NOT, inside a word too)';
|
|
84
|
+
default:
|
|
85
|
+
return ' (Zenodo reads a " inside a word as the start of a phrase)';
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/** ` as it would be sent ("…")` when the checked query differs from the caller's. */
|
|
89
|
+
const asSentNote = (checked, query) => checked === query ? '' : ` as it would be sent ("${inline(clip(checked, 200, 'start'))}")`;
|
|
90
|
+
/**
|
|
91
|
+
* The search-engine problem the query fails on, with the query its offsets index. It
|
|
92
|
+
* is read as written first, so the message names the cause before balancing could
|
|
93
|
+
* close it. Without filters, a query luqum cannot parse is matched as plain text and
|
|
94
|
+
* the engine never reads it. With filters, Zenodo runs the balanced query, so a
|
|
95
|
+
* problem balancing repairs (a `"` left open inside a word) fails only when that query
|
|
96
|
+
* still fails; a `/` left open fails as written, since balancing would turn the rest
|
|
97
|
+
* of the query into a regular expression.
|
|
98
|
+
*/
|
|
99
|
+
function engineFailure(query, sent, filtered, syntaxError) {
|
|
100
|
+
const written = query ? engineSyntaxError(query) : undefined;
|
|
101
|
+
if (!filtered)
|
|
102
|
+
return written && !syntaxError ? { error: written, query } : undefined;
|
|
103
|
+
if (written && (written.problem === 'regex' || syntaxError))
|
|
104
|
+
return { error: written, query };
|
|
105
|
+
const balanced = syntaxError ? undefined : engineSyntaxError(sent);
|
|
106
|
+
if (!balanced)
|
|
107
|
+
return undefined;
|
|
108
|
+
return written ? { error: written, query } : { error: balanced, query: sent };
|
|
109
|
+
}
|
|
18
110
|
/**
|
|
19
111
|
* Resource type preprocess: a lone string or array, each value resolved to its id
|
|
20
112
|
* (any case; `publication::publication-article` → `publication-article`). A value
|
|
@@ -162,7 +254,7 @@ export const searchRecords = tool('zenodo_search_records', {
|
|
|
162
254
|
input: z.object({
|
|
163
255
|
query: z
|
|
164
256
|
.preprocess(blankToUndefined, z.string().max(1000).optional())
|
|
165
|
-
.describe('Keyword query. Terms are OR-ed unless joined with AND; "quoted phrases" match exactly; field syntax such as metadata.title:"…" or doi:"10.5281/zenodo.N" works. Escape a literal / as \\/. A bare DOI or record URL is rejected; open it with zenodo_get_record instead. Omit to browse with filters only.'),
|
|
257
|
+
.describe('Keyword query. Terms are OR-ed unless joined with AND; "quoted phrases" (double quotes) match exactly; field syntax such as metadata.title:"…" or doi:"10.5281/zenodo.N" works. Escape a literal / as \\/. A bare DOI or record URL is rejected; open it with zenodo_get_record instead. With any filter other than community and all_versions, a query that is not valid search syntax (AND AND, a field: with no value, an unclosed [a TO b]) is rejected; without one, Zenodo matches it as plain text. Omit to browse with filters only.'),
|
|
166
258
|
resource_type: resourceTypeInput.describe('Resource type ids, OR-ed (a single string is accepted): dataset, software, publication, publication-article, image-photo, … Any case; a subtype may also be written in the <type>::<id> form zenodo_lookup_vocabulary shows as its search value (publication::publication-article). A top-level type includes its subtypes. Look ids up with zenodo_lookup_vocabulary (vocabulary: resource_types).'),
|
|
167
259
|
community: z
|
|
168
260
|
.preprocess(blankToUndefined, z.string().max(200).optional())
|
|
@@ -212,14 +304,20 @@ export const searchRecords = tool('zenodo_search_records', {
|
|
|
212
304
|
.int()
|
|
213
305
|
.min(1)
|
|
214
306
|
.default(1)
|
|
215
|
-
.describe('Result page, starting at 1.
|
|
216
|
-
size: z
|
|
307
|
+
.describe('Result page, starting at 1. Only the first 10,000 matches are reachable, so the last reachable page is 10,000 ÷ size rounded up (400 at size 25).'),
|
|
308
|
+
size: z
|
|
309
|
+
.number()
|
|
310
|
+
.int()
|
|
311
|
+
.min(1)
|
|
312
|
+
.max(10_000)
|
|
313
|
+
.default(10)
|
|
314
|
+
.describe('Results per page, at most 25 per call; larger values return 25.'),
|
|
217
315
|
}),
|
|
218
316
|
output: z.object({
|
|
219
317
|
total: z.number().describe('Exact number of matching records.'),
|
|
220
318
|
reachable: z.number().describe('Matches reachable by paging: min(total, 10,000).'),
|
|
221
319
|
page: z.number().describe('Page returned.'),
|
|
222
|
-
size: z.number().describe('Page size applied.'),
|
|
320
|
+
size: z.number().describe('Page size applied: size, or 25 when size asked for more.'),
|
|
223
321
|
has_more: z.boolean().describe('True when another reachable page follows.'),
|
|
224
322
|
next_page: z.number().optional().describe('The next page number, when has_more.'),
|
|
225
323
|
hits: z.array(HitSchema).describe('Matching deposits on this page.'),
|
|
@@ -257,7 +355,7 @@ export const searchRecords = tool('zenodo_search_records', {
|
|
|
257
355
|
enrichment: {
|
|
258
356
|
truncated: z.boolean().describe('True when more reachable matches follow this page.'),
|
|
259
357
|
shown: z.number().describe('Hits returned on this page.'),
|
|
260
|
-
cap: z.number().describe('Page size applied.'),
|
|
358
|
+
cap: z.number().describe('Page size applied (at most 25).'),
|
|
261
359
|
totalCount: z.number().describe('Exact number of matching records.'),
|
|
262
360
|
effectiveQuery: z.string().optional().describe('The exact q sent to Zenodo.'),
|
|
263
361
|
appliedSort: z.enum(SEARCH_SORTS).describe('The sort order applied.'),
|
|
@@ -265,7 +363,7 @@ export const searchRecords = tool('zenodo_search_records', {
|
|
|
265
363
|
notice: z
|
|
266
364
|
.string()
|
|
267
365
|
.optional()
|
|
268
|
-
.describe('Guidance on empty results, the 10,000-result window, or further pages.'),
|
|
366
|
+
.describe('Guidance on a query Zenodo matched as plain text, empty results, the 10,000-result window, the 25-per-call size cap, or further pages.'),
|
|
269
367
|
},
|
|
270
368
|
errors: [
|
|
271
369
|
{
|
|
@@ -277,8 +375,8 @@ export const searchRecords = tool('zenodo_search_records', {
|
|
|
277
375
|
{
|
|
278
376
|
reason: 'query_syntax',
|
|
279
377
|
code: JsonRpcErrorCode.ValidationError,
|
|
280
|
-
when: 'The query
|
|
281
|
-
recovery: '
|
|
378
|
+
when: 'The query holds something Zenodo cannot run: a regular expression with no closing / (an unescaped / outside double quotes) or with a " inside /…/ left open; a " inside a word whose phrase never closes (with a filter other than community and all_versions set, only when the query still fails once that phrase is closed at its end) or closes past a bracket the query needs; a range bound ending in a backslash, as one holding an escaped space, ] or } does; an unescaped ! with nothing after it; or a boost, fuzziness, or proximity value it cannot convert. Or a filter other than community and all_versions is set and the query is not valid search syntax, which Zenodo would match as plain text with every filter dropped',
|
|
379
|
+
recovery: 'Fix the syntax the message names, then call zenodo_search_records again: double-quote or backslash-escape any / [ ] { } ~ ^ : or ! meant as plain text ("[CMIP6]", \\[CMIP6\\], 10.5281\\/zenodo.1, climate\\!) and any " inside a regular expression or a word (12\\" vinyl), write phrases in double quotes rather than single, drop a doubled or dangling operator (AND AND, or one with nothing after it inside parentheses, as in (climate AND)), give a field: prefix a value, close a range as [a TO b] and double-quote a bound that holds a space, ] or } ([a TO "b]"]), and give a boost or fuzziness one decimal number and a phrase proximity a whole number (^2, ~0.5, "x y"~2).',
|
|
282
380
|
},
|
|
283
381
|
{
|
|
284
382
|
reason: 'query_failed',
|
|
@@ -317,7 +415,7 @@ export const searchRecords = tool('zenodo_search_records', {
|
|
|
317
415
|
{
|
|
318
416
|
reason: 'result_window_exceeded',
|
|
319
417
|
code: JsonRpcErrorCode.ValidationError,
|
|
320
|
-
when: 'page × size
|
|
418
|
+
when: 'The page starts past the first 10,000 matches: (page − 1) × size is 10,000 or more, counting a size above 25 as 25',
|
|
321
419
|
recovery: 'Zenodo serves only the first 10,000 matches; add filters or a published_from/published_to range to zenodo_search_records instead of paging deeper.',
|
|
322
420
|
},
|
|
323
421
|
{
|
|
@@ -331,22 +429,34 @@ export const searchRecords = tool('zenodo_search_records', {
|
|
|
331
429
|
],
|
|
332
430
|
async handler(input, ctx) {
|
|
333
431
|
const sort = input.sort ?? (input.query ? 'bestmatch' : 'newest');
|
|
432
|
+
const { applied: size, capNote } = applyCap('size', input.size, PAGE_SIZE_CAP);
|
|
334
433
|
ctx.enrich({
|
|
335
434
|
truncated: false,
|
|
336
435
|
shown: 0,
|
|
337
|
-
cap:
|
|
436
|
+
cap: size,
|
|
338
437
|
totalCount: 0,
|
|
339
438
|
appliedSort: sort,
|
|
340
439
|
allVersions: input.all_versions,
|
|
341
440
|
});
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
441
|
+
const pastWindow = windowRejection(input.page, size, 'matches', capNote);
|
|
442
|
+
if (pastWindow)
|
|
443
|
+
throw ctx.fail('result_window_exceeded', pastWindow);
|
|
345
444
|
if (input.query && isWholeIdentifier(input.query)) {
|
|
346
445
|
throw ctx.fail('query_is_identifier', `The query "${inline(input.query)}" is a record identifier, not search terms.`);
|
|
347
446
|
}
|
|
348
|
-
|
|
349
|
-
|
|
447
|
+
const filtered = Q_FILTERS.some((name) => input[name] !== undefined);
|
|
448
|
+
const sentQuery = queryAsSent(input.query, filtered);
|
|
449
|
+
const syntaxError = sentQuery ? querySyntaxError(sentQuery) : undefined;
|
|
450
|
+
const engine = engineFailure(input.query ?? '', sentQuery, filtered, syntaxError);
|
|
451
|
+
if (engine) {
|
|
452
|
+
throw ctx.fail('query_syntax', `Zenodo cannot run the query${asSentNote(engine.query, input.query)}: ${describeSyntaxError(engine.query, engine.error)}${engineReading(engine.error)}.`);
|
|
453
|
+
}
|
|
454
|
+
if (syntaxError && (filtered || isConversionError(syntaxError))) {
|
|
455
|
+
const asSent = asSentNote(sentQuery, input.query);
|
|
456
|
+
const detail = describeSyntaxError(sentQuery, syntaxError);
|
|
457
|
+
throw ctx.fail('query_syntax', isConversionError(syntaxError)
|
|
458
|
+
? `Zenodo cannot convert a number in the query${asSent}: ${detail}.`
|
|
459
|
+
: `Zenodo cannot parse the query${asSent}: ${detail}. With filters set, Zenodo would not apply them to this query.`);
|
|
350
460
|
}
|
|
351
461
|
const publishedFrom = input.published_from
|
|
352
462
|
? expandPartialDate(input.published_from, 'from')
|
|
@@ -379,7 +489,7 @@ export const searchRecords = tool('zenodo_search_records', {
|
|
|
379
489
|
const filters = {
|
|
380
490
|
allVersions: input.all_versions,
|
|
381
491
|
page: input.page,
|
|
382
|
-
size
|
|
492
|
+
size,
|
|
383
493
|
sort,
|
|
384
494
|
...(input.query ? { query: input.query } : {}),
|
|
385
495
|
...(input.resource_type ? { resourceTypes: input.resource_type } : {}),
|
|
@@ -395,13 +505,16 @@ export const searchRecords = tool('zenodo_search_records', {
|
|
|
395
505
|
};
|
|
396
506
|
const result = await service.searchRecords(filters, ctx);
|
|
397
507
|
const total = result.total;
|
|
398
|
-
const reachable =
|
|
399
|
-
const hasMore = input.page
|
|
508
|
+
const reachable = reachableHits(total);
|
|
509
|
+
const hasMore = hasMorePages(input.page, size, total);
|
|
400
510
|
ctx.enrich({ shown: result.hits.length });
|
|
401
511
|
ctx.enrich.total(total);
|
|
402
512
|
if (result.q)
|
|
403
513
|
ctx.enrich.echo(result.q);
|
|
404
514
|
const notice = [];
|
|
515
|
+
if (syntaxError) {
|
|
516
|
+
notice.push(`Zenodo could not parse the query (${describeSyntaxError(sentQuery, syntaxError)}), so it matched the query's words as plain text and ignored its operators, quotes, and field syntax.`);
|
|
517
|
+
}
|
|
405
518
|
if (total === 0) {
|
|
406
519
|
notice.push('No records matched.');
|
|
407
520
|
const narrowing = [
|
|
@@ -430,7 +543,7 @@ export const searchRecords = tool('zenodo_search_records', {
|
|
|
430
543
|
if (!input.all_versions) {
|
|
431
544
|
notice.push('Only the latest version of each deposit is searched; set all_versions to true to include superseded versions.');
|
|
432
545
|
}
|
|
433
|
-
if (input.query && /\bAND\b|"/.test(input.query)) {
|
|
546
|
+
if (input.query && !syntaxError && /\bAND\b|"/.test(input.query)) {
|
|
434
547
|
notice.push('Terms joined by AND must all match and quoted phrases must match exactly; loosen the query.');
|
|
435
548
|
}
|
|
436
549
|
if (input.published_from || input.published_to) {
|
|
@@ -438,19 +551,15 @@ export const searchRecords = tool('zenodo_search_records', {
|
|
|
438
551
|
}
|
|
439
552
|
}
|
|
440
553
|
else if (result.hits.length === 0) {
|
|
441
|
-
const last = Math.max(1, Math.ceil(reachable /
|
|
554
|
+
const last = Math.max(1, Math.ceil(reachable / size));
|
|
442
555
|
notice.push(`Page ${input.page} is past the last page (${last}); call again with page ${last} or lower.`);
|
|
443
556
|
}
|
|
444
557
|
if (total > RESULT_WINDOW) {
|
|
445
558
|
notice.push(`Only the first 10,000 of ${total.toLocaleString('en-US')} matches are reachable; add filters or a date range, or change sort.`);
|
|
446
559
|
}
|
|
447
560
|
if (hasMore) {
|
|
448
|
-
notice.push(`Showing ${result.hits.length} of ${reachable.toLocaleString('en-US')}; call again with page ${input.page + 1}.`);
|
|
449
|
-
ctx.enrich.truncated({
|
|
450
|
-
shown: result.hits.length,
|
|
451
|
-
cap: input.size,
|
|
452
|
-
guidance: notice.join(' '),
|
|
453
|
-
});
|
|
561
|
+
notice.push(`Showing ${result.hits.length} of ${reachable.toLocaleString('en-US')}${capNote ? ` (${capNote})` : ''}; call again with page ${input.page + 1}.`);
|
|
562
|
+
ctx.enrich.truncated({ shown: result.hits.length, cap: size, guidance: notice.join(' ') });
|
|
454
563
|
}
|
|
455
564
|
else if (notice.length) {
|
|
456
565
|
ctx.enrich.notice(notice.join(' '));
|
|
@@ -459,7 +568,7 @@ export const searchRecords = tool('zenodo_search_records', {
|
|
|
459
568
|
total,
|
|
460
569
|
reachable,
|
|
461
570
|
page: input.page,
|
|
462
|
-
size
|
|
571
|
+
size,
|
|
463
572
|
has_more: hasMore,
|
|
464
573
|
...(hasMore ? { next_page: input.page + 1 } : {}),
|
|
465
574
|
hits: result.hits,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-records.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-records.tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"search-records.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-records.tool.ts"],"names":[],"mappings":"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"}
|