@cyanheads/zenodo-mcp-server 0.1.1 → 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 +30 -22
- package/CLAUDE.md +30 -22
- package/Dockerfile +86 -40
- package/README.md +31 -4
- package/changelog/0.1.x/0.1.2.md +33 -0
- package/changelog/0.1.x/0.1.3.md +35 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- 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 +453 -107
- 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 +28 -22
- 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 +30 -21
- 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 +41 -24
- 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 +29 -27
- 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 +145 -35
- 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.d.ts.map +1 -1
- package/dist/services/zenodo/http.js +21 -32
- package/dist/services/zenodo/http.js.map +1 -1
- package/dist/services/zenodo/identifiers.js +1 -1
- package/dist/services/zenodo/identifiers.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 +14 -12
- package/server.json +16 -24
|
@@ -9,8 +9,11 @@ import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
|
9
9
|
import { parseRecordRef } from '../../../services/zenodo/identifiers.js';
|
|
10
10
|
import { isZip, previewMode } from '../../../services/zenodo/text-preview.js';
|
|
11
11
|
import { getZenodoService } from '../../../services/zenodo/zenodo-service.js';
|
|
12
|
+
import { applyCap } from '../paging.js';
|
|
12
13
|
import { inline } from '../render.js';
|
|
13
14
|
import { blankToUndefined } from '../schema-helpers.js';
|
|
15
|
+
/** Entries per page: a larger `limit` is served at this many. */
|
|
16
|
+
const LIMIT_CAP = 200;
|
|
14
17
|
/** True when zenodo_read_file reads the file rather than refusing it unread. */
|
|
15
18
|
const readsAsText = (key, mimetype) => previewMode(key, mimetype) !== 'binary';
|
|
16
19
|
const PREVIEWABLE_DESCRIPTION = 'True when zenodo_read_file reads this as text: a text MIME type or extension, or an extensionless application/octet-stream file (LICENSE, Makefile) whose content is checked on read and returned only if it is UTF-8 text.';
|
|
@@ -38,7 +41,13 @@ export const listFiles = tool('zenodo_list_files', {
|
|
|
38
41
|
.preprocess(blankToUndefined, z.string().max(200).optional())
|
|
39
42
|
.describe('Case-insensitive substring filter on file keys (manifest) or member paths (archive), applied before paging.'),
|
|
40
43
|
offset: z.number().int().min(0).default(0).describe('Entries to skip before this page.'),
|
|
41
|
-
limit: z
|
|
44
|
+
limit: z
|
|
45
|
+
.number()
|
|
46
|
+
.int()
|
|
47
|
+
.min(1)
|
|
48
|
+
.max(10_000)
|
|
49
|
+
.default(50)
|
|
50
|
+
.describe('Entries per page, at most 200 per call; larger values return 200.'),
|
|
42
51
|
}),
|
|
43
52
|
output: z.object({
|
|
44
53
|
recid: z
|
|
@@ -58,7 +67,7 @@ export const listFiles = tool('zenodo_list_files', {
|
|
|
58
67
|
files_enabled: z.boolean().describe('False for a metadata-only deposit.'),
|
|
59
68
|
key_contains: z.string().optional().describe('The key filter applied, when set.'),
|
|
60
69
|
offset: z.number().describe('Entries skipped before this page.'),
|
|
61
|
-
limit: z.number().describe('Page size applied.'),
|
|
70
|
+
limit: z.number().describe('Page size applied: limit, or 200 when limit asked for more.'),
|
|
62
71
|
matched: z.number().describe('Entries matching the filter, before paging.'),
|
|
63
72
|
has_more: z.boolean().describe('True when more matching entries follow this page.'),
|
|
64
73
|
next_offset: z.number().optional().describe('Offset of the next page, when has_more.'),
|
|
@@ -122,12 +131,12 @@ export const listFiles = tool('zenodo_list_files', {
|
|
|
122
131
|
enrichment: {
|
|
123
132
|
truncated: z.boolean().describe('True when more matching entries follow this page.'),
|
|
124
133
|
shown: z.number().describe('Entries returned on this page.'),
|
|
125
|
-
cap: z.number().describe('Page size applied.'),
|
|
134
|
+
cap: z.number().describe('Page size applied (at most 200).'),
|
|
126
135
|
totalCount: z.number().describe('Entries matching the filter, before paging.'),
|
|
127
136
|
notice: z
|
|
128
137
|
.string()
|
|
129
138
|
.optional()
|
|
130
|
-
.describe('File access notes, empty-filter guidance, listing caps, or paging guidance.'),
|
|
139
|
+
.describe('File access notes, empty-filter guidance, listing caps, the 200-per-call limit cap, or paging guidance.'),
|
|
131
140
|
},
|
|
132
141
|
errors: [
|
|
133
142
|
{
|
|
@@ -184,29 +193,30 @@ export const listFiles = tool('zenodo_list_files', {
|
|
|
184
193
|
},
|
|
185
194
|
],
|
|
186
195
|
async handler(input, ctx) {
|
|
187
|
-
|
|
196
|
+
const { applied: limit, capNote } = applyCap('limit', input.limit, LIMIT_CAP);
|
|
197
|
+
ctx.enrich({ truncated: false, shown: 0, cap: limit, totalCount: 0 });
|
|
188
198
|
const ref = parseRecordRef(input.id);
|
|
189
199
|
if (ref.kind === 'invalid') {
|
|
190
|
-
throw ctx.fail('invalid_identifier', ref.message
|
|
200
|
+
throw ctx.fail('invalid_identifier', ref.message);
|
|
191
201
|
}
|
|
192
202
|
const service = getZenodoService();
|
|
193
203
|
let record;
|
|
194
204
|
if (ref.kind === 'external_doi') {
|
|
195
205
|
const resolution = await service.resolveDoi(ref.doi, ref.strippedDoi, ctx);
|
|
196
206
|
if (resolution.status === 'not_on_zenodo') {
|
|
197
|
-
throw ctx.fail('record_not_found', `DOI ${ref.strippedDoi ?? ref.doi} is not registered to a Zenodo record
|
|
207
|
+
throw ctx.fail('record_not_found', `DOI ${ref.strippedDoi ?? ref.doi} is not registered to a Zenodo record.`);
|
|
198
208
|
}
|
|
199
209
|
record = resolution.record;
|
|
200
210
|
}
|
|
201
211
|
else {
|
|
202
212
|
const lookup = await service.getRecord(ref.recid, ctx);
|
|
203
213
|
if (lookup.status === 'deleted') {
|
|
204
|
-
throw ctx.fail('record_deleted', `Record ${ref.recid} was deleted from Zenodo; only its tombstone remains
|
|
214
|
+
throw ctx.fail('record_deleted', `Record ${ref.recid} was deleted from Zenodo; only its tombstone remains.`);
|
|
205
215
|
}
|
|
206
216
|
if (lookup.status !== 'found') {
|
|
207
217
|
throw ctx.fail('record_not_found', lookup.status === 'restricted'
|
|
208
218
|
? `Record ${ref.recid} exists but its metadata is restricted and cannot be read anonymously.`
|
|
209
|
-
: `No Zenodo record has id ${ref.recid}
|
|
219
|
+
: `No Zenodo record has id ${ref.recid}.`);
|
|
210
220
|
}
|
|
211
221
|
record = lookup.record;
|
|
212
222
|
}
|
|
@@ -221,7 +231,7 @@ export const listFiles = tool('zenodo_list_files', {
|
|
|
221
231
|
files_enabled: files.enabled,
|
|
222
232
|
...(input.key_contains ? { key_contains: input.key_contains } : {}),
|
|
223
233
|
offset: input.offset,
|
|
224
|
-
limit
|
|
234
|
+
limit,
|
|
225
235
|
};
|
|
226
236
|
const needle = input.key_contains?.toLowerCase();
|
|
227
237
|
if (files.enabled && access.files === 'restricted') {
|
|
@@ -245,15 +255,11 @@ export const listFiles = tool('zenodo_list_files', {
|
|
|
245
255
|
: `No ${noun} contain "${filter}"; call zenodo_list_files again without key_contains.`);
|
|
246
256
|
}
|
|
247
257
|
else if (page.matched > 0 && input.offset >= page.matched) {
|
|
248
|
-
notice.push(`Offset ${input.offset} is past the last of ${page.matched} ${noun}; call again with a lower offset.`);
|
|
258
|
+
notice.push(`Offset ${input.offset} is past the last of ${page.matched.toLocaleString('en-US')} ${noun}; call again with a lower offset.`);
|
|
249
259
|
}
|
|
250
260
|
if (page.hasMore) {
|
|
251
|
-
notice.push(`Showing ${page.slice.length} of ${page.matched}; call again with offset ${page.nextOffset}.`);
|
|
252
|
-
ctx.enrich.truncated({
|
|
253
|
-
shown: page.slice.length,
|
|
254
|
-
cap: input.limit,
|
|
255
|
-
guidance: notice.join(' '),
|
|
256
|
-
});
|
|
261
|
+
notice.push(`Showing ${page.slice.length} of ${page.matched.toLocaleString('en-US')}${capNote ? ` (${capNote})` : ''}; call again with offset ${page.nextOffset}.`);
|
|
262
|
+
ctx.enrich.truncated({ shown: page.slice.length, cap: limit, guidance: notice.join(' ') });
|
|
257
263
|
}
|
|
258
264
|
else if (notice.length) {
|
|
259
265
|
ctx.enrich.notice(notice.join(' '));
|
|
@@ -270,7 +276,7 @@ export const listFiles = tool('zenodo_list_files', {
|
|
|
270
276
|
const matching = needle
|
|
271
277
|
? files.entries.filter((e) => e.key.toLowerCase().includes(needle))
|
|
272
278
|
: files.entries;
|
|
273
|
-
const page = pageOf(matching, input.offset,
|
|
279
|
+
const page = pageOf(matching, input.offset, limit);
|
|
274
280
|
const paging = finish(page, 'files');
|
|
275
281
|
return {
|
|
276
282
|
...common,
|
|
@@ -288,14 +294,14 @@ export const listFiles = tool('zenodo_list_files', {
|
|
|
288
294
|
if (!entry) {
|
|
289
295
|
throw ctx.fail('file_not_found', files.enabled
|
|
290
296
|
? `Record ${record.recid} has no file with key "${inline(archiveKey)}".`
|
|
291
|
-
: `Record ${record.recid} is a metadata-only deposit with no files
|
|
297
|
+
: `Record ${record.recid} is a metadata-only deposit with no files.`);
|
|
292
298
|
}
|
|
293
299
|
if (!isZip(entry.key, entry.mimetype)) {
|
|
294
|
-
throw ctx.fail('not_an_archive', `"${inline(archiveKey)}" is not a .zip file${entry.mimetype ? ` (${entry.mimetype})` : ''}; only ZIP archives can be listed
|
|
300
|
+
throw ctx.fail('not_an_archive', `"${inline(archiveKey)}" is not a .zip file${entry.mimetype ? ` (${entry.mimetype})` : ''}; only ZIP archives can be listed.`);
|
|
295
301
|
}
|
|
296
302
|
const container = await service.getContainer(record.recid, entry.key, ctx);
|
|
297
303
|
if (container.status === 'not_found') {
|
|
298
|
-
throw ctx.fail('file_not_found', `Zenodo has no member listing for "${inline(archiveKey)}" in record ${record.recid}
|
|
304
|
+
throw ctx.fail('file_not_found', `Zenodo has no member listing for "${inline(archiveKey)}" in record ${record.recid}.`);
|
|
299
305
|
}
|
|
300
306
|
const { listing } = container;
|
|
301
307
|
if (listing.upstream_truncated) {
|
|
@@ -304,7 +310,7 @@ export const listFiles = tool('zenodo_list_files', {
|
|
|
304
310
|
const matching = needle
|
|
305
311
|
? listing.members.filter((m) => m.path.toLowerCase().includes(needle))
|
|
306
312
|
: listing.members;
|
|
307
|
-
const page = pageOf(matching, input.offset,
|
|
313
|
+
const page = pageOf(matching, input.offset, limit);
|
|
308
314
|
const paging = finish(page, 'members', listing.upstream_truncated);
|
|
309
315
|
return {
|
|
310
316
|
...common,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-files.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/list-files.tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"list-files.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/list-files.tool.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,iEAAiE;AACjE,MAAM,SAAS,GAAG,GAAG,CAAC;AAEtB,gFAAgF;AAChF,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,QAA4B,EAAE,EAAE,CAChE,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,QAAQ,CAAC;AAE1C,MAAM,uBAAuB,GAC3B,6NAA6N,CAAC;AAEhO,mEAAmE;AACnE,SAAS,MAAM,CAAI,KAAU,EAAE,MAAc,EAAE,KAAa;IAC1D,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;IAC9C,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,KAAK,EAAE,CAAC;AAC/E,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,EAAE;IACjD,KAAK,EAAE,0BAA0B;IACjC,WAAW,EACT,6XAA6X;IAC/X,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,gNAAgN,CACjN;QACH,WAAW,EAAE,CAAC;aACX,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;aAC7D,QAAQ,CACP,qIAAqI,CACtI;QACH,YAAY,EAAE,CAAC;aACZ,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;aAC5D,QAAQ,CACP,6GAA6G,CAC9G;QACH,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QACxF,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,MAAM,CAAC;aACX,OAAO,CAAC,EAAE,CAAC;aACX,QAAQ,CAAC,mEAAmE,CAAC;KACjF,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,CAAC,yEAAyE,CAAC;QACtF,IAAI,EAAE,CAAC;aACJ,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;aAC7B,QAAQ,CAAC,kFAAkF,CAAC;QAC/F,aAAa,EAAE,CAAC;aACb,MAAM,EAAE;aACR,QAAQ,CAAC,sEAAsE,CAAC;QACnF,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,2EAA2E,CAAC;QACxF,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;QAC7F,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QACzE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QACjF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QAChE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6DAA6D,CAAC;QACzF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;QAC3E,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;QACnF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;QACtF,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,2FAA2F,CAC5F;QACH,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,2GAA2G,CAC5G;QACH,OAAO,EAAE,CAAC;aACP,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;YACvE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;YACrE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YACrE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;YACzE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YACzD,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YAC1D,QAAQ,EAAE,CAAC;iBACR,OAAO,EAAE;iBACT,QAAQ,CACP,4FAA4F,CAC7F;SACJ,CAAC;aACD,QAAQ,CAAC,2BAA2B,CAAC,CACzC;aACA,QAAQ,EAAE;aACV,QAAQ,CAAC,+EAA+E,CAAC;QAC5F,OAAO,EAAE,CAAC;aACP,MAAM,CAAC;YACN,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YAC9C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;YACjF,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,QAAQ,CAAC,4EAA4E,CAAC;YACzF,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;YACnF,kBAAkB,EAAE,CAAC;iBAClB,OAAO,EAAE;iBACT,QAAQ,CACP,mGAAmG,CACpG;YACH,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;SACpF,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CAAC,4EAA4E,CAAC;QACzF,OAAO,EAAE,CAAC;aACP,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,CACP,8EAA8E,CAC/E;YACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;YAClF,eAAe,EAAE,CAAC;iBACf,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,0CAA0C,CAAC;YACvD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YACrE,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;SAC3D,CAAC;aACD,QAAQ,CAAC,qBAAqB,CAAC,CACnC;aACA,QAAQ,EAAE;aACV,QAAQ,CAAC,+EAA+E,CAAC;KAC7F,CAAC;IACF,UAAU,EAAE;QACV,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;QACpF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QAC5D,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QAC5D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;QAC9E,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,yGAAyG,CAC1G;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,gFAAgF;YACtF,QAAQ,EAAE,4EAA4E;SACvF;QACD;YACE,MAAM,EAAE,gBAAgB;YACxB,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,2BAA2B;YACjC,QAAQ,EACN,uHAAuH;SAC1H;QACD;YACE,MAAM,EAAE,qBAAqB;YAC7B,IAAI,EAAE,gBAAgB,CAAC,kBAAkB;YACzC,IAAI,EAAE,iJAAiJ;YACvJ,QAAQ,EAAE,SAAS;YACnB,QAAQ,EACN,uMAAuM;SAC1M;QACD;YACE,MAAM,EAAE,oBAAoB;YAC5B,IAAI,EAAE,gBAAgB,CAAC,kBAAkB;YACzC,IAAI,EAAE,8OAA8O;YACpP,QAAQ,EAAE,SAAS;YACnB,QAAQ,EACN,8SAA8S;SACjT;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,+GAA+G;SAClH;KACF;IAED,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC9E,GAAG,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;QAEtE,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,GAAG,MAAM,CAAC;QACjC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,MAAM,MAAM,GAAG;YACb,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,UAAU,CAAC,CAAC,CAAE,SAAmB,CAAC,CAAC,CAAE,UAAoB;YAC/D,aAAa,EAAE,MAAM,CAAC,MAAM;YAC5B,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,aAAa,EAAE,KAAK,CAAC,OAAO;YAC5B,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK;SACN,CAAC;QACF,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC;QAEjD,IAAI,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;YACnD,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,GAAG,CAAC,MAAM,CAAC,MAAM,CACf,aAAa,MAAM,CAAC,MAAM,GAAG,KAAK,2EAA2E,CAC9G,CAAC;YACF,OAAO;gBACL,GAAG,MAAM;gBACT,OAAO,EAAE,CAAC;gBACV,QAAQ,EAAE,KAAK;gBACf,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;aACpD,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,CACb,IAAkC,EAClC,IAAyB,EACzB,cAAc,GAAG,KAAK,EACtB,EAAE;YACF,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YACzC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/B,IAAI,MAAM,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;gBACjC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;gBAChD,MAAM,CAAC,IAAI,CACT,cAAc;oBACZ,CAAC,CAAC,8BAA8B,MAAM,0HAA0H,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,qCAAqC;oBAC7N,CAAC,CAAC,MAAM,IAAI,aAAa,MAAM,uDAAuD,CACzF,CAAC;YACJ,CAAC;iBAAM,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC5D,MAAM,CAAC,IAAI,CACT,UAAU,KAAK,CAAC,MAAM,wBAAwB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,IAAI,mCAAmC,CAC9H,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,CAAC,IAAI,CACT,WAAW,IAAI,CAAC,KAAK,CAAC,MAAM,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,4BAA4B,IAAI,CAAC,UAAU,GAAG,CACvJ,CAAC;gBACF,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7F,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBACzB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACtC,CAAC;YACD,OAAO;gBACL,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,QAAQ,EAAE,IAAI,CAAC,OAAO;gBACtB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1D,CAAC;QACJ,CAAC,CAAC;QAEF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,CAAC,OAAO;gBAAE,MAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;YACrF,MAAM,QAAQ,GAAG,MAAM;gBACrB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACnE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;YAClB,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACrC,OAAO;gBACL,GAAG,MAAM;gBACT,GAAG,MAAM;gBACT,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9E,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC9B,GAAG,CAAC;oBACJ,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC;oBAC3C,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC;iBACnC,CAAC,CAAC;aACJ,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,UAAU,CAAC,CAAC;QAC9D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,GAAG,CAAC,IAAI,CACZ,gBAAgB,EAChB,KAAK,CAAC,OAAO;gBACX,CAAC,CAAC,UAAU,MAAM,CAAC,KAAK,0BAA0B,MAAM,CAAC,UAAU,CAAC,IAAI;gBACxE,CAAC,CAAC,UAAU,MAAM,CAAC,KAAK,4CAA4C,CACvE,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,MAAM,GAAG,CAAC,IAAI,CACZ,gBAAgB,EAChB,IAAI,MAAM,CAAC,UAAU,CAAC,uBAAuB,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,oCAAoC,CAC9H,CAAC;QACJ,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC3E,IAAI,SAAS,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACrC,MAAM,GAAG,CAAC,IAAI,CACZ,gBAAgB,EAChB,qCAAqC,MAAM,CAAC,UAAU,CAAC,eAAe,MAAM,CAAC,KAAK,GAAG,CACtF,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;QAC9B,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,CACT,wKAAwK,CACzK,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM;YACrB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACtE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QACpB,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACnE,OAAO;YACL,GAAG,MAAM;YACT,GAAG,MAAM;YACT,OAAO,EAAE;gBACP,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM;gBACtC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;gBAC9C,eAAe,EAAE,OAAO,CAAC,eAAe;aACzC;YACD,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SACzF,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QACjB,MAAM,KAAK,GAAa;YACtB,oBAAoB,MAAM,CAAC,KAAK,MAAM,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,EAAE;YAC/F,aAAa,MAAM,CAAC,IAAI,kBAAkB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,qBAAqB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,yBAAyB,MAAM,CAAC,aAAa,EAAE;SAC9Q,CAAC;QACF,MAAM,MAAM,GAAG;YACb,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS;YACpF,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;SACxF,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClB,IAAI,MAAM,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAClD,KAAK,CAAC,IAAI,CACR,gBAAgB,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,kBAAkB,MAAM,CAAC,MAAM,iBAAiB,MAAM,CAAC,KAAK,oBAAoB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,uBAAuB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACtS,CAAC;QAEF,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;QACzB,IAAI,CAAC,EAAE,CAAC;YACN,KAAK,CAAC,IAAI,CACR,gBAAgB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,GAAG,aAAa,CAAC,CAAC,cAAc,gBAAgB,CAAC,CAAC,eAAe,4CAA4C,CAAC,CAAC,kBAAkB,MAAM,CAAC,CAAC,YAAY,EAAE,CACpM,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YACrC,KAAK,CAAC,IAAI,CACR,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,GAAG,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,WAAW,eAAe,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,YAAY,EAAE,CAChN,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YACrC,KAAK,CAAC,IAAI,CACR,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,GAAG,sBAAsB,CAAC,CAAC,eAAe,IAAI,GAAG,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,WAAW,EAAE,CACrK,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"}
|
|
@@ -60,7 +60,7 @@ export declare const listVersions: import("@cyanheads/mcp-ts-core").ToolDefiniti
|
|
|
60
60
|
}, {
|
|
61
61
|
readonly reason: "result_window_exceeded";
|
|
62
62
|
readonly code: JsonRpcErrorCode.ValidationError;
|
|
63
|
-
readonly when: "page × size
|
|
63
|
+
readonly when: "The page starts past the first 10,000 versions: (page − 1) × size is 10,000 or more, counting a size above 25 as 25";
|
|
64
64
|
readonly recovery: "Zenodo pages only the first 10,000 versions of a series, and no series comes near that; call zenodo_list_versions with page 1 (total_versions and has_more show how far the series goes).";
|
|
65
65
|
}, {
|
|
66
66
|
readonly reason: "record_unavailable";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-versions.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/list-versions.tool.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"list-versions.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/list-versions.tool.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAQjE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8SvB,CAAC"}
|
|
@@ -8,10 +8,9 @@ import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
|
8
8
|
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
9
9
|
import { parseRecordRef } from '../../../services/zenodo/identifiers.js';
|
|
10
10
|
import { getZenodoService } from '../../../services/zenodo/zenodo-service.js';
|
|
11
|
+
import { applyCap, hasMorePages, PAGE_SIZE_CAP, windowRejection } from '../paging.js';
|
|
11
12
|
import { notOnZenodoMiss, recordMiss, TombstoneSchema } from '../record-miss.js';
|
|
12
13
|
import { inline, quoteBlock } from '../render.js';
|
|
13
|
-
/** Zenodo answers HTTP 400 when page × size passes this window. */
|
|
14
|
-
const RESULT_WINDOW = 10_000;
|
|
15
14
|
export const listVersions = tool('zenodo_list_versions', {
|
|
16
15
|
title: 'List Zenodo record versions',
|
|
17
16
|
description: "List every version of a Zenodo deposit's version series, newest first, with each version's record id, DOI, version label, publication date, file totals, and usage counts. Accepts any identifier zenodo_get_record accepts; a concept DOI and any single version's DOI list the same series. Use it to find the version a paper cited or the current release. A miss (an unknown id, a deleted record with its removal tombstone, restricted metadata, or a DOI not registered on Zenodo) returns found: false with guidance instead of an error.",
|
|
@@ -28,8 +27,14 @@ export const listVersions = tool('zenodo_list_versions', {
|
|
|
28
27
|
.int()
|
|
29
28
|
.min(1)
|
|
30
29
|
.default(1)
|
|
31
|
-
.describe('Result page, starting at 1.
|
|
32
|
-
size: z
|
|
30
|
+
.describe('Result page, starting at 1. Zenodo pages through only the first 10,000 versions, so the last reachable page is 10,000 ÷ size rounded up (400 at size 25).'),
|
|
31
|
+
size: z
|
|
32
|
+
.number()
|
|
33
|
+
.int()
|
|
34
|
+
.min(1)
|
|
35
|
+
.max(10_000)
|
|
36
|
+
.default(25)
|
|
37
|
+
.describe('Versions per page, at most 25 per call; larger values return 25.'),
|
|
33
38
|
}),
|
|
34
39
|
output: z.object({
|
|
35
40
|
found: z.boolean().describe('True when the version series resolved.'),
|
|
@@ -59,7 +64,7 @@ export const listVersions = tool('zenodo_list_versions', {
|
|
|
59
64
|
.optional()
|
|
60
65
|
.describe('Record id of the newest version. Present when found, unless Zenodo cannot name it for a page past the end.'),
|
|
61
66
|
page: z.number().describe('Page returned.'),
|
|
62
|
-
size: z.number().describe('Page size applied.'),
|
|
67
|
+
size: z.number().describe('Page size applied: size, or 25 when size asked for more.'),
|
|
63
68
|
has_more: z.boolean().describe('True when another page of versions follows.'),
|
|
64
69
|
next_page: z.number().optional().describe('The next page number, when has_more.'),
|
|
65
70
|
versions: z
|
|
@@ -107,9 +112,12 @@ export const listVersions = tool('zenodo_list_versions', {
|
|
|
107
112
|
enrichment: {
|
|
108
113
|
truncated: z.boolean().describe('True when more versions follow this page.'),
|
|
109
114
|
shown: z.number().describe('Versions returned on this page.'),
|
|
110
|
-
cap: z.number().describe('Page size applied.'),
|
|
115
|
+
cap: z.number().describe('Page size applied (at most 25).'),
|
|
111
116
|
totalCount: z.number().describe('Number of versions in the series.'),
|
|
112
|
-
notice: z
|
|
117
|
+
notice: z
|
|
118
|
+
.string()
|
|
119
|
+
.optional()
|
|
120
|
+
.describe('Guidance on paging, the 25-per-call size cap, or a page past the end.'),
|
|
113
121
|
},
|
|
114
122
|
errors: [
|
|
115
123
|
{
|
|
@@ -121,7 +129,7 @@ export const listVersions = tool('zenodo_list_versions', {
|
|
|
121
129
|
{
|
|
122
130
|
reason: 'result_window_exceeded',
|
|
123
131
|
code: JsonRpcErrorCode.ValidationError,
|
|
124
|
-
when: 'page × size
|
|
132
|
+
when: 'The page starts past the first 10,000 versions: (page − 1) × size is 10,000 or more, counting a size above 25 as 25',
|
|
125
133
|
recovery: 'Zenodo pages only the first 10,000 versions of a series, and no series comes near that; call zenodo_list_versions with page 1 (total_versions and has_more show how far the series goes).',
|
|
126
134
|
},
|
|
127
135
|
{
|
|
@@ -149,17 +157,18 @@ export const listVersions = tool('zenodo_list_versions', {
|
|
|
149
157
|
},
|
|
150
158
|
],
|
|
151
159
|
async handler(input, ctx) {
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
160
|
+
const { applied: size, capNote } = applyCap('size', input.size, PAGE_SIZE_CAP);
|
|
161
|
+
ctx.enrich({ truncated: false, shown: 0, cap: size, totalCount: 0 });
|
|
162
|
+
const pastWindow = windowRejection(input.page, size, 'versions', capNote);
|
|
163
|
+
if (pastWindow)
|
|
164
|
+
throw ctx.fail('result_window_exceeded', pastWindow);
|
|
156
165
|
const ref = parseRecordRef(input.id);
|
|
157
166
|
if (ref.kind === 'invalid') {
|
|
158
|
-
throw ctx.fail('invalid_identifier', ref.message
|
|
167
|
+
throw ctx.fail('invalid_identifier', ref.message);
|
|
159
168
|
}
|
|
160
169
|
const service = getZenodoService();
|
|
161
170
|
const inputKind = ref.inputKind;
|
|
162
|
-
const miss = { found: false, input_kind: inputKind, page: input.page, size
|
|
171
|
+
const miss = { found: false, input_kind: inputKind, page: input.page, size };
|
|
163
172
|
let recid;
|
|
164
173
|
if (ref.kind === 'external_doi') {
|
|
165
174
|
const resolution = await service.resolveDoi(ref.doi, ref.strippedDoi, ctx);
|
|
@@ -176,7 +185,7 @@ export const listVersions = tool('zenodo_list_versions', {
|
|
|
176
185
|
else {
|
|
177
186
|
recid = ref.recid;
|
|
178
187
|
}
|
|
179
|
-
let lookup = await service.listVersions(recid, input.page,
|
|
188
|
+
let lookup = await service.listVersions(recid, input.page, size, ctx);
|
|
180
189
|
if (lookup.status === 'not_found' || lookup.total === 0) {
|
|
181
190
|
// A concept id 404s on /versions and a deleted recid answers 200 with no hits; the record GET classifies every miss.
|
|
182
191
|
const record = await service.getRecord(recid, ctx);
|
|
@@ -185,7 +194,7 @@ export const listVersions = tool('zenodo_list_versions', {
|
|
|
185
194
|
}
|
|
186
195
|
if (record.record.recid !== recid) {
|
|
187
196
|
recid = record.record.recid;
|
|
188
|
-
lookup = await service.listVersions(recid, input.page,
|
|
197
|
+
lookup = await service.listVersions(recid, input.page, size, ctx);
|
|
189
198
|
}
|
|
190
199
|
if (lookup.status === 'not_found')
|
|
191
200
|
lookup = { status: 'ok', total: 0, hits: [] };
|
|
@@ -202,18 +211,18 @@ export const listVersions = tool('zenodo_list_versions', {
|
|
|
202
211
|
const { hits, total } = lookup;
|
|
203
212
|
const latestRecid = hits.find((h) => h.is_latest)?.recid ??
|
|
204
213
|
(input.page === 1 ? hits[0]?.recid : await service.latestRecid(recid, ctx));
|
|
205
|
-
const hasMore = input.page
|
|
214
|
+
const hasMore = hasMorePages(input.page, size, total);
|
|
206
215
|
ctx.enrich({ shown: hits.length });
|
|
207
216
|
ctx.enrich.total(total);
|
|
208
217
|
if (hasMore) {
|
|
209
218
|
ctx.enrich.truncated({
|
|
210
219
|
shown: hits.length,
|
|
211
|
-
cap:
|
|
212
|
-
guidance: `Showing ${hits.length} of ${total} versions; call again with page ${input.page + 1}.`,
|
|
220
|
+
cap: size,
|
|
221
|
+
guidance: `Showing ${hits.length} of ${total.toLocaleString('en-US')} versions${capNote ? ` (${capNote})` : ''}; call again with page ${input.page + 1}.`,
|
|
213
222
|
});
|
|
214
223
|
}
|
|
215
224
|
else if (total > 0 && hits.length === 0) {
|
|
216
|
-
ctx.enrich.notice(`Page ${input.page} is past the last page (${Math.max(1, Math.ceil(total /
|
|
225
|
+
ctx.enrich.notice(`Page ${input.page} is past the last page (${Math.max(1, Math.ceil(total / size))}).`);
|
|
217
226
|
}
|
|
218
227
|
return {
|
|
219
228
|
found: true,
|
|
@@ -223,7 +232,7 @@ export const listVersions = tool('zenodo_list_versions', {
|
|
|
223
232
|
total_versions: total,
|
|
224
233
|
...(latestRecid ? { latest_recid: latestRecid } : {}),
|
|
225
234
|
page: input.page,
|
|
226
|
-
size
|
|
235
|
+
size,
|
|
227
236
|
has_more: hasMore,
|
|
228
237
|
...(hasMore ? { next_page: input.page + 1 } : {}),
|
|
229
238
|
versions: hits,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-versions.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/list-versions.tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"list-versions.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/list-versions.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,7 @@ export declare const lookupVocabulary: import("@cyanheads/mcp-ts-core").ToolDefi
|
|
|
28
28
|
}>;
|
|
29
29
|
query: z.ZodOptional<z.ZodString>;
|
|
30
30
|
total: z.ZodNumber;
|
|
31
|
+
reachable: z.ZodNumber;
|
|
31
32
|
page: z.ZodNumber;
|
|
32
33
|
size: z.ZodNumber;
|
|
33
34
|
has_more: z.ZodBoolean;
|
|
@@ -80,7 +81,7 @@ export declare const lookupVocabulary: import("@cyanheads/mcp-ts-core").ToolDefi
|
|
|
80
81
|
}, {
|
|
81
82
|
readonly reason: "result_window_exceeded";
|
|
82
83
|
readonly code: JsonRpcErrorCode.ValidationError;
|
|
83
|
-
readonly when: "page × size
|
|
84
|
+
readonly when: "The page starts past the first 10,000 entries: (page − 1) × size is 10,000 or more, counting a size above 25 as 25";
|
|
84
85
|
readonly recovery: "Narrow the query and call zenodo_lookup_vocabulary again instead of paging past 10,000 entries.";
|
|
85
86
|
}, {
|
|
86
87
|
readonly reason: "rate_limited";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lookup-vocabulary.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/lookup-vocabulary.tool.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"lookup-vocabulary.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/lookup-vocabulary.tool.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA0JjE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwP3B,CAAC"}
|
|
@@ -9,10 +9,10 @@ import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
|
9
9
|
import { parseFunderRef } from '../../../services/zenodo/identifiers.js';
|
|
10
10
|
import { filterResourceTypes } from '../../../services/zenodo/resource-types.js';
|
|
11
11
|
import { getZenodoService } from '../../../services/zenodo/zenodo-service.js';
|
|
12
|
+
import { applyCap, hasMorePages, PAGE_SIZE_CAP, RESULT_WINDOW, reachableHits, windowRejection, } from '../paging.js';
|
|
12
13
|
import { hasLineBreak, inline, quoteBlock } from '../render.js';
|
|
13
14
|
import { blankToUndefined, enumPreprocess } from '../schema-helpers.js';
|
|
14
15
|
const VOCABULARIES = ['communities', 'funders', 'awards', 'licenses', 'resource_types'];
|
|
15
|
-
const RESULT_WINDOW = 10_000;
|
|
16
16
|
/** What to try after a query matched nothing, per vocabulary. */
|
|
17
17
|
const ZERO_HIT_ADVICE = {
|
|
18
18
|
communities: "try a shorter name, a keyword from the community's title, or the project's acronym",
|
|
@@ -153,28 +153,40 @@ export const lookupVocabulary = tool('zenodo_lookup_vocabulary', {
|
|
|
153
153
|
funder: z
|
|
154
154
|
.preprocess(blankToUndefined, z.string().max(200).optional())
|
|
155
155
|
.describe('awards only: scope grants to one funder, given as a ROR id (00k4n6c32), a ROR URL, or a Crossref Funder DOI (10.13039/100000002). Resolve a funder name to its ROR id with vocabulary funders first.'),
|
|
156
|
-
page: z
|
|
157
|
-
|
|
156
|
+
page: z
|
|
157
|
+
.number()
|
|
158
|
+
.int()
|
|
159
|
+
.min(1)
|
|
160
|
+
.default(1)
|
|
161
|
+
.describe('Result page, starting at 1. Only the first 10,000 entries of a list are reachable, so the last reachable page is 10,000 ÷ size rounded up (400 at size 25).'),
|
|
162
|
+
size: z
|
|
163
|
+
.number()
|
|
164
|
+
.int()
|
|
165
|
+
.min(1)
|
|
166
|
+
.max(10_000)
|
|
167
|
+
.default(10)
|
|
168
|
+
.describe('Entries per page, at most 25 per call; larger values return 25.'),
|
|
158
169
|
}),
|
|
159
170
|
output: z.object({
|
|
160
171
|
vocabulary: z.enum(VOCABULARIES).describe('The vocabulary searched.'),
|
|
161
172
|
query: z.string().optional().describe('The query as applied; absent when browsing.'),
|
|
162
173
|
total: z.number().describe('Total entries matching the query.'),
|
|
174
|
+
reachable: z.number().describe('Entries reachable by paging: min(total, 10,000).'),
|
|
163
175
|
page: z.number().describe('Page returned.'),
|
|
164
|
-
size: z.number().describe('Page size applied.'),
|
|
165
|
-
has_more: z.boolean().describe('True when
|
|
176
|
+
size: z.number().describe('Page size applied: size, or 25 when size asked for more.'),
|
|
177
|
+
has_more: z.boolean().describe('True when another page of reachable entries follows.'),
|
|
166
178
|
next_page: z.number().optional().describe('The next page number, when has_more.'),
|
|
167
179
|
entries: z.array(EntrySchema).describe('Matching entries for this page.'),
|
|
168
180
|
}),
|
|
169
181
|
enrichment: {
|
|
170
|
-
truncated: z.boolean().describe('True when more entries
|
|
182
|
+
truncated: z.boolean().describe('True when more reachable entries follow this page.'),
|
|
171
183
|
shown: z.number().describe('Entries returned on this page.'),
|
|
172
|
-
cap: z.number().describe('Page size applied.'),
|
|
184
|
+
cap: z.number().describe('Page size applied (at most 25).'),
|
|
173
185
|
totalCount: z.number().describe('Total entries matching the query.'),
|
|
174
186
|
notice: z
|
|
175
187
|
.string()
|
|
176
188
|
.optional()
|
|
177
|
-
.describe('Guidance on empty results, ambiguous funders, or further pages.'),
|
|
189
|
+
.describe('Guidance on empty results, ambiguous funders, the 10,000-entry window, the 25-per-call size cap, or further pages.'),
|
|
178
190
|
},
|
|
179
191
|
errors: [
|
|
180
192
|
{
|
|
@@ -192,7 +204,7 @@ export const lookupVocabulary = tool('zenodo_lookup_vocabulary', {
|
|
|
192
204
|
{
|
|
193
205
|
reason: 'result_window_exceeded',
|
|
194
206
|
code: JsonRpcErrorCode.ValidationError,
|
|
195
|
-
when: 'page × size
|
|
207
|
+
when: 'The page starts past the first 10,000 entries: (page − 1) × size is 10,000 or more, counting a size above 25 as 25',
|
|
196
208
|
recovery: 'Narrow the query and call zenodo_lookup_vocabulary again instead of paging past 10,000 entries.',
|
|
197
209
|
},
|
|
198
210
|
{
|
|
@@ -205,19 +217,20 @@ export const lookupVocabulary = tool('zenodo_lookup_vocabulary', {
|
|
|
205
217
|
},
|
|
206
218
|
],
|
|
207
219
|
async handler(input, ctx) {
|
|
208
|
-
|
|
220
|
+
const { applied: size, capNote } = applyCap('size', input.size, PAGE_SIZE_CAP);
|
|
221
|
+
ctx.enrich({ truncated: false, shown: 0, cap: size, totalCount: 0 });
|
|
209
222
|
if (input.funder && input.vocabulary !== 'awards') {
|
|
210
|
-
throw ctx.fail('funder_only_for_awards', `funder applies only to vocabulary awards, not ${input.vocabulary}
|
|
211
|
-
}
|
|
212
|
-
if (input.page * input.size > RESULT_WINDOW) {
|
|
213
|
-
throw ctx.fail('result_window_exceeded', `page ${input.page} × size ${input.size} is past the first ${RESULT_WINDOW.toLocaleString('en-US')} entries.`, ctx.recoveryFor('result_window_exceeded'));
|
|
223
|
+
throw ctx.fail('funder_only_for_awards', `funder applies only to vocabulary awards, not ${input.vocabulary}.`);
|
|
214
224
|
}
|
|
225
|
+
const pastWindow = windowRejection(input.page, size, 'entries', capNote);
|
|
226
|
+
if (pastWindow)
|
|
227
|
+
throw ctx.fail('result_window_exceeded', pastWindow);
|
|
215
228
|
let total;
|
|
216
229
|
let entries;
|
|
217
230
|
if (input.vocabulary === 'resource_types') {
|
|
218
231
|
const matched = filterResourceTypes(input.query);
|
|
219
232
|
total = matched.length;
|
|
220
|
-
entries = matched.slice((input.page - 1) *
|
|
233
|
+
entries = matched.slice((input.page - 1) * size, input.page * size).map((t) => ({
|
|
221
234
|
filter_param: 'resource_type',
|
|
222
235
|
filter_value: t.id,
|
|
223
236
|
label: t.label,
|
|
@@ -232,16 +245,16 @@ export const lookupVocabulary = tool('zenodo_lookup_vocabulary', {
|
|
|
232
245
|
const ref = parseFunderRef(input.funder);
|
|
233
246
|
const funder = ref ? await service.resolveFunder(ref, ctx) : undefined;
|
|
234
247
|
if (!funder) {
|
|
235
|
-
throw ctx.fail('unknown_funder', `"${inline(input.funder)}" is not a known ROR id and no funder carries that Crossref Funder DOI
|
|
248
|
+
throw ctx.fail('unknown_funder', `"${inline(input.funder)}" is not a known ROR id and no funder carries that Crossref Funder DOI.`);
|
|
236
249
|
}
|
|
237
250
|
funderRor = funder.ror_id;
|
|
238
251
|
}
|
|
239
|
-
const page = await service.searchVocabulary(input.vocabulary, { query: input.query, funderRor, page: input.page, size
|
|
252
|
+
const page = await service.searchVocabulary(input.vocabulary, { query: input.query, funderRor, page: input.page, size }, ctx);
|
|
240
253
|
total = page.total;
|
|
241
254
|
entries = toEntries(page);
|
|
242
255
|
}
|
|
243
|
-
const reachable =
|
|
244
|
-
const hasMore = input.page
|
|
256
|
+
const reachable = reachableHits(total);
|
|
257
|
+
const hasMore = hasMorePages(input.page, size, total);
|
|
245
258
|
ctx.enrich({ shown: entries.length });
|
|
246
259
|
ctx.enrich.total(total);
|
|
247
260
|
const notice = [];
|
|
@@ -251,15 +264,18 @@ export const lookupVocabulary = tool('zenodo_lookup_vocabulary', {
|
|
|
251
264
|
: `No ${input.vocabulary} entries were returned.`);
|
|
252
265
|
}
|
|
253
266
|
else if (entries.length === 0) {
|
|
254
|
-
const last = Math.max(1, Math.ceil(reachable /
|
|
267
|
+
const last = Math.max(1, Math.ceil(reachable / size));
|
|
255
268
|
notice.push(`Page ${input.page} is past the last page (${last}); call again with page ${last} or lower.`);
|
|
256
269
|
}
|
|
257
270
|
if (input.vocabulary === 'funders' && entries.length > 1) {
|
|
258
271
|
notice.push('Several funders share names across countries; pick by country and ROR id.');
|
|
259
272
|
}
|
|
273
|
+
if (total > RESULT_WINDOW) {
|
|
274
|
+
notice.push(`Only the first 10,000 of ${total.toLocaleString('en-US')} ${input.vocabulary} are reachable; narrow the list with query${input.vocabulary === 'awards' ? ' or funder' : ''}.`);
|
|
275
|
+
}
|
|
260
276
|
if (hasMore) {
|
|
261
|
-
notice.push(`Showing ${entries.length} of ${
|
|
262
|
-
ctx.enrich.truncated({ shown: entries.length, cap:
|
|
277
|
+
notice.push(`Showing ${entries.length} of ${reachable.toLocaleString('en-US')}${capNote ? ` (${capNote})` : ''}; call again with page ${input.page + 1}.`);
|
|
278
|
+
ctx.enrich.truncated({ shown: entries.length, cap: size, guidance: notice.join(' ') });
|
|
263
279
|
}
|
|
264
280
|
else if (notice.length) {
|
|
265
281
|
ctx.enrich.notice(notice.join(' '));
|
|
@@ -268,8 +284,9 @@ export const lookupVocabulary = tool('zenodo_lookup_vocabulary', {
|
|
|
268
284
|
vocabulary: input.vocabulary,
|
|
269
285
|
...(input.query ? { query: input.query } : {}),
|
|
270
286
|
total,
|
|
287
|
+
reachable,
|
|
271
288
|
page: input.page,
|
|
272
|
-
size
|
|
289
|
+
size,
|
|
273
290
|
has_more: hasMore,
|
|
274
291
|
...(hasMore ? { next_page: input.page + 1 } : {}),
|
|
275
292
|
entries,
|
|
@@ -278,7 +295,7 @@ export const lookupVocabulary = tool('zenodo_lookup_vocabulary', {
|
|
|
278
295
|
format: (result) => {
|
|
279
296
|
const lines = [
|
|
280
297
|
`## Zenodo ${result.vocabulary}${result.query ? ` matching "${inline(result.query)}"` : ''}`,
|
|
281
|
-
`**Total:** ${result.total} | **Page:** ${result.page} | **Size:** ${result.size} | **Has more:** ${result.has_more}${result.next_page !== undefined ? ` | **Next page:** ${result.next_page}` : ''}`,
|
|
298
|
+
`**Total:** ${result.total} (${result.reachable} reachable) | **Page:** ${result.page} | **Size:** ${result.size} | **Has more:** ${result.has_more}${result.next_page !== undefined ? ` | **Next page:** ${result.next_page}` : ''}`,
|
|
282
299
|
];
|
|
283
300
|
for (const e of result.entries) {
|
|
284
301
|
lines.push('', `### ${inline(e.label)}`, `- **Filter:** ${e.filter_param} = \`${inline(e.filter_value)}\``);
|