/** * @fileoverview Tool registration barrel. Splits definitions into four groups * the entry point composes based on operator gates: read-only tools register * unconditionally, `brapi_dataframe_drop` registers only when * `BRAPI_CANVAS_DROP_ENABLED=true`, `brapi_dataframe_export` registers only * when `BRAPI_EXPORT_DIR` is set AND `MCP_TRANSPORT_TYPE=stdio`, and * `brapi_submit_observations` registers only when `BRAPI_ENABLE_WRITES=true`. * Keeping the gating in `src/index.ts` keeps this module free of eager * config reads. * * @module mcp-server/tools/definitions/index */ /** * Read-only tools registered unconditionally on every server. Includes * `brapi_dataframe_describe` and `brapi_dataframe_query` — canvas is * mandatory, so the discovery + read surface always registers. */ export declare const readOnlyToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolDefinition; }, import("zod/v4/core").$strip>, import("zod").ZodObject<{ endpoint: import("zod").ZodString; filterCount: import("zod").ZodNumber; filters: import("zod").ZodArray; description: import("zod").ZodString; example: import("zod").ZodString; }, import("zod/v4/core").$strip>>; specReference: import("zod").ZodOptional; availableEndpoints: import("zod").ZodArray; }, import("zod/v4/core").$strip>, readonly [{ readonly reason: "unknown_endpoint"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound; readonly when: "No filter catalog is registered for the requested endpoint"; readonly recovery: "Pick an endpoint from data.availableEndpoints — same set as the input enum (studies, germplasm, observations, variables, images, variants, locations)."; }], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition; }, import("zod/v4/core").$strip>, import("zod").ZodObject<{ alias: import("zod").ZodString; germplasm: import("zod").ZodObject<{ germplasmDbId: import("zod").ZodString; germplasmName: import("zod").ZodOptional>; germplasmPUI: import("zod").ZodOptional>; commonCropName: import("zod").ZodOptional>; accessionNumber: import("zod").ZodOptional>; genus: import("zod").ZodOptional>; species: import("zod").ZodOptional>; subtaxa: import("zod").ZodOptional>; defaultDisplayName: import("zod").ZodOptional>; pedigree: import("zod").ZodOptional>; biologicalStatusOfAccessionDescription: import("zod").ZodOptional>; germplasmOrigin: import("zod").ZodOptional>>>; countryOfOriginCode: import("zod").ZodOptional>; collection: import("zod").ZodOptional>; instituteCode: import("zod").ZodOptional>; instituteName: import("zod").ZodOptional>; synonyms: import("zod").ZodOptional>; type: import("zod").ZodOptional>; }, import("zod/v4/core").$loose>>>>; }, import("zod/v4/core").$loose>; parents: import("zod").ZodArray>; germplasmName: import("zod").ZodOptional>; parentType: import("zod").ZodOptional>; }, import("zod/v4/core").$loose>>; attributes: import("zod").ZodArray>; attributeName: import("zod").ZodOptional>; attributeValue: import("zod").ZodOptional>; determinedDate: import("zod").ZodOptional>; }, import("zod/v4/core").$loose>>; studyCount: import("zod").ZodOptional; directParentCount: import("zod").ZodNumber; directDescendantCount: import("zod").ZodOptional; warnings: import("zod").ZodArray; }, import("zod/v4/core").$strip>, readonly [{ readonly reason: "unknown_alias"; readonly code: import("@cyanheads/mcp-ts-core/errors").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_get_germplasm."; }, { readonly reason: "germplasm_not_found"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound; readonly when: "Upstream returned no germplasm record for the requested DbId"; readonly recovery: "Verify the germplasmDbId on the target server, or run brapi_find_germplasm to discover valid IDs."; }], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition; forceRefresh: import("zod").ZodDefault; }, import("zod/v4/core").$strip>, import("zod").ZodObject<{ alias: import("zod").ZodString; baseUrl: import("zod").ZodString; server: import("zod").ZodObject<{ name: import("zod").ZodOptional; description: import("zod").ZodOptional; organizationName: import("zod").ZodOptional; organizationURL: import("zod").ZodOptional; documentationURL: import("zod").ZodOptional; contactEmail: import("zod").ZodOptional; brapiVersion: import("zod").ZodOptional; }, import("zod/v4/core").$strip>; auth: import("zod").ZodObject<{ mode: import("zod").ZodEnum<{ none: "none"; sgn: "sgn"; oauth2: "oauth2"; api_key: "api_key"; bearer: "bearer"; }>; headerName: import("zod").ZodOptional; expiresAt: import("zod").ZodOptional; }, import("zod/v4/core").$strip>; capabilities: import("zod").ZodObject<{ supportedCount: import("zod").ZodNumber; supported: import("zod").ZodArray; notableGaps: import("zod").ZodArray; }, import("zod/v4/core").$strip>; dialect: import("zod").ZodObject<{ id: import("zod").ZodString; source: import("zod").ZodEnum<{ "env-override": "env-override"; "url-pattern": "url-pattern"; "server-name": "server-name"; "organization-name": "organization-name"; fallback: "fallback"; }>; envVar: import("zod").ZodString; disabledSearchEndpoints: import("zod").ZodArray; notes: import("zod").ZodArray; verifiedMappingCount: import("zod").ZodOptional; inferredMappingCount: import("zod").ZodOptional; }, import("zod/v4/core").$strip>; content: import("zod").ZodObject<{ crops: import("zod").ZodArray; studyCount: import("zod").ZodOptional; germplasmCount: import("zod").ZodOptional; programCount: import("zod").ZodOptional; locationCount: import("zod").ZodOptional; }, import("zod/v4/core").$strip>; attribution: import("zod").ZodOptional; }, import("zod/v4/core").$strip>>; notes: import("zod").ZodArray; fetchedAt: import("zod").ZodString; }, import("zod/v4/core").$strip>, readonly [{ readonly reason: "unknown_alias"; readonly code: import("@cyanheads/mcp-ts-core/errors").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_server_info."; }], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition; }, import("zod/v4/core").$strip>, import("zod").ZodObject<{ alias: import("zod").ZodString; study: import("zod").ZodObject<{ studyDbId: import("zod").ZodString; studyName: import("zod").ZodOptional>; studyType: import("zod").ZodOptional>; studyDescription: import("zod").ZodOptional>; programDbId: import("zod").ZodOptional>; programName: import("zod").ZodOptional>; trialDbId: import("zod").ZodOptional>; trialName: import("zod").ZodOptional>; locationDbId: import("zod").ZodOptional>; locationName: import("zod").ZodOptional>; commonCropName: import("zod").ZodOptional>; seasons: import("zod").ZodOptional>>>; active: import("zod").ZodOptional>; startDate: import("zod").ZodOptional>; endDate: import("zod").ZodOptional>; studyCode: import("zod").ZodOptional>; studyPUI: import("zod").ZodOptional>; }, import("zod/v4/core").$loose>; program: import("zod").ZodOptional>; commonCropName: import("zod").ZodOptional>; abbreviation: import("zod").ZodOptional>; leadPersonName: import("zod").ZodOptional>; documentationURL: import("zod").ZodOptional>; }, import("zod/v4/core").$loose>>; trial: import("zod").ZodOptional>; programDbId: import("zod").ZodOptional>; programName: import("zod").ZodOptional>; commonCropName: import("zod").ZodOptional>; startDate: import("zod").ZodOptional>; endDate: import("zod").ZodOptional>; active: import("zod").ZodOptional>; trialDescription: import("zod").ZodOptional>; }, import("zod/v4/core").$loose>>; location: import("zod").ZodOptional>; abbreviation: import("zod").ZodOptional>; countryCode: import("zod").ZodOptional>; countryName: import("zod").ZodOptional>; locationType: import("zod").ZodOptional>; latitude: import("zod").ZodOptional>; longitude: import("zod").ZodOptional>; altitude: import("zod").ZodOptional>; coordinates: import("zod").ZodOptional>>; }, import("zod/v4/core").$loose>>; observationCount: import("zod").ZodOptional; observationUnitCount: import("zod").ZodOptional; variableCount: import("zod").ZodOptional; warnings: import("zod").ZodArray; }, import("zod/v4/core").$strip>, readonly [{ readonly reason: "unknown_alias"; readonly code: import("@cyanheads/mcp-ts-core/errors").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_get_study."; }, { readonly reason: "study_not_found"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound; readonly when: "Upstream returned no study record for the requested DbId"; readonly recovery: "Verify the studyDbId on the target server, or run brapi_find_studies to discover valid IDs."; }], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition; studies: import("zod").ZodArray; variables: import("zod").ZodOptional>; germplasm: import("zod").ZodOptional>; shape: import("zod").ZodDefault>; aggregate: import("zod").ZodDefault>; loadLimit: import("zod").ZodOptional; extraFilters: import("zod").ZodOptional>; }, import("zod/v4/core").$strip>, import("zod").ZodObject<{ alias: import("zod").ZodString; studies: import("zod").ZodArray; shape: import("zod").ZodEnum<{ wide: "wide"; long: "long"; }>; aggregate: import("zod").ZodEnum<{ all: "all"; mean: "mean"; median: "median"; first: "first"; }>; observationCount: import("zod").ZodNumber; germplasmCount: import("zod").ZodNumber; variableCount: import("zod").ZodNumber; variableLegend: import("zod").ZodRecord; dataframe: import("zod").ZodOptional; columnLegend: import("zod").ZodOptional>; createdAt: import("zod").ZodString; expiresAt: import("zod").ZodString; truncated: import("zod").ZodOptional; maxRows: import("zod").ZodOptional; totalCount: import("zod").ZodOptional; }, import("zod/v4/core").$strip>>; warnings: import("zod").ZodArray; }, import("zod/v4/core").$strip>, readonly [{ readonly reason: "unknown_alias"; readonly code: import("@cyanheads/mcp-ts-core/errors").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_build_phenotype_matrix."; }, { readonly reason: "all_filters_dropped"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError; readonly when: "The active dialect dropped every filter supplied — the call would silently widen to the unfiltered baseline"; readonly recovery: "Drop unsupported filters or use studies / germplasm / variables to scope the query to supported filter paths on the active dialect."; }, { readonly reason: "no_observation_path"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ServiceUnavailable; readonly when: "Neither /observations nor /observationunits returned data for any requested study after probing both paths"; readonly recovery: "Verify the studyDbIds exist and the BrAPI server exposes /observations or /observationunits. Use brapi_server_info to inspect the capability list."; }], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition; auth: import("zod").ZodOptional; }, import("zod/v4/core").$strip>, import("zod").ZodObject<{ mode: import("zod").ZodLiteral<"bearer">; token: import("zod").ZodString; }, import("zod/v4/core").$strip>, import("zod").ZodObject<{ mode: import("zod").ZodLiteral<"api_key">; apiKey: import("zod").ZodString; headerName: import("zod").ZodOptional; }, import("zod/v4/core").$strip>, import("zod").ZodObject<{ mode: import("zod").ZodLiteral<"sgn">; username: import("zod").ZodString; password: import("zod").ZodString; }, import("zod/v4/core").$strip>, import("zod").ZodObject<{ mode: import("zod").ZodLiteral<"oauth2">; clientId: import("zod").ZodString; clientSecret: import("zod").ZodString; tokenUrl: import("zod").ZodOptional; }, import("zod/v4/core").$strip>], "mode">>; alias: import("zod").ZodDefault; }, import("zod/v4/core").$strip>, import("zod").ZodObject<{ alias: import("zod").ZodString; baseUrl: import("zod").ZodString; server: import("zod").ZodObject<{ name: import("zod").ZodOptional; description: import("zod").ZodOptional; organizationName: import("zod").ZodOptional; organizationURL: import("zod").ZodOptional; documentationURL: import("zod").ZodOptional; contactEmail: import("zod").ZodOptional; brapiVersion: import("zod").ZodOptional; }, import("zod/v4/core").$strip>; auth: import("zod").ZodObject<{ mode: import("zod").ZodEnum<{ none: "none"; sgn: "sgn"; oauth2: "oauth2"; api_key: "api_key"; bearer: "bearer"; }>; headerName: import("zod").ZodOptional; expiresAt: import("zod").ZodOptional; }, import("zod/v4/core").$strip>; capabilities: import("zod").ZodObject<{ supportedCount: import("zod").ZodNumber; supported: import("zod").ZodArray; notableGaps: import("zod").ZodArray; }, import("zod/v4/core").$strip>; dialect: import("zod").ZodObject<{ id: import("zod").ZodString; source: import("zod").ZodEnum<{ "env-override": "env-override"; "url-pattern": "url-pattern"; "server-name": "server-name"; "organization-name": "organization-name"; fallback: "fallback"; }>; envVar: import("zod").ZodString; disabledSearchEndpoints: import("zod").ZodArray; notes: import("zod").ZodArray; verifiedMappingCount: import("zod").ZodOptional; inferredMappingCount: import("zod").ZodOptional; }, import("zod/v4/core").$strip>; content: import("zod").ZodObject<{ crops: import("zod").ZodArray; studyCount: import("zod").ZodOptional; germplasmCount: import("zod").ZodOptional; programCount: import("zod").ZodOptional; locationCount: import("zod").ZodOptional; }, import("zod/v4/core").$strip>; attribution: import("zod").ZodOptional; }, import("zod/v4/core").$strip>>; notes: import("zod").ZodArray; fetchedAt: import("zod").ZodString; }, import("zod/v4/core").$strip>, readonly [{ readonly reason: "auth_token_exchange_failed"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Forbidden; readonly when: "SGN or OAuth token exchange against the BrAPI /token endpoint failed"; readonly recovery: "Verify the credentials and that the server exposes /token before retrying."; }, { readonly reason: "auth_no_access_token"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Forbidden; readonly when: "Token endpoint responded but did not return an access_token"; readonly recovery: "Confirm the credentials are valid and the upstream IdP issues access tokens for this grant."; }], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition; }, import("zod/v4/core").$strip>, import("zod").ZodObject<{ tables: import("zod").ZodArray; }, import("zod/v4/core").$strip>>; approxSizeBytes: import("zod").ZodOptional; provenance: import("zod").ZodOptional>; }, import("zod/v4/core").$strip>>; }, import("zod/v4/core").$strip>, readonly [{ readonly reason: "list_all_disabled_on_shared_http"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Forbidden; 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."; 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."; }], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition; preview: import("zod").ZodOptional; rowLimit: import("zod").ZodOptional; }, import("zod/v4/core").$strip>, import("zod").ZodObject<{ rowCount: import("zod").ZodNumber; columns: import("zod").ZodArray>; rows: import("zod").ZodArray>; dataframe: import("zod").ZodOptional; }, import("zod/v4/core").$strip>, readonly [{ readonly reason: "sql_rejected"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError; readonly when: "SQL violated read-only rules (multi-statement, non-SELECT, or disallowed operation)"; 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."; }], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition; germplasmDbIds: import("zod").ZodOptional>; variantSetDbId: import("zod").ZodString; format: import("zod").ZodEnum<{ plink: "plink"; "vcf-lite": "vcf-lite"; "matrix-json": "matrix-json"; }>; maxCalls: import("zod").ZodOptional; }, import("zod/v4/core").$strip>, import("zod").ZodObject<{ alias: import("zod").ZodString; format: import("zod").ZodEnum<{ plink: "plink"; "vcf-lite": "vcf-lite"; "matrix-json": "matrix-json"; }>; rowCount: import("zod").ZodNumber; columnCount: import("zod").ZodNumber; variantColumnLegend: import("zod").ZodRecord; callFormatting: import("zod").ZodObject<{ expandHomozygotes: import("zod").ZodOptional>; unknownString: import("zod").ZodOptional>; sepPhased: import("zod").ZodOptional>; sepUnphased: import("zod").ZodOptional>; }, import("zod/v4/core").$strip>; dataframe: import("zod").ZodObject<{ tableName: import("zod").ZodString; rowCount: import("zod").ZodNumber; columns: import("zod").ZodArray; columnLegend: import("zod").ZodOptional>; createdAt: import("zod").ZodString; expiresAt: import("zod").ZodString; truncated: import("zod").ZodOptional; maxRows: import("zod").ZodOptional; totalCount: import("zod").ZodOptional; }, import("zod/v4/core").$strip>; vcf: import("zod").ZodOptional; ped: import("zod").ZodOptional; map: import("zod").ZodOptional; truncated: import("zod").ZodBoolean; warnings: import("zod").ZodArray; }, import("zod/v4/core").$strip>, readonly [{ readonly reason: "unknown_alias"; readonly code: import("@cyanheads/mcp-ts-core/errors").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_export_genotype_matrix."; }, { readonly reason: "no_filters"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError; readonly when: "No variantSetDbId was provided"; readonly recovery: "Provide variantSetDbId before retrying — unfiltered genotype-call pulls are too expensive."; }, { readonly reason: "search_endpoint_disabled"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError; readonly when: "The active dialect declares POST /search/calls as known-dead on this server"; readonly recovery: "Connect to a different BrAPI server that exposes a working /search/calls route — genotype-call workflows are not viable here."; }], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition; variantSetDbId: import("zod").ZodOptional; variantSetDbIds: import("zod").ZodOptional>; germplasmDbIds: import("zod").ZodOptional>; callSetDbIds: import("zod").ZodOptional>; variantDbIds: import("zod").ZodOptional>; callFormat: import("zod").ZodOptional>; loadLimit: import("zod").ZodOptional; }, import("zod/v4/core").$strip>, import("zod").ZodObject<{ alias: import("zod").ZodString; results: import("zod").ZodArray>; callSetName: import("zod").ZodOptional>; variantDbId: import("zod").ZodOptional>; variantName: import("zod").ZodOptional>; variantSetDbId: import("zod").ZodOptional>; genotype: import("zod").ZodOptional>>; }, import("zod/v4/core").$loose>>>; genotypeValue: import("zod").ZodOptional>; phaseSet: import("zod").ZodOptional>; }, import("zod/v4/core").$loose>>; hasMore: import("zod").ZodBoolean; callFormatting: import("zod").ZodObject<{ expandHomozygotes: import("zod").ZodOptional>; unknownString: import("zod").ZodOptional>; sepPhased: import("zod").ZodOptional>; sepUnphased: import("zod").ZodOptional>; }, import("zod/v4/core").$strip>; distributions: import("zod").ZodObject<{ callSetName: import("zod").ZodRecord; variantName: import("zod").ZodRecord; variantSetDbId: import("zod").ZodRecord; }, import("zod/v4/core").$strip>; dataframe: import("zod").ZodOptional; columnLegend: import("zod").ZodOptional>; createdAt: import("zod").ZodString; expiresAt: import("zod").ZodString; truncated: import("zod").ZodOptional; maxRows: import("zod").ZodOptional; totalCount: import("zod").ZodOptional; }, import("zod/v4/core").$strip>>; truncated: import("zod").ZodBoolean; }, import("zod/v4/core").$strip>, readonly [{ readonly reason: "unknown_alias"; readonly code: import("@cyanheads/mcp-ts-core/errors").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_find_genotype_calls."; }, { readonly reason: "no_filters"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError; readonly when: "No variant set, germplasm, call set, or variant filter was provided"; readonly recovery: "Provide variantSetDbId or germplasmDbIds before retrying — unfiltered pulls are too expensive."; }, { readonly reason: "search_endpoint_disabled"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError; readonly when: "The active dialect declares POST /search/calls as known-dead on this server"; readonly recovery: "Connect to a different BrAPI server that exposes a working /search/calls route — genotype-call workflows are not viable here."; }], { readonly totalCount: import("zod").ZodNumber; readonly returnedCount: import("zod").ZodNumber; readonly appliedFilters: import("zod").ZodRecord; readonly notice: import("zod").ZodOptional; readonly warnings: import("zod").ZodArray; }> | import("@cyanheads/mcp-ts-core").ToolDefinition; names: import("zod").ZodOptional>; germplasmDbIds: import("zod").ZodOptional>; germplasmPUIs: import("zod").ZodOptional>; accessionNumbers: import("zod").ZodOptional>; crops: import("zod").ZodOptional>; synonyms: import("zod").ZodOptional>; collections: import("zod").ZodOptional>; genus: import("zod").ZodOptional; species: import("zod").ZodOptional; text: import("zod").ZodOptional; loadLimit: import("zod").ZodOptional; extraFilters: import("zod").ZodOptional>; }, import("zod/v4/core").$strip>, import("zod").ZodObject<{ alias: import("zod").ZodString; results: import("zod").ZodArray>; germplasmPUI: import("zod").ZodOptional>; commonCropName: import("zod").ZodOptional>; accessionNumber: import("zod").ZodOptional>; genus: import("zod").ZodOptional>; species: import("zod").ZodOptional>; subtaxa: import("zod").ZodOptional>; defaultDisplayName: import("zod").ZodOptional>; pedigree: import("zod").ZodOptional>; biologicalStatusOfAccessionDescription: import("zod").ZodOptional>; germplasmOrigin: import("zod").ZodOptional>>>; countryOfOriginCode: import("zod").ZodOptional>; collection: import("zod").ZodOptional>; instituteCode: import("zod").ZodOptional>; instituteName: import("zod").ZodOptional>; synonyms: import("zod").ZodOptional>; type: import("zod").ZodOptional>; }, import("zod/v4/core").$loose>>>>; }, import("zod/v4/core").$loose>>; hasMore: import("zod").ZodBoolean; distributions: import("zod").ZodObject<{ commonCropName: import("zod").ZodRecord; genus: import("zod").ZodRecord; species: import("zod").ZodRecord; collection: import("zod").ZodRecord; countryOfOriginCode: import("zod").ZodRecord; }, import("zod/v4/core").$strip>; dataframe: import("zod").ZodOptional; columnLegend: import("zod").ZodOptional>; createdAt: import("zod").ZodString; expiresAt: import("zod").ZodString; truncated: import("zod").ZodOptional; maxRows: import("zod").ZodOptional; totalCount: import("zod").ZodOptional; }, import("zod/v4/core").$strip>>; }, import("zod/v4/core").$strip>, readonly [{ readonly reason: "unknown_alias"; readonly code: import("@cyanheads/mcp-ts-core/errors").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_find_germplasm."; }, { readonly reason: "all_filters_dropped"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError; 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."; 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."; }], { readonly totalCount: import("zod").ZodNumber; readonly returnedCount: import("zod").ZodNumber; readonly appliedFilters: import("zod").ZodRecord; readonly refinementHint: import("zod").ZodOptional; readonly notice: import("zod").ZodOptional; readonly warnings: import("zod").ZodArray; }> | import("@cyanheads/mcp-ts-core").ToolDefinition; images: import("zod").ZodOptional>; observationUnits: import("zod").ZodOptional>; observations: import("zod").ZodOptional>; studies: import("zod").ZodOptional>; imageFileNames: import("zod").ZodOptional>; mimeTypes: import("zod").ZodOptional>; descriptiveOntologyTerms: import("zod").ZodOptional>; loadLimit: import("zod").ZodOptional; extraFilters: import("zod").ZodOptional>; }, import("zod/v4/core").$strip>, import("zod").ZodObject<{ alias: import("zod").ZodString; results: import("zod").ZodArray>; imageFileName: import("zod").ZodOptional>; imageFileSize: import("zod").ZodOptional>>; imageHeight: import("zod").ZodOptional>>; imageWidth: import("zod").ZodOptional>>; mimeType: import("zod").ZodOptional>; imageTimeStamp: import("zod").ZodOptional>; imageURL: import("zod").ZodOptional>; observationUnitDbId: import("zod").ZodOptional>; observationUnitName: import("zod").ZodOptional>; observationDbIds: import("zod").ZodOptional>>; studyDbId: import("zod").ZodOptional>; studyName: import("zod").ZodOptional>; descriptiveOntologyTerms: import("zod").ZodOptional>>; copyright: import("zod").ZodOptional>; description: import("zod").ZodOptional>; }, import("zod/v4/core").$loose>>; hasMore: import("zod").ZodBoolean; distributions: import("zod").ZodObject<{ mimeType: import("zod").ZodRecord; studyName: import("zod").ZodRecord; observationUnitName: import("zod").ZodRecord; descriptiveOntologyTerms: import("zod").ZodRecord; }, import("zod/v4/core").$strip>; dataframe: import("zod").ZodOptional; columnLegend: import("zod").ZodOptional>; createdAt: import("zod").ZodString; expiresAt: import("zod").ZodString; truncated: import("zod").ZodOptional; maxRows: import("zod").ZodOptional; totalCount: import("zod").ZodOptional; }, import("zod/v4/core").$strip>>; }, import("zod/v4/core").$strip>, readonly [{ readonly reason: "unknown_alias"; readonly code: import("@cyanheads/mcp-ts-core/errors").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_find_images."; }, { readonly reason: "all_filters_dropped"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError; 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."; 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."; }], { readonly totalCount: import("zod").ZodNumber; readonly returnedCount: import("zod").ZodNumber; readonly appliedFilters: import("zod").ZodRecord; readonly refinementHint: import("zod").ZodOptional; readonly notice: import("zod").ZodOptional; readonly warnings: import("zod").ZodArray; }> | import("@cyanheads/mcp-ts-core").ToolDefinition; locations: import("zod").ZodOptional>; locationNames: import("zod").ZodOptional>; countryCodes: import("zod").ZodOptional>; locationTypes: import("zod").ZodOptional>; abbreviations: import("zod").ZodOptional>; bbox: import("zod").ZodOptional; maxLat: import("zod").ZodOptional; minLon: import("zod").ZodOptional; maxLon: import("zod").ZodOptional; }, import("zod/v4/core").$strip>>; loadLimit: import("zod").ZodOptional; extraFilters: import("zod").ZodOptional>; }, import("zod/v4/core").$strip>, import("zod").ZodObject<{ alias: import("zod").ZodString; results: import("zod").ZodArray>; abbreviation: import("zod").ZodOptional>; countryCode: import("zod").ZodOptional>; countryName: import("zod").ZodOptional>; locationType: import("zod").ZodOptional>; latitude: import("zod").ZodOptional>; longitude: import("zod").ZodOptional>; altitude: import("zod").ZodOptional>; coordinates: import("zod").ZodOptional>>; instituteName: import("zod").ZodOptional>; instituteAddress: import("zod").ZodOptional>; documentationURL: import("zod").ZodOptional>; }, import("zod/v4/core").$loose>>; hasMore: import("zod").ZodBoolean; distributions: import("zod").ZodObject<{ countryCode: import("zod").ZodRecord; locationType: import("zod").ZodRecord; }, import("zod/v4/core").$strip>; dataframe: import("zod").ZodOptional; columnLegend: import("zod").ZodOptional>; createdAt: import("zod").ZodString; expiresAt: import("zod").ZodString; truncated: import("zod").ZodOptional; maxRows: import("zod").ZodOptional; totalCount: import("zod").ZodOptional; }, import("zod/v4/core").$strip>>; coordinateAxisOrder: import("zod").ZodEnum<{ spec: "spec"; swapped: "swapped"; }>; }, import("zod/v4/core").$strip>, readonly [{ readonly reason: "unknown_alias"; readonly code: import("@cyanheads/mcp-ts-core/errors").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_find_locations."; }, { readonly reason: "all_filters_dropped"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError; 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."; 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."; }], { readonly totalCount: import("zod").ZodNumber; readonly returnedCount: import("zod").ZodNumber; readonly appliedFilters: import("zod").ZodRecord; readonly refinementHint: import("zod").ZodOptional; readonly notice: import("zod").ZodOptional; readonly warnings: import("zod").ZodArray; }> | import("@cyanheads/mcp-ts-core").ToolDefinition; studies: import("zod").ZodOptional>; germplasm: import("zod").ZodOptional>; variables: import("zod").ZodOptional>; observationUnits: import("zod").ZodOptional>; observations: import("zod").ZodOptional>; seasons: import("zod").ZodOptional>; programs: import("zod").ZodOptional>; trials: import("zod").ZodOptional>; observationLevels: import("zod").ZodOptional>; timestampFrom: import("zod").ZodOptional; timestampTo: import("zod").ZodOptional; loadLimit: import("zod").ZodOptional; extraFilters: import("zod").ZodOptional>; }, import("zod/v4/core").$strip>, import("zod").ZodObject<{ alias: import("zod").ZodString; results: import("zod").ZodArray>; observationUnitDbId: import("zod").ZodOptional>; observationUnitName: import("zod").ZodOptional>; observationVariableDbId: import("zod").ZodOptional>; observationVariableName: import("zod").ZodOptional>; studyDbId: import("zod").ZodOptional>; studyName: import("zod").ZodOptional>; germplasmDbId: import("zod").ZodOptional>; germplasmName: import("zod").ZodOptional>; observationLevel: import("zod").ZodOptional>; season: import("zod").ZodOptional, import("zod").ZodNull]>>; value: import("zod").ZodOptional>; observationTimeStamp: import("zod").ZodOptional>; collector: import("zod").ZodOptional>; uploadedBy: import("zod").ZodOptional>; }, import("zod/v4/core").$loose>>; hasMore: import("zod").ZodBoolean; distributions: import("zod").ZodObject<{ observationVariableName: import("zod").ZodRecord; studyName: import("zod").ZodRecord; germplasmName: import("zod").ZodRecord; observationLevel: import("zod").ZodRecord; season: import("zod").ZodRecord; }, import("zod/v4/core").$strip>; dataframe: import("zod").ZodOptional; columnLegend: import("zod").ZodOptional>; createdAt: import("zod").ZodString; expiresAt: import("zod").ZodString; truncated: import("zod").ZodOptional; maxRows: import("zod").ZodOptional; totalCount: import("zod").ZodOptional; }, import("zod/v4/core").$strip>>; }, import("zod/v4/core").$strip>, readonly [{ readonly reason: "unknown_alias"; readonly code: import("@cyanheads/mcp-ts-core/errors").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_find_observations."; }, { readonly reason: "all_filters_dropped"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError; 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."; 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."; }], { readonly totalCount: import("zod").ZodNumber; readonly returnedCount: import("zod").ZodNumber; readonly appliedFilters: import("zod").ZodRecord; readonly refinementHint: import("zod").ZodOptional; readonly notice: import("zod").ZodOptional; readonly warnings: import("zod").ZodArray; }> | import("@cyanheads/mcp-ts-core").ToolDefinition; crop: import("zod").ZodOptional; trialTypes: import("zod").ZodOptional>; seasons: import("zod").ZodOptional>; locations: import("zod").ZodOptional>; programs: import("zod").ZodOptional>; trials: import("zod").ZodOptional>; studyNames: import("zod").ZodOptional>; active: import("zod").ZodOptional; loadLimit: import("zod").ZodOptional; extraFilters: import("zod").ZodOptional>; }, import("zod/v4/core").$strip>, import("zod").ZodObject<{ alias: import("zod").ZodString; results: import("zod").ZodArray>; studyType: import("zod").ZodOptional>; studyDescription: import("zod").ZodOptional>; programDbId: import("zod").ZodOptional>; programName: import("zod").ZodOptional>; trialDbId: import("zod").ZodOptional>; trialName: import("zod").ZodOptional>; locationDbId: import("zod").ZodOptional>; locationName: import("zod").ZodOptional>; commonCropName: import("zod").ZodOptional>; seasons: import("zod").ZodOptional>>>; active: import("zod").ZodOptional>; startDate: import("zod").ZodOptional>; endDate: import("zod").ZodOptional>; studyCode: import("zod").ZodOptional>; studyPUI: import("zod").ZodOptional>; }, import("zod/v4/core").$loose>>; hasMore: import("zod").ZodBoolean; distributions: import("zod").ZodObject<{ programName: import("zod").ZodRecord; studyType: import("zod").ZodRecord; seasons: import("zod").ZodRecord; locationName: import("zod").ZodRecord; commonCropName: import("zod").ZodRecord; }, import("zod/v4/core").$strip>; dataframe: import("zod").ZodOptional; columnLegend: import("zod").ZodOptional>; createdAt: import("zod").ZodString; expiresAt: import("zod").ZodString; truncated: import("zod").ZodOptional; maxRows: import("zod").ZodOptional; totalCount: import("zod").ZodOptional; }, import("zod/v4/core").$strip>>; }, import("zod/v4/core").$strip>, readonly [{ readonly reason: "unknown_alias"; readonly code: import("@cyanheads/mcp-ts-core/errors").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_find_studies."; }, { readonly reason: "all_filters_dropped"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError; 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."; 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."; }], { readonly totalCount: import("zod").ZodNumber; readonly returnedCount: import("zod").ZodNumber; readonly appliedFilters: import("zod").ZodRecord; readonly refinementHint: import("zod").ZodOptional; readonly notice: import("zod").ZodOptional; readonly warnings: import("zod").ZodArray; }> | import("@cyanheads/mcp-ts-core").ToolDefinition; variables: import("zod").ZodOptional>; variableNames: import("zod").ZodOptional>; variablePUIs: import("zod").ZodOptional>; traitClasses: import("zod").ZodOptional>; ontologies: import("zod").ZodOptional>; studies: import("zod").ZodOptional>; methods: import("zod").ZodOptional>; scales: import("zod").ZodOptional>; crop: import("zod").ZodOptional; text: import("zod").ZodOptional; loadLimit: import("zod").ZodOptional; extraFilters: import("zod").ZodOptional>; }, import("zod/v4/core").$strip>, import("zod").ZodObject<{ alias: import("zod").ZodString; results: import("zod").ZodArray>; observationVariablePUI: import("zod").ZodOptional>; ontologyDbId: import("zod").ZodOptional>; ontologyName: import("zod").ZodOptional>; commonCropName: import("zod").ZodOptional>; trait: import("zod").ZodOptional>; traitName: import("zod").ZodOptional>; traitClass: import("zod").ZodOptional>; description: import("zod").ZodOptional>; synonyms: import("zod").ZodOptional>>; }, import("zod/v4/core").$loose>>>; scale: import("zod").ZodOptional>; scaleName: import("zod").ZodOptional>; dataType: import("zod").ZodOptional>; }, import("zod/v4/core").$loose>>>; method: import("zod").ZodOptional>; methodName: import("zod").ZodOptional>; }, import("zod/v4/core").$loose>>>; }, import("zod/v4/core").$loose>>; hasMore: import("zod").ZodBoolean; distributions: import("zod").ZodObject<{ ontologyDbId: import("zod").ZodRecord; traitClass: import("zod").ZodRecord; scaleName: import("zod").ZodRecord; }, import("zod/v4/core").$strip>; ontologyCandidates: import("zod").ZodArray; termId: import("zod").ZodOptional; name: import("zod").ZodOptional; description: import("zod").ZodOptional; synonyms: import("zod").ZodOptional>; ontologyDbId: import("zod").ZodOptional; source: import("zod").ZodEnum<{ puiMatch: "puiMatch"; nameMatch: "nameMatch"; synonymMatch: "synonymMatch"; traitClassMatch: "traitClassMatch"; }>; }, import("zod/v4/core").$strip>>; dataframe: import("zod").ZodOptional; columnLegend: import("zod").ZodOptional>; createdAt: import("zod").ZodString; expiresAt: import("zod").ZodString; truncated: import("zod").ZodOptional; maxRows: import("zod").ZodOptional; totalCount: import("zod").ZodOptional; }, import("zod/v4/core").$strip>>; }, import("zod/v4/core").$strip>, readonly [{ readonly reason: "unknown_alias"; readonly code: import("@cyanheads/mcp-ts-core/errors").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_find_variables."; }, { readonly reason: "all_filters_dropped"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError; 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."; 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."; }], { readonly totalCount: import("zod").ZodNumber; readonly returnedCount: import("zod").ZodNumber; readonly appliedFilters: import("zod").ZodRecord; readonly refinementHint: import("zod").ZodOptional; readonly notice: import("zod").ZodOptional; readonly warnings: import("zod").ZodArray; }> | import("@cyanheads/mcp-ts-core").ToolDefinition; variantSets: import("zod").ZodOptional>; variants: import("zod").ZodOptional>; references: import("zod").ZodOptional>; referenceName: import("zod").ZodOptional; start: import("zod").ZodOptional; end: import("zod").ZodOptional; loadLimit: import("zod").ZodOptional; extraFilters: import("zod").ZodOptional>; }, import("zod/v4/core").$strip>, import("zod").ZodObject<{ alias: import("zod").ZodString; results: import("zod").ZodArray>>; variantSetDbId: import("zod").ZodOptional, import("zod").ZodNull]>>; variantSetDbIds: import("zod").ZodOptional>>; variantType: import("zod").ZodOptional>; referenceBases: import("zod").ZodOptional>; alternateBases: import("zod").ZodOptional>>; referenceName: import("zod").ZodOptional>; start: import("zod").ZodOptional>; end: import("zod").ZodOptional>; filtersPassed: import("zod").ZodOptional>; filtersApplied: import("zod").ZodOptional>; filtersFailed: import("zod").ZodOptional>>; }, import("zod/v4/core").$loose>>; hasMore: import("zod").ZodBoolean; distributions: import("zod").ZodObject<{ variantType: import("zod").ZodRecord; referenceName: import("zod").ZodRecord; variantSetDbId: import("zod").ZodRecord; }, import("zod/v4/core").$strip>; dataframe: import("zod").ZodOptional; columnLegend: import("zod").ZodOptional>; createdAt: import("zod").ZodString; expiresAt: import("zod").ZodString; truncated: import("zod").ZodOptional; maxRows: import("zod").ZodOptional; totalCount: import("zod").ZodOptional; }, import("zod/v4/core").$strip>>; }, import("zod/v4/core").$strip>, readonly [{ readonly reason: "unknown_alias"; readonly code: import("@cyanheads/mcp-ts-core/errors").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_find_variants."; }, { readonly reason: "all_filters_dropped"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError; 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."; 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."; }], { readonly totalCount: import("zod").ZodNumber; readonly returnedCount: import("zod").ZodNumber; readonly appliedFilters: import("zod").ZodRecord; readonly refinementHint: import("zod").ZodOptional; readonly notice: import("zod").ZodOptional; readonly warnings: import("zod").ZodArray; }> | import("@cyanheads/mcp-ts-core").ToolDefinition; germplasmDbId: import("zod").ZodString; variables: import("zod").ZodOptional>; }, import("zod/v4/core").$strip>, import("zod").ZodObject<{ alias: import("zod").ZodString; germplasmDbId: import("zod").ZodString; germplasmName: import("zod").ZodOptional; studyCount: import("zod").ZodNumber; studyDbIds: import("zod").ZodArray; perVariable: import("zod").ZodArray; n: import("zod").ZodNumber; mean: import("zod").ZodOptional; median: import("zod").ZodOptional; sd: import("zod").ZodOptional; min: import("zod").ZodOptional; max: import("zod").ZodOptional; studyCount: import("zod").ZodNumber; studyDbIds: import("zod").ZodArray; seasons: import("zod").ZodArray; }, import("zod/v4/core").$strip>>; warnings: import("zod").ZodArray; }, import("zod/v4/core").$strip>, readonly [{ readonly reason: "unknown_alias"; readonly code: import("@cyanheads/mcp-ts-core/errors").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: import("@cyanheads/mcp-ts-core/errors").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> | import("@cyanheads/mcp-ts-core").ToolDefinition; alias: import("zod").ZodOptional; }, import("zod/v4/core").$strip>, import("zod").ZodObject<{ alias: import("zod").ZodString; images: import("zod").ZodArray; data: import("zod").ZodString; metadata: import("zod").ZodObject<{ imageDbId: import("zod").ZodString; imageName: import("zod").ZodOptional; imageFileName: import("zod").ZodOptional; imageHeight: import("zod").ZodOptional>; imageWidth: import("zod").ZodOptional>; mimeType: import("zod").ZodOptional; imageURL: import("zod").ZodOptional; observationUnitDbId: import("zod").ZodOptional; observationUnitName: import("zod").ZodOptional; studyDbId: import("zod").ZodOptional; studyName: import("zod").ZodOptional; imageTimeStamp: import("zod").ZodOptional; copyright: import("zod").ZodOptional; description: import("zod").ZodOptional; }, import("zod/v4/core").$loose>; }, import("zod/v4/core").$strip>>; errors: import("zod").ZodArray>; warnings: import("zod").ZodArray>; }, import("zod/v4/core").$strip>, readonly [{ readonly reason: "unknown_alias"; readonly code: import("@cyanheads/mcp-ts-core/errors").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_get_image."; }, { readonly reason: "images_unsupported"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound; readonly when: "BrAPI server does not advertise /images in /serverinfo"; 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."; }], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition; path: import("zod").ZodString; params: import("zod").ZodOptional>]>>>; loadLimit: import("zod").ZodOptional; }, import("zod/v4/core").$strip>, import("zod").ZodObject<{ alias: import("zod").ZodString; url: import("zod").ZodString; path: import("zod").ZodString; metadata: import("zod").ZodObject<{ pagination: import("zod").ZodOptional>; }, import("zod/v4/core").$loose>; result: import("zod").ZodUnknown; suggestion: import("zod").ZodOptional; dataframe: import("zod").ZodOptional; columnLegend: import("zod").ZodOptional>; createdAt: import("zod").ZodString; expiresAt: import("zod").ZodString; truncated: import("zod").ZodOptional; maxRows: import("zod").ZodOptional; totalCount: import("zod").ZodOptional; }, import("zod/v4/core").$strip>>; }, import("zod/v4/core").$strip>, readonly [{ readonly reason: "unknown_alias"; readonly code: import("@cyanheads/mcp-ts-core/errors").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_raw_get."; }, { readonly reason: "cross_origin_path"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError; readonly when: "path argument was a full URL instead of a relative BrAPI route"; readonly recovery: "Pass a path like \"/samples\" or \"/methods\" — the connection alias supplies the baseUrl."; }], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition; noun: import("zod").ZodString; body: import("zod").ZodRecord; loadLimit: import("zod").ZodOptional; }, import("zod/v4/core").$strip>, import("zod").ZodObject<{ alias: import("zod").ZodString; noun: import("zod").ZodString; kind: import("zod").ZodEnum<{ sync: "sync"; async: "async"; }>; searchResultsDbId: import("zod").ZodOptional; metadata: import("zod").ZodObject<{ pagination: import("zod").ZodOptional>; }, import("zod/v4/core").$loose>; result: import("zod").ZodUnknown; suggestion: import("zod").ZodOptional; dataframe: import("zod").ZodOptional; columnLegend: import("zod").ZodOptional>; createdAt: import("zod").ZodString; expiresAt: import("zod").ZodString; truncated: import("zod").ZodOptional; maxRows: import("zod").ZodOptional; totalCount: import("zod").ZodOptional; }, import("zod/v4/core").$strip>>; }, import("zod/v4/core").$strip>, readonly [{ readonly reason: "unknown_alias"; readonly code: import("@cyanheads/mcp-ts-core/errors").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_raw_search."; }, { readonly reason: "search_endpoint_disabled"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError; readonly when: "The active dialect declares this POST /search/{noun} route as known-dead on this server"; readonly recovery: "Use the curated find_* tool for this noun — it routes through GET filters instead and avoids the dead search route."; }], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition; direction: import("zod").ZodDefault>; maxDepth: import("zod").ZodDefault; alias: import("zod").ZodOptional; }, import("zod/v4/core").$strip>, import("zod").ZodObject<{ alias: import("zod").ZodString; direction: import("zod").ZodEnum<{ both: "both"; ancestors: "ancestors"; descendants: "descendants"; }>; maxDepth: import("zod").ZodNumber; nodes: import("zod").ZodArray; depth: import("zod").ZodNumber; isRoot: import("zod").ZodBoolean; direction: import("zod").ZodEnum<{ root: "root"; ancestor: "ancestor"; descendant: "descendant"; both: "both"; }>; }, import("zod/v4/core").$strip>>; edges: import("zod").ZodArray; parentType: import("zod").ZodOptional; }, import("zod/v4/core").$strip>>; depthReached: import("zod").ZodNumber; rootCount: import("zod").ZodNumber; leafCount: import("zod").ZodNumber; cycleCount: import("zod").ZodNumber; deadEndCount: import("zod").ZodNumber; truncated: import("zod").ZodBoolean; warnings: import("zod").ZodArray; }, import("zod/v4/core").$strip>, readonly [{ readonly reason: "unknown_alias"; readonly code: import("@cyanheads/mcp-ts-core/errors").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_walk_pedigree."; }], undefined>)[]; /** * Drop tool — opt-in via `BRAPI_CANVAS_DROP_ENABLED`. Off by default; the * underlying canvas tables expire via TTL when left unmanaged, so explicit * drop is only needed when the operator wants to free workspace memory * immediately. */ export declare const dropToolDefinitions: import("@cyanheads/mcp-ts-core").ToolDefinition, import("zod").ZodObject<{ dataframe: import("zod").ZodString; dropped: import("zod").ZodBoolean; }, import("zod/v4/core").$strip>, undefined, undefined>[]; /** * Export tool — gated by `BRAPI_EXPORT_DIR` (the opt-in) AND * `MCP_TRANSPORT_TYPE=stdio` (path output is meaningful only when the server * runs on the user's machine). Both checks live in `src/index.ts`. */ export declare const exportToolDefinitions: import("@cyanheads/mcp-ts-core").ToolDefinition; filename: import("zod").ZodOptional; columns: import("zod").ZodOptional>; sql: import("zod").ZodOptional; }, import("zod/v4/core").$strip>, import("zod").ZodObject<{ dataframe: import("zod").ZodString; format: import("zod").ZodEnum<{ csv: "csv"; parquet: "parquet"; json: "json"; }>; path: import("zod").ZodString; filename: import("zod").ZodString; sizeBytes: import("zod").ZodNumber; rowCount: import("zod").ZodNumber; columns: import("zod").ZodArray>; expiresAt: import("zod").ZodString; }, import("zod/v4/core").$strip>, readonly [{ readonly reason: "export_dir_unset"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ConfigurationError; readonly when: "BRAPI_EXPORT_DIR is not configured (defensive — the registration gate normally hides the tool when this happens)"; readonly recovery: "Set BRAPI_EXPORT_DIR on the server before retrying."; }, { readonly reason: "dataframe_not_found"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound; readonly when: "No dataframe with this name exists on the canvas (expired, dropped, or typo)"; readonly recovery: "Call brapi_dataframe_describe to list available dataframes."; }, { readonly reason: "invalid_filename"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError; readonly when: "filename contains path separators or traversal segments"; readonly recovery: "Provide a filename without \"/\", \"\\\", or \"..\" — leave it unset to use the default."; }, { readonly reason: "mutually_exclusive_projection"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError; readonly when: "Both `columns` and `sql` were supplied"; readonly recovery: "Pass either `columns` for a thin projection or `sql` for filtering/aggregation, not both."; }], undefined>[]; /** Write tools — registered only when `BRAPI_ENABLE_WRITES=true`. */ export declare const writeToolDefinitions: import("@cyanheads/mcp-ts-core").ToolDefinition; studyDbId: import("zod").ZodString; observations: import("zod").ZodArray; observationUnitDbId: import("zod").ZodString; observationVariableDbId: import("zod").ZodString; value: import("zod").ZodString; collector: import("zod").ZodOptional; observationTimeStamp: import("zod").ZodOptional; season: import("zod").ZodOptional; year: import("zod").ZodOptional; season: import("zod").ZodOptional; }, import("zod/v4/core").$strip>>; geoCoordinates: import("zod").ZodOptional; geometry: import("zod").ZodObject<{ type: import("zod").ZodLiteral<"Point">; coordinates: import("zod").ZodArray; }, import("zod/v4/core").$strip>; }, import("zod/v4/core").$strip>>; }, import("zod/v4/core").$strip>>; mode: import("zod").ZodDefault>; force: import("zod").ZodDefault; }, import("zod/v4/core").$strip>, import("zod").ZodObject<{ alias: import("zod").ZodString; result: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{ mode: import("zod").ZodLiteral<"preview">; studyDbId: import("zod").ZodString; studyName: import("zod").ZodOptional; valid: import("zod").ZodNumber; invalid: import("zod").ZodNumber; routing: import("zod").ZodObject<{ postCount: import("zod").ZodNumber; putCount: import("zod").ZodNumber; }, import("zod/v4/core").$strip>; perRowWarnings: import("zod").ZodArray; observationUnitDbId: import("zod").ZodOptional; warning: import("zod").ZodString; }, import("zod/v4/core").$strip>>; knownVariableCount: import("zod").ZodNumber; }, import("zod/v4/core").$strip>, import("zod").ZodObject<{ mode: import("zod").ZodLiteral<"apply">; studyDbId: import("zod").ZodString; studyName: import("zod").ZodOptional; posted: import("zod").ZodArray; observationUnitDbId: import("zod").ZodOptional; observationVariableDbId: import("zod").ZodOptional; value: import("zod").ZodOptional; }, import("zod/v4/core").$strip>>; updated: import("zod").ZodArray; observationVariableDbId: import("zod").ZodOptional; value: import("zod").ZodOptional; }, import("zod/v4/core").$strip>>; studyObservationCount: import("zod").ZodOptional; latestObservationTimestamp: import("zod").ZodOptional; perRowWarnings: import("zod").ZodArray; observationUnitDbId: import("zod").ZodOptional; warning: import("zod").ZodString; }, import("zod/v4/core").$strip>>; warnings: import("zod").ZodOptional>; }, import("zod/v4/core").$strip>], "mode">; }, import("zod/v4/core").$strip>, readonly [{ readonly reason: "unknown_alias"; readonly code: import("@cyanheads/mcp-ts-core/errors").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_submit_observations."; }, { readonly reason: "observations_unsupported"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError; readonly when: "BrAPI server does not advertise /observations"; 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."; }, { readonly reason: "study_not_found"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound; readonly when: "Upstream returned no study record for the requested studyDbId"; readonly recovery: "Verify the studyDbId on the target server, or run brapi_find_studies to discover valid IDs before retrying."; }, { readonly reason: "post_unsupported"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError; readonly when: "Server does not advertise POST on /observations but new rows were submitted"; 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."; }, { readonly reason: "put_unsupported"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError; readonly when: "Server does not advertise PUT on /observations but update rows were submitted"; 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."; }, { readonly reason: "elicit_unavailable"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Forbidden; readonly when: "Apply mode invoked but client does not expose ctx.elicit and force was false"; readonly recovery: "Set force=true only with explicit user authorization, or use a client that supports elicitation."; }, { readonly reason: "user_declined"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Forbidden; readonly when: "User declined the elicitation prompt for the apply write"; readonly recovery: "Re-run the tool when the user is ready to confirm the write."; }], undefined>[]; //# sourceMappingURL=index.d.ts.map