@cyanheads/brapi-mcp-server 0.7.7 → 0.7.9

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.
Files changed (55) hide show
  1. package/CLAUDE.md +1 -1
  2. package/README.md +5 -4
  3. package/changelog/0.7.x/0.7.8.md +14 -0
  4. package/changelog/0.7.x/0.7.9.md +22 -0
  5. package/dist/config/server-config.d.ts +11 -0
  6. package/dist/config/server-config.d.ts.map +1 -1
  7. package/dist/config/server-config.js +18 -0
  8. package/dist/config/server-config.js.map +1 -1
  9. package/dist/mcp-server/tools/definitions/brapi-dataframe-describe.tool.d.ts.map +1 -1
  10. package/dist/mcp-server/tools/definitions/brapi-dataframe-describe.tool.js +14 -1
  11. package/dist/mcp-server/tools/definitions/brapi-dataframe-describe.tool.js.map +1 -1
  12. package/dist/mcp-server/tools/definitions/brapi-export-genotype-matrix.tool.d.ts +1 -0
  13. package/dist/mcp-server/tools/definitions/brapi-export-genotype-matrix.tool.d.ts.map +1 -1
  14. package/dist/mcp-server/tools/definitions/brapi-export-genotype-matrix.tool.js +65 -11
  15. package/dist/mcp-server/tools/definitions/brapi-export-genotype-matrix.tool.js.map +1 -1
  16. package/dist/mcp-server/tools/definitions/brapi-find-locations.tool.d.ts +1 -0
  17. package/dist/mcp-server/tools/definitions/brapi-find-locations.tool.d.ts.map +1 -1
  18. package/dist/mcp-server/tools/definitions/brapi-find-locations.tool.js +45 -3
  19. package/dist/mcp-server/tools/definitions/brapi-find-locations.tool.js.map +1 -1
  20. package/dist/mcp-server/tools/definitions/brapi-germplasm-performance.tool.d.ts +1 -0
  21. package/dist/mcp-server/tools/definitions/brapi-germplasm-performance.tool.d.ts.map +1 -1
  22. package/dist/mcp-server/tools/definitions/brapi-germplasm-performance.tool.js +29 -15
  23. package/dist/mcp-server/tools/definitions/brapi-germplasm-performance.tool.js.map +1 -1
  24. package/dist/mcp-server/tools/definitions/brapi-walk-pedigree.tool.d.ts +23 -0
  25. package/dist/mcp-server/tools/definitions/brapi-walk-pedigree.tool.d.ts.map +1 -1
  26. package/dist/mcp-server/tools/definitions/brapi-walk-pedigree.tool.js +69 -5
  27. package/dist/mcp-server/tools/definitions/brapi-walk-pedigree.tool.js.map +1 -1
  28. package/dist/mcp-server/tools/definitions/index.d.ts +26 -0
  29. package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
  30. package/dist/mcp-server/tools/shared/find-helpers.d.ts +35 -3
  31. package/dist/mcp-server/tools/shared/find-helpers.d.ts.map +1 -1
  32. package/dist/mcp-server/tools/shared/find-helpers.js +14 -6
  33. package/dist/mcp-server/tools/shared/find-helpers.js.map +1 -1
  34. package/dist/services/brapi-filters/catalog.d.ts.map +1 -1
  35. package/dist/services/brapi-filters/catalog.js +6 -0
  36. package/dist/services/brapi-filters/catalog.js.map +1 -1
  37. package/dist/services/iso-country/index.d.ts +10 -0
  38. package/dist/services/iso-country/index.d.ts.map +1 -0
  39. package/dist/services/iso-country/index.js +9 -0
  40. package/dist/services/iso-country/index.js.map +1 -0
  41. package/dist/services/iso-country/iso-3166-data.d.ts +14 -0
  42. package/dist/services/iso-country/iso-3166-data.d.ts.map +1 -0
  43. package/dist/services/iso-country/iso-3166-data.js +328 -0
  44. package/dist/services/iso-country/iso-3166-data.js.map +1 -0
  45. package/dist/services/iso-country/resolve-country.d.ts +15 -0
  46. package/dist/services/iso-country/resolve-country.d.ts.map +1 -0
  47. package/dist/services/iso-country/resolve-country.js +65 -0
  48. package/dist/services/iso-country/resolve-country.js.map +1 -0
  49. package/dist/services/iso-country/types.d.ts +22 -0
  50. package/dist/services/iso-country/types.d.ts.map +1 -0
  51. package/dist/services/iso-country/types.js +8 -0
  52. package/dist/services/iso-country/types.js.map +1 -0
  53. package/manifest.json +1 -1
  54. package/package.json +2 -2
  55. package/server.json +3 -3
package/CLAUDE.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Agent Protocol
2
2
 
3
3
  **Server:** brapi-mcp-server
4
- **Version:** 0.7.7
4
+ **Version:** 0.7.9
5
5
  **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.10.14`
6
6
 
7
7
  > **Read the framework docs first:** `node_modules/@cyanheads/mcp-ts-core/CLAUDE.md` contains the full API reference — builders, Context, error codes, exports, patterns. This file covers server-specific conventions only.
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  <div align="center">
9
9
 
10
- [![npm](https://img.shields.io/npm/v/@cyanheads/brapi-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/brapi-mcp-server) [![Version](https://img.shields.io/badge/Version-0.7.7-blue.svg?style=flat-square)](./CHANGELOG.md) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^1.29.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![TypeScript](https://img.shields.io/badge/TypeScript-^6.0.3-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.3.14-blueviolet.svg?style=flat-square)](https://bun.sh/) [![Status](https://img.shields.io/badge/Status-Beta-yellow.svg?style=flat-square)](./CHANGELOG.md)
10
+ [![npm](https://img.shields.io/npm/v/@cyanheads/brapi-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/brapi-mcp-server) [![Version](https://img.shields.io/badge/Version-0.7.9-blue.svg?style=flat-square)](./CHANGELOG.md) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^1.29.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![TypeScript](https://img.shields.io/badge/TypeScript-^6.0.3-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.3.14-blueviolet.svg?style=flat-square)](https://bun.sh/) [![Status](https://img.shields.io/badge/Status-Beta-yellow.svg?style=flat-square)](./CHANGELOG.md)
11
11
 
12
12
  </div>
13
13
 
@@ -46,7 +46,7 @@
46
46
  | `brapi_find_observations` | Pull observation records by study / germplasm / variable / season / unit / timestamp. Dataframe spillover. |
47
47
  | `brapi_find_images` | Filter image metadata by unit / study / ontology / MIME type. Bytes via `brapi_get_image`. |
48
48
  | `brapi_get_image` | Fetch image bytes for up to 5 imageDbIds inline as `type: image` blocks. Prefers `/imagecontent`, falls back to `imageURL`. |
49
- | `brapi_find_locations` | Find research stations by country / type / abbreviation, with optional client-side bbox filter. |
49
+ | `brapi_find_locations` | Find research stations by country (ISO alpha-3 code, or English country name resolved client-side) / type / abbreviation, with optional client-side bbox filter. |
50
50
  | `brapi_find_variants` | Find variant records by variant set, reference, or genomic region (1-based inclusive / exclusive). |
51
51
  | `brapi_find_genotype_calls` | Pull genotype calls via async-search polling. Upstream pull bounded by `BRAPI_GENOTYPE_CALLS_MAX_PULL` (default 100k, max 500k). |
52
52
 
@@ -60,7 +60,7 @@
60
60
  | `brapi_dataframe_export` | _Opt-in via `BRAPI_EXPORT_DIR=<path>`, stdio-only._ Export a dataframe to disk (CSV / Parquet / JSON) under the configured directory and return the absolute path for the human to open. Optional `columns` projection or `sql` filter materializes a derived table for the export, dropped after. |
61
61
  | `brapi_build_phenotype_matrix` | Build a germplasm × trait matrix from one or more studies and materialize it as a canvas dataframe. Supports wide (pivot) or long shape with configurable per-cell aggregation. |
62
62
  | `brapi_germplasm_performance` | Per-variable performance aggregates (n, mean, median, sd, min, max, studyCount) for a single germplasm across all studies where it has observations. |
63
- | `brapi_export_genotype_matrix` | Export genotype calls for a variant set as a germplasm × variant canvas dataframe; also serializes to VCF-lite or PLINK `.ped`/`.map` text. |
63
+ | `brapi_export_genotype_matrix` | Export genotype calls for a variant set as a germplasm × variant canvas dataframe; also serializes to VCF-lite or PLINK `.ped`/`.map` text. Distinct-variant columns bounded by `BRAPI_GENOTYPE_MATRIX_MAX_COLUMNS` (default 10k, max 500k). |
64
64
 
65
65
  ### Write (opt-in: `BRAPI_ENABLE_WRITES=true`)
66
66
 
@@ -133,7 +133,7 @@ Within one (tenant, session), dataframes act as a self-cleaning shared notebook:
133
133
  - **Dialect adaptation** — `spec` / `brapi-test` / `breedbase` / `cassavabase` / `bms` dialects translate v2.1 plural filter keys to the singular form each server family honors, drop filters known to be broken, normalize sparse-shape encodings, and escalate to POST `/search/{noun}` when GET would silently downcast multi-value filters. Detected from `/serverinfo` (server-name / organization-name); pin per-alias via `BRAPI_<ALIAS>_DIALECT`. Verified-vs-inferred mapping counts surface on the orientation envelope so agents see the confidence floor at a glance.
134
134
  - **DuckDB required** — `@duckdb/node-api` is a regular dependency; startup fails closed when the framework canvas is unavailable. Not supported on Cloudflare Workers (no native binary in that runtime).
135
135
  - **Async-search transparency** — `brapi_find_genotype_calls` and `brapi_raw_search` handle the `POST /search/{noun}` → `GET /search/{noun}/{id}` 202-retry pattern automatically.
136
- - **Pedigree DAG walks** — `brapi_walk_pedigree` BFS-traverses ancestry / descendancy with cycle detection (BrAPI only exposes one generation per call); a 1,000-node safety cap bounds the walk and sets `truncated` when reached.
136
+ - **Pedigree DAG walks** — `brapi_walk_pedigree` BFS-traverses ancestry / descendancy with cycle detection (BrAPI only exposes one generation per call); a 1,000-node safety cap bounds the walk and sets `truncated` when reached. Walks larger than `loadLimit` spill their node and edge sets to two JOINable canvas dataframes and return a bounded inline preview.
137
137
  - **Image content** — `brapi_get_image` fetches bytes inline as MCP `type: image` blocks, preferring `/images/{id}/imagecontent` with `imageURL` fallback.
138
138
  - **Free-text variable ranking** — `OntologyResolver` scores variables against a query (PUI / name / synonym / trait-class) so `find_variables text:"..."` returns ranked candidates even without `/ontologies`.
139
139
  - **Auth variants in one schema** — tagged-union covers `none` / `bearer` / `api_key` / `sgn` (session-token exchange) / `oauth2` (client-credentials).
@@ -219,6 +219,7 @@ Every variable is optional.
219
219
  | `BRAPI_ALLOW_PRIVATE_IPS` | Allow RFC 1918 / loopback targets. Dev-only. | `false` |
220
220
  | `BRAPI_ENABLE_WRITES` | Opt-in for `brapi_submit_observations` registration. | `false` |
221
221
  | `BRAPI_GENOTYPE_CALLS_MAX_PULL` | Upstream row ceiling per `brapi_find_genotype_calls` invocation. Max 500,000. | `100000` |
222
+ | `BRAPI_GENOTYPE_MATRIX_MAX_COLUMNS` | Distinct-variant column ceiling per `brapi_export_genotype_matrix` matrix — bounds the wide dataframe, the `variantColumnLegend`, and any VCF/PLINK text (all scale with column count, independent of the row pull). A `maxColumns` input may lower it, not raise it. Max 500,000. | `10000` |
222
223
  | `BRAPI_CANVAS_DROP_ENABLED` | Opt-in for `brapi_dataframe_drop` registration. Off by default; dataframes expire via TTL when left unmanaged. | `false` |
223
224
  | `BRAPI_EXPORT_DIR` | Directory for `brapi_dataframe_export` output files. Setting a path is the opt-in (no separate enable flag); unset leaves the tool out of `tools/list`. Stdio-only — the tool stays disabled under HTTP transport regardless of this value. Bridged to the framework's `CANVAS_EXPORT_PATH` automatically. | — |
224
225
  | `BRAPI_CANVAS_MAX_ROWS` / `BRAPI_CANVAS_QUERY_TIMEOUT_MS` | Per-query response row cap and wall-clock timeout for `brapi_dataframe_query`. | `10000` / `30000` |
@@ -0,0 +1,14 @@
1
+ ---
2
+ summary: "brapi_germplasm_performance gains an optional studyDbIds bypass for its study-discovery cap; brapi_walk_pedigree spills node and edge sets exceeding loadLimit to two JOINable canvas dataframes; brapi_find_locations resolves free-form country names to ISO 3166-1 alpha-3 codes via a new iso-country service"
3
+ breaking: false
4
+ security: false
5
+ ---
6
+
7
+ # 0.7.8 — 2026-07-16
8
+
9
+ ## Added
10
+
11
+ - **`brapi_germplasm_performance` `studyDbIds`** — optional input that bypasses automatic study discovery (and its 200-study `STUDY_DISCOVERY_CAP`) entirely. Pass a specific set — e.g. the full germplasm-scoped list retrieved via `brapi_find_studies` with `extraFilters.germplasmDbIds` — to aggregate a slice discovery would otherwise cap. ([#43](https://github.com/cyanheads/brapi-mcp-server/issues/43))
12
+ - **`germplasmDbIds`** — added to the `/studies` filter catalog (`brapi_describe_filters`); the capped-discovery warning on `brapi_germplasm_performance` now names this `brapi_find_studies` retrieval path alongside the `studyDbIds` input above. ([#43](https://github.com/cyanheads/brapi-mcp-server/issues/43))
13
+ - **`brapi_walk_pedigree` dataframe spillover** — new `loadLimit` input; when the node or edge set exceeds it, both spill to two canvas dataframes (`nodesDataframe` / `edgesDataframe`, JOINable on `germplasmDbId`) with a bounded inline preview. Completes [#17](https://github.com/cyanheads/brapi-mcp-server/issues/17) — Part B of the walk's cap handling; the 1,000-node safety cap and truncation warning (Part A) shipped in [0.7.1](https://github.com/cyanheads/brapi-mcp-server/blob/main/changelog/0.7.x/0.7.1.md).
14
+ - **`brapi_find_locations` `countryNames`** — free-form English country names and aliases (e.g. "Uganda", "USA") resolved client-side to ISO 3166-1 alpha-3 codes and merged into `countryCodes`; unresolved names surface as a warning. New `src/services/iso-country/` service backs the resolution — 249 countries, case- and diacritic-insensitive, accepts alpha-2/alpha-3 codes directly. ([#19](https://github.com/cyanheads/brapi-mcp-server/issues/19))
@@ -0,0 +1,22 @@
1
+ ---
2
+ summary: "brapi_export_genotype_matrix bounds distinct-variant columns via a new maxColumns input and BRAPI_GENOTYPE_MATRIX_MAX_COLUMNS ceiling while keeping every germplasm row; brapi_dataframe_describe budgets its per-column listing and points overflow at brapi_dataframe_query."
3
+ breaking: false
4
+ security: false
5
+ ---
6
+
7
+ # 0.7.9 — 2026-07-16
8
+
9
+ ## Added
10
+
11
+ - **`brapi_export_genotype_matrix` `maxColumns`** — optional per-call input capping the distinct variant columns the matrix pivots into. Omit to use the deployment ceiling; a value above it clamps down. Independent of `maxCalls`, which bounds the row (call) pull. ([#46](https://github.com/cyanheads/brapi-mcp-server/issues/46))
12
+ - **`BRAPI_GENOTYPE_MATRIX_MAX_COLUMNS`** — deployment ceiling on distinct-variant columns per matrix; bounds the wide canvas dataframe, the `variantColumnLegend`, and any VCF/PLINK text, all of which scale with column count independently of `BRAPI_GENOTYPE_CALLS_MAX_PULL`. Default 10,000 (legend ≈ 250 KB), max 500,000. Prevents a schema-legal one-germplasm × many-variant skew from driving the column count to the full call budget and emitting a multi-megabyte legend. ([#46](https://github.com/cyanheads/brapi-mcp-server/issues/46))
13
+
14
+ ## Changed
15
+
16
+ - **`brapi_export_genotype_matrix` `truncated`** — now set when either cap fires: the row ceiling (`BRAPI_GENOTYPE_CALLS_MAX_PULL`) or the new column ceiling; `warnings` names which. The column cap is applied inside the pivot as rows stream in, so an over-wide legend and matrix are never built then trimmed. Every germplasm still registers as a row — one whose calls all reference dropped variants renders as an all-null row, never a vanished one. ([#46](https://github.com/cyanheads/brapi-mcp-server/issues/46))
17
+ - **`brapi_dataframe_describe` per-column listing** — bounded by the shared width-aware budget (`joinWithinBudget` / `MAX_LIST_LINE`, now exported from `find-helpers`), so a wide genotype matrix no longer emits one `content[]` line per variant. Overflow points at `brapi_dataframe_query` (`SELECT * FROM <table> LIMIT 0`); the full schema stays in `structuredContent`. ([#47](https://github.com/cyanheads/brapi-mcp-server/issues/47))
18
+ - **`renderDataframeHandle` overflow hint** — repointed from `brapi_dataframe_describe` to `brapi_dataframe_query`, since describe's listing is now itself budgeted and pointing one capped line at another is circular. ([#47](https://github.com/cyanheads/brapi-mcp-server/issues/47))
19
+
20
+ ## Dependencies
21
+
22
+ - **`tsc-alias` `^1.8.17 → ^1.9.1`** — dev-dependency bump.
@@ -16,6 +16,16 @@ import { z } from '@cyanheads/mcp-ts-core';
16
16
  * advertised input range and the deployment ceiling from drifting apart.
17
17
  */
18
18
  export declare const GENOTYPE_CALLS_MAX_PULL_CEILING = 500000;
19
+ /**
20
+ * Absolute upper bound on `genotypeMatrixMaxColumns`, and therefore on any
21
+ * caller-supplied `maxColumns` override to `brapi_export_genotype_matrix`. A
22
+ * matrix's distinct-variant column count can never exceed the genotype-call
23
+ * pull it is derived from, so it shares {@link GENOTYPE_CALLS_MAX_PULL_CEILING}'s
24
+ * absolute ceiling; the tool input schema bounds against this constant rather
25
+ * than restating the literal, keeping the advertised input range and the
26
+ * deployment ceiling from drifting apart.
27
+ */
28
+ export declare const GENOTYPE_MATRIX_MAX_COLUMNS_CEILING = 500000;
19
29
  export declare const ServerConfigSchema: z.ZodObject<{
20
30
  defaultBaseUrl: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
21
31
  defaultUsername: z.ZodOptional<z.ZodString>;
@@ -38,6 +48,7 @@ export declare const ServerConfigSchema: z.ZodObject<{
38
48
  allowPrivateIps: z.ZodDefault<z.ZodCodec<z.ZodString, z.ZodBoolean>>;
39
49
  enableWrites: z.ZodDefault<z.ZodCodec<z.ZodString, z.ZodBoolean>>;
40
50
  genotypeCallsMaxPull: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
51
+ genotypeMatrixMaxColumns: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
41
52
  canvasDropEnabled: z.ZodDefault<z.ZodCodec<z.ZodString, z.ZodBoolean>>;
42
53
  exportDir: z.ZodOptional<z.ZodString>;
43
54
  canvasMaxRows: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
@@ -1 +1 @@
1
- {"version":3,"file":"server-config.d.ts","sourceRoot":"","sources":["../../src/config/server-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAG3C;;;;;;GAMG;AACH,eAAO,MAAM,+BAA+B,SAAU,CAAC;AAEvD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyJ7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAI9D,wBAAgB,eAAe,IAAI,YAAY,CA8B9C;AAED,uDAAuD;AACvD,wBAAgB,iBAAiB,IAAI,IAAI,CAExC"}
1
+ {"version":3,"file":"server-config.d.ts","sourceRoot":"","sources":["../../src/config/server-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAG3C;;;;;;GAMG;AACH,eAAO,MAAM,+BAA+B,SAAU,CAAC;AAEvD;;;;;;;;GAQG;AACH,eAAO,MAAM,mCAAmC,SAAU,CAAC;AAE3D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkK7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAI9D,wBAAgB,eAAe,IAAI,YAAY,CA+B9C;AAED,uDAAuD;AACvD,wBAAgB,iBAAiB,IAAI,IAAI,CAExC"}
@@ -17,6 +17,16 @@ import { parseEnvConfig } from '@cyanheads/mcp-ts-core/config';
17
17
  * advertised input range and the deployment ceiling from drifting apart.
18
18
  */
19
19
  export const GENOTYPE_CALLS_MAX_PULL_CEILING = 500_000;
20
+ /**
21
+ * Absolute upper bound on `genotypeMatrixMaxColumns`, and therefore on any
22
+ * caller-supplied `maxColumns` override to `brapi_export_genotype_matrix`. A
23
+ * matrix's distinct-variant column count can never exceed the genotype-call
24
+ * pull it is derived from, so it shares {@link GENOTYPE_CALLS_MAX_PULL_CEILING}'s
25
+ * absolute ceiling; the tool input schema bounds against this constant rather
26
+ * than restating the literal, keeping the advertised input range and the
27
+ * deployment ceiling from drifting apart.
28
+ */
29
+ export const GENOTYPE_MATRIX_MAX_COLUMNS_CEILING = 500_000;
20
30
  export const ServerConfigSchema = z.object({
21
31
  defaultBaseUrl: z
22
32
  .preprocess((v) => (typeof v === 'string' && /^\$\{/.test(v) ? undefined : v), z.string().url().optional())
@@ -120,6 +130,13 @@ export const ServerConfigSchema = z.object({
120
130
  .max(GENOTYPE_CALLS_MAX_PULL_CEILING)
121
131
  .default(100_000)
122
132
  .describe('Hard ceiling on rows pulled from the upstream BrAPI server in a single brapi_find_genotype_calls or brapi_export_genotype_matrix invocation. Bounds total page count per query — protects the upstream from unbounded pagination loops. brapi_export_genotype_matrix accepts a maxCalls override but clamps it to this value, so the ceiling holds regardless of caller input. Default 100,000 (≈10 pages at the standard pageSize=10,000); maximum 500,000 (≈50 pages, matching the per-query budget of other find_* tools).'),
133
+ genotypeMatrixMaxColumns: z.coerce
134
+ .number()
135
+ .int()
136
+ .positive()
137
+ .max(GENOTYPE_MATRIX_MAX_COLUMNS_CEILING)
138
+ .default(10_000)
139
+ .describe('Hard ceiling on the number of distinct variant columns brapi_export_genotype_matrix pivots into a single germplasm × variant matrix. Bounds the wide canvas dataframe, the variantColumnLegend, and any VCF/PLINK serialization — all of which scale with column count independently of the row (call) pull cap. A schema-legal skew (one germplasm × many variants) can otherwise drive the column count to the full genotypeCallsMaxPull budget and emit a multi-megabyte legend. brapi_export_genotype_matrix accepts a maxColumns override but clamps it to this value, so the ceiling holds regardless of caller input. Default 10,000 (legend ≈ 250 KB) — an order of magnitude below genotypeCallsMaxPull; maximum 500,000. Raise it only when a wide panel genuinely needs more variant columns inline.'),
123
140
  canvasDropEnabled: z
124
141
  .stringbool()
125
142
  .default(false)
@@ -169,6 +186,7 @@ export function getServerConfig() {
169
186
  allowPrivateIps: 'BRAPI_ALLOW_PRIVATE_IPS',
170
187
  enableWrites: 'BRAPI_ENABLE_WRITES',
171
188
  genotypeCallsMaxPull: 'BRAPI_GENOTYPE_CALLS_MAX_PULL',
189
+ genotypeMatrixMaxColumns: 'BRAPI_GENOTYPE_MATRIX_MAX_COLUMNS',
172
190
  canvasDropEnabled: 'BRAPI_CANVAS_DROP_ENABLED',
173
191
  exportDir: 'BRAPI_EXPORT_DIR',
174
192
  canvasMaxRows: 'BRAPI_CANVAS_MAX_ROWS',
@@ -1 +1 @@
1
- {"version":3,"file":"server-config.js","sourceRoot":"","sources":["../../src/config/server-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-config.js","sourceRoot":"","sources":["../../src/config/server-config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"brapi-dataframe-describe.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-dataframe-describe.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA6CjE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;cAkCjC,CAAC"}
1
+ {"version":3,"file":"brapi-dataframe-describe.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-dataframe-describe.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA8CjE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;cAkCjC,CAAC"}
@@ -15,6 +15,7 @@ import { tool, z } from '@cyanheads/mcp-ts-core';
15
15
  import { config } from '@cyanheads/mcp-ts-core/config';
16
16
  import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
17
17
  import { getCanvasBridge } from '../../../services/canvas-bridge/index.js';
18
+ import { joinWithinBudget, MAX_LIST_LINE } from '../shared/find-helpers.js';
18
19
  const ColumnSchema = z.object({
19
20
  name: z.string().describe('Column name.'),
20
21
  type: z.string().describe('SQL column type (VARCHAR, INTEGER, DOUBLE, BOOLEAN, etc.).'),
@@ -96,10 +97,22 @@ function renderDescribe(tables) {
96
97
  lines.push(`- approxSizeBytes: ${table.approxSizeBytes}`);
97
98
  }
98
99
  lines.push(`- columns: ${table.columns.length}`);
99
- for (const col of table.columns) {
100
+ // Width-aware budget on the per-column listing: a normal find_* dataframe
101
+ // (~18 columns) renders every column with its type, while a wide genotype
102
+ // matrix (one column per variant, up to hundreds of thousands) caps instead
103
+ // of emitting a line per variant into content[]. Safe to omit here because
104
+ // the full column set stays retrievable — brapi_dataframe_query renders it
105
+ // uncapped via `SELECT * FROM <table> LIMIT 0`, and the complete schema is
106
+ // in structuredContent.tables[].columns regardless of what this renders.
107
+ const { omitted } = joinWithinBudget(table.columns.map((col) => col.name), MAX_LIST_LINE);
108
+ const shownCount = table.columns.length - omitted;
109
+ for (const col of table.columns.slice(0, shownCount)) {
100
110
  const nullable = col.nullable === undefined ? '' : ` (nullable: ${col.nullable})`;
101
111
  lines.push(` - ${col.name}: ${col.type}${nullable}`);
102
112
  }
113
+ if (omitted > 0) {
114
+ lines.push(` - …+${omitted} more column(s) not shown — list all columns via brapi_dataframe_query: \`SELECT * FROM ${table.name} LIMIT 0\``);
115
+ }
103
116
  if (table.provenance) {
104
117
  lines.push('- provenance:');
105
118
  lines.push(` - source: ${table.provenance.source}`);
@@ -1 +1 @@
1
- {"version":3,"file":"brapi-dataframe-describe.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-dataframe-describe.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"brapi-dataframe-describe.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-dataframe-describe.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE5E,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4DAA4D,CAAC;IACvF,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;CAChF,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,CAAC,sEAAsE,CAAC;IACnF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACzE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IACjE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IACnE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gEAAgE,CAAC;CACjG,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;IACrE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IAC/E,OAAO,EAAE,CAAC;SACP,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;SACnD,QAAQ,CAAC,8BAA8B,CAAC;IAC3C,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IACjG,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC9C,uFAAuF,CACxF;CACF,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,MAAM,EAAE,CAAC;SACN,KAAK,CAAC,oBAAoB,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;SAC9D,QAAQ,CAAC,2BAA2B,CAAC;CACzC,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,yEAAyE,CAAC;CACvF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC,0BAA0B,EAAE;IACrE,WAAW,EACT,2dAA2d;IAC7d,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;IAC/E,MAAM,EAAE;QACN;YACE,MAAM,EAAE,kCAAkC;YAC1C,IAAI,EAAE,gBAAgB,CAAC,SAAS;YAChC,IAAI,EAAE,uMAAuM;YAC7M,QAAQ,EACN,qPAAqP;SACxP;KACO;IACV,KAAK,EAAE,WAAW;IAClB,MAAM,EAAE,YAAY;IAEpB,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,IACE,KAAK,CAAC,SAAS,KAAK,SAAS;YAC7B,GAAG,CAAC,QAAQ,KAAK,SAAS;YAC1B,MAAM,CAAC,gBAAgB,KAAK,MAAM,EAClC,CAAC;YACD,MAAM,GAAG,CAAC,IAAI,CAAC,kCAAkC,EAAE,SAAS,EAAE;gBAC5D,GAAG,GAAG,CAAC,WAAW,CAAC,kCAAkC,CAAC;aACvD,CAAC,CAAC;QACL,CAAC;QACD,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,MAAM,YAAY,GAA2B,EAAE,CAAC;QAChD,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;YAAE,YAAY,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAC5E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACxD,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IAED,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;CAC5E,CAAC,CAAC;AAEH,SAAS,cAAc,CAAC,MAA8C;IACpE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,eAAe,CAAC,CAAC;IAC9C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CACR,uIAAuI,CACxI,CAAC;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5C,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,sBAAsB,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACjD,0EAA0E;QAC1E,0EAA0E;QAC1E,4EAA4E;QAC5E,2EAA2E;QAC3E,2EAA2E;QAC3E,2EAA2E;QAC3E,yEAAyE;QACzE,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAClC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EACpC,aAAa,CACd,CAAC;QACF,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC;QAClD,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC;YACrD,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,QAAQ,GAAG,CAAC;YAClF,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,GAAG,QAAQ,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CACR,SAAS,OAAO,2FAA2F,KAAK,CAAC,IAAI,YAAY,CAClI,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;YACrD,KAAK,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;YACvD,KAAK,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;YAC3D,KAAK,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;YAC3D,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -39,6 +39,7 @@ export declare const brapiExportGenotypeMatrix: import("@cyanheads/mcp-ts-core")
39
39
  "matrix-json": "matrix-json";
40
40
  }>;
41
41
  maxCalls: z.ZodOptional<z.ZodNumber>;
42
+ maxColumns: z.ZodOptional<z.ZodNumber>;
42
43
  }, z.core.$strip>, z.ZodObject<{
43
44
  alias: z.ZodString;
44
45
  format: z.ZodEnum<{
@@ -1 +1 @@
1
- {"version":3,"file":"brapi-export-genotype-matrix.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-export-genotype-matrix.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA2GjE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmPpC,CAAC"}
1
+ {"version":3,"file":"brapi-export-genotype-matrix.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-export-genotype-matrix.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAiHjE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyRpC,CAAC"}
@@ -29,7 +29,7 @@
29
29
  */
30
30
  import { tool, z } from '@cyanheads/mcp-ts-core';
31
31
  import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
32
- import { GENOTYPE_CALLS_MAX_PULL_CEILING, getServerConfig } from '../../../config/server-config.js';
32
+ import { GENOTYPE_CALLS_MAX_PULL_CEILING, GENOTYPE_MATRIX_MAX_COLUMNS_CEILING, getServerConfig, } from '../../../config/server-config.js';
33
33
  import { getBrapiClient } from '../../../services/brapi-client/index.js';
34
34
  import { resolveDialect } from '../../../services/brapi-dialect/index.js';
35
35
  import { getCanvasBridge } from '../../../services/canvas-bridge/index.js';
@@ -86,7 +86,7 @@ const OutputSchema = z.object({
86
86
  .describe('PLINK .map text — chromosome, variant-id, genetic-distance (0 placeholder), base-pair position, one row per variant. Present only when format="plink". Chromosome/position come from /variants metadata; `0` when absent.'),
87
87
  truncated: z
88
88
  .boolean()
89
- .describe('True when the call pull was capped before exhausting upstream data.'),
89
+ .describe('True when the matrix is not the complete upstream result — either the call pull hit the row ceiling (BRAPI_GENOTYPE_CALLS_MAX_PULL) or the distinct-variant count hit the column ceiling (BRAPI_GENOTYPE_MATRIX_MAX_COLUMNS). `warnings` names which ceiling fired.'),
90
90
  warnings: z.array(z.string()).describe('Advisory messages (truncation, missing fields, etc.).'),
91
91
  });
92
92
  // ---------------------------------------------------------------------------
@@ -132,6 +132,13 @@ export const brapiExportGenotypeMatrix = tool('brapi_export_genotype_matrix', {
132
132
  .max(GENOTYPE_CALLS_MAX_PULL_CEILING)
133
133
  .optional()
134
134
  .describe('Lower the pull cap for this call. Omit to use the deployment ceiling (BRAPI_GENOTYPE_CALLS_MAX_PULL). Cannot raise it: a value above the deployment ceiling is clamped down to it and the effective cap is reported in `warnings`.'),
135
+ maxColumns: z
136
+ .number()
137
+ .int()
138
+ .positive()
139
+ .max(GENOTYPE_MATRIX_MAX_COLUMNS_CEILING)
140
+ .optional()
141
+ .describe('Lower the distinct-variant column cap for this call. Omit to use the deployment ceiling (BRAPI_GENOTYPE_MATRIX_MAX_COLUMNS). Cannot raise it: a value above the deployment ceiling is clamped down to it. When the variant set resolves more distinct variants than the effective cap, the matrix is capped at that many variant columns, `truncated` is set, and the effective cap is reported in `warnings`. Independent of `maxCalls`, which bounds the row (call) pull.'),
135
142
  }),
136
143
  output: OutputSchema,
137
144
  async handler(input, ctx) {
@@ -160,6 +167,17 @@ export const brapiExportGenotypeMatrix = tool('brapi_export_genotype_matrix', {
160
167
  if (maxCalls < requestedMaxCalls) {
161
168
  warnings.push(`maxCalls=${requestedMaxCalls} exceeds this deployment's genotype-call ceiling (BRAPI_GENOTYPE_CALLS_MAX_PULL=${config.genotypeCallsMaxPull}); the pull was capped at ${maxCalls} calls. Results may be truncated — see \`truncated\`.`);
162
169
  }
170
+ // Same deployment-ceiling-wins shape as `maxCalls`, on the orthogonal axis:
171
+ // `maxCalls` bounds the rows pulled, `maxColumns` bounds the distinct-variant
172
+ // columns those rows pivot into. Nothing constrains the germplasm-to-variant
173
+ // ratio, so a schema-legal skew (one germplasm × `maxCalls` variants) would
174
+ // otherwise drive `columnCount` — and the variantColumnLegend, the wide
175
+ // dataframe, and the vcf/ped/map text with it — to the full call budget.
176
+ const requestedMaxColumns = input.maxColumns ?? config.genotypeMatrixMaxColumns;
177
+ const maxColumns = Math.min(requestedMaxColumns, config.genotypeMatrixMaxColumns);
178
+ if (maxColumns < requestedMaxColumns) {
179
+ warnings.push(`maxColumns=${requestedMaxColumns} exceeds this deployment's genotype-matrix column ceiling (BRAPI_GENOTYPE_MATRIX_MAX_COLUMNS=${config.genotypeMatrixMaxColumns}); the matrix is capped at ${maxColumns} variant columns. See \`truncated\`.`);
180
+ }
163
181
  const searchOpts = {
164
182
  variantSetDbId: input.variantSetDbId,
165
183
  };
@@ -178,7 +196,14 @@ export const brapiExportGenotypeMatrix = tool('brapi_export_genotype_matrix', {
178
196
  warnings,
179
197
  });
180
198
  // Build the pivot matrix plus the structured data the text encoders need.
181
- const matrix = buildMatrix(collected.rows, collected.callFormatting);
199
+ // The column cap is applied *inside* the pivot loop (net-new variants past
200
+ // `maxColumns` are skipped as rows stream in), so the over-wide legend and
201
+ // matrix are never materialized then trimmed — a true resource bound, not
202
+ // post-hoc waste.
203
+ const matrix = buildMatrix(collected.rows, collected.callFormatting, maxColumns);
204
+ if (matrix.columnsTruncated) {
205
+ warnings.push(`The variant set resolved more than ${maxColumns} distinct variants; the matrix was capped at ${maxColumns} variant columns (BRAPI_GENOTYPE_MATRIX_MAX_COLUMNS) and the remaining variants were dropped. Every germplasm is still present — one whose calls all fall in the dropped variants appears as an all-null row. Narrow germplasmDbIds or the variant set and re-pull to capture the rest.`);
206
+ }
182
207
  // Register the wide matrix as a canvas dataframe (used by all three formats).
183
208
  const registerInput = {
184
209
  source: 'export_genotype_matrix',
@@ -186,8 +211,14 @@ export const brapiExportGenotypeMatrix = tool('brapi_export_genotype_matrix', {
186
211
  query: searchBody,
187
212
  rows: matrix.matrixRows,
188
213
  };
189
- if (collected.truncated) {
214
+ // A column cap leaves the dataframe incomplete too — flag it so a reader who
215
+ // inspects the handle without reading `warnings` doesn't take the matrix as
216
+ // whole. `maxRows` stays row-scoped: it's set only when the call pull hit the
217
+ // row ceiling, never for a pure column cap (which doesn't reduce row count).
218
+ if (collected.truncated || matrix.columnsTruncated) {
190
219
  registerInput.truncated = true;
220
+ }
221
+ if (collected.truncated) {
191
222
  registerInput.maxRows = maxCalls;
192
223
  }
193
224
  const dfResult = await bridge.registerDataframe(ctx, registerInput);
@@ -223,7 +254,7 @@ export const brapiExportGenotypeMatrix = tool('brapi_export_genotype_matrix', {
223
254
  variantColumnLegend: matrix.variantColumnLegend,
224
255
  callFormatting: collected.callFormatting,
225
256
  dataframe: dataframeHandle,
226
- truncated: collected.truncated,
257
+ truncated: collected.truncated || matrix.columnsTruncated,
227
258
  warnings,
228
259
  };
229
260
  if (vcf !== undefined)
@@ -238,7 +269,7 @@ export const brapiExportGenotypeMatrix = tool('brapi_export_genotype_matrix', {
238
269
  const lines = [];
239
270
  lines.push(`# Genotype matrix — ${result.format} — ${result.rowCount} germplasm × ${result.columnCount} variants — \`${result.alias}\``);
240
271
  if (result.truncated)
241
- lines.push('> **Truncated** at pull cap. See `warnings` for details.');
272
+ lines.push('> **Truncated.** See `warnings` for which cap fired.');
242
273
  lines.push('');
243
274
  lines.push('## Dataframe');
244
275
  lines.push(...renderDataframeHandle(result.dataframe));
@@ -323,26 +354,48 @@ function renderTextPreview(opts) {
323
354
  *
324
355
  * Row identity: `callSetDbId` (preferred) or `callSetName`, else `'unknown'`.
325
356
  * Variant identity: `variantDbId` (preferred) or `variantName`.
357
+ *
358
+ * `maxColumns` bounds the distinct-variant column count only — never the
359
+ * germplasm rows. Every germplasm seen in any row is registered as a matrix
360
+ * row; the cap drops variant *columns*, not rows. The cap is enforced as rows
361
+ * stream in: once `maxColumns` distinct variants have been seen, a row
362
+ * introducing a *net-new* variant contributes no column and no stored genotype,
363
+ * but its germplasm is still registered first. A germplasm whose calls all
364
+ * reference beyond-cap variants therefore renders as an honest all-null row —
365
+ * present, empty in the kept columns — never a vanished row. This stays a
366
+ * resource bound: the over-wide legend and per-column genotype cells are never
367
+ * built, not built-then-trimmed.
326
368
  */
327
- function buildMatrix(rows, callFormatting) {
369
+ function buildMatrix(rows, callFormatting, maxColumns) {
328
370
  const variantSeen = new Set();
329
371
  const variantIdOrder = [];
330
372
  const sampleSeen = new Set();
331
373
  const sampleOrder = [];
332
374
  const sampleLabels = {};
333
375
  const genotypeAt = new Map();
376
+ let columnsTruncated = false;
334
377
  for (const row of rows) {
335
378
  const vid = row.variantDbId ?? row.variantName ?? 'unknown_variant';
336
- if (!variantSeen.has(vid)) {
337
- variantSeen.add(vid);
338
- variantIdOrder.push(vid);
339
- }
379
+ // Register the germplasm (sample) on its first appearance, BEFORE the
380
+ // variant-cap check below. Gating registration on a kept variant would drop
381
+ // the entire row of any germplasm whose calls all reference beyond-cap
382
+ // variants — silent row loss under germplasm-major, disjoint coverage (the
383
+ // common Breedbase /search/calls shape). It must still appear, empty in the
384
+ // kept columns.
340
385
  const sampleKey = row.callSetDbId ?? row.callSetName ?? 'unknown';
341
386
  if (!sampleSeen.has(sampleKey)) {
342
387
  sampleSeen.add(sampleKey);
343
388
  sampleOrder.push(sampleKey);
344
389
  sampleLabels[sampleKey] = row.callSetName ?? sampleKey;
345
390
  }
391
+ if (!variantSeen.has(vid)) {
392
+ if (variantIdOrder.length >= maxColumns) {
393
+ columnsTruncated = true;
394
+ continue;
395
+ }
396
+ variantSeen.add(vid);
397
+ variantIdOrder.push(vid);
398
+ }
346
399
  const gt = renderGenotypeString(row, callFormatting);
347
400
  let byVariant = genotypeAt.get(sampleKey);
348
401
  if (!byVariant) {
@@ -365,6 +418,7 @@ function buildMatrix(rows, callFormatting) {
365
418
  matrixRows,
366
419
  variantColumnLegend,
367
420
  columnCount: variantIdOrder.length,
421
+ columnsTruncated,
368
422
  variantIdOrder,
369
423
  sampleOrder,
370
424
  sampleLabels,
@@ -1 +1 @@
1
- {"version":3,"file":"brapi-export-genotype-matrix.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-export-genotype-matrix.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,+BAA+B,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC7F,OAAO,EAAoB,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACpF,OAAO,EAAqB,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACtF,OAAO,EAAE,eAAe,EAA+B,MAAM,mCAAmC,CAAC;AACjG,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAEhF,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EACL,UAAU,EACV,QAAQ,EAER,mBAAmB,EACnB,qBAAqB,EACrB,WAAW,EACX,qBAAqB,EACrB,2BAA2B,EAC3B,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,oBAAoB,EAGpB,YAAY,EACZ,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AAUrC,kFAAkF;AAClF,MAAM,yBAAyB,GAAG,MAAM,CAAC;AACzC,MAAM,0BAA0B,GAAG,KAAK,CAAC;AAEzC,sFAAsF;AACtF,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAEhC,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;IAC5E,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;SAC1C,QAAQ,CAAC,sCAAsC,CAAC;IACnD,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,EAAE;SACL,WAAW,EAAE;SACb,QAAQ,CAAC,oDAAoD,CAAC;IACjE,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,EAAE;SACL,WAAW,EAAE;SACb,QAAQ,CAAC,8EAA8E,CAAC;IAC3F,mBAAmB,EAAE,CAAC;SACnB,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC9B,QAAQ,CACP,2KAA2K,CAC5K;IACH,cAAc,EAAE,CAAC;SACd,MAAM,CAAC;QACN,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QACtF,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;QACtF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QACpE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;KACzE,CAAC;SACD,QAAQ,CAAC,+CAA+C,CAAC;IAC5D,SAAS,EAAE,qBAAqB,CAAC,QAAQ,CACvC,gQAAgQ,CACjQ;IACD,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,0OAA0O,CAC3O;IACH,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,qOAAqO,CACtO;IACH,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,2NAA2N,CAC5N;IACH,SAAS,EAAE,CAAC;SACT,OAAO,EAAE;SACT,QAAQ,CAAC,qEAAqE,CAAC;IAClF,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,uDAAuD,CAAC;CAChG,CAAC,CAAC;AAIH,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC,8BAA8B,EAAE;IAC5E,WAAW,EACT,okBAAokB;IACtkB,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IACxD,MAAM,EAAE;QACN;YACE,MAAM,EAAE,eAAe;YACvB,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,6DAA6D;YACnE,QAAQ,EACN,gIAAgI;SACnI;QACD;YACE,MAAM,EAAE,YAAY;YACpB,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,gCAAgC;YACtC,QAAQ,EACN,4FAA4F;SAC/F;QACD;YACE,MAAM,EAAE,0BAA0B;YAClC,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,6EAA6E;YACnF,QAAQ,EACN,+HAA+H;SAClI;KACO;IACV,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,UAAU;QACjB,cAAc,EAAE,CAAC;aACd,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,EAAE;aACV,QAAQ,CACP,8GAA8G,CAC/G;QACH,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,0CAA0C,CAAC;QACtF,MAAM,EAAE,CAAC;aACN,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;aAC1C,QAAQ,CACP,kMAAkM,CACnM;QACH,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,EAAE;aACV,GAAG,CAAC,+BAA+B,CAAC;aACpC,QAAQ,EAAE;aACV,QAAQ,CACP,oOAAoO,CACrO;KACJ,CAAC;IACF,MAAM,EAAE,YAAY;IAEpB,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,YAAY,GAAG,qBAAqB,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QAEjC,MAAM,UAAU,GAAG,MAAM,2BAA2B,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAEvE,MAAM,gBAAgB,GAA8C,EAAE,CAAC;QACvE,IAAI,UAAU,CAAC,YAAY;YAAE,gBAAgB,CAAC,IAAI,GAAG,UAAU,CAAC,YAAY,CAAC;QAC7E,MAAM,YAAY,CAAC,MAAM,CACvB,UAAU,CAAC,OAAO,EAClB,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,EAC3C,GAAG,EACH,gBAAgB,CACjB,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC;QACxE,IAAI,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAClD,MAAM,GAAG,CAAC,IAAI,CACZ,0BAA0B,EAC1B,YAAY,OAAO,CAAC,EAAE,uGAAuG,EAC7H,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,0BAA0B,CAAC,EAAE,CAC1E,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,2EAA2E;QAC3E,0EAA0E;QAC1E,wEAAwE;QACxE,0EAA0E;QAC1E,yEAAyE;QACzE,YAAY;QACZ,MAAM,iBAAiB,GAAG,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,oBAAoB,CAAC;QACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAC1E,IAAI,QAAQ,GAAG,iBAAiB,EAAE,CAAC;YACjC,QAAQ,CAAC,IAAI,CACX,YAAY,iBAAiB,mFAAmF,MAAM,CAAC,oBAAoB,6BAA6B,QAAQ,uDAAuD,CACxO,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAA+C;YAC7D,cAAc,EAAE,KAAK,CAAC,cAAc;SACrC,CAAC;QACF,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS;YAAE,UAAU,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;QACzF,MAAM,UAAU,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAEpD,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;YAChC,MAAM,GAAG,CAAC,IAAI,CACZ,YAAY,EACZ,0FAA0F,EAC1F,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,CACrC,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC;YACnC,MAAM;YACN,UAAU;YACV,GAAG;YACH,IAAI,EAAE,UAAU;YAChB,QAAQ;YACR,QAAQ;SACT,CAAC,CAAC;QAEH,0EAA0E;QAC1E,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;QAErE,8EAA8E;QAC9E,MAAM,aAAa,GAA2B;YAC5C,MAAM,EAAE,wBAAwB;YAChC,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,MAAM,CAAC,UAAU;SACxB,CAAC;QACF,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;YACxB,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC;YAC/B,aAAa,CAAC,OAAO,GAAG,QAAQ,CAAC;QACnC,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QACpE,MAAM,eAAe,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAEpD,0EAA0E;QAC1E,IAAI,GAAuB,CAAC;QAC5B,IAAI,GAAuB,CAAC;QAC5B,IAAI,GAAuB,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC5D,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAAC;gBAC/C,MAAM;gBACN,UAAU;gBACV,OAAO;gBACP,cAAc,EAAE,KAAK,CAAC,cAAc;gBACpC,SAAS,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC;gBACzC,GAAG;gBACH,QAAQ;aACT,CAAC,CAAC;YACH,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAChC,GAAG,GAAG,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;YACpE,CAAC;iBAAM,CAAC;gBACN,GAAG,GAAG,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;gBACrD,GAAG,GAAG,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;gBACxC,QAAQ,CAAC,IAAI,CACX,iPAAiP,CAClP,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAW;YACrB,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;YAClC,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;YAC/C,cAAc,EAAE,SAAS,CAAC,cAAc;YACxC,SAAS,EAAE,eAAe;YAC1B,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,QAAQ;SACT,CAAC;QACF,IAAI,GAAG,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;QACxC,IAAI,GAAG,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;QACxC,IAAI,GAAG,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;QAExC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QACjB,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,CAAC,IAAI,CACR,uBAAuB,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,QAAQ,gBAAgB,MAAM,CAAC,WAAW,iBAAiB,MAAM,CAAC,KAAK,IAAI,CAC7H,CAAC;QACF,IAAI,MAAM,CAAC,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;QAC7F,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACjC,MAAM,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,iBAAiB,IAAI,GAAG,EAAE,CAAC,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,aAAa,IAAI,GAAG,EAAE,CAAC,CAAC;QACzD,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,SAAS,IAAI,GAAG,EAAE,CAAC,CAAC;QACjD,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,WAAW,IAAI,GAAG,EAAE,CAAC,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACjE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;YACrE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,mEAAmE;gBACnE,sEAAsE;gBACtE,kEAAkE;gBAClE,uEAAuE;gBACvE,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;gBAC/D,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC;oBACnC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,UAAU,IAAI,IAAI,CAAC,CAAC;gBAC3C,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QAED,2EAA2E;QAC3E,0EAA0E;QAC1E,wDAAwD;QACxD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;QAC7C,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CACR,GAAG,iBAAiB,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,CACvF,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CACR,GAAG,iBAAiB,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,CACzF,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CACR,GAAG,iBAAiB,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,CACzF,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC1B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;CACF,CAAC,CAAC;AAEH,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAE9E;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,iBAAiB,CAAC,IAQ1B;IACC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,KAAK,CAAC,CAAC;IAC3D,IAAI,QAAQ,CAAC,MAAM,GAAG,oBAAoB,EAAE,CAAC;QAC3C,GAAG,CAAC,IAAI,CACN,KAAK,QAAQ,CAAC,MAAM,GAAG,oBAAoB,+DAA+D,IAAI,CAAC,KAAK,iEAAiE,IAAI,CAAC,SAAS,yHAAyH,CAC7T,CAAC;IACJ,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,OAAO,GAAG,CAAC;AACb,CAAC;AAuBD;;;;;;GAMG;AACH,SAAS,WAAW,CAAC,IAAe,EAAE,cAA8B;IAClE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,YAAY,GAA2B,EAAE,CAAC;IAChD,MAAM,UAAU,GAAG,IAAI,GAAG,EAA+B,CAAC;IAE1D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,IAAI,iBAAiB,CAAC;QACpE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACrB,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,IAAI,SAAS,CAAC;QAClE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC1B,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5B,YAAY,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,WAAW,IAAI,SAAS,CAAC;QACzD,CAAC;QACD,MAAM,EAAE,GAAG,oBAAoB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QACrD,IAAI,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACvC,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAC/D,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAErC,MAAM,UAAU,GAA8B,WAAW,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QAC1E,MAAM,GAAG,GAA4B,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC;QAClE,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC5C,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YAChC,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACzC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QACzC,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,UAAU;QACV,mBAAmB;QACnB,WAAW,EAAE,cAAc,CAAC,MAAM;QAClC,cAAc;QACd,WAAW;QACX,YAAY;QACZ,UAAU;KACX,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,iCAAiC;AACjC,8EAA8E;AAE9E,+BAA+B;AAC/B,SAAS,GAAG,CAAC,KAAmC;IAC9C,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,YAAY,CACnB,MAAyB,EACzB,WAAqC,EACrC,cAA8B;IAE9B,MAAM,OAAO,GAAG,cAAc,CAAC,aAAa,IAAI,GAAG,CAAC;IACpD,MAAM,MAAM,GAAG;QACb,QAAQ;QACR,KAAK;QACL,IAAI;QACJ,KAAK;QACL,KAAK;QACL,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;KAC9D,CAAC;IACF,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC;QAC/F,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,YAAY,CAAC,MAAyB,EAAE,WAAqC;IACpF,+EAA+E;IAC/E,OAAO,MAAM,CAAC,cAAc;SACzB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACrC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CAAC,MAAyB,EAAE,cAA8B;IAC7E,6EAA6E;IAC7E,OAAO,MAAM,CAAC,WAAW;SACtB,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QACjB,MAAM,MAAM,GAAa;YACvB,GAAG;YACH,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,SAAS;YAC3C,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;SACJ,CAAC;QACF,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACnD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YACxC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC;YACnE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACtB,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,EAAsB,EAAE,cAA8B;IAC1E,MAAM,OAAO,GAAG,cAAc,CAAC,aAAa,IAAI,GAAG,CAAC;IACpD,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,OAAO;QAAE,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,MAAM,GAAG,EAAE;SACd,KAAK,CAAC,MAAM,CAAC;SACb,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAW,CAAC,CAAC;QACpC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChB,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAW,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAW,CAAC,CAAC,CAAC;AAChE,CAAC;AAgBD;;;;;;GAMG;AACH,KAAK,UAAU,sBAAsB,CACnC,IAAgC;IAEhC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IACvF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC5C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,UAAU,EAAE,EAAE,eAAe,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAC3F,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5E,QAAQ,CAAC,IAAI,CACX,2CAA2C,OAAO,CAAC,EAAE,uFAAuF,CAC7I,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,OAAO,IAAI,GAAG,UAAU,IAAI,OAAO,GAAG,yBAAyB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACvF,MAAM,IAAI,GAAG,mBAAmB,CAAC,UAAU,EAAE;gBAC3C,GAAI,OAAO,CAAC,OAGV;gBACF,QAAQ,EAAE,0BAA0B;gBACpC,IAAI;aACL,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAE/B,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAC9C,MAAM,IAAI,GAAG,WAAW,CAA0B,QAAQ,CAAC,MAAM,CAAC,CAAC;YACnE,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrB,OAAO,EAAE,CAAC;gBACV,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;gBACpC,IAAI,CAAC,GAAG;oBAAE,SAAS;gBACnB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,CAAC;YACD,UAAU,GAAG,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,IAAI,IAAI,GAAG,CAAC,CAAC;YACnE,IAAI,EAAE,CAAC;YACP,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAAE,MAAM;YAC5E,IAAI,IAAI,CAAC,MAAM,GAAG,0BAA0B;gBAAE,MAAM;QACtD,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,QAAQ,CAAC,IAAI,CACX,iCAAiC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,wCAAwC,CAC1H,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kBAAkB,CAAC,CAA0B;IACpD,MAAM,IAAI,GAAgB,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IACxC,IAAI,KAAK;QAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IAC9B,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IACtB,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;SACnD,CAAC;QACJ,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,QAAQ;YAAE,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC;IACpC,CAAC;IACD,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IACvC,IAAI,GAAG;QAAE,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACxB,MAAM,MAAM,GAAG,CAAC,CAAC,cAAc,CAAC;IAChC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACtF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjD,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,GAAG;YAAE,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IAC1B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"brapi-export-genotype-matrix.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-export-genotype-matrix.tool.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ export declare const brapiFindLocations: import("@cyanheads/mcp-ts-core").ToolDe
14
14
  locations: z.ZodOptional<z.ZodArray<z.ZodString>>;
15
15
  locationNames: z.ZodOptional<z.ZodArray<z.ZodString>>;
16
16
  countryCodes: z.ZodOptional<z.ZodArray<z.ZodString>>;
17
+ countryNames: z.ZodOptional<z.ZodArray<z.ZodString>>;
17
18
  locationTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
18
19
  abbreviations: z.ZodOptional<z.ZodArray<z.ZodString>>;
19
20
  bbox: z.ZodOptional<z.ZodObject<{
@@ -1 +1 @@
1
- {"version":3,"file":"brapi-find-locations.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-find-locations.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAiHjE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkX7B,CAAC"}
1
+ {"version":3,"file":"brapi-find-locations.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-find-locations.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAkHjE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmY7B,CAAC"}