@cyanheads/brapi-mcp-server 0.4.7 → 0.4.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 (36) hide show
  1. package/CLAUDE.md +1 -1
  2. package/README.md +1 -1
  3. package/changelog/0.4.x/0.4.8.md +30 -0
  4. package/changelog/0.4.x/0.4.9.md +25 -0
  5. package/dist/mcp-server/prompts/definitions/brapi-meta-analysis.prompt.d.ts.map +1 -1
  6. package/dist/mcp-server/prompts/definitions/brapi-meta-analysis.prompt.js +3 -2
  7. package/dist/mcp-server/prompts/definitions/brapi-meta-analysis.prompt.js.map +1 -1
  8. package/dist/mcp-server/tools/definitions/brapi-connect.tool.d.ts +1 -0
  9. package/dist/mcp-server/tools/definitions/brapi-connect.tool.d.ts.map +1 -1
  10. package/dist/mcp-server/tools/definitions/brapi-find-locations.tool.d.ts.map +1 -1
  11. package/dist/mcp-server/tools/definitions/brapi-find-locations.tool.js +2 -0
  12. package/dist/mcp-server/tools/definitions/brapi-find-locations.tool.js.map +1 -1
  13. package/dist/mcp-server/tools/definitions/brapi-find-observations.tool.d.ts.map +1 -1
  14. package/dist/mcp-server/tools/definitions/brapi-find-observations.tool.js +98 -27
  15. package/dist/mcp-server/tools/definitions/brapi-find-observations.tool.js.map +1 -1
  16. package/dist/mcp-server/tools/definitions/brapi-server-info.tool.d.ts +1 -0
  17. package/dist/mcp-server/tools/definitions/brapi-server-info.tool.d.ts.map +1 -1
  18. package/dist/mcp-server/tools/definitions/index.d.ts +2 -0
  19. package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
  20. package/dist/mcp-server/tools/shared/find-helpers.d.ts +20 -2
  21. package/dist/mcp-server/tools/shared/find-helpers.d.ts.map +1 -1
  22. package/dist/mcp-server/tools/shared/find-helpers.js +56 -15
  23. package/dist/mcp-server/tools/shared/find-helpers.js.map +1 -1
  24. package/dist/mcp-server/tools/shared/orientation-envelope.d.ts +2 -0
  25. package/dist/mcp-server/tools/shared/orientation-envelope.d.ts.map +1 -1
  26. package/dist/mcp-server/tools/shared/orientation-envelope.js +2 -2
  27. package/dist/mcp-server/tools/shared/orientation-envelope.js.map +1 -1
  28. package/dist/services/brapi-dialect/cassavabase-dialect.d.ts.map +1 -1
  29. package/dist/services/brapi-dialect/cassavabase-dialect.js +13 -5
  30. package/dist/services/brapi-dialect/cassavabase-dialect.js.map +1 -1
  31. package/dist/services/brapi-dialect/detect.d.ts +7 -1
  32. package/dist/services/brapi-dialect/detect.d.ts.map +1 -1
  33. package/dist/services/brapi-dialect/detect.js +35 -0
  34. package/dist/services/brapi-dialect/detect.js.map +1 -1
  35. package/package.json +1 -1
  36. 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.4.7
4
+ **Version:** 0.4.9
5
5
  **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core)
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.4.7-blue.svg?style=flat-square)](./CHANGELOG.md) [![Framework](https://img.shields.io/badge/Built%20on-@cyanheads/mcp--ts--core-259?style=flat-square)](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^1.29.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/)
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.4.9-blue.svg?style=flat-square)](./CHANGELOG.md) [![Framework](https://img.shields.io/badge/Built%20on-@cyanheads/mcp--ts--core-259?style=flat-square)](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^1.29.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/)
11
11
 
12
12
  [![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.11-blueviolet.svg?style=flat-square)](https://bun.sh/) [![Status](https://img.shields.io/badge/Status-Beta-yellow.svg?style=flat-square)](./CHANGELOG.md)
13
13
 
@@ -0,0 +1,30 @@
1
+ ---
2
+ summary: "Generalize the /observations preflight from germplasm-only to any unanchored query, and make the probe fail-soft via companion call options so a stalled count surfaces as a warning instead of a hard error."
3
+ breaking: false
4
+ ---
5
+
6
+ # 0.4.8 — 2026-05-01
7
+
8
+ The v0.4.6 / v0.4.7 fixes routed the right *singular* filters to CassavaBase. v0.4.8 closes the remaining hole on the matching tool: even with the right filter names on the wire, an unanchored `/observations` query still triggers a full join and stalls past the timeout. v0.4.7's preflight only covered the germplasm-only shape; field-testing surfaced the same blow-up on variable-only and bare-query shapes (verified with `curl --max-time 60` against `cassavabase.org/brapi/v2`: `?observationVariableDbId=…` and bare `/observations` both never respond). On top of that, the preflight itself ran on the global retry budget — when the count probe stalled, the agent waited the full 4 × 30 s before getting any signal back.
9
+
10
+ This release generalizes the preflight to **every unanchored shape** (no `studies` / `trials` / `observationUnits` / `observations` scope), routes the probe through `companionRequestOptions` (8 s timeout, 0 retries), and treats probe failure as a soft skip — the agent gets a single "narrow your query" warning instead of a 2-minute hang or a propagated error.
11
+
12
+ ## Added
13
+
14
+ - **`probeObservationCount(...)`** in `brapi-find-observations.tool.ts` — pulls a 1-row sample on `/observations` with companion-call shape (short timeout, zero retries) so a stalled upstream count operation surfaces as `null` instead of throwing. The handler converts that to a "preflight count probe stalled" warning and skips the bulk pull entirely.
15
+ - **Three new specs** on `brapi_find_observations`:
16
+ - variable-only queries trigger the preflight and bail above the threshold (locks in the symmetry with germplasm-only).
17
+ - bare `/observations` queries (no filters at all) trigger the preflight.
18
+ - probe-failure path emits a "stalled" warning, returns an empty result, and skips the bulk pull instead of throwing.
19
+
20
+ ## Changed
21
+
22
+ - **`brapi_find_observations` preflight trigger** generalized from `!hasScope && germplasm.length > 0` to `!hasAnchor` — i.e. *any* unanchored shape (germplasm-only, variable-only, season-only, programs-only, bare). The four anchors (`studies`, `trials`, `observationUnits`, `observations`) still skip the preflight as before; the common, well-anchored case pays no extra HTTP.
23
+ - **Preflight probe** no longer reuses `loadInitialFindPage` (which threads the global retry budget). It now calls `BrapiClient.get` directly with `companionRequestOptions(...)` so the wall-clock budget is bounded by `BRAPI_COMPANION_TIMEOUT_MS` (8 s default) and a stalled count operation can't pin the response.
24
+ - **Three pre-existing specs** that exercised data-handling paths via bare `{}` input now anchor with `studies: ['s-1']` so the test still reads as one logical fetch (it was previously coincidentally one HTTP call; with the broader preflight that test would now consume the same `Response` body twice and fail with `ERR_BODY_ALREADY_USED`). The behavior under test is unchanged.
25
+
26
+ ## Fixed
27
+
28
+ - **CassavaBase variable-only `/observations` queries** no longer hang. Before: `?observationVariableDbId=X` (alone) issued, upstream stalled past 60 s, retry budget escalated to ≥ 120 s, agent eventually got a hard timeout. After: preflight fails fast under 8 s, agent gets a "narrow your query — add a `studies` / `trials` / `observationUnits` anchor" warning and an empty result.
29
+ - **CassavaBase bare `/observations` queries** (no filters) no longer hang. Same shape as above — verified `curl` against the live server times out at 30 s+ on the bare endpoint.
30
+ - **`brapi_find_observations` total wall time** on stalled unanchored shapes drops from ≥ 60 s (or longer if retries kicked in) to ≤ 8 s + a single warning.
@@ -0,0 +1,25 @@
1
+ ---
2
+ summary: "Sweetpotatobase follow-up: keep Breedbase location filters plural, add URL-pattern dialect detection, and fail soft when observation spillover pages stall."
3
+ breaking: false
4
+ ---
5
+
6
+ # 0.4.9 — 2026-05-02
7
+
8
+ Live Sweetpotatobase testing showed the SGN family is not uniform: unlike CassavaBase, Sweetpotatobase honors plural `/locations` filters such as `countryCodes`, `locationDbIds`, and `abbreviations`, while the singular forms are silently ignored. This release splits that Breedbase behavior from CassavaBase, tightens filter-leak warnings, and makes slow observation spillover return useful first-page data instead of surfacing a generic execution failure.
9
+
10
+ ## Added
11
+
12
+ - **URL-pattern dialect detection** — `detectDialectFromBaseUrl(...)` recognizes `cassavabase.org`, `sweetpotatobase.org`, Yambase, Musabase, BananaBase, and `test-server.brapi.org`. The orientation envelope now reports `source: "url-pattern"` when the base URL, rather than `/serverinfo` names, selected the dialect. This directly supports sparse identities like Sweetpotatobase's `serverName: "SPB"`.
13
+ - **Strict equality filter match checks** — `checkFilterMatchRates(...)` can now warn when requested values appear in the returned distribution but unrelated values appear too. That catches the Sweetpotatobase failure mode where `countryCodes=["PER"]` returned all 136 locations, including 21 Peruvian rows, so the old "any requested value appears" heuristic looked satisfied.
14
+
15
+ ## Changed
16
+
17
+ - **Breedbase `/locations` filters stay plural** — the broader `breedbase` dialect no longer rewrites location filters to singular keys. Sweetpotatobase live probes verified plural `countryCodes`, `locationDbIds`, `locationNames`, and `abbreviations` filter correctly, while singular `countryCode`, `locationDbId`, `locationName`, and `abbreviation` leak the full baseline. CassavaBase keeps its existing singularizing location mapping.
18
+ - **Observation spillover is best-effort on page-fetch failures** — `brapi_find_observations` now pulls spillover pages with companion-call options (short timeout, zero retries). If a later page stalls, the tool returns the first page with `hasMore: true` plus a warning instead of failing the whole call. Storage or programming failures still throw; only upstream page-fetch failures degrade.
19
+ - **Meta-analysis prompt recovery guidance** — the cross-study prompt now tells agents not to retry stalled germplasm-only observation pulls. It directs them to use study-anchored observation calls when SGN/Breedbase preflight warns about an unanchored query.
20
+
21
+ ## Fixed
22
+
23
+ - **`brapi_find_locations(countryCodes=["PER"])` on Sweetpotatobase** now returns the 21 Peruvian locations instead of all 136 locations. The applied filter is `countryCodes`, not ignored `countryCode`. Closes [#20](https://github.com/cyanheads/brapi-mcp-server/issues/20).
24
+ - **`brapi_find_observations(studies=["1131"])` on Sweetpotatobase** no longer turns a slow spillover into a generic tool execution failure. With default-sized page pulls, callers get the first page, the true upstream `totalCount`, and a concrete spillover warning. Closes [#21](https://github.com/cyanheads/brapi-mcp-server/issues/21).
25
+ - **Germplasm-only observation recovery on SGN/Breedbase** is clearer: preflight warnings and the meta-analysis workflow now point to the practical study-anchored path instead of offering only dead-end narrowing advice. Related: [#9](https://github.com/cyanheads/brapi-mcp-server/issues/9).
@@ -1 +1 @@
1
- {"version":3,"file":"brapi-meta-analysis.prompt.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/brapi-meta-analysis.prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAU,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAEnD,eAAO,MAAM,iBAAiB;;;;kBA0G5B,CAAC"}
1
+ {"version":3,"file":"brapi-meta-analysis.prompt.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/brapi-meta-analysis.prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAU,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAEnD,eAAO,MAAM,iBAAiB;;;;kBA2G5B,CAAC"}
@@ -42,8 +42,9 @@ export const brapiMetaAnalysis = prompt('brapi_meta_analysis', {
42
42
  '',
43
43
  '## Step 2 — Discover studies that measured the trait on the target germplasm',
44
44
  `1. Call \`brapi_find_observations\` with \`germplasm: ${idsLiteral}\` and \`variables: [<resolved variable DbIds from Step 1>]\`${aliasArg}, \`loadLimit: 200\`.`,
45
- '2. From `distributions.studyName`, capture the distinct studies returning observations. If `hasMore` is true and a `dataset` handle is returned, page through with `brapi_manage_dataset` (mode: `load`) to materialize the full set.',
46
- '3. For each study, call `brapi_get_study` to capture program, location, season, and trial context these are the moderators in the meta-analysis.',
45
+ '2. If the response warns that an unanchored observation query stalled, do not retry the same germplasm-only shape. Use study anchors when available: re-call `brapi_find_observations` with both `studies: ["<studyDbId>"]` and the target `germplasm` / `variables` filters, one candidate study at a time.',
46
+ '3. From `distributions.studyName`, capture the distinct studies returning observations. If `hasMore` is true and a `dataset` handle is returned, page through with `brapi_manage_dataset` (mode: `load`) to materialize the full set.',
47
+ '4. For each study, call `brapi_get_study` to capture program, location, season, and trial context — these are the moderators in the meta-analysis.',
47
48
  '',
48
49
  '## Step 3 — Build the per-observation table',
49
50
  'For each observation row, capture:',
@@ -1 +1 @@
1
- {"version":3,"file":"brapi-meta-analysis.prompt.js","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/brapi-meta-analysis.prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAEnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,qBAAqB,EAAE;IAC7D,WAAW,EACT,sKAAsK;IACxK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,cAAc,EAAE,CAAC;aACd,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CACP,wLAAwL,CACzL;QACH,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CACP,4KAA4K,CAC7K;QACH,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,KAAK,CAAC,kBAAkB,CAAC;aACzB,QAAQ,EAAE;aACV,QAAQ,CACP,yKAAyK,CAC1K;KACJ,CAAC;IACF,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;QACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc;aAC5B,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;aACtB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAEvC,MAAM,IAAI,GAAG;YACX,wDAAwD,IAAI,CAAC,SAAS,mBAAmB,GAAG,CAAC,MAAM,eAAe,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,+HAA+H;YACxR,EAAE;YACF,oEAAoE;YACpE,kDAAkD,IAAI,CAAC,SAAS,IAAI,QAAQ,kDAAkD;YAC9H,mTAAmT;YACnT,+MAA+M;YAC/M,EAAE;YACF,8EAA8E;YAC9E,yDAAyD,UAAU,gEAAgE,QAAQ,uBAAuB;YAClK,uOAAuO;YACvO,oJAAoJ;YACpJ,EAAE;YACF,6CAA6C;YAC7C,oCAAoC;YACpC,EAAE;YACF,qBAAqB;YACrB,qBAAqB;YACrB,yDAAyD;YACzD,0DAA0D;YAC1D,gCAAgC;YAChC,gEAAgE;YAChE,8DAA8D;YAC9D,6EAA6E;YAC7E,yEAAyE;YACzE,qCAAqC;YACrC,uEAAuE;YACvE,8CAA8C;YAC9C,EAAE;YACF,uBAAuB;YACvB,4MAA4M;YAC5M,oMAAoM;YACpM,0NAA0N;YAC1N,EAAE;YACF,+CAA+C;YAC/C,8DAA8D;YAC9D,EAAE;YACF,yEAAyE;YACzE,qEAAqE;YACrE,EAAE;YACF,iHAAiH;YACjH,EAAE;YACF,uCAAuC;YACvC,+CAA+C;YAC/C,EAAE;YACF,0HAA0H;YAC1H,iGAAiG;YACjG,EAAE;YACF,8JAA8J;YAC9J,EAAE;YACF,iCAAiC;YACjC,iEAAiE,UAAU,gDAAgD,QAAQ,kMAAkM;YACrU,EAAE;YACF,WAAW;YACX,wDAAwD;YACxD,kEAAkE;YAClE,+FAA+F;YAC/F,8EAA8E;YAC9E,sGAAsG;YACtG,yDAAyD;YACzD,2FAA2F;YAC3F,+CAA+C;YAC/C,oJAAoJ;YACpJ,EAAE;YACF,0JAA0J;SAC3J,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,OAAO;YACL;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;aAChC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"brapi-meta-analysis.prompt.js","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/brapi-meta-analysis.prompt.ts"],"names":[],"mappings":"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"}
@@ -63,6 +63,7 @@ export declare const brapiConnect: import("@cyanheads/mcp-ts-core").ToolDefiniti
63
63
  id: z.ZodString;
64
64
  source: z.ZodEnum<{
65
65
  "env-override": "env-override";
66
+ "url-pattern": "url-pattern";
66
67
  "server-name": "server-name";
67
68
  "organization-name": "organization-name";
68
69
  fallback: "fallback";
@@ -1 +1 @@
1
- {"version":3,"file":"brapi-connect.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-connect.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAqBjE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0FvB,CAAC"}
1
+ {"version":3,"file":"brapi-connect.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-connect.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAqBjE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0FvB,CAAC"}
@@ -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;AAsIjE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6R7B,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;AAsIjE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+R7B,CAAC"}
@@ -240,12 +240,14 @@ export const brapiFindLocations = tool('brapi_find_locations', {
240
240
  requestedValues: input.countryCodes,
241
241
  distribution: distributions.countryCode,
242
242
  caseInsensitive: true,
243
+ requireEveryRowMatch: true,
243
244
  },
244
245
  {
245
246
  paramName: 'locationTypes',
246
247
  requestedValues: input.locationTypes,
247
248
  distribution: distributions.locationType,
248
249
  caseInsensitive: true,
250
+ requireEveryRowMatch: true,
249
251
  },
250
252
  ]);
251
253
  const totalCount = bbox ? filteredFull.length : (firstPage.totalCount ?? firstPage.rows.length);
@@ -1 +1 @@
1
- {"version":3,"file":"brapi-find-locations.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-find-locations.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"brapi-find-locations.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-find-locations.tool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"brapi-find-observations.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-find-observations.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAwKjE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8QhC,CAAC"}
1
+ {"version":3,"file":"brapi-find-observations.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-find-observations.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAsB,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAwLjE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqThC,CAAC"}
@@ -10,12 +10,12 @@
10
10
  import { tool, z } from '@cyanheads/mcp-ts-core';
11
11
  import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
12
12
  import { getServerConfig } from '../../../config/server-config.js';
13
- import { getBrapiClient } from '../../../services/brapi-client/index.js';
13
+ import { getBrapiClient, isDialectAllDropped, } from '../../../services/brapi-client/index.js';
14
14
  import { resolveDialect } from '../../../services/brapi-dialect/index.js';
15
15
  import { getCapabilityRegistry } from '../../../services/capability-registry/index.js';
16
16
  import { getDatasetStore } from '../../../services/dataset-store/index.js';
17
- import { DEFAULT_ALIAS, getServerRegistry } from '../../../services/server-registry/index.js';
18
- import { AliasInput, applyDialectFiltersOrFail, asString, buildRefinementHint, checkFilterMatchRates, collectPassthroughParts, computeDistribution, DatasetHandleSchema, ExtraFiltersInput, fkMatchCheck, LoadLimitInput, loadInitialFindPage, maybeSpill, mergeFilters, renderAppliedFilters, renderDatasetHandle, renderDistributions, renderFindHeader, resolveFindRoute, } from '../shared/find-helpers.js';
17
+ import { DEFAULT_ALIAS, getServerRegistry, } from '../../../services/server-registry/index.js';
18
+ import { AliasInput, applyDialectFiltersOrFail, asString, buildRefinementHint, checkFilterMatchRates, collectPassthroughParts, companionRequestOptions, computeDistribution, DatasetHandleSchema, ExtraFiltersInput, extractRows, fkMatchCheck, LoadLimitInput, loadInitialFindPage, maybeSpill, mergeFilters, renderAppliedFilters, renderDatasetHandle, renderDistributions, renderFindHeader, resolveFindRoute, } from '../shared/find-helpers.js';
19
19
  const ObservationRowSchema = z
20
20
  .object({
21
21
  observationDbId: z.string().nullish().describe('Server-side identifier for the observation.'),
@@ -116,10 +116,11 @@ const OutputSchema = z.object({
116
116
  /**
117
117
  * Upstream observation totals above this threshold trigger the preflight
118
118
  * bail-out: the bulk pull is skipped and the user is told to narrow the
119
- * query. Empirically, CassavaBase germplasm-only queries above ~5k rows
120
- * stall past the default request timeout.
119
+ * query. Empirically, CassavaBase unanchored observation queries above
120
+ * ~5k rows stall past the default request timeout.
121
121
  */
122
122
  const PREFLIGHT_BULK_THRESHOLD = 5_000;
123
+ const OBSERVATION_PREFLIGHT_RECOVERY = "Narrow with `studies: ['…']`, `trials: ['…']`, or scope to specific `observationUnits` / `observations`. On SGN/Breedbase servers, a practical path is: first find studies containing the germplasm, then call this tool again with both `studies: ['<studyDbId>']` and `germplasm: ['<germplasmDbId>']`.";
123
124
  const SERVER_TO_USER = {
124
125
  // Plurals — BrAPI v2.1 spec, used by the `spec` dialect.
125
126
  studyDbIds: 'studies',
@@ -214,30 +215,52 @@ export const brapiFindObservations = tool('brapi_find_observations', {
214
215
  const loadLimit = input.loadLimit ?? config.loadLimit;
215
216
  const loadObservations = (pageSize) => loadInitialFindPage(client, connection, route, pageSize, ctx);
216
217
  /**
217
- * Danger pattern: querying /observations by germplasm with no anchoring
218
- * scope (study, trial, observation, observation-unit). On large servers
219
- * (CassavaBase, T3) `germplasmDbIds=X` alone joins across every study the
220
- * germplasm appeared in — the upstream count query takes tens of seconds
221
- * and a `pageSize=loadLimit` pull stalls past the request timeout. Probe
222
- * with `pageSize=1` first; if the upstream advertises more rows than we'd
223
- * safely pull, skip the bulk fetch and surface a warning recommending a
224
- * study scope. Other unscoped patterns (variable-only, bare query) are
225
- * left alone — they don't carry the same join blow-up risk and adding a
226
- * preflight to every call would double HTTP for the common case.
218
+ * Danger pattern: querying `/observations` without one of the four
219
+ * anchors (study, trial, observation-unit, observation). On large
220
+ * servers (CassavaBase, T3) any unanchored variant
221
+ * `?germplasmDbId=X`, `?observationVariableDbId=X`, `?seasonDbId=X`,
222
+ * or a bare `/observations` joins across the full observations
223
+ * table and stalls past the request timeout. Probe with `pageSize=1`
224
+ * using companion-call options (short timeout, zero retries) so a
225
+ * stalled count operation surfaces as a single warning instead of
226
+ * pinning the response. Outcomes:
227
+ * 1. probe stalls/fails warn and skip the bulk pull entirely
228
+ * 2. probe returns a count above the threshold → warn, return the
229
+ * 1-row preflight as the only in-context observation
230
+ * 3. probe returns a count under the threshold → fall through to
231
+ * the normal bulk pull
232
+ *
233
+ * Empirically verified on cassavabase.org/brapi/v2:
234
+ * - `?germplasmDbId=X` alone: timeout (>60 s)
235
+ * - `?observationVariableDbId=X` alone: timeout (>60 s)
236
+ * - bare `/observations` : timeout (>30 s)
237
+ * - `?studyDbId=X` (anchored) : ~15 s OK
227
238
  */
228
- const hasScope = (input.studies?.length ?? 0) > 0 ||
239
+ const hasAnchor = (input.studies?.length ?? 0) > 0 ||
229
240
  (input.trials?.length ?? 0) > 0 ||
230
241
  (input.observationUnits?.length ?? 0) > 0 ||
231
242
  (input.observations?.length ?? 0) > 0;
232
- const shouldPreflight = !hasScope && (input.germplasm?.length ?? 0) > 0;
233
243
  let firstPage;
234
244
  let bulkPullSkipped = false;
235
- if (shouldPreflight) {
236
- const preflight = await loadObservations(1);
237
- const upstreamTotal = preflight.totalCount;
238
- if (typeof upstreamTotal === 'number' && upstreamTotal > PREFLIGHT_BULK_THRESHOLD) {
239
- warnings.push(`Preflight detected ${upstreamTotal} observations matching this query (germplasm/variable/season scope, no study or trial anchor). Bulk pull skipped to avoid an upstream timeout — narrow with \`studies: ['…']\` or \`trials: ['…']\`, or accept a partial view by re-calling with a tighter scope. Returning the 1-row preflight as the only in-context observation.`);
240
- firstPage = preflight;
245
+ if (!hasAnchor && route.kind === 'get') {
246
+ const probe = await probeObservationCount({
247
+ client,
248
+ connection,
249
+ route,
250
+ dialect,
251
+ config,
252
+ warnings,
253
+ ctx,
254
+ });
255
+ if (probe === null) {
256
+ warnings.push(`Observations preflight count probe stalled — the upstream count operation appears unbounded for this query shape, indicating a likely full-table scan. Bulk pull skipped to avoid a long hang. ${OBSERVATION_PREFLIGHT_RECOVERY}`);
257
+ firstPage = { rows: [], hasMore: false, pagesFetched: 0, totalCount: 0 };
258
+ bulkPullSkipped = true;
259
+ }
260
+ else if (typeof probe.totalCount === 'number' &&
261
+ probe.totalCount > PREFLIGHT_BULK_THRESHOLD) {
262
+ warnings.push(`Preflight detected ${probe.totalCount} observations matching this query (no study / trial / observationUnit / observation anchor). Bulk pull skipped to avoid an upstream timeout. ${OBSERVATION_PREFLIGHT_RECOVERY} Returning the 1-row preflight as the only in-context observation.`);
263
+ firstPage = probe;
241
264
  bulkPullSkipped = true;
242
265
  }
243
266
  }
@@ -255,6 +278,11 @@ export const brapiFindObservations = tool('brapi_find_observations', {
255
278
  loadLimit,
256
279
  ctx,
257
280
  store: datasetStore,
281
+ warnings,
282
+ spillRequestOptions: {
283
+ timeoutMs: config.companionTimeoutMs,
284
+ retryMaxAttempts: 0,
285
+ },
258
286
  });
259
287
  const distributions = {
260
288
  observationVariableName: computeDistribution(fullRows, (r) => asString(r.observationVariableName)),
@@ -270,11 +298,20 @@ export const brapiFindObservations = tool('brapi_find_observations', {
270
298
  requestedValues: input.observationLevels,
271
299
  distribution: distributions.observationLevel,
272
300
  caseInsensitive: true,
301
+ requireEveryRowMatch: true,
273
302
  },
274
- fkMatchCheck('studies', input.studies, fullRows, 'studyDbId'),
275
- fkMatchCheck('germplasm', input.germplasm, fullRows, 'germplasmDbId'),
276
- fkMatchCheck('variables', input.variables, fullRows, 'observationVariableDbId'),
277
- fkMatchCheck('observationUnits', input.observationUnits, fullRows, 'observationUnitDbId'),
303
+ fkMatchCheck('studies', input.studies, fullRows, 'studyDbId', {
304
+ requireEveryRowMatch: true,
305
+ }),
306
+ fkMatchCheck('germplasm', input.germplasm, fullRows, 'germplasmDbId', {
307
+ requireEveryRowMatch: true,
308
+ }),
309
+ fkMatchCheck('variables', input.variables, fullRows, 'observationVariableDbId', {
310
+ requireEveryRowMatch: true,
311
+ }),
312
+ fkMatchCheck('observationUnits', input.observationUnits, fullRows, 'observationUnitDbId', {
313
+ requireEveryRowMatch: true,
314
+ }),
278
315
  ]);
279
316
  const totalCount = firstPage.totalCount ?? firstPage.rows.length;
280
317
  const refinementHint = buildRefinementHint(totalCount, loadLimit, distributions, {
@@ -420,4 +457,38 @@ function normalizeSeason(value) {
420
457
  return year ? `${label} ${year}` : label;
421
458
  return year;
422
459
  }
460
+ /**
461
+ * Probe the upstream observation count without burning the global retry
462
+ * budget. Uses companion-call options (short timeout, zero retries) so a
463
+ * stalled count operation surfaces as a single warning instead of pinning
464
+ * the response. Returns:
465
+ * - `LoadedRows` on success (1-row sample + totalCount when reported)
466
+ * - `null` when the probe fails (timeout, 5xx) — caller treats as
467
+ * "scope too large" and bails with a warning.
468
+ *
469
+ * Re-throws `dialect_all_filters_dropped` so the typed error contract
470
+ * still surfaces; that's a programming/dialect mismatch, not a probe
471
+ * failure.
472
+ */
473
+ async function probeObservationCount(args) {
474
+ const { client, connection, route, dialect, config, warnings, ctx } = args;
475
+ try {
476
+ const envelope = await client.get(connection.baseUrl, route.path, ctx, companionRequestOptions(connection, dialect, config, warnings, {
477
+ ...route.filters,
478
+ pageSize: 1,
479
+ }));
480
+ const rows = extractRows(envelope.result);
481
+ const totalCount = envelope.metadata?.pagination?.totalCount;
482
+ const hasMore = typeof totalCount === 'number' && totalCount > rows.length && totalCount > 0;
483
+ const result = { rows, hasMore, pagesFetched: 1 };
484
+ if (totalCount !== undefined)
485
+ result.totalCount = totalCount;
486
+ return result;
487
+ }
488
+ catch (err) {
489
+ if (isDialectAllDropped(err))
490
+ throw err;
491
+ return null;
492
+ }
493
+ }
423
494
  //# sourceMappingURL=brapi-find-observations.tool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"brapi-find-observations.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-find-observations.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"brapi-find-observations.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-find-observations.tool.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,7 @@ export declare const brapiServerInfo: import("@cyanheads/mcp-ts-core").ToolDefin
42
42
  id: z.ZodString;
43
43
  source: z.ZodEnum<{
44
44
  "env-override": "env-override";
45
+ "url-pattern": "url-pattern";
45
46
  "server-name": "server-name";
46
47
  "organization-name": "organization-name";
47
48
  fallback: "fallback";
@@ -1 +1 @@
1
- {"version":3,"file":"brapi-server-info.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-server-info.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAUjD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAkC1B,CAAC"}
1
+ {"version":3,"file":"brapi-server-info.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-server-info.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAUjD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAkC1B,CAAC"}
@@ -116,6 +116,7 @@ export declare const readOnlyToolDefinitions: (import("@cyanheads/mcp-ts-core").
116
116
  id: import("zod").ZodString;
117
117
  source: import("zod").ZodEnum<{
118
118
  "env-override": "env-override";
119
+ "url-pattern": "url-pattern";
119
120
  "server-name": "server-name";
120
121
  "organization-name": "organization-name";
121
122
  fallback: "fallback";
@@ -251,6 +252,7 @@ export declare const readOnlyToolDefinitions: (import("@cyanheads/mcp-ts-core").
251
252
  id: import("zod").ZodString;
252
253
  source: import("zod").ZodEnum<{
253
254
  "env-override": "env-override";
255
+ "url-pattern": "url-pattern";
254
256
  "server-name": "server-name";
255
257
  "organization-name": "organization-name";
256
258
  fallback: "fallback";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAsBH,kEAAkE;AAClE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+CAmBnC,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAsBH,kEAAkE;AAClE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+CAmBnC,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAA4B,CAAC"}
@@ -69,7 +69,7 @@ export interface ResolveFindRouteInput {
69
69
  */
70
70
  export declare function resolveFindRoute(input: ResolveFindRouteInput): FindRoute;
71
71
  /** Build request options with optional auth. */
72
- export declare function buildRequestOptions(connection: RegisteredServer, params?: BrapiRequestOptions['params']): BrapiRequestOptions;
72
+ export declare function buildRequestOptions(connection: RegisteredServer, params?: BrapiRequestOptions['params'], overrides?: BrapiRequestOptions): BrapiRequestOptions;
73
73
  /**
74
74
  * Build request options for a companion enrichment call (FK lookup, count
75
75
  * probe, preflight). Companions are non-critical — they decorate the response
@@ -140,6 +140,8 @@ export interface SpillInput<T> {
140
140
  /** First-page rows already loaded. Avoids a re-fetch. */
141
141
  firstPage: T[];
142
142
  loadLimit: number;
143
+ /** Optional request overrides for spillover page pulls. */
144
+ pageRequestOptions?: BrapiRequestOptions;
143
145
  path: string;
144
146
  /** Optional route selected by resolveFindRoute; defaults to GET path + filters. */
145
147
  route?: FindRoute;
@@ -209,7 +211,15 @@ export interface MaybeSpillInput<T> {
209
211
  */
210
212
  rowFilter?: (row: T) => boolean;
211
213
  source: string;
214
+ /**
215
+ * Optional request overrides for spillover page pulls. Useful when a tool
216
+ * wants dataset persistence to be best-effort under a tighter latency
217
+ * budget than the first page.
218
+ */
219
+ spillRequestOptions?: BrapiRequestOptions;
212
220
  store: DatasetStore;
221
+ /** Optional warning sink. When supplied, spillover failures degrade to rows-only output. */
222
+ warnings?: string[];
213
223
  }
214
224
  export interface MaybeSpillResult<T> {
215
225
  dataset?: DatasetHandle;
@@ -285,6 +295,12 @@ export interface FilterMatchCheck {
285
295
  paramName: string;
286
296
  /** Requested values from the agent. Undefined or empty means skip this check. */
287
297
  requestedValues: readonly (string | number | boolean)[] | undefined;
298
+ /**
299
+ * Warn when any returned row carries a value outside the requested set.
300
+ * Equality filters should usually set this because one matching row is not
301
+ * enough evidence that the upstream honored the filter.
302
+ */
303
+ requireEveryRowMatch?: boolean;
288
304
  }
289
305
  /**
290
306
  * Verify that requested filter values appear in the returned distributions.
@@ -301,7 +317,9 @@ export declare function checkFilterMatchRates(warnings: string[], fullRowCount:
301
317
  * without polluting the public `result.distributions` shape with raw DbId
302
318
  * frequencies (which carry no semantic meaning to the agent).
303
319
  */
304
- export declare function fkMatchCheck(paramName: string, requestedValues: readonly (string | number | boolean)[] | undefined, rows: readonly Record<string, unknown>[], fieldName: string): FilterMatchCheck;
320
+ export declare function fkMatchCheck(paramName: string, requestedValues: readonly (string | number | boolean)[] | undefined, rows: readonly Record<string, unknown>[], fieldName: string, options?: {
321
+ requireEveryRowMatch?: boolean;
322
+ }): FilterMatchCheck;
305
323
  export interface RefinementHintOptions {
306
324
  /**
307
325
  * Filter parameter names available on the calling tool. Used to suggest