/** * @fileoverview Dialects for CassavaBase and broader CXGN / SGN-derived BrAPI * deployments — Breedbase, Sweetpotatobase, Yambase, Musabase, BananaBase, * T3, etc. These servers run the SGN BrAPI implementation, which predates the BrAPI v2.1 * filter-name normalization and only honors the older **singular** query * parameters on GET list endpoints. Sending `commonCropNames=Cassava` is * silently ignored upstream — the singular `commonCropName=Cassava` works. * Empirically verified against `https://cassavabase.org/brapi/v2` on * 2026-04-30. * * The dialects: * 1. Translates plural filter keys to their singular equivalents per * endpoint, downcasting array values to the first element with a loud * warning when more than one value was supplied (the GET surface can't * express multi-value filters; the spec-defined POST `/search/{noun}` * route is advertised but unresponsive in practice). * 2. Drops filters that the server doesn't honor at all (`searchText` — * we invented this earlier; not in the BrAPI v2.1 spec, no SGN-family * server honors it). * * Translation engine lives in `singularizing-dialect.ts`; this module supplies * SGN-specific data only. * * @module services/brapi-dialect/cassavabase-dialect */ import type { BrapiDialect } from './types.js'; export declare const cassavabaseDialect: BrapiDialect; export declare const breedbaseDialect: BrapiDialect; //# sourceMappingURL=cassavabase-dialect.d.ts.map