@dizzlkheinz/ynab-mcpb 0.16.1 → 0.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/.env.example +33 -33
  2. package/.github/workflows/ci-tests.yml +45 -45
  3. package/.github/workflows/claude-code-review.yml +57 -57
  4. package/.github/workflows/claude.yml +50 -50
  5. package/.github/workflows/full-integration.yml +22 -22
  6. package/.github/workflows/publish.yml +11 -2
  7. package/CLAUDE.md +33 -47
  8. package/README.md +8 -10
  9. package/dist/bundle/index.cjs +54 -54
  10. package/dist/server/YNABMCPServer.d.ts +120 -54
  11. package/dist/server/YNABMCPServer.js +28 -381
  12. package/dist/server/config.d.ts +2 -0
  13. package/dist/server/config.js +1 -0
  14. package/dist/server/securityMiddleware.d.ts +37 -8
  15. package/dist/tools/accountTools.d.ts +2 -0
  16. package/dist/tools/accountTools.js +45 -0
  17. package/dist/tools/adapters.d.ts +12 -0
  18. package/dist/tools/adapters.js +25 -0
  19. package/dist/tools/budgetTools.d.ts +2 -0
  20. package/dist/tools/budgetTools.js +30 -0
  21. package/dist/tools/categoryTools.d.ts +2 -0
  22. package/dist/tools/categoryTools.js +45 -0
  23. package/dist/tools/monthTools.d.ts +2 -0
  24. package/dist/tools/monthTools.js +32 -0
  25. package/dist/tools/payeeTools.d.ts +2 -0
  26. package/dist/tools/payeeTools.js +32 -0
  27. package/dist/tools/reconciliation/index.d.ts +2 -0
  28. package/dist/tools/reconciliation/index.js +33 -0
  29. package/dist/tools/schemas/common.d.ts +3 -0
  30. package/dist/tools/schemas/common.js +3 -0
  31. package/dist/tools/schemas/outputs/comparisonOutputs.d.ts +1 -1
  32. package/dist/tools/schemas/outputs/index.d.ts +2 -2
  33. package/dist/tools/schemas/outputs/index.js +2 -2
  34. package/dist/tools/schemas/outputs/utilityOutputs.d.ts +0 -15
  35. package/dist/tools/schemas/outputs/utilityOutputs.js +0 -9
  36. package/dist/tools/transactionTools.d.ts +2 -0
  37. package/dist/tools/transactionTools.js +124 -0
  38. package/dist/tools/utilityTools.d.ts +2 -7
  39. package/dist/tools/utilityTools.js +19 -38
  40. package/dist/types/index.d.ts +1 -0
  41. package/dist/types/toolRegistration.d.ts +27 -0
  42. package/dist/types/toolRegistration.js +1 -0
  43. package/docs/maintainers/npm-publishing.md +27 -0
  44. package/docs/reference/API.md +15 -70
  45. package/docs/technical/reconciliation-system-architecture.md +2251 -2251
  46. package/package.json +6 -6
  47. package/scripts/analyze-bundle.mjs +41 -41
  48. package/scripts/generate-mcpb.ps1 +95 -95
  49. package/scripts/run-domain-integration-tests.js +4 -1
  50. package/scripts/watch-and-restart.ps1 +49 -49
  51. package/src/__tests__/comprehensive.integration.test.ts +0 -28
  52. package/src/__tests__/performance.test.ts +4 -12
  53. package/src/__tests__/setup.ts +45 -14
  54. package/src/__tests__/workflows.e2e.test.ts +1 -51
  55. package/src/server/YNABMCPServer.ts +33 -519
  56. package/src/server/__tests__/YNABMCPServer.test.ts +0 -1
  57. package/src/server/__tests__/toolRegistration.test.ts +236 -0
  58. package/src/server/config.ts +1 -0
  59. package/src/tools/__tests__/adapters.test.ts +113 -0
  60. package/src/tools/__tests__/transactionTools.integration.test.ts +63 -3
  61. package/src/tools/__tests__/utilityTools.integration.test.ts +1 -85
  62. package/src/tools/__tests__/utilityTools.test.ts +1 -123
  63. package/src/tools/accountTools.ts +53 -0
  64. package/src/tools/adapters.ts +74 -0
  65. package/src/tools/budgetTools.ts +37 -0
  66. package/src/tools/categoryTools.ts +53 -0
  67. package/src/tools/monthTools.ts +39 -0
  68. package/src/tools/payeeTools.ts +39 -0
  69. package/src/tools/reconciliation/index.ts +45 -0
  70. package/src/tools/schemas/common.ts +18 -0
  71. package/src/tools/schemas/outputs/index.ts +0 -3
  72. package/src/tools/schemas/outputs/utilityOutputs.ts +2 -43
  73. package/src/tools/toolCategories.ts +0 -1
  74. package/src/tools/transactionTools.ts +140 -0
  75. package/src/tools/utilityTools.ts +24 -55
  76. package/src/types/index.ts +3 -0
  77. package/src/types/toolRegistration.ts +88 -0
  78. package/vitest.config.ts +2 -1
  79. package/.chunkhound.json +0 -11
  80. package/.code/agents/01a13ef4-3f23-4f52-b33b-3585b73cfa60/error.txt +0 -3
  81. package/.code/agents/084fd32f-e298-4728-9103-a78d7dc39613/error.txt +0 -3
  82. package/.code/agents/0fed51e1-a943-4b97-a2a8-a6f0f27c844d/status.txt +0 -1
  83. package/.code/agents/1059b6bd-5ccd-4d83-a12c-7c9d89137399/error.txt +0 -5
  84. package/.code/agents/110/exec-call_F9BDNG7JfxKkq7Vc8ESAvdft.txt +0 -1569
  85. package/.code/agents/11ebcef3-b13f-4e44-ad80-d94a866804b7/error.txt +0 -3
  86. package/.code/agents/1398/exec-call_CjItcWMU1G6JoPshX62QvpaR.txt +0 -2832
  87. package/.code/agents/1398/exec-call_SUVq2ivmONQ5LMCmd7ngmOqr.txt +0 -2709
  88. package/.code/agents/1398/exec-call_SdNY4NOffdcC5pRYjVXHjPCK.txt +0 -2832
  89. package/.code/agents/1398/exec-call_qblJo9et1gsFFB63TtLOiji2.txt +0 -2832
  90. package/.code/agents/1398/exec-call_zaRrzlGz7GJcNzVfkAmML7Zg.txt +0 -2709
  91. package/.code/agents/171834fd-5905-42fc-bbcc-2c755145b0fc/status.txt +0 -1
  92. package/.code/agents/1724/exec-call_HvHQe0w5CCG3T7Q3ULT6MO3g.txt +0 -5217
  93. package/.code/agents/1724/exec-call_QwUNESVzfxxk78K1frh1Vahb.txt +0 -2594
  94. package/.code/agents/1724/exec-call_aJ1Xwz71XmIpD4SBxSHERzLe.txt +0 -2594
  95. package/.code/agents/1d7d7ab7-7473-4b69-8b97-6e914f56056a/result.txt +0 -231
  96. package/.code/agents/210/exec-call_0tQCsKNJ1WTuIchb8wlcFJpW.txt +0 -2590
  97. package/.code/agents/210/exec-call_8ZlY9cUc8Ft1twi4ch8UJ6IN.txt +0 -5195
  98. package/.code/agents/2188/exec-call_5HqayBxIteJtoI8oPTiLWgvJ.txt +0 -286
  99. package/.code/agents/2188/exec-call_XRbBKBq3adZe6dcppAvQtM7G.txt +0 -218
  100. package/.code/agents/2188/exec-call_ehA0SjpYtrUi6GJXmibLjp4i.txt +0 -180
  101. package/.code/agents/21902821-ecaf-4759-bb9d-222b90921af5/error.txt +0 -3
  102. package/.code/agents/232073be-aa0e-46da-b478-5b64dbf03cf5/status.txt +0 -1
  103. package/.code/agents/234ff534-2336-4771-a8d9-aa04421a63be/result.txt +0 -747
  104. package/.code/agents/253e2695-dc36-4022-b436-27655e0fc6c7/status.txt +0 -1
  105. package/.code/agents/2583/exec-call_M59I4eDjpjlBIWBiSxyS0YlJ.txt +0 -2594
  106. package/.code/agents/2583/exec-call_usLRGh7OhVHtsRBL4iUwRhjq.txt +0 -2594
  107. package/.code/agents/292aa3ff-dbab-470f-97c9-e7e8fd65e0db/result.txt +0 -144
  108. package/.code/agents/3134/exec-call_IgCAMGx19lWfuo8zfYIt5FFC.txt +0 -416
  109. package/.code/agents/3134/exec-call_IxvLR2Oo7kba2QTsI1gHVko8.txt +0 -2590
  110. package/.code/agents/3134/exec-call_jYvc8hksZChSiysbzKjl2ZbB.txt +0 -2590
  111. package/.code/agents/329/exec-call_4QdP3SfSO7HGPCwVcqZIth6s.txt +0 -2590
  112. package/.code/agents/472/exec-call_4AxzEEcWwkKhpqRB3bE8Ha4L.txt +0 -790
  113. package/.code/agents/472/exec-call_CB3LPYQA8QIZRi8I6kj4J17A.txt +0 -766
  114. package/.code/agents/472/exec-call_YeoUWvaFoktay2nqVUsa9KKX.txt +0 -790
  115. package/.code/agents/472/exec-call_jPWgKVquBBXTg0T3Lks5ZfkK.txt +0 -2594
  116. package/.code/agents/472/exec-call_qBkvunpGBDEHph2jPmTwtcsb.txt +0 -1000
  117. package/.code/agents/472/exec-call_v0ffRV1p0kTckBmJPzzHAEy0.txt +0 -3489
  118. package/.code/agents/472/exec-call_xAX5FXqWIlk02d9WubHbHWh8.txt +0 -766
  119. package/.code/agents/5346/exec-call_9q0muXUuLaucwEqI51Pt7idT.txt +0 -2594
  120. package/.code/agents/5346/exec-call_B2el3B79rVkq9LhWTI2VYlz7.txt +0 -2456
  121. package/.code/agents/5346/exec-call_BfX08f02qkZI9uJD5dvCvuoj.txt +0 -2594
  122. package/.code/agents/543328d0-61d6-4fd1-a723-bb168656e2e2/error.txt +0 -18
  123. package/.code/agents/5580c02c-1383-4d18-9cbd-cc8a06e3408d/result.txt +0 -48
  124. package/.code/agents/60ce1a22-5126-44b2-b977-1d5b56142a7b/status.txt +0 -1
  125. package/.code/agents/6215d9db-7fa9-4429-aeec-3835c3212291/error.txt +0 -1
  126. package/.code/agents/6743db55-30e5-4b4e-9366-a8214fc7f714/error.txt +0 -1
  127. package/.code/agents/6bf9591b-b9c9-422c-b0a5-e968c7d8422a/status.txt +0 -1
  128. package/.code/agents/7/exec-call_eww3GfdEiJZx61sJEQ9wNmt3.txt +0 -1271
  129. package/.code/agents/70/exec-call_owUtDMYiVgqDf8vsz1i32PFf.txt +0 -1570
  130. package/.code/agents/8/exec-call_UtrjAcLbhYLatxR4O97fZgnm.txt +0 -2590
  131. package/.code/agents/82490bc9-f34e-4b1b-8a8e-bccc2e6254f5/error.txt +0 -3
  132. package/.code/agents/841/exec-call_7nTNhSBCNjTDUIJv7py6CepO.txt +0 -3299
  133. package/.code/agents/841/exec-call_TLI0yUdUijuUAvI4o3DXEvHO.txt +0 -3299
  134. package/.code/agents/9/exec-call_XaABQT1hIlRpnKZ2uyBMWsTC.txt +0 -1882
  135. package/.code/agents/941/exec-call_GuGHRx7NNXWIDAnxUG2NEWPa.txt +0 -2594
  136. package/.code/agents/95d9fbab-19a2-48af-83f9-c792566a347f/error.txt +0 -1
  137. package/.code/agents/b0098cb8-cb32-4ada-9bc4-37c587518896/result.txt +0 -170
  138. package/.code/agents/b4fe59a4-81df-42e2-a112-0153e504faca/error.txt +0 -1
  139. package/.code/agents/bf4ce152-f623-49d7-aa52-c18631625c3c/error.txt +0 -3
  140. package/.code/agents/d7d1db75-d7eb-468e-adea-4ef4d916d187/status.txt +0 -1
  141. package/.code/agents/e2baa9c8-bac3-49e3-a39d-024333e6a990/status.txt +0 -1
  142. package/.code/agents/e350b8c3-8483-408c-b2bb-94515f492a11/error.txt +0 -3
  143. package/.code/agents/e63f9919-719f-4ad0-bccf-01b1a596e1e9/status.txt +0 -1
  144. package/.code/agents/e71695a8-3044-478d-8f12-ed13d02884c7/status.txt +0 -1
  145. package/.code/agents/f95b7464-3e25-4897-b153-c8dfd63fd605/error.txt +0 -5
  146. package/.code/agents/fa3c5ddf-cdf7-47a2-930a-b806c6363689/status.txt +0 -1
  147. package/.github/workflows/pr-description-check.yml +0 -88
  148. package/AGENTS.md +0 -36
  149. package/NUL +0 -1
  150. package/docs/README.md +0 -72
  151. package/docs/getting-started/CONFIGURATION.md +0 -175
  152. package/docs/getting-started/INSTALLATION.md +0 -333
  153. package/docs/getting-started/QUICKSTART.md +0 -282
  154. package/docs/guides/ARCHITECTURE.md +0 -533
  155. package/docs/guides/DEPLOYMENT.md +0 -189
  156. package/docs/guides/INTEGRATION_TESTING.md +0 -730
  157. package/docs/guides/TESTING.md +0 -591
  158. package/docs/reconciliation-flow.md +0 -83
  159. package/docs/reference/EXAMPLES.md +0 -946
  160. package/docs/reference/TOOLS.md +0 -348
  161. package/docs/reference/TROUBLESHOOTING.md +0 -481
  162. package/package.json.tmp +0 -105
  163. package/temp-recon.ts +0 -126
  164. package/test-exports/ynab_account_e9ddc2a6_minimal_1items_2025-11-19_09-04-53.json +0 -23
  165. package/test-exports/ynab_account_e9ddc2a6_minimal_1items_2025-11-19_10-37-42.json +0 -23
  166. package/test-exports/ynab_account_e9ddc2a6_minimal_4items_2025-11-19_09-02-09.json +0 -44
  167. package/test-exports/ynab_account_e9ddc2a6_minimal_6items_2025-11-19_10-37-52.json +0 -58
  168. package/test-exports/ynab_since_2025-10-16_account_53298e13_238items_2025-11-28_13-46-20.json +0 -3662
  169. package/test-exports/ynab_since_2025-11-01_account_4c18e9f0_minimal_14items_2025-11-16_10-07-10.json +0 -115
@@ -33,39 +33,43 @@ export declare class YNABMCPServer {
33
33
  private warmCacheForBudget;
34
34
  handleListTools(): Promise<{
35
35
  tools: {
36
- name: string;
37
36
  inputSchema: {
37
+ [x: string]: unknown;
38
38
  type: "object";
39
- required?: string[] | undefined;
40
39
  properties?: {
41
40
  [x: string]: object;
42
41
  } | undefined;
42
+ required?: string[] | undefined;
43
43
  };
44
- _meta?: {
45
- [x: string]: unknown;
46
- } | undefined;
47
- icons?: {
48
- src: string;
49
- mimeType?: string | undefined | undefined;
50
- sizes?: string[] | undefined;
51
- }[] | undefined;
52
- title?: string | undefined | undefined;
53
- description?: string | undefined | undefined;
44
+ name: string;
45
+ description?: string | undefined;
54
46
  outputSchema?: {
47
+ [x: string]: unknown;
55
48
  type: "object";
56
- required?: string[] | undefined;
57
49
  properties?: {
58
50
  [x: string]: object;
59
51
  } | undefined;
60
- additionalProperties?: boolean | undefined | undefined;
52
+ required?: string[] | undefined;
61
53
  } | undefined;
62
54
  annotations?: {
63
- title?: string | undefined | undefined;
64
- readOnlyHint?: boolean | undefined | undefined;
65
- destructiveHint?: boolean | undefined | undefined;
66
- idempotentHint?: boolean | undefined | undefined;
67
- openWorldHint?: boolean | undefined | undefined;
55
+ title?: string | undefined;
56
+ readOnlyHint?: boolean | undefined;
57
+ destructiveHint?: boolean | undefined;
58
+ idempotentHint?: boolean | undefined;
59
+ openWorldHint?: boolean | undefined;
68
60
  } | undefined;
61
+ execution?: {
62
+ taskSupport?: "optional" | "forbidden" | "required" | undefined;
63
+ } | undefined;
64
+ _meta?: {
65
+ [x: string]: unknown;
66
+ } | undefined;
67
+ icons?: {
68
+ src: string;
69
+ mimeType?: string | undefined;
70
+ sizes?: string[] | undefined;
71
+ }[] | undefined;
72
+ title?: string | undefined;
69
73
  }[];
70
74
  }>;
71
75
  handleListResources(): Promise<{
@@ -78,6 +82,11 @@ export declare class YNABMCPServer {
78
82
  content: ({
79
83
  type: "text";
80
84
  text: string;
85
+ annotations?: {
86
+ audience?: ("user" | "assistant")[] | undefined;
87
+ priority?: number | undefined;
88
+ lastModified?: string | undefined;
89
+ } | undefined;
81
90
  _meta?: {
82
91
  [x: string]: unknown;
83
92
  } | undefined;
@@ -85,6 +94,11 @@ export declare class YNABMCPServer {
85
94
  type: "image";
86
95
  data: string;
87
96
  mimeType: string;
97
+ annotations?: {
98
+ audience?: ("user" | "assistant")[] | undefined;
99
+ priority?: number | undefined;
100
+ lastModified?: string | undefined;
101
+ } | undefined;
88
102
  _meta?: {
89
103
  [x: string]: unknown;
90
104
  } | undefined;
@@ -92,47 +106,66 @@ export declare class YNABMCPServer {
92
106
  type: "audio";
93
107
  data: string;
94
108
  mimeType: string;
109
+ annotations?: {
110
+ audience?: ("user" | "assistant")[] | undefined;
111
+ priority?: number | undefined;
112
+ lastModified?: string | undefined;
113
+ } | undefined;
95
114
  _meta?: {
96
115
  [x: string]: unknown;
97
116
  } | undefined;
98
117
  } | {
99
- type: "resource_link";
100
- name: string;
101
118
  uri: string;
119
+ name: string;
120
+ type: "resource_link";
121
+ description?: string | undefined;
122
+ mimeType?: string | undefined;
123
+ annotations?: {
124
+ audience?: ("user" | "assistant")[] | undefined;
125
+ priority?: number | undefined;
126
+ lastModified?: string | undefined;
127
+ } | undefined;
102
128
  _meta?: {
103
129
  [x: string]: unknown;
104
130
  } | undefined;
105
- mimeType?: string | undefined | undefined;
106
131
  icons?: {
107
132
  src: string;
108
- mimeType?: string | undefined | undefined;
133
+ mimeType?: string | undefined;
109
134
  sizes?: string[] | undefined;
110
135
  }[] | undefined;
111
- title?: string | undefined | undefined;
112
- description?: string | undefined | undefined;
136
+ title?: string | undefined;
113
137
  } | {
114
138
  type: "resource";
115
139
  resource: {
116
140
  uri: string;
117
141
  text: string;
142
+ mimeType?: string | undefined;
118
143
  _meta?: {
119
144
  [x: string]: unknown;
120
145
  } | undefined;
121
- mimeType?: string | undefined | undefined;
122
146
  } | {
123
147
  uri: string;
124
148
  blob: string;
149
+ mimeType?: string | undefined;
125
150
  _meta?: {
126
151
  [x: string]: unknown;
127
152
  } | undefined;
128
- mimeType?: string | undefined | undefined;
129
153
  };
154
+ annotations?: {
155
+ audience?: ("user" | "assistant")[] | undefined;
156
+ priority?: number | undefined;
157
+ lastModified?: string | undefined;
158
+ } | undefined;
130
159
  _meta?: {
131
160
  [x: string]: unknown;
132
161
  } | undefined;
133
162
  })[];
134
163
  _meta?: {
135
164
  [x: string]: unknown;
165
+ "io.modelcontextprotocol/related-task"?: {
166
+ [x: string]: unknown;
167
+ taskId: string;
168
+ } | undefined;
136
169
  } | undefined;
137
170
  structuredContent?: {
138
171
  [x: string]: unknown;
@@ -152,6 +185,11 @@ export declare class YNABMCPServer {
152
185
  content: ({
153
186
  type: "text";
154
187
  text: string;
188
+ annotations?: {
189
+ audience?: ("user" | "assistant")[] | undefined;
190
+ priority?: number | undefined;
191
+ lastModified?: string | undefined;
192
+ } | undefined;
155
193
  _meta?: {
156
194
  [x: string]: unknown;
157
195
  } | undefined;
@@ -159,6 +197,11 @@ export declare class YNABMCPServer {
159
197
  type: "image";
160
198
  data: string;
161
199
  mimeType: string;
200
+ annotations?: {
201
+ audience?: ("user" | "assistant")[] | undefined;
202
+ priority?: number | undefined;
203
+ lastModified?: string | undefined;
204
+ } | undefined;
162
205
  _meta?: {
163
206
  [x: string]: unknown;
164
207
  } | undefined;
@@ -166,47 +209,66 @@ export declare class YNABMCPServer {
166
209
  type: "audio";
167
210
  data: string;
168
211
  mimeType: string;
212
+ annotations?: {
213
+ audience?: ("user" | "assistant")[] | undefined;
214
+ priority?: number | undefined;
215
+ lastModified?: string | undefined;
216
+ } | undefined;
169
217
  _meta?: {
170
218
  [x: string]: unknown;
171
219
  } | undefined;
172
220
  } | {
173
- type: "resource_link";
174
- name: string;
175
221
  uri: string;
222
+ name: string;
223
+ type: "resource_link";
224
+ description?: string | undefined;
225
+ mimeType?: string | undefined;
226
+ annotations?: {
227
+ audience?: ("user" | "assistant")[] | undefined;
228
+ priority?: number | undefined;
229
+ lastModified?: string | undefined;
230
+ } | undefined;
176
231
  _meta?: {
177
232
  [x: string]: unknown;
178
233
  } | undefined;
179
- mimeType?: string | undefined | undefined;
180
234
  icons?: {
181
235
  src: string;
182
- mimeType?: string | undefined | undefined;
236
+ mimeType?: string | undefined;
183
237
  sizes?: string[] | undefined;
184
238
  }[] | undefined;
185
- title?: string | undefined | undefined;
186
- description?: string | undefined | undefined;
239
+ title?: string | undefined;
187
240
  } | {
188
241
  type: "resource";
189
242
  resource: {
190
243
  uri: string;
191
244
  text: string;
245
+ mimeType?: string | undefined;
192
246
  _meta?: {
193
247
  [x: string]: unknown;
194
248
  } | undefined;
195
- mimeType?: string | undefined | undefined;
196
249
  } | {
197
250
  uri: string;
198
251
  blob: string;
252
+ mimeType?: string | undefined;
199
253
  _meta?: {
200
254
  [x: string]: unknown;
201
255
  } | undefined;
202
- mimeType?: string | undefined | undefined;
203
256
  };
257
+ annotations?: {
258
+ audience?: ("user" | "assistant")[] | undefined;
259
+ priority?: number | undefined;
260
+ lastModified?: string | undefined;
261
+ } | undefined;
204
262
  _meta?: {
205
263
  [x: string]: unknown;
206
264
  } | undefined;
207
265
  })[];
208
266
  _meta?: {
209
267
  [x: string]: unknown;
268
+ "io.modelcontextprotocol/related-task"?: {
269
+ [x: string]: unknown;
270
+ taskId: string;
271
+ } | undefined;
210
272
  } | undefined;
211
273
  structuredContent?: {
212
274
  [x: string]: unknown;
@@ -214,39 +276,43 @@ export declare class YNABMCPServer {
214
276
  isError?: boolean | undefined;
215
277
  } | import("./prompts.js").PromptResponse | {
216
278
  tools: {
217
- name: string;
218
279
  inputSchema: {
280
+ [x: string]: unknown;
219
281
  type: "object";
220
- required?: string[] | undefined;
221
282
  properties?: {
222
283
  [x: string]: object;
223
284
  } | undefined;
285
+ required?: string[] | undefined;
224
286
  };
225
- _meta?: {
226
- [x: string]: unknown;
227
- } | undefined;
228
- icons?: {
229
- src: string;
230
- mimeType?: string | undefined | undefined;
231
- sizes?: string[] | undefined;
232
- }[] | undefined;
233
- title?: string | undefined | undefined;
234
- description?: string | undefined | undefined;
287
+ name: string;
288
+ description?: string | undefined;
235
289
  outputSchema?: {
290
+ [x: string]: unknown;
236
291
  type: "object";
237
- required?: string[] | undefined;
238
292
  properties?: {
239
293
  [x: string]: object;
240
294
  } | undefined;
241
- additionalProperties?: boolean | undefined | undefined;
295
+ required?: string[] | undefined;
242
296
  } | undefined;
243
297
  annotations?: {
244
- title?: string | undefined | undefined;
245
- readOnlyHint?: boolean | undefined | undefined;
246
- destructiveHint?: boolean | undefined | undefined;
247
- idempotentHint?: boolean | undefined | undefined;
248
- openWorldHint?: boolean | undefined | undefined;
298
+ title?: string | undefined;
299
+ readOnlyHint?: boolean | undefined;
300
+ destructiveHint?: boolean | undefined;
301
+ idempotentHint?: boolean | undefined;
302
+ openWorldHint?: boolean | undefined;
303
+ } | undefined;
304
+ execution?: {
305
+ taskSupport?: "optional" | "forbidden" | "required" | undefined;
306
+ } | undefined;
307
+ _meta?: {
308
+ [x: string]: unknown;
249
309
  } | undefined;
310
+ icons?: {
311
+ src: string;
312
+ mimeType?: string | undefined;
313
+ sizes?: string[] | undefined;
314
+ }[] | undefined;
315
+ title?: string | undefined;
250
316
  }[];
251
317
  description: string;
252
318
  messages: {