@cyanheads/brapi-mcp-server 0.4.14 → 0.5.1

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 (116) hide show
  1. package/CLAUDE.md +23 -19
  2. package/README.md +40 -26
  3. package/changelog/0.5.x/0.5.0.md +59 -0
  4. package/changelog/0.5.x/0.5.1.md +13 -0
  5. package/dist/config/builtin-aliases.d.ts +1 -1
  6. package/dist/config/builtin-aliases.js +1 -1
  7. package/dist/config/server-config.d.ts +3 -3
  8. package/dist/config/server-config.d.ts.map +1 -1
  9. package/dist/config/server-config.js +13 -13
  10. package/dist/config/server-config.js.map +1 -1
  11. package/dist/index.js +62 -15
  12. package/dist/index.js.map +1 -1
  13. package/dist/mcp-server/prompts/definitions/brapi-eda-study.prompt.js +1 -1
  14. package/dist/mcp-server/prompts/definitions/brapi-eda-study.prompt.js.map +1 -1
  15. package/dist/mcp-server/prompts/definitions/brapi-meta-analysis.prompt.js +3 -3
  16. package/dist/mcp-server/prompts/definitions/brapi-meta-analysis.prompt.js.map +1 -1
  17. package/dist/mcp-server/tools/definitions/brapi-dataframe-describe.tool.d.ts +8 -11
  18. package/dist/mcp-server/tools/definitions/brapi-dataframe-describe.tool.d.ts.map +1 -1
  19. package/dist/mcp-server/tools/definitions/brapi-dataframe-describe.tool.js +15 -25
  20. package/dist/mcp-server/tools/definitions/brapi-dataframe-describe.tool.js.map +1 -1
  21. package/dist/mcp-server/tools/definitions/brapi-dataframe-drop.tool.d.ts +6 -10
  22. package/dist/mcp-server/tools/definitions/brapi-dataframe-drop.tool.d.ts.map +1 -1
  23. package/dist/mcp-server/tools/definitions/brapi-dataframe-drop.tool.js +6 -16
  24. package/dist/mcp-server/tools/definitions/brapi-dataframe-drop.tool.js.map +1 -1
  25. package/dist/mcp-server/tools/definitions/brapi-dataframe-export.tool.d.ts +69 -0
  26. package/dist/mcp-server/tools/definitions/brapi-dataframe-export.tool.d.ts.map +1 -0
  27. package/dist/mcp-server/tools/definitions/brapi-dataframe-export.tool.js +233 -0
  28. package/dist/mcp-server/tools/definitions/brapi-dataframe-export.tool.js.map +1 -0
  29. package/dist/mcp-server/tools/definitions/brapi-dataframe-query.tool.d.ts +19 -11
  30. package/dist/mcp-server/tools/definitions/brapi-dataframe-query.tool.d.ts.map +1 -1
  31. package/dist/mcp-server/tools/definitions/brapi-dataframe-query.tool.js +80 -28
  32. package/dist/mcp-server/tools/definitions/brapi-dataframe-query.tool.js.map +1 -1
  33. package/dist/mcp-server/tools/definitions/brapi-find-genotype-calls.tool.d.ts +4 -6
  34. package/dist/mcp-server/tools/definitions/brapi-find-genotype-calls.tool.d.ts.map +1 -1
  35. package/dist/mcp-server/tools/definitions/brapi-find-genotype-calls.tool.js +28 -36
  36. package/dist/mcp-server/tools/definitions/brapi-find-genotype-calls.tool.js.map +1 -1
  37. package/dist/mcp-server/tools/definitions/brapi-find-germplasm.tool.d.ts +3 -5
  38. package/dist/mcp-server/tools/definitions/brapi-find-germplasm.tool.d.ts.map +1 -1
  39. package/dist/mcp-server/tools/definitions/brapi-find-germplasm.tool.js +20 -19
  40. package/dist/mcp-server/tools/definitions/brapi-find-germplasm.tool.js.map +1 -1
  41. package/dist/mcp-server/tools/definitions/brapi-find-images.tool.d.ts +4 -6
  42. package/dist/mcp-server/tools/definitions/brapi-find-images.tool.d.ts.map +1 -1
  43. package/dist/mcp-server/tools/definitions/brapi-find-images.tool.js +17 -16
  44. package/dist/mcp-server/tools/definitions/brapi-find-images.tool.js.map +1 -1
  45. package/dist/mcp-server/tools/definitions/brapi-find-locations.tool.d.ts +3 -5
  46. package/dist/mcp-server/tools/definitions/brapi-find-locations.tool.d.ts.map +1 -1
  47. package/dist/mcp-server/tools/definitions/brapi-find-locations.tool.js +16 -15
  48. package/dist/mcp-server/tools/definitions/brapi-find-locations.tool.js.map +1 -1
  49. package/dist/mcp-server/tools/definitions/brapi-find-observations.tool.d.ts +4 -6
  50. package/dist/mcp-server/tools/definitions/brapi-find-observations.tool.d.ts.map +1 -1
  51. package/dist/mcp-server/tools/definitions/brapi-find-observations.tool.js +18 -17
  52. package/dist/mcp-server/tools/definitions/brapi-find-observations.tool.js.map +1 -1
  53. package/dist/mcp-server/tools/definitions/brapi-find-studies.tool.d.ts +4 -6
  54. package/dist/mcp-server/tools/definitions/brapi-find-studies.tool.d.ts.map +1 -1
  55. package/dist/mcp-server/tools/definitions/brapi-find-studies.tool.js +23 -21
  56. package/dist/mcp-server/tools/definitions/brapi-find-studies.tool.js.map +1 -1
  57. package/dist/mcp-server/tools/definitions/brapi-find-variables.tool.d.ts +2 -4
  58. package/dist/mcp-server/tools/definitions/brapi-find-variables.tool.d.ts.map +1 -1
  59. package/dist/mcp-server/tools/definitions/brapi-find-variables.tool.js +18 -17
  60. package/dist/mcp-server/tools/definitions/brapi-find-variables.tool.js.map +1 -1
  61. package/dist/mcp-server/tools/definitions/brapi-find-variants.tool.d.ts +3 -5
  62. package/dist/mcp-server/tools/definitions/brapi-find-variants.tool.d.ts.map +1 -1
  63. package/dist/mcp-server/tools/definitions/brapi-find-variants.tool.js +18 -15
  64. package/dist/mcp-server/tools/definitions/brapi-find-variants.tool.js.map +1 -1
  65. package/dist/mcp-server/tools/definitions/brapi-raw-get.tool.d.ts +17 -2
  66. package/dist/mcp-server/tools/definitions/brapi-raw-get.tool.d.ts.map +1 -1
  67. package/dist/mcp-server/tools/definitions/brapi-raw-get.tool.js +51 -7
  68. package/dist/mcp-server/tools/definitions/brapi-raw-get.tool.js.map +1 -1
  69. package/dist/mcp-server/tools/definitions/brapi-raw-search.tool.d.ts +16 -2
  70. package/dist/mcp-server/tools/definitions/brapi-raw-search.tool.d.ts.map +1 -1
  71. package/dist/mcp-server/tools/definitions/brapi-raw-search.tool.js +51 -5
  72. package/dist/mcp-server/tools/definitions/brapi-raw-search.tool.js.map +1 -1
  73. package/dist/mcp-server/tools/definitions/index.d.ts +141 -165
  74. package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
  75. package/dist/mcp-server/tools/definitions/index.js +28 -17
  76. package/dist/mcp-server/tools/definitions/index.js.map +1 -1
  77. package/dist/mcp-server/tools/shared/find-helpers.d.ts +76 -45
  78. package/dist/mcp-server/tools/shared/find-helpers.d.ts.map +1 -1
  79. package/dist/mcp-server/tools/shared/find-helpers.js +159 -72
  80. package/dist/mcp-server/tools/shared/find-helpers.js.map +1 -1
  81. package/dist/mcp-server/tools/shared/raw-routing-hints.d.ts.map +1 -1
  82. package/dist/mcp-server/tools/shared/raw-routing-hints.js +6 -6
  83. package/dist/mcp-server/tools/shared/raw-routing-hints.js.map +1 -1
  84. package/dist/services/canvas-bridge/canvas-bridge.d.ts +69 -44
  85. package/dist/services/canvas-bridge/canvas-bridge.d.ts.map +1 -1
  86. package/dist/services/canvas-bridge/canvas-bridge.js +143 -112
  87. package/dist/services/canvas-bridge/canvas-bridge.js.map +1 -1
  88. package/dist/services/canvas-bridge/index.d.ts +1 -1
  89. package/dist/services/canvas-bridge/index.d.ts.map +1 -1
  90. package/dist/services/canvas-bridge/index.js +1 -1
  91. package/dist/services/canvas-bridge/index.js.map +1 -1
  92. package/dist/services/canvas-bridge/types.d.ts +11 -12
  93. package/dist/services/canvas-bridge/types.d.ts.map +1 -1
  94. package/dist/services/canvas-bridge/types.js +4 -4
  95. package/package.json +3 -11
  96. package/server.json +3 -3
  97. package/dist/mcp-server/resources/definitions/brapi-dataset.resource.d.ts +0 -13
  98. package/dist/mcp-server/resources/definitions/brapi-dataset.resource.d.ts.map +0 -1
  99. package/dist/mcp-server/resources/definitions/brapi-dataset.resource.js +0 -26
  100. package/dist/mcp-server/resources/definitions/brapi-dataset.resource.js.map +0 -1
  101. package/dist/mcp-server/tools/definitions/brapi-manage-dataset.tool.d.ts +0 -89
  102. package/dist/mcp-server/tools/definitions/brapi-manage-dataset.tool.d.ts.map +0 -1
  103. package/dist/mcp-server/tools/definitions/brapi-manage-dataset.tool.js +0 -306
  104. package/dist/mcp-server/tools/definitions/brapi-manage-dataset.tool.js.map +0 -1
  105. package/dist/services/dataset-store/dataset-store.d.ts +0 -44
  106. package/dist/services/dataset-store/dataset-store.d.ts.map +0 -1
  107. package/dist/services/dataset-store/dataset-store.js +0 -208
  108. package/dist/services/dataset-store/dataset-store.js.map +0 -1
  109. package/dist/services/dataset-store/index.d.ts +0 -8
  110. package/dist/services/dataset-store/index.d.ts.map +0 -1
  111. package/dist/services/dataset-store/index.js +0 -7
  112. package/dist/services/dataset-store/index.js.map +0 -1
  113. package/dist/services/dataset-store/types.d.ts +0 -72
  114. package/dist/services/dataset-store/types.d.ts.map +0 -1
  115. package/dist/services/dataset-store/types.js +0 -8
  116. package/dist/services/dataset-store/types.js.map +0 -1
@@ -2,8 +2,8 @@
2
2
  * @fileoverview Shared building blocks for `find_*` tools — Zod fragments for
3
3
  * common inputs (alias, loadLimit, extraFilters), utilities to merge named
4
4
  * filters with the passthrough map, a generic distribution aggregator, and
5
- * the dataset-spillover handler that turns a "too many rows" result into a
6
- * DatasetStore handle.
5
+ * the spillover handler that turns a "too many rows" result into a canvas
6
+ * dataframe handle.
7
7
  *
8
8
  * @module mcp-server/tools/shared/find-helpers
9
9
  */
@@ -13,9 +13,9 @@ import { JsonRpcErrorCode, McpError, validationError } from '@cyanheads/mcp-ts-c
13
13
  export function isUpstreamNotFound(err) {
14
14
  return err instanceof McpError && err.code === JsonRpcErrorCode.NotFound;
15
15
  }
16
- /** Upper cap on how many rows we'll pull for DatasetStore spillover per call. */
16
+ /** Upper cap on how many rows we'll pull for canvas dataframe spillover per call. */
17
17
  export const MAX_SPILLOVER_ROWS = 50_000;
18
- /** Hard cap on how many BrAPI pages we'll traverse when building a dataset. */
18
+ /** Hard cap on how many BrAPI pages we'll traverse when building a dataframe. */
19
19
  export const MAX_SPILLOVER_PAGES = 50;
20
20
  export const AliasInput = z
21
21
  .string()
@@ -27,7 +27,7 @@ export const LoadLimitInput = z
27
27
  .int()
28
28
  .positive()
29
29
  .optional()
30
- .describe('Override the in-context row cap. Rows beyond the cap return as a dataset handle for paged follow-up.');
30
+ .describe('Cap on rows returned inline. Omit for the deployment default — sized so spillover reaches its full row-count ceiling. Rows beyond the cap land in a dataframe; query with brapi_dataframe_query (SQL) instead of paging row-by-row. Heads-up: this same value drives the upstream pageSize during spillover walks, so lowering it to "preview a smaller sample" also shrinks the dataframe ceiling proportionally — prefer SQL `LIMIT` on the dataframe for sampling instead.');
31
31
  export const ExtraFiltersInput = z
32
32
  .record(z.string(), z.unknown())
33
33
  .optional()
@@ -199,30 +199,35 @@ export function computeDistribution(rows, accessor) {
199
199
  return Object.fromEntries([...counts.entries()].sort(([, a], [, b]) => b - a));
200
200
  }
201
201
  /**
202
- * Render the standardized header line for `find_*` tools. When a dataset
203
- * spillover is present, surfaces the dataset row count alongside the
202
+ * Render the standardized header line for `find_*` tools. When a dataframe
203
+ * spillover is present, surfaces the dataframe row count alongside the
204
204
  * in-context count and the upstream total — `{returned} of {total}` alone
205
205
  * hides the middle number and confuses readers when filters miss server-
206
- * side and the dataset row count diverges from both.
206
+ * side and the dataframe row count diverges from both.
207
207
  */
208
208
  export function renderFindHeader(opts) {
209
- if (opts.dataset) {
210
- const expiry = opts.dataset.expiresAt ? ` (${formatExpiresIn(opts.dataset.expiresAt)})` : '';
211
- return `# ${opts.returnedCount} returned · ${opts.dataset.rowCount} in dataset${expiry} · ${opts.totalCount} total ${opts.noun} — \`${opts.alias}\``;
209
+ if (opts.dataframe) {
210
+ const expiry = opts.dataframe.expiresAt
211
+ ? ` (${formatExpiresIn(opts.dataframe.expiresAt)})`
212
+ : '';
213
+ return `# ${opts.returnedCount} returned · ${opts.dataframe.rowCount} in dataframe${expiry} · ${opts.totalCount} total ${opts.noun} — \`${opts.alias}\``;
212
214
  }
213
215
  return `# ${opts.returnedCount} of ${opts.totalCount} ${opts.noun} — \`${opts.alias}\``;
214
216
  }
215
217
  /**
216
- * Render the applied-filters block, optionally translating server-side
217
- * keys to the user-facing parameter names declared by the tool. Server
218
- * keys without a user-facing alias (e.g. anything from `extraFilters`) are
219
- * rendered as-is.
218
+ * Render the filters-sent-to-server block, optionally translating
219
+ * server-side keys to the user-facing parameter names declared by the
220
+ * tool. Server keys without a user-facing alias (e.g. anything from
221
+ * `extraFilters`) are rendered as-is. The label deliberately says "sent
222
+ * to server" rather than "applied" — this is the wire-shape payload, not
223
+ * a verified honor list. Drift between requested and honored values
224
+ * surfaces in the warnings produced by `checkFilterMatchRates`.
220
225
  */
221
226
  export function renderAppliedFilters(filters, serverToUser = {}) {
222
227
  const entries = Object.entries(filters);
223
228
  if (entries.length === 0)
224
- return 'Applied filters: `{}`';
225
- const lines = ['Applied filters:'];
229
+ return 'Filters sent to server: `{}`';
230
+ const lines = ['Filters sent to server:'];
226
231
  for (const [serverKey, value] of entries) {
227
232
  const userKey = serverToUser[serverKey];
228
233
  const label = userKey ? `${userKey} → ${serverKey}` : serverKey;
@@ -249,7 +254,7 @@ export function renderDistributions(distributions) {
249
254
  /**
250
255
  * Pull rows up to `loadLimit` on a single page. If the server reports more
251
256
  * rows than the limit, leave the rest behind — callers decide whether to
252
- * spill via `spillToDataset`.
257
+ * spill via `spillToCanvas`.
253
258
  */
254
259
  export async function loadInitialPage(client, connection, path, filters, loadLimit, ctx) {
255
260
  return await loadInitialFindPage(client, connection, getRouteForPath(path, filters), loadLimit, ctx);
@@ -283,45 +288,48 @@ async function fetchFindRoutePage(client, connection, route, pageSize, page, ctx
283
288
  return await client.getSearchResults(connection.baseUrl, route.noun, response.searchResultsDbId, ctx, buildRequestOptions(connection, { pageSize, page }, requestOptions));
284
289
  }
285
290
  /**
286
- * Shape of the dataset handle returned inline by `find_*` tools. Drops the
287
- * provenance fields (source/baseUrl/query) since those are internal and
288
- * available via `brapi_manage_dataset summary`.
291
+ * Shape of the dataframe handle returned inline by `find_*` tools. The
292
+ * dataframe is the canvas table holding every row beyond `loadLimit`; query
293
+ * it with `brapi_dataframe_query` for SQL access or describe it with
294
+ * `brapi_dataframe_describe` for schema + provenance.
289
295
  */
290
- export const DatasetHandleSchema = z.object({
291
- datasetId: z.string().describe('Use with brapi_manage_dataset to page or export.'),
292
- rowCount: z.number().int().nonnegative().describe('Number of rows persisted in the dataset.'),
293
- sizeBytes: z.number().int().nonnegative().describe('Serialized size of the dataset in bytes.'),
296
+ export const DataframeHandleSchema = z.object({
297
+ tableName: z
298
+ .string()
299
+ .describe('Dataframe name. Use with brapi_dataframe_describe (schema + provenance) and brapi_dataframe_query (SQL).'),
300
+ rowCount: z
301
+ .number()
302
+ .int()
303
+ .nonnegative()
304
+ .describe('Number of rows materialized in the dataframe.'),
294
305
  columns: z
295
- .array(z.string().describe('Column name from the persisted rows.'))
296
- .describe('Full column list of the persisted rows.'),
297
- createdAt: z.string().describe('ISO 8601 timestamp the dataset was created.'),
298
- expiresAt: z.string().describe('ISO 8601 timestamp after which the dataset will be purged.'),
306
+ .array(z.string().describe('Column name from the materialized rows.'))
307
+ .describe('Full column list of the dataframe.'),
308
+ createdAt: z.string().describe('ISO 8601 timestamp the dataframe was created.'),
309
+ expiresAt: z
310
+ .string()
311
+ .describe('ISO 8601 timestamp after which the dataframe metadata will be purged. Re-run the find_* tool to refresh, or copy results out before expiry.'),
299
312
  truncated: z
300
313
  .boolean()
301
314
  .optional()
302
- .describe('True when the dataset hit a row cap before exhausting upstream.'),
315
+ .describe('True when the dataframe hit a row cap before exhausting upstream.'),
303
316
  maxRows: z
304
317
  .number()
305
318
  .int()
306
319
  .positive()
307
320
  .optional()
308
321
  .describe('Cap that was applied at create time, when truncation occurred.'),
309
- dataframe: z
310
- .string()
311
- .optional()
312
- .describe('Dataframe name when this dataset was auto-registered as a SQL-queryable dataframe. Use with brapi_dataframe_query to run SQL across the rows.'),
313
322
  });
314
323
  /**
315
- * Render a DatasetHandle as bullet lines, matching the existing find_* tool
324
+ * Render a DataframeHandle as bullet lines, matching the existing find_* tool
316
325
  * format. Centralized so the truncated/maxRows fields surface consistently.
317
326
  * `expiresAt` is paired with a human-readable `expires in Xh / Xd` so the
318
327
  * agent doesn't have to subtract dates to know when the handle goes stale.
319
328
  */
320
- export function renderDatasetHandle(handle) {
329
+ export function renderDataframeHandle(handle) {
321
330
  const lines = [
322
- `- datasetId: \`${handle.datasetId}\``,
331
+ `- tableName: \`${handle.tableName}\` (query via brapi_dataframe_query)`,
323
332
  `- rowCount: ${handle.rowCount}`,
324
- `- sizeBytes: ${handle.sizeBytes}`,
325
333
  `- columns: ${handle.columns.join(', ')}`,
326
334
  `- createdAt: ${handle.createdAt}`,
327
335
  `- expiresAt: ${handle.expiresAt} (${formatExpiresIn(handle.expiresAt)})`,
@@ -330,9 +338,6 @@ export function renderDatasetHandle(handle) {
330
338
  lines.push(`- truncated: true`);
331
339
  if (typeof handle.maxRows === 'number')
332
340
  lines.push(`- maxRows: ${handle.maxRows}`);
333
- if (handle.dataframe) {
334
- lines.push(`- dataframe: \`${handle.dataframe}\` (queryable via brapi_dataframe_query)`);
335
- }
336
341
  return lines;
337
342
  }
338
343
  /**
@@ -360,29 +365,27 @@ export function formatExpiresIn(expiresAt, now = new Date()) {
360
365
  label = `${days}d`;
361
366
  return deltaMs >= 0 ? `expires in ${label}` : `expired ${label} ago`;
362
367
  }
363
- /** Project a `DatasetMetadata` to the in-context handle shape. */
364
- export function toDatasetHandle(metadata) {
368
+ /** Project a `RegisterDataframeResult` to the inline handle shape. */
369
+ export function toDataframeHandle(result) {
365
370
  const handle = {
366
- datasetId: metadata.datasetId,
367
- rowCount: metadata.rowCount,
368
- sizeBytes: metadata.sizeBytes,
369
- columns: metadata.columns,
370
- createdAt: metadata.createdAt,
371
- expiresAt: metadata.expiresAt,
371
+ tableName: result.tableName,
372
+ rowCount: result.rowCount,
373
+ columns: result.columns,
374
+ createdAt: result.createdAt,
375
+ expiresAt: result.expiresAt,
372
376
  };
373
- if (metadata.truncated)
377
+ if (result.truncated)
374
378
  handle.truncated = true;
375
- if (typeof metadata.maxRows === 'number')
376
- handle.maxRows = metadata.maxRows;
377
- if (metadata.dataframe)
378
- handle.dataframe = metadata.dataframe;
379
+ if (typeof result.maxRows === 'number')
380
+ handle.maxRows = result.maxRows;
379
381
  return handle;
380
382
  }
381
383
  /**
382
- * Wrap `spillToDataset` with the "only spill when hasMore and totalCount >
384
+ * Wrap `spillToCanvas` with the "only spill when hasMore and totalCount >
383
385
  * loadLimit" guard that every `find_*` tool replicates. When no spillover is
384
- * needed, returns the first-page rows untouched. When it is, persists the
385
- * union to DatasetStore and returns both the full set and the handle.
386
+ * needed, returns the first-page rows untouched. When it is, materializes
387
+ * the union as a canvas dataframe and returns both the full set and the
388
+ * handle.
386
389
  */
387
390
  export async function maybeSpill(input) {
388
391
  const { firstPage, rowMapper, rowFilter } = input;
@@ -392,7 +395,7 @@ export async function maybeSpill(input) {
392
395
  return { fullRows: applyRowTransforms(firstPage.rows, rowMapper, rowFilter) };
393
396
  }
394
397
  const spillInput = {
395
- store: input.store,
398
+ bridge: input.bridge,
396
399
  client: input.client,
397
400
  connection: input.connection,
398
401
  path: input.path,
@@ -412,16 +415,16 @@ export async function maybeSpill(input) {
412
415
  if (input.spillRequestOptions)
413
416
  spillInput.pageRequestOptions = input.spillRequestOptions;
414
417
  try {
415
- const spill = await spillToDataset(spillInput);
418
+ const spill = await spillToCanvas(spillInput);
416
419
  return {
417
420
  fullRows: spill.fullRows,
418
- dataset: toDatasetHandle(spill.dataset),
421
+ dataframe: toDataframeHandle(spill.dataframe),
419
422
  };
420
423
  }
421
424
  catch (err) {
422
425
  if (!input.warnings || !(err instanceof SpillPageFetchError))
423
426
  throw err;
424
- input.warnings.push(`Dataset spillover skipped after returning the first ${firstPage.rows.length} row(s): ${formatSpillError(err)}. Narrow filters, raise loadLimit enough to fit the result in one page, or retry when the upstream server is responsive.`);
427
+ input.warnings.push(`Dataframe spillover skipped after returning the first ${firstPage.rows.length} row(s): ${formatSpillError(err)}. Narrow filters, raise loadLimit enough to fit the result in one page, or retry when the upstream server is responsive.`);
425
428
  return { fullRows: applyRowTransforms(firstPage.rows, rowMapper, rowFilter) };
426
429
  }
427
430
  }
@@ -429,18 +432,18 @@ export async function maybeSpill(input) {
429
432
  * Apply mapper before filter on a row set. Centralizes the order constraint
430
433
  * across the three spillover sites — early-exit, error fallback, and persist
431
434
  * — so they can't drift apart and accidentally filter raw rows the spilled
432
- * dataset has already normalized.
435
+ * dataframe has already normalized.
433
436
  */
434
437
  function applyRowTransforms(rows, mapper, filter) {
435
438
  const mapped = mapper ? rows.map(mapper) : rows;
436
439
  return filter ? mapped.filter(filter) : mapped;
437
440
  }
438
441
  /**
439
- * Pull every remaining page up to MAX_SPILLOVER_* caps, then persist the
440
- * union to DatasetStore. Returns the dataset metadata plus the full row set
441
- * (so callers can compute honest distributions from the whole result).
442
+ * Pull every remaining page up to MAX_SPILLOVER_* caps, then materialize the
443
+ * union as a canvas dataframe. Returns the dataframe metadata plus the full
444
+ * row set (so callers can compute honest distributions from the whole result).
442
445
  */
443
- export async function spillToDataset(input) {
446
+ export async function spillToCanvas(input) {
444
447
  const remainingTarget = Math.min(input.totalCount, MAX_SPILLOVER_ROWS);
445
448
  const pageSize = input.loadLimit;
446
449
  const totalPages = Math.min(Math.ceil(remainingTarget / pageSize), MAX_SPILLOVER_PAGES);
@@ -470,23 +473,23 @@ export async function spillToDataset(input) {
470
473
  const reachedPageCap = pagesFetched >= MAX_SPILLOVER_PAGES && input.totalCount > rows.length;
471
474
  const truncated = reachedRowCap || reachedPageCap;
472
475
  const persistedRows = applyRowTransforms(rows, input.rowMapper, input.rowFilter);
473
- const createInput = {
476
+ const registerInput = {
474
477
  source: input.source,
475
478
  baseUrl: input.connection.baseUrl,
476
479
  query: input.filters,
477
480
  rows: persistedRows,
478
481
  };
479
482
  if (truncated) {
480
- createInput.truncated = true;
483
+ registerInput.truncated = true;
481
484
  // `maxRows` only carries meaning when the row cap fired — it's the upper
482
485
  // bound the spillover honored. When the page cap fired first (small
483
486
  // `loadLimit` × `MAX_SPILLOVER_PAGES` < upstream total), reporting
484
- // `maxRows = MAX_SPILLOVER_ROWS` is misleading: the dataset stopped at
487
+ // `maxRows = MAX_SPILLOVER_ROWS` is misleading: the dataframe stopped at
485
488
  // `loadLimit × MAX_SPILLOVER_PAGES`, well below the row cap. Log the
486
489
  // page-cap event for operators; the agent sees only `truncated: true`
487
490
  // without the false 50k bound and can raise `loadLimit` to push past it.
488
491
  if (reachedRowCap) {
489
- createInput.maxRows = MAX_SPILLOVER_ROWS;
492
+ registerInput.maxRows = MAX_SPILLOVER_ROWS;
490
493
  }
491
494
  else if (reachedPageCap) {
492
495
  input.ctx.log.warning('Spillover hit page cap before exhausting upstream', {
@@ -498,8 +501,8 @@ export async function spillToDataset(input) {
498
501
  });
499
502
  }
500
503
  }
501
- const dataset = await input.store.create(input.ctx, createInput);
502
- return { dataset, fullRows: persistedRows, pagesFetched };
504
+ const dataframe = await input.bridge.registerDataframe(input.ctx, registerInput);
505
+ return { dataframe, fullRows: persistedRows, pagesFetched };
503
506
  }
504
507
  class SpillPageFetchError extends Error {
505
508
  name = 'SpillPageFetchError';
@@ -526,6 +529,29 @@ export function extractRows(result) {
526
529
  return result.data;
527
530
  return [];
528
531
  }
532
+ /**
533
+ * Extract a homogeneous record-row set from a raw BrAPI envelope `result`.
534
+ * Returns the array when `result` is itself a list of objects, or when
535
+ * `result.data` is — covering both bare-array and BrAPI-list-envelope shapes.
536
+ * Returns `null` for non-list shapes (single object, scalar, primitive
537
+ * arrays) so callers — notably `raw_get` / `raw_search` — can skip spillover
538
+ * and pass the upstream payload through unchanged. Empty arrays are list-
539
+ * shaped but carry no rows; the caller uses `length === 0` to decide whether
540
+ * to register a dataframe.
541
+ */
542
+ export function extractListRows(result) {
543
+ const candidate = Array.isArray(result)
544
+ ? result
545
+ : result && typeof result === 'object' && Array.isArray(result.data)
546
+ ? result.data
547
+ : null;
548
+ if (candidate === null)
549
+ return null;
550
+ if (candidate.length === 0)
551
+ return [];
552
+ const allObjects = candidate.every((row) => typeof row === 'object' && row !== null && !Array.isArray(row));
553
+ return allObjects ? candidate : null;
554
+ }
529
555
  /** Return the input as a non-empty string, or undefined. Used in distribution accessors. */
530
556
  export function asString(value) {
531
557
  return typeof value === 'string' && value.length > 0 ? value : undefined;
@@ -702,6 +728,67 @@ export function fkMatchCheck(paramName, requestedValues, rows, fieldName, option
702
728
  ...options,
703
729
  };
704
730
  }
731
+ /**
732
+ * Generate `FilterMatchCheck` entries for every key in `extraFilters` that
733
+ * can be cross-referenced against a top-level column on the returned rows.
734
+ * Catches the wrong-results class of bug where the agent passes a filter the
735
+ * upstream silently ignores (e.g. `locationName` on `/studies` — not a valid
736
+ * filter key, server returns the unfiltered baseline). The named-param
737
+ * verification path treats requested values as authoritative; this helper
738
+ * extends that same check across `extraFilters` so the post-hoc validator
739
+ * runs uniformly regardless of how the filter entered the call.
740
+ *
741
+ * Column inference is intentionally narrow — exact match, then a trailing-`s`
742
+ * strip (`locationDbIds → locationDbId`, `locationNames → locationName`).
743
+ * Keys that don't resolve to a column produce a single grouped warning
744
+ * ("could not verify these extraFilters keys: …") so the agent knows the
745
+ * trace can't speak to whether they were honored.
746
+ */
747
+ export function buildExtraFilterChecks(extraFilters, rows, warnings) {
748
+ if (!extraFilters)
749
+ return [];
750
+ const checks = [];
751
+ const unverified = [];
752
+ const sample = rows[0];
753
+ for (const [key, value] of Object.entries(extraFilters)) {
754
+ if (value == null)
755
+ continue;
756
+ const requested = toRequestedValues(value);
757
+ if (!requested)
758
+ continue;
759
+ const field = sample ? inferRowField(key, sample) : undefined;
760
+ if (!field) {
761
+ unverified.push(key);
762
+ continue;
763
+ }
764
+ checks.push({
765
+ paramName: `extraFilters.${key}`,
766
+ requestedValues: requested,
767
+ distribution: computeDistribution(rows, (r) => asString(r[field])),
768
+ caseInsensitive: true,
769
+ requireEveryRowMatch: true,
770
+ });
771
+ }
772
+ if (unverified.length > 0) {
773
+ warnings.push(`Could not verify these extraFilters keys against returned rows: ${unverified.map((k) => `'${k}'`).join(', ')}. The server may have silently ignored them — check brapi_describe_filters for the valid filter keys on this endpoint.`);
774
+ }
775
+ return checks;
776
+ }
777
+ function toRequestedValues(value) {
778
+ const candidates = Array.isArray(value) ? value : [value];
779
+ const scalars = candidates.filter((v) => typeof v === 'string' || typeof v === 'number' || typeof v === 'boolean');
780
+ return scalars.length > 0 ? scalars : undefined;
781
+ }
782
+ function inferRowField(filterKey, sample) {
783
+ if (filterKey in sample)
784
+ return filterKey;
785
+ if (filterKey.endsWith('s')) {
786
+ const candidate = filterKey.slice(0, -1);
787
+ if (candidate in sample)
788
+ return candidate;
789
+ }
790
+ return;
791
+ }
705
792
  /**
706
793
  * Compose a refinement hint for a too-large result set. Picks the highest-
707
794
  * cardinality non-empty distribution to suggest as a narrower. Returns
@@ -1 +1 @@
1
- {"version":3,"file":"find-helpers.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/shared/find-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"find-helpers.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/shared/find-helpers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"raw-routing-hints.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/shared/raw-routing-hints.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA8CH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG9D;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEjE"}
1
+ {"version":3,"file":"raw-routing-hints.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/shared/raw-routing-hints.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA+CH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG9D;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEjE"}
@@ -12,11 +12,11 @@
12
12
  */
13
13
  const GET_NUDGES = {
14
14
  studies: 'This endpoint is also served by `brapi_find_studies` which enriches with program/trial/location FKs and returns distributions in one call.',
15
- germplasm: 'This endpoint is also served by `brapi_find_germplasm` which adds distributions and dataset spillover.',
16
- observations: 'This endpoint is also served by `brapi_find_observations` which adds distributions and dataset spillover.',
15
+ germplasm: 'This endpoint is also served by `brapi_find_germplasm` which adds distributions and dataframe spillover.',
16
+ observations: 'This endpoint is also served by `brapi_find_observations` which adds distributions and dataframe spillover.',
17
17
  variables: 'This endpoint is also served by `brapi_find_variables` which adds free-text ranking against ontology terms.',
18
18
  images: 'This endpoint is also served by `brapi_find_images`; use `brapi_get_image` to pull bytes inline.',
19
- variants: 'This endpoint is also served by `brapi_find_variants` which handles distributions and dataset spillover.',
19
+ variants: 'This endpoint is also served by `brapi_find_variants` which handles distributions and dataframe spillover.',
20
20
  locations: 'This endpoint is also served by `brapi_find_locations` which adds distributions and optional bounding-box filtering.',
21
21
  serverinfo: 'For a full orientation envelope, call `brapi_server_info` (which uses the cached capability profile).',
22
22
  calls: 'The `brapi_server_info` envelope already surfaces the supported call set.',
@@ -24,10 +24,10 @@ const GET_NUDGES = {
24
24
  };
25
25
  const SEARCH_NUDGES = {
26
26
  studies: 'Consider `brapi_find_studies` — handles async polling + FK resolution automatically.',
27
- germplasm: 'Consider `brapi_find_germplasm` — handles distributions + spillover.',
28
- observations: 'Consider `brapi_find_observations` — handles spillover and distributions.',
27
+ germplasm: 'Consider `brapi_find_germplasm` — handles distributions + dataframe spillover.',
28
+ observations: 'Consider `brapi_find_observations` — handles dataframe spillover and distributions.',
29
29
  variables: 'Consider `brapi_find_variables` — ranks results client-side against ontology terms when text is provided.',
30
- calls: 'Consider `brapi_find_genotype_calls` — handles async-search polling, deployment-side pull limit, and dataset spillover automatically.',
30
+ calls: 'Consider `brapi_find_genotype_calls` — handles async-search polling, deployment-side pull limit, and dataframe spillover automatically.',
31
31
  images: 'Consider `brapi_find_images`.',
32
32
  variants: 'Consider `brapi_find_variants`.',
33
33
  locations: 'Consider `brapi_find_locations`.',
@@ -1 +1 @@
1
- {"version":3,"file":"raw-routing-hints.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/shared/raw-routing-hints.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;GAIG;AACH,MAAM,UAAU,GAA2B;IACzC,OAAO,EACL,4IAA4I;IAC9I,SAAS,EACP,wGAAwG;IAC1G,YAAY,EACV,2GAA2G;IAC7G,SAAS,EACP,6GAA6G;IAC/G,MAAM,EACJ,kGAAkG;IACpG,QAAQ,EACN,0GAA0G;IAC5G,SAAS,EACP,sHAAsH;IACxH,UAAU,EACR,uGAAuG;IACzG,KAAK,EAAE,2EAA2E;IAClF,eAAe,EAAE,+DAA+D;CACjF,CAAC;AAEF,MAAM,aAAa,GAA2B;IAC5C,OAAO,EAAE,sFAAsF;IAC/F,SAAS,EAAE,sEAAsE;IACjF,YAAY,EAAE,2EAA2E;IACzF,SAAS,EACP,2GAA2G;IAC7G,KAAK,EACH,uIAAuI;IACzI,MAAM,EAAE,+BAA+B;IACvC,QAAQ,EAAE,iCAAiC;IAC3C,SAAS,EAAE,kCAAkC;CAC9C,CAAC;AAEF,uDAAuD;AACvD,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"raw-routing-hints.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/shared/raw-routing-hints.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;GAIG;AACH,MAAM,UAAU,GAA2B;IACzC,OAAO,EACL,4IAA4I;IAC9I,SAAS,EACP,0GAA0G;IAC5G,YAAY,EACV,6GAA6G;IAC/G,SAAS,EACP,6GAA6G;IAC/G,MAAM,EACJ,kGAAkG;IACpG,QAAQ,EACN,4GAA4G;IAC9G,SAAS,EACP,sHAAsH;IACxH,UAAU,EACR,uGAAuG;IACzG,KAAK,EAAE,2EAA2E;IAClF,eAAe,EAAE,+DAA+D;CACjF,CAAC;AAEF,MAAM,aAAa,GAA2B;IAC5C,OAAO,EAAE,sFAAsF;IAC/F,SAAS,EAAE,gFAAgF;IAC3F,YAAY,EACV,qFAAqF;IACvF,SAAS,EACP,2GAA2G;IAC7G,KAAK,EACH,yIAAyI;IAC3I,MAAM,EAAE,+BAA+B;IACvC,QAAQ,EAAE,iCAAiC;IAC3C,SAAS,EAAE,kCAAkC;CAC9C,CAAC;AAEF,uDAAuD;AACvD,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;AACjD,CAAC"}