@cyanheads/brapi-mcp-server 0.7.9 → 0.7.11

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 (105) hide show
  1. package/CLAUDE.md +18 -13
  2. package/Dockerfile +19 -5
  3. package/README.md +6 -3
  4. package/changelog/0.7.x/0.7.10.md +12 -0
  5. package/changelog/0.7.x/0.7.11.md +43 -0
  6. package/changelog/template.md +55 -16
  7. package/dist/config/alias-credentials.js.map +1 -1
  8. package/dist/config/builtin-aliases.js.map +1 -1
  9. package/dist/mcp-server/resources/definitions/brapi-calls.resource.d.ts +3 -3
  10. package/dist/mcp-server/resources/definitions/brapi-calls.resource.d.ts.map +1 -1
  11. package/dist/mcp-server/resources/definitions/brapi-filters.resource.d.ts +3 -3
  12. package/dist/mcp-server/resources/definitions/brapi-filters.resource.d.ts.map +1 -1
  13. package/dist/mcp-server/resources/definitions/brapi-germplasm.resource.d.ts +6 -6
  14. package/dist/mcp-server/resources/definitions/brapi-germplasm.resource.d.ts.map +1 -1
  15. package/dist/mcp-server/resources/definitions/brapi-server-info.resource.d.ts +3 -3
  16. package/dist/mcp-server/resources/definitions/brapi-server-info.resource.d.ts.map +1 -1
  17. package/dist/mcp-server/resources/definitions/brapi-study.resource.d.ts +6 -6
  18. package/dist/mcp-server/resources/definitions/brapi-study.resource.d.ts.map +1 -1
  19. package/dist/mcp-server/resources/definitions/brapi-variable.resource.d.ts +6 -6
  20. package/dist/mcp-server/resources/definitions/brapi-variable.resource.d.ts.map +1 -1
  21. package/dist/mcp-server/tools/definitions/brapi-build-phenotype-matrix.tool.d.ts +19 -14
  22. package/dist/mcp-server/tools/definitions/brapi-build-phenotype-matrix.tool.d.ts.map +1 -1
  23. package/dist/mcp-server/tools/definitions/brapi-build-phenotype-matrix.tool.js +59 -19
  24. package/dist/mcp-server/tools/definitions/brapi-build-phenotype-matrix.tool.js.map +1 -1
  25. package/dist/mcp-server/tools/definitions/brapi-connect.tool.d.ts +12 -12
  26. package/dist/mcp-server/tools/definitions/brapi-connect.tool.d.ts.map +1 -1
  27. package/dist/mcp-server/tools/definitions/brapi-dataframe-describe.tool.d.ts +2 -2
  28. package/dist/mcp-server/tools/definitions/brapi-dataframe-describe.tool.d.ts.map +1 -1
  29. package/dist/mcp-server/tools/definitions/brapi-dataframe-export.tool.d.ts +14 -14
  30. package/dist/mcp-server/tools/definitions/brapi-dataframe-export.tool.d.ts.map +1 -1
  31. package/dist/mcp-server/tools/definitions/brapi-dataframe-query.tool.d.ts +9 -4
  32. package/dist/mcp-server/tools/definitions/brapi-dataframe-query.tool.d.ts.map +1 -1
  33. package/dist/mcp-server/tools/definitions/brapi-dataframe-query.tool.js +31 -0
  34. package/dist/mcp-server/tools/definitions/brapi-dataframe-query.tool.js.map +1 -1
  35. package/dist/mcp-server/tools/definitions/brapi-describe-filters.tool.d.ts +6 -6
  36. package/dist/mcp-server/tools/definitions/brapi-describe-filters.tool.d.ts.map +1 -1
  37. package/dist/mcp-server/tools/definitions/brapi-export-genotype-matrix.tool.d.ts +11 -11
  38. package/dist/mcp-server/tools/definitions/brapi-export-genotype-matrix.tool.d.ts.map +1 -1
  39. package/dist/mcp-server/tools/definitions/brapi-find-genotype-calls.tool.d.ts +11 -11
  40. package/dist/mcp-server/tools/definitions/brapi-find-genotype-calls.tool.d.ts.map +1 -1
  41. package/dist/mcp-server/tools/definitions/brapi-find-germplasm.tool.d.ts +6 -6
  42. package/dist/mcp-server/tools/definitions/brapi-find-germplasm.tool.d.ts.map +1 -1
  43. package/dist/mcp-server/tools/definitions/brapi-find-images.tool.d.ts +6 -6
  44. package/dist/mcp-server/tools/definitions/brapi-find-images.tool.d.ts.map +1 -1
  45. package/dist/mcp-server/tools/definitions/brapi-find-locations.tool.d.ts +6 -6
  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-observations.tool.d.ts +6 -6
  48. package/dist/mcp-server/tools/definitions/brapi-find-observations.tool.d.ts.map +1 -1
  49. package/dist/mcp-server/tools/definitions/brapi-find-studies.tool.d.ts +6 -6
  50. package/dist/mcp-server/tools/definitions/brapi-find-studies.tool.d.ts.map +1 -1
  51. package/dist/mcp-server/tools/definitions/brapi-find-variables.tool.d.ts +7 -7
  52. package/dist/mcp-server/tools/definitions/brapi-find-variables.tool.d.ts.map +1 -1
  53. package/dist/mcp-server/tools/definitions/brapi-find-variants.tool.d.ts +6 -6
  54. package/dist/mcp-server/tools/definitions/brapi-find-variants.tool.d.ts.map +1 -1
  55. package/dist/mcp-server/tools/definitions/brapi-germplasm-performance.tool.d.ts +6 -6
  56. package/dist/mcp-server/tools/definitions/brapi-germplasm-performance.tool.d.ts.map +1 -1
  57. package/dist/mcp-server/tools/definitions/brapi-germplasm-performance.tool.js +27 -28
  58. package/dist/mcp-server/tools/definitions/brapi-germplasm-performance.tool.js.map +1 -1
  59. package/dist/mcp-server/tools/definitions/brapi-get-germplasm.tool.d.ts +6 -6
  60. package/dist/mcp-server/tools/definitions/brapi-get-germplasm.tool.d.ts.map +1 -1
  61. package/dist/mcp-server/tools/definitions/brapi-get-image.tool.d.ts +6 -6
  62. package/dist/mcp-server/tools/definitions/brapi-get-image.tool.d.ts.map +1 -1
  63. package/dist/mcp-server/tools/definitions/brapi-get-study.tool.d.ts +6 -6
  64. package/dist/mcp-server/tools/definitions/brapi-get-study.tool.d.ts.map +1 -1
  65. package/dist/mcp-server/tools/definitions/brapi-raw-get.tool.d.ts +6 -6
  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-search.tool.d.ts +7 -7
  68. package/dist/mcp-server/tools/definitions/brapi-raw-search.tool.d.ts.map +1 -1
  69. package/dist/mcp-server/tools/definitions/brapi-server-info.tool.d.ts +9 -9
  70. package/dist/mcp-server/tools/definitions/brapi-server-info.tool.d.ts.map +1 -1
  71. package/dist/mcp-server/tools/definitions/brapi-submit-observations.tool.d.ts +23 -27
  72. package/dist/mcp-server/tools/definitions/brapi-submit-observations.tool.d.ts.map +1 -1
  73. package/dist/mcp-server/tools/definitions/brapi-submit-observations.tool.js +41 -55
  74. package/dist/mcp-server/tools/definitions/brapi-submit-observations.tool.js.map +1 -1
  75. package/dist/mcp-server/tools/definitions/brapi-walk-pedigree.tool.d.ts +8 -8
  76. package/dist/mcp-server/tools/definitions/brapi-walk-pedigree.tool.d.ts.map +1 -1
  77. package/dist/mcp-server/tools/definitions/index.d.ts +829 -824
  78. package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
  79. package/dist/mcp-server/tools/shared/find-helpers.js.map +1 -1
  80. package/dist/mcp-server/tools/shared/observations.d.ts +67 -0
  81. package/dist/mcp-server/tools/shared/observations.d.ts.map +1 -1
  82. package/dist/mcp-server/tools/shared/observations.js +56 -0
  83. package/dist/mcp-server/tools/shared/observations.js.map +1 -1
  84. package/dist/mcp-server/tools/shared/orientation-envelope.d.ts +12 -12
  85. package/dist/services/brapi-client/brapi-client.d.ts +2 -3
  86. package/dist/services/brapi-client/brapi-client.d.ts.map +1 -1
  87. package/dist/services/brapi-client/brapi-client.js +11 -14
  88. package/dist/services/brapi-client/brapi-client.js.map +1 -1
  89. package/dist/services/brapi-client/types.d.ts +1 -1
  90. package/dist/services/brapi-dialect/detect.js.map +1 -1
  91. package/dist/services/brapi-dialect/index.js.map +1 -1
  92. package/dist/services/canvas-bridge/canvas-bridge.d.ts +1 -1
  93. package/dist/services/canvas-bridge/canvas-bridge.d.ts.map +1 -1
  94. package/dist/services/canvas-bridge/canvas-bridge.js.map +1 -1
  95. package/dist/services/capability-registry/capability-registry.d.ts.map +1 -1
  96. package/dist/services/capability-registry/capability-registry.js.map +1 -1
  97. package/dist/services/ontology-resolver/ontology-resolver.d.ts.map +1 -1
  98. package/dist/services/ontology-resolver/ontology-resolver.js.map +1 -1
  99. package/dist/services/reference-data-cache/reference-data-cache.d.ts.map +1 -1
  100. package/dist/services/reference-data-cache/reference-data-cache.js.map +1 -1
  101. package/dist/services/server-registry/server-registry.d.ts.map +1 -1
  102. package/dist/services/server-registry/server-registry.js.map +1 -1
  103. package/manifest.json +1 -1
  104. package/package.json +11 -11
  105. package/server.json +3 -3
@@ -21,8 +21,8 @@ export declare const brapiRawSearch: import("@cyanheads/mcp-ts-core").ToolDefini
21
21
  alias: z.ZodString;
22
22
  noun: z.ZodString;
23
23
  kind: z.ZodEnum<{
24
- sync: "sync";
25
24
  async: "async";
25
+ sync: "sync";
26
26
  }>;
27
27
  searchResultsDbId: z.ZodOptional<z.ZodString>;
28
28
  metadata: z.ZodObject<{
@@ -47,14 +47,14 @@ export declare const brapiRawSearch: import("@cyanheads/mcp-ts-core").ToolDefini
47
47
  totalCount: z.ZodOptional<z.ZodNumber>;
48
48
  }, z.core.$strip>>;
49
49
  }, z.core.$strip>, readonly [{
50
- readonly reason: "unknown_alias";
50
+ readonly reason: 'unknown_alias';
51
51
  readonly code: JsonRpcErrorCode.NotFound;
52
- readonly when: "No connection has been registered under the requested alias";
53
- readonly recovery: "Run brapi_connect with this alias (or omit `alias` to use the default connection) before calling brapi_raw_search.";
52
+ readonly when: 'No connection has been registered under the requested alias';
53
+ readonly recovery: 'Run brapi_connect with this alias (or omit `alias` to use the default connection) before calling brapi_raw_search.';
54
54
  }, {
55
- readonly reason: "search_endpoint_disabled";
55
+ readonly reason: 'search_endpoint_disabled';
56
56
  readonly code: JsonRpcErrorCode.ValidationError;
57
- readonly when: "The active dialect declares this POST /search/{noun} route as known-dead on this server";
58
- readonly recovery: "Use the curated find_* tool for this noun — it routes through GET filters instead and avoids the dead search route.";
57
+ readonly when: 'The active dialect declares this POST /search/{noun} route as known-dead on this server';
58
+ readonly recovery: 'Use the curated find_* tool for this noun — it routes through GET filters instead and avoids the dead search route.';
59
59
  }], undefined>;
60
60
  //# sourceMappingURL=brapi-raw-search.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"brapi-raw-search.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-raw-search.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA6DjE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmKzB,CAAC"}
1
+ {"version":3,"file":"brapi-raw-search.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-raw-search.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA6DjE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAMb,eAAe;;mBAEjB,6DAA6D;uBAEjE,oHAAoH;;qBAG9G,0BAA0B;;mBAE5B,yFAAyF;uBAE7F,qHAAqH;cAkJ3H,CAAC"}
@@ -25,11 +25,11 @@ export declare const brapiServerInfo: import("@cyanheads/mcp-ts-core").ToolDefin
25
25
  }, z.core.$strip>;
26
26
  auth: z.ZodObject<{
27
27
  mode: z.ZodEnum<{
28
- none: "none";
29
- sgn: "sgn";
30
- oauth2: "oauth2";
31
28
  api_key: "api_key";
32
29
  bearer: "bearer";
30
+ none: "none";
31
+ oauth2: "oauth2";
32
+ sgn: "sgn";
33
33
  }>;
34
34
  headerName: z.ZodOptional<z.ZodString>;
35
35
  expiresAt: z.ZodOptional<z.ZodString>;
@@ -43,10 +43,10 @@ export declare const brapiServerInfo: import("@cyanheads/mcp-ts-core").ToolDefin
43
43
  id: z.ZodString;
44
44
  source: z.ZodEnum<{
45
45
  "env-override": "env-override";
46
- "url-pattern": "url-pattern";
47
- "server-name": "server-name";
48
- "organization-name": "organization-name";
49
46
  fallback: "fallback";
47
+ "organization-name": "organization-name";
48
+ "server-name": "server-name";
49
+ "url-pattern": "url-pattern";
50
50
  }>;
51
51
  envVar: z.ZodString;
52
52
  disabledSearchEndpoints: z.ZodArray<z.ZodString>;
@@ -70,9 +70,9 @@ export declare const brapiServerInfo: import("@cyanheads/mcp-ts-core").ToolDefin
70
70
  notes: z.ZodArray<z.ZodString>;
71
71
  fetchedAt: z.ZodString;
72
72
  }, z.core.$strip>, readonly [{
73
- readonly reason: "unknown_alias";
73
+ readonly reason: 'unknown_alias';
74
74
  readonly code: JsonRpcErrorCode.NotFound;
75
- readonly when: "No connection has been registered under the requested alias";
76
- readonly recovery: "Run brapi_connect with this alias (or omit `alias` to use the default connection) before calling brapi_server_info.";
75
+ readonly when: 'No connection has been registered under the requested alias';
76
+ readonly recovery: 'Run brapi_connect with this alias (or omit `alias` to use the default connection) before calling brapi_server_info.';
77
77
  }], undefined>;
78
78
  //# sourceMappingURL=brapi-server-info.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"brapi-server-info.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-server-info.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAUjE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA0C1B,CAAC"}
1
+ {"version":3,"file":"brapi-server-info.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-server-info.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAUjE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAMd,eAAe;;mBAEjB,6DAA6D;uBAEjE,qHAAqH;cAgC3H,CAAC"}
@@ -3,9 +3,10 @@
3
3
  * observations for a study. Two-phase write: `mode: 'preview'` validates rows
4
4
  * against the study's observation variables and returns a routing breakdown
5
5
  * (POST for new rows, PUT for rows carrying `observationDbId`); `mode: 'apply'`
6
- * elicits confirmation when supported, fans the rows out to POST + PUT in
7
- * parallel, then verifies the post-state with a cheap `pageSize=1` count.
8
- * Additive write — no observation is destroyed by this tool.
6
+ * asks the caller to confirm via a multi-round-trip `input_required` result,
7
+ * then fans the rows out to POST + PUT in parallel and verifies the post-state
8
+ * with a cheap `pageSize=1` count. Additive write — no observation is destroyed
9
+ * by this tool.
9
10
  *
10
11
  * @module mcp-server/tools/definitions/brapi-submit-observations.tool
11
12
  */
@@ -35,8 +36,8 @@ export declare const brapiSubmitObservations: import("@cyanheads/mcp-ts-core").T
35
36
  }, z.core.$strip>>;
36
37
  }, z.core.$strip>>;
37
38
  mode: z.ZodDefault<z.ZodEnum<{
38
- preview: "preview";
39
39
  apply: "apply";
40
+ preview: "preview";
40
41
  }>>;
41
42
  force: z.ZodDefault<z.ZodBoolean>;
42
43
  }, z.core.$strip>, z.ZodObject<{
@@ -85,39 +86,34 @@ export declare const brapiSubmitObservations: import("@cyanheads/mcp-ts-core").T
85
86
  warnings: z.ZodOptional<z.ZodArray<z.ZodString>>;
86
87
  }, z.core.$strip>], "mode">;
87
88
  }, z.core.$strip>, readonly [{
88
- readonly reason: "unknown_alias";
89
+ readonly reason: 'unknown_alias';
89
90
  readonly code: JsonRpcErrorCode.NotFound;
90
- readonly when: "No connection has been registered under the requested alias";
91
- readonly recovery: "Run brapi_connect with this alias (or omit `alias` to use the default connection) before calling brapi_submit_observations.";
91
+ readonly when: 'No connection has been registered under the requested alias';
92
+ readonly recovery: 'Run brapi_connect with this alias (or omit `alias` to use the default connection) before calling brapi_submit_observations.';
92
93
  }, {
93
- readonly reason: "observations_unsupported";
94
+ readonly reason: 'observations_unsupported';
94
95
  readonly code: JsonRpcErrorCode.ValidationError;
95
- readonly when: "BrAPI server does not advertise /observations";
96
- readonly recovery: "Run brapi_server_info to inspect the advertised endpoints, or call brapi_connect with a different alias for a server that exposes /observations.";
96
+ readonly when: 'BrAPI server does not advertise /observations';
97
+ readonly recovery: 'Run brapi_server_info to inspect the advertised endpoints, or call brapi_connect with a different alias for a server that exposes /observations.';
97
98
  }, {
98
- readonly reason: "study_not_found";
99
+ readonly reason: 'study_not_found';
99
100
  readonly code: JsonRpcErrorCode.NotFound;
100
- readonly when: "Upstream returned no study record for the requested studyDbId";
101
- readonly recovery: "Verify the studyDbId on the target server, or run brapi_find_studies to discover valid IDs before retrying.";
101
+ readonly when: 'Upstream returned no study record for the requested studyDbId';
102
+ readonly recovery: 'Verify the studyDbId on the target server, or run brapi_find_studies to discover valid IDs before retrying.';
102
103
  }, {
103
- readonly reason: "post_unsupported";
104
+ readonly reason: 'post_unsupported';
104
105
  readonly code: JsonRpcErrorCode.ValidationError;
105
- readonly when: "Server does not advertise POST on /observations but new rows were submitted";
106
- readonly recovery: "Remove the rows that lack observationDbId (those are the new rows) before retrying, or connect to a different server that supports POST on /observations.";
106
+ readonly when: 'Server does not advertise POST on /observations but new rows were submitted';
107
+ readonly recovery: 'Remove the rows that lack observationDbId (those are the new rows) before retrying, or connect to a different server that supports POST on /observations.';
107
108
  }, {
108
- readonly reason: "put_unsupported";
109
+ readonly reason: 'put_unsupported';
109
110
  readonly code: JsonRpcErrorCode.ValidationError;
110
- readonly when: "Server does not advertise PUT on /observations but update rows were submitted";
111
- readonly recovery: "Connect to a different server that supports PUT on /observations — dropping observationDbId would route as POST and create duplicates instead of updating the existing rows.";
112
- }, {
113
- readonly reason: "elicit_unavailable";
114
- readonly code: JsonRpcErrorCode.Forbidden;
115
- readonly when: "Apply mode invoked but client does not expose ctx.elicit and force was false";
116
- readonly recovery: "Set force=true only with explicit user authorization, or use a client that supports elicitation.";
111
+ readonly when: 'Server does not advertise PUT on /observations but update rows were submitted';
112
+ readonly recovery: 'Connect to a different server that supports PUT on /observations — dropping observationDbId would route as POST and create duplicates instead of updating the existing rows.';
117
113
  }, {
118
- readonly reason: "user_declined";
114
+ readonly reason: 'user_declined';
119
115
  readonly code: JsonRpcErrorCode.Forbidden;
120
- readonly when: "User declined the elicitation prompt for the apply write";
121
- readonly recovery: "Re-run the tool when the user is ready to confirm the write.";
116
+ readonly when: 'The confirmation round came back declined, cancelled, or without a true `confirm` value';
117
+ readonly recovery: 'Re-run brapi_submit_observations when the user is ready to confirm, or pass force=true with explicit out-of-band authorization.';
122
118
  }], undefined>;
123
119
  //# sourceMappingURL=brapi-submit-observations.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"brapi-submit-observations.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-submit-observations.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAA2C,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAkPjE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmTlC,CAAC"}
1
+ {"version":3,"file":"brapi-submit-observations.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-submit-observations.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAqC,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAgPjE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAjDxB,eAAe;;mBAEjB,6DAA6D;uBAEjE,6HAA6H;;qBAGvH,0BAA0B;;mBAE5B,+CAA+C;uBAEnD,kJAAkJ;;qBAG5I,iBAAiB;;mBAEnB,+DAA+D;uBAEnE,6GAA6G;;qBAGvG,kBAAkB;;mBAEpB,6EAA6E;uBAEjF,2JAA2J;;qBAGrJ,iBAAiB;;mBAEnB,+EAA+E;uBAEnF,8KAA8K;;qBAGxK,eAAe;;mBAEjB,yFAAyF;uBAE7F,iIAAiI;cA4UrI,CAAC"}
@@ -3,13 +3,14 @@
3
3
  * observations for a study. Two-phase write: `mode: 'preview'` validates rows
4
4
  * against the study's observation variables and returns a routing breakdown
5
5
  * (POST for new rows, PUT for rows carrying `observationDbId`); `mode: 'apply'`
6
- * elicits confirmation when supported, fans the rows out to POST + PUT in
7
- * parallel, then verifies the post-state with a cheap `pageSize=1` count.
8
- * Additive write — no observation is destroyed by this tool.
6
+ * asks the caller to confirm via a multi-round-trip `input_required` result,
7
+ * then fans the rows out to POST + PUT in parallel and verifies the post-state
8
+ * with a cheap `pageSize=1` count. Additive write — no observation is destroyed
9
+ * by this tool.
9
10
  *
10
11
  * @module mcp-server/tools/definitions/brapi-submit-observations.tool
11
12
  */
12
- import { tool, z } from '@cyanheads/mcp-ts-core';
13
+ import { inputRequired, tool, z } from '@cyanheads/mcp-ts-core';
13
14
  import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
14
15
  import { getServerConfig } from '../../../config/server-config.js';
15
16
  import { getBrapiClient } from '../../../services/brapi-client/index.js';
@@ -194,21 +195,20 @@ const SUBMIT_ERRORS = [
194
195
  when: 'Server does not advertise PUT on /observations but update rows were submitted',
195
196
  recovery: 'Connect to a different server that supports PUT on /observations — dropping observationDbId would route as POST and create duplicates instead of updating the existing rows.',
196
197
  },
197
- {
198
- reason: 'elicit_unavailable',
199
- code: JsonRpcErrorCode.Forbidden,
200
- when: 'Apply mode invoked but client does not expose ctx.elicit and force was false',
201
- recovery: 'Set force=true only with explicit user authorization, or use a client that supports elicitation.',
202
- },
203
198
  {
204
199
  reason: 'user_declined',
205
200
  code: JsonRpcErrorCode.Forbidden,
206
- when: 'User declined the elicitation prompt for the apply write',
207
- recovery: 'Re-run the tool when the user is ready to confirm the write.',
201
+ when: 'The confirmation round came back declined, cancelled, or without a true `confirm` value',
202
+ recovery: 'Re-run brapi_submit_observations when the user is ready to confirm, or pass force=true with explicit out-of-band authorization.',
208
203
  },
209
204
  ];
205
+ const ConfirmSchema = z.object({
206
+ confirm: z
207
+ .boolean()
208
+ .describe('Set to true to commit the writes; false to abort with no side effects.'),
209
+ });
210
210
  export const brapiSubmitObservations = tool('brapi_submit_observations', {
211
- description: 'Submit observations for a study. Default mode `preview` validates rows against the study variables and returns a routing breakdown without writing. Mode `apply` elicits confirmation when supported, then creates new rows or updates existing ones based on observationDbId presence. Additive only — no observation is destroyed.',
211
+ description: 'Submit observations for a study. Default mode `preview` validates rows against the study variables and returns a routing breakdown without writing. Mode `apply` asks the caller to confirm the write, then creates new rows or updates existing ones based on observationDbId presence. Additive only — no observation is destroyed.',
212
212
  annotations: {
213
213
  readOnlyHint: false,
214
214
  destructiveHint: false,
@@ -227,11 +227,11 @@ export const brapiSubmitObservations = tool('brapi_submit_observations', {
227
227
  mode: z
228
228
  .enum(['preview', 'apply'])
229
229
  .default('preview')
230
- .describe('`preview` (default) validates only; `apply` writes after eliciting confirmation when supported.'),
230
+ .describe('`preview` (default) validates only; `apply` writes after the caller confirms.'),
231
231
  force: z
232
232
  .boolean()
233
233
  .default(false)
234
- .describe('Bypass elicitation in apply mode. Use only when the client lacks ctx.elicit support and explicit user authorization for the write has been recorded out-of-band.'),
234
+ .describe('Skip the confirmation round in apply mode. Use only when explicit user authorization for the write has been recorded out-of-band.'),
235
235
  }),
236
236
  output: OutputSchema,
237
237
  auth: ['brapi:write:observations'],
@@ -332,15 +332,32 @@ export const brapiSubmitObservations = tool('brapi_submit_observations', {
332
332
  if (putCount > 0 && !supportsPut) {
333
333
  throw ctx.fail('put_unsupported', `Server does not advertise PUT on /observations. ${putCount} update row(s) cannot be applied.`, { baseUrl: connection.baseUrl, putCount, ...ctx.recoveryFor('put_unsupported') });
334
334
  }
335
- await confirmApply(ctx, {
336
- studyDbId: input.studyDbId,
337
- studyName,
338
- valid,
339
- invalid,
340
- postCount,
341
- putCount,
342
- force: input.force,
343
- });
335
+ if (!input.force) {
336
+ const answered = ctx.inputs.view('confirm');
337
+ if (answered.kind === 'missing') {
338
+ return ctx.requestInput({
339
+ inputRequests: {
340
+ confirm: inputRequired.elicit({
341
+ message: [
342
+ `Apply ${valid} observation row(s) to study \`${input.studyDbId}\`${studyName ? ` (${studyName})` : ''}?`,
343
+ `POST ${postCount} new · PUT ${putCount} update · ${invalid} skipped (structural errors).`,
344
+ ].join('\n'),
345
+ requestedSchema: ConfirmSchema,
346
+ }),
347
+ },
348
+ });
349
+ }
350
+ // Declined, cancelled, another response kind, or a payload the schema
351
+ // rejects — all terminal. Re-asking would burn rounds without a new answer.
352
+ const answer = ctx.inputs.accepted('confirm', ConfirmSchema);
353
+ if (!answer?.confirm) {
354
+ throw ctx.fail('user_declined', 'User declined to apply observation writes.', {
355
+ studyDbId: input.studyDbId,
356
+ action: answered.kind === 'elicit' ? answered.action : answered.kind,
357
+ ...ctx.recoveryFor('user_declined'),
358
+ });
359
+ }
360
+ }
344
361
  const validRows = decisions.flatMap((d) => {
345
362
  if (d.warnings.some(isStructural))
346
363
  return [];
@@ -463,37 +480,6 @@ export const brapiSubmitObservations = tool('brapi_submit_observations', {
463
480
  function isStructural(warning) {
464
481
  return warning.endsWith('is required.');
465
482
  }
466
- async function confirmApply(ctx, input) {
467
- if (input.force)
468
- return;
469
- if (!ctx.elicit) {
470
- throw ctx.fail('elicit_unavailable', 'Apply mode requires user confirmation. The MCP client does not expose elicitation, so set `force: true` to bypass — but only with explicit user authorization for this write.', {
471
- studyDbId: input.studyDbId,
472
- valid: input.valid,
473
- invalid: input.invalid,
474
- ...ctx.recoveryFor('elicit_unavailable'),
475
- });
476
- }
477
- const message = [
478
- `Apply ${input.valid} observation row(s) to study \`${input.studyDbId}\`${input.studyName ? ` (${input.studyName})` : ''}?`,
479
- `POST ${input.postCount} new · PUT ${input.putCount} update · ${input.invalid} skipped (structural errors).`,
480
- ].join('\n');
481
- const result = await ctx.elicit(message, z.object({
482
- confirm: z
483
- .boolean()
484
- .describe('Set to true to commit the writes; false to abort with no side effects.'),
485
- }));
486
- const confirmed = typeof result.data === 'object' &&
487
- result.data !== null &&
488
- result.data.confirm === true;
489
- if (result.action !== 'accept' || !confirmed) {
490
- throw ctx.fail('user_declined', 'User declined to apply observation writes.', {
491
- studyDbId: input.studyDbId,
492
- action: result.action,
493
- ...ctx.recoveryFor('user_declined'),
494
- });
495
- }
496
- }
497
483
  async function fetchStudyVariables(studyDbId, connection, client, ctx) {
498
484
  try {
499
485
  const env = await client.get(connection.baseUrl, '/variables', ctx, buildRequestOptions(connection, { studyDbId, pageSize: 1000 }));
@@ -1 +1 @@
1
- {"version":3,"file":"brapi-submit-observations.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-submit-observations.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"brapi-submit-observations.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-submit-observations.tool.ts"],"names":[],"mappings":"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"}
@@ -13,8 +13,8 @@ import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
13
13
  export declare const brapiWalkPedigree: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
14
14
  germplasmDbIds: z.ZodArray<z.ZodString>;
15
15
  direction: z.ZodDefault<z.ZodEnum<{
16
- both: "both";
17
16
  ancestors: "ancestors";
17
+ both: "both";
18
18
  descendants: "descendants";
19
19
  }>>;
20
20
  maxDepth: z.ZodDefault<z.ZodNumber>;
@@ -23,8 +23,8 @@ export declare const brapiWalkPedigree: import("@cyanheads/mcp-ts-core").ToolDef
23
23
  }, z.core.$strip>, z.ZodObject<{
24
24
  alias: z.ZodString;
25
25
  direction: z.ZodEnum<{
26
- both: "both";
27
26
  ancestors: "ancestors";
27
+ both: "both";
28
28
  descendants: "descendants";
29
29
  }>;
30
30
  maxDepth: z.ZodNumber;
@@ -34,18 +34,18 @@ export declare const brapiWalkPedigree: import("@cyanheads/mcp-ts-core").ToolDef
34
34
  depth: z.ZodNumber;
35
35
  isRoot: z.ZodBoolean;
36
36
  direction: z.ZodEnum<{
37
- root: "root";
38
37
  ancestor: "ancestor";
39
- descendant: "descendant";
40
38
  both: "both";
39
+ descendant: "descendant";
40
+ root: "root";
41
41
  }>;
42
42
  }, z.core.$strip>>;
43
43
  edges: z.ZodArray<z.ZodObject<{
44
44
  from: z.ZodString;
45
45
  to: z.ZodString;
46
46
  relationship: z.ZodEnum<{
47
- parent: "parent";
48
47
  child: "child";
48
+ parent: "parent";
49
49
  }>;
50
50
  parentType: z.ZodOptional<z.ZodString>;
51
51
  }, z.core.$strip>>;
@@ -79,9 +79,9 @@ export declare const brapiWalkPedigree: import("@cyanheads/mcp-ts-core").ToolDef
79
79
  totalCount: z.ZodOptional<z.ZodNumber>;
80
80
  }, z.core.$strip>>;
81
81
  }, z.core.$strip>, readonly [{
82
- readonly reason: "unknown_alias";
82
+ readonly reason: 'unknown_alias';
83
83
  readonly code: JsonRpcErrorCode.NotFound;
84
- readonly when: "No connection has been registered under the requested alias";
85
- readonly recovery: "Run brapi_connect with this alias (or omit `alias` to use the default connection) before calling brapi_walk_pedigree.";
84
+ readonly when: 'No connection has been registered under the requested alias';
85
+ readonly recovery: 'Run brapi_connect with this alias (or omit `alias` to use the default connection) before calling brapi_walk_pedigree.';
86
86
  }], undefined>;
87
87
  //# sourceMappingURL=brapi-walk-pedigree.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"brapi-walk-pedigree.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-walk-pedigree.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAsB,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAgHjE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoT5B,CAAC"}
1
+ {"version":3,"file":"brapi-walk-pedigree.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-walk-pedigree.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAsB,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAgHjE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAMhB,eAAe;;mBAEjB,6DAA6D;uBAEjE,uHAAuH;cA0S7H,CAAC"}