@cyanheads/brapi-mcp-server 0.7.9 → 0.7.11
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/CLAUDE.md +18 -13
- package/Dockerfile +19 -5
- package/README.md +6 -3
- package/changelog/0.7.x/0.7.10.md +12 -0
- package/changelog/0.7.x/0.7.11.md +43 -0
- package/changelog/template.md +55 -16
- package/dist/config/alias-credentials.js.map +1 -1
- package/dist/config/builtin-aliases.js.map +1 -1
- package/dist/mcp-server/resources/definitions/brapi-calls.resource.d.ts +3 -3
- package/dist/mcp-server/resources/definitions/brapi-calls.resource.d.ts.map +1 -1
- package/dist/mcp-server/resources/definitions/brapi-filters.resource.d.ts +3 -3
- package/dist/mcp-server/resources/definitions/brapi-filters.resource.d.ts.map +1 -1
- package/dist/mcp-server/resources/definitions/brapi-germplasm.resource.d.ts +6 -6
- package/dist/mcp-server/resources/definitions/brapi-germplasm.resource.d.ts.map +1 -1
- package/dist/mcp-server/resources/definitions/brapi-server-info.resource.d.ts +3 -3
- package/dist/mcp-server/resources/definitions/brapi-server-info.resource.d.ts.map +1 -1
- package/dist/mcp-server/resources/definitions/brapi-study.resource.d.ts +6 -6
- package/dist/mcp-server/resources/definitions/brapi-study.resource.d.ts.map +1 -1
- package/dist/mcp-server/resources/definitions/brapi-variable.resource.d.ts +6 -6
- package/dist/mcp-server/resources/definitions/brapi-variable.resource.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-build-phenotype-matrix.tool.d.ts +19 -14
- package/dist/mcp-server/tools/definitions/brapi-build-phenotype-matrix.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-build-phenotype-matrix.tool.js +59 -19
- package/dist/mcp-server/tools/definitions/brapi-build-phenotype-matrix.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-connect.tool.d.ts +12 -12
- package/dist/mcp-server/tools/definitions/brapi-connect.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-dataframe-describe.tool.d.ts +2 -2
- package/dist/mcp-server/tools/definitions/brapi-dataframe-describe.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-dataframe-export.tool.d.ts +14 -14
- package/dist/mcp-server/tools/definitions/brapi-dataframe-export.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-dataframe-query.tool.d.ts +9 -4
- package/dist/mcp-server/tools/definitions/brapi-dataframe-query.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-dataframe-query.tool.js +31 -0
- package/dist/mcp-server/tools/definitions/brapi-dataframe-query.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-describe-filters.tool.d.ts +6 -6
- package/dist/mcp-server/tools/definitions/brapi-describe-filters.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-export-genotype-matrix.tool.d.ts +11 -11
- package/dist/mcp-server/tools/definitions/brapi-export-genotype-matrix.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-genotype-calls.tool.d.ts +11 -11
- package/dist/mcp-server/tools/definitions/brapi-find-genotype-calls.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-germplasm.tool.d.ts +6 -6
- package/dist/mcp-server/tools/definitions/brapi-find-germplasm.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-images.tool.d.ts +6 -6
- package/dist/mcp-server/tools/definitions/brapi-find-images.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-locations.tool.d.ts +6 -6
- package/dist/mcp-server/tools/definitions/brapi-find-locations.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-observations.tool.d.ts +6 -6
- package/dist/mcp-server/tools/definitions/brapi-find-observations.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-studies.tool.d.ts +6 -6
- package/dist/mcp-server/tools/definitions/brapi-find-studies.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-variables.tool.d.ts +7 -7
- package/dist/mcp-server/tools/definitions/brapi-find-variables.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-variants.tool.d.ts +6 -6
- package/dist/mcp-server/tools/definitions/brapi-find-variants.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-germplasm-performance.tool.d.ts +6 -6
- package/dist/mcp-server/tools/definitions/brapi-germplasm-performance.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-germplasm-performance.tool.js +27 -28
- package/dist/mcp-server/tools/definitions/brapi-germplasm-performance.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-get-germplasm.tool.d.ts +6 -6
- package/dist/mcp-server/tools/definitions/brapi-get-germplasm.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-get-image.tool.d.ts +6 -6
- package/dist/mcp-server/tools/definitions/brapi-get-image.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-get-study.tool.d.ts +6 -6
- package/dist/mcp-server/tools/definitions/brapi-get-study.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-raw-get.tool.d.ts +6 -6
- package/dist/mcp-server/tools/definitions/brapi-raw-get.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-raw-search.tool.d.ts +7 -7
- package/dist/mcp-server/tools/definitions/brapi-raw-search.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-server-info.tool.d.ts +9 -9
- package/dist/mcp-server/tools/definitions/brapi-server-info.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-submit-observations.tool.d.ts +23 -27
- package/dist/mcp-server/tools/definitions/brapi-submit-observations.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-submit-observations.tool.js +41 -55
- package/dist/mcp-server/tools/definitions/brapi-submit-observations.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-walk-pedigree.tool.d.ts +8 -8
- package/dist/mcp-server/tools/definitions/brapi-walk-pedigree.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/index.d.ts +829 -824
- package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
- package/dist/mcp-server/tools/shared/find-helpers.js.map +1 -1
- package/dist/mcp-server/tools/shared/observations.d.ts +67 -0
- package/dist/mcp-server/tools/shared/observations.d.ts.map +1 -1
- package/dist/mcp-server/tools/shared/observations.js +56 -0
- package/dist/mcp-server/tools/shared/observations.js.map +1 -1
- package/dist/mcp-server/tools/shared/orientation-envelope.d.ts +12 -12
- package/dist/services/brapi-client/brapi-client.d.ts +2 -3
- package/dist/services/brapi-client/brapi-client.d.ts.map +1 -1
- package/dist/services/brapi-client/brapi-client.js +11 -14
- package/dist/services/brapi-client/brapi-client.js.map +1 -1
- package/dist/services/brapi-client/types.d.ts +1 -1
- package/dist/services/brapi-dialect/detect.js.map +1 -1
- package/dist/services/brapi-dialect/index.js.map +1 -1
- package/dist/services/canvas-bridge/canvas-bridge.d.ts +1 -1
- package/dist/services/canvas-bridge/canvas-bridge.d.ts.map +1 -1
- package/dist/services/canvas-bridge/canvas-bridge.js.map +1 -1
- package/dist/services/capability-registry/capability-registry.d.ts.map +1 -1
- package/dist/services/capability-registry/capability-registry.js.map +1 -1
- package/dist/services/ontology-resolver/ontology-resolver.d.ts.map +1 -1
- package/dist/services/ontology-resolver/ontology-resolver.js.map +1 -1
- package/dist/services/reference-data-cache/reference-data-cache.d.ts.map +1 -1
- package/dist/services/reference-data-cache/reference-data-cache.js.map +1 -1
- package/dist/services/server-registry/server-registry.d.ts.map +1 -1
- package/dist/services/server-registry/server-registry.js.map +1 -1
- package/manifest.json +1 -1
- package/package.json +11 -11
- package/server.json +3 -3
|
@@ -25,13 +25,13 @@ export declare const readOnlyToolDefinitions: (import("@cyanheads/mcp-ts-core").
|
|
|
25
25
|
filters: import("zod").ZodArray<import("zod").ZodObject<{
|
|
26
26
|
name: import("zod").ZodString;
|
|
27
27
|
type: import("zod").ZodEnum<{
|
|
28
|
-
string: "string";
|
|
29
|
-
number: "number";
|
|
30
28
|
boolean: "boolean";
|
|
31
29
|
date: "date";
|
|
32
30
|
integer: "integer";
|
|
33
|
-
"string[]": "string[]";
|
|
34
31
|
"integer[]": "integer[]";
|
|
32
|
+
number: "number";
|
|
33
|
+
string: "string";
|
|
34
|
+
"string[]": "string[]";
|
|
35
35
|
}>;
|
|
36
36
|
description: import("zod").ZodString;
|
|
37
37
|
example: import("zod").ZodString;
|
|
@@ -39,128 +39,10 @@ export declare const readOnlyToolDefinitions: (import("@cyanheads/mcp-ts-core").
|
|
|
39
39
|
specReference: import("zod").ZodOptional<import("zod").ZodString>;
|
|
40
40
|
availableEndpoints: import("zod").ZodArray<import("zod").ZodString>;
|
|
41
41
|
}, import("zod/v4/core").$strip>, readonly [{
|
|
42
|
-
readonly reason:
|
|
43
|
-
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
44
|
-
readonly when: "No filter catalog is registered for the requested endpoint";
|
|
45
|
-
readonly recovery: "Pick an endpoint from data.availableEndpoints — same set as the input enum (studies, germplasm, observations, variables, images, variants, locations).";
|
|
46
|
-
}], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
47
|
-
germplasmDbId: import("zod").ZodString;
|
|
48
|
-
alias: import("zod").ZodOptional<import("zod").ZodString>;
|
|
49
|
-
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
50
|
-
alias: import("zod").ZodString;
|
|
51
|
-
germplasm: import("zod").ZodObject<{
|
|
52
|
-
germplasmDbId: import("zod").ZodString;
|
|
53
|
-
germplasmName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
54
|
-
germplasmPUI: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
55
|
-
commonCropName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
56
|
-
accessionNumber: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
57
|
-
genus: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
58
|
-
species: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
59
|
-
subtaxa: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
60
|
-
defaultDisplayName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
61
|
-
pedigree: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
62
|
-
biologicalStatusOfAccessionDescription: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
63
|
-
germplasmOrigin: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodObject<{}, import("zod/v4/core").$loose>>>>;
|
|
64
|
-
countryOfOriginCode: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
65
|
-
collection: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
66
|
-
instituteCode: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
67
|
-
instituteName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
68
|
-
synonyms: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodObject<{
|
|
69
|
-
synonym: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
70
|
-
type: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
71
|
-
}, import("zod/v4/core").$loose>>>>;
|
|
72
|
-
}, import("zod/v4/core").$loose>;
|
|
73
|
-
parents: import("zod").ZodArray<import("zod").ZodObject<{
|
|
74
|
-
germplasmDbId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
75
|
-
germplasmName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
76
|
-
parentType: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
77
|
-
}, import("zod/v4/core").$loose>>;
|
|
78
|
-
attributes: import("zod").ZodArray<import("zod").ZodObject<{
|
|
79
|
-
attributeDbId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
80
|
-
attributeName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
81
|
-
attributeValue: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
82
|
-
determinedDate: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
83
|
-
}, import("zod/v4/core").$loose>>;
|
|
84
|
-
studyCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
85
|
-
directParentCount: import("zod").ZodNumber;
|
|
86
|
-
directDescendantCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
87
|
-
warnings: import("zod").ZodArray<import("zod").ZodString>;
|
|
88
|
-
}, import("zod/v4/core").$strip>, readonly [{
|
|
89
|
-
readonly reason: "unknown_alias";
|
|
90
|
-
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
91
|
-
readonly when: "No connection has been registered under the requested alias";
|
|
92
|
-
readonly recovery: "Run brapi_connect with this alias (or omit `alias` to use the default connection) before calling brapi_get_germplasm.";
|
|
93
|
-
}, {
|
|
94
|
-
readonly reason: "germplasm_not_found";
|
|
95
|
-
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
96
|
-
readonly when: "Upstream returned no germplasm record for the requested DbId";
|
|
97
|
-
readonly recovery: "Verify the germplasmDbId on the target server, or run brapi_find_germplasm to discover valid IDs.";
|
|
98
|
-
}], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
99
|
-
alias: import("zod").ZodOptional<import("zod").ZodString>;
|
|
100
|
-
forceRefresh: import("zod").ZodDefault<import("zod").ZodBoolean>;
|
|
101
|
-
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
102
|
-
alias: import("zod").ZodString;
|
|
103
|
-
baseUrl: import("zod").ZodString;
|
|
104
|
-
server: import("zod").ZodObject<{
|
|
105
|
-
name: import("zod").ZodOptional<import("zod").ZodString>;
|
|
106
|
-
description: import("zod").ZodOptional<import("zod").ZodString>;
|
|
107
|
-
organizationName: import("zod").ZodOptional<import("zod").ZodString>;
|
|
108
|
-
organizationURL: import("zod").ZodOptional<import("zod").ZodString>;
|
|
109
|
-
documentationURL: import("zod").ZodOptional<import("zod").ZodString>;
|
|
110
|
-
contactEmail: import("zod").ZodOptional<import("zod").ZodString>;
|
|
111
|
-
brapiVersion: import("zod").ZodOptional<import("zod").ZodString>;
|
|
112
|
-
}, import("zod/v4/core").$strip>;
|
|
113
|
-
auth: import("zod").ZodObject<{
|
|
114
|
-
mode: import("zod").ZodEnum<{
|
|
115
|
-
none: "none";
|
|
116
|
-
sgn: "sgn";
|
|
117
|
-
oauth2: "oauth2";
|
|
118
|
-
api_key: "api_key";
|
|
119
|
-
bearer: "bearer";
|
|
120
|
-
}>;
|
|
121
|
-
headerName: import("zod").ZodOptional<import("zod").ZodString>;
|
|
122
|
-
expiresAt: import("zod").ZodOptional<import("zod").ZodString>;
|
|
123
|
-
}, import("zod/v4/core").$strip>;
|
|
124
|
-
capabilities: import("zod").ZodObject<{
|
|
125
|
-
supportedCount: import("zod").ZodNumber;
|
|
126
|
-
supported: import("zod").ZodArray<import("zod").ZodString>;
|
|
127
|
-
notableGaps: import("zod").ZodArray<import("zod").ZodString>;
|
|
128
|
-
}, import("zod/v4/core").$strip>;
|
|
129
|
-
dialect: import("zod").ZodObject<{
|
|
130
|
-
id: import("zod").ZodString;
|
|
131
|
-
source: import("zod").ZodEnum<{
|
|
132
|
-
"env-override": "env-override";
|
|
133
|
-
"url-pattern": "url-pattern";
|
|
134
|
-
"server-name": "server-name";
|
|
135
|
-
"organization-name": "organization-name";
|
|
136
|
-
fallback: "fallback";
|
|
137
|
-
}>;
|
|
138
|
-
envVar: import("zod").ZodString;
|
|
139
|
-
disabledSearchEndpoints: import("zod").ZodArray<import("zod").ZodString>;
|
|
140
|
-
notes: import("zod").ZodArray<import("zod").ZodString>;
|
|
141
|
-
verifiedMappingCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
142
|
-
inferredMappingCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
143
|
-
}, import("zod/v4/core").$strip>;
|
|
144
|
-
content: import("zod").ZodObject<{
|
|
145
|
-
crops: import("zod").ZodArray<import("zod").ZodString>;
|
|
146
|
-
studyCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
147
|
-
germplasmCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
148
|
-
programCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
149
|
-
locationCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
150
|
-
}, import("zod/v4/core").$strip>;
|
|
151
|
-
attribution: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
152
|
-
homepage: import("zod").ZodString;
|
|
153
|
-
license: import("zod").ZodString;
|
|
154
|
-
citation: import("zod").ZodString;
|
|
155
|
-
isDemo: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
156
|
-
}, import("zod/v4/core").$strip>>;
|
|
157
|
-
notes: import("zod").ZodArray<import("zod").ZodString>;
|
|
158
|
-
fetchedAt: import("zod").ZodString;
|
|
159
|
-
}, import("zod/v4/core").$strip>, readonly [{
|
|
160
|
-
readonly reason: "unknown_alias";
|
|
42
|
+
readonly reason: 'unknown_endpoint';
|
|
161
43
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
162
|
-
readonly when:
|
|
163
|
-
readonly recovery:
|
|
44
|
+
readonly when: 'No filter catalog is registered for the requested endpoint';
|
|
45
|
+
readonly recovery: 'Pick an endpoint from data.availableEndpoints — same set as the input enum (studies, germplasm, observations, variables, images, variants, locations).';
|
|
164
46
|
}], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
165
47
|
studyDbId: import("zod").ZodString;
|
|
166
48
|
alias: import("zod").ZodOptional<import("zod").ZodString>;
|
|
@@ -221,50 +103,43 @@ export declare const readOnlyToolDefinitions: (import("@cyanheads/mcp-ts-core").
|
|
|
221
103
|
variableCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
222
104
|
warnings: import("zod").ZodArray<import("zod").ZodString>;
|
|
223
105
|
}, import("zod/v4/core").$strip>, readonly [{
|
|
224
|
-
readonly reason:
|
|
106
|
+
readonly reason: 'unknown_alias';
|
|
225
107
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
226
|
-
readonly when:
|
|
227
|
-
readonly recovery:
|
|
108
|
+
readonly when: 'No connection has been registered under the requested alias';
|
|
109
|
+
readonly recovery: 'Run brapi_connect with this alias (or omit `alias` to use the default connection) before calling brapi_get_study.';
|
|
228
110
|
}, {
|
|
229
|
-
readonly reason:
|
|
111
|
+
readonly reason: 'study_not_found';
|
|
230
112
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
231
|
-
readonly when:
|
|
232
|
-
readonly recovery:
|
|
113
|
+
readonly when: 'Upstream returned no study record for the requested DbId';
|
|
114
|
+
readonly recovery: 'Verify the studyDbId on the target server, or run brapi_find_studies to discover valid IDs.';
|
|
233
115
|
}], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
234
116
|
alias: import("zod").ZodOptional<import("zod").ZodString>;
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
mean: "mean";
|
|
245
|
-
median: "median";
|
|
246
|
-
first: "first";
|
|
247
|
-
}>>;
|
|
248
|
-
loadLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
249
|
-
extraFilters: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
117
|
+
germplasmDbIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
118
|
+
variantSetDbId: import("zod").ZodString;
|
|
119
|
+
format: import("zod").ZodEnum<{
|
|
120
|
+
"matrix-json": "matrix-json";
|
|
121
|
+
plink: "plink";
|
|
122
|
+
"vcf-lite": "vcf-lite";
|
|
123
|
+
}>;
|
|
124
|
+
maxCalls: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
125
|
+
maxColumns: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
250
126
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
251
127
|
alias: import("zod").ZodString;
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
}>;
|
|
257
|
-
aggregate: import("zod").ZodEnum<{
|
|
258
|
-
all: "all";
|
|
259
|
-
mean: "mean";
|
|
260
|
-
median: "median";
|
|
261
|
-
first: "first";
|
|
128
|
+
format: import("zod").ZodEnum<{
|
|
129
|
+
"matrix-json": "matrix-json";
|
|
130
|
+
plink: "plink";
|
|
131
|
+
"vcf-lite": "vcf-lite";
|
|
262
132
|
}>;
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
133
|
+
rowCount: import("zod").ZodNumber;
|
|
134
|
+
columnCount: import("zod").ZodNumber;
|
|
135
|
+
variantColumnLegend: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>;
|
|
136
|
+
callFormatting: import("zod").ZodObject<{
|
|
137
|
+
expandHomozygotes: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodBoolean>>;
|
|
138
|
+
unknownString: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
139
|
+
sepPhased: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
140
|
+
sepUnphased: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
141
|
+
}, import("zod/v4/core").$strip>;
|
|
142
|
+
dataframe: import("zod").ZodObject<{
|
|
268
143
|
tableName: import("zod").ZodString;
|
|
269
144
|
rowCount: import("zod").ZodNumber;
|
|
270
145
|
columns: import("zod").ZodArray<import("zod").ZodString>;
|
|
@@ -274,184 +149,66 @@ export declare const readOnlyToolDefinitions: (import("@cyanheads/mcp-ts-core").
|
|
|
274
149
|
truncated: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
275
150
|
maxRows: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
276
151
|
totalCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
277
|
-
}, import("zod/v4/core").$strip
|
|
152
|
+
}, import("zod/v4/core").$strip>;
|
|
153
|
+
vcf: import("zod").ZodOptional<import("zod").ZodString>;
|
|
154
|
+
ped: import("zod").ZodOptional<import("zod").ZodString>;
|
|
155
|
+
map: import("zod").ZodOptional<import("zod").ZodString>;
|
|
156
|
+
truncated: import("zod").ZodBoolean;
|
|
278
157
|
warnings: import("zod").ZodArray<import("zod").ZodString>;
|
|
279
158
|
}, import("zod/v4/core").$strip>, readonly [{
|
|
280
|
-
readonly reason:
|
|
159
|
+
readonly reason: 'unknown_alias';
|
|
281
160
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
282
|
-
readonly when:
|
|
283
|
-
readonly recovery:
|
|
161
|
+
readonly when: 'No connection has been registered under the requested alias';
|
|
162
|
+
readonly recovery: 'Run brapi_connect with this alias (or omit `alias` to use the default connection) before calling brapi_export_genotype_matrix.';
|
|
284
163
|
}, {
|
|
285
|
-
readonly reason:
|
|
164
|
+
readonly reason: 'no_filters';
|
|
286
165
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
287
|
-
readonly when:
|
|
288
|
-
readonly recovery:
|
|
166
|
+
readonly when: 'No variantSetDbId was provided';
|
|
167
|
+
readonly recovery: 'Provide variantSetDbId before retrying — unfiltered genotype-call pulls are too expensive.';
|
|
289
168
|
}, {
|
|
290
|
-
readonly reason:
|
|
291
|
-
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.
|
|
292
|
-
readonly when:
|
|
293
|
-
readonly recovery:
|
|
169
|
+
readonly reason: 'search_endpoint_disabled';
|
|
170
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
171
|
+
readonly when: 'The active dialect declares POST /search/calls as known-dead on this server';
|
|
172
|
+
readonly recovery: 'Connect to a different BrAPI server that exposes a working /search/calls route — genotype-call workflows are not viable here.';
|
|
294
173
|
}], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
mode: import("zod").ZodLiteral<"oauth2">;
|
|
311
|
-
clientId: import("zod").ZodString;
|
|
312
|
-
clientSecret: import("zod").ZodString;
|
|
313
|
-
tokenUrl: import("zod").ZodOptional<import("zod").ZodString>;
|
|
314
|
-
}, import("zod/v4/core").$strip>], "mode">>;
|
|
315
|
-
alias: import("zod").ZodDefault<import("zod").ZodString>;
|
|
174
|
+
alias: import("zod").ZodOptional<import("zod").ZodString>;
|
|
175
|
+
locations: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
176
|
+
locationNames: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
177
|
+
countryCodes: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
178
|
+
countryNames: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
179
|
+
locationTypes: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
180
|
+
abbreviations: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
181
|
+
bbox: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
182
|
+
minLat: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
183
|
+
maxLat: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
184
|
+
minLon: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
185
|
+
maxLon: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
186
|
+
}, import("zod/v4/core").$strip>>;
|
|
187
|
+
loadLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
188
|
+
extraFilters: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
316
189
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
317
190
|
alias: import("zod").ZodString;
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
expiresAt: import("zod").ZodOptional<import("zod").ZodString>;
|
|
338
|
-
}, import("zod/v4/core").$strip>;
|
|
339
|
-
capabilities: import("zod").ZodObject<{
|
|
340
|
-
supportedCount: import("zod").ZodNumber;
|
|
341
|
-
supported: import("zod").ZodArray<import("zod").ZodString>;
|
|
342
|
-
notableGaps: import("zod").ZodArray<import("zod").ZodString>;
|
|
191
|
+
results: import("zod").ZodArray<import("zod").ZodObject<{
|
|
192
|
+
locationDbId: import("zod").ZodString;
|
|
193
|
+
locationName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
194
|
+
abbreviation: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
195
|
+
countryCode: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
196
|
+
countryName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
197
|
+
locationType: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
198
|
+
latitude: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
|
|
199
|
+
longitude: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
|
|
200
|
+
altitude: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
|
|
201
|
+
coordinates: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodObject<{}, import("zod/v4/core").$loose>>>;
|
|
202
|
+
instituteName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
203
|
+
instituteAddress: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
204
|
+
documentationURL: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
205
|
+
}, import("zod/v4/core").$loose>>;
|
|
206
|
+
hasMore: import("zod").ZodBoolean;
|
|
207
|
+
distributions: import("zod").ZodObject<{
|
|
208
|
+
countryCode: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
|
|
209
|
+
locationType: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
|
|
343
210
|
}, import("zod/v4/core").$strip>;
|
|
344
|
-
|
|
345
|
-
id: import("zod").ZodString;
|
|
346
|
-
source: import("zod").ZodEnum<{
|
|
347
|
-
"env-override": "env-override";
|
|
348
|
-
"url-pattern": "url-pattern";
|
|
349
|
-
"server-name": "server-name";
|
|
350
|
-
"organization-name": "organization-name";
|
|
351
|
-
fallback: "fallback";
|
|
352
|
-
}>;
|
|
353
|
-
envVar: import("zod").ZodString;
|
|
354
|
-
disabledSearchEndpoints: import("zod").ZodArray<import("zod").ZodString>;
|
|
355
|
-
notes: import("zod").ZodArray<import("zod").ZodString>;
|
|
356
|
-
verifiedMappingCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
357
|
-
inferredMappingCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
358
|
-
}, import("zod/v4/core").$strip>;
|
|
359
|
-
content: import("zod").ZodObject<{
|
|
360
|
-
crops: import("zod").ZodArray<import("zod").ZodString>;
|
|
361
|
-
studyCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
362
|
-
germplasmCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
363
|
-
programCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
364
|
-
locationCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
365
|
-
}, import("zod/v4/core").$strip>;
|
|
366
|
-
attribution: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
367
|
-
homepage: import("zod").ZodString;
|
|
368
|
-
license: import("zod").ZodString;
|
|
369
|
-
citation: import("zod").ZodString;
|
|
370
|
-
isDemo: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
371
|
-
}, import("zod/v4/core").$strip>>;
|
|
372
|
-
notes: import("zod").ZodArray<import("zod").ZodString>;
|
|
373
|
-
fetchedAt: import("zod").ZodString;
|
|
374
|
-
}, import("zod/v4/core").$strip>, readonly [{
|
|
375
|
-
readonly reason: "auth_token_exchange_failed";
|
|
376
|
-
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Forbidden;
|
|
377
|
-
readonly when: "SGN or OAuth token exchange against the BrAPI /token endpoint failed";
|
|
378
|
-
readonly recovery: "Verify the credentials and that the server exposes /token before retrying.";
|
|
379
|
-
}, {
|
|
380
|
-
readonly reason: "auth_no_access_token";
|
|
381
|
-
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Forbidden;
|
|
382
|
-
readonly when: "Token endpoint responded but did not return an access_token";
|
|
383
|
-
readonly recovery: "Confirm the credentials are valid and the upstream IdP issues access tokens for this grant.";
|
|
384
|
-
}], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
385
|
-
dataframe: import("zod").ZodOptional<import("zod").ZodString>;
|
|
386
|
-
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
387
|
-
tables: import("zod").ZodArray<import("zod").ZodObject<{
|
|
388
|
-
name: import("zod").ZodString;
|
|
389
|
-
rowCount: import("zod").ZodNumber;
|
|
390
|
-
columns: import("zod").ZodArray<import("zod").ZodObject<{
|
|
391
|
-
name: import("zod").ZodString;
|
|
392
|
-
type: import("zod").ZodString;
|
|
393
|
-
nullable: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
394
|
-
}, import("zod/v4/core").$strip>>;
|
|
395
|
-
approxSizeBytes: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
396
|
-
provenance: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
397
|
-
source: import("zod").ZodString;
|
|
398
|
-
baseUrl: import("zod").ZodString;
|
|
399
|
-
query: import("zod").ZodUnknown;
|
|
400
|
-
createdAt: import("zod").ZodString;
|
|
401
|
-
expiresAt: import("zod").ZodString;
|
|
402
|
-
}, import("zod/v4/core").$strip>>;
|
|
403
|
-
}, import("zod/v4/core").$strip>>;
|
|
404
|
-
}, import("zod/v4/core").$strip>, readonly [{
|
|
405
|
-
readonly reason: "list_all_disabled_on_shared_http";
|
|
406
|
-
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Forbidden;
|
|
407
|
-
readonly when: "This server is running as a shared HTTP endpoint without per-caller auth — listing every dataframe would expose other concurrent clients' workspaces, since all callers resolve to one shared tenant.";
|
|
408
|
-
readonly recovery: "Pass `dataframe` with a specific name — either from a prior find_* spillover result (`result.dataframe.tableName`) or one you registered via `brapi_dataframe_query` with `registerAs`. Listing all dataframes is not available on this deployment.";
|
|
409
|
-
}], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
410
|
-
sql: import("zod").ZodString;
|
|
411
|
-
registerAs: import("zod").ZodOptional<import("zod").ZodString>;
|
|
412
|
-
preview: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
413
|
-
rowLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
414
|
-
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
415
|
-
rowCount: import("zod").ZodNumber;
|
|
416
|
-
columns: import("zod").ZodArray<import("zod").ZodObject<{
|
|
417
|
-
name: import("zod").ZodString;
|
|
418
|
-
type: import("zod").ZodString;
|
|
419
|
-
}, import("zod/v4/core").$strip>>;
|
|
420
|
-
rows: import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
421
|
-
dataframe: import("zod").ZodOptional<import("zod").ZodString>;
|
|
422
|
-
}, import("zod/v4/core").$strip>, readonly [{
|
|
423
|
-
readonly reason: "sql_rejected";
|
|
424
|
-
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
425
|
-
readonly when: "SQL violated read-only rules (multi-statement, non-SELECT, or disallowed operation)";
|
|
426
|
-
readonly recovery: "Submit a single SELECT statement using only registered dataframes. For changes, use `registerAs` in this tool to materialize a result, or brapi_dataframe_drop to remove a dataframe.";
|
|
427
|
-
}], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
428
|
-
alias: import("zod").ZodOptional<import("zod").ZodString>;
|
|
429
|
-
germplasmDbIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
430
|
-
variantSetDbId: import("zod").ZodString;
|
|
431
|
-
format: import("zod").ZodEnum<{
|
|
432
|
-
plink: "plink";
|
|
433
|
-
"vcf-lite": "vcf-lite";
|
|
434
|
-
"matrix-json": "matrix-json";
|
|
435
|
-
}>;
|
|
436
|
-
maxCalls: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
437
|
-
maxColumns: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
438
|
-
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
439
|
-
alias: import("zod").ZodString;
|
|
440
|
-
format: import("zod").ZodEnum<{
|
|
441
|
-
plink: "plink";
|
|
442
|
-
"vcf-lite": "vcf-lite";
|
|
443
|
-
"matrix-json": "matrix-json";
|
|
444
|
-
}>;
|
|
445
|
-
rowCount: import("zod").ZodNumber;
|
|
446
|
-
columnCount: import("zod").ZodNumber;
|
|
447
|
-
variantColumnLegend: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>;
|
|
448
|
-
callFormatting: import("zod").ZodObject<{
|
|
449
|
-
expandHomozygotes: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodBoolean>>;
|
|
450
|
-
unknownString: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
451
|
-
sepPhased: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
452
|
-
sepUnphased: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
453
|
-
}, import("zod/v4/core").$strip>;
|
|
454
|
-
dataframe: import("zod").ZodObject<{
|
|
211
|
+
dataframe: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
455
212
|
tableName: import("zod").ZodString;
|
|
456
213
|
rowCount: import("zod").ZodNumber;
|
|
457
214
|
columns: import("zod").ZodArray<import("zod").ZodString>;
|
|
@@ -461,65 +218,59 @@ export declare const readOnlyToolDefinitions: (import("@cyanheads/mcp-ts-core").
|
|
|
461
218
|
truncated: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
462
219
|
maxRows: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
463
220
|
totalCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
464
|
-
}, import("zod/v4/core").$strip
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
warnings: import("zod").ZodArray<import("zod").ZodString>;
|
|
221
|
+
}, import("zod/v4/core").$strip>>;
|
|
222
|
+
coordinateAxisOrder: import("zod").ZodEnum<{
|
|
223
|
+
spec: "spec";
|
|
224
|
+
swapped: "swapped";
|
|
225
|
+
}>;
|
|
470
226
|
}, import("zod/v4/core").$strip>, readonly [{
|
|
471
|
-
readonly reason:
|
|
227
|
+
readonly reason: 'unknown_alias';
|
|
472
228
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
473
|
-
readonly when:
|
|
474
|
-
readonly recovery:
|
|
229
|
+
readonly when: 'No connection has been registered under the requested alias';
|
|
230
|
+
readonly recovery: 'Run brapi_connect with this alias (or omit `alias` to use the default connection) before calling brapi_find_locations.';
|
|
475
231
|
}, {
|
|
476
|
-
readonly reason:
|
|
232
|
+
readonly reason: 'all_filters_dropped';
|
|
477
233
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
478
|
-
readonly when:
|
|
479
|
-
readonly recovery:
|
|
480
|
-
}, {
|
|
481
|
-
readonly
|
|
482
|
-
readonly
|
|
483
|
-
readonly
|
|
484
|
-
readonly
|
|
485
|
-
|
|
234
|
+
readonly when: 'The active dialect dropped every filter the agent supplied — the upstream server does not honor any of the requested scope filters on this endpoint, so the call would silently widen to the unfiltered baseline.';
|
|
235
|
+
readonly recovery: 'Drop the unsupported filters and rescope by locations, locationNames, countryCodes, locationTypes, abbreviations, or bbox — these filter paths are honored on the active dialect.';
|
|
236
|
+
}], {
|
|
237
|
+
readonly totalCount: import("zod").ZodNumber;
|
|
238
|
+
readonly returnedCount: import("zod").ZodNumber;
|
|
239
|
+
readonly appliedFilters: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
|
|
240
|
+
readonly refinementHint: import("zod").ZodOptional<import("zod").ZodString>;
|
|
241
|
+
readonly notice: import("zod").ZodOptional<import("zod").ZodString>;
|
|
242
|
+
readonly warnings: import("zod").ZodArray<import("zod").ZodString>;
|
|
243
|
+
}> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
486
244
|
alias: import("zod").ZodOptional<import("zod").ZodString>;
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
JSON: "JSON";
|
|
494
|
-
VCF: "VCF";
|
|
495
|
-
FLAPJACK: "FLAPJACK";
|
|
496
|
-
DARTSEQ: "DARTSEQ";
|
|
497
|
-
}>>;
|
|
245
|
+
variantSets: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
246
|
+
variants: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
247
|
+
references: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
248
|
+
referenceName: import("zod").ZodOptional<import("zod").ZodString>;
|
|
249
|
+
start: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
250
|
+
end: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
498
251
|
loadLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
252
|
+
extraFilters: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
499
253
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
500
254
|
alias: import("zod").ZodString;
|
|
501
255
|
results: import("zod").ZodArray<import("zod").ZodObject<{
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
256
|
+
variantDbId: import("zod").ZodString;
|
|
257
|
+
variantNames: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodString>>>;
|
|
258
|
+
variantSetDbId: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodArray<import("zod").ZodString>, import("zod").ZodNull]>>;
|
|
259
|
+
variantSetDbIds: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodString>>>;
|
|
260
|
+
variantType: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
261
|
+
referenceBases: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
262
|
+
alternateBases: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodString>>>;
|
|
263
|
+
referenceName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
264
|
+
start: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
|
|
265
|
+
end: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
|
|
266
|
+
filtersPassed: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodBoolean>>;
|
|
267
|
+
filtersApplied: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodBoolean>>;
|
|
268
|
+
filtersFailed: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodString>>>;
|
|
512
269
|
}, import("zod/v4/core").$loose>>;
|
|
513
270
|
hasMore: import("zod").ZodBoolean;
|
|
514
|
-
callFormatting: import("zod").ZodObject<{
|
|
515
|
-
expandHomozygotes: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodBoolean>>;
|
|
516
|
-
unknownString: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
517
|
-
sepPhased: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
518
|
-
sepUnphased: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
519
|
-
}, import("zod/v4/core").$strip>;
|
|
520
271
|
distributions: import("zod").ZodObject<{
|
|
521
|
-
|
|
522
|
-
|
|
272
|
+
variantType: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
|
|
273
|
+
referenceName: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
|
|
523
274
|
variantSetDbId: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
|
|
524
275
|
}, import("zod/v4/core").$strip>;
|
|
525
276
|
dataframe: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
@@ -533,74 +284,42 @@ export declare const readOnlyToolDefinitions: (import("@cyanheads/mcp-ts-core").
|
|
|
533
284
|
maxRows: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
534
285
|
totalCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
535
286
|
}, import("zod/v4/core").$strip>>;
|
|
536
|
-
truncated: import("zod").ZodBoolean;
|
|
537
287
|
}, import("zod/v4/core").$strip>, readonly [{
|
|
538
|
-
readonly reason:
|
|
288
|
+
readonly reason: 'unknown_alias';
|
|
539
289
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
540
|
-
readonly when:
|
|
541
|
-
readonly recovery:
|
|
290
|
+
readonly when: 'No connection has been registered under the requested alias';
|
|
291
|
+
readonly recovery: 'Run brapi_connect with this alias (or omit `alias` to use the default connection) before calling brapi_find_variants.';
|
|
542
292
|
}, {
|
|
543
|
-
readonly reason:
|
|
293
|
+
readonly reason: 'all_filters_dropped';
|
|
544
294
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
545
|
-
readonly when:
|
|
546
|
-
readonly recovery:
|
|
547
|
-
}, {
|
|
548
|
-
readonly reason: "search_endpoint_disabled";
|
|
549
|
-
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
550
|
-
readonly when: "The active dialect declares POST /search/calls as known-dead on this server";
|
|
551
|
-
readonly recovery: "Connect to a different BrAPI server that exposes a working /search/calls route — genotype-call workflows are not viable here.";
|
|
295
|
+
readonly when: 'The active dialect dropped every filter the agent supplied — the upstream server does not honor any of the requested scope filters on this endpoint, so the call would silently widen to the unfiltered baseline.';
|
|
296
|
+
readonly recovery: 'Drop the unsupported filters and rescope by variants, variantSets, references, or referenceName + start/end — these filter paths are honored on the active dialect.';
|
|
552
297
|
}], {
|
|
553
298
|
readonly totalCount: import("zod").ZodNumber;
|
|
554
299
|
readonly returnedCount: import("zod").ZodNumber;
|
|
555
300
|
readonly appliedFilters: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
|
|
301
|
+
readonly refinementHint: import("zod").ZodOptional<import("zod").ZodString>;
|
|
556
302
|
readonly notice: import("zod").ZodOptional<import("zod").ZodString>;
|
|
557
303
|
readonly warnings: import("zod").ZodArray<import("zod").ZodString>;
|
|
558
304
|
}> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
559
305
|
alias: import("zod").ZodOptional<import("zod").ZodString>;
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
germplasmPUIs: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
563
|
-
accessionNumbers: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
564
|
-
crops: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
565
|
-
synonyms: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
566
|
-
collections: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
567
|
-
genus: import("zod").ZodOptional<import("zod").ZodString>;
|
|
568
|
-
species: import("zod").ZodOptional<import("zod").ZodString>;
|
|
569
|
-
text: import("zod").ZodOptional<import("zod").ZodString>;
|
|
306
|
+
path: import("zod").ZodString;
|
|
307
|
+
params: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodNumber, import("zod").ZodBoolean, import("zod").ZodArray<import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodNumber]>>]>>>;
|
|
570
308
|
loadLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
571
|
-
extraFilters: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
572
309
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
573
310
|
alias: import("zod").ZodString;
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
germplasmOrigin: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodObject<{}, import("zod/v4/core").$loose>>>>;
|
|
587
|
-
countryOfOriginCode: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
588
|
-
collection: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
589
|
-
instituteCode: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
590
|
-
instituteName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
591
|
-
synonyms: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodObject<{
|
|
592
|
-
synonym: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
593
|
-
type: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
594
|
-
}, import("zod/v4/core").$loose>>>>;
|
|
595
|
-
}, import("zod/v4/core").$loose>>;
|
|
596
|
-
hasMore: import("zod").ZodBoolean;
|
|
597
|
-
distributions: import("zod").ZodObject<{
|
|
598
|
-
commonCropName: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
|
|
599
|
-
genus: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
|
|
600
|
-
species: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
|
|
601
|
-
collection: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
|
|
602
|
-
countryOfOriginCode: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
|
|
603
|
-
}, import("zod/v4/core").$strip>;
|
|
311
|
+
url: import("zod").ZodString;
|
|
312
|
+
path: import("zod").ZodString;
|
|
313
|
+
metadata: import("zod").ZodObject<{
|
|
314
|
+
pagination: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
315
|
+
currentPage: import("zod").ZodNumber;
|
|
316
|
+
pageSize: import("zod").ZodNumber;
|
|
317
|
+
totalCount: import("zod").ZodNumber;
|
|
318
|
+
totalPages: import("zod").ZodNumber;
|
|
319
|
+
}, import("zod/v4/core").$loose>>;
|
|
320
|
+
}, import("zod/v4/core").$loose>;
|
|
321
|
+
result: import("zod").ZodUnknown;
|
|
322
|
+
suggestion: import("zod").ZodOptional<import("zod").ZodString>;
|
|
604
323
|
dataframe: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
605
324
|
tableName: import("zod").ZodString;
|
|
606
325
|
rowCount: import("zod").ZodNumber;
|
|
@@ -613,61 +332,139 @@ export declare const readOnlyToolDefinitions: (import("@cyanheads/mcp-ts-core").
|
|
|
613
332
|
totalCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
614
333
|
}, import("zod/v4/core").$strip>>;
|
|
615
334
|
}, import("zod/v4/core").$strip>, readonly [{
|
|
616
|
-
readonly reason:
|
|
617
|
-
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
618
|
-
readonly when:
|
|
619
|
-
readonly recovery:
|
|
335
|
+
readonly reason: 'unknown_alias';
|
|
336
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
337
|
+
readonly when: 'No connection has been registered under the requested alias';
|
|
338
|
+
readonly recovery: 'Run brapi_connect with this alias (or omit `alias` to use the default connection) before calling brapi_raw_get.';
|
|
339
|
+
}, {
|
|
340
|
+
readonly reason: 'cross_origin_path';
|
|
341
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
342
|
+
readonly when: 'path argument was a full URL instead of a relative BrAPI route';
|
|
343
|
+
readonly recovery: 'Pass a path like "/samples" or "/methods" — the connection alias supplies the baseUrl.';
|
|
344
|
+
}], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
345
|
+
baseUrl: import("zod").ZodOptional<import("zod").ZodString>;
|
|
346
|
+
auth: import("zod").ZodOptional<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
|
|
347
|
+
mode: import("zod").ZodLiteral<"none">;
|
|
348
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
349
|
+
mode: import("zod").ZodLiteral<"bearer">;
|
|
350
|
+
token: import("zod").ZodString;
|
|
351
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
352
|
+
mode: import("zod").ZodLiteral<"api_key">;
|
|
353
|
+
apiKey: import("zod").ZodString;
|
|
354
|
+
headerName: import("zod").ZodOptional<import("zod").ZodString>;
|
|
355
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
356
|
+
mode: import("zod").ZodLiteral<"sgn">;
|
|
357
|
+
username: import("zod").ZodString;
|
|
358
|
+
password: import("zod").ZodString;
|
|
359
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
360
|
+
mode: import("zod").ZodLiteral<"oauth2">;
|
|
361
|
+
clientId: import("zod").ZodString;
|
|
362
|
+
clientSecret: import("zod").ZodString;
|
|
363
|
+
tokenUrl: import("zod").ZodOptional<import("zod").ZodString>;
|
|
364
|
+
}, import("zod/v4/core").$strip>], "mode">>;
|
|
365
|
+
alias: import("zod").ZodDefault<import("zod").ZodString>;
|
|
366
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
367
|
+
alias: import("zod").ZodString;
|
|
368
|
+
baseUrl: import("zod").ZodString;
|
|
369
|
+
server: import("zod").ZodObject<{
|
|
370
|
+
name: import("zod").ZodOptional<import("zod").ZodString>;
|
|
371
|
+
description: import("zod").ZodOptional<import("zod").ZodString>;
|
|
372
|
+
organizationName: import("zod").ZodOptional<import("zod").ZodString>;
|
|
373
|
+
organizationURL: import("zod").ZodOptional<import("zod").ZodString>;
|
|
374
|
+
documentationURL: import("zod").ZodOptional<import("zod").ZodString>;
|
|
375
|
+
contactEmail: import("zod").ZodOptional<import("zod").ZodString>;
|
|
376
|
+
brapiVersion: import("zod").ZodOptional<import("zod").ZodString>;
|
|
377
|
+
}, import("zod/v4/core").$strip>;
|
|
378
|
+
auth: import("zod").ZodObject<{
|
|
379
|
+
mode: import("zod").ZodEnum<{
|
|
380
|
+
api_key: "api_key";
|
|
381
|
+
bearer: "bearer";
|
|
382
|
+
none: "none";
|
|
383
|
+
oauth2: "oauth2";
|
|
384
|
+
sgn: "sgn";
|
|
385
|
+
}>;
|
|
386
|
+
headerName: import("zod").ZodOptional<import("zod").ZodString>;
|
|
387
|
+
expiresAt: import("zod").ZodOptional<import("zod").ZodString>;
|
|
388
|
+
}, import("zod/v4/core").$strip>;
|
|
389
|
+
capabilities: import("zod").ZodObject<{
|
|
390
|
+
supportedCount: import("zod").ZodNumber;
|
|
391
|
+
supported: import("zod").ZodArray<import("zod").ZodString>;
|
|
392
|
+
notableGaps: import("zod").ZodArray<import("zod").ZodString>;
|
|
393
|
+
}, import("zod/v4/core").$strip>;
|
|
394
|
+
dialect: import("zod").ZodObject<{
|
|
395
|
+
id: import("zod").ZodString;
|
|
396
|
+
source: import("zod").ZodEnum<{
|
|
397
|
+
"env-override": "env-override";
|
|
398
|
+
fallback: "fallback";
|
|
399
|
+
"organization-name": "organization-name";
|
|
400
|
+
"server-name": "server-name";
|
|
401
|
+
"url-pattern": "url-pattern";
|
|
402
|
+
}>;
|
|
403
|
+
envVar: import("zod").ZodString;
|
|
404
|
+
disabledSearchEndpoints: import("zod").ZodArray<import("zod").ZodString>;
|
|
405
|
+
notes: import("zod").ZodArray<import("zod").ZodString>;
|
|
406
|
+
verifiedMappingCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
407
|
+
inferredMappingCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
408
|
+
}, import("zod/v4/core").$strip>;
|
|
409
|
+
content: import("zod").ZodObject<{
|
|
410
|
+
crops: import("zod").ZodArray<import("zod").ZodString>;
|
|
411
|
+
studyCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
412
|
+
germplasmCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
413
|
+
programCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
414
|
+
locationCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
415
|
+
}, import("zod/v4/core").$strip>;
|
|
416
|
+
attribution: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
417
|
+
homepage: import("zod").ZodString;
|
|
418
|
+
license: import("zod").ZodString;
|
|
419
|
+
citation: import("zod").ZodString;
|
|
420
|
+
isDemo: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
421
|
+
}, import("zod/v4/core").$strip>>;
|
|
422
|
+
notes: import("zod").ZodArray<import("zod").ZodString>;
|
|
423
|
+
fetchedAt: import("zod").ZodString;
|
|
424
|
+
}, import("zod/v4/core").$strip>, readonly [{
|
|
425
|
+
readonly reason: 'auth_token_exchange_failed';
|
|
426
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Forbidden;
|
|
427
|
+
readonly when: 'SGN or OAuth token exchange against the BrAPI /token endpoint failed';
|
|
428
|
+
readonly recovery: 'Verify the credentials and that the server exposes /token before retrying.';
|
|
620
429
|
}, {
|
|
621
|
-
readonly reason:
|
|
622
|
-
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.
|
|
623
|
-
readonly when:
|
|
624
|
-
readonly recovery:
|
|
625
|
-
}], {
|
|
626
|
-
readonly totalCount: import("zod").ZodNumber;
|
|
627
|
-
readonly returnedCount: import("zod").ZodNumber;
|
|
628
|
-
readonly appliedFilters: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
|
|
629
|
-
readonly refinementHint: import("zod").ZodOptional<import("zod").ZodString>;
|
|
630
|
-
readonly notice: import("zod").ZodOptional<import("zod").ZodString>;
|
|
631
|
-
readonly warnings: import("zod").ZodArray<import("zod").ZodString>;
|
|
632
|
-
}> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
430
|
+
readonly reason: 'auth_no_access_token';
|
|
431
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Forbidden;
|
|
432
|
+
readonly when: 'Token endpoint responded but did not return an access_token';
|
|
433
|
+
readonly recovery: 'Confirm the credentials are valid and the upstream IdP issues access tokens for this grant.';
|
|
434
|
+
}], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
633
435
|
alias: import("zod").ZodOptional<import("zod").ZodString>;
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
436
|
+
studies: import("zod").ZodArray<import("zod").ZodString>;
|
|
437
|
+
variables: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
438
|
+
germplasm: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
439
|
+
shape: import("zod").ZodDefault<import("zod").ZodEnum<{
|
|
440
|
+
long: "long";
|
|
441
|
+
wide: "wide";
|
|
442
|
+
}>>;
|
|
443
|
+
aggregate: import("zod").ZodDefault<import("zod").ZodEnum<{
|
|
444
|
+
all: "all";
|
|
445
|
+
first: "first";
|
|
446
|
+
mean: "mean";
|
|
447
|
+
median: "median";
|
|
448
|
+
}>>;
|
|
641
449
|
loadLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
642
450
|
extraFilters: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
643
451
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
644
452
|
alias: import("zod").ZodString;
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
descriptiveOntologyTerms: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodString>>>;
|
|
661
|
-
copyright: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
662
|
-
description: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
663
|
-
}, import("zod/v4/core").$loose>>;
|
|
664
|
-
hasMore: import("zod").ZodBoolean;
|
|
665
|
-
distributions: import("zod").ZodObject<{
|
|
666
|
-
mimeType: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
|
|
667
|
-
studyName: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
|
|
668
|
-
observationUnitName: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
|
|
669
|
-
descriptiveOntologyTerms: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
|
|
670
|
-
}, import("zod/v4/core").$strip>;
|
|
453
|
+
studies: import("zod").ZodArray<import("zod").ZodString>;
|
|
454
|
+
shape: import("zod").ZodEnum<{
|
|
455
|
+
long: "long";
|
|
456
|
+
wide: "wide";
|
|
457
|
+
}>;
|
|
458
|
+
aggregate: import("zod").ZodEnum<{
|
|
459
|
+
all: "all";
|
|
460
|
+
first: "first";
|
|
461
|
+
mean: "mean";
|
|
462
|
+
median: "median";
|
|
463
|
+
}>;
|
|
464
|
+
observationCount: import("zod").ZodNumber;
|
|
465
|
+
germplasmCount: import("zod").ZodNumber;
|
|
466
|
+
variableCount: import("zod").ZodNumber;
|
|
467
|
+
variableLegend: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>;
|
|
671
468
|
dataframe: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
672
469
|
tableName: import("zod").ZodString;
|
|
673
470
|
rowCount: import("zod").ZodNumber;
|
|
@@ -679,60 +476,133 @@ export declare const readOnlyToolDefinitions: (import("@cyanheads/mcp-ts-core").
|
|
|
679
476
|
maxRows: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
680
477
|
totalCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
681
478
|
}, import("zod/v4/core").$strip>>;
|
|
479
|
+
warnings: import("zod").ZodArray<import("zod").ZodString>;
|
|
682
480
|
}, import("zod/v4/core").$strip>, readonly [{
|
|
683
|
-
readonly reason:
|
|
481
|
+
readonly reason: 'unknown_alias';
|
|
684
482
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
685
|
-
readonly when:
|
|
686
|
-
readonly recovery:
|
|
483
|
+
readonly when: 'No connection has been registered under the requested alias';
|
|
484
|
+
readonly recovery: 'Run brapi_connect with this alias (or omit `alias` to use the default connection) before calling brapi_build_phenotype_matrix.';
|
|
687
485
|
}, {
|
|
688
|
-
readonly reason:
|
|
486
|
+
readonly reason: 'all_filters_dropped';
|
|
689
487
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
690
|
-
readonly when:
|
|
691
|
-
readonly recovery:
|
|
488
|
+
readonly when: 'The active dialect dropped every filter supplied — the call would silently widen to the unfiltered baseline';
|
|
489
|
+
readonly recovery: 'Drop unsupported filters or use studies / germplasm / variables to scope the query to supported filter paths on the active dialect.';
|
|
490
|
+
}, {
|
|
491
|
+
readonly reason: 'no_observation_path';
|
|
492
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ServiceUnavailable;
|
|
493
|
+
readonly when: 'Neither /observations nor /observationunits returned data for any requested study after probing both paths';
|
|
494
|
+
readonly recovery: 'Verify the studyDbIds exist and the BrAPI server exposes /observations or /observationunits. Use brapi_server_info to inspect the capability list.';
|
|
692
495
|
}], {
|
|
693
|
-
readonly
|
|
694
|
-
readonly
|
|
695
|
-
readonly
|
|
696
|
-
readonly refinementHint: import("zod").ZodOptional<import("zod").ZodString>;
|
|
496
|
+
readonly truncated: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
497
|
+
readonly shown: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
498
|
+
readonly cap: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
697
499
|
readonly notice: import("zod").ZodOptional<import("zod").ZodString>;
|
|
698
|
-
readonly warnings: import("zod").ZodArray<import("zod").ZodString>;
|
|
699
500
|
}> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
700
501
|
alias: import("zod").ZodOptional<import("zod").ZodString>;
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
502
|
+
forceRefresh: import("zod").ZodDefault<import("zod").ZodBoolean>;
|
|
503
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
504
|
+
alias: import("zod").ZodString;
|
|
505
|
+
baseUrl: import("zod").ZodString;
|
|
506
|
+
server: import("zod").ZodObject<{
|
|
507
|
+
name: import("zod").ZodOptional<import("zod").ZodString>;
|
|
508
|
+
description: import("zod").ZodOptional<import("zod").ZodString>;
|
|
509
|
+
organizationName: import("zod").ZodOptional<import("zod").ZodString>;
|
|
510
|
+
organizationURL: import("zod").ZodOptional<import("zod").ZodString>;
|
|
511
|
+
documentationURL: import("zod").ZodOptional<import("zod").ZodString>;
|
|
512
|
+
contactEmail: import("zod").ZodOptional<import("zod").ZodString>;
|
|
513
|
+
brapiVersion: import("zod").ZodOptional<import("zod").ZodString>;
|
|
514
|
+
}, import("zod/v4/core").$strip>;
|
|
515
|
+
auth: import("zod").ZodObject<{
|
|
516
|
+
mode: import("zod").ZodEnum<{
|
|
517
|
+
api_key: "api_key";
|
|
518
|
+
bearer: "bearer";
|
|
519
|
+
none: "none";
|
|
520
|
+
oauth2: "oauth2";
|
|
521
|
+
sgn: "sgn";
|
|
522
|
+
}>;
|
|
523
|
+
headerName: import("zod").ZodOptional<import("zod").ZodString>;
|
|
524
|
+
expiresAt: import("zod").ZodOptional<import("zod").ZodString>;
|
|
525
|
+
}, import("zod/v4/core").$strip>;
|
|
526
|
+
capabilities: import("zod").ZodObject<{
|
|
527
|
+
supportedCount: import("zod").ZodNumber;
|
|
528
|
+
supported: import("zod").ZodArray<import("zod").ZodString>;
|
|
529
|
+
notableGaps: import("zod").ZodArray<import("zod").ZodString>;
|
|
530
|
+
}, import("zod/v4/core").$strip>;
|
|
531
|
+
dialect: import("zod").ZodObject<{
|
|
532
|
+
id: import("zod").ZodString;
|
|
533
|
+
source: import("zod").ZodEnum<{
|
|
534
|
+
"env-override": "env-override";
|
|
535
|
+
fallback: "fallback";
|
|
536
|
+
"organization-name": "organization-name";
|
|
537
|
+
"server-name": "server-name";
|
|
538
|
+
"url-pattern": "url-pattern";
|
|
539
|
+
}>;
|
|
540
|
+
envVar: import("zod").ZodString;
|
|
541
|
+
disabledSearchEndpoints: import("zod").ZodArray<import("zod").ZodString>;
|
|
542
|
+
notes: import("zod").ZodArray<import("zod").ZodString>;
|
|
543
|
+
verifiedMappingCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
544
|
+
inferredMappingCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
545
|
+
}, import("zod/v4/core").$strip>;
|
|
546
|
+
content: import("zod").ZodObject<{
|
|
547
|
+
crops: import("zod").ZodArray<import("zod").ZodString>;
|
|
548
|
+
studyCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
549
|
+
germplasmCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
550
|
+
programCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
551
|
+
locationCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
552
|
+
}, import("zod/v4/core").$strip>;
|
|
553
|
+
attribution: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
554
|
+
homepage: import("zod").ZodString;
|
|
555
|
+
license: import("zod").ZodString;
|
|
556
|
+
citation: import("zod").ZodString;
|
|
557
|
+
isDemo: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
712
558
|
}, import("zod/v4/core").$strip>>;
|
|
559
|
+
notes: import("zod").ZodArray<import("zod").ZodString>;
|
|
560
|
+
fetchedAt: import("zod").ZodString;
|
|
561
|
+
}, import("zod/v4/core").$strip>, readonly [{
|
|
562
|
+
readonly reason: 'unknown_alias';
|
|
563
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
564
|
+
readonly when: 'No connection has been registered under the requested alias';
|
|
565
|
+
readonly recovery: 'Run brapi_connect with this alias (or omit `alias` to use the default connection) before calling brapi_server_info.';
|
|
566
|
+
}], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
567
|
+
alias: import("zod").ZodOptional<import("zod").ZodString>;
|
|
568
|
+
crop: import("zod").ZodOptional<import("zod").ZodString>;
|
|
569
|
+
trialTypes: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
570
|
+
seasons: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
571
|
+
locations: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
572
|
+
programs: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
573
|
+
trials: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
574
|
+
studyNames: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
575
|
+
active: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
713
576
|
loadLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
714
577
|
extraFilters: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
715
578
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
716
579
|
alias: import("zod").ZodString;
|
|
717
580
|
results: import("zod").ZodArray<import("zod").ZodObject<{
|
|
718
|
-
|
|
581
|
+
studyDbId: import("zod").ZodString;
|
|
582
|
+
studyName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
583
|
+
studyType: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
584
|
+
studyDescription: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
585
|
+
programDbId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
586
|
+
programName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
587
|
+
trialDbId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
588
|
+
trialName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
589
|
+
locationDbId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
719
590
|
locationName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
coordinates: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodObject<{}, import("zod/v4/core").$loose>>>;
|
|
728
|
-
instituteName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
729
|
-
instituteAddress: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
730
|
-
documentationURL: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
591
|
+
commonCropName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
592
|
+
seasons: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodNullable<import("zod").ZodString>>>>;
|
|
593
|
+
active: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodBoolean>>;
|
|
594
|
+
startDate: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
595
|
+
endDate: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
596
|
+
studyCode: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
597
|
+
studyPUI: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
731
598
|
}, import("zod/v4/core").$loose>>;
|
|
732
599
|
hasMore: import("zod").ZodBoolean;
|
|
733
600
|
distributions: import("zod").ZodObject<{
|
|
734
|
-
|
|
735
|
-
|
|
601
|
+
programName: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
|
|
602
|
+
studyType: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
|
|
603
|
+
seasons: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
|
|
604
|
+
locationName: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
|
|
605
|
+
commonCropName: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
|
|
736
606
|
}, import("zod/v4/core").$strip>;
|
|
737
607
|
dataframe: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
738
608
|
tableName: import("zod").ZodString;
|
|
@@ -745,20 +615,16 @@ export declare const readOnlyToolDefinitions: (import("@cyanheads/mcp-ts-core").
|
|
|
745
615
|
maxRows: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
746
616
|
totalCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
747
617
|
}, import("zod/v4/core").$strip>>;
|
|
748
|
-
coordinateAxisOrder: import("zod").ZodEnum<{
|
|
749
|
-
spec: "spec";
|
|
750
|
-
swapped: "swapped";
|
|
751
|
-
}>;
|
|
752
618
|
}, import("zod/v4/core").$strip>, readonly [{
|
|
753
|
-
readonly reason:
|
|
619
|
+
readonly reason: 'unknown_alias';
|
|
754
620
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
755
|
-
readonly when:
|
|
756
|
-
readonly recovery:
|
|
621
|
+
readonly when: 'No connection has been registered under the requested alias';
|
|
622
|
+
readonly recovery: 'Run brapi_connect with this alias (or omit `alias` to use the default connection) before calling brapi_find_studies.';
|
|
757
623
|
}, {
|
|
758
|
-
readonly reason:
|
|
624
|
+
readonly reason: 'all_filters_dropped';
|
|
759
625
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
760
|
-
readonly when:
|
|
761
|
-
readonly recovery:
|
|
626
|
+
readonly when: 'The active dialect dropped every filter the agent supplied — the upstream server does not honor any of the requested scope filters on this endpoint, so the call would silently widen to the unfiltered baseline.';
|
|
627
|
+
readonly recovery: 'Drop the unsupported filters and rescope by crop, trialTypes, seasons, programs, trials, studyNames, or active — these filter paths are honored on the active dialect.';
|
|
762
628
|
}], {
|
|
763
629
|
readonly totalCount: import("zod").ZodNumber;
|
|
764
630
|
readonly returnedCount: import("zod").ZodNumber;
|
|
@@ -768,45 +634,49 @@ export declare const readOnlyToolDefinitions: (import("@cyanheads/mcp-ts-core").
|
|
|
768
634
|
readonly warnings: import("zod").ZodArray<import("zod").ZodString>;
|
|
769
635
|
}> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
770
636
|
alias: import("zod").ZodOptional<import("zod").ZodString>;
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
timestampTo: import("zod").ZodOptional<import("zod").ZodString>;
|
|
637
|
+
names: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
638
|
+
germplasmDbIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
639
|
+
germplasmPUIs: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
640
|
+
accessionNumbers: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
641
|
+
crops: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
642
|
+
synonyms: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
643
|
+
collections: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
644
|
+
genus: import("zod").ZodOptional<import("zod").ZodString>;
|
|
645
|
+
species: import("zod").ZodOptional<import("zod").ZodString>;
|
|
646
|
+
text: import("zod").ZodOptional<import("zod").ZodString>;
|
|
782
647
|
loadLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
783
648
|
extraFilters: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
784
649
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
785
650
|
alias: import("zod").ZodString;
|
|
786
651
|
results: import("zod").ZodArray<import("zod").ZodObject<{
|
|
787
|
-
|
|
788
|
-
observationUnitDbId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
789
|
-
observationUnitName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
790
|
-
observationVariableDbId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
791
|
-
observationVariableName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
792
|
-
studyDbId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
793
|
-
studyName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
794
|
-
germplasmDbId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
652
|
+
germplasmDbId: import("zod").ZodString;
|
|
795
653
|
germplasmName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
654
|
+
germplasmPUI: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
655
|
+
commonCropName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
656
|
+
accessionNumber: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
657
|
+
genus: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
658
|
+
species: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
659
|
+
subtaxa: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
660
|
+
defaultDisplayName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
661
|
+
pedigree: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
662
|
+
biologicalStatusOfAccessionDescription: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
663
|
+
germplasmOrigin: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodObject<{}, import("zod/v4/core").$loose>>>>;
|
|
664
|
+
countryOfOriginCode: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
665
|
+
collection: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
666
|
+
instituteCode: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
667
|
+
instituteName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
668
|
+
synonyms: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodObject<{
|
|
669
|
+
synonym: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
670
|
+
type: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
671
|
+
}, import("zod/v4/core").$loose>>>>;
|
|
802
672
|
}, import("zod/v4/core").$loose>>;
|
|
803
673
|
hasMore: import("zod").ZodBoolean;
|
|
804
674
|
distributions: import("zod").ZodObject<{
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
675
|
+
commonCropName: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
|
|
676
|
+
genus: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
|
|
677
|
+
species: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
|
|
678
|
+
collection: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
|
|
679
|
+
countryOfOriginCode: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
|
|
810
680
|
}, import("zod/v4/core").$strip>;
|
|
811
681
|
dataframe: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
812
682
|
tableName: import("zod").ZodString;
|
|
@@ -820,15 +690,15 @@ export declare const readOnlyToolDefinitions: (import("@cyanheads/mcp-ts-core").
|
|
|
820
690
|
totalCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
821
691
|
}, import("zod/v4/core").$strip>>;
|
|
822
692
|
}, import("zod/v4/core").$strip>, readonly [{
|
|
823
|
-
readonly reason:
|
|
693
|
+
readonly reason: 'unknown_alias';
|
|
824
694
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
825
|
-
readonly when:
|
|
826
|
-
readonly recovery:
|
|
695
|
+
readonly when: 'No connection has been registered under the requested alias';
|
|
696
|
+
readonly recovery: 'Run brapi_connect with this alias (or omit `alias` to use the default connection) before calling brapi_find_germplasm.';
|
|
827
697
|
}, {
|
|
828
|
-
readonly reason:
|
|
698
|
+
readonly reason: 'all_filters_dropped';
|
|
829
699
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
830
|
-
readonly when:
|
|
831
|
-
readonly recovery:
|
|
700
|
+
readonly when: 'The active dialect dropped every filter the agent supplied — the upstream server does not honor any of the requested scope filters on this endpoint, so the call would silently widen to the unfiltered baseline.';
|
|
701
|
+
readonly recovery: 'Drop the unsupported filters and rescope by names, germplasmDbIds, germplasmPUIs, accessionNumbers, crops, synonyms, genus, or species — these filter paths are honored on the active dialect.';
|
|
832
702
|
}], {
|
|
833
703
|
readonly totalCount: import("zod").ZodNumber;
|
|
834
704
|
readonly returnedCount: import("zod").ZodNumber;
|
|
@@ -837,47 +707,115 @@ export declare const readOnlyToolDefinitions: (import("@cyanheads/mcp-ts-core").
|
|
|
837
707
|
readonly notice: import("zod").ZodOptional<import("zod").ZodString>;
|
|
838
708
|
readonly warnings: import("zod").ZodArray<import("zod").ZodString>;
|
|
839
709
|
}> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
710
|
+
germplasmDbId: import("zod").ZodString;
|
|
840
711
|
alias: import("zod").ZodOptional<import("zod").ZodString>;
|
|
841
|
-
crop: import("zod").ZodOptional<import("zod").ZodString>;
|
|
842
|
-
trialTypes: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
843
|
-
seasons: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
844
|
-
locations: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
845
|
-
programs: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
846
|
-
trials: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
847
|
-
studyNames: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
848
|
-
active: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
849
|
-
loadLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
850
|
-
extraFilters: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
851
712
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
852
713
|
alias: import("zod").ZodString;
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
studyDescription: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
858
|
-
programDbId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
859
|
-
programName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
860
|
-
trialDbId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
861
|
-
trialName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
862
|
-
locationDbId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
863
|
-
locationName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
714
|
+
germplasm: import("zod").ZodObject<{
|
|
715
|
+
germplasmDbId: import("zod").ZodString;
|
|
716
|
+
germplasmName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
717
|
+
germplasmPUI: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
864
718
|
commonCropName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
719
|
+
accessionNumber: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
720
|
+
genus: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
721
|
+
species: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
722
|
+
subtaxa: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
723
|
+
defaultDisplayName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
724
|
+
pedigree: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
725
|
+
biologicalStatusOfAccessionDescription: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
726
|
+
germplasmOrigin: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodObject<{}, import("zod/v4/core").$loose>>>>;
|
|
727
|
+
countryOfOriginCode: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
728
|
+
collection: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
729
|
+
instituteCode: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
730
|
+
instituteName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
731
|
+
synonyms: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodObject<{
|
|
732
|
+
synonym: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
733
|
+
type: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
734
|
+
}, import("zod/v4/core").$loose>>>>;
|
|
735
|
+
}, import("zod/v4/core").$loose>;
|
|
736
|
+
parents: import("zod").ZodArray<import("zod").ZodObject<{
|
|
737
|
+
germplasmDbId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
738
|
+
germplasmName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
739
|
+
parentType: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
871
740
|
}, import("zod/v4/core").$loose>>;
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
741
|
+
attributes: import("zod").ZodArray<import("zod").ZodObject<{
|
|
742
|
+
attributeDbId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
743
|
+
attributeName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
744
|
+
attributeValue: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
745
|
+
determinedDate: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
746
|
+
}, import("zod/v4/core").$loose>>;
|
|
747
|
+
studyCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
748
|
+
directParentCount: import("zod").ZodNumber;
|
|
749
|
+
directDescendantCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
750
|
+
warnings: import("zod").ZodArray<import("zod").ZodString>;
|
|
751
|
+
}, import("zod/v4/core").$strip>, readonly [{
|
|
752
|
+
readonly reason: 'unknown_alias';
|
|
753
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
754
|
+
readonly when: 'No connection has been registered under the requested alias';
|
|
755
|
+
readonly recovery: 'Run brapi_connect with this alias (or omit `alias` to use the default connection) before calling brapi_get_germplasm.';
|
|
756
|
+
}, {
|
|
757
|
+
readonly reason: 'germplasm_not_found';
|
|
758
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
759
|
+
readonly when: 'Upstream returned no germplasm record for the requested DbId';
|
|
760
|
+
readonly recovery: 'Verify the germplasmDbId on the target server, or run brapi_find_germplasm to discover valid IDs.';
|
|
761
|
+
}], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
762
|
+
germplasmDbIds: import("zod").ZodArray<import("zod").ZodString>;
|
|
763
|
+
direction: import("zod").ZodDefault<import("zod").ZodEnum<{
|
|
764
|
+
ancestors: "ancestors";
|
|
765
|
+
both: "both";
|
|
766
|
+
descendants: "descendants";
|
|
767
|
+
}>>;
|
|
768
|
+
maxDepth: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
769
|
+
loadLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
770
|
+
alias: import("zod").ZodOptional<import("zod").ZodString>;
|
|
771
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
772
|
+
alias: import("zod").ZodString;
|
|
773
|
+
direction: import("zod").ZodEnum<{
|
|
774
|
+
ancestors: "ancestors";
|
|
775
|
+
both: "both";
|
|
776
|
+
descendants: "descendants";
|
|
777
|
+
}>;
|
|
778
|
+
maxDepth: import("zod").ZodNumber;
|
|
779
|
+
nodes: import("zod").ZodArray<import("zod").ZodObject<{
|
|
780
|
+
germplasmDbId: import("zod").ZodString;
|
|
781
|
+
germplasmName: import("zod").ZodOptional<import("zod").ZodString>;
|
|
782
|
+
depth: import("zod").ZodNumber;
|
|
783
|
+
isRoot: import("zod").ZodBoolean;
|
|
784
|
+
direction: import("zod").ZodEnum<{
|
|
785
|
+
ancestor: "ancestor";
|
|
786
|
+
both: "both";
|
|
787
|
+
descendant: "descendant";
|
|
788
|
+
root: "root";
|
|
789
|
+
}>;
|
|
790
|
+
}, import("zod/v4/core").$strip>>;
|
|
791
|
+
edges: import("zod").ZodArray<import("zod").ZodObject<{
|
|
792
|
+
from: import("zod").ZodString;
|
|
793
|
+
to: import("zod").ZodString;
|
|
794
|
+
relationship: import("zod").ZodEnum<{
|
|
795
|
+
child: "child";
|
|
796
|
+
parent: "parent";
|
|
797
|
+
}>;
|
|
798
|
+
parentType: import("zod").ZodOptional<import("zod").ZodString>;
|
|
799
|
+
}, import("zod/v4/core").$strip>>;
|
|
800
|
+
depthReached: import("zod").ZodNumber;
|
|
801
|
+
rootCount: import("zod").ZodNumber;
|
|
802
|
+
leafCount: import("zod").ZodNumber;
|
|
803
|
+
cycleCount: import("zod").ZodNumber;
|
|
804
|
+
deadEndCount: import("zod").ZodNumber;
|
|
805
|
+
truncated: import("zod").ZodBoolean;
|
|
806
|
+
warnings: import("zod").ZodArray<import("zod").ZodString>;
|
|
807
|
+
nodesDataframe: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
808
|
+
tableName: import("zod").ZodString;
|
|
809
|
+
rowCount: import("zod").ZodNumber;
|
|
810
|
+
columns: import("zod").ZodArray<import("zod").ZodString>;
|
|
811
|
+
columnLegend: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
|
|
812
|
+
createdAt: import("zod").ZodString;
|
|
813
|
+
expiresAt: import("zod").ZodString;
|
|
814
|
+
truncated: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
815
|
+
maxRows: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
816
|
+
totalCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
817
|
+
}, import("zod/v4/core").$strip>>;
|
|
818
|
+
edgesDataframe: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
881
819
|
tableName: import("zod").ZodString;
|
|
882
820
|
rowCount: import("zod").ZodNumber;
|
|
883
821
|
columns: import("zod").ZodArray<import("zod").ZodString>;
|
|
@@ -889,23 +827,46 @@ export declare const readOnlyToolDefinitions: (import("@cyanheads/mcp-ts-core").
|
|
|
889
827
|
totalCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
890
828
|
}, import("zod/v4/core").$strip>>;
|
|
891
829
|
}, import("zod/v4/core").$strip>, readonly [{
|
|
892
|
-
readonly reason:
|
|
830
|
+
readonly reason: 'unknown_alias';
|
|
831
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
832
|
+
readonly when: 'No connection has been registered under the requested alias';
|
|
833
|
+
readonly recovery: 'Run brapi_connect with this alias (or omit `alias` to use the default connection) before calling brapi_walk_pedigree.';
|
|
834
|
+
}], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
835
|
+
alias: import("zod").ZodOptional<import("zod").ZodString>;
|
|
836
|
+
germplasmDbId: import("zod").ZodString;
|
|
837
|
+
studyDbIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
838
|
+
variables: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
839
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
840
|
+
alias: import("zod").ZodString;
|
|
841
|
+
germplasmDbId: import("zod").ZodString;
|
|
842
|
+
germplasmName: import("zod").ZodOptional<import("zod").ZodString>;
|
|
843
|
+
studyCount: import("zod").ZodNumber;
|
|
844
|
+
studyDbIds: import("zod").ZodArray<import("zod").ZodString>;
|
|
845
|
+
perVariable: import("zod").ZodArray<import("zod").ZodObject<{
|
|
846
|
+
observationVariableDbId: import("zod").ZodString;
|
|
847
|
+
observationVariableName: import("zod").ZodOptional<import("zod").ZodString>;
|
|
848
|
+
n: import("zod").ZodNumber;
|
|
849
|
+
mean: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
850
|
+
median: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
851
|
+
sd: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
852
|
+
min: import("zod").ZodOptional<import("zod").ZodString>;
|
|
853
|
+
max: import("zod").ZodOptional<import("zod").ZodString>;
|
|
854
|
+
studyCount: import("zod").ZodNumber;
|
|
855
|
+
studyDbIds: import("zod").ZodArray<import("zod").ZodString>;
|
|
856
|
+
seasons: import("zod").ZodArray<import("zod").ZodString>;
|
|
857
|
+
}, import("zod/v4/core").$strip>>;
|
|
858
|
+
warnings: import("zod").ZodArray<import("zod").ZodString>;
|
|
859
|
+
}, import("zod/v4/core").$strip>, readonly [{
|
|
860
|
+
readonly reason: 'unknown_alias';
|
|
893
861
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
894
|
-
readonly when:
|
|
895
|
-
readonly recovery:
|
|
862
|
+
readonly when: 'No connection has been registered under the requested alias';
|
|
863
|
+
readonly recovery: 'Run brapi_connect with this alias (or omit `alias` to use the default connection) before calling brapi_germplasm_performance.';
|
|
896
864
|
}, {
|
|
897
|
-
readonly reason:
|
|
898
|
-
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.
|
|
899
|
-
readonly when:
|
|
900
|
-
readonly recovery:
|
|
901
|
-
}], {
|
|
902
|
-
readonly totalCount: import("zod").ZodNumber;
|
|
903
|
-
readonly returnedCount: import("zod").ZodNumber;
|
|
904
|
-
readonly appliedFilters: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
|
|
905
|
-
readonly refinementHint: import("zod").ZodOptional<import("zod").ZodString>;
|
|
906
|
-
readonly notice: import("zod").ZodOptional<import("zod").ZodString>;
|
|
907
|
-
readonly warnings: import("zod").ZodArray<import("zod").ZodString>;
|
|
908
|
-
}> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
865
|
+
readonly reason: 'germplasm_not_found';
|
|
866
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
867
|
+
readonly when: 'Upstream returned no germplasm record for the requested germplasmDbId';
|
|
868
|
+
readonly recovery: 'Verify the germplasmDbId on the target server, or run brapi_find_germplasm to discover valid IDs.';
|
|
869
|
+
}], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
909
870
|
alias: import("zod").ZodOptional<import("zod").ZodString>;
|
|
910
871
|
variables: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
911
872
|
variableNames: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
@@ -959,8 +920,8 @@ export declare const readOnlyToolDefinitions: (import("@cyanheads/mcp-ts-core").
|
|
|
959
920
|
synonyms: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
960
921
|
ontologyDbId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
961
922
|
source: import("zod").ZodEnum<{
|
|
962
|
-
puiMatch: "puiMatch";
|
|
963
923
|
nameMatch: "nameMatch";
|
|
924
|
+
puiMatch: "puiMatch";
|
|
964
925
|
synonymMatch: "synonymMatch";
|
|
965
926
|
traitClassMatch: "traitClassMatch";
|
|
966
927
|
}>;
|
|
@@ -977,15 +938,15 @@ export declare const readOnlyToolDefinitions: (import("@cyanheads/mcp-ts-core").
|
|
|
977
938
|
totalCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
978
939
|
}, import("zod/v4/core").$strip>>;
|
|
979
940
|
}, import("zod/v4/core").$strip>, readonly [{
|
|
980
|
-
readonly reason:
|
|
941
|
+
readonly reason: 'unknown_alias';
|
|
981
942
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
982
|
-
readonly when:
|
|
983
|
-
readonly recovery:
|
|
943
|
+
readonly when: 'No connection has been registered under the requested alias';
|
|
944
|
+
readonly recovery: 'Run brapi_connect with this alias (or omit `alias` to use the default connection) before calling brapi_find_variables.';
|
|
984
945
|
}, {
|
|
985
|
-
readonly reason:
|
|
946
|
+
readonly reason: 'all_filters_dropped';
|
|
986
947
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
987
|
-
readonly when:
|
|
988
|
-
readonly recovery:
|
|
948
|
+
readonly when: 'The active dialect dropped every filter the agent supplied — the upstream server does not honor any of the requested scope filters on this endpoint, so the call would silently widen to the unfiltered baseline.';
|
|
949
|
+
readonly recovery: 'Drop the unsupported filters and rescope by variables, traitClasses, ontologyDbIds, methodDbIds, scaleDbIds, or text — these filter paths are honored on the active dialect.';
|
|
989
950
|
}], {
|
|
990
951
|
readonly totalCount: import("zod").ZodNumber;
|
|
991
952
|
readonly returnedCount: import("zod").ZodNumber;
|
|
@@ -995,36 +956,112 @@ export declare const readOnlyToolDefinitions: (import("@cyanheads/mcp-ts-core").
|
|
|
995
956
|
readonly warnings: import("zod").ZodArray<import("zod").ZodString>;
|
|
996
957
|
}> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
997
958
|
alias: import("zod").ZodOptional<import("zod").ZodString>;
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
959
|
+
studies: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
960
|
+
germplasm: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
961
|
+
variables: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
962
|
+
observationUnits: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
963
|
+
observations: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
964
|
+
seasons: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
965
|
+
programs: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
966
|
+
trials: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
967
|
+
observationLevels: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
968
|
+
timestampFrom: import("zod").ZodOptional<import("zod").ZodString>;
|
|
969
|
+
timestampTo: import("zod").ZodOptional<import("zod").ZodString>;
|
|
970
|
+
loadLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
971
|
+
extraFilters: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
972
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
973
|
+
alias: import("zod").ZodString;
|
|
974
|
+
results: import("zod").ZodArray<import("zod").ZodObject<{
|
|
975
|
+
observationDbId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
976
|
+
observationUnitDbId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
977
|
+
observationUnitName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
978
|
+
observationVariableDbId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
979
|
+
observationVariableName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
980
|
+
studyDbId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
981
|
+
studyName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
982
|
+
germplasmDbId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
983
|
+
germplasmName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
984
|
+
observationLevel: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
985
|
+
season: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodObject<{}, import("zod/v4/core").$loose>, import("zod").ZodNull]>>;
|
|
986
|
+
value: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
987
|
+
observationTimeStamp: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
988
|
+
collector: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
989
|
+
uploadedBy: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
990
|
+
}, import("zod/v4/core").$loose>>;
|
|
991
|
+
hasMore: import("zod").ZodBoolean;
|
|
992
|
+
distributions: import("zod").ZodObject<{
|
|
993
|
+
observationVariableName: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
|
|
994
|
+
studyName: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
|
|
995
|
+
germplasmName: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
|
|
996
|
+
observationLevel: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
|
|
997
|
+
season: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
|
|
998
|
+
}, import("zod/v4/core").$strip>;
|
|
999
|
+
dataframe: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
1000
|
+
tableName: import("zod").ZodString;
|
|
1001
|
+
rowCount: import("zod").ZodNumber;
|
|
1002
|
+
columns: import("zod").ZodArray<import("zod").ZodString>;
|
|
1003
|
+
columnLegend: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
|
|
1004
|
+
createdAt: import("zod").ZodString;
|
|
1005
|
+
expiresAt: import("zod").ZodString;
|
|
1006
|
+
truncated: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
1007
|
+
maxRows: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
1008
|
+
totalCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
1009
|
+
}, import("zod/v4/core").$strip>>;
|
|
1010
|
+
}, import("zod/v4/core").$strip>, readonly [{
|
|
1011
|
+
readonly reason: 'unknown_alias';
|
|
1012
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
1013
|
+
readonly when: 'No connection has been registered under the requested alias';
|
|
1014
|
+
readonly recovery: 'Run brapi_connect with this alias (or omit `alias` to use the default connection) before calling brapi_find_observations.';
|
|
1015
|
+
}, {
|
|
1016
|
+
readonly reason: 'all_filters_dropped';
|
|
1017
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
1018
|
+
readonly when: 'The active dialect dropped every filter the agent supplied — the upstream server does not honor any of the requested scope filters on this endpoint, so the call would silently widen to the unfiltered baseline.';
|
|
1019
|
+
readonly recovery: 'Drop the unsupported filters and rescope by germplasm, variables, observationUnits, observations, seasons, programs, or trials — these filter paths are honored on the active dialect.';
|
|
1020
|
+
}], {
|
|
1021
|
+
readonly totalCount: import("zod").ZodNumber;
|
|
1022
|
+
readonly returnedCount: import("zod").ZodNumber;
|
|
1023
|
+
readonly appliedFilters: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
|
|
1024
|
+
readonly refinementHint: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1025
|
+
readonly notice: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1026
|
+
readonly warnings: import("zod").ZodArray<import("zod").ZodString>;
|
|
1027
|
+
}> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
1028
|
+
alias: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1029
|
+
images: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
1030
|
+
observationUnits: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
1031
|
+
observations: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
1032
|
+
studies: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
1033
|
+
imageFileNames: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
1034
|
+
mimeTypes: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
1035
|
+
descriptiveOntologyTerms: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
1004
1036
|
loadLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
1005
1037
|
extraFilters: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
1006
1038
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
1007
1039
|
alias: import("zod").ZodString;
|
|
1008
1040
|
results: import("zod").ZodArray<import("zod").ZodObject<{
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1041
|
+
imageDbId: import("zod").ZodString;
|
|
1042
|
+
imageName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
1043
|
+
imageFileName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
1044
|
+
imageFileSize: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodCoercedNumber<unknown>>>;
|
|
1045
|
+
imageHeight: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodCoercedNumber<unknown>>>;
|
|
1046
|
+
imageWidth: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodCoercedNumber<unknown>>>;
|
|
1047
|
+
mimeType: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
1048
|
+
imageTimeStamp: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
1049
|
+
imageURL: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
1050
|
+
observationUnitDbId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
1051
|
+
observationUnitName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
1052
|
+
observationDbIds: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodString>>>;
|
|
1053
|
+
studyDbId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
1054
|
+
studyName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
1055
|
+
descriptiveOntologyTerms: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodString>>>;
|
|
1056
|
+
copyright: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
1057
|
+
description: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
1022
1058
|
}, import("zod/v4/core").$loose>>;
|
|
1023
1059
|
hasMore: import("zod").ZodBoolean;
|
|
1024
1060
|
distributions: import("zod").ZodObject<{
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1061
|
+
mimeType: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
|
|
1062
|
+
studyName: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
|
|
1063
|
+
observationUnitName: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
|
|
1064
|
+
descriptiveOntologyTerms: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
|
|
1028
1065
|
}, import("zod/v4/core").$strip>;
|
|
1029
1066
|
dataframe: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
1030
1067
|
tableName: import("zod").ZodString;
|
|
@@ -1038,15 +1075,15 @@ export declare const readOnlyToolDefinitions: (import("@cyanheads/mcp-ts-core").
|
|
|
1038
1075
|
totalCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
1039
1076
|
}, import("zod/v4/core").$strip>>;
|
|
1040
1077
|
}, import("zod/v4/core").$strip>, readonly [{
|
|
1041
|
-
readonly reason:
|
|
1078
|
+
readonly reason: 'unknown_alias';
|
|
1042
1079
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
1043
|
-
readonly when:
|
|
1044
|
-
readonly recovery:
|
|
1080
|
+
readonly when: 'No connection has been registered under the requested alias';
|
|
1081
|
+
readonly recovery: 'Run brapi_connect with this alias (or omit `alias` to use the default connection) before calling brapi_find_images.';
|
|
1045
1082
|
}, {
|
|
1046
|
-
readonly reason:
|
|
1083
|
+
readonly reason: 'all_filters_dropped';
|
|
1047
1084
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
1048
|
-
readonly when:
|
|
1049
|
-
readonly recovery:
|
|
1085
|
+
readonly when: 'The active dialect dropped every filter the agent supplied — the upstream server does not honor any of the requested scope filters on this endpoint, so the call would silently widen to the unfiltered baseline.';
|
|
1086
|
+
readonly recovery: 'Drop the unsupported filters and rescope by images, observationUnits, observations, studies, descriptiveOntologyTerms, imageFileNames, or mimeTypes — these filter paths are honored on the active dialect.';
|
|
1050
1087
|
}], {
|
|
1051
1088
|
readonly totalCount: import("zod").ZodNumber;
|
|
1052
1089
|
readonly returnedCount: import("zod").ZodNumber;
|
|
@@ -1055,41 +1092,6 @@ export declare const readOnlyToolDefinitions: (import("@cyanheads/mcp-ts-core").
|
|
|
1055
1092
|
readonly notice: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1056
1093
|
readonly warnings: import("zod").ZodArray<import("zod").ZodString>;
|
|
1057
1094
|
}> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
1058
|
-
alias: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1059
|
-
germplasmDbId: import("zod").ZodString;
|
|
1060
|
-
studyDbIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
1061
|
-
variables: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
1062
|
-
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
1063
|
-
alias: import("zod").ZodString;
|
|
1064
|
-
germplasmDbId: import("zod").ZodString;
|
|
1065
|
-
germplasmName: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1066
|
-
studyCount: import("zod").ZodNumber;
|
|
1067
|
-
studyDbIds: import("zod").ZodArray<import("zod").ZodString>;
|
|
1068
|
-
perVariable: import("zod").ZodArray<import("zod").ZodObject<{
|
|
1069
|
-
observationVariableDbId: import("zod").ZodString;
|
|
1070
|
-
observationVariableName: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1071
|
-
n: import("zod").ZodNumber;
|
|
1072
|
-
mean: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
1073
|
-
median: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
1074
|
-
sd: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
1075
|
-
min: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1076
|
-
max: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1077
|
-
studyCount: import("zod").ZodNumber;
|
|
1078
|
-
studyDbIds: import("zod").ZodArray<import("zod").ZodString>;
|
|
1079
|
-
seasons: import("zod").ZodArray<import("zod").ZodString>;
|
|
1080
|
-
}, import("zod/v4/core").$strip>>;
|
|
1081
|
-
warnings: import("zod").ZodArray<import("zod").ZodString>;
|
|
1082
|
-
}, import("zod/v4/core").$strip>, readonly [{
|
|
1083
|
-
readonly reason: "unknown_alias";
|
|
1084
|
-
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
1085
|
-
readonly when: "No connection has been registered under the requested alias";
|
|
1086
|
-
readonly recovery: "Run brapi_connect with this alias (or omit `alias` to use the default connection) before calling brapi_germplasm_performance.";
|
|
1087
|
-
}, {
|
|
1088
|
-
readonly reason: "germplasm_not_found";
|
|
1089
|
-
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
1090
|
-
readonly when: "Upstream returned no germplasm record for the requested germplasmDbId";
|
|
1091
|
-
readonly recovery: "Verify the germplasmDbId on the target server, or run brapi_find_germplasm to discover valid IDs.";
|
|
1092
|
-
}], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
1093
1095
|
imageDbIds: import("zod").ZodArray<import("zod").ZodString>;
|
|
1094
1096
|
alias: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1095
1097
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
@@ -1129,34 +1131,55 @@ export declare const readOnlyToolDefinitions: (import("@cyanheads/mcp-ts-core").
|
|
|
1129
1131
|
warning: import("zod").ZodString;
|
|
1130
1132
|
}, import("zod/v4/core").$strip>>;
|
|
1131
1133
|
}, import("zod/v4/core").$strip>, readonly [{
|
|
1132
|
-
readonly reason:
|
|
1134
|
+
readonly reason: 'unknown_alias';
|
|
1133
1135
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
1134
|
-
readonly when:
|
|
1135
|
-
readonly recovery:
|
|
1136
|
+
readonly when: 'No connection has been registered under the requested alias';
|
|
1137
|
+
readonly recovery: 'Run brapi_connect with this alias (or omit `alias` to use the default connection) before calling brapi_get_image.';
|
|
1136
1138
|
}, {
|
|
1137
|
-
readonly reason:
|
|
1139
|
+
readonly reason: 'images_unsupported';
|
|
1138
1140
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
1139
|
-
readonly when:
|
|
1140
|
-
readonly recovery:
|
|
1141
|
+
readonly when: 'BrAPI server does not advertise /images in /serverinfo';
|
|
1142
|
+
readonly recovery: 'Run brapi_server_info to inspect the advertised endpoints, or call brapi_connect with a different alias for a server that exposes /images.';
|
|
1141
1143
|
}], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
1142
1144
|
alias: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
+
variantSetDbId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1146
|
+
variantSetDbIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
1147
|
+
germplasmDbIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
1148
|
+
callSetDbIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
1149
|
+
variantDbIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
1150
|
+
callFormat: import("zod").ZodOptional<import("zod").ZodEnum<{
|
|
1151
|
+
DARTSEQ: "DARTSEQ";
|
|
1152
|
+
FLAPJACK: "FLAPJACK";
|
|
1153
|
+
JSON: "JSON";
|
|
1154
|
+
VCF: "VCF";
|
|
1155
|
+
}>>;
|
|
1145
1156
|
loadLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
1146
1157
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
1147
1158
|
alias: import("zod").ZodString;
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
}, import("zod/v4/core").$loose
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1159
|
+
results: import("zod").ZodArray<import("zod").ZodObject<{
|
|
1160
|
+
callSetDbId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
1161
|
+
callSetName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
1162
|
+
variantDbId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
1163
|
+
variantName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
1164
|
+
variantSetDbId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
1165
|
+
genotype: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodObject<{
|
|
1166
|
+
values: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodString>>>;
|
|
1167
|
+
}, import("zod/v4/core").$loose>>>;
|
|
1168
|
+
genotypeValue: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
1169
|
+
phaseSet: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
1170
|
+
}, import("zod/v4/core").$loose>>;
|
|
1171
|
+
hasMore: import("zod").ZodBoolean;
|
|
1172
|
+
callFormatting: import("zod").ZodObject<{
|
|
1173
|
+
expandHomozygotes: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodBoolean>>;
|
|
1174
|
+
unknownString: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
1175
|
+
sepPhased: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
1176
|
+
sepUnphased: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
1177
|
+
}, import("zod/v4/core").$strip>;
|
|
1178
|
+
distributions: import("zod").ZodObject<{
|
|
1179
|
+
callSetName: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
|
|
1180
|
+
variantName: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
|
|
1181
|
+
variantSetDbId: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
|
|
1182
|
+
}, import("zod/v4/core").$strip>;
|
|
1160
1183
|
dataframe: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
1161
1184
|
tableName: import("zod").ZodString;
|
|
1162
1185
|
rowCount: import("zod").ZodNumber;
|
|
@@ -1168,17 +1191,77 @@ export declare const readOnlyToolDefinitions: (import("@cyanheads/mcp-ts-core").
|
|
|
1168
1191
|
maxRows: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
1169
1192
|
totalCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
1170
1193
|
}, import("zod/v4/core").$strip>>;
|
|
1194
|
+
truncated: import("zod").ZodBoolean;
|
|
1171
1195
|
}, import("zod/v4/core").$strip>, readonly [{
|
|
1172
|
-
readonly reason:
|
|
1196
|
+
readonly reason: 'unknown_alias';
|
|
1173
1197
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
1174
|
-
readonly when:
|
|
1175
|
-
readonly recovery:
|
|
1198
|
+
readonly when: 'No connection has been registered under the requested alias';
|
|
1199
|
+
readonly recovery: 'Run brapi_connect with this alias (or omit `alias` to use the default connection) before calling brapi_find_genotype_calls.';
|
|
1176
1200
|
}, {
|
|
1177
|
-
readonly reason:
|
|
1201
|
+
readonly reason: 'no_filters';
|
|
1178
1202
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
1179
|
-
readonly when:
|
|
1180
|
-
readonly recovery:
|
|
1203
|
+
readonly when: 'No variant set, germplasm, call set, or variant filter was provided';
|
|
1204
|
+
readonly recovery: 'Provide variantSetDbId or germplasmDbIds before retrying — unfiltered pulls are too expensive.';
|
|
1205
|
+
}, {
|
|
1206
|
+
readonly reason: 'search_endpoint_disabled';
|
|
1207
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
1208
|
+
readonly when: 'The active dialect declares POST /search/calls as known-dead on this server';
|
|
1209
|
+
readonly recovery: 'Connect to a different BrAPI server that exposes a working /search/calls route — genotype-call workflows are not viable here.';
|
|
1210
|
+
}], {
|
|
1211
|
+
readonly totalCount: import("zod").ZodNumber;
|
|
1212
|
+
readonly returnedCount: import("zod").ZodNumber;
|
|
1213
|
+
readonly appliedFilters: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
|
|
1214
|
+
readonly notice: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1215
|
+
readonly warnings: import("zod").ZodArray<import("zod").ZodString>;
|
|
1216
|
+
}> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
1217
|
+
dataframe: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1218
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
1219
|
+
tables: import("zod").ZodArray<import("zod").ZodObject<{
|
|
1220
|
+
name: import("zod").ZodString;
|
|
1221
|
+
rowCount: import("zod").ZodNumber;
|
|
1222
|
+
columns: import("zod").ZodArray<import("zod").ZodObject<{
|
|
1223
|
+
name: import("zod").ZodString;
|
|
1224
|
+
type: import("zod").ZodString;
|
|
1225
|
+
nullable: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
1226
|
+
}, import("zod/v4/core").$strip>>;
|
|
1227
|
+
approxSizeBytes: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
1228
|
+
provenance: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
1229
|
+
source: import("zod").ZodString;
|
|
1230
|
+
baseUrl: import("zod").ZodString;
|
|
1231
|
+
query: import("zod").ZodUnknown;
|
|
1232
|
+
createdAt: import("zod").ZodString;
|
|
1233
|
+
expiresAt: import("zod").ZodString;
|
|
1234
|
+
}, import("zod/v4/core").$strip>>;
|
|
1235
|
+
}, import("zod/v4/core").$strip>>;
|
|
1236
|
+
}, import("zod/v4/core").$strip>, readonly [{
|
|
1237
|
+
readonly reason: 'list_all_disabled_on_shared_http';
|
|
1238
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Forbidden;
|
|
1239
|
+
readonly when: "This server is running as a shared HTTP endpoint without per-caller auth — listing every dataframe would expose other concurrent clients' workspaces, since all callers resolve to one shared tenant.";
|
|
1240
|
+
readonly recovery: 'Pass `dataframe` with a specific name — either from a prior find_* spillover result (`result.dataframe.tableName`) or one you registered via `brapi_dataframe_query` with `registerAs`. Listing all dataframes is not available on this deployment.';
|
|
1181
1241
|
}], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
1242
|
+
sql: import("zod").ZodString;
|
|
1243
|
+
registerAs: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1244
|
+
preview: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
1245
|
+
rowLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
1246
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
1247
|
+
rowCount: import("zod").ZodNumber;
|
|
1248
|
+
columns: import("zod").ZodArray<import("zod").ZodObject<{
|
|
1249
|
+
name: import("zod").ZodString;
|
|
1250
|
+
type: import("zod").ZodString;
|
|
1251
|
+
}, import("zod/v4/core").$strip>>;
|
|
1252
|
+
rows: import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
1253
|
+
dataframe: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1254
|
+
}, import("zod/v4/core").$strip>, readonly [{
|
|
1255
|
+
readonly reason: 'sql_rejected';
|
|
1256
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
1257
|
+
readonly when: 'SQL violated read-only rules (multi-statement, non-SELECT, or disallowed operation)';
|
|
1258
|
+
readonly recovery: 'Submit a single SELECT statement using only registered dataframes. For changes, use `registerAs` in this tool to materialize a result, or brapi_dataframe_drop to remove a dataframe.';
|
|
1259
|
+
}], {
|
|
1260
|
+
readonly truncated: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
1261
|
+
readonly shown: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
1262
|
+
readonly cap: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
1263
|
+
readonly notice: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1264
|
+
}> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
1182
1265
|
alias: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1183
1266
|
noun: import("zod").ZodString;
|
|
1184
1267
|
body: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
|
|
@@ -1187,8 +1270,8 @@ export declare const readOnlyToolDefinitions: (import("@cyanheads/mcp-ts-core").
|
|
|
1187
1270
|
alias: import("zod").ZodString;
|
|
1188
1271
|
noun: import("zod").ZodString;
|
|
1189
1272
|
kind: import("zod").ZodEnum<{
|
|
1190
|
-
sync: "sync";
|
|
1191
1273
|
async: "async";
|
|
1274
|
+
sync: "sync";
|
|
1192
1275
|
}>;
|
|
1193
1276
|
searchResultsDbId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1194
1277
|
metadata: import("zod").ZodObject<{
|
|
@@ -1213,88 +1296,15 @@ export declare const readOnlyToolDefinitions: (import("@cyanheads/mcp-ts-core").
|
|
|
1213
1296
|
totalCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
1214
1297
|
}, import("zod/v4/core").$strip>>;
|
|
1215
1298
|
}, import("zod/v4/core").$strip>, readonly [{
|
|
1216
|
-
readonly reason:
|
|
1299
|
+
readonly reason: 'unknown_alias';
|
|
1217
1300
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
1218
|
-
readonly when:
|
|
1219
|
-
readonly recovery:
|
|
1301
|
+
readonly when: 'No connection has been registered under the requested alias';
|
|
1302
|
+
readonly recovery: 'Run brapi_connect with this alias (or omit `alias` to use the default connection) before calling brapi_raw_search.';
|
|
1220
1303
|
}, {
|
|
1221
|
-
readonly reason:
|
|
1304
|
+
readonly reason: 'search_endpoint_disabled';
|
|
1222
1305
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
1223
|
-
readonly when:
|
|
1224
|
-
readonly recovery:
|
|
1225
|
-
}], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
1226
|
-
germplasmDbIds: import("zod").ZodArray<import("zod").ZodString>;
|
|
1227
|
-
direction: import("zod").ZodDefault<import("zod").ZodEnum<{
|
|
1228
|
-
both: "both";
|
|
1229
|
-
ancestors: "ancestors";
|
|
1230
|
-
descendants: "descendants";
|
|
1231
|
-
}>>;
|
|
1232
|
-
maxDepth: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
1233
|
-
loadLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
1234
|
-
alias: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1235
|
-
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
1236
|
-
alias: import("zod").ZodString;
|
|
1237
|
-
direction: import("zod").ZodEnum<{
|
|
1238
|
-
both: "both";
|
|
1239
|
-
ancestors: "ancestors";
|
|
1240
|
-
descendants: "descendants";
|
|
1241
|
-
}>;
|
|
1242
|
-
maxDepth: import("zod").ZodNumber;
|
|
1243
|
-
nodes: import("zod").ZodArray<import("zod").ZodObject<{
|
|
1244
|
-
germplasmDbId: import("zod").ZodString;
|
|
1245
|
-
germplasmName: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1246
|
-
depth: import("zod").ZodNumber;
|
|
1247
|
-
isRoot: import("zod").ZodBoolean;
|
|
1248
|
-
direction: import("zod").ZodEnum<{
|
|
1249
|
-
root: "root";
|
|
1250
|
-
ancestor: "ancestor";
|
|
1251
|
-
descendant: "descendant";
|
|
1252
|
-
both: "both";
|
|
1253
|
-
}>;
|
|
1254
|
-
}, import("zod/v4/core").$strip>>;
|
|
1255
|
-
edges: import("zod").ZodArray<import("zod").ZodObject<{
|
|
1256
|
-
from: import("zod").ZodString;
|
|
1257
|
-
to: import("zod").ZodString;
|
|
1258
|
-
relationship: import("zod").ZodEnum<{
|
|
1259
|
-
parent: "parent";
|
|
1260
|
-
child: "child";
|
|
1261
|
-
}>;
|
|
1262
|
-
parentType: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1263
|
-
}, import("zod/v4/core").$strip>>;
|
|
1264
|
-
depthReached: import("zod").ZodNumber;
|
|
1265
|
-
rootCount: import("zod").ZodNumber;
|
|
1266
|
-
leafCount: import("zod").ZodNumber;
|
|
1267
|
-
cycleCount: import("zod").ZodNumber;
|
|
1268
|
-
deadEndCount: import("zod").ZodNumber;
|
|
1269
|
-
truncated: import("zod").ZodBoolean;
|
|
1270
|
-
warnings: import("zod").ZodArray<import("zod").ZodString>;
|
|
1271
|
-
nodesDataframe: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
1272
|
-
tableName: import("zod").ZodString;
|
|
1273
|
-
rowCount: import("zod").ZodNumber;
|
|
1274
|
-
columns: import("zod").ZodArray<import("zod").ZodString>;
|
|
1275
|
-
columnLegend: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
|
|
1276
|
-
createdAt: import("zod").ZodString;
|
|
1277
|
-
expiresAt: import("zod").ZodString;
|
|
1278
|
-
truncated: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
1279
|
-
maxRows: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
1280
|
-
totalCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
1281
|
-
}, import("zod/v4/core").$strip>>;
|
|
1282
|
-
edgesDataframe: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
1283
|
-
tableName: import("zod").ZodString;
|
|
1284
|
-
rowCount: import("zod").ZodNumber;
|
|
1285
|
-
columns: import("zod").ZodArray<import("zod").ZodString>;
|
|
1286
|
-
columnLegend: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
|
|
1287
|
-
createdAt: import("zod").ZodString;
|
|
1288
|
-
expiresAt: import("zod").ZodString;
|
|
1289
|
-
truncated: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
1290
|
-
maxRows: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
1291
|
-
totalCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
1292
|
-
}, import("zod/v4/core").$strip>>;
|
|
1293
|
-
}, import("zod/v4/core").$strip>, readonly [{
|
|
1294
|
-
readonly reason: "unknown_alias";
|
|
1295
|
-
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
1296
|
-
readonly when: "No connection has been registered under the requested alias";
|
|
1297
|
-
readonly recovery: "Run brapi_connect with this alias (or omit `alias` to use the default connection) before calling brapi_walk_pedigree.";
|
|
1306
|
+
readonly when: 'The active dialect declares this POST /search/{noun} route as known-dead on this server';
|
|
1307
|
+
readonly recovery: 'Use the curated find_* tool for this noun — it routes through GET filters instead and avoids the dead search route.';
|
|
1298
1308
|
}], undefined>)[];
|
|
1299
1309
|
/**
|
|
1300
1310
|
* Drop tool — opt-in via `BRAPI_CANVAS_DROP_ENABLED`. Off by default; the
|
|
@@ -1317,8 +1327,8 @@ export declare const exportToolDefinitions: import("@cyanheads/mcp-ts-core").Too
|
|
|
1317
1327
|
dataframe: import("zod").ZodString;
|
|
1318
1328
|
format: import("zod").ZodEnum<{
|
|
1319
1329
|
csv: "csv";
|
|
1320
|
-
parquet: "parquet";
|
|
1321
1330
|
json: "json";
|
|
1331
|
+
parquet: "parquet";
|
|
1322
1332
|
}>;
|
|
1323
1333
|
filename: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1324
1334
|
columns: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
@@ -1327,8 +1337,8 @@ export declare const exportToolDefinitions: import("@cyanheads/mcp-ts-core").Too
|
|
|
1327
1337
|
dataframe: import("zod").ZodString;
|
|
1328
1338
|
format: import("zod").ZodEnum<{
|
|
1329
1339
|
csv: "csv";
|
|
1330
|
-
parquet: "parquet";
|
|
1331
1340
|
json: "json";
|
|
1341
|
+
parquet: "parquet";
|
|
1332
1342
|
}>;
|
|
1333
1343
|
path: import("zod").ZodString;
|
|
1334
1344
|
filename: import("zod").ZodString;
|
|
@@ -1340,25 +1350,25 @@ export declare const exportToolDefinitions: import("@cyanheads/mcp-ts-core").Too
|
|
|
1340
1350
|
}, import("zod/v4/core").$strip>>;
|
|
1341
1351
|
expiresAt: import("zod").ZodString;
|
|
1342
1352
|
}, import("zod/v4/core").$strip>, readonly [{
|
|
1343
|
-
readonly reason:
|
|
1353
|
+
readonly reason: 'export_dir_unset';
|
|
1344
1354
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ConfigurationError;
|
|
1345
|
-
readonly when:
|
|
1346
|
-
readonly recovery:
|
|
1355
|
+
readonly when: 'BRAPI_EXPORT_DIR is not configured (defensive — the registration gate normally hides the tool when this happens)';
|
|
1356
|
+
readonly recovery: 'Set BRAPI_EXPORT_DIR on the server before retrying.';
|
|
1347
1357
|
}, {
|
|
1348
|
-
readonly reason:
|
|
1358
|
+
readonly reason: 'dataframe_not_found';
|
|
1349
1359
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
1350
|
-
readonly when:
|
|
1351
|
-
readonly recovery:
|
|
1360
|
+
readonly when: 'No dataframe with this name exists on the canvas (expired, dropped, or typo)';
|
|
1361
|
+
readonly recovery: 'Call brapi_dataframe_describe to list available dataframes.';
|
|
1352
1362
|
}, {
|
|
1353
|
-
readonly reason:
|
|
1363
|
+
readonly reason: 'invalid_filename';
|
|
1354
1364
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
1355
|
-
readonly when:
|
|
1356
|
-
readonly recovery:
|
|
1365
|
+
readonly when: 'filename contains path separators or traversal segments';
|
|
1366
|
+
readonly recovery: 'Provide a filename without "/", "\\", or ".." — leave it unset to use the default.';
|
|
1357
1367
|
}, {
|
|
1358
|
-
readonly reason:
|
|
1368
|
+
readonly reason: 'mutually_exclusive_projection';
|
|
1359
1369
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
1360
|
-
readonly when:
|
|
1361
|
-
readonly recovery:
|
|
1370
|
+
readonly when: 'Both `columns` and `sql` were supplied';
|
|
1371
|
+
readonly recovery: 'Pass either `columns` for a thin projection or `sql` for filtering/aggregation, not both.';
|
|
1362
1372
|
}], undefined>[];
|
|
1363
1373
|
/** Write tools — registered only when `BRAPI_ENABLE_WRITES=true`. */
|
|
1364
1374
|
export declare const writeToolDefinitions: import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
@@ -1385,8 +1395,8 @@ export declare const writeToolDefinitions: import("@cyanheads/mcp-ts-core").Tool
|
|
|
1385
1395
|
}, import("zod/v4/core").$strip>>;
|
|
1386
1396
|
}, import("zod/v4/core").$strip>>;
|
|
1387
1397
|
mode: import("zod").ZodDefault<import("zod").ZodEnum<{
|
|
1388
|
-
preview: "preview";
|
|
1389
1398
|
apply: "apply";
|
|
1399
|
+
preview: "preview";
|
|
1390
1400
|
}>>;
|
|
1391
1401
|
force: import("zod").ZodDefault<import("zod").ZodBoolean>;
|
|
1392
1402
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
@@ -1435,39 +1445,34 @@ export declare const writeToolDefinitions: import("@cyanheads/mcp-ts-core").Tool
|
|
|
1435
1445
|
warnings: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
1436
1446
|
}, import("zod/v4/core").$strip>], "mode">;
|
|
1437
1447
|
}, import("zod/v4/core").$strip>, readonly [{
|
|
1438
|
-
readonly reason:
|
|
1448
|
+
readonly reason: 'unknown_alias';
|
|
1439
1449
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
1440
|
-
readonly when:
|
|
1441
|
-
readonly recovery:
|
|
1450
|
+
readonly when: 'No connection has been registered under the requested alias';
|
|
1451
|
+
readonly recovery: 'Run brapi_connect with this alias (or omit `alias` to use the default connection) before calling brapi_submit_observations.';
|
|
1442
1452
|
}, {
|
|
1443
|
-
readonly reason:
|
|
1453
|
+
readonly reason: 'observations_unsupported';
|
|
1444
1454
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
1445
|
-
readonly when:
|
|
1446
|
-
readonly recovery:
|
|
1455
|
+
readonly when: 'BrAPI server does not advertise /observations';
|
|
1456
|
+
readonly recovery: 'Run brapi_server_info to inspect the advertised endpoints, or call brapi_connect with a different alias for a server that exposes /observations.';
|
|
1447
1457
|
}, {
|
|
1448
|
-
readonly reason:
|
|
1458
|
+
readonly reason: 'study_not_found';
|
|
1449
1459
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
1450
|
-
readonly when:
|
|
1451
|
-
readonly recovery:
|
|
1460
|
+
readonly when: 'Upstream returned no study record for the requested studyDbId';
|
|
1461
|
+
readonly recovery: 'Verify the studyDbId on the target server, or run brapi_find_studies to discover valid IDs before retrying.';
|
|
1452
1462
|
}, {
|
|
1453
|
-
readonly reason:
|
|
1463
|
+
readonly reason: 'post_unsupported';
|
|
1454
1464
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
1455
|
-
readonly when:
|
|
1456
|
-
readonly recovery:
|
|
1465
|
+
readonly when: 'Server does not advertise POST on /observations but new rows were submitted';
|
|
1466
|
+
readonly recovery: 'Remove the rows that lack observationDbId (those are the new rows) before retrying, or connect to a different server that supports POST on /observations.';
|
|
1457
1467
|
}, {
|
|
1458
|
-
readonly reason:
|
|
1468
|
+
readonly reason: 'put_unsupported';
|
|
1459
1469
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
1460
|
-
readonly when:
|
|
1461
|
-
readonly recovery:
|
|
1462
|
-
}, {
|
|
1463
|
-
readonly reason: "elicit_unavailable";
|
|
1464
|
-
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Forbidden;
|
|
1465
|
-
readonly when: "Apply mode invoked but client does not expose ctx.elicit and force was false";
|
|
1466
|
-
readonly recovery: "Set force=true only with explicit user authorization, or use a client that supports elicitation.";
|
|
1470
|
+
readonly when: 'Server does not advertise PUT on /observations but update rows were submitted';
|
|
1471
|
+
readonly recovery: 'Connect to a different server that supports PUT on /observations — dropping observationDbId would route as POST and create duplicates instead of updating the existing rows.';
|
|
1467
1472
|
}, {
|
|
1468
|
-
readonly reason:
|
|
1473
|
+
readonly reason: 'user_declined';
|
|
1469
1474
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Forbidden;
|
|
1470
|
-
readonly when:
|
|
1471
|
-
readonly recovery:
|
|
1475
|
+
readonly when: 'The confirmation round came back declined, cancelled, or without a true `confirm` value';
|
|
1476
|
+
readonly recovery: 'Re-run brapi_submit_observations when the user is ready to confirm, or pass force=true with explicit out-of-band authorization.';
|
|
1472
1477
|
}], undefined>[];
|
|
1473
1478
|
//# sourceMappingURL=index.d.ts.map
|