@cyanheads/brapi-mcp-server 0.4.1 → 0.4.3

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 (39) hide show
  1. package/CLAUDE.md +1 -1
  2. package/README.md +1 -1
  3. package/changelog/0.4.x/0.4.2.md +23 -0
  4. package/changelog/0.4.x/0.4.3.md +27 -0
  5. package/dist/mcp-server/tools/definitions/brapi-find-genotype-calls.tool.d.ts +14 -14
  6. package/dist/mcp-server/tools/definitions/brapi-find-genotype-calls.tool.js +13 -13
  7. package/dist/mcp-server/tools/definitions/brapi-find-genotype-calls.tool.js.map +1 -1
  8. package/dist/mcp-server/tools/definitions/brapi-find-germplasm.tool.d.ts.map +1 -1
  9. package/dist/mcp-server/tools/definitions/brapi-find-germplasm.tool.js +32 -19
  10. package/dist/mcp-server/tools/definitions/brapi-find-germplasm.tool.js.map +1 -1
  11. package/dist/mcp-server/tools/definitions/brapi-find-images.tool.d.ts +16 -16
  12. package/dist/mcp-server/tools/definitions/brapi-find-images.tool.d.ts.map +1 -1
  13. package/dist/mcp-server/tools/definitions/brapi-find-images.tool.js +19 -17
  14. package/dist/mcp-server/tools/definitions/brapi-find-images.tool.js.map +1 -1
  15. package/dist/mcp-server/tools/definitions/brapi-find-observations.tool.d.ts +20 -20
  16. package/dist/mcp-server/tools/definitions/brapi-find-observations.tool.d.ts.map +1 -1
  17. package/dist/mcp-server/tools/definitions/brapi-find-observations.tool.js +74 -32
  18. package/dist/mcp-server/tools/definitions/brapi-find-observations.tool.js.map +1 -1
  19. package/dist/mcp-server/tools/definitions/brapi-find-studies.tool.d.ts.map +1 -1
  20. package/dist/mcp-server/tools/definitions/brapi-find-studies.tool.js +4 -1
  21. package/dist/mcp-server/tools/definitions/brapi-find-studies.tool.js.map +1 -1
  22. package/dist/mcp-server/tools/definitions/brapi-find-variables.tool.js +1 -1
  23. package/dist/mcp-server/tools/definitions/brapi-find-variables.tool.js.map +1 -1
  24. package/dist/mcp-server/tools/definitions/brapi-find-variants.tool.d.ts +3 -3
  25. package/dist/mcp-server/tools/definitions/brapi-find-variants.tool.js +3 -3
  26. package/dist/mcp-server/tools/definitions/brapi-find-variants.tool.js.map +1 -1
  27. package/dist/mcp-server/tools/definitions/brapi-get-germplasm.tool.d.ts.map +1 -1
  28. package/dist/mcp-server/tools/definitions/brapi-get-germplasm.tool.js +53 -5
  29. package/dist/mcp-server/tools/definitions/brapi-get-germplasm.tool.js.map +1 -1
  30. package/dist/mcp-server/tools/definitions/index.d.ts +53 -53
  31. package/dist/mcp-server/tools/shared/find-helpers.d.ts +33 -2
  32. package/dist/mcp-server/tools/shared/find-helpers.d.ts.map +1 -1
  33. package/dist/mcp-server/tools/shared/find-helpers.js +55 -8
  34. package/dist/mcp-server/tools/shared/find-helpers.js.map +1 -1
  35. package/dist/services/brapi-dialect/cassavabase-dialect.d.ts.map +1 -1
  36. package/dist/services/brapi-dialect/cassavabase-dialect.js +6 -3
  37. package/dist/services/brapi-dialect/cassavabase-dialect.js.map +1 -1
  38. package/package.json +1 -1
  39. package/server.json +3 -3
@@ -9,6 +9,7 @@
9
9
  import { tool, z } from '@cyanheads/mcp-ts-core';
10
10
  import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
11
11
  import { getBrapiClient } from '../../../services/brapi-client/index.js';
12
+ import { resolveDialect } from '../../../services/brapi-dialect/index.js';
12
13
  import { getCapabilityRegistry } from '../../../services/capability-registry/index.js';
13
14
  import { DEFAULT_ALIAS, getServerRegistry } from '../../../services/server-registry/index.js';
14
15
  import { AliasInput, buildRequestOptions, isUpstreamNotFound } from '../shared/find-helpers.js';
@@ -146,6 +147,9 @@ export const brapiGetGermplasm = tool('brapi_get_germplasm', {
146
147
  const supportsAttributes = Boolean(profile.supported['germplasm/{germplasmDbId}/attributes']);
147
148
  const supportsProgeny = Boolean(profile.supported['germplasm/{germplasmDbId}/progeny']);
148
149
  const supportsStudies = profile.supported.studies?.methods?.includes('GET') ?? false;
150
+ const dialect = supportsStudies
151
+ ? await resolveDialect(connection, ctx, capabilityLookup)
152
+ : undefined;
149
153
  const [pedigree, attributes, studyCount, progenyCount] = await Promise.all([
150
154
  supportsPedigree
151
155
  ? fetchPedigree(client, connection.baseUrl, id, ctx, buildRequestOptions(connection)).catch((err) => recordWarning(warnings, 'pedigree lookup failed', err))
@@ -153,11 +157,15 @@ export const brapiGetGermplasm = tool('brapi_get_germplasm', {
153
157
  supportsAttributes
154
158
  ? fetchAttributes(client, connection.baseUrl, id, ctx, buildRequestOptions(connection)).catch((err) => recordWarning(warnings, 'attributes lookup failed', err))
155
159
  : Promise.resolve(undefined),
156
- supportsStudies
157
- ? fetchTotalCount(client, connection.baseUrl, '/studies', ctx, buildRequestOptions(connection, {
158
- germplasmDbIds: [input.germplasmDbId],
159
- pageSize: 1,
160
- })).catch((err) => recordWarning(warnings, 'study count probe failed', err))
160
+ supportsStudies && dialect
161
+ ? fetchValidatedStudyCount({
162
+ client,
163
+ connection,
164
+ germplasmDbId: input.germplasmDbId,
165
+ dialect,
166
+ ctx,
167
+ warnings,
168
+ }).catch((err) => recordWarning(warnings, 'study count probe failed', err))
161
169
  : Promise.resolve(undefined),
162
170
  supportsProgeny
163
171
  ? fetchTotalCount(client, connection.baseUrl, `/germplasm/${id}/progeny`, ctx, buildRequestOptions(connection, { pageSize: 1 })).catch((err) => recordWarning(warnings, 'progeny count probe failed', err))
@@ -303,4 +311,44 @@ async function fetchTotalCount(client, baseUrl, path, ctx, options) {
303
311
  const total = env.metadata?.pagination?.totalCount;
304
312
  return typeof total === 'number' ? total : undefined;
305
313
  }
314
+ /**
315
+ * Probe `/studies?germplasmDbIds=X` and a parallel unfiltered baseline.
316
+ * Some servers (notably the SGN family) silently drop the germplasm filter on
317
+ * `/studies` and return the global studies total — which would be wildly
318
+ * misleading as a per-germplasm `studyCount`. The cross-check catches that:
319
+ * if the filtered total matches the unfiltered baseline, the filter was
320
+ * ignored and we drop the count rather than report a misleading global.
321
+ *
322
+ * Routes the filtered probe through the dialect adapter so any per-server
323
+ * key translation (or filter drop) takes effect, and surfaces the dialect's
324
+ * own warnings so the agent sees why a count is missing.
325
+ */
326
+ async function fetchValidatedStudyCount(input) {
327
+ const { client, connection, ctx, dialect, germplasmDbId, warnings } = input;
328
+ const adapted = dialect.adaptGetFilters('studies', {
329
+ germplasmDbIds: [germplasmDbId],
330
+ });
331
+ warnings.push(...adapted.warnings);
332
+ // If the dialect dropped the filter entirely, the count would be the
333
+ // global studies total — useless. Skip and let the caller render `—`.
334
+ if (Object.keys(adapted.filters).length === 0) {
335
+ warnings.push('studyCount probe skipped: the active dialect dropped the germplasm filter for /studies (server does not honor it).');
336
+ return;
337
+ }
338
+ const filteredParams = {
339
+ ...adapted.filters,
340
+ pageSize: 1,
341
+ };
342
+ const [filtered, baseline] = await Promise.all([
343
+ fetchTotalCount(client, connection.baseUrl, '/studies', ctx, buildRequestOptions(connection, filteredParams)),
344
+ fetchTotalCount(client, connection.baseUrl, '/studies', ctx, buildRequestOptions(connection, { pageSize: 1 })).catch(() => undefined),
345
+ ]);
346
+ if (typeof filtered !== 'number')
347
+ return;
348
+ if (typeof baseline === 'number' && baseline > 0 && filtered === baseline) {
349
+ warnings.push(`studyCount omitted: /studies returned the same total (${baseline}) for both the germplasm-filtered probe and an unfiltered baseline — the upstream silently ignored the germplasm filter, so a per-germplasm count cannot be trusted.`);
350
+ return;
351
+ }
352
+ return filtered;
353
+ }
306
354
  //# sourceMappingURL=brapi-get-germplasm.tool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"brapi-get-germplasm.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-get-germplasm.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"brapi-get-germplasm.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-get-germplasm.tool.ts"],"names":[],"mappings":"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"}
@@ -294,25 +294,25 @@ export declare const readOnlyToolDefinitions: (import("@cyanheads/mcp-ts-core").
294
294
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
295
295
  alias: import("zod").ZodString;
296
296
  results: import("zod").ZodArray<import("zod").ZodObject<{
297
- callSetDbId: import("zod").ZodOptional<import("zod").ZodString>;
298
- callSetName: import("zod").ZodOptional<import("zod").ZodString>;
299
- variantDbId: import("zod").ZodOptional<import("zod").ZodString>;
300
- variantName: import("zod").ZodOptional<import("zod").ZodString>;
301
- variantSetDbId: import("zod").ZodOptional<import("zod").ZodString>;
302
- genotype: import("zod").ZodOptional<import("zod").ZodObject<{
303
- values: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
304
- }, import("zod/v4/core").$loose>>;
305
- genotypeValue: import("zod").ZodOptional<import("zod").ZodString>;
306
- phaseSet: import("zod").ZodOptional<import("zod").ZodString>;
297
+ callSetDbId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
298
+ callSetName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
299
+ variantDbId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
300
+ variantName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
301
+ variantSetDbId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
302
+ genotype: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodObject<{
303
+ values: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodString>>>;
304
+ }, import("zod/v4/core").$loose>>>;
305
+ genotypeValue: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
306
+ phaseSet: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
307
307
  }, import("zod/v4/core").$loose>>;
308
308
  returnedCount: import("zod").ZodNumber;
309
309
  totalCount: import("zod").ZodNumber;
310
310
  hasMore: import("zod").ZodBoolean;
311
311
  callFormatting: import("zod").ZodObject<{
312
- expandHomozygotes: import("zod").ZodOptional<import("zod").ZodBoolean>;
313
- unknownString: import("zod").ZodOptional<import("zod").ZodString>;
314
- sepPhased: import("zod").ZodOptional<import("zod").ZodString>;
315
- sepUnphased: import("zod").ZodOptional<import("zod").ZodString>;
312
+ expandHomozygotes: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodBoolean>>;
313
+ unknownString: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
314
+ sepPhased: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
315
+ sepUnphased: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
316
316
  }, import("zod/v4/core").$strip>;
317
317
  distributions: import("zod").ZodObject<{
318
318
  callSetName: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
@@ -418,22 +418,22 @@ export declare const readOnlyToolDefinitions: (import("@cyanheads/mcp-ts-core").
418
418
  alias: import("zod").ZodString;
419
419
  results: import("zod").ZodArray<import("zod").ZodObject<{
420
420
  imageDbId: import("zod").ZodString;
421
- imageName: import("zod").ZodOptional<import("zod").ZodString>;
422
- imageFileName: import("zod").ZodOptional<import("zod").ZodString>;
423
- imageFileSize: import("zod").ZodOptional<import("zod").ZodNumber>;
424
- imageHeight: import("zod").ZodOptional<import("zod").ZodNumber>;
425
- imageWidth: import("zod").ZodOptional<import("zod").ZodNumber>;
426
- mimeType: import("zod").ZodOptional<import("zod").ZodString>;
427
- imageTimeStamp: import("zod").ZodOptional<import("zod").ZodString>;
428
- imageURL: import("zod").ZodOptional<import("zod").ZodString>;
429
- observationUnitDbId: import("zod").ZodOptional<import("zod").ZodString>;
430
- observationUnitName: import("zod").ZodOptional<import("zod").ZodString>;
431
- observationDbIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
432
- studyDbId: import("zod").ZodOptional<import("zod").ZodString>;
433
- studyName: import("zod").ZodOptional<import("zod").ZodString>;
434
- descriptiveOntologyTerms: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
435
- copyright: import("zod").ZodOptional<import("zod").ZodString>;
436
- description: import("zod").ZodOptional<import("zod").ZodString>;
421
+ imageName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
422
+ imageFileName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
423
+ imageFileSize: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
424
+ imageHeight: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
425
+ imageWidth: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
426
+ mimeType: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
427
+ imageTimeStamp: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
428
+ imageURL: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
429
+ observationUnitDbId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
430
+ observationUnitName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
431
+ observationDbIds: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodString>>>;
432
+ studyDbId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
433
+ studyName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
434
+ descriptiveOntologyTerms: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodString>>>;
435
+ copyright: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
436
+ description: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
437
437
  }, import("zod/v4/core").$loose>>;
438
438
  returnedCount: import("zod").ZodNumber;
439
439
  totalCount: import("zod").ZodNumber;
@@ -531,26 +531,26 @@ export declare const readOnlyToolDefinitions: (import("@cyanheads/mcp-ts-core").
531
531
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
532
532
  alias: import("zod").ZodString;
533
533
  results: import("zod").ZodArray<import("zod").ZodObject<{
534
- observationDbId: import("zod").ZodOptional<import("zod").ZodString>;
535
- observationUnitDbId: import("zod").ZodOptional<import("zod").ZodString>;
536
- observationUnitName: import("zod").ZodOptional<import("zod").ZodString>;
537
- observationVariableDbId: import("zod").ZodOptional<import("zod").ZodString>;
538
- observationVariableName: import("zod").ZodOptional<import("zod").ZodString>;
539
- studyDbId: import("zod").ZodOptional<import("zod").ZodString>;
540
- studyName: import("zod").ZodOptional<import("zod").ZodString>;
541
- germplasmDbId: import("zod").ZodOptional<import("zod").ZodString>;
542
- germplasmName: import("zod").ZodOptional<import("zod").ZodString>;
543
- observationLevel: import("zod").ZodOptional<import("zod").ZodString>;
544
- season: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodObject<{
545
- seasonDbId: import("zod").ZodOptional<import("zod").ZodString>;
546
- year: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodNumber]>>;
547
- season: import("zod").ZodOptional<import("zod").ZodString>;
548
- seasonName: import("zod").ZodOptional<import("zod").ZodString>;
549
- }, import("zod/v4/core").$loose>]>>;
550
- value: import("zod").ZodOptional<import("zod").ZodString>;
551
- observationTimeStamp: import("zod").ZodOptional<import("zod").ZodString>;
552
- collector: import("zod").ZodOptional<import("zod").ZodString>;
553
- uploadedBy: import("zod").ZodOptional<import("zod").ZodString>;
534
+ observationDbId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
535
+ observationUnitDbId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
536
+ observationUnitName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
537
+ observationVariableDbId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
538
+ observationVariableName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
539
+ studyDbId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
540
+ studyName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
541
+ germplasmDbId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
542
+ germplasmName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
543
+ observationLevel: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
544
+ season: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodObject<{
545
+ seasonDbId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
546
+ year: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodNumber]>>>;
547
+ season: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
548
+ seasonName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
549
+ }, import("zod/v4/core").$loose>]>>>;
550
+ value: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
551
+ observationTimeStamp: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
552
+ collector: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
553
+ uploadedBy: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
554
554
  }, import("zod/v4/core").$loose>>;
555
555
  returnedCount: import("zod").ZodNumber;
556
556
  totalCount: import("zod").ZodNumber;
@@ -720,9 +720,9 @@ export declare const readOnlyToolDefinitions: (import("@cyanheads/mcp-ts-core").
720
720
  alias: import("zod").ZodString;
721
721
  results: import("zod").ZodArray<import("zod").ZodObject<{
722
722
  variantDbId: import("zod").ZodString;
723
- variantNames: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
724
- variantSetDbId: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodArray<import("zod").ZodString>]>>;
725
- variantSetDbIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
723
+ variantNames: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodString>>>;
724
+ variantSetDbId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodArray<import("zod").ZodString>]>>>;
725
+ variantSetDbIds: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodString>>>;
726
726
  variantType: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
727
727
  referenceBases: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
728
728
  alternateBases: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodString>>>;
@@ -56,6 +56,7 @@ export declare function renderFindHeader(opts: {
56
56
  totalCount: number;
57
57
  dataset?: {
58
58
  rowCount: number;
59
+ expiresAt?: string;
59
60
  } | undefined;
60
61
  }): string;
61
62
  /**
@@ -91,6 +92,14 @@ export interface SpillInput<T> {
91
92
  firstPage: T[];
92
93
  loadLimit: number;
93
94
  path: string;
95
+ /**
96
+ * Optional client-side predicate applied to every row (first-page + spilled)
97
+ * before persistence. When present, only rows that pass are persisted to
98
+ * DatasetStore and returned in `fullRows`. The unfiltered upstream total is
99
+ * preserved separately on the LoadedRows envelope so distributions and
100
+ * headers can still report the true upstream size.
101
+ */
102
+ rowFilter?: (row: T) => boolean;
94
103
  source: string;
95
104
  store: DatasetStore;
96
105
  /** Total reported by the server on the first page. */
@@ -98,7 +107,7 @@ export interface SpillInput<T> {
98
107
  }
99
108
  export interface SpillResult<T> {
100
109
  dataset: DatasetMetadata;
101
- /** All rows that were persisted used for distributions. */
110
+ /** Rows that were persisted (post-filter when `rowFilter` was supplied). */
102
111
  fullRows: T[];
103
112
  pagesFetched: number;
104
113
  }
@@ -121,8 +130,16 @@ export type DatasetHandle = z.infer<typeof DatasetHandleSchema>;
121
130
  /**
122
131
  * Render a DatasetHandle as bullet lines, matching the existing find_* tool
123
132
  * format. Centralized so the truncated/maxRows fields surface consistently.
133
+ * `expiresAt` is paired with a human-readable `expires in Xh / Xd` so the
134
+ * agent doesn't have to subtract dates to know when the handle goes stale.
124
135
  */
125
136
  export declare function renderDatasetHandle(handle: DatasetHandle): string[];
137
+ /**
138
+ * Render an absolute `expiresAt` timestamp as a relative human label
139
+ * (`expires in 24h`, `expires in 30m`, `expired 5m ago`). Coarsens to the
140
+ * most useful unit so the value reads at a glance.
141
+ */
142
+ export declare function formatExpiresIn(expiresAt: string, now?: Date): string;
126
143
  /** Project a `DatasetMetadata` to the in-context handle shape. */
127
144
  export declare function toDatasetHandle(metadata: DatasetMetadata): DatasetHandle;
128
145
  export interface MaybeSpillInput<T> {
@@ -133,12 +150,18 @@ export interface MaybeSpillInput<T> {
133
150
  firstPage: LoadedRows<T>;
134
151
  loadLimit: number;
135
152
  path: string;
153
+ /**
154
+ * Optional client-side predicate applied to every row before persistence.
155
+ * Forwarded to `spillToDataset`. When present and no spillover happens, the
156
+ * first-page rows are also filtered before being returned.
157
+ */
158
+ rowFilter?: (row: T) => boolean;
136
159
  source: string;
137
160
  store: DatasetStore;
138
161
  }
139
162
  export interface MaybeSpillResult<T> {
140
163
  dataset?: DatasetHandle;
141
- /** Full row set if a spillover happened, otherwise the first-page rows. */
164
+ /** Row set after `rowFilter` (when supplied), spilled or first-page only. */
142
165
  fullRows: T[];
143
166
  }
144
167
  /**
@@ -219,6 +242,14 @@ export interface FilterMatchCheck {
219
242
  * is empty (no signal) or where no values were requested.
220
243
  */
221
244
  export declare function checkFilterMatchRates(warnings: string[], fullRowCount: number, checks: readonly FilterMatchCheck[]): void;
245
+ /**
246
+ * Build a `FilterMatchCheck` for an FK identifier filter — the user's input
247
+ * values are compared against a fresh distribution computed over `fieldName`
248
+ * on the returned rows. Surfaces silently-ignored FK filters as warnings
249
+ * without polluting the public `result.distributions` shape with raw DbId
250
+ * frequencies (which carry no semantic meaning to the agent).
251
+ */
252
+ export declare function fkMatchCheck(paramName: string, requestedValues: readonly (string | number | boolean)[] | undefined, rows: readonly Record<string, unknown>[], fieldName: string): FilterMatchCheck;
222
253
  export interface RefinementHintOptions {
223
254
  /**
224
255
  * Filter parameter names available on the calling tool. Used to suggest
@@ -1 +1 @@
1
- {"version":3,"file":"find-helpers.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/shared/find-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"find-helpers.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/shared/find-helpers.ts"],"names":[],"mappings":"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"}
@@ -122,7 +122,8 @@ export function computeDistribution(rows, accessor) {
122
122
  */
123
123
  export function renderFindHeader(opts) {
124
124
  if (opts.dataset) {
125
- return `# ${opts.returnedCount} returned · ${opts.dataset.rowCount} in dataset · ${opts.totalCount} total ${opts.noun} \`${opts.alias}\``;
125
+ const expiry = opts.dataset.expiresAt ? ` (${formatExpiresIn(opts.dataset.expiresAt)})` : '';
126
+ return `# ${opts.returnedCount} returned · ${opts.dataset.rowCount} in dataset${expiry} · ${opts.totalCount} total ${opts.noun} — \`${opts.alias}\``;
126
127
  }
127
128
  return `# ${opts.returnedCount} of ${opts.totalCount} ${opts.noun} — \`${opts.alias}\``;
128
129
  }
@@ -208,6 +209,8 @@ export const DatasetHandleSchema = z.object({
208
209
  /**
209
210
  * Render a DatasetHandle as bullet lines, matching the existing find_* tool
210
211
  * format. Centralized so the truncated/maxRows fields surface consistently.
212
+ * `expiresAt` is paired with a human-readable `expires in Xh / Xd` so the
213
+ * agent doesn't have to subtract dates to know when the handle goes stale.
211
214
  */
212
215
  export function renderDatasetHandle(handle) {
213
216
  const lines = [
@@ -216,7 +219,7 @@ export function renderDatasetHandle(handle) {
216
219
  `- sizeBytes: ${handle.sizeBytes}`,
217
220
  `- columns: ${handle.columns.join(', ')}`,
218
221
  `- createdAt: ${handle.createdAt}`,
219
- `- expiresAt: ${handle.expiresAt}`,
222
+ `- expiresAt: ${handle.expiresAt} (${formatExpiresIn(handle.expiresAt)})`,
220
223
  ];
221
224
  if (handle.truncated)
222
225
  lines.push(`- truncated: true`);
@@ -224,6 +227,31 @@ export function renderDatasetHandle(handle) {
224
227
  lines.push(`- maxRows: ${handle.maxRows}`);
225
228
  return lines;
226
229
  }
230
+ /**
231
+ * Render an absolute `expiresAt` timestamp as a relative human label
232
+ * (`expires in 24h`, `expires in 30m`, `expired 5m ago`). Coarsens to the
233
+ * most useful unit so the value reads at a glance.
234
+ */
235
+ export function formatExpiresIn(expiresAt, now = new Date()) {
236
+ const expiry = Date.parse(expiresAt);
237
+ if (Number.isNaN(expiry))
238
+ return 'expiry unknown';
239
+ const deltaMs = expiry - now.getTime();
240
+ const absMs = Math.abs(deltaMs);
241
+ const minutes = Math.round(absMs / 60_000);
242
+ const hours = Math.round(absMs / 3_600_000);
243
+ const days = Math.round(absMs / 86_400_000);
244
+ let label;
245
+ if (absMs < 60_000)
246
+ label = '<1m';
247
+ else if (minutes < 60)
248
+ label = `${minutes}m`;
249
+ else if (hours < 48)
250
+ label = `${hours}h`;
251
+ else
252
+ label = `${days}d`;
253
+ return deltaMs >= 0 ? `expires in ${label}` : `expired ${label} ago`;
254
+ }
227
255
  /** Project a `DatasetMetadata` to the in-context handle shape. */
228
256
  export function toDatasetHandle(metadata) {
229
257
  const handle = {
@@ -247,13 +275,14 @@ export function toDatasetHandle(metadata) {
247
275
  * union to DatasetStore and returns both the full set and the handle.
248
276
  */
249
277
  export async function maybeSpill(input) {
250
- const { firstPage } = input;
278
+ const { firstPage, rowFilter } = input;
251
279
  if (!firstPage.hasMore ||
252
280
  firstPage.totalCount === undefined ||
253
281
  firstPage.totalCount <= input.loadLimit) {
254
- return { fullRows: firstPage.rows };
282
+ const rows = rowFilter ? firstPage.rows.filter(rowFilter) : firstPage.rows;
283
+ return { fullRows: rows };
255
284
  }
256
- const spill = await spillToDataset({
285
+ const spillInput = {
257
286
  store: input.store,
258
287
  client: input.client,
259
288
  connection: input.connection,
@@ -264,7 +293,10 @@ export async function maybeSpill(input) {
264
293
  ctx: input.ctx,
265
294
  firstPage: firstPage.rows,
266
295
  totalCount: firstPage.totalCount,
267
- });
296
+ };
297
+ if (rowFilter)
298
+ spillInput.rowFilter = rowFilter;
299
+ const spill = await spillToDataset(spillInput);
268
300
  return {
269
301
  fullRows: spill.fullRows,
270
302
  dataset: toDatasetHandle(spill.dataset),
@@ -302,18 +334,19 @@ export async function spillToDataset(input) {
302
334
  const reachedRowCap = rows.length >= remainingTarget && input.totalCount > rows.length;
303
335
  const reachedPageCap = pagesFetched >= MAX_SPILLOVER_PAGES && input.totalCount > rows.length;
304
336
  const truncated = reachedRowCap || reachedPageCap;
337
+ const persistedRows = input.rowFilter ? rows.filter(input.rowFilter) : rows;
305
338
  const createInput = {
306
339
  source: input.source,
307
340
  baseUrl: input.connection.baseUrl,
308
341
  query: input.filters,
309
- rows,
342
+ rows: persistedRows,
310
343
  };
311
344
  if (truncated) {
312
345
  createInput.truncated = true;
313
346
  createInput.maxRows = MAX_SPILLOVER_ROWS;
314
347
  }
315
348
  const dataset = await input.store.create(input.ctx, createInput);
316
- return { dataset, fullRows: rows, pagesFetched };
349
+ return { dataset, fullRows: persistedRows, pagesFetched };
317
350
  }
318
351
  export function extractRows(result) {
319
352
  if (Array.isArray(result))
@@ -424,6 +457,20 @@ export function checkFilterMatchRates(warnings, fullRowCount, checks) {
424
457
  warnings.push(`Filter '${check.paramName}' requested ${JSON.stringify(check.requestedValues)} but no returned row matches — the server may not honor this filter. Observed values: ${sample}${overflow}.`);
425
458
  }
426
459
  }
460
+ /**
461
+ * Build a `FilterMatchCheck` for an FK identifier filter — the user's input
462
+ * values are compared against a fresh distribution computed over `fieldName`
463
+ * on the returned rows. Surfaces silently-ignored FK filters as warnings
464
+ * without polluting the public `result.distributions` shape with raw DbId
465
+ * frequencies (which carry no semantic meaning to the agent).
466
+ */
467
+ export function fkMatchCheck(paramName, requestedValues, rows, fieldName) {
468
+ return {
469
+ paramName,
470
+ requestedValues,
471
+ distribution: computeDistribution(rows, (r) => asString(r[fieldName])),
472
+ };
473
+ }
427
474
  /**
428
475
  * Compose a refinement hint for a too-large result set. Picks the highest-
429
476
  * 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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"}