clinicaltrialsgov-mcp-server 2.7.4 → 2.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +2 -2
- package/dist/mcp-server/tools/definitions/find-eligible.tool.d.ts +28 -0
- package/dist/mcp-server/tools/definitions/find-eligible.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/find-eligible.tool.js +102 -26
- package/dist/mcp-server/tools/definitions/find-eligible.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-field-values.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-field-values.tool.js +10 -6
- package/dist/mcp-server/tools/definitions/get-field-values.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/search-studies.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/search-studies.tool.js +175 -55
- package/dist/mcp-server/tools/definitions/search-studies.tool.js.map +1 -1
- package/package.json +14 -14
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
<div align="center">
|
|
9
9
|
|
|
10
|
-
[](https://www.npmjs.com/package/clinicaltrialsgov-mcp-server) [](https://github.com/users/cyanheads/packages/container/package/clinicaltrialsgov-mcp-server) [](https://www.npmjs.com/package/clinicaltrialsgov-mcp-server) [](https://github.com/users/cyanheads/packages/container/package/clinicaltrialsgov-mcp-server) [](./CHANGELOG.md) [](https://modelcontextprotocol.io/) [](./LICENSE) [](https://www.typescriptlang.org/) [](https://bun.sh/)
|
|
11
11
|
|
|
12
12
|
</div>
|
|
13
13
|
|
|
@@ -59,7 +59,7 @@ Primary search tool with full ClinicalTrials.gov query capabilities.
|
|
|
59
59
|
- Status and phase filters with typed enum values
|
|
60
60
|
- Geographic proximity filtering by coordinates and distance
|
|
61
61
|
- Advanced AREA[] Essie expression support for complex queries
|
|
62
|
-
-
|
|
62
|
+
- Compact index results by default; pass `fields` for a full-fidelity projection of specific leaves (a full single record is ~70KB — fetch one with `get_study_record`)
|
|
63
63
|
- Pagination with cursor tokens, sorting by any field
|
|
64
64
|
|
|
65
65
|
---
|
|
@@ -4,6 +4,31 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { z } from '@cyanheads/mcp-ts-core';
|
|
6
6
|
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
7
|
+
/**
|
|
8
|
+
* Score how directly a study's own listed conditions match the patient's
|
|
9
|
+
* requested conditions. ClinicalTrials.gov's `query.cond` is a fuzzy relevance
|
|
10
|
+
* search that pulls in tangential trials via the MeSH umbrella (e.g. a Von
|
|
11
|
+
* Willebrand bleeding-disorder trial matches "Cardiovascular Disease" through a
|
|
12
|
+
* distant MeSH ancestor). This score re-ranks those tangential matches below
|
|
13
|
+
* trials whose own condition list actually names a requested condition — a
|
|
14
|
+
* transparent, deterministic rule, not a relevance estimate. Recall is
|
|
15
|
+
* unchanged: every upstream match is still returned, only reordered.
|
|
16
|
+
*
|
|
17
|
+
* Tiers (best across the study's conditions × requested conditions):
|
|
18
|
+
* 3 — exact match (study condition equals a requested condition)
|
|
19
|
+
* 2 — every significant token of a multi-word requested condition is present
|
|
20
|
+
* in a study condition, so the study names the same concept or a more
|
|
21
|
+
* specific subtype — independent of word order ("Type 2 Diabetes" matches
|
|
22
|
+
* both "Type 2 Diabetes Mellitus" and "Diabetes Mellitus, Type 2";
|
|
23
|
+
* "Cardiovascular Disease" matches "Atherosclerotic Cardiovascular
|
|
24
|
+
* Disease"). Gated to multi-word requests so a single word like
|
|
25
|
+
* "Hypertension" does not credit the distinct disease "Pulmonary Arterial
|
|
26
|
+
* Hypertension" as a subtype — it falls to tier 1, below a genuine
|
|
27
|
+
* "Hypertension" exact match at tier 3.
|
|
28
|
+
* 1 — a shared significant token ("Type 2 Diabetes" ↔ "Diabetes Mellitus")
|
|
29
|
+
* 0 — no direct overlap (matched only through upstream fuzziness)
|
|
30
|
+
*/
|
|
31
|
+
export declare function conditionMatchScore(studyConditions: string[], requested: string[]): number;
|
|
7
32
|
export declare const findEligible: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
|
|
8
33
|
age: z.ZodNumber;
|
|
9
34
|
sex: z.ZodEnum<{
|
|
@@ -35,6 +60,9 @@ export declare const findEligible: import("@cyanheads/mcp-ts-core").ToolDefiniti
|
|
|
35
60
|
location: z.ZodString;
|
|
36
61
|
age: z.ZodNumber;
|
|
37
62
|
sex: z.ZodString;
|
|
63
|
+
conditionQuery: z.ZodOptional<z.ZodString>;
|
|
64
|
+
statusFilter: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
65
|
+
advancedFilter: z.ZodOptional<z.ZodString>;
|
|
38
66
|
}, z.core.$strip>;
|
|
39
67
|
readonly funnel: z.ZodObject<{
|
|
40
68
|
conditionMatched: z.ZodNumber;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-eligible.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/find-eligible.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"find-eligible.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/find-eligible.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAsDjE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,mBAAmB,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAiC1F;AAwCD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAobvB,CAAC"}
|
|
@@ -59,17 +59,31 @@ function significantTokens(condition) {
|
|
|
59
59
|
*
|
|
60
60
|
* Tiers (best across the study's conditions × requested conditions):
|
|
61
61
|
* 3 — exact match (study condition equals a requested condition)
|
|
62
|
-
* 2 —
|
|
63
|
-
*
|
|
62
|
+
* 2 — every significant token of a multi-word requested condition is present
|
|
63
|
+
* in a study condition, so the study names the same concept or a more
|
|
64
|
+
* specific subtype — independent of word order ("Type 2 Diabetes" matches
|
|
65
|
+
* both "Type 2 Diabetes Mellitus" and "Diabetes Mellitus, Type 2";
|
|
66
|
+
* "Cardiovascular Disease" matches "Atherosclerotic Cardiovascular
|
|
67
|
+
* Disease"). Gated to multi-word requests so a single word like
|
|
68
|
+
* "Hypertension" does not credit the distinct disease "Pulmonary Arterial
|
|
69
|
+
* Hypertension" as a subtype — it falls to tier 1, below a genuine
|
|
70
|
+
* "Hypertension" exact match at tier 3.
|
|
64
71
|
* 1 — a shared significant token ("Type 2 Diabetes" ↔ "Diabetes Mellitus")
|
|
65
72
|
* 0 — no direct overlap (matched only through upstream fuzziness)
|
|
66
73
|
*/
|
|
67
|
-
function conditionMatchScore(studyConditions, requested) {
|
|
74
|
+
export function conditionMatchScore(studyConditions, requested) {
|
|
68
75
|
if (studyConditions.length === 0)
|
|
69
76
|
return 0;
|
|
70
77
|
const reqNorm = requested.map((c) => ({
|
|
71
78
|
text: c.toLowerCase().trim(),
|
|
72
79
|
tokens: significantTokens(c),
|
|
80
|
+
// Raw word count, before generic-token stripping: "Cardiovascular Disease"
|
|
81
|
+
// is multi-word even though "disease" drops out, while "Hypertension" is a
|
|
82
|
+
// single word. Only multi-word requests earn tier-2 subtype credit.
|
|
83
|
+
multiWord: c
|
|
84
|
+
.toLowerCase()
|
|
85
|
+
.split(/[^a-z0-9]+/)
|
|
86
|
+
.filter((t) => t.length > 0).length > 1,
|
|
73
87
|
}));
|
|
74
88
|
let best = 0;
|
|
75
89
|
for (const sc of studyConditions) {
|
|
@@ -78,10 +92,17 @@ function conditionMatchScore(studyConditions, requested) {
|
|
|
78
92
|
for (const req of reqNorm) {
|
|
79
93
|
if (text === req.text)
|
|
80
94
|
return 3;
|
|
81
|
-
|
|
95
|
+
// Tier 2 — every significant token of a multi-word requested condition is
|
|
96
|
+
// present in this study condition, so the study is the same concept or a
|
|
97
|
+
// more specific subtype (word order independent). The multi-word gate
|
|
98
|
+
// stops a single shared word from crediting a distinct disease as a
|
|
99
|
+
// subtype ("Hypertension" vs "Pulmonary Arterial Hypertension").
|
|
100
|
+
if (req.multiWord && req.tokens.size > 0 && [...req.tokens].every((t) => tokens.has(t))) {
|
|
82
101
|
best = Math.max(best, 2);
|
|
83
|
-
|
|
102
|
+
}
|
|
103
|
+
else if ([...tokens].some((t) => req.tokens.has(t))) {
|
|
84
104
|
best = Math.max(best, 1);
|
|
105
|
+
}
|
|
85
106
|
}
|
|
86
107
|
}
|
|
87
108
|
return best;
|
|
@@ -172,11 +193,25 @@ export const findEligible = tool('clinicaltrials_find_eligible', {
|
|
|
172
193
|
searchCriteria: z
|
|
173
194
|
.object({
|
|
174
195
|
conditions: z.array(z.string()).describe('Conditions searched.'),
|
|
175
|
-
location: z
|
|
196
|
+
location: z
|
|
197
|
+
.string()
|
|
198
|
+
.describe('The exact queryLocn string sent upstream (city/state/country joined). Pass as locationQuery to clinicaltrials_search_studies to reproduce the location filter beyond the maxResults cap.'),
|
|
176
199
|
age: z.number().describe('Patient age.'),
|
|
177
200
|
sex: z.string().describe('Patient sex.'),
|
|
201
|
+
conditionQuery: z
|
|
202
|
+
.string()
|
|
203
|
+
.optional()
|
|
204
|
+
.describe('The exact queryCond string sent upstream (multi-word terms quoted, OR-joined). Pass as conditionQuery to clinicaltrials_search_studies to reproduce the full match set beyond the maxResults cap.'),
|
|
205
|
+
statusFilter: z
|
|
206
|
+
.array(z.string())
|
|
207
|
+
.optional()
|
|
208
|
+
.describe('The status filter applied (["RECRUITING"] when recruitingOnly). Pass as statusFilter to clinicaltrials_search_studies. Absent when recruitingOnly is false.'),
|
|
209
|
+
advancedFilter: z
|
|
210
|
+
.string()
|
|
211
|
+
.optional()
|
|
212
|
+
.describe('The exact AREA[] advancedFilter (age range, plus sex/healthy-volunteer when constrained) sent upstream. Pass as advancedFilter to clinicaltrials_search_studies to reproduce the demographic constraints.'),
|
|
178
213
|
})
|
|
179
|
-
.describe('Normalized search criteria applied to this eligibility query.'),
|
|
214
|
+
.describe('Normalized search criteria applied to this eligibility query, including the exact upstream query strings needed to reproduce the full match set via clinicaltrials_search_studies (replay with includeUnknownEnrollment=true, which find_eligible always sets).'),
|
|
180
215
|
funnel: z
|
|
181
216
|
.object({
|
|
182
217
|
conditionMatched: z
|
|
@@ -197,7 +232,34 @@ export const findEligible = tool('clinicaltrials_find_eligible', {
|
|
|
197
232
|
},
|
|
198
233
|
enrichmentTrailer: {
|
|
199
234
|
searchCriteria: {
|
|
200
|
-
render: (sc) =>
|
|
235
|
+
render: (sc) => {
|
|
236
|
+
const lines = [
|
|
237
|
+
`**Search:** conditions=[${sc.conditions.join(', ')}] | location=${sc.location} | age=${sc.age} | sex=${sc.sex}`,
|
|
238
|
+
];
|
|
239
|
+
// Echo the exact upstream query strings so a content[]-only caller can
|
|
240
|
+
// reproduce the full match set (find_eligible returns only maxResults) by
|
|
241
|
+
// replaying them through clinicaltrials_search_studies. Every sub-field's
|
|
242
|
+
// VALUE must render here or it reaches structuredContent but not content[].
|
|
243
|
+
const repro = [];
|
|
244
|
+
if (sc.conditionQuery)
|
|
245
|
+
repro.push(`conditionQuery=${sc.conditionQuery}`);
|
|
246
|
+
// location IS an applied upstream filter (queryLocn) — without it in the
|
|
247
|
+
// repro set a caller replays a broader, all-locations query (#91-C).
|
|
248
|
+
if (sc.location)
|
|
249
|
+
repro.push(`locationQuery=${sc.location}`);
|
|
250
|
+
if (sc.statusFilter?.length)
|
|
251
|
+
repro.push(`statusFilter=[${sc.statusFilter.join(', ')}]`);
|
|
252
|
+
if (sc.advancedFilter)
|
|
253
|
+
repro.push(`advancedFilter=${sc.advancedFilter}`);
|
|
254
|
+
if (repro.length) {
|
|
255
|
+
// find_eligible always queries with includeUnknownEnrollment=true (eligibility
|
|
256
|
+
// ignores enrollment-count quality); search_studies defaults it false and drops
|
|
257
|
+
// the unknown-enrollment sentinel, so a faithful replay must set it too (#91-C).
|
|
258
|
+
repro.push('includeUnknownEnrollment=true');
|
|
259
|
+
lines.push(`**Reproduce via clinicaltrials_search_studies:** ${repro.join(' | ')}`);
|
|
260
|
+
}
|
|
261
|
+
return lines.join('\n');
|
|
262
|
+
},
|
|
201
263
|
},
|
|
202
264
|
funnel: {
|
|
203
265
|
render: (f) => `**Funnel:** ${f.conditionMatched} condition → ${f.locationMatched} + location → ${f.demographicsMatched} + demographics`,
|
|
@@ -225,6 +287,9 @@ export const findEligible = tool('clinicaltrials_find_eligible', {
|
|
|
225
287
|
if (input.healthyVolunteer) {
|
|
226
288
|
advancedParts.push('AREA[HealthyVolunteers]true');
|
|
227
289
|
}
|
|
290
|
+
// Name the joined filter so both the upstream call and the searchCriteria echo
|
|
291
|
+
// reuse the identical string — the echo is the reproducible query (#91-C).
|
|
292
|
+
const advancedFilter = advancedParts.join(' AND ');
|
|
228
293
|
ctx.log.info('Finding eligible studies', {
|
|
229
294
|
conditions: input.conditions,
|
|
230
295
|
location: locationQuery,
|
|
@@ -241,7 +306,7 @@ export const findEligible = tool('clinicaltrials_find_eligible', {
|
|
|
241
306
|
queryCond: conditionQuery,
|
|
242
307
|
queryLocn: locationQuery,
|
|
243
308
|
filterOverallStatus: statusFilter,
|
|
244
|
-
filterAdvanced:
|
|
309
|
+
filterAdvanced: advancedFilter,
|
|
245
310
|
fields: ELIGIBLE_FIELDS,
|
|
246
311
|
pageSize: input.maxResults,
|
|
247
312
|
countTotal: true,
|
|
@@ -294,13 +359,19 @@ export const findEligible = tool('clinicaltrials_find_eligible', {
|
|
|
294
359
|
const conditionMatched = conditionStage.totalCount ?? 0;
|
|
295
360
|
const locationMatched = locationStage.totalCount ?? 0;
|
|
296
361
|
const demographicsMatched = result.totalCount ?? 0;
|
|
297
|
-
// Always enrich with search echo and funnel diagnostics
|
|
362
|
+
// Always enrich with search echo and funnel diagnostics. The searchCriteria
|
|
363
|
+
// echo carries the exact upstream query strings (conditionQuery/statusFilter/
|
|
364
|
+
// advancedFilter) so callers can reproduce the full match set via
|
|
365
|
+
// clinicaltrials_search_studies past find_eligible's maxResults cap (#91-C).
|
|
298
366
|
ctx.enrich({
|
|
299
367
|
searchCriteria: {
|
|
300
368
|
conditions: input.conditions,
|
|
301
369
|
location: locationQuery,
|
|
302
370
|
age: input.age,
|
|
303
371
|
sex: input.sex,
|
|
372
|
+
conditionQuery,
|
|
373
|
+
...(statusFilter ? { statusFilter } : {}),
|
|
374
|
+
advancedFilter,
|
|
304
375
|
},
|
|
305
376
|
funnel: { conditionMatched, locationMatched, demographicsMatched },
|
|
306
377
|
});
|
|
@@ -382,17 +453,17 @@ export const findEligible = tool('clinicaltrials_find_eligible', {
|
|
|
382
453
|
if (studyMeta.length)
|
|
383
454
|
lines.push(` ${studyMeta.join(' | ')}`);
|
|
384
455
|
if (interventions?.length) {
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
.slice(0, 3);
|
|
456
|
+
// Render every intervention name — content[] must match the full list
|
|
457
|
+
// carried in structuredContent, not a first-3 preview (#91).
|
|
458
|
+
const names = interventions.map((i) => i.name).filter(Boolean);
|
|
389
459
|
if (names.length)
|
|
390
460
|
lines.push(` Interventions: ${names.join(', ')}`);
|
|
391
461
|
}
|
|
392
462
|
const summary = s.protocolSection?.descriptionModule?.briefSummary;
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
463
|
+
// Render the full summary — structuredContent carries it complete, so a
|
|
464
|
+
// 200-char content[] clip left content-only clients with a partial value (#91).
|
|
465
|
+
if (summary)
|
|
466
|
+
lines.push(` Summary: ${summary}`);
|
|
396
467
|
// Eligibility criteria summary
|
|
397
468
|
const eligParts = [];
|
|
398
469
|
if (elig.minimumAge && elig.maximumAge)
|
|
@@ -407,26 +478,31 @@ export const findEligible = tool('clinicaltrials_find_eligible', {
|
|
|
407
478
|
eligParts.push(`Healthy Volunteers: ${elig.healthyVolunteers ? 'Yes' : 'No'}`);
|
|
408
479
|
if (eligParts.length)
|
|
409
480
|
lines.push(` Eligibility: ${eligParts.join(' | ')}`);
|
|
410
|
-
// Locations are pre-sorted by match-score in the handler, so the
|
|
411
|
-
//
|
|
481
|
+
// Locations are pre-sorted by match-score in the handler, so the most
|
|
482
|
+
// relevant sites (typically the user's city/state) lead. Render every
|
|
483
|
+
// site — structuredContent carries the full list, so a first-3 preview
|
|
484
|
+
// with a "(+N more)" tail left content-only clients unable to see the
|
|
485
|
+
// remaining sites (#91).
|
|
412
486
|
if (locs.length > 0) {
|
|
413
|
-
const
|
|
414
|
-
const locStr = toShow
|
|
487
|
+
const locStr = locs
|
|
415
488
|
.map((l) => [l.facility, l.city, l.state, l.country].filter(Boolean).join(', '))
|
|
416
489
|
.join(' | ');
|
|
417
|
-
|
|
418
|
-
lines.push(` Locations: ${locStr}${remaining > 0 ? ` (+${remaining} more)` : ''}`);
|
|
490
|
+
lines.push(` Locations: ${locStr}`);
|
|
419
491
|
}
|
|
420
|
-
// Central contacts
|
|
492
|
+
// Central contacts — render all; the full set rides in structuredContent (#91).
|
|
421
493
|
const centralContacts = s.protocolSection?.contactsLocationsModule?.centralContacts ?? [];
|
|
422
494
|
if (centralContacts.length > 0) {
|
|
423
495
|
const contactStr = centralContacts
|
|
424
|
-
.slice(0, 2)
|
|
425
496
|
.map((c) => [c.name, c.phone, c.email].filter(Boolean).join(', '))
|
|
426
497
|
.join(' | ');
|
|
427
498
|
lines.push(` Contact: ${contactStr}`);
|
|
428
499
|
}
|
|
429
|
-
|
|
500
|
+
// Lift both caps on the field-dump fallback so any remaining requested leaf
|
|
501
|
+
// reaches content[] at full length, matching structuredContent (#91, mirrors #89).
|
|
502
|
+
lines.push(...formatRemainingStudyFields(study, ELIGIBLE_RENDERED, {
|
|
503
|
+
maxLines: Number.POSITIVE_INFINITY,
|
|
504
|
+
maxValueLen: Number.POSITIVE_INFINITY,
|
|
505
|
+
}));
|
|
430
506
|
}
|
|
431
507
|
}
|
|
432
508
|
return [{ type: 'text', text: lines.join('\n') }];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-eligible.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/find-eligible.tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"find-eligible.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/find-eligible.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-field-values.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-field-values.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAKjE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"get-field-values.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-field-values.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAKjE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAgJzB,CAAC"}
|
|
@@ -106,14 +106,18 @@ export const getFieldValues = tool('clinicaltrials_get_field_values', {
|
|
|
106
106
|
lines.push(' No recorded values for this field.');
|
|
107
107
|
}
|
|
108
108
|
else {
|
|
109
|
-
|
|
110
|
-
|
|
109
|
+
// Render every fetched value with its study count — content[] must
|
|
110
|
+
// carry the same topValues the handler returns in structuredContent,
|
|
111
|
+
// or content-only clients go blind past the 16th value (#90).
|
|
112
|
+
for (const tv of topValues) {
|
|
111
113
|
lines.push(` ${tv.value}: ${tv.studiesCount} studies`);
|
|
112
114
|
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
115
|
+
// topValues is upstream-capped at 250. When the field has more distinct
|
|
116
|
+
// values than were fetched, the tail is unreachable (beyond the API cap),
|
|
117
|
+
// not omitted by us — disclose that honestly rather than implying we trimmed.
|
|
118
|
+
const unique = stat.uniqueValuesCount;
|
|
119
|
+
if (unique != null && unique > topValues.length) {
|
|
120
|
+
lines.push(` Showing all ${topValues.length} fetched values (of ${unique} unique; topValues capped at 250 by the API).`);
|
|
117
121
|
}
|
|
118
122
|
}
|
|
119
123
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-field-values.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-field-values.tool.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"get-field-values.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-field-values.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-studies.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-studies.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"search-studies.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-studies.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAkPjE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiVxB,CAAC"}
|
|
@@ -45,8 +45,161 @@ function reRankLocationsByProximity(studies, center) {
|
|
|
45
45
|
locationsModule.locations = [...withGeo, ...withoutGeo];
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
|
+
/** Pick the rendered subset of the lead/nearest site for the index projection. */
|
|
49
|
+
function pickNearest(loc) {
|
|
50
|
+
const site = {};
|
|
51
|
+
if (loc.facility != null)
|
|
52
|
+
site.facility = loc.facility;
|
|
53
|
+
if (loc.city != null)
|
|
54
|
+
site.city = loc.city;
|
|
55
|
+
if (loc.state != null)
|
|
56
|
+
site.state = loc.state;
|
|
57
|
+
if (loc.country != null)
|
|
58
|
+
site.country = loc.country;
|
|
59
|
+
if (loc.distanceMi != null)
|
|
60
|
+
site.distanceMi = loc.distanceMi;
|
|
61
|
+
return site;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Project a full study record to the compact index entry the formatter renders.
|
|
65
|
+
* Only keys with a value are set, mirroring the get-study `applyFilters()` /
|
|
66
|
+
* `summarizeResults()` structural-projection style. With an active geoFilter the
|
|
67
|
+
* handler has already re-ranked `locations[]`, so `locations[0]` is the nearest
|
|
68
|
+
* matched site and its `distanceMi` rides along.
|
|
69
|
+
*/
|
|
70
|
+
function projectStudyIndex(study) {
|
|
71
|
+
const ps = study.protocolSection;
|
|
72
|
+
const id = ps?.identificationModule;
|
|
73
|
+
const design = ps?.designModule;
|
|
74
|
+
const entry = {};
|
|
75
|
+
if (id?.nctId != null)
|
|
76
|
+
entry.nctId = id.nctId;
|
|
77
|
+
if (id?.briefTitle != null)
|
|
78
|
+
entry.briefTitle = id.briefTitle;
|
|
79
|
+
const status = ps?.statusModule?.overallStatus;
|
|
80
|
+
if (status != null)
|
|
81
|
+
entry.overallStatus = status;
|
|
82
|
+
if (design?.phases?.length)
|
|
83
|
+
entry.phases = design.phases;
|
|
84
|
+
const enrollment = design?.enrollmentInfo?.count;
|
|
85
|
+
if (enrollment != null)
|
|
86
|
+
entry.enrollmentCount = enrollment;
|
|
87
|
+
const sponsor = ps?.sponsorCollaboratorsModule?.leadSponsor?.name;
|
|
88
|
+
if (sponsor != null)
|
|
89
|
+
entry.leadSponsor = sponsor;
|
|
90
|
+
const conditions = ps?.conditionsModule?.conditions;
|
|
91
|
+
if (conditions?.length)
|
|
92
|
+
entry.conditions = conditions;
|
|
93
|
+
const locations = ps?.contactsLocationsModule?.locations;
|
|
94
|
+
if (locations?.length) {
|
|
95
|
+
const lead = locations[0];
|
|
96
|
+
const nearest = lead ? pickNearest(lead) : undefined;
|
|
97
|
+
entry.locations = {
|
|
98
|
+
total: locations.length,
|
|
99
|
+
...(nearest && Object.keys(nearest).length > 0 ? { nearest } : {}),
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
// Fresh object literal — assignable to the opaque Record<string, unknown> the
|
|
103
|
+
// output schema declares (mirrors get-study's `{ ...study }`).
|
|
104
|
+
return { ...entry };
|
|
105
|
+
}
|
|
106
|
+
/** Render the shared `- **NCT**: title [status]` headline + meta line. */
|
|
107
|
+
function renderStudyHeaderLine(e) {
|
|
108
|
+
const nctId = e.nctId ?? 'Unknown';
|
|
109
|
+
const titleStr = e.briefTitle ? `: ${e.briefTitle}` : '';
|
|
110
|
+
const statusStr = e.overallStatus ? ` [${e.overallStatus}]` : '';
|
|
111
|
+
const meta = [];
|
|
112
|
+
if (e.phases?.length)
|
|
113
|
+
meta.push(e.phases.join('/'));
|
|
114
|
+
if (e.enrollmentCount != null)
|
|
115
|
+
meta.push(`N=${e.enrollmentCount}`);
|
|
116
|
+
if (e.leadSponsor)
|
|
117
|
+
meta.push(e.leadSponsor);
|
|
118
|
+
if (e.conditions?.length)
|
|
119
|
+
meta.push(e.conditions.join(', '));
|
|
120
|
+
const metaStr = meta.length ? `\n ${meta.join(' | ')}` : '';
|
|
121
|
+
return `- **${nctId}**${titleStr}${statusStr}${metaStr}`;
|
|
122
|
+
}
|
|
123
|
+
/** Render one compact index entry (the default, no-`fields` search projection). */
|
|
124
|
+
function renderIndexEntry(entry) {
|
|
125
|
+
const lines = [renderStudyHeaderLine(entry)];
|
|
126
|
+
// Surface the study's site — the headline carries no location. With an active
|
|
127
|
+
// geoFilter the projection's nearest site is annotated with distanceMi: lead
|
|
128
|
+
// with it. Without one, show the lead registered site. Either way the total
|
|
129
|
+
// site count discloses how many sites the full record holds.
|
|
130
|
+
const near = entry.locations?.nearest;
|
|
131
|
+
if (near) {
|
|
132
|
+
const place = [near.facility, near.city, near.state, near.country].filter(Boolean).join(', ');
|
|
133
|
+
if (place) {
|
|
134
|
+
const total = entry.locations?.total ?? 0;
|
|
135
|
+
if (near.distanceMi != null) {
|
|
136
|
+
const totalStr = total > 1 ? ` of ${total} sites` : '';
|
|
137
|
+
lines.push(` Nearest site: ${place} (${near.distanceMi.toFixed(1)} mi from geoFilter center${totalStr})`);
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
const totalStr = total > 1 ? ` (1 of ${total} sites)` : '';
|
|
141
|
+
lines.push(` Site: ${place}${totalStr}`);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return lines;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Render every site in a requested-`fields` study. The field-dump fallback dedups
|
|
149
|
+
* object-array leaves by label (so it would collapse `locations[]` to the lead
|
|
150
|
+
* site) and SEARCH_RENDERED suppresses the `locations` subtree from it — a
|
|
151
|
+
* dedicated loop is the only way sites 2..N reach content[]. Carries every typed
|
|
152
|
+
* StudyLocation leaf (place, status, distance, geoPoint) so any requested
|
|
153
|
+
* location field has channel parity. Mirrors get-study's Locations loop.
|
|
154
|
+
*/
|
|
155
|
+
function renderSiteLines(locations) {
|
|
156
|
+
const lines = [` Locations (${locations.length}):`];
|
|
157
|
+
for (const loc of locations) {
|
|
158
|
+
const place = [loc.facility, loc.city, loc.state, loc.country].filter(Boolean).join(', ');
|
|
159
|
+
const statusNote = loc.status ? ` [${loc.status}]` : '';
|
|
160
|
+
const distNote = loc.distanceMi != null ? ` (${loc.distanceMi.toFixed(1)} mi)` : '';
|
|
161
|
+
const geoNote = loc.geoPoint ? ` @${loc.geoPoint.lat},${loc.geoPoint.lon}` : '';
|
|
162
|
+
lines.push(` - ${place || '(unnamed site)'}${statusNote}${distNote}${geoNote}`);
|
|
163
|
+
}
|
|
164
|
+
return lines;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Render a study when the caller passed explicit `fields` — the record is the
|
|
168
|
+
* upstream projection (just the requested leaves), carried at full fidelity in
|
|
169
|
+
* structuredContent. Renders the standard index line, every requested site
|
|
170
|
+
* distinctly, then the remaining requested leaves via the field dump with the
|
|
171
|
+
* truncation cap lifted, so content[] mirrors the record leaf-for-leaf.
|
|
172
|
+
*/
|
|
173
|
+
function renderRequestedFieldsStudy(study) {
|
|
174
|
+
const s = study;
|
|
175
|
+
const ps = s.protocolSection;
|
|
176
|
+
const lines = [
|
|
177
|
+
renderStudyHeaderLine({
|
|
178
|
+
nctId: ps?.identificationModule?.nctId,
|
|
179
|
+
briefTitle: ps?.identificationModule?.briefTitle,
|
|
180
|
+
overallStatus: ps?.statusModule?.overallStatus,
|
|
181
|
+
phases: ps?.designModule?.phases,
|
|
182
|
+
enrollmentCount: ps?.designModule?.enrollmentInfo?.count,
|
|
183
|
+
leadSponsor: ps?.sponsorCollaboratorsModule?.leadSponsor?.name,
|
|
184
|
+
conditions: ps?.conditionsModule?.conditions,
|
|
185
|
+
}),
|
|
186
|
+
];
|
|
187
|
+
const locations = ps?.contactsLocationsModule?.locations;
|
|
188
|
+
if (locations?.length)
|
|
189
|
+
lines.push(...renderSiteLines(locations));
|
|
190
|
+
// The caller opted into payload control, so render every remaining requested
|
|
191
|
+
// leaf at full length — silently dropping or clipping any of them is the wrong
|
|
192
|
+
// default. Lift both caps: maxLines so no leaf is omitted, maxValueLen so a long
|
|
193
|
+
// primitive (e.g. a 543-char BriefSummary) reaches content[] intact, matching
|
|
194
|
+
// structuredContent (#89).
|
|
195
|
+
lines.push(...formatRemainingStudyFields(study, SEARCH_RENDERED, {
|
|
196
|
+
maxLines: Number.POSITIVE_INFINITY,
|
|
197
|
+
maxValueLen: Number.POSITIVE_INFINITY,
|
|
198
|
+
}));
|
|
199
|
+
return lines;
|
|
200
|
+
}
|
|
48
201
|
export const searchStudies = tool('clinicaltrials_search_studies', {
|
|
49
|
-
description: `Search for clinical trial studies from ClinicalTrials.gov. Supports full-text and field-specific queries, status/phase/geographic filters, pagination, sorting, and field selection.
|
|
202
|
+
description: `Search for clinical trial studies from ClinicalTrials.gov. Supports full-text and field-specific queries, status/phase/geographic filters, pagination, sorting, and field selection. Returns a compact per-study index by default; pass the fields parameter to get specific leaves at full fidelity — full study records are ~70KB each.`,
|
|
50
203
|
annotations: {
|
|
51
204
|
readOnlyHint: true,
|
|
52
205
|
idempotentHint: true,
|
|
@@ -171,7 +324,7 @@ export const searchStudies = tool('clinicaltrials_search_studies', {
|
|
|
171
324
|
output: z.object({
|
|
172
325
|
studies: z
|
|
173
326
|
.array(z.record(z.string(), z.unknown()))
|
|
174
|
-
.describe('Matching studies.
|
|
327
|
+
.describe('Matching studies. By default each entry is a COMPACT index projection — nctId, briefTitle, overallStatus, phases, enrollmentCount, leadSponsor, conditions, and a bounded locations summary ({ total, nearest }) — mirroring the rendered result, NOT the full ~70KB record. Pass the fields parameter to receive exactly the requested leaves at full fidelity instead (e.g. all locations). Fetch a full single record with clinicaltrials_get_study_record.'),
|
|
175
328
|
totalCount: z
|
|
176
329
|
.number()
|
|
177
330
|
.optional()
|
|
@@ -180,7 +333,7 @@ export const searchStudies = tool('clinicaltrials_search_studies', {
|
|
|
180
333
|
requestedFields: z
|
|
181
334
|
.array(z.string())
|
|
182
335
|
.optional()
|
|
183
|
-
.describe('Echo of the explicit fields parameter — present only when the caller passed fields.
|
|
336
|
+
.describe('Echo of the explicit fields parameter — present only when the caller passed fields. Signals that studies carry the requested leaves at full fidelity (not the default compact index) and that the rendered truncation cap is lifted so all of them appear.'),
|
|
184
337
|
}),
|
|
185
338
|
// Agent-facing context — query echo and empty-result guidance, disjoint from output.
|
|
186
339
|
enrichment: {
|
|
@@ -296,8 +449,20 @@ export const searchStudies = tool('clinicaltrials_search_studies', {
|
|
|
296
449
|
if (noticeParts.length > 0)
|
|
297
450
|
ctx.enrich.notice(noticeParts.join(' '));
|
|
298
451
|
}
|
|
452
|
+
// Bound structuredContent to what format() renders. Without explicit fields,
|
|
453
|
+
// search is an index: project each study to the compact entry (rendered
|
|
454
|
+
// summary + a bounded nearest-site/total-count locations summary) so a
|
|
455
|
+
// content[]-only client and a structuredContent client see the same data,
|
|
456
|
+
// not a full ~70KB record in one channel and a summary in the other. With
|
|
457
|
+
// explicit fields the caller opted into a projection — upstream already
|
|
458
|
+
// trimmed each record to the requested leaves, so those flow through at full
|
|
459
|
+
// fidelity and format() renders all of them.
|
|
460
|
+
const studies = input.fields?.length
|
|
461
|
+
? result.studies
|
|
462
|
+
: result.studies.map(projectStudyIndex);
|
|
299
463
|
return {
|
|
300
464
|
...result,
|
|
465
|
+
studies,
|
|
301
466
|
...(input.fields?.length ? { requestedFields: input.fields } : {}),
|
|
302
467
|
};
|
|
303
468
|
},
|
|
@@ -316,59 +481,14 @@ export const searchStudies = tool('clinicaltrials_search_studies', {
|
|
|
316
481
|
if (result.requestedFields?.length) {
|
|
317
482
|
lines.push(`Requested fields: ${result.requestedFields.join(', ')}`);
|
|
318
483
|
}
|
|
319
|
-
//
|
|
320
|
-
//
|
|
321
|
-
//
|
|
322
|
-
const
|
|
323
|
-
? { maxLines: Number.POSITIVE_INFINITY }
|
|
324
|
-
: undefined;
|
|
484
|
+
// Two render modes, matching the two structuredContent shapes the handler
|
|
485
|
+
// produces. Default: each study is a compact index entry. Explicit fields:
|
|
486
|
+
// each study is the upstream-trimmed record, rendered leaf-for-leaf.
|
|
487
|
+
const explicitFields = Boolean(result.requestedFields?.length);
|
|
325
488
|
for (const study of result.studies) {
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
const status = s.protocolSection?.statusModule?.overallStatus ?? '';
|
|
330
|
-
const phases = s.protocolSection?.designModule?.phases;
|
|
331
|
-
const enrollment = s.protocolSection?.designModule?.enrollmentInfo?.count;
|
|
332
|
-
const sponsor = s.protocolSection?.sponsorCollaboratorsModule?.leadSponsor?.name;
|
|
333
|
-
const conditions = s.protocolSection?.conditionsModule?.conditions;
|
|
334
|
-
const meta = [];
|
|
335
|
-
if (phases?.length)
|
|
336
|
-
meta.push(phases.join('/'));
|
|
337
|
-
if (enrollment != null)
|
|
338
|
-
meta.push(`N=${enrollment}`);
|
|
339
|
-
if (sponsor)
|
|
340
|
-
meta.push(sponsor);
|
|
341
|
-
if (conditions?.length)
|
|
342
|
-
meta.push(conditions.join(', '));
|
|
343
|
-
const titleStr = title ? `: ${title}` : '';
|
|
344
|
-
const statusStr = status ? ` [${status}]` : '';
|
|
345
|
-
const metaStr = meta.length ? `\n ${meta.join(' | ')}` : '';
|
|
346
|
-
lines.push(`- **${nctId}**${titleStr}${statusStr}${metaStr}`);
|
|
347
|
-
// Surface the study's site so a result row always shows where the trial
|
|
348
|
-
// runs — the headline carries no location, and locations[] is otherwise
|
|
349
|
-
// suppressed from the field dump below. With an active geoFilter the handler
|
|
350
|
-
// re-ranked locations by proximity, so locations[0] is the nearest matched
|
|
351
|
-
// site: lead with it and its distanceMi. Without one, show the first
|
|
352
|
-
// registered site. Either way the full locations[] is preserved.
|
|
353
|
-
const locations = s.protocolSection?.contactsLocationsModule?.locations;
|
|
354
|
-
const lead = locations?.[0];
|
|
355
|
-
if (lead) {
|
|
356
|
-
const place = [lead.facility, lead.city, lead.state, lead.country]
|
|
357
|
-
.filter(Boolean)
|
|
358
|
-
.join(', ');
|
|
359
|
-
if (place) {
|
|
360
|
-
const siteCount = locations?.length ?? 0;
|
|
361
|
-
if (lead.distanceMi != null) {
|
|
362
|
-
const totalStr = siteCount > 1 ? ` of ${siteCount} sites` : '';
|
|
363
|
-
lines.push(` Nearest site: ${place} (${lead.distanceMi.toFixed(1)} mi from geoFilter center${totalStr})`);
|
|
364
|
-
}
|
|
365
|
-
else {
|
|
366
|
-
const totalStr = siteCount > 1 ? ` (1 of ${siteCount} sites)` : '';
|
|
367
|
-
lines.push(` Site: ${place}${totalStr}`);
|
|
368
|
-
}
|
|
369
|
-
}
|
|
370
|
-
}
|
|
371
|
-
lines.push(...formatRemainingStudyFields(study, SEARCH_RENDERED, overflowOpts));
|
|
489
|
+
lines.push(...(explicitFields
|
|
490
|
+
? renderRequestedFieldsStudy(study)
|
|
491
|
+
: renderIndexEntry(study)));
|
|
372
492
|
}
|
|
373
493
|
if (result.nextPageToken) {
|
|
374
494
|
lines.push('\n(More results available — pass pageToken to paginate)');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-studies.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-studies.tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"search-studies.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-studies.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,uDAAuD,CAAC;AAEjG,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EACL,WAAW,EAEX,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,MAAM,EAAE,WAAW,EAAE,GAAG,eAAe,EAAE,CAAC;AAE1C,sEAAsE;AACtE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,4CAA4C;IAC5C,iDAAiD;IACjD,4CAA4C;IAC5C,qCAAqC;IACrC,6CAA6C;IAC7C,wDAAwD;IACxD,6CAA6C;IAC7C,mDAAmD;CACpD,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,SAAS,0BAA0B,CACjC,OAAwB,EACxB,MAAoC;IAEpC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,EAAE,uBAAuB,CAAC;QACvE,MAAM,SAAS,GAAG,eAAe,EAAE,SAAS,CAAC;QAC7C,IAAI,CAAC,eAAe,IAAI,CAAC,SAAS,EAAE,MAAM;YAAE,SAAS;QACrD,MAAM,OAAO,GAAG,SAAS;aACtB,MAAM,CACL,CAAC,CAAC,EAAmE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAC3F;aACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;aACnE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;QAC/D,eAAe,CAAC,SAAS,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAwCD,kFAAkF;AAClF,SAAS,WAAW,CAAC,GAAyB;IAC5C,MAAM,IAAI,GAAgB,EAAE,CAAC;IAC7B,IAAI,GAAG,CAAC,QAAQ,IAAI,IAAI;QAAE,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IACvD,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI;QAAE,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IAC3C,IAAI,GAAG,CAAC,KAAK,IAAI,IAAI;QAAE,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;IAC9C,IAAI,GAAG,CAAC,OAAO,IAAI,IAAI;QAAE,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IACpD,IAAI,GAAG,CAAC,UAAU,IAAI,IAAI;QAAE,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;IAC7D,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,SAAS,iBAAiB,CAAC,KAAoB;IAC7C,MAAM,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC;IACjC,MAAM,EAAE,GAAG,EAAE,EAAE,oBAAoB,CAAC;IACpC,MAAM,MAAM,GAAG,EAAE,EAAE,YAAY,CAAC;IAChC,MAAM,KAAK,GAAoB,EAAE,CAAC;IAClC,IAAI,EAAE,EAAE,KAAK,IAAI,IAAI;QAAE,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;IAC9C,IAAI,EAAE,EAAE,UAAU,IAAI,IAAI;QAAE,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;IAC7D,MAAM,MAAM,GAAG,EAAE,EAAE,YAAY,EAAE,aAAa,CAAC;IAC/C,IAAI,MAAM,IAAI,IAAI;QAAE,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;IACjD,IAAI,MAAM,EAAE,MAAM,EAAE,MAAM;QAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IACzD,MAAM,UAAU,GAAG,MAAM,EAAE,cAAc,EAAE,KAAK,CAAC;IACjD,IAAI,UAAU,IAAI,IAAI;QAAE,KAAK,CAAC,eAAe,GAAG,UAAU,CAAC;IAC3D,MAAM,OAAO,GAAG,EAAE,EAAE,0BAA0B,EAAE,WAAW,EAAE,IAAI,CAAC;IAClE,IAAI,OAAO,IAAI,IAAI;QAAE,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;IACjD,MAAM,UAAU,GAAG,EAAE,EAAE,gBAAgB,EAAE,UAAU,CAAC;IACpD,IAAI,UAAU,EAAE,MAAM;QAAE,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;IAEtD,MAAM,SAAS,GAAG,EAAE,EAAE,uBAAuB,EAAE,SAA+C,CAAC;IAC/F,IAAI,SAAS,EAAE,MAAM,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrD,KAAK,CAAC,SAAS,GAAG;YAChB,KAAK,EAAE,SAAS,CAAC,MAAM;YACvB,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnE,CAAC;IACJ,CAAC;IACD,8EAA8E;IAC9E,+DAA+D;IAC/D,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;AACtB,CAAC;AAED,0EAA0E;AAC1E,SAAS,qBAAqB,CAAC,CAAoB;IACjD,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC;IACnC,MAAM,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACzD,MAAM,SAAS,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM;QAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACpD,IAAI,CAAC,CAAC,eAAe,IAAI,IAAI;QAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;IACnE,IAAI,CAAC,CAAC,WAAW;QAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAC5C,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM;QAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,OAAO,OAAO,KAAK,KAAK,QAAQ,GAAG,SAAS,GAAG,OAAO,EAAE,CAAC;AAC3D,CAAC;AAED,mFAAmF;AACnF,SAAS,gBAAgB,CAAC,KAAsB;IAC9C,MAAM,KAAK,GAAa,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;IAEvD,8EAA8E;IAC9E,6EAA6E;IAC7E,4EAA4E;IAC5E,6DAA6D;IAC7D,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC;IACtC,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9F,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,EAAE,KAAK,IAAI,CAAC,CAAC;YAC1C,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;gBAC5B,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,KAAK,CAAC,IAAI,CACR,mBAAmB,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,4BAA4B,QAAQ,GAAG,CAC/F,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,GAAG,QAAQ,EAAE,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,SAAiC;IACxD,MAAM,KAAK,GAAG,CAAC,gBAAgB,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC;IACrD,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1F,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,IAAI,gBAAgB,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,SAAS,0BAA0B,CAAC,KAA8B;IAChE,MAAM,CAAC,GAAG,KAAsB,CAAC;IACjC,MAAM,EAAE,GAAG,CAAC,CAAC,eAAe,CAAC;IAC7B,MAAM,KAAK,GAAa;QACtB,qBAAqB,CAAC;YACpB,KAAK,EAAE,EAAE,EAAE,oBAAoB,EAAE,KAAK;YACtC,UAAU,EAAE,EAAE,EAAE,oBAAoB,EAAE,UAAU;YAChD,aAAa,EAAE,EAAE,EAAE,YAAY,EAAE,aAAa;YAC9C,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM;YAChC,eAAe,EAAE,EAAE,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK;YACxD,WAAW,EAAE,EAAE,EAAE,0BAA0B,EAAE,WAAW,EAAE,IAAI;YAC9D,UAAU,EAAE,EAAE,EAAE,gBAAgB,EAAE,UAAU;SAC7C,CAAC;KACH,CAAC;IAEF,MAAM,SAAS,GAAG,EAAE,EAAE,uBAAuB,EAAE,SAA+C,CAAC;IAC/F,IAAI,SAAS,EAAE,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;IAEjE,6EAA6E;IAC7E,+EAA+E;IAC/E,iFAAiF;IACjF,8EAA8E;IAC9E,2BAA2B;IAC3B,KAAK,CAAC,IAAI,CACR,GAAG,0BAA0B,CAAC,KAAK,EAAE,eAAe,EAAE;QACpD,QAAQ,EAAE,MAAM,CAAC,iBAAiB;QAClC,WAAW,EAAE,MAAM,CAAC,iBAAiB;KACtC,CAAC,CACH,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,+BAA+B,EAAE;IACjE,WAAW,EAAE,2UAA2U;IACxV,WAAW,EAAE;QACX,YAAY,EAAE,IAAI;QAClB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;KACpB;IAED,MAAM,EAAE;QACN;YACE,MAAM,EAAE,eAAe;YACvB,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,iFAAiF;YACvF,QAAQ,EAAE,cAAc,CAAC,aAAa;SACvC;QACD;YACE,MAAM,EAAE,eAAe;YACvB,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,qHAAqH;YAC3H,QAAQ,EAAE,cAAc,CAAC,aAAa;SACvC;QACD;YACE,MAAM,EAAE,cAAc;YACtB,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,kFAAkF;YACxF,QAAQ,EAAE,cAAc,CAAC,YAAY;SACtC;QACD;YACE,MAAM,EAAE,mBAAmB;YAC3B,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,kMAAkM;YACxM,QAAQ,EAAE,cAAc,CAAC,iBAAiB;SAC3C;QACD;YACE,MAAM,EAAE,cAAc;YACtB,IAAI,EAAE,gBAAgB,CAAC,WAAW;YAClC,IAAI,EAAE,+DAA+D;YACrE,QAAQ,EAAE,cAAc,CAAC,YAAY;YACrC,SAAS,EAAE,IAAI;SAChB;KACF;IAED,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,uVAAuV,CACxV;QACH,cAAc,EAAE,CAAC;aACd,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,uMAAuM,CACxM;QACH,iBAAiB,EAAE,CAAC;aACjB,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,mMAAmM,CACpM;QACH,aAAa,EAAE,CAAC;aACb,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,uKAAuK,CACxK;QACH,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,+IAA+I,CAChJ;QACH,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,2JAA2J,CAC5J;QACH,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,mJAAmJ,CACpJ;QACH,YAAY,EAAE,CAAC;aACZ,KAAK,CAAC;YACL,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YAC7C,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC;SAC7D,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CACP,oQAAoQ,CACrQ;QACH,WAAW,EAAE,CAAC;aACX,KAAK,CAAC;YACL,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YAC5C,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC;SAC5D,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CAAC,kFAAkF,CAAC;QAC/F,cAAc,EAAE,CAAC;aACd,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,ibAAib,CAClb;QACH,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,yUAAyU,CAC1U;QACH,MAAM,EAAE,CAAC;aACN,KAAK,CAAC;YACL,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YACxC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;SACxD,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CAAC,+CAA+C,CAAC;QAC5D,MAAM,EAAE,CAAC;aACN,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,EAAE;aACV,QAAQ,CACP,sUAAsU,CACvU;QACH,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,shBAAshB,CACvhB;QACH,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,WAAW,CAAC;aAChB,OAAO,CAAC,EAAE,CAAC;aACX,QAAQ,CAAC,uBAAuB,WAAW,GAAG,CAAC;QAClD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;QACxF,UAAU,EAAE,CAAC;aACV,OAAO,EAAE;aACT,OAAO,CAAC,IAAI,CAAC;aACb,QAAQ,CAAC,yEAAyE,CAAC;QACtF,wBAAwB,EAAE,CAAC;aACxB,OAAO,EAAE;aACT,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,CACP,oRAAoR,CACrR;KACJ,CAAC;IAEF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,OAAO,EAAE,CAAC;aACP,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;aACxC,QAAQ,CACP,gcAAgc,CACjc;QACH,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,gEAAgE,CAAC;QAC7E,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;QAC9F,eAAe,EAAE,CAAC;aACf,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,EAAE;aACV,QAAQ,CACP,4PAA4P,CAC7P;KACJ,CAAC;IAEF,qFAAqF;IACrF,UAAU,EAAE;QACV,cAAc,EAAE,CAAC;aACd,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;aAC/B,QAAQ,EAAE;aACV,QAAQ,CACP,oLAAoL,CACrL;QACH,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,8HAA8H,CAC/H;KACJ;IAED,iBAAiB,EAAE;QACjB,cAAc,EAAE;YACd,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE;gBACnB,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,EAAE,CAAC;gBAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CACpD,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAS,CAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CACvF,CAAC;gBACF,OAAO,yBAAyB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrD,CAAC;SACF;KACF;IAED,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,OAAO,GAAG,wBAAwB,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,aAAa,CACxC;YACE,SAAS,EAAE,KAAK,CAAC,KAAK;YACtB,SAAS,EAAE,KAAK,CAAC,cAAc;YAC/B,SAAS,EAAE,KAAK,CAAC,iBAAiB;YAClC,SAAS,EAAE,KAAK,CAAC,aAAa;YAC9B,UAAU,EAAE,KAAK,CAAC,YAAY;YAC9B,WAAW,EAAE,KAAK,CAAC,UAAU;YAC7B,SAAS,EAAE,KAAK,CAAC,YAAY;YAC7B,mBAAmB,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;YAChD,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;YAChC,cAAc,EAAE,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC;YACrF,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,wBAAwB,EAAE,KAAK,CAAC,wBAAwB;SACzD,EACD,GAAG,CACJ,CAAC;QACF,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC/B,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM;YAC5B,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC,CAAC;QAEH,6EAA6E;QAC7E,0EAA0E;QAC1E,2EAA2E;QAC3E,qCAAqC;QACrC,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACxD,IAAI,SAAS;YAAE,0BAA0B,CAAC,MAAM,CAAC,OAA0B,EAAE,SAAS,CAAC,CAAC;QAExF,2EAA2E;QAC3E,4EAA4E;QAC5E,uEAAuE;QACvE,8EAA8E;QAC9E,mDAAmD;QACnD,MAAM,QAAQ,GAA4B,EAAE,CAAC;QAC7C,IAAI,KAAK,CAAC,KAAK;YAAE,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC9C,IAAI,KAAK,CAAC,cAAc;YAAE,QAAQ,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;QACzE,IAAI,KAAK,CAAC,iBAAiB;YAAE,QAAQ,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC;QAClF,IAAI,KAAK,CAAC,aAAa;YAAE,QAAQ,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;QACtE,IAAI,KAAK,CAAC,YAAY;YAAE,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;QACnE,IAAI,KAAK,CAAC,UAAU;YAAE,QAAQ,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QAC7D,IAAI,KAAK,CAAC,YAAY;YAAE,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;QACnE,IAAI,KAAK,CAAC,YAAY;YAAE,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;QACnE,IAAI,KAAK,CAAC,WAAW;YAAE,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QAChE,IAAI,KAAK,CAAC,cAAc;YAAE,QAAQ,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;QACzE,IAAI,KAAK,CAAC,SAAS;YAAE,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAC1D,IAAI,KAAK,CAAC,MAAM;YAAE,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QACjD,IAAI,CAAC,KAAK,CAAC,wBAAwB;YAAE,QAAQ,CAAC,oBAAoB,GAAG,IAAI,CAAC;QAC1E,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC;QAE/E,+CAA+C;QAC/C,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,QAAQ,GACZ,KAAK,CAAC,KAAK;gBACX,KAAK,CAAC,cAAc;gBACpB,KAAK,CAAC,iBAAiB;gBACvB,KAAK,CAAC,UAAU;gBAChB,KAAK,CAAC,YAAY;gBAClB,KAAK,CAAC,YAAY,CAAC;YACrB,MAAM,SAAS,GACb,KAAK,CAAC,YAAY;gBAClB,KAAK,CAAC,WAAW;gBACjB,KAAK,CAAC,cAAc;gBACpB,KAAK,CAAC,SAAS;gBACf,KAAK,CAAC,aAAa,CAAC;YAEtB,MAAM,WAAW,GAAa,EAAE,CAAC;YACjC,IAAI,QAAQ,IAAI,SAAS;gBACvB,WAAW,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;iBACvF,IAAI,QAAQ;gBAAE,WAAW,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;iBAC3E,IAAI,SAAS;gBAAE,WAAW,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YAC5E,IAAI,KAAK,CAAC,YAAY;gBACpB,WAAW,CAAC,IAAI,CACd,uFAAuF,CACxF,CAAC;YACJ,IAAI,KAAK,CAAC,WAAW;gBAAE,WAAW,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;YAE3F,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;gBAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACvE,CAAC;QAED,6EAA6E;QAC7E,wEAAwE;QACxE,uEAAuE;QACvE,0EAA0E;QAC1E,0EAA0E;QAC1E,wEAAwE;QACxE,6EAA6E;QAC7E,6CAA6C;QAC7C,MAAM,OAAO,GAA8B,KAAK,CAAC,MAAM,EAAE,MAAM;YAC7D,CAAC,CAAC,MAAM,CAAC,OAAO;YAChB,CAAC,CAAE,MAAM,CAAC,OAA2B,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAE/D,OAAO;YACL,GAAG,MAAM;YACT,OAAO;YACP,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnE,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QACjB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;QACpC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,aAAa,MAAM,CAAC,UAAU,kBAAkB,CAAC,CAAC;QAC7E,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,MAAM,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvE,CAAC;QAED,0EAA0E;QAC1E,2EAA2E;QAC3E,qEAAqE;QACrE,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAC/D,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CACR,GAAG,CAAC,cAAc;gBAChB,CAAC,CAAC,0BAA0B,CAAC,KAAgC,CAAC;gBAC9D,CAAC,CAAC,gBAAgB,CAAC,KAAwB,CAAC,CAAC,CAChD,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;YACtE,KAAK,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;QACvD,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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "clinicaltrialsgov-mcp-server",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.8.1",
|
|
4
4
|
"mcpName": "io.github.cyanheads/clinicaltrialsgov-mcp-server",
|
|
5
5
|
"description": "Search ClinicalTrials.gov trials, retrieve study details and results, and match patients to eligible trials via MCP. STDIO or Streamable HTTP.",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"fetch-spec": "bun run scripts/fetch-openapi-spec.ts",
|
|
47
47
|
"format": "bunx biome check --write",
|
|
48
48
|
"format:unsafe": "bunx biome check --write --unsafe",
|
|
49
|
-
"prepare": "
|
|
49
|
+
"prepare": "git config core.hooksPath .husky || exit 0",
|
|
50
50
|
"inspector": "bunx mcp-inspector --config mcp.json --server clinicaltrialsgov-mcp-server",
|
|
51
51
|
"test": "bunx vitest run",
|
|
52
52
|
"test:conformance": "bunx vitest run --config vitest.conformance.ts",
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
"stdio",
|
|
84
84
|
"streamable-http"
|
|
85
85
|
],
|
|
86
|
-
"author": "
|
|
86
|
+
"author": "Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)",
|
|
87
87
|
"license": "Apache-2.0",
|
|
88
88
|
"funding": [
|
|
89
89
|
{
|
|
@@ -95,31 +95,31 @@
|
|
|
95
95
|
"url": "https://www.buymeacoffee.com/cyanheads"
|
|
96
96
|
}
|
|
97
97
|
],
|
|
98
|
-
"packageManager": "bun@1.3.
|
|
98
|
+
"packageManager": "bun@1.3.14",
|
|
99
99
|
"engines": {
|
|
100
100
|
"bun": ">=1.3.0",
|
|
101
101
|
"node": ">=24.0.0"
|
|
102
102
|
},
|
|
103
103
|
"dependencies": {
|
|
104
|
-
"@cyanheads/mcp-ts-core": "^0.10.
|
|
104
|
+
"@cyanheads/mcp-ts-core": "^0.10.14",
|
|
105
105
|
"pino-pretty": "^13.1.3",
|
|
106
106
|
"zod": "^4.4.3"
|
|
107
107
|
},
|
|
108
108
|
"devDependencies": {
|
|
109
|
-
"@biomejs/biome": "^2.5.
|
|
109
|
+
"@biomejs/biome": "^2.5.3",
|
|
110
110
|
"@cloudflare/workers-types": "4.20260620.1",
|
|
111
|
+
"@socketsecurity/bun-security-scanner": "^1.1.2",
|
|
111
112
|
"@types/bun": "^1.3.14",
|
|
112
|
-
"@types/node": "26.
|
|
113
|
-
"@vitest/coverage-istanbul": "^4.1.
|
|
113
|
+
"@types/node": "26.1.1",
|
|
114
|
+
"@vitest/coverage-istanbul": "^4.1.10",
|
|
114
115
|
"depcheck": "^1.4.7",
|
|
115
|
-
"fast-check": "^4.
|
|
116
|
-
"husky": "^9.1.7",
|
|
116
|
+
"fast-check": "^4.9.0",
|
|
117
117
|
"ignore": "^7.0.5",
|
|
118
|
-
"tsc-alias": "^1.
|
|
119
|
-
"typedoc": "^0.28.
|
|
118
|
+
"tsc-alias": "^1.9.0",
|
|
119
|
+
"typedoc": "^0.28.20",
|
|
120
120
|
"typescript": "^6.0.3",
|
|
121
|
-
"vite": "^8.
|
|
122
|
-
"vitest": "^4.1.
|
|
121
|
+
"vite": "^8.1.4",
|
|
122
|
+
"vitest": "^4.1.10"
|
|
123
123
|
},
|
|
124
124
|
"publishConfig": {
|
|
125
125
|
"access": "public"
|