@cyanheads/brapi-mcp-server 0.4.4 → 0.4.6
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.
- package/CLAUDE.md +4 -4
- package/README.md +12 -3
- package/changelog/0.4.x/0.4.5.md +25 -0
- package/changelog/0.4.x/0.4.6.md +26 -0
- package/dist/mcp-server/tools/definitions/brapi-connect.tool.d.ts +1 -0
- package/dist/mcp-server/tools/definitions/brapi-connect.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-germplasm.tool.d.ts +7 -1
- package/dist/mcp-server/tools/definitions/brapi-find-germplasm.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-germplasm.tool.js +23 -5
- package/dist/mcp-server/tools/definitions/brapi-find-germplasm.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-images.tool.d.ts +7 -1
- package/dist/mcp-server/tools/definitions/brapi-find-images.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-images.tool.js +23 -5
- package/dist/mcp-server/tools/definitions/brapi-find-images.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-locations.tool.d.ts +7 -1
- package/dist/mcp-server/tools/definitions/brapi-find-locations.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-locations.tool.js +23 -5
- package/dist/mcp-server/tools/definitions/brapi-find-locations.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-observations.tool.d.ts +7 -1
- package/dist/mcp-server/tools/definitions/brapi-find-observations.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-observations.tool.js +23 -5
- package/dist/mcp-server/tools/definitions/brapi-find-observations.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-studies.tool.d.ts +7 -1
- package/dist/mcp-server/tools/definitions/brapi-find-studies.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-studies.tool.js +23 -5
- package/dist/mcp-server/tools/definitions/brapi-find-studies.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-variables.tool.d.ts +7 -1
- package/dist/mcp-server/tools/definitions/brapi-find-variables.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-variables.tool.js +22 -5
- package/dist/mcp-server/tools/definitions/brapi-find-variables.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-variants.tool.d.ts +7 -1
- package/dist/mcp-server/tools/definitions/brapi-find-variants.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-find-variants.tool.js +23 -5
- package/dist/mcp-server/tools/definitions/brapi-find-variants.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/brapi-server-info.tool.d.ts +1 -0
- package/dist/mcp-server/tools/definitions/brapi-server-info.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/index.d.ts +44 -7
- package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
- package/dist/mcp-server/tools/shared/connect-auth-schema.js +2 -2
- package/dist/mcp-server/tools/shared/connect-auth-schema.js.map +1 -1
- package/dist/mcp-server/tools/shared/find-helpers.d.ts +45 -6
- package/dist/mcp-server/tools/shared/find-helpers.d.ts.map +1 -1
- package/dist/mcp-server/tools/shared/find-helpers.js +99 -17
- package/dist/mcp-server/tools/shared/find-helpers.js.map +1 -1
- package/dist/mcp-server/tools/shared/orientation-envelope.d.ts +2 -0
- package/dist/mcp-server/tools/shared/orientation-envelope.d.ts.map +1 -1
- package/dist/mcp-server/tools/shared/orientation-envelope.js +11 -0
- package/dist/mcp-server/tools/shared/orientation-envelope.js.map +1 -1
- package/dist/services/brapi-client/brapi-client.d.ts.map +1 -1
- package/dist/services/brapi-client/brapi-client.js +1 -1
- package/dist/services/brapi-client/brapi-client.js.map +1 -1
- package/dist/services/brapi-dialect/brapi-test-dialect.d.ts +24 -0
- package/dist/services/brapi-dialect/brapi-test-dialect.d.ts.map +1 -0
- package/dist/services/brapi-dialect/brapi-test-dialect.js +148 -0
- package/dist/services/brapi-dialect/brapi-test-dialect.js.map +1 -0
- package/dist/services/brapi-dialect/cassavabase-dialect.d.ts +7 -6
- package/dist/services/brapi-dialect/cassavabase-dialect.d.ts.map +1 -1
- package/dist/services/brapi-dialect/cassavabase-dialect.js +23 -42
- package/dist/services/brapi-dialect/cassavabase-dialect.js.map +1 -1
- package/dist/services/brapi-dialect/detect.d.ts +5 -3
- package/dist/services/brapi-dialect/detect.d.ts.map +1 -1
- package/dist/services/brapi-dialect/detect.js +21 -7
- package/dist/services/brapi-dialect/detect.js.map +1 -1
- package/dist/services/brapi-dialect/index.d.ts +2 -1
- package/dist/services/brapi-dialect/index.d.ts.map +1 -1
- package/dist/services/brapi-dialect/index.js +2 -1
- package/dist/services/brapi-dialect/index.js.map +1 -1
- package/dist/services/brapi-dialect/registry.d.ts.map +1 -1
- package/dist/services/brapi-dialect/registry.js +4 -1
- package/dist/services/brapi-dialect/registry.js.map +1 -1
- package/dist/services/brapi-dialect/singularizing-dialect.d.ts +47 -0
- package/dist/services/brapi-dialect/singularizing-dialect.d.ts.map +1 -0
- package/dist/services/brapi-dialect/singularizing-dialect.js +63 -0
- package/dist/services/brapi-dialect/singularizing-dialect.js.map +1 -0
- package/dist/services/brapi-dialect/spec-dialect.d.ts +7 -5
- package/dist/services/brapi-dialect/spec-dialect.d.ts.map +1 -1
- package/dist/services/brapi-dialect/spec-dialect.js +8 -6
- package/dist/services/brapi-dialect/spec-dialect.js.map +1 -1
- package/dist/services/brapi-dialect/types.d.ts +16 -1
- package/dist/services/brapi-dialect/types.d.ts.map +1 -1
- package/dist/services/capability-registry/capability-registry.d.ts.map +1 -1
- package/dist/services/capability-registry/capability-registry.js +30 -10
- package/dist/services/capability-registry/capability-registry.js.map +1 -1
- package/dist/services/capability-registry/types.d.ts +6 -0
- package/dist/services/capability-registry/types.d.ts.map +1 -1
- package/dist/services/server-registry/server-registry.d.ts +1 -0
- package/dist/services/server-registry/server-registry.d.ts.map +1 -1
- package/dist/services/server-registry/server-registry.js +31 -1
- package/dist/services/server-registry/server-registry.js.map +1 -1
- package/package.json +4 -4
- 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.
|
|
4
|
+
**Version:** 0.4.6
|
|
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.
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
When the user asks what to do next, what's left, or needs direction, suggest relevant options based on the current project state:
|
|
14
14
|
|
|
15
|
-
1. **Re-run the `setup` skill** — ensures
|
|
15
|
+
1. **Re-run the `setup` skill** — ensures AGENTS.md, skills, structure, and metadata are populated and up to date with the current codebase
|
|
16
16
|
2. **Run the `design-mcp-server` skill** — if the tool/resource surface hasn't been mapped yet, work through domain design
|
|
17
17
|
3. **Add tools/resources/prompts** — scaffold new definitions using the `add-tool`, `add-app-tool`, `add-resource`, `add-prompt` skills
|
|
18
18
|
4. **Add services** — scaffold domain service integrations using the `add-service` skill
|
|
@@ -284,7 +284,7 @@ src/
|
|
|
284
284
|
|
|
285
285
|
Skills are modular instructions in `skills/` at the project root. Read them directly when a task matches — e.g., `skills/add-tool/SKILL.md` when adding a tool.
|
|
286
286
|
|
|
287
|
-
**Agent skill directory:** Copy skills into the directory your agent discovers (Claude Code: `.claude/skills/`, others: equivalent). This makes skills available as context without needing to reference `skills/` paths manually. After framework updates, run the `maintenance` skill — it re-syncs the agent directory automatically (Phase B).
|
|
287
|
+
**Agent skill directory:** Copy skills into the directory your agent discovers (Claude Code: `.claude/skills/`, Codex: `.codex/skills/`, shared: `.agents/skills/`, others: equivalent). This makes skills available as context without needing to reference `skills/` paths manually. After framework updates, run the `maintenance` skill — it re-syncs the agent directory automatically (Phase B).
|
|
288
288
|
|
|
289
289
|
Available skills:
|
|
290
290
|
|
|
@@ -380,7 +380,7 @@ import { getMyService } from '@/services/my-domain/my-service.js';
|
|
|
380
380
|
- [ ] JSDoc `@fileoverview` + `@module` on every file
|
|
381
381
|
- [ ] `ctx.log` for logging, `ctx.state` for storage — no `console`, no direct persistence access
|
|
382
382
|
- [ ] Handlers throw on failure — error factories or plain `Error`, no try/catch
|
|
383
|
-
- [ ] `format()` renders all data the LLM needs — different clients forward different surfaces (
|
|
383
|
+
- [ ] `format()` renders all data the LLM needs — different clients forward different surfaces (Codex → `structuredContent`, Codex Desktop → `content[]`); both must carry the same data
|
|
384
384
|
- [ ] BrAPI tool: resolves connection via `ServerRegistry.get(ctx, alias ?? DEFAULT_ALIAS)` before touching the client
|
|
385
385
|
- [ ] BrAPI tool: gates the call with `CapabilityRegistry.ensure(...)` — never fires against an endpoint the server didn't advertise
|
|
386
386
|
- [ ] BrAPI tool: raw / domain / output schemas reviewed against real upstream sparsity (most `/germplasm` and `/studies` fields are optional in the wild)
|
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
<div align="center">
|
|
9
9
|
|
|
10
|
-
[](https://www.npmjs.com/package/@cyanheads/brapi-mcp-server) [](https://www.npmjs.com/package/@cyanheads/brapi-mcp-server) [](./CHANGELOG.md) [](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) [](https://modelcontextprotocol.io/)
|
|
11
11
|
|
|
12
12
|
[](./LICENSE) [](https://www.typescriptlang.org/) [](https://bun.sh/) [](./CHANGELOG.md)
|
|
13
13
|
|
|
@@ -70,7 +70,7 @@ Nineteen tools grouped by shape — connection tools bootstrap a session, `find_
|
|
|
70
70
|
Session bootstrap. Authenticates to a BrAPI v2 server, registers the connection under a named alias, loads the capability profile via `CapabilityRegistry`, and inlines the full orientation envelope in the response. One call fully orients the agent.
|
|
71
71
|
|
|
72
72
|
- `baseUrl` and `auth` are optional — when omitted they fall back to `BRAPI_<ALIAS>_*`, then `BRAPI_DEFAULT_*` env vars. Agents can call `brapi_connect({ alias: 'cassava' })` with nothing else and credentials never enter the LLM context (see [Per-alias credentials](#per-alias-credentials))
|
|
73
|
-
- Tagged-union auth input: `none`, `sgn` (session-token exchange), `oauth2` (
|
|
73
|
+
- Tagged-union auth input: `none`, `sgn` (session-token exchange), `oauth2` (client-credentials exchange), `bearer`, `api_key`
|
|
74
74
|
- Multiple concurrent connections per session via distinct aliases
|
|
75
75
|
- Forces a fresh capability load on every connect — the agent expects current state
|
|
76
76
|
- Returns the same envelope as `brapi_server_info` — server identity, auth status, capability profile (supported/missing calls), content summary, server-specific notes
|
|
@@ -310,13 +310,16 @@ BrAPI-specific:
|
|
|
310
310
|
|
|
311
311
|
- **Multi-server session** — `ServerRegistry` maps aliases to live BrAPI connections, so one agent session can span Breedbase, T3, and Sweetpotatobase in parallel
|
|
312
312
|
- **Capability-aware calls** — `CapabilityRegistry` caches the `/serverinfo` profile per connection and guards every tool call against unsupported endpoints before they hit the wire
|
|
313
|
+
- **Tolerant capability discovery** — if `/serverinfo` is unavailable or sparse, discovery falls back to `/calls` and returns a partial orientation envelope with explicit notes
|
|
314
|
+
- **Find-route planning** — curated `find_*` tools prefer GET list endpoints, then fall back to POST `/search/{noun}` when only search is advertised
|
|
313
315
|
- **Dataset spillover** — `find_*` tools cap in-context rows at `loadLimit` and transparently persist larger unions (up to 50k rows / 50 pages) as handles in `DatasetStore`; `brapi_manage_dataset` pages / projects / deletes them
|
|
314
316
|
- **Async-search transparency** — `brapi_find_genotype_calls` and `brapi_raw_search` handle the `POST /search/{noun}` → `GET /search/{noun}/{id}` 202-retry pattern without the agent needing to know
|
|
315
317
|
- **Pedigree DAG walks** — `brapi_walk_pedigree` BFS-traverses ancestry or descendancy with cycle detection, depth limits, and traversal stats — BrAPI only exposes one generation per call
|
|
316
318
|
- **Image content** — `brapi_get_image` fetches image bytes inline as MCP `type: image` blocks, preferring `/images/{id}/imagecontent` and falling back to the metadata `imageURL` field
|
|
317
319
|
- **Free-text variable ranking** — `OntologyResolver` scores variable records against a query (PUI / name / synonym / trait-class) so `find_variables text:"..."` returns ranked candidates even when the server has no `/ontologies` endpoint
|
|
318
320
|
- **Dynamic filter discovery** — static v2.1 filter catalog plus an `extraFilters` passthrough lets agents drive any server-specific filter without schema churn
|
|
319
|
-
- **Auth variants in one schema** — tagged-union connection auth covers none / bearer / api-key / SGN session-token exchange in a single input shape
|
|
321
|
+
- **Auth variants in one schema** — tagged-union connection auth covers none / bearer / api-key / SGN session-token exchange / OAuth2 client-credentials exchange in a single input shape
|
|
322
|
+
- **Compatibility matrix** — live server probes are tracked in [docs/compatibility.md](./docs/compatibility.md)
|
|
320
323
|
- **Typed error contracts** — every declared failure mode carries a stable `data.reason`, an HTTP-style `code`, and a `recovery.hint` mirrored onto the wire, so agent clients can route errors deterministically (e.g. `unknown_alias` → re-run `brapi_connect`, `dataset_not_found` → drop the stale handle)
|
|
321
324
|
- **Last-resort escape hatches** — `brapi_raw_get` and `brapi_raw_search` pass through to any endpoint with routing nudges pointing at the curated tool when one exists
|
|
322
325
|
|
|
@@ -487,6 +490,12 @@ BRAPI_CASSAVA_PASSWORD=...
|
|
|
487
490
|
BRAPI_PROD_BASE_URL=https://my-brapi.example.com/brapi/v2
|
|
488
491
|
BRAPI_PROD_API_KEY=...
|
|
489
492
|
BRAPI_PROD_API_KEY_HEADER=X-API-Key
|
|
493
|
+
|
|
494
|
+
# Register an OAuth2 client-credentials server as alias 'secure'
|
|
495
|
+
BRAPI_SECURE_BASE_URL=https://my-oauth-brapi.example.com/brapi/v2
|
|
496
|
+
BRAPI_SECURE_OAUTH_CLIENT_ID=...
|
|
497
|
+
BRAPI_SECURE_OAUTH_CLIENT_SECRET=...
|
|
498
|
+
BRAPI_SECURE_OAUTH_TOKEN_URL=https://auth.example.com/oauth/token
|
|
490
499
|
```
|
|
491
500
|
|
|
492
501
|
Then the agent calls `brapi_connect({ alias: 'cassava' })` — no `baseUrl`, no `auth`, no secrets in the prompt.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Compatibility upgrade: OAuth2 client credentials, tolerant capability fallback, route-planned find tools, and live server matrix."
|
|
3
|
+
breaking: false
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 0.4.5 — 2026-05-01
|
|
7
|
+
|
|
8
|
+
This release widens real-server compatibility without changing tool names or required inputs. The focus is making connection setup, capability discovery, and curated find tools adapt to what each BrAPI server actually advertises.
|
|
9
|
+
|
|
10
|
+
## Added
|
|
11
|
+
|
|
12
|
+
- **OAuth2 client-credentials auth** — `brapi_connect` now exchanges `mode: "oauth2"` credentials for an access token at connect time. Env-derived aliases support `BRAPI_<ALIAS>_OAUTH_CLIENT_ID`, `BRAPI_<ALIAS>_OAUTH_CLIENT_SECRET`, and optional `BRAPI_<ALIAS>_OAUTH_TOKEN_URL`.
|
|
13
|
+
- **Find-route planner** — curated `find_*` tools now prefer advertised GET list endpoints and fall back to POST `/search/{noun}` when the server only advertises search.
|
|
14
|
+
- **Dialect coverage** — added `breedbase` and `brapi-test` dialect ids. CassavaBase keeps the historical `cassavabase` id; sister SGN/Breedbase deployments now resolve to `breedbase`.
|
|
15
|
+
- **Compatibility matrix** — `docs/compatibility.md` records live `/serverinfo` probes for BrAPI Test Server, CassavaBase, SweetpotatoBase, T3/Wheat, and FAIDARE/GnpIS.
|
|
16
|
+
|
|
17
|
+
## Changed
|
|
18
|
+
|
|
19
|
+
- **Capability discovery** now tolerates missing or malformed `/serverinfo` by falling back to `/calls`, returning a partial orientation envelope with explicit notes instead of failing the connection outright.
|
|
20
|
+
- **Orientation envelopes** now surface dialect-level compatibility notes alongside disabled search routes.
|
|
21
|
+
|
|
22
|
+
## Fixed
|
|
23
|
+
|
|
24
|
+
- `oauth2` is no longer a schema-only auth variant that fails at runtime.
|
|
25
|
+
- Curated find tools no longer fail solely because a server advertises only POST `/search/{noun}` for a supported resource.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "BrAPI Test Server v2.0 dialect, shared singularizing engine, and typed all_filters_dropped guard across find_* tools."
|
|
3
|
+
breaking: false
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 0.4.6 — 2026-05-01
|
|
7
|
+
|
|
8
|
+
Real-server dialect work. The BrAPI Community Test Server advertises v2.1 but its GET list endpoints honor only the older v2.0 singular filter names — `studyDbIds` is silently ignored, `studyDbId` filters correctly. Two Issues surfaced from live probing: `find_observations` returned the unfiltered set when scoped by study, and `get_germplasm`'s studyCount probe returned the global studies total instead of the per-germplasm count. Both root in the same v2.0/v2.1 mismatch. This release adds a real `brapi-test` dialect, factors the SGN/Breedbase translation engine into a shared module, and wires a typed `all_filters_dropped` failure across the `find_*` surface so an upstream that drops every supplied scope filter no longer silently widens to the unfiltered baseline.
|
|
9
|
+
|
|
10
|
+
## Added
|
|
11
|
+
|
|
12
|
+
- **`brapi-test` dialect** — was a stub that passed filters through verbatim; now translates v2.1 plurals to v2.0 singulars on `/studies`, `/germplasm`, `/observations`, `/locations`, `/variables`, `/images`, `/variants`, `/trials`, `/programs`. Drops `searchText` on `/germplasm` and `observationLevel(s)` + `studyDbId(s)` on `/observations` (broken upstream in both forms — verified empirically). POST `/search/{noun}` routes are NOT marked disabled — the test server serves them correctly with v2.1 plurals, so multi-value queries can still escalate to `/search`.
|
|
13
|
+
- **`createSingularizingDialect` factory** — `src/services/brapi-dialect/singularizing-dialect.ts`. Generic engine for dialects that translate plural BrAPI v2.1 filter names to v2.0 singulars, drop blacklisted keys, and downcast multi-value arrays to the first element with a loud warning. Used by both the SGN/Breedbase family and the BrAPI Community Test Server — the engine is shared, only the per-server data (mapping, drop list, disabled-search list, notes) lives in each dialect module.
|
|
14
|
+
- **Typed `all_filters_dropped` error contract** — declared on every `find_*` tool (`brapi_find_germplasm`, `brapi_find_images`, `brapi_find_locations`, `brapi_find_observations`, `brapi_find_studies`, `brapi_find_variables`, `brapi_find_variants`). When the active dialect drops every agent-supplied scope filter, the tool now throws a `ValidationError` with `data.reason = 'all_filters_dropped'`, the dropped filter list, and a per-tool recovery hint listing the supported filter paths — instead of silently widening the query to the unfiltered baseline. Bare-baseline calls (no filters supplied) are exempt.
|
|
15
|
+
|
|
16
|
+
## Changed
|
|
17
|
+
|
|
18
|
+
- **CassavaBase dialect refactor** — the per-endpoint translation engine moved out of `cassavabase-dialect.ts` into the shared `singularizing-dialect.ts` factory. CassavaBase now supplies only its SGN-specific data (mapping, drop list, disabled-search list, notes) and delegates the engine. No behavior change for SGN-family servers; the same plural→singular translation, search-route gating, and warning text apply.
|
|
19
|
+
- **`DialectAdaptation`** now carries a structured `dropped: readonly string[]` alongside `filters` and `warnings`. Lets callers detect "agent intended to scope, dialect couldn't honor any of it" without parsing warning strings.
|
|
20
|
+
- **`get_germplasm` studyCount probe** routes through the dialect adapter so per-server key translation takes effect. Previously sent `germplasmDbIds` (plural) verbatim, which the BrAPI Test Server silently ignored — the probe returned the global studies total instead of the per-germplasm count. Now sends the dialect-translated key (`germplasmDbId` on the test server, the relevant v2.0 form on SGN-family servers) and skips the probe entirely with a warning when the dialect drops the filter.
|
|
21
|
+
- **`applyDialectFiltersOrFail` helper** in `src/mcp-server/tools/shared/find-helpers.ts` consolidates the dialect-apply + all-dropped-throw block that was previously duplicated 13 lines per tool across all seven `find_*` tools. ~85 lines net removed.
|
|
22
|
+
|
|
23
|
+
## Fixed
|
|
24
|
+
|
|
25
|
+
- **`find_observations` on the BrAPI Test Server** — `studies: ['studyN']` no longer returns the unfiltered observation set. The dialect now drops `studyDbId(s)` entirely (broken in both GET singular and POST `/search` plural forms upstream — neither shape narrows the result set), surfaces a warning, and the typed `all_filters_dropped` guard prevents the query from running unfiltered when `studies` was the only filter supplied. Agents should scope by `germplasm`, `observationUnits`, or `variables` instead — all of which DO filter correctly on the test server.
|
|
26
|
+
- **`get_germplasm` studyCount on the BrAPI Test Server** — was returning the global studies total because `/studies?germplasmDbIds=X` is silently ignored upstream; now sends `germplasmDbId=X` (singular) via the dialect adapter and the cross-check confirms the filtered count differs from the unfiltered baseline.
|
|
@@ -69,6 +69,7 @@ export declare const brapiConnect: import("@cyanheads/mcp-ts-core").ToolDefiniti
|
|
|
69
69
|
}>;
|
|
70
70
|
envVar: z.ZodString;
|
|
71
71
|
disabledSearchEndpoints: z.ZodArray<z.ZodString>;
|
|
72
|
+
notes: z.ZodArray<z.ZodString>;
|
|
72
73
|
}, z.core.$strip>;
|
|
73
74
|
content: z.ZodObject<{
|
|
74
75
|
crops: z.ZodArray<z.ZodString>;
|
|
@@ -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
|
|
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"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* @module mcp-server/tools/definitions/brapi-find-germplasm.tool
|
|
8
8
|
*/
|
|
9
9
|
import { z } from '@cyanheads/mcp-ts-core';
|
|
10
|
+
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
10
11
|
export declare const brapiFindGermplasm: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
|
|
11
12
|
alias: z.ZodOptional<z.ZodString>;
|
|
12
13
|
names: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -68,5 +69,10 @@ export declare const brapiFindGermplasm: import("@cyanheads/mcp-ts-core").ToolDe
|
|
|
68
69
|
}, z.core.$strip>>;
|
|
69
70
|
warnings: z.ZodArray<z.ZodString>;
|
|
70
71
|
appliedFilters: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
71
|
-
}, z.core.$strip>,
|
|
72
|
+
}, z.core.$strip>, readonly [{
|
|
73
|
+
readonly reason: "all_filters_dropped";
|
|
74
|
+
readonly code: JsonRpcErrorCode.ValidationError;
|
|
75
|
+
readonly when: "The active dialect dropped every filter the agent supplied — the upstream server does not honor any of the requested scope filters on this endpoint, so the call would silently widen to the unfiltered baseline.";
|
|
76
|
+
readonly recovery: "Drop the unsupported filters and rescope by names, germplasmDbIds, germplasmPUIs, accessionNumbers, crops, synonyms, genus, or species — these filter paths are honored on the active dialect.";
|
|
77
|
+
}]>;
|
|
72
78
|
//# sourceMappingURL=brapi-find-germplasm.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brapi-find-germplasm.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-find-germplasm.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"brapi-find-germplasm.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-find-germplasm.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA6IjE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiT7B,CAAC"}
|
|
@@ -7,13 +7,14 @@
|
|
|
7
7
|
* @module mcp-server/tools/definitions/brapi-find-germplasm.tool
|
|
8
8
|
*/
|
|
9
9
|
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
10
|
+
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
10
11
|
import { getServerConfig } from '../../../config/server-config.js';
|
|
11
12
|
import { getBrapiClient } from '../../../services/brapi-client/index.js';
|
|
12
13
|
import { resolveDialect } from '../../../services/brapi-dialect/index.js';
|
|
13
14
|
import { getCapabilityRegistry } from '../../../services/capability-registry/index.js';
|
|
14
15
|
import { getDatasetStore } from '../../../services/dataset-store/index.js';
|
|
15
16
|
import { DEFAULT_ALIAS, getServerRegistry } from '../../../services/server-registry/index.js';
|
|
16
|
-
import { AliasInput,
|
|
17
|
+
import { AliasInput, applyDialectFiltersOrFail, asString, buildRefinementHint, checkFilterMatchRates, collectPassthroughParts, computeDistribution, DatasetHandleSchema, ExtraFiltersInput, LoadLimitInput, loadInitialFindPage, maybeSpill, mergeFilters, renderAppliedFilters, renderDatasetHandle, renderDistributions, renderFindHeader, resolveFindRoute, } from '../shared/find-helpers.js';
|
|
17
18
|
const GermplasmRowSchema = z
|
|
18
19
|
.object({
|
|
19
20
|
germplasmDbId: z.string().describe('Server-side identifier for the germplasm.'),
|
|
@@ -118,6 +119,14 @@ const SERVER_TO_USER = {
|
|
|
118
119
|
export const brapiFindGermplasm = tool('brapi_find_germplasm', {
|
|
119
120
|
description: 'Find germplasm by name, synonym, accession number, PUI, crop, or free-text query. Matches across registered synonyms. Returns a dataset handle when the upstream total exceeds loadLimit.',
|
|
120
121
|
annotations: { readOnlyHint: true, openWorldHint: true },
|
|
122
|
+
errors: [
|
|
123
|
+
{
|
|
124
|
+
reason: 'all_filters_dropped',
|
|
125
|
+
code: JsonRpcErrorCode.ValidationError,
|
|
126
|
+
when: 'The active dialect dropped every filter the agent supplied — the upstream server does not honor any of the requested scope filters on this endpoint, so the call would silently widen to the unfiltered baseline.',
|
|
127
|
+
recovery: 'Drop the unsupported filters and rescope by names, germplasmDbIds, germplasmPUIs, accessionNumbers, crops, synonyms, genus, or species — these filter paths are honored on the active dialect.',
|
|
128
|
+
},
|
|
129
|
+
],
|
|
121
130
|
input: z.object({
|
|
122
131
|
alias: AliasInput,
|
|
123
132
|
names: z.array(z.string()).optional().describe('Filter by germplasm display names.'),
|
|
@@ -150,7 +159,7 @@ export const brapiFindGermplasm = tool('brapi_find_germplasm', {
|
|
|
150
159
|
const capabilityLookup = {};
|
|
151
160
|
if (connection.resolvedAuth)
|
|
152
161
|
capabilityLookup.auth = connection.resolvedAuth;
|
|
153
|
-
await capabilities.
|
|
162
|
+
const profile = await capabilities.profile(connection.baseUrl, ctx, capabilityLookup);
|
|
154
163
|
const dialect = await resolveDialect(connection, ctx, capabilityLookup);
|
|
155
164
|
const warnings = [];
|
|
156
165
|
const merged = mergeFilters({
|
|
@@ -164,9 +173,17 @@ export const brapiFindGermplasm = tool('brapi_find_germplasm', {
|
|
|
164
173
|
genus: input.genus,
|
|
165
174
|
species: input.species,
|
|
166
175
|
}, input.extraFilters, warnings);
|
|
167
|
-
const filters =
|
|
176
|
+
const filters = applyDialectFiltersOrFail(ctx, dialect, 'germplasm', merged, warnings);
|
|
177
|
+
const route = resolveFindRoute({
|
|
178
|
+
profile,
|
|
179
|
+
dialect,
|
|
180
|
+
endpoint: 'germplasm',
|
|
181
|
+
filters,
|
|
182
|
+
searchBody: merged,
|
|
183
|
+
warnings,
|
|
184
|
+
});
|
|
168
185
|
const loadLimit = input.loadLimit ?? config.loadLimit;
|
|
169
|
-
const firstPage = await
|
|
186
|
+
const firstPage = await loadInitialFindPage(client, connection, route, loadLimit, ctx);
|
|
170
187
|
// Free-text matching is client-side. No BrAPI server reliably honors a
|
|
171
188
|
// free-text query parameter on /germplasm — earlier versions of this tool
|
|
172
189
|
// sent `searchText`, which CassavaBase and the Test Server both silently
|
|
@@ -188,6 +205,7 @@ export const brapiFindGermplasm = tool('brapi_find_germplasm', {
|
|
|
188
205
|
connection,
|
|
189
206
|
path: '/germplasm',
|
|
190
207
|
filters,
|
|
208
|
+
route,
|
|
191
209
|
source: 'find_germplasm',
|
|
192
210
|
loadLimit,
|
|
193
211
|
ctx,
|
|
@@ -267,7 +285,7 @@ export const brapiFindGermplasm = tool('brapi_find_germplasm', {
|
|
|
267
285
|
hasMore: firstPage.hasMore,
|
|
268
286
|
distributions,
|
|
269
287
|
warnings,
|
|
270
|
-
appliedFilters: filters,
|
|
288
|
+
appliedFilters: route.kind === 'search' ? route.searchBody : filters,
|
|
271
289
|
};
|
|
272
290
|
if (refinementHint)
|
|
273
291
|
result.refinementHint = refinementHint;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brapi-find-germplasm.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-find-germplasm.tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"brapi-find-germplasm.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-find-germplasm.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* @module mcp-server/tools/definitions/brapi-find-images.tool
|
|
8
8
|
*/
|
|
9
9
|
import { z } from '@cyanheads/mcp-ts-core';
|
|
10
|
+
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
10
11
|
export declare const brapiFindImages: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
|
|
11
12
|
alias: z.ZodOptional<z.ZodString>;
|
|
12
13
|
images: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -61,5 +62,10 @@ export declare const brapiFindImages: import("@cyanheads/mcp-ts-core").ToolDefin
|
|
|
61
62
|
}, z.core.$strip>>;
|
|
62
63
|
warnings: z.ZodArray<z.ZodString>;
|
|
63
64
|
appliedFilters: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
64
|
-
}, z.core.$strip>,
|
|
65
|
+
}, z.core.$strip>, readonly [{
|
|
66
|
+
readonly reason: "all_filters_dropped";
|
|
67
|
+
readonly code: JsonRpcErrorCode.ValidationError;
|
|
68
|
+
readonly when: "The active dialect dropped every filter the agent supplied — the upstream server does not honor any of the requested scope filters on this endpoint, so the call would silently widen to the unfiltered baseline.";
|
|
69
|
+
readonly recovery: "Drop the unsupported filters and rescope by images, observationUnits, observations, studies, descriptiveOntologyTerms, imageFileNames, or mimeTypes — these filter paths are honored on the active dialect.";
|
|
70
|
+
}]>;
|
|
65
71
|
//# sourceMappingURL=brapi-find-images.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brapi-find-images.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-find-images.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"brapi-find-images.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-find-images.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA4HjE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6O1B,CAAC"}
|
|
@@ -7,13 +7,14 @@
|
|
|
7
7
|
* @module mcp-server/tools/definitions/brapi-find-images.tool
|
|
8
8
|
*/
|
|
9
9
|
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
10
|
+
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
10
11
|
import { getServerConfig } from '../../../config/server-config.js';
|
|
11
12
|
import { getBrapiClient } from '../../../services/brapi-client/index.js';
|
|
12
13
|
import { resolveDialect } from '../../../services/brapi-dialect/index.js';
|
|
13
14
|
import { getCapabilityRegistry } from '../../../services/capability-registry/index.js';
|
|
14
15
|
import { getDatasetStore } from '../../../services/dataset-store/index.js';
|
|
15
16
|
import { DEFAULT_ALIAS, getServerRegistry } from '../../../services/server-registry/index.js';
|
|
16
|
-
import { AliasInput,
|
|
17
|
+
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
18
|
const ImageRowSchema = z
|
|
18
19
|
.object({
|
|
19
20
|
imageDbId: z.string().describe('Server-side identifier for the image.'),
|
|
@@ -105,6 +106,14 @@ const SERVER_TO_USER = {
|
|
|
105
106
|
export const brapiFindImages = tool('brapi_find_images', {
|
|
106
107
|
description: 'Filter images by observation unit, observation, study, descriptive ontology term, file name, or MIME type. Returns metadata only — use brapi_get_image to fetch bytes inline. Returns a dataset handle when the upstream total exceeds loadLimit.',
|
|
107
108
|
annotations: { readOnlyHint: true, openWorldHint: true },
|
|
109
|
+
errors: [
|
|
110
|
+
{
|
|
111
|
+
reason: 'all_filters_dropped',
|
|
112
|
+
code: JsonRpcErrorCode.ValidationError,
|
|
113
|
+
when: 'The active dialect dropped every filter the agent supplied — the upstream server does not honor any of the requested scope filters on this endpoint, so the call would silently widen to the unfiltered baseline.',
|
|
114
|
+
recovery: 'Drop the unsupported filters and rescope by images, observationUnits, observations, studies, descriptiveOntologyTerms, imageFileNames, or mimeTypes — these filter paths are honored on the active dialect.',
|
|
115
|
+
},
|
|
116
|
+
],
|
|
108
117
|
input: z.object({
|
|
109
118
|
alias: AliasInput,
|
|
110
119
|
images: z.array(z.string()).optional().describe('Filter by imageDbIds.'),
|
|
@@ -134,7 +143,7 @@ export const brapiFindImages = tool('brapi_find_images', {
|
|
|
134
143
|
const capabilityLookup = {};
|
|
135
144
|
if (connection.resolvedAuth)
|
|
136
145
|
capabilityLookup.auth = connection.resolvedAuth;
|
|
137
|
-
await capabilities.
|
|
146
|
+
const profile = await capabilities.profile(connection.baseUrl, ctx, capabilityLookup);
|
|
138
147
|
const dialect = await resolveDialect(connection, ctx, capabilityLookup);
|
|
139
148
|
const warnings = [];
|
|
140
149
|
const merged = mergeFilters({
|
|
@@ -146,15 +155,24 @@ export const brapiFindImages = tool('brapi_find_images', {
|
|
|
146
155
|
mimeTypes: input.mimeTypes,
|
|
147
156
|
descriptiveOntologyTerms: input.descriptiveOntologyTerms,
|
|
148
157
|
}, input.extraFilters, warnings);
|
|
149
|
-
const filters =
|
|
158
|
+
const filters = applyDialectFiltersOrFail(ctx, dialect, 'images', merged, warnings);
|
|
159
|
+
const route = resolveFindRoute({
|
|
160
|
+
profile,
|
|
161
|
+
dialect,
|
|
162
|
+
endpoint: 'images',
|
|
163
|
+
filters,
|
|
164
|
+
searchBody: merged,
|
|
165
|
+
warnings,
|
|
166
|
+
});
|
|
150
167
|
const loadLimit = input.loadLimit ?? config.loadLimit;
|
|
151
|
-
const firstPage = await
|
|
168
|
+
const firstPage = await loadInitialFindPage(client, connection, route, loadLimit, ctx);
|
|
152
169
|
const { fullRows, dataset: datasetMeta } = await maybeSpill({
|
|
153
170
|
firstPage,
|
|
154
171
|
client,
|
|
155
172
|
connection,
|
|
156
173
|
path: '/images',
|
|
157
174
|
filters,
|
|
175
|
+
route,
|
|
158
176
|
source: 'find_images',
|
|
159
177
|
loadLimit,
|
|
160
178
|
ctx,
|
|
@@ -206,7 +224,7 @@ export const brapiFindImages = tool('brapi_find_images', {
|
|
|
206
224
|
hasMore: firstPage.hasMore,
|
|
207
225
|
distributions,
|
|
208
226
|
warnings,
|
|
209
|
-
appliedFilters: filters,
|
|
227
|
+
appliedFilters: route.kind === 'search' ? route.searchBody : filters,
|
|
210
228
|
};
|
|
211
229
|
if (refinementHint)
|
|
212
230
|
result.refinementHint = refinementHint;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brapi-find-images.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-find-images.tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"brapi-find-images.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-find-images.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* @module mcp-server/tools/definitions/brapi-find-locations.tool
|
|
9
9
|
*/
|
|
10
10
|
import { z } from '@cyanheads/mcp-ts-core';
|
|
11
|
+
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
11
12
|
export declare const brapiFindLocations: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
|
|
12
13
|
alias: z.ZodOptional<z.ZodString>;
|
|
13
14
|
locations: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -64,5 +65,10 @@ export declare const brapiFindLocations: import("@cyanheads/mcp-ts-core").ToolDe
|
|
|
64
65
|
spec: "spec";
|
|
65
66
|
swapped: "swapped";
|
|
66
67
|
}>;
|
|
67
|
-
}, z.core.$strip>,
|
|
68
|
+
}, z.core.$strip>, readonly [{
|
|
69
|
+
readonly reason: "all_filters_dropped";
|
|
70
|
+
readonly code: JsonRpcErrorCode.ValidationError;
|
|
71
|
+
readonly when: "The active dialect dropped every filter the agent supplied — the upstream server does not honor any of the requested scope filters on this endpoint, so the call would silently widen to the unfiltered baseline.";
|
|
72
|
+
readonly recovery: "Drop the unsupported filters and rescope by locations, locationNames, countryCodes, locationTypes, abbreviations, or bbox — these filter paths are honored on the active dialect.";
|
|
73
|
+
}]>;
|
|
68
74
|
//# sourceMappingURL=brapi-find-locations.tool.d.ts.map
|
|
@@ -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;
|
|
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"}
|
|
@@ -8,13 +8,14 @@
|
|
|
8
8
|
* @module mcp-server/tools/definitions/brapi-find-locations.tool
|
|
9
9
|
*/
|
|
10
10
|
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
11
|
+
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
11
12
|
import { getServerConfig } from '../../../config/server-config.js';
|
|
12
13
|
import { getBrapiClient } from '../../../services/brapi-client/index.js';
|
|
13
14
|
import { resolveDialect } from '../../../services/brapi-dialect/index.js';
|
|
14
15
|
import { getCapabilityRegistry } from '../../../services/capability-registry/index.js';
|
|
15
16
|
import { getDatasetStore } from '../../../services/dataset-store/index.js';
|
|
16
17
|
import { DEFAULT_ALIAS, getServerRegistry } from '../../../services/server-registry/index.js';
|
|
17
|
-
import { AliasInput,
|
|
18
|
+
import { AliasInput, applyDialectFiltersOrFail, asString, buildRefinementHint, checkFilterMatchRates, collectPassthroughParts, computeDistribution, DatasetHandleSchema, ExtraFiltersInput, extractCoordinates, hasPointGeometry, LoadLimitInput, loadInitialFindPage, maybeSpill, mergeFilters, renderAppliedFilters, renderDatasetHandle, renderDistributions, renderFindHeader, resolveFindRoute, } from '../shared/find-helpers.js';
|
|
18
19
|
const LocationRowSchema = z
|
|
19
20
|
.object({
|
|
20
21
|
locationDbId: z.string().describe('Server-side identifier for the location.'),
|
|
@@ -104,6 +105,14 @@ const SERVER_TO_USER = {
|
|
|
104
105
|
export const brapiFindLocations = tool('brapi_find_locations', {
|
|
105
106
|
description: 'Find research stations / field sites by country, abbreviation, type, location ID, or free-text. Optional bbox parameter restricts rows to a latitude/longitude window. When the spec-correct GeoJSON [lon, lat, alt] reading produces zero matches and at least one row carries a Point geometry, the bbox filter retries once with axes swapped (handles non-conformant servers that store [lat, lon, alt]) and surfaces a warning + `coordinateAxisOrder: "swapped"`. Returns a dataset handle when the upstream total exceeds loadLimit.',
|
|
106
107
|
annotations: { readOnlyHint: true, openWorldHint: true },
|
|
108
|
+
errors: [
|
|
109
|
+
{
|
|
110
|
+
reason: 'all_filters_dropped',
|
|
111
|
+
code: JsonRpcErrorCode.ValidationError,
|
|
112
|
+
when: 'The active dialect dropped every filter the agent supplied — the upstream server does not honor any of the requested scope filters on this endpoint, so the call would silently widen to the unfiltered baseline.',
|
|
113
|
+
recovery: 'Drop the unsupported filters and rescope by locations, locationNames, countryCodes, locationTypes, abbreviations, or bbox — these filter paths are honored on the active dialect.',
|
|
114
|
+
},
|
|
115
|
+
],
|
|
107
116
|
input: z.object({
|
|
108
117
|
alias: AliasInput,
|
|
109
118
|
locations: z.array(z.string()).optional().describe('Filter by locationDbIds.'),
|
|
@@ -157,7 +166,7 @@ export const brapiFindLocations = tool('brapi_find_locations', {
|
|
|
157
166
|
const capabilityLookup = {};
|
|
158
167
|
if (connection.resolvedAuth)
|
|
159
168
|
capabilityLookup.auth = connection.resolvedAuth;
|
|
160
|
-
await capabilities.
|
|
169
|
+
const profile = await capabilities.profile(connection.baseUrl, ctx, capabilityLookup);
|
|
161
170
|
const dialect = await resolveDialect(connection, ctx, capabilityLookup);
|
|
162
171
|
const warnings = [];
|
|
163
172
|
const merged = mergeFilters({
|
|
@@ -167,15 +176,24 @@ export const brapiFindLocations = tool('brapi_find_locations', {
|
|
|
167
176
|
locationTypes: input.locationTypes,
|
|
168
177
|
abbreviations: input.abbreviations,
|
|
169
178
|
}, input.extraFilters, warnings);
|
|
170
|
-
const filters =
|
|
179
|
+
const filters = applyDialectFiltersOrFail(ctx, dialect, 'locations', merged, warnings);
|
|
180
|
+
const route = resolveFindRoute({
|
|
181
|
+
profile,
|
|
182
|
+
dialect,
|
|
183
|
+
endpoint: 'locations',
|
|
184
|
+
filters,
|
|
185
|
+
searchBody: merged,
|
|
186
|
+
warnings,
|
|
187
|
+
});
|
|
171
188
|
const loadLimit = input.loadLimit ?? config.loadLimit;
|
|
172
|
-
const firstPage = await
|
|
189
|
+
const firstPage = await loadInitialFindPage(client, connection, route, loadLimit, ctx);
|
|
173
190
|
const { fullRows, dataset: datasetMeta } = await maybeSpill({
|
|
174
191
|
firstPage,
|
|
175
192
|
client,
|
|
176
193
|
connection,
|
|
177
194
|
path: '/locations',
|
|
178
195
|
filters,
|
|
196
|
+
route,
|
|
179
197
|
source: 'find_locations',
|
|
180
198
|
loadLimit,
|
|
181
199
|
ctx,
|
|
@@ -249,7 +267,7 @@ export const brapiFindLocations = tool('brapi_find_locations', {
|
|
|
249
267
|
hasMore: firstPage.hasMore,
|
|
250
268
|
distributions,
|
|
251
269
|
warnings,
|
|
252
|
-
appliedFilters: filters,
|
|
270
|
+
appliedFilters: route.kind === 'search' ? route.searchBody : filters,
|
|
253
271
|
coordinateAxisOrder,
|
|
254
272
|
};
|
|
255
273
|
if (refinementHint)
|