/** * @fileoverview `brapi_germplasm_performance` — aggregate a single germplasm's * observations across the studies it appears in, returning per-variable summary * statistics (n, mean, median, sd, min, max) plus the contributing studies and * seasons. Answers the breeder's primary question — "how does line X perform * across the pool's history?" — in one call. * * Study-anchored by design: a naked `/observations?germplasmDbId=…` pull stalls * on SGN/Breedbase deployments (the count-probe bailout). Instead the tool * discovers the germplasm's studies via `/studies?germplasmDbIds=…` (with a * dialect-honor cross-check, since some servers silently drop that filter and * return the global list), then pulls observations per study through the shared * `pullStudyObservations` machinery — the same `/observations` → * `/observationunits` fallback chain `brapi_build_phenotype_matrix` uses. * * Returned rows are filtered to the iterated study and the target germplasm, so * the aggregate stays correct even on servers that ignore the studyDbId filter * on `/observations` (the BrAPI Community Test Server does) or over-return from * the germplasm-anchored fallback. * * @module mcp-server/tools/definitions/brapi-germplasm-performance.tool */ import { z } from '@cyanheads/mcp-ts-core'; import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors'; export declare const brapiGermplasmPerformance: import("@cyanheads/mcp-ts-core").ToolDefinition; germplasmDbId: z.ZodString; variables: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ alias: z.ZodString; germplasmDbId: z.ZodString; germplasmName: z.ZodOptional; studyCount: z.ZodNumber; studyDbIds: z.ZodArray; perVariable: z.ZodArray; n: z.ZodNumber; mean: z.ZodOptional; median: z.ZodOptional; sd: z.ZodOptional; min: z.ZodOptional; max: z.ZodOptional; studyCount: z.ZodNumber; studyDbIds: z.ZodArray; seasons: z.ZodArray; }, z.core.$strip>>; warnings: z.ZodArray; }, z.core.$strip>, readonly [{ readonly reason: "unknown_alias"; readonly code: JsonRpcErrorCode.NotFound; readonly when: "No connection has been registered under the requested alias"; readonly recovery: "Run brapi_connect with this alias (or omit `alias` to use the default connection) before calling brapi_germplasm_performance."; }, { readonly reason: "germplasm_not_found"; readonly code: JsonRpcErrorCode.NotFound; readonly when: "Upstream returned no germplasm record for the requested germplasmDbId"; readonly recovery: "Verify the germplasmDbId on the target server, or run brapi_find_germplasm to discover valid IDs."; }], undefined>; //# sourceMappingURL=brapi-germplasm-performance.tool.d.ts.map