@cyanheads/interpro-mcp-server 0.1.2 → 0.2.0
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 +39 -14
- package/CLAUDE.md +39 -14
- package/Dockerfile +9 -1
- package/README.md +92 -107
- package/changelog/0.1.x/0.1.3.md +24 -0
- package/changelog/0.2.x/0.2.0.md +31 -0
- package/dist/config/server-config.d.ts +13 -0
- package/dist/config/server-config.d.ts.map +1 -0
- package/dist/config/server-config.js +19 -0
- package/dist/config/server-config.js.map +1 -0
- package/dist/index.js +11 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp-server/tools/definitions/interpro-find-proteins-by-domain.tool.d.ts +89 -2
- package/dist/mcp-server/tools/definitions/interpro-find-proteins-by-domain.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/interpro-find-proteins-by-domain.tool.js +80 -5
- package/dist/mcp-server/tools/definitions/interpro-find-proteins-by-domain.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/interpro-get-entry.tool.d.ts +59 -0
- package/dist/mcp-server/tools/definitions/interpro-get-entry.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/interpro-get-entry.tool.js +139 -5
- package/dist/mcp-server/tools/definitions/interpro-get-entry.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/interpro-get-protein-domains.tool.d.ts +21 -2
- package/dist/mcp-server/tools/definitions/interpro-get-protein-domains.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/interpro-get-protein-domains.tool.js +99 -23
- package/dist/mcp-server/tools/definitions/interpro-get-protein-domains.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/interpro-get-scan-result.tool.d.ts +133 -0
- package/dist/mcp-server/tools/definitions/interpro-get-scan-result.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/interpro-get-scan-result.tool.js +128 -0
- package/dist/mcp-server/tools/definitions/interpro-get-scan-result.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/interpro-get-structure-domains.tool.d.ts +171 -0
- package/dist/mcp-server/tools/definitions/interpro-get-structure-domains.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/interpro-get-structure-domains.tool.js +290 -0
- package/dist/mcp-server/tools/definitions/interpro-get-structure-domains.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/interpro-list-reference.tool.js +1 -1
- package/dist/mcp-server/tools/definitions/interpro-list-reference.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/interpro-scan-sequence.tool.d.ts +168 -0
- package/dist/mcp-server/tools/definitions/interpro-scan-sequence.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/interpro-scan-sequence.tool.js +187 -0
- package/dist/mcp-server/tools/definitions/interpro-scan-sequence.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/interpro-search-entries.tool.d.ts +6 -0
- package/dist/mcp-server/tools/definitions/interpro-search-entries.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/interpro-search-entries.tool.js +11 -2
- package/dist/mcp-server/tools/definitions/interpro-search-entries.tool.js.map +1 -1
- package/dist/services/interpro/format.d.ts.map +1 -1
- package/dist/services/interpro/format.js +8 -17
- package/dist/services/interpro/format.js.map +1 -1
- package/dist/services/interpro/http-adapter.d.ts +11 -2
- package/dist/services/interpro/http-adapter.d.ts.map +1 -1
- package/dist/services/interpro/http-adapter.js +67 -9
- package/dist/services/interpro/http-adapter.js.map +1 -1
- package/dist/services/interpro/interpro-service.d.ts +1 -1
- package/dist/services/interpro/interpro-service.d.ts.map +1 -1
- package/dist/services/interpro/interpro-service.js +6 -24
- package/dist/services/interpro/interpro-service.js.map +1 -1
- package/dist/services/interpro/reference.d.ts.map +1 -1
- package/dist/services/interpro/reference.js +23 -2
- package/dist/services/interpro/reference.js.map +1 -1
- package/dist/services/interpro/schemas.d.ts +16 -0
- package/dist/services/interpro/schemas.d.ts.map +1 -1
- package/dist/services/interpro/schemas.js +13 -0
- package/dist/services/interpro/schemas.js.map +1 -1
- package/dist/services/interpro/structure-schemas.d.ts +116 -0
- package/dist/services/interpro/structure-schemas.d.ts.map +1 -0
- package/dist/services/interpro/structure-schemas.js +74 -0
- package/dist/services/interpro/structure-schemas.js.map +1 -0
- package/dist/services/sequence-scan/scan-output.d.ts +94 -0
- package/dist/services/sequence-scan/scan-output.d.ts.map +1 -0
- package/dist/services/sequence-scan/scan-output.js +174 -0
- package/dist/services/sequence-scan/scan-output.js.map +1 -0
- package/dist/services/sequence-scan/scan-schemas.d.ts +112 -0
- package/dist/services/sequence-scan/scan-schemas.d.ts.map +1 -0
- package/dist/services/sequence-scan/scan-schemas.js +97 -0
- package/dist/services/sequence-scan/scan-schemas.js.map +1 -0
- package/dist/services/sequence-scan/sequence-scan-service.d.ts +119 -0
- package/dist/services/sequence-scan/sequence-scan-service.d.ts.map +1 -0
- package/dist/services/sequence-scan/sequence-scan-service.js +453 -0
- package/dist/services/sequence-scan/sequence-scan-service.js.map +1 -0
- package/dist/services/sequence-scan/sequence.d.ts +32 -0
- package/dist/services/sequence-scan/sequence.d.ts.map +1 -0
- package/dist/services/sequence-scan/sequence.js +63 -0
- package/dist/services/sequence-scan/sequence.js.map +1 -0
- package/package.json +10 -7
- package/server.json +18 -4
- package/skills/interpro-guide/SKILL.md +72 -0
|
@@ -8,7 +8,7 @@ import { BUDGET_LABEL, fitWithinBudget, jsonByteLength, RESPONSE_BYTE_BUDGET, }
|
|
|
8
8
|
import { compareText, continuation, cursorScope, decodePositionCursor, encodePositionCursor, } from '../../../services/interpro/cursors.js';
|
|
9
9
|
import { formatInterpro, normalizeImages } from '../../../services/interpro/format.js';
|
|
10
10
|
import { getInterproService } from '../../../services/interpro/interpro-service.js';
|
|
11
|
-
import { detailSchema, ExtraFeaturesSchema, isAccession, listSchema, MatchSchema, optionalString, ProteinAccessionSchema, ProteinMetadataSchema, } from '../../../services/interpro/schemas.js';
|
|
11
|
+
import { detailSchema, ExtraFeaturesSchema, isAccession, listSchema, MatchSchema, optionalString, ProteinAccessionSchema, ProteinMetadataSchema, ResidueAnnotationsSchema, } from '../../../services/interpro/schemas.js';
|
|
12
12
|
import { UPSTREAM_ERRORS } from '../../../services/interpro/upstream-errors.js';
|
|
13
13
|
const OPERATION = 'interpro_get_protein_domains';
|
|
14
14
|
const PAGE_SIZE = 200;
|
|
@@ -21,18 +21,22 @@ const SelectionSchema = z.object({
|
|
|
21
21
|
.optional()
|
|
22
22
|
.describe('Selected 1-based inclusive residue position.'),
|
|
23
23
|
includeExtraFeatures: z.boolean().describe('Whether extra predicted features were requested.'),
|
|
24
|
+
includeResidueAnnotations: z
|
|
25
|
+
.literal(true)
|
|
26
|
+
.optional()
|
|
27
|
+
.describe('Present only when residue rules were requested.'),
|
|
24
28
|
});
|
|
25
29
|
const CoverageSchema = z.object({
|
|
26
30
|
totalMatches: z
|
|
27
31
|
.number()
|
|
28
32
|
.int()
|
|
29
33
|
.nonnegative()
|
|
30
|
-
.describe('Upstream unfiltered total match count;
|
|
34
|
+
.describe('Upstream unfiltered total match count; extra-feature-only and residue-rule-only segments repeat the count reported by the match list.'),
|
|
31
35
|
scannedMatches: z
|
|
32
36
|
.number()
|
|
33
37
|
.int()
|
|
34
38
|
.nonnegative()
|
|
35
|
-
.describe(
|
|
39
|
+
.describe("Match records this segment covered, before residue filtering; totalMatches is upstream's reported count, and a complete walk can cover a different number."),
|
|
36
40
|
returnedMatches: z
|
|
37
41
|
.number()
|
|
38
42
|
.int()
|
|
@@ -50,22 +54,34 @@ const CoverageSchema = z.object({
|
|
|
50
54
|
.nonnegative()
|
|
51
55
|
.optional()
|
|
52
56
|
.describe('Extra features in this segment; present with extraFeatures.'),
|
|
57
|
+
totalResidueAnnotations: z
|
|
58
|
+
.number()
|
|
59
|
+
.int()
|
|
60
|
+
.nonnegative()
|
|
61
|
+
.optional()
|
|
62
|
+
.describe('Selected residue rules; present only when the residue stage is reached.'),
|
|
63
|
+
returnedResidueAnnotations: z
|
|
64
|
+
.number()
|
|
65
|
+
.int()
|
|
66
|
+
.nonnegative()
|
|
67
|
+
.optional()
|
|
68
|
+
.describe('Whole residue rules returned in this segment.'),
|
|
53
69
|
complete: z
|
|
54
70
|
.boolean()
|
|
55
|
-
.describe('True only when this call starts without a cursor and returns
|
|
71
|
+
.describe('True only when this call starts without a cursor and returns every match, requested extra feature, and requested residue rule.'),
|
|
56
72
|
hasMore: z
|
|
57
73
|
.boolean()
|
|
58
|
-
.describe('Whether another segment remains, holding
|
|
74
|
+
.describe('Whether another segment remains, holding matches, requested extras, or requested residue rules.'),
|
|
59
75
|
nextCursor: z
|
|
60
76
|
.string()
|
|
61
77
|
.optional()
|
|
62
|
-
.describe('Opaque cursor resuming at the next whole match
|
|
78
|
+
.describe('Opaque cursor resuming at the next whole match, extra feature, or residue rule for the same protein and selection.'),
|
|
63
79
|
});
|
|
64
80
|
/**
|
|
65
81
|
* Where a continuation resumes: `skip` records into an upstream match page (`page` is that
|
|
66
82
|
* page's upstream cursor, absent for the first page), or `features` selected extra features into
|
|
67
|
-
* the feature list that follows the last match
|
|
68
|
-
*
|
|
83
|
+
* the feature list that follows the last match, or `residues` selected rules after the extras.
|
|
84
|
+
* `after` names the last record an earlier segment covered, so changed lists are rejected.
|
|
69
85
|
*/
|
|
70
86
|
const PositionSchema = z.union([
|
|
71
87
|
z
|
|
@@ -85,6 +101,14 @@ const PositionSchema = z.union([
|
|
|
85
101
|
})
|
|
86
102
|
.strict()
|
|
87
103
|
.refine((point) => point.features > 0 === (point.after !== undefined)),
|
|
104
|
+
z
|
|
105
|
+
.object({
|
|
106
|
+
residues: z.number().int().nonnegative(),
|
|
107
|
+
after: z.string().min(1).optional(),
|
|
108
|
+
totalMatches: z.number().int().nonnegative(),
|
|
109
|
+
})
|
|
110
|
+
.strict()
|
|
111
|
+
.refine((point) => point.residues > 0 === (point.after !== undefined)),
|
|
88
112
|
]);
|
|
89
113
|
function contains(locations, position) {
|
|
90
114
|
return locations.some((location) => location.fragments.some((fragment) => fragment.start <= position && position <= fragment.end));
|
|
@@ -101,7 +125,7 @@ function byCoordinate(left, right) {
|
|
|
101
125
|
/** Map signatures to sequence coordinates in budget-bounded segments with explicit coverage. */
|
|
102
126
|
export const interproGetProteinDomains = tool('interpro_get_protein_domains', {
|
|
103
127
|
title: 'Map protein domains',
|
|
104
|
-
description: 'Retrieve InterPro and member-signature matches on a canonical UniProt protein, preserving every location and discontinuous fragment. Optionally
|
|
128
|
+
description: 'Retrieve InterPro and member-signature matches on a canonical UniProt protein, preserving every location and discontinuous fragment. Optionally select records covering a residue, include extra predicted features, and include functional residue rules with provenance. Budgeted segments hold whole records in order: matches, requested extras, then requested residue rules sorted by key. The first segment carries protein metadata; continue coverage.nextCursor until hasMore is false.',
|
|
105
129
|
annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: true },
|
|
106
130
|
auth: ['tool:interpro_get_protein_domains:read'],
|
|
107
131
|
input: z.object({
|
|
@@ -116,7 +140,11 @@ export const interproGetProteinDomains = tool('interpro_get_protein_domains', {
|
|
|
116
140
|
.boolean()
|
|
117
141
|
.default(false)
|
|
118
142
|
.describe('Include complete extra predicted features, returned after the last match; defaults to false.'),
|
|
119
|
-
|
|
143
|
+
includeResidueAnnotations: z
|
|
144
|
+
.boolean()
|
|
145
|
+
.default(false)
|
|
146
|
+
.describe('Include complete functional residue rules after matches and requested extras; defaults to false.'),
|
|
147
|
+
cursor: optionalString(z.string().trim().max(4096)).describe('Opaque coverage.nextCursor with unchanged accession, residuePosition, includeExtraFeatures, and includeResidueAnnotations.'),
|
|
120
148
|
}),
|
|
121
149
|
output: z.object({
|
|
122
150
|
accession: z.string().describe('Canonical UniProt accession.'),
|
|
@@ -125,8 +153,9 @@ export const interproGetProteinDomains = tool('interpro_get_protein_domains', {
|
|
|
125
153
|
.array(MatchSchema.describe('Complete entry match record.'))
|
|
126
154
|
.describe('Whole selected match records in this segment, sorted by earliest coordinate then accession; a match is never split across segments.'),
|
|
127
155
|
extraFeatures: ExtraFeaturesSchema.optional().describe('Whole selected extra features in this segment, in feature-key order; {} when none are selected. Omitted when not requested or when this segment ends before the features that follow the last match.'),
|
|
128
|
-
|
|
129
|
-
|
|
156
|
+
residueAnnotations: ResidueAnnotationsSchema.optional().describe('Whole selected residue rules sorted by key; {} means the stage was reached with no selected rules. Omitted when unrequested or unreached.'),
|
|
157
|
+
selection: SelectionSchema.describe('Applied residue, extra-feature, and residue-rule selection.'),
|
|
158
|
+
coverage: CoverageSchema.describe('Where this segment sits in the protein map: matches, requested extra features, then requested residue rules.'),
|
|
130
159
|
url: z.string().describe('Canonical protein website URL.'),
|
|
131
160
|
sourceUrl: z.string().describe('Official protein API source URL.'),
|
|
132
161
|
}),
|
|
@@ -146,9 +175,9 @@ export const interproGetProteinDomains = tool('interpro_get_protein_domains', {
|
|
|
146
175
|
{
|
|
147
176
|
reason: 'retry_deadline_exceeded',
|
|
148
177
|
code: JsonRpcErrorCode.Timeout,
|
|
149
|
-
when: 'The shared fifty-second budget expires across
|
|
178
|
+
when: 'The shared fifty-second budget expires across metadata, match pages, extra features, and residue rules.',
|
|
150
179
|
retryable: true,
|
|
151
|
-
recovery: 'Retry interpro_get_protein_domains after waiting; omit
|
|
180
|
+
recovery: 'Retry interpro_get_protein_domains after waiting; omit optional annotations when they are not needed.',
|
|
152
181
|
thrownBy: 'service',
|
|
153
182
|
},
|
|
154
183
|
{
|
|
@@ -198,12 +227,15 @@ export const interproGetProteinDomains = tool('interpro_get_protein_domains', {
|
|
|
198
227
|
const selection = {
|
|
199
228
|
...(residue !== undefined ? { residuePosition: residue } : {}),
|
|
200
229
|
includeExtraFeatures: input.includeExtraFeatures,
|
|
230
|
+
...(input.includeResidueAnnotations ? { includeResidueAnnotations: true } : {}),
|
|
201
231
|
};
|
|
202
232
|
const scope = { accession, ...selection };
|
|
203
233
|
const start = decodePositionCursor(input.cursor, OPERATION, scope, PositionSchema);
|
|
204
234
|
const stale = () => ctx.fail('invalid_cursor', 'Cursor no longer matches the InterPro records it resumes inside.');
|
|
205
235
|
if (start && 'features' in start && !input.includeExtraFeatures)
|
|
206
236
|
throw stale();
|
|
237
|
+
if (start && 'residues' in start && !input.includeResidueAnnotations)
|
|
238
|
+
throw stale();
|
|
207
239
|
const resumed = start !== undefined;
|
|
208
240
|
const covers = (locations) => residue === undefined || contains(locations, residue);
|
|
209
241
|
const service = getInterproService();
|
|
@@ -214,11 +246,12 @@ export const interproGetProteinDomains = tool('interpro_get_protein_domains', {
|
|
|
214
246
|
const protein = normalizeImages(detail.data.metadata);
|
|
215
247
|
if (residue !== undefined && residue > protein.length)
|
|
216
248
|
throw ctx.fail('residue_out_of_range', `Residue ${residue} exceeds the ${protein.length}-residue length of ${accession}.`, { accession, proteinLength: protein.length, residuePosition: residue });
|
|
217
|
-
/** Whole candidate items
|
|
249
|
+
/** Whole candidate items: matches, selected extra features, then selected residue rules. */
|
|
218
250
|
const items = [];
|
|
219
251
|
let scanned = 0;
|
|
220
|
-
let totalMatches = start && '
|
|
252
|
+
let totalMatches = start && !('skip' in start) ? start.totalMatches : 0;
|
|
221
253
|
let totalFeatures;
|
|
254
|
+
let totalResidueAnnotations;
|
|
222
255
|
/** Where the walk resumes after the last gathered item; undefined once the walk ends. */
|
|
223
256
|
let end;
|
|
224
257
|
const segment = (count) => {
|
|
@@ -226,18 +259,24 @@ export const interproGetProteinDomains = tool('interpro_get_protein_domains', {
|
|
|
226
259
|
const resume = stop ? stop.at : end;
|
|
227
260
|
const matches = [];
|
|
228
261
|
const features = [];
|
|
262
|
+
const residues = [];
|
|
229
263
|
for (const item of items.slice(0, count))
|
|
230
264
|
if (item.kind === 'match')
|
|
231
265
|
matches.push(item.match);
|
|
232
|
-
else
|
|
266
|
+
else if (item.kind === 'feature')
|
|
233
267
|
features.push([item.key, item.feature]);
|
|
268
|
+
else
|
|
269
|
+
residues.push([item.key, item.rule]);
|
|
234
270
|
const featureTotal = totalFeatures;
|
|
235
|
-
const reachedFeatures = featureTotal !== undefined &&
|
|
271
|
+
const reachedFeatures = featureTotal !== undefined &&
|
|
272
|
+
(features.length > 0 || resume === undefined || 'residues' in resume);
|
|
273
|
+
const reachedResidues = totalResidueAnnotations !== undefined && (residues.length > 0 || resume === undefined);
|
|
236
274
|
return {
|
|
237
275
|
accession,
|
|
238
276
|
...(resumed ? {} : { protein }),
|
|
239
277
|
matches: matches.toSorted(byCoordinate),
|
|
240
278
|
...(reachedFeatures ? { extraFeatures: Object.fromEntries(features) } : {}),
|
|
279
|
+
...(reachedResidues ? { residueAnnotations: Object.fromEntries(residues) } : {}),
|
|
241
280
|
selection,
|
|
242
281
|
coverage: {
|
|
243
282
|
totalMatches,
|
|
@@ -246,6 +285,9 @@ export const interproGetProteinDomains = tool('interpro_get_protein_domains', {
|
|
|
246
285
|
...(reachedFeatures
|
|
247
286
|
? { totalFeatures: featureTotal, returnedFeatures: features.length }
|
|
248
287
|
: {}),
|
|
288
|
+
...(reachedResidues
|
|
289
|
+
? { totalResidueAnnotations, returnedResidueAnnotations: residues.length }
|
|
290
|
+
: {}),
|
|
249
291
|
complete: !resumed && resume === undefined,
|
|
250
292
|
hasMore: resume !== undefined,
|
|
251
293
|
...(resume ? { nextCursor: encodePositionCursor(OPERATION, scope, resume) } : {}),
|
|
@@ -293,7 +335,7 @@ export const interproGetProteinDomains = tool('interpro_get_protein_domains', {
|
|
|
293
335
|
break;
|
|
294
336
|
}
|
|
295
337
|
}
|
|
296
|
-
if (input.includeExtraFeatures && end === undefined) {
|
|
338
|
+
if (input.includeExtraFeatures && !(start && 'residues' in start) && end === undefined) {
|
|
297
339
|
// Read extras only when the matches fit beside the cursor that would resume at them.
|
|
298
340
|
end = { features: 0, totalMatches };
|
|
299
341
|
if (!overflows()) {
|
|
@@ -325,20 +367,53 @@ export const interproGetProteinDomains = tool('interpro_get_protein_domains', {
|
|
|
325
367
|
}
|
|
326
368
|
}
|
|
327
369
|
}
|
|
370
|
+
if (input.includeResidueAnnotations && end === undefined) {
|
|
371
|
+
end = { residues: 0, totalMatches };
|
|
372
|
+
if (!overflows()) {
|
|
373
|
+
end = undefined;
|
|
374
|
+
const response = await service.request(call, ['protein', 'uniprot', accession], { residues: '' }, ResidueAnnotationsSchema);
|
|
375
|
+
if (!response.data)
|
|
376
|
+
throw ctx.fail('upstream_shape_invalid', 'Residue annotation response is missing.');
|
|
377
|
+
const selected = Object.entries(normalizeImages(response.data))
|
|
378
|
+
.filter(([, rule]) => covers(rule.locations))
|
|
379
|
+
.toSorted(([a], [b]) => compareText(a, b));
|
|
380
|
+
const resumeAt = start && 'residues' in start ? start : undefined;
|
|
381
|
+
const skip = resumeAt?.residues ?? 0;
|
|
382
|
+
if (skip > 0 && (skip >= selected.length || selected[skip - 1]?.[0] !== resumeAt?.after))
|
|
383
|
+
throw stale();
|
|
384
|
+
totalResidueAnnotations = selected.length;
|
|
385
|
+
for (let index = skip; index < selected.length; index++) {
|
|
386
|
+
const [key, rule] = selected[index];
|
|
387
|
+
items.push({
|
|
388
|
+
kind: 'residue',
|
|
389
|
+
key,
|
|
390
|
+
rule,
|
|
391
|
+
scannedBefore: scanned,
|
|
392
|
+
at: {
|
|
393
|
+
residues: index,
|
|
394
|
+
...(index ? { after: selected[index - 1][0] } : {}),
|
|
395
|
+
totalMatches,
|
|
396
|
+
},
|
|
397
|
+
});
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
}
|
|
328
401
|
const { count, output, oversized } = fitWithinBudget(items.length, segment);
|
|
329
402
|
const { coverage } = output;
|
|
330
403
|
const stop = items[count];
|
|
331
404
|
const notices = [];
|
|
332
405
|
if (oversized) {
|
|
333
406
|
const only = items[0];
|
|
334
|
-
const [named, unnamed, id] = only.kind
|
|
335
|
-
?
|
|
407
|
+
const [named, unnamed, id] = only.kind !== 'match'
|
|
408
|
+
? only.kind === 'feature'
|
|
409
|
+
? ['Extra feature', 'This extra feature', only.key]
|
|
410
|
+
: ['Residue rule', 'This residue rule', only.key]
|
|
336
411
|
: ['Match', 'This match', only.match.metadata.accession];
|
|
337
412
|
notices.push(`${isAccession(id) ? `${named} ${id}` : unnamed} cannot be split, so this segment holds it alone and exceeds the ${BUDGET_LABEL}.`);
|
|
338
413
|
}
|
|
339
414
|
if (coverage.nextCursor) {
|
|
340
415
|
const reason = stop
|
|
341
|
-
? ` and stopped at the ${BUDGET_LABEL} before the next whole ${stop.kind === 'match' ? 'match' : 'extra feature'}`
|
|
416
|
+
? ` and stopped at the ${BUDGET_LABEL} before the next whole ${stop.kind === 'match' ? 'match' : stop.kind === 'feature' ? 'extra feature' : 'residue rule'}`
|
|
342
417
|
: oversized
|
|
343
418
|
? ''
|
|
344
419
|
: ` and reached the ${MAX_PAGES}-page read limit after ${coverage.scannedMatches} match records`;
|
|
@@ -346,13 +421,14 @@ export const interproGetProteinDomains = tool('interpro_get_protein_domains', {
|
|
|
346
421
|
accession,
|
|
347
422
|
...(residue !== undefined ? { residuePosition: residue } : {}),
|
|
348
423
|
...(input.includeExtraFeatures ? { includeExtraFeatures: true } : {}),
|
|
424
|
+
...(input.includeResidueAnnotations ? { includeResidueAnnotations: true } : {}),
|
|
349
425
|
cursor: coverage.nextCursor,
|
|
350
426
|
};
|
|
351
427
|
notices.push(`This segment covers part of the protein map${reason}. Continue with interpro_get_protein_domains ${JSON.stringify(nextCall)} before concluding that a residue has no annotation.`);
|
|
352
428
|
}
|
|
353
429
|
else if (resumed)
|
|
354
430
|
notices.push('This is the final resumed segment. Only the combined segments cover the traversal; upstream pagination is not a snapshot.' +
|
|
355
|
-
(coverage.returnedMatches || '
|
|
431
|
+
(coverage.returnedMatches || !('skip' in start)
|
|
356
432
|
? ''
|
|
357
433
|
: ' No match was selected in this segment.'));
|
|
358
434
|
else if (!coverage.returnedMatches)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpro-get-protein-domains.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/interpro-get-protein-domains.tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"interpro-get-protein-domains.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/interpro-get-protein-domains.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Read-only status and matches of an InterProScan job started by interpro_scan_sequence.
|
|
3
|
+
* @module mcp-server/tools/definitions/interpro-get-scan-result.tool
|
|
4
|
+
*/
|
|
5
|
+
import { z } from '@cyanheads/mcp-ts-core';
|
|
6
|
+
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
7
|
+
export declare const interproGetScanResult: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
|
|
8
|
+
jobId: z.ZodString;
|
|
9
|
+
waitSeconds: z.ZodDefault<z.ZodNumber>;
|
|
10
|
+
cursor: z.ZodPreprocess<z.ZodOptional<z.ZodString>, unknown>;
|
|
11
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
12
|
+
source: z.ZodEnum<{
|
|
13
|
+
interproscan: "interproscan";
|
|
14
|
+
precalculated: "precalculated";
|
|
15
|
+
}>;
|
|
16
|
+
status: z.ZodEnum<{
|
|
17
|
+
finished: "finished";
|
|
18
|
+
queued: "queued";
|
|
19
|
+
running: "running";
|
|
20
|
+
submitted: "submitted";
|
|
21
|
+
}>;
|
|
22
|
+
jobId: z.ZodOptional<z.ZodString>;
|
|
23
|
+
md5: z.ZodOptional<z.ZodString>;
|
|
24
|
+
length: z.ZodOptional<z.ZodNumber>;
|
|
25
|
+
interproVersion: z.ZodOptional<z.ZodString>;
|
|
26
|
+
interproscanVersion: z.ZodOptional<z.ZodString>;
|
|
27
|
+
matches: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
28
|
+
signature: z.ZodObject<{
|
|
29
|
+
accession: z.ZodString;
|
|
30
|
+
signatureLibraryRelease: z.ZodObject<{
|
|
31
|
+
library: z.ZodString;
|
|
32
|
+
version: z.ZodString;
|
|
33
|
+
}, z.core.$catchall<z.ZodJSONSchema>>;
|
|
34
|
+
entry: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
35
|
+
accession: z.ZodString;
|
|
36
|
+
}, z.core.$catchall<z.ZodJSONSchema>>>>;
|
|
37
|
+
}, z.core.$catchall<z.ZodJSONSchema>>;
|
|
38
|
+
'model-ac': z.ZodNullable<z.ZodString>;
|
|
39
|
+
source: z.ZodString;
|
|
40
|
+
locations: z.ZodArray<z.ZodObject<{
|
|
41
|
+
start: z.ZodNumber;
|
|
42
|
+
end: z.ZodNumber;
|
|
43
|
+
'location-fragments': z.ZodArray<z.ZodObject<{
|
|
44
|
+
start: z.ZodNumber;
|
|
45
|
+
end: z.ZodNumber;
|
|
46
|
+
'dc-status': z.ZodString;
|
|
47
|
+
}, z.core.$catchall<z.ZodJSONSchema>>>;
|
|
48
|
+
}, z.core.$catchall<z.ZodJSONSchema>>>;
|
|
49
|
+
}, z.core.$catchall<z.ZodJSONSchema>>>>;
|
|
50
|
+
coverage: z.ZodOptional<z.ZodObject<{
|
|
51
|
+
totalMatches: z.ZodNumber;
|
|
52
|
+
offset: z.ZodNumber;
|
|
53
|
+
returnedMatches: z.ZodNumber;
|
|
54
|
+
hasMore: z.ZodBoolean;
|
|
55
|
+
nextCursor: z.ZodOptional<z.ZodString>;
|
|
56
|
+
}, z.core.$strip>>;
|
|
57
|
+
sourceUrl: z.ZodString;
|
|
58
|
+
}, z.core.$strip>, readonly [{
|
|
59
|
+
readonly reason: "invalid_cursor";
|
|
60
|
+
readonly code: JsonRpcErrorCode.ValidationError;
|
|
61
|
+
readonly when: "The cursor is malformed, belongs to another job, or no longer fits the result.";
|
|
62
|
+
readonly recovery: "Repeat interpro_get_scan_result with the same jobId and no cursor.";
|
|
63
|
+
readonly thrownBy: "service";
|
|
64
|
+
}, {
|
|
65
|
+
readonly reason: "scan_failed";
|
|
66
|
+
readonly code: JsonRpcErrorCode.ServiceUnavailable;
|
|
67
|
+
readonly when: "The InterProScan job ended with status ERROR or FAILURE.";
|
|
68
|
+
readonly retryable: false;
|
|
69
|
+
readonly recovery: "Start a new job by passing the sequence to interpro_scan_sequence again.";
|
|
70
|
+
readonly thrownBy: "service";
|
|
71
|
+
}, {
|
|
72
|
+
readonly reason: "scan_not_found";
|
|
73
|
+
readonly code: JsonRpcErrorCode.NotFound;
|
|
74
|
+
readonly when: "The Job Dispatcher has no such job: it never existed or expired after seven days.";
|
|
75
|
+
readonly retryable: false;
|
|
76
|
+
readonly recovery: "Start a new job by passing the sequence to interpro_scan_sequence again.";
|
|
77
|
+
readonly thrownBy: "service";
|
|
78
|
+
}, {
|
|
79
|
+
readonly reason: "retry_deadline_exceeded";
|
|
80
|
+
readonly code: JsonRpcErrorCode.Timeout;
|
|
81
|
+
readonly when: "Polling and result reading exhausted the fifty-second call budget.";
|
|
82
|
+
readonly retryable: true;
|
|
83
|
+
readonly recovery: "Repeat the same interpro_get_scan_result call; the job keeps running upstream.";
|
|
84
|
+
readonly thrownBy: "service";
|
|
85
|
+
}, {
|
|
86
|
+
readonly reason: "upstream_shape_invalid";
|
|
87
|
+
readonly code: JsonRpcErrorCode.ServiceUnavailable;
|
|
88
|
+
readonly when: "The Job Dispatcher returned a response this server cannot read.";
|
|
89
|
+
readonly retryable: false;
|
|
90
|
+
readonly recovery: "Retry the same call later; the upstream response format may have changed.";
|
|
91
|
+
readonly thrownBy: "service";
|
|
92
|
+
}, {
|
|
93
|
+
readonly reason: "upstream_response_too_large";
|
|
94
|
+
readonly code: JsonRpcErrorCode.ServiceUnavailable;
|
|
95
|
+
readonly when: "The job result exceeds 4 MiB.";
|
|
96
|
+
readonly retryable: false;
|
|
97
|
+
readonly recovery: "Scan a shorter sequence, or split a multi-domain protein into regions and scan each.";
|
|
98
|
+
readonly thrownBy: "service";
|
|
99
|
+
}, {
|
|
100
|
+
readonly reason: "upstream_rejected";
|
|
101
|
+
readonly code: JsonRpcErrorCode.ServiceUnavailable;
|
|
102
|
+
readonly when: "The Job Dispatcher returned an unhandled redirect or client rejection.";
|
|
103
|
+
readonly retryable: false;
|
|
104
|
+
readonly recovery: "Retry the same call later; the upstream service may be under maintenance.";
|
|
105
|
+
readonly thrownBy: "service";
|
|
106
|
+
}, {
|
|
107
|
+
readonly reason: "upstream_unavailable";
|
|
108
|
+
readonly code: JsonRpcErrorCode.ServiceUnavailable;
|
|
109
|
+
readonly when: "The Job Dispatcher had a network or server failure.";
|
|
110
|
+
readonly retryable: true;
|
|
111
|
+
readonly recovery: "Retry the same interpro_get_scan_result call later; the job keeps running upstream.";
|
|
112
|
+
readonly thrownBy: "service";
|
|
113
|
+
}, {
|
|
114
|
+
readonly reason: "upstream_timeout";
|
|
115
|
+
readonly code: JsonRpcErrorCode.Timeout;
|
|
116
|
+
readonly when: "A Job Dispatcher request returned HTTP 408/504 or exceeded its attempt deadline.";
|
|
117
|
+
readonly retryable: true;
|
|
118
|
+
readonly recovery: "Retry the same interpro_get_scan_result call after waiting a few seconds.";
|
|
119
|
+
readonly thrownBy: "service";
|
|
120
|
+
}, {
|
|
121
|
+
readonly reason: "upstream_rate_limited";
|
|
122
|
+
readonly code: JsonRpcErrorCode.RateLimited;
|
|
123
|
+
readonly when: "The Job Dispatcher returned HTTP 429.";
|
|
124
|
+
readonly retryable: true;
|
|
125
|
+
readonly recovery: "Wait for retryAfter when supplied, then repeat the same call.";
|
|
126
|
+
readonly thrownBy: "service";
|
|
127
|
+
}], {
|
|
128
|
+
notice: z.ZodOptional<z.ZodString>;
|
|
129
|
+
totalCount: z.ZodOptional<z.ZodNumber>;
|
|
130
|
+
truncated: z.ZodOptional<z.ZodBoolean>;
|
|
131
|
+
shown: z.ZodOptional<z.ZodNumber>;
|
|
132
|
+
}>;
|
|
133
|
+
//# sourceMappingURL=interpro-get-scan-result.tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interpro-get-scan-result.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/interpro-get-scan-result.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAejE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqIhC,CAAC"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Read-only status and matches of an InterProScan job started by interpro_scan_sequence.
|
|
3
|
+
* @module mcp-server/tools/definitions/interpro-get-scan-result.tool
|
|
4
|
+
*/
|
|
5
|
+
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
6
|
+
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
7
|
+
import { formatInterpro } from '../../../services/interpro/format.js';
|
|
8
|
+
import { optionalString } from '../../../services/interpro/schemas.js';
|
|
9
|
+
import { buildScanOutput, decodeScanCursor, ScanEnrichment, ScanOutputSchema, } from '../../../services/sequence-scan/scan-output.js';
|
|
10
|
+
import { JOB_ID_PATTERN, MAX_JOB_ID_CHARS } from '../../../services/sequence-scan/scan-schemas.js';
|
|
11
|
+
import { getSequenceScanService, MAX_WAIT_SECONDS, } from '../../../services/sequence-scan/sequence-scan-service.js';
|
|
12
|
+
export const interproGetScanResult = tool('interpro_get_scan_result', {
|
|
13
|
+
title: 'Read an InterProScan job',
|
|
14
|
+
description: 'Check an InterProScan job started by interpro_scan_sequence, waiting up to waitSeconds for it to finish. Returns the matches once finished, otherwise its queued or running status to check again later. Matches are InterProScan records verbatim, 1-based and inclusive, with the InterPro and InterProScan versions that produced them. Jobs and their results expire seven days after submission.',
|
|
15
|
+
annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: true },
|
|
16
|
+
auth: ['tool:interpro_get_scan_result:read'],
|
|
17
|
+
input: z.object({
|
|
18
|
+
jobId: z
|
|
19
|
+
.string()
|
|
20
|
+
.trim()
|
|
21
|
+
.max(MAX_JOB_ID_CHARS)
|
|
22
|
+
.regex(JOB_ID_PATTERN, 'Expected an iprscan6 job ID such as iprscan6-R20261028-131532-0930-13189043-p1m.')
|
|
23
|
+
.describe('jobId returned by interpro_scan_sequence, such as iprscan6-R20261028-131532-0930-13189043-p1m.'),
|
|
24
|
+
waitSeconds: z
|
|
25
|
+
.number()
|
|
26
|
+
.int()
|
|
27
|
+
.min(0)
|
|
28
|
+
.max(MAX_WAIT_SECONDS)
|
|
29
|
+
.default(30)
|
|
30
|
+
.describe('Seconds to wait for a pending job to finish; 0 checks its status once and returns.'),
|
|
31
|
+
cursor: optionalString(z.string().trim().max(4096)).describe('Opaque coverage.nextCursor from an earlier result for this same jobId, to read the next segment.'),
|
|
32
|
+
}),
|
|
33
|
+
output: ScanOutputSchema,
|
|
34
|
+
enrichment: ScanEnrichment,
|
|
35
|
+
errors: [
|
|
36
|
+
{
|
|
37
|
+
reason: 'invalid_cursor',
|
|
38
|
+
code: JsonRpcErrorCode.ValidationError,
|
|
39
|
+
when: 'The cursor is malformed, belongs to another job, or no longer fits the result.',
|
|
40
|
+
recovery: 'Repeat interpro_get_scan_result with the same jobId and no cursor.',
|
|
41
|
+
thrownBy: 'service',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
reason: 'scan_failed',
|
|
45
|
+
code: JsonRpcErrorCode.ServiceUnavailable,
|
|
46
|
+
when: 'The InterProScan job ended with status ERROR or FAILURE.',
|
|
47
|
+
retryable: false,
|
|
48
|
+
recovery: 'Start a new job by passing the sequence to interpro_scan_sequence again.',
|
|
49
|
+
thrownBy: 'service',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
reason: 'scan_not_found',
|
|
53
|
+
code: JsonRpcErrorCode.NotFound,
|
|
54
|
+
when: 'The Job Dispatcher has no such job: it never existed or expired after seven days.',
|
|
55
|
+
retryable: false,
|
|
56
|
+
recovery: 'Start a new job by passing the sequence to interpro_scan_sequence again.',
|
|
57
|
+
thrownBy: 'service',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
reason: 'retry_deadline_exceeded',
|
|
61
|
+
code: JsonRpcErrorCode.Timeout,
|
|
62
|
+
when: 'Polling and result reading exhausted the fifty-second call budget.',
|
|
63
|
+
retryable: true,
|
|
64
|
+
recovery: 'Repeat the same interpro_get_scan_result call; the job keeps running upstream.',
|
|
65
|
+
thrownBy: 'service',
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
reason: 'upstream_shape_invalid',
|
|
69
|
+
code: JsonRpcErrorCode.ServiceUnavailable,
|
|
70
|
+
when: 'The Job Dispatcher returned a response this server cannot read.',
|
|
71
|
+
retryable: false,
|
|
72
|
+
recovery: 'Retry the same call later; the upstream response format may have changed.',
|
|
73
|
+
thrownBy: 'service',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
reason: 'upstream_response_too_large',
|
|
77
|
+
code: JsonRpcErrorCode.ServiceUnavailable,
|
|
78
|
+
when: 'The job result exceeds 4 MiB.',
|
|
79
|
+
retryable: false,
|
|
80
|
+
recovery: 'Scan a shorter sequence, or split a multi-domain protein into regions and scan each.',
|
|
81
|
+
thrownBy: 'service',
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
reason: 'upstream_rejected',
|
|
85
|
+
code: JsonRpcErrorCode.ServiceUnavailable,
|
|
86
|
+
when: 'The Job Dispatcher returned an unhandled redirect or client rejection.',
|
|
87
|
+
retryable: false,
|
|
88
|
+
recovery: 'Retry the same call later; the upstream service may be under maintenance.',
|
|
89
|
+
thrownBy: 'service',
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
reason: 'upstream_unavailable',
|
|
93
|
+
code: JsonRpcErrorCode.ServiceUnavailable,
|
|
94
|
+
when: 'The Job Dispatcher had a network or server failure.',
|
|
95
|
+
retryable: true,
|
|
96
|
+
recovery: 'Retry the same interpro_get_scan_result call later; the job keeps running upstream.',
|
|
97
|
+
thrownBy: 'service',
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
reason: 'upstream_timeout',
|
|
101
|
+
code: JsonRpcErrorCode.Timeout,
|
|
102
|
+
when: 'A Job Dispatcher request returned HTTP 408/504 or exceeded its attempt deadline.',
|
|
103
|
+
retryable: true,
|
|
104
|
+
recovery: 'Retry the same interpro_get_scan_result call after waiting a few seconds.',
|
|
105
|
+
thrownBy: 'service',
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
reason: 'upstream_rate_limited',
|
|
109
|
+
code: JsonRpcErrorCode.RateLimited,
|
|
110
|
+
when: 'The Job Dispatcher returned HTTP 429.',
|
|
111
|
+
retryable: true,
|
|
112
|
+
recovery: 'Wait for retryAfter when supplied, then repeat the same call.',
|
|
113
|
+
thrownBy: 'service',
|
|
114
|
+
},
|
|
115
|
+
],
|
|
116
|
+
async handler(input, ctx) {
|
|
117
|
+
const { jobId } = input;
|
|
118
|
+
const start = decodeScanCursor(input.cursor, { jobId });
|
|
119
|
+
const service = getSequenceScanService();
|
|
120
|
+
const state = await service.result(service.begin(ctx), jobId, input.waitSeconds * 1000);
|
|
121
|
+
return buildScanOutput(ctx.enrich, { source: 'interproscan', jobId, ...state }, {
|
|
122
|
+
...(start ? { start } : {}),
|
|
123
|
+
continuation: (cursor) => `interpro_get_scan_result ${JSON.stringify({ jobId, cursor })}`,
|
|
124
|
+
});
|
|
125
|
+
},
|
|
126
|
+
format: formatInterpro,
|
|
127
|
+
});
|
|
128
|
+
//# sourceMappingURL=interpro-get-scan-result.tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interpro-get-scan-result.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/interpro-get-scan-result.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,gBAAgB,GACjB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5F,OAAO,EACL,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,mDAAmD,CAAC;AAE3D,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,0BAA0B,EAAE;IACpE,KAAK,EAAE,0BAA0B;IACjC,WAAW,EACT,uYAAuY;IACzY,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAC9E,IAAI,EAAE,CAAC,oCAAoC,CAAC;IAC5C,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,IAAI,EAAE;aACN,GAAG,CAAC,gBAAgB,CAAC;aACrB,KAAK,CACJ,cAAc,EACd,kFAAkF,CACnF;aACA,QAAQ,CACP,gGAAgG,CACjG;QACH,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,gBAAgB,CAAC;aACrB,OAAO,CAAC,EAAE,CAAC;aACX,QAAQ,CACP,oFAAoF,CACrF;QACH,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAC1D,kGAAkG,CACnG;KACF,CAAC;IACF,MAAM,EAAE,gBAAgB;IACxB,UAAU,EAAE,cAAc;IAC1B,MAAM,EAAE;QACN;YACE,MAAM,EAAE,gBAAgB;YACxB,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,gFAAgF;YACtF,QAAQ,EAAE,oEAAoE;YAC9E,QAAQ,EAAE,SAAS;SACpB;QACD;YACE,MAAM,EAAE,aAAa;YACrB,IAAI,EAAE,gBAAgB,CAAC,kBAAkB;YACzC,IAAI,EAAE,0DAA0D;YAChE,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,0EAA0E;YACpF,QAAQ,EAAE,SAAS;SACpB;QACD;YACE,MAAM,EAAE,gBAAgB;YACxB,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,mFAAmF;YACzF,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,0EAA0E;YACpF,QAAQ,EAAE,SAAS;SACpB;QACD;YACE,MAAM,EAAE,yBAAyB;YACjC,IAAI,EAAE,gBAAgB,CAAC,OAAO;YAC9B,IAAI,EAAE,oEAAoE;YAC1E,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,gFAAgF;YAC1F,QAAQ,EAAE,SAAS;SACpB;QACD;YACE,MAAM,EAAE,wBAAwB;YAChC,IAAI,EAAE,gBAAgB,CAAC,kBAAkB;YACzC,IAAI,EAAE,iEAAiE;YACvE,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,2EAA2E;YACrF,QAAQ,EAAE,SAAS;SACpB;QACD;YACE,MAAM,EAAE,6BAA6B;YACrC,IAAI,EAAE,gBAAgB,CAAC,kBAAkB;YACzC,IAAI,EAAE,+BAA+B;YACrC,SAAS,EAAE,KAAK;YAChB,QAAQ,EACN,sFAAsF;YACxF,QAAQ,EAAE,SAAS;SACpB;QACD;YACE,MAAM,EAAE,mBAAmB;YAC3B,IAAI,EAAE,gBAAgB,CAAC,kBAAkB;YACzC,IAAI,EAAE,wEAAwE;YAC9E,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,2EAA2E;YACrF,QAAQ,EAAE,SAAS;SACpB;QACD;YACE,MAAM,EAAE,sBAAsB;YAC9B,IAAI,EAAE,gBAAgB,CAAC,kBAAkB;YACzC,IAAI,EAAE,qDAAqD;YAC3D,SAAS,EAAE,IAAI;YACf,QAAQ,EACN,qFAAqF;YACvF,QAAQ,EAAE,SAAS;SACpB;QACD;YACE,MAAM,EAAE,kBAAkB;YAC1B,IAAI,EAAE,gBAAgB,CAAC,OAAO;YAC9B,IAAI,EAAE,kFAAkF;YACxF,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,2EAA2E;YACrF,QAAQ,EAAE,SAAS;SACpB;QACD;YACE,MAAM,EAAE,uBAAuB;YAC/B,IAAI,EAAE,gBAAgB,CAAC,WAAW;YAClC,IAAI,EAAE,uCAAuC;YAC7C,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,+DAA+D;YACzE,QAAQ,EAAE,SAAS;SACpB;KACF;IAED,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QACxB,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;QACxF,OAAO,eAAe,CACpB,GAAG,CAAC,MAAM,EACV,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAC3C;YACE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,4BAA4B,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE;SAC1F,CACF,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,cAAc;CACvB,CAAC,CAAC"}
|