@warmio/contracts 2.0.0 → 3.0.2

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 (71) hide show
  1. package/README.md +3 -3
  2. package/dist/api/endpoints.d.ts +34 -48
  3. package/dist/api/endpoints.d.ts.map +1 -1
  4. package/dist/api/endpoints.js +36 -56
  5. package/dist/api/endpoints.js.map +1 -1
  6. package/dist/examples/financial-context.d.ts.map +1 -1
  7. package/dist/examples/financial-context.js +2 -1
  8. package/dist/examples/financial-context.js.map +1 -1
  9. package/dist/generated/base-openapi.d.ts +1 -1
  10. package/dist/generated/base-openapi.d.ts.map +1 -1
  11. package/dist/generated/base-openapi.js +1 -1
  12. package/dist/generated/base-openapi.js.map +1 -1
  13. package/dist/generated/mcp-package-release-metadata.d.ts +7 -0
  14. package/dist/generated/mcp-package-release-metadata.d.ts.map +1 -0
  15. package/dist/generated/mcp-package-release-metadata.js +7 -0
  16. package/dist/generated/mcp-package-release-metadata.js.map +1 -0
  17. package/dist/generated/private-mcp-tool-descriptors.d.ts +28 -43
  18. package/dist/generated/private-mcp-tool-descriptors.d.ts.map +1 -1
  19. package/dist/generated/private-mcp-tool-descriptors.js +38 -52
  20. package/dist/generated/private-mcp-tool-descriptors.js.map +1 -1
  21. package/dist/generated/protected-crawler-paths.d.ts +1 -1
  22. package/dist/generated/protected-crawler-paths.d.ts.map +1 -1
  23. package/dist/generated/protected-crawler-paths.js +3 -0
  24. package/dist/generated/protected-crawler-paths.js.map +1 -1
  25. package/dist/generated/warm-app-api-manifest.d.ts +1264 -0
  26. package/dist/generated/warm-app-api-manifest.d.ts.map +1 -0
  27. package/dist/generated/warm-app-api-manifest.js +1884 -0
  28. package/dist/generated/warm-app-api-manifest.js.map +1 -0
  29. package/dist/index.d.ts +0 -1
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +0 -1
  32. package/dist/index.js.map +1 -1
  33. package/dist/manifest.d.ts +600 -1176
  34. package/dist/manifest.d.ts.map +1 -1
  35. package/dist/manifest.js +31 -35
  36. package/dist/manifest.js.map +1 -1
  37. package/dist/mcp/distribution.d.ts +241 -71
  38. package/dist/mcp/distribution.d.ts.map +1 -1
  39. package/dist/mcp/distribution.js +137 -56
  40. package/dist/mcp/distribution.js.map +1 -1
  41. package/dist/mcp/tools.d.ts +1030 -29
  42. package/dist/mcp/tools.d.ts.map +1 -1
  43. package/dist/mcp/tools.js +11 -30
  44. package/dist/mcp/tools.js.map +1 -1
  45. package/dist/openapi/base.yaml +44 -67
  46. package/dist/openapi/build-openapi.d.ts +8 -2
  47. package/dist/openapi/build-openapi.d.ts.map +1 -1
  48. package/dist/openapi/build-openapi.js +93 -21
  49. package/dist/openapi/build-openapi.js.map +1 -1
  50. package/dist/product.d.ts.map +1 -1
  51. package/dist/product.js +9 -1
  52. package/dist/product.js.map +1 -1
  53. package/dist/schemas/financial-context.d.ts +33 -0
  54. package/dist/schemas/financial-context.d.ts.map +1 -1
  55. package/dist/schemas/financial-context.js +21 -6
  56. package/dist/schemas/financial-context.js.map +1 -1
  57. package/dist/schemas/index.d.ts +1 -0
  58. package/dist/schemas/index.d.ts.map +1 -1
  59. package/dist/schemas/index.js +1 -0
  60. package/dist/schemas/index.js.map +1 -1
  61. package/dist/schemas/public-api.d.ts +1368 -0
  62. package/dist/schemas/public-api.d.ts.map +1 -0
  63. package/dist/schemas/public-api.js +181 -0
  64. package/dist/schemas/public-api.js.map +1 -0
  65. package/dist/types.d.ts +8 -2
  66. package/dist/types.d.ts.map +1 -1
  67. package/package.json +1 -8
  68. package/dist/public-discovery.d.ts +0 -116
  69. package/dist/public-discovery.d.ts.map +0 -1
  70. package/dist/public-discovery.js +0 -91
  71. package/dist/public-discovery.js.map +0 -1
@@ -1,80 +1,227 @@
1
- export { apiAudienceRegistry, apiAuthSchemes, apiEndpointManifest, apiKeyPrefixesByAudience, apiRateLimits, API_ORIGIN, DEVELOPERS_PATH, DISCOVERY_ORIGIN, OPENAPI_PATH, PUBLIC_DISCOVERY_MCP_PATH, PUBLIC_DOCS_ORIGIN, PUBLIC_LLMS_TXT_PATH, VERIFY_PATH, automationOperationDescriptors, } from './api/index.js';
1
+ export { apiKeyAuthScheme, apiEndpointManifest, API_ORIGIN, DEVELOPERS_PATH, OPENAPI_PATH, VERIFY_PATH, WARM_API_KEY_PREFIX, WARM_API_KEY_RATE_LIMIT_PER_HOUR, automationOperationDescriptors, } from './api/index.js';
2
2
  export { privateMcpToolDescriptors, type PrivateMcpToolDescriptor, } from './generated/private-mcp-tool-descriptors.js';
3
- export { WARM_MCP_CLIENTS, WARM_MCP_CREDENTIALS, WARM_MCP_INSTALL_COMMAND, WARM_MCP_INSTALLER_COMMANDS, WARM_MCP_MANIFEST, WARM_MCP_MINIMUM_NODE_VERSION, WARM_MCP_MODES, WARM_MCP_PACKAGE_NAME, WARM_MCP_PACKAGE_SPEC, WARM_MCP_PROJECT_CONFIGS, WARM_MCP_SERVER_COMMANDS, WARM_MCP_SERVER_CONFIGS, type PrivateMcpMode, type WarmMcpClientId, type WarmMcpConfigPath, } from './mcp/distribution.js';
4
- export { protectedCrawlerPaths } from './generated/protected-crawler-paths.js';
3
+ export { WARM_MCP_CLIENTS, WARM_MCP_CREDENTIALS, WARM_MCP_INSTALL_COMMAND, WARM_MCP_INSTALLER_COMMAND, WARM_MCP_MANIFEST, WARM_MCP_MINIMUM_NODE_VERSION, WARM_MCP_PACKAGE_NAME, WARM_MCP_PACKAGE_SPEC, WARM_MCP_PACKAGE_VERSION, WARM_MCP_PROJECT_CONFIGS, WARM_MCP_SERVER_COMMAND, WARM_MCP_SERVER_CONFIG, type WarmMcpClientId, type WarmMcpClientConfigDialect, type WarmMcpConfigPath, } from './mcp/distribution.js';
5
4
  /** Complete serializable release value used for provenance and downstream drift checks. */
6
- export declare const contractReleaseManifest: {
7
- readonly api: {
8
- readonly audiences: {
9
- readonly automation: {
10
- readonly auth: {
11
- readonly bearer_prefix: 'warm_auto_';
12
- readonly challenge: 'Bearer';
13
- readonly description: 'Automation routes require an automation API key.';
14
- readonly methods: readonly ['Bearer'];
15
- };
16
- readonly expires_in_days: 90;
17
- readonly mcp_mode: 'automation';
18
- readonly rate_limit_per_hour: 500;
19
- readonly scopes: readonly ['financial:read', 'automation:invoke'];
5
+ export declare function createContractReleaseManifest(mcpDistribution?: {
6
+ readonly clients: readonly [{
7
+ readonly id: 'claude-code';
8
+ readonly name: 'Claude Code';
9
+ readonly format: 'json';
10
+ readonly configDialect: 'mcpServers';
11
+ readonly alwaysInclude: true;
12
+ readonly configPaths: {
13
+ readonly darwin: {
14
+ readonly root: 'home';
15
+ readonly segments: readonly ['.claude.json'];
16
+ };
17
+ readonly linux: {
18
+ readonly root: 'home';
19
+ readonly segments: readonly ['.claude.json'];
20
+ };
21
+ readonly win32: {
22
+ readonly root: 'home';
23
+ readonly segments: readonly ['.claude.json'];
20
24
  };
21
- readonly context: {
22
- readonly auth: {
23
- readonly bearer_prefix: 'warm_ctx_';
24
- readonly challenge: 'Bearer';
25
- readonly description: 'Read/export routes accept a Warm API key or signed-in access token.';
26
- readonly methods: readonly ['Bearer'];
27
- };
28
- readonly expires_in_days: null;
29
- readonly mcp_mode: 'context';
30
- readonly rate_limit_per_hour: 200;
31
- readonly scopes: readonly ['financial:read'];
25
+ };
26
+ }, {
27
+ readonly id: 'claude-desktop';
28
+ readonly name: 'Claude Desktop';
29
+ readonly format: 'json';
30
+ readonly configDialect: 'mcpServers';
31
+ readonly configPaths: {
32
+ readonly darwin: {
33
+ readonly root: 'home';
34
+ readonly segments: readonly ['Library', 'Application Support', 'Claude', 'claude_desktop_config.json'];
35
+ };
36
+ readonly linux: {
37
+ readonly root: 'home';
38
+ readonly segments: readonly ['.config', 'claude', 'claude_desktop_config.json'];
39
+ };
40
+ readonly win32: {
41
+ readonly root: 'appData';
42
+ readonly segments: readonly ['Claude', 'claude_desktop_config.json'];
32
43
  };
33
44
  };
45
+ }, {
46
+ readonly id: 'cursor';
47
+ readonly name: 'Cursor';
48
+ readonly format: 'json';
49
+ readonly configDialect: 'mcpServers';
50
+ readonly configPaths: {
51
+ readonly darwin: {
52
+ readonly root: 'home';
53
+ readonly segments: readonly ['.cursor', 'mcp.json'];
54
+ };
55
+ readonly linux: {
56
+ readonly root: 'home';
57
+ readonly segments: readonly ['.cursor', 'mcp.json'];
58
+ };
59
+ readonly win32: {
60
+ readonly root: 'home';
61
+ readonly segments: readonly ['.cursor', 'mcp.json'];
62
+ };
63
+ };
64
+ }, {
65
+ readonly id: 'windsurf';
66
+ readonly name: 'Windsurf';
67
+ readonly format: 'json';
68
+ readonly configDialect: 'mcpServers';
69
+ readonly configPaths: {
70
+ readonly darwin: {
71
+ readonly root: 'home';
72
+ readonly segments: readonly ['.codeium', 'windsurf', 'mcp_config.json'];
73
+ };
74
+ readonly linux: {
75
+ readonly root: 'home';
76
+ readonly segments: readonly ['.codeium', 'windsurf', 'mcp_config.json'];
77
+ };
78
+ readonly win32: {
79
+ readonly root: 'home';
80
+ readonly segments: readonly ['.codeium', 'windsurf', 'mcp_config.json'];
81
+ };
82
+ };
83
+ }, {
84
+ readonly id: 'opencode';
85
+ readonly name: 'OpenCode';
86
+ readonly format: 'json';
87
+ readonly configDialect: 'openCode';
88
+ readonly configPaths: {
89
+ readonly darwin: {
90
+ readonly root: 'home';
91
+ readonly segments: readonly ['.config', 'opencode', 'opencode.json'];
92
+ };
93
+ readonly linux: {
94
+ readonly root: 'home';
95
+ readonly segments: readonly ['.config', 'opencode', 'opencode.json'];
96
+ };
97
+ readonly win32: {
98
+ readonly root: 'home';
99
+ readonly segments: readonly ['.config', 'opencode', 'opencode.json'];
100
+ };
101
+ };
102
+ }, {
103
+ readonly id: 'codex-cli';
104
+ readonly name: 'Codex CLI';
105
+ readonly format: 'toml';
106
+ readonly configDialect: 'mcpServers';
107
+ readonly configPaths: {
108
+ readonly darwin: {
109
+ readonly root: 'home';
110
+ readonly segments: readonly ['.codex', 'config.toml'];
111
+ };
112
+ readonly linux: {
113
+ readonly root: 'home';
114
+ readonly segments: readonly ['.codex', 'config.toml'];
115
+ };
116
+ readonly win32: {
117
+ readonly root: 'home';
118
+ readonly segments: readonly ['.codex', 'config.toml'];
119
+ };
120
+ };
121
+ }, {
122
+ readonly id: 'antigravity';
123
+ readonly name: 'Antigravity';
124
+ readonly format: 'json';
125
+ readonly configDialect: 'mcpServers';
126
+ readonly configPaths: {
127
+ readonly darwin: {
128
+ readonly root: 'home';
129
+ readonly segments: readonly ['.gemini', 'antigravity', 'mcp_config.json'];
130
+ };
131
+ readonly linux: {
132
+ readonly root: 'home';
133
+ readonly segments: readonly ['.gemini', 'antigravity', 'mcp_config.json'];
134
+ };
135
+ readonly win32: {
136
+ readonly root: 'home';
137
+ readonly segments: readonly ['.gemini', 'antigravity', 'mcp_config.json'];
138
+ };
139
+ };
140
+ }, {
141
+ readonly id: 'gemini-cli';
142
+ readonly name: 'Gemini CLI';
143
+ readonly format: 'json';
144
+ readonly configDialect: 'mcpServers';
145
+ readonly configPaths: {
146
+ readonly darwin: {
147
+ readonly root: 'home';
148
+ readonly segments: readonly ['.gemini', 'settings.json'];
149
+ };
150
+ readonly linux: {
151
+ readonly root: 'home';
152
+ readonly segments: readonly ['.gemini', 'settings.json'];
153
+ };
154
+ readonly win32: {
155
+ readonly root: 'home';
156
+ readonly segments: readonly ['.gemini', 'settings.json'];
157
+ };
158
+ };
159
+ }];
160
+ readonly credentials: {
161
+ readonly apiKeyEnv: 'WARM_API_KEY';
162
+ readonly apiKeyFileEnv: 'WARM_API_KEY_FILE';
163
+ readonly defaultFileName: 'api_key';
164
+ };
165
+ readonly installCommand: string;
166
+ readonly installerCommand: `${string} install`;
167
+ readonly minimumNodeVersion: string;
168
+ readonly packageIntegrity: import("./index.js").WarmMcpPackageIntegrityContract;
169
+ readonly packageName: string;
170
+ readonly packageSpec: string;
171
+ readonly packageVersion: string;
172
+ readonly projectConfigs: readonly [".mcp.json", ".cursor/mcp.json", ".vscode/mcp.json"];
173
+ readonly serverCommand: `${string} mcp`;
174
+ readonly serverConfig: {
175
+ readonly args: readonly ['-y', string, 'mcp'];
176
+ readonly command: 'npx';
177
+ readonly serverName: 'warm';
178
+ };
179
+ }): {
180
+ readonly api: {
34
181
  readonly endpoints: readonly [{
35
- readonly audience: 'context';
182
+ readonly authorization: 'read_only';
36
183
  readonly method: 'GET';
37
184
  readonly operation_id: 'verifyApiAccess';
38
185
  readonly path: "/api/verify";
39
186
  readonly summary: 'Verify API credentials';
40
187
  }, {
41
- readonly audience: 'context';
188
+ readonly authorization: 'read_only';
42
189
  readonly method: 'GET';
43
190
  readonly operation_id: 'getDatasetExport';
44
191
  readonly path: '/api/export';
45
192
  readonly summary: 'Get a typed dataset export';
46
193
  }, {
47
- readonly audience: 'context';
194
+ readonly authorization: 'read_only';
48
195
  readonly method: 'GET';
49
196
  readonly operation_id: 'getFinancialContext';
50
197
  readonly path: '/api/financial-context';
51
198
  readonly summary: 'Get compact financial context';
52
199
  }, {
53
- readonly audience: 'context';
200
+ readonly authorization: 'read_only';
54
201
  readonly method: 'GET';
55
202
  readonly operation_id: 'getFinancialContextTransactions';
56
203
  readonly path: '/api/financial-context/transactions';
57
204
  readonly summary: 'Get financial-context transactions';
58
205
  }, {
59
- readonly audience: 'context';
206
+ readonly authorization: 'read_only';
60
207
  readonly method: 'GET';
61
208
  readonly operation_id: 'getFinancialContextMeta';
62
209
  readonly path: '/api/financial-context/meta';
63
210
  readonly summary: 'Get financial-context metadata';
64
211
  }, {
65
- readonly audience: 'automation';
212
+ readonly authorization: 'automation';
66
213
  readonly method: 'POST';
67
214
  readonly operation_id: 'searchOperations';
68
215
  readonly path: '/api/automation/operations/search';
69
216
  readonly summary: 'Search supported automation operations';
70
217
  }, {
71
- readonly audience: 'automation';
218
+ readonly authorization: 'automation';
72
219
  readonly method: 'POST';
73
220
  readonly operation_id: 'describeOperation';
74
221
  readonly path: '/api/automation/operations/describe';
75
222
  readonly summary: 'Describe one supported operation';
76
223
  }, {
77
- readonly audience: 'automation';
224
+ readonly authorization: 'automation';
78
225
  readonly method: 'POST';
79
226
  readonly operation_id: 'invokeOperation';
80
227
  readonly path: '/api/automation/operations/invoke';
@@ -82,14 +229,9 @@ export declare const contractReleaseManifest: {
82
229
  }];
83
230
  readonly origins: {
84
231
  readonly api: "https://app.warm.io";
85
- readonly discovery: "https://warm.io";
86
- readonly publicDocs: "https://warm.io";
87
232
  };
88
233
  readonly paths: {
89
- readonly developers: "/developers";
90
- readonly llms: "/llms.txt";
91
234
  readonly openapi: "/openapi.yaml";
92
- readonly publicDiscoveryMcp: "/mcp";
93
235
  readonly verify: "/api/verify";
94
236
  };
95
237
  };
@@ -99,6 +241,7 @@ export declare const contractReleaseManifest: {
99
241
  readonly id: 'claude-code';
100
242
  readonly name: 'Claude Code';
101
243
  readonly format: 'json';
244
+ readonly configDialect: 'mcpServers';
102
245
  readonly alwaysInclude: true;
103
246
  readonly configPaths: {
104
247
  readonly darwin: {
@@ -118,6 +261,7 @@ export declare const contractReleaseManifest: {
118
261
  readonly id: 'claude-desktop';
119
262
  readonly name: 'Claude Desktop';
120
263
  readonly format: 'json';
264
+ readonly configDialect: 'mcpServers';
121
265
  readonly configPaths: {
122
266
  readonly darwin: {
123
267
  readonly root: 'home';
@@ -136,6 +280,7 @@ export declare const contractReleaseManifest: {
136
280
  readonly id: 'cursor';
137
281
  readonly name: 'Cursor';
138
282
  readonly format: 'json';
283
+ readonly configDialect: 'mcpServers';
139
284
  readonly configPaths: {
140
285
  readonly darwin: {
141
286
  readonly root: 'home';
@@ -154,6 +299,7 @@ export declare const contractReleaseManifest: {
154
299
  readonly id: 'windsurf';
155
300
  readonly name: 'Windsurf';
156
301
  readonly format: 'json';
302
+ readonly configDialect: 'mcpServers';
157
303
  readonly configPaths: {
158
304
  readonly darwin: {
159
305
  readonly root: 'home';
@@ -172,6 +318,7 @@ export declare const contractReleaseManifest: {
172
318
  readonly id: 'opencode';
173
319
  readonly name: 'OpenCode';
174
320
  readonly format: 'json';
321
+ readonly configDialect: 'openCode';
175
322
  readonly configPaths: {
176
323
  readonly darwin: {
177
324
  readonly root: 'home';
@@ -190,6 +337,7 @@ export declare const contractReleaseManifest: {
190
337
  readonly id: 'codex-cli';
191
338
  readonly name: 'Codex CLI';
192
339
  readonly format: 'toml';
340
+ readonly configDialect: 'mcpServers';
193
341
  readonly configPaths: {
194
342
  readonly darwin: {
195
343
  readonly root: 'home';
@@ -208,6 +356,7 @@ export declare const contractReleaseManifest: {
208
356
  readonly id: 'antigravity';
209
357
  readonly name: 'Antigravity';
210
358
  readonly format: 'json';
359
+ readonly configDialect: 'mcpServers';
211
360
  readonly configPaths: {
212
361
  readonly darwin: {
213
362
  readonly root: 'home';
@@ -226,6 +375,7 @@ export declare const contractReleaseManifest: {
226
375
  readonly id: 'gemini-cli';
227
376
  readonly name: 'Gemini CLI';
228
377
  readonly format: 'json';
378
+ readonly configDialect: 'mcpServers';
229
379
  readonly configPaths: {
230
380
  readonly darwin: {
231
381
  readonly root: 'home';
@@ -242,1190 +392,464 @@ export declare const contractReleaseManifest: {
242
392
  };
243
393
  }];
244
394
  readonly credentials: {
245
- readonly automation: {
246
- readonly apiKeyEnv: 'WARM_AUTOMATION_API_KEY';
247
- readonly apiKeyFileEnv: 'WARM_AUTOMATION_API_KEY_FILE';
248
- readonly defaultFileName: 'automation_api_key';
249
- };
250
- readonly context: {
251
- readonly apiKeyEnv: 'WARM_CONTEXT_API_KEY';
252
- readonly apiKeyFileEnv: 'WARM_CONTEXT_API_KEY_FILE';
253
- readonly defaultFileName: 'context_api_key';
254
- };
255
- };
256
- readonly installCommand: "npx -y @warmio/mcp@latest";
257
- readonly installerCommands: {
258
- readonly automation: "npx -y @warmio/mcp@latest install --mode automation";
259
- readonly context: "npx -y @warmio/mcp@latest install --mode context";
260
- };
261
- readonly minimumNodeVersion: ">=18";
262
- readonly modes: ["automation" | "context", ...("automation" | "context")[]];
263
- readonly packageName: "@warmio/mcp";
264
- readonly packageSpec: "@warmio/mcp@latest";
395
+ readonly apiKeyEnv: 'WARM_API_KEY';
396
+ readonly apiKeyFileEnv: 'WARM_API_KEY_FILE';
397
+ readonly defaultFileName: 'api_key';
398
+ };
399
+ readonly installCommand: string;
400
+ readonly installerCommand: `${string} install`;
401
+ readonly minimumNodeVersion: string;
402
+ readonly packageIntegrity: import("./index.js").WarmMcpPackageIntegrityContract;
403
+ readonly packageName: string;
404
+ readonly packageSpec: string;
405
+ readonly packageVersion: string;
265
406
  readonly projectConfigs: readonly [".mcp.json", ".cursor/mcp.json", ".vscode/mcp.json"];
266
- readonly serverCommands: {
267
- readonly automation: "npx -y @warmio/mcp@latest mcp --mode automation";
268
- readonly context: "npx -y @warmio/mcp@latest mcp --mode context";
269
- };
270
- readonly serverConfigs: {
271
- readonly automation: {
272
- readonly serverName: 'warm-automation';
273
- readonly command: 'npx';
274
- readonly args: readonly ["-y", "@warmio/mcp@latest", "mcp", "--mode", "automation"];
275
- };
276
- readonly context: {
277
- readonly serverName: 'warm';
278
- readonly command: 'npx';
279
- readonly args: readonly ["-y", "@warmio/mcp@latest", "mcp", "--mode", "context"];
280
- };
407
+ readonly serverCommand: `${string} mcp`;
408
+ readonly serverConfig: {
409
+ readonly args: readonly ['-y', string, 'mcp'];
410
+ readonly command: 'npx';
411
+ readonly serverName: 'warm';
281
412
  };
282
413
  };
283
- readonly tools: readonly [{
284
- readonly mode: "context";
285
- readonly name: "get_financial_context";
286
- readonly description: "Read-only compact FinancialContext JSON. Includes status.position, status.accounts, transaction index total/months, recurring, budgets, goals, snapshots, liabilities, holdings, and health. Transaction items are not inline; use get_transactions for items.";
287
- readonly annotations: {
414
+ readonly tools: ({
415
+ name: "get_financial_context";
416
+ description: "Read-only compact FinancialContext JSON. Includes status.position, status.accounts, transaction index total/months, recurring, budgets, goals, snapshots, liabilities, holdings, and health. The status.position field is a point-in-time (as-of-date) balance snapshot, separate from transaction and behavior windows. A null position means no position snapshot is available. Transaction items are not inline; use get_transactions for items.";
417
+ annotations: {
288
418
  readonly readOnlyHint: true;
289
419
  readonly destructiveHint: false;
290
420
  readonly openWorldHint: false;
291
421
  };
292
- readonly input_schema: {
293
- readonly type: "object";
294
- readonly properties: {};
295
- readonly additionalProperties: false;
296
- readonly $schema: "https://json-schema.org/draft-07/schema#";
297
- };
298
- readonly output_schema: {
299
- readonly type: "object";
300
- readonly properties: {
301
- readonly version: {
302
- readonly type: "string";
303
- readonly enum: readonly ["v1"];
304
- };
305
- readonly updated_at: {
306
- readonly type: "string";
307
- readonly format: "date-time";
308
- };
309
- readonly currency: {
310
- readonly type: "string";
311
- readonly enum: readonly ["USD"];
312
- };
313
- readonly status: {
314
- readonly type: "object";
315
- readonly properties: {
316
- readonly position: {
317
- readonly anyOf: readonly [{
318
- readonly type: "object";
319
- readonly properties: {
320
- readonly date: {
321
- readonly anyOf: readonly [{
322
- readonly type: "string";
323
- readonly pattern: "^\\d{4}-\\d{2}-\\d{2}$";
324
- }, {
325
- readonly type: "null";
326
- }];
327
- };
328
- readonly net_worth: {
329
- readonly anyOf: readonly [{
330
- readonly type: "number";
331
- }, {
332
- readonly type: "null";
333
- }];
334
- };
335
- readonly cash: {
336
- readonly anyOf: readonly [{
337
- readonly type: "number";
338
- }, {
339
- readonly type: "null";
340
- }];
341
- };
342
- readonly debt: {
343
- readonly anyOf: readonly [{
344
- readonly type: "number";
345
- }, {
346
- readonly type: "null";
347
- }];
348
- };
349
- readonly investments: {
350
- readonly anyOf: readonly [{
351
- readonly type: "number";
352
- }, {
353
- readonly type: "null";
354
- }];
355
- };
356
- readonly other_assets: {
357
- readonly anyOf: readonly [{
358
- readonly type: "number";
359
- }, {
360
- readonly type: "null";
361
- }];
362
- };
363
- readonly total_assets: {
364
- readonly anyOf: readonly [{
365
- readonly type: "number";
366
- }, {
367
- readonly type: "null";
368
- }];
369
- };
370
- };
371
- readonly required: readonly ["date", "net_worth", "cash", "debt", "investments", "other_assets", "total_assets"];
372
- readonly additionalProperties: false;
373
- }, {
374
- readonly type: "null";
375
- }];
376
- };
377
- readonly accounts: {
378
- readonly type: "array";
379
- readonly items: {
380
- readonly type: "object";
381
- readonly properties: {
382
- readonly id: {
383
- readonly type: "string";
384
- };
385
- readonly name: {
386
- readonly type: "string";
387
- };
388
- readonly source: {
389
- readonly anyOf: readonly [{
390
- readonly type: "string";
391
- readonly enum: readonly ["plaid", "manual", "csv_import"];
392
- }, {
393
- readonly type: "null";
394
- }];
395
- };
396
- readonly type: {
397
- readonly type: "string";
398
- readonly enum: readonly ["depository", "credit", "loan", "investment", "brokerage", "other"];
399
- };
400
- readonly subtype: {
401
- readonly type: readonly ["string", "null"];
402
- };
403
- readonly group: {
404
- readonly anyOf: readonly [{
405
- readonly type: "string";
406
- readonly enum: readonly ["cash", "debt", "investments"];
407
- }, {
408
- readonly type: "null";
409
- }];
410
- };
411
- readonly institution: {
412
- readonly type: readonly ["string", "null"];
413
- };
414
- readonly mask: {
415
- readonly type: readonly ["string", "null"];
416
- };
417
- readonly balance: {
418
- readonly anyOf: readonly [{
419
- readonly type: "number";
420
- }, {
421
- readonly type: "null";
422
- }];
423
- };
424
- readonly available: {
425
- readonly anyOf: readonly [{
426
- readonly type: "number";
427
- }, {
428
- readonly type: "null";
429
- }];
430
- };
431
- readonly currency: {
432
- readonly type: readonly ["string", "null"];
433
- };
434
- readonly updated_at: {
435
- readonly anyOf: readonly [{
436
- readonly type: "string";
437
- readonly format: "date-time";
438
- }, {
439
- readonly type: "null";
440
- }];
441
- };
442
- };
443
- readonly required: readonly ["id", "name", "source", "type", "subtype", "group", "institution", "mask", "balance", "available", "currency", "updated_at"];
444
- readonly additionalProperties: false;
445
- };
446
- };
447
- };
448
- readonly required: readonly ["position", "accounts"];
449
- readonly additionalProperties: false;
450
- };
451
- readonly transactions: {
452
- readonly type: "object";
453
- readonly properties: {
454
- readonly total: {
455
- readonly type: "integer";
456
- readonly minimum: 0;
457
- };
458
- readonly months: {
459
- readonly type: "array";
460
- readonly items: {
461
- readonly type: "object";
462
- readonly properties: {
463
- readonly month: {
464
- readonly type: "string";
465
- readonly pattern: "^\\d{4}-(0[1-9]|1[0-2])$";
466
- };
467
- readonly count: {
468
- readonly type: "integer";
469
- readonly minimum: 0;
470
- };
471
- };
472
- readonly required: readonly ["month", "count"];
473
- readonly additionalProperties: false;
474
- };
475
- };
476
- };
477
- readonly required: readonly ["total", "months"];
478
- readonly additionalProperties: false;
479
- };
480
- readonly recurring: {
481
- readonly type: "array";
482
- readonly items: {
483
- readonly type: "object";
484
- readonly properties: {
485
- readonly id: {
486
- readonly type: "string";
487
- };
488
- readonly account_id: {
489
- readonly type: readonly ["string", "null"];
490
- };
491
- readonly direction: {
492
- readonly anyOf: readonly [{
493
- readonly type: "string";
494
- readonly enum: readonly ["inflow", "outflow"];
495
- }, {
496
- readonly type: "null";
497
- }];
498
- };
499
- readonly frequency: {
500
- readonly anyOf: readonly [{
501
- readonly type: "string";
502
- readonly enum: readonly ["WEEKLY", "BIWEEKLY", "MONTHLY", "QUARTERLY", "SEMI_ANNUALLY", "ANNUALLY"];
503
- }, {
504
- readonly type: "null";
505
- }];
506
- };
507
- readonly status: {
508
- readonly anyOf: readonly [{
509
- readonly type: "string";
510
- readonly enum: readonly ["active", "inactive", "dismissed"];
511
- }, {
512
- readonly type: "null";
513
- }];
514
- };
515
- readonly merchant: {
516
- readonly type: readonly ["string", "null"];
517
- };
518
- readonly amount: {
519
- readonly anyOf: readonly [{
520
- readonly type: "number";
521
- }, {
522
- readonly type: "null";
523
- }];
524
- };
525
- readonly next_date: {
526
- readonly anyOf: readonly [{
527
- readonly type: "string";
528
- readonly pattern: "^\\d{4}-\\d{2}-\\d{2}$";
529
- }, {
530
- readonly type: "null";
531
- }];
532
- };
533
- };
534
- readonly required: readonly ["id", "account_id", "direction", "frequency", "status", "merchant", "amount", "next_date"];
535
- readonly additionalProperties: false;
536
- };
537
- };
538
- readonly budgets: {
539
- readonly type: "array";
540
- readonly items: {
541
- readonly type: "object";
542
- readonly properties: {
543
- readonly id: {
544
- readonly type: "string";
545
- };
546
- readonly name: {
547
- readonly type: "string";
548
- };
549
- readonly type: {
550
- readonly type: "string";
551
- readonly enum: readonly ["category", "merchant"];
552
- };
553
- readonly period: {
554
- readonly type: "string";
555
- readonly enum: readonly ["weekly", "biweekly", "monthly"];
556
- };
557
- readonly status: {
558
- readonly type: "string";
559
- readonly enum: readonly ["under", "warning", "over"];
560
- };
561
- readonly amount: {
562
- readonly type: "number";
563
- };
564
- readonly spent: {
565
- readonly type: "number";
566
- };
567
- readonly remaining: {
568
- readonly type: "number";
569
- };
570
- readonly used_percent: {
571
- readonly type: "number";
572
- };
573
- };
574
- readonly required: readonly ["id", "name", "type", "period", "status", "amount", "spent", "remaining", "used_percent"];
575
- readonly additionalProperties: false;
576
- };
577
- };
578
- readonly goals: {
579
- readonly type: "array";
580
- readonly items: {
581
- readonly type: "object";
582
- readonly properties: {
583
- readonly id: {
584
- readonly type: "string";
585
- };
586
- readonly name: {
587
- readonly type: "string";
588
- };
589
- readonly category: {
590
- readonly type: "string";
591
- };
592
- readonly status: {
593
- readonly type: "string";
594
- readonly enum: readonly ["not_started", "in_progress", "on_track", "behind", "completed"];
595
- };
596
- readonly target: {
597
- readonly type: "number";
598
- };
599
- readonly current: {
600
- readonly type: "number";
601
- };
602
- readonly progress_percent: {
603
- readonly type: "number";
604
- };
605
- readonly target_date: {
606
- readonly anyOf: readonly [{
607
- readonly type: "string";
608
- readonly pattern: "^\\d{4}-\\d{2}-\\d{2}$";
609
- }, {
610
- readonly type: "null";
611
- }];
612
- };
613
- };
614
- readonly required: readonly ["id", "name", "category", "status", "target", "current", "progress_percent", "target_date"];
615
- readonly additionalProperties: false;
616
- };
617
- };
618
- readonly snapshots: {
619
- readonly type: "array";
620
- readonly items: {
621
- readonly type: "object";
622
- readonly properties: {
623
- readonly date: {
624
- readonly type: "string";
625
- readonly pattern: "^\\d{4}-\\d{2}-\\d{2}$";
626
- };
627
- readonly net_worth: {
628
- readonly anyOf: readonly [{
629
- readonly type: "number";
630
- }, {
631
- readonly type: "null";
632
- }];
633
- };
634
- readonly cash: {
635
- readonly anyOf: readonly [{
636
- readonly type: "number";
637
- }, {
638
- readonly type: "null";
639
- }];
640
- };
641
- readonly debt: {
642
- readonly anyOf: readonly [{
643
- readonly type: "number";
644
- }, {
645
- readonly type: "null";
646
- }];
647
- };
648
- readonly income: {
649
- readonly anyOf: readonly [{
650
- readonly type: "number";
651
- }, {
652
- readonly type: "null";
653
- }];
654
- };
655
- readonly expenses: {
656
- readonly anyOf: readonly [{
657
- readonly type: "number";
658
- }, {
659
- readonly type: "null";
660
- }];
661
- };
662
- readonly cash_flow: {
663
- readonly anyOf: readonly [{
664
- readonly type: "number";
665
- }, {
666
- readonly type: "null";
667
- }];
668
- };
669
- readonly savings_rate: {
670
- readonly anyOf: readonly [{
671
- readonly type: "number";
672
- }, {
673
- readonly type: "null";
674
- }];
675
- };
676
- readonly investments: {
677
- readonly anyOf: readonly [{
678
- readonly type: "number";
679
- }, {
680
- readonly type: "null";
681
- }];
682
- };
683
- readonly assets: {
684
- readonly anyOf: readonly [{
685
- readonly type: "number";
686
- }, {
687
- readonly type: "null";
688
- }];
689
- };
690
- readonly health_score: {
691
- readonly anyOf: readonly [{
692
- readonly type: "number";
693
- }, {
694
- readonly type: "null";
695
- }];
696
- };
697
- };
698
- readonly required: readonly ["date", "net_worth", "cash", "debt", "income", "expenses", "cash_flow", "savings_rate", "investments", "assets", "health_score"];
699
- readonly additionalProperties: false;
700
- };
701
- };
702
- readonly liabilities: {
703
- readonly type: "array";
704
- readonly items: {
705
- readonly type: "object";
706
- readonly properties: {
707
- readonly account_id: {
708
- readonly type: readonly ["string", "null"];
709
- };
710
- readonly type: {
711
- readonly anyOf: readonly [{
712
- readonly type: "string";
713
- readonly enum: readonly ["credit", "student", "mortgage", "other"];
714
- }, {
715
- readonly type: "null";
716
- }];
717
- };
718
- readonly balance: {
719
- readonly anyOf: readonly [{
720
- readonly type: "number";
721
- }, {
722
- readonly type: "null";
723
- }];
724
- };
725
- readonly minimum_payment: {
726
- readonly anyOf: readonly [{
727
- readonly type: "number";
728
- }, {
729
- readonly type: "null";
730
- }];
731
- };
732
- readonly due_date: {
733
- readonly anyOf: readonly [{
734
- readonly type: "string";
735
- readonly pattern: "^\\d{4}-\\d{2}-\\d{2}$";
736
- }, {
737
- readonly type: "null";
738
- }];
739
- };
740
- readonly interest_rate: {
741
- readonly anyOf: readonly [{
742
- readonly type: "number";
743
- }, {
744
- readonly type: "null";
745
- }];
746
- };
747
- readonly rate_type: {
748
- readonly anyOf: readonly [{
749
- readonly type: "string";
750
- readonly enum: readonly ["fixed", "variable"];
751
- }, {
752
- readonly type: "null";
753
- }];
754
- };
755
- readonly overdue: {
756
- readonly type: readonly ["boolean", "null"];
757
- };
758
- };
759
- readonly required: readonly ["account_id", "type", "balance", "minimum_payment", "due_date", "interest_rate", "rate_type", "overdue"];
760
- readonly additionalProperties: false;
761
- };
762
- };
763
- readonly holdings: {
764
- readonly type: "array";
765
- readonly items: {
766
- readonly type: "object";
767
- readonly properties: {
768
- readonly account_id: {
769
- readonly type: readonly ["string", "null"];
770
- };
771
- readonly symbol: {
772
- readonly type: readonly ["string", "null"];
773
- };
774
- readonly name: {
775
- readonly type: readonly ["string", "null"];
776
- };
777
- readonly type: {
778
- readonly anyOf: readonly [{
779
- readonly type: "string";
780
- readonly enum: readonly ["cash", "derivative", "equity", "etf", "fixed_income", "mutual_fund", "other"];
781
- }, {
782
- readonly type: "null";
783
- }];
784
- };
785
- readonly quantity: {
786
- readonly anyOf: readonly [{
787
- readonly type: "number";
788
- }, {
789
- readonly type: "null";
790
- }];
791
- };
792
- readonly value: {
793
- readonly anyOf: readonly [{
794
- readonly type: "number";
795
- }, {
796
- readonly type: "null";
797
- }];
798
- };
799
- readonly cost_basis: {
800
- readonly anyOf: readonly [{
801
- readonly type: "number";
802
- }, {
803
- readonly type: "null";
804
- }];
805
- };
806
- };
807
- readonly required: readonly ["account_id", "symbol", "name", "type", "quantity", "value", "cost_basis"];
808
- readonly additionalProperties: false;
809
- };
810
- };
811
- readonly health: {
812
- readonly anyOf: readonly [{
813
- readonly type: "object";
814
- readonly properties: {
815
- readonly score: {
816
- readonly type: "number";
817
- };
818
- readonly label: {
819
- readonly type: "string";
820
- readonly enum: readonly ["Needs Attention", "Good", "Strong"];
821
- };
822
- readonly level: {
823
- readonly type: "string";
824
- readonly enum: readonly ["strong", "good", "fair", "poor", "critical"];
825
- };
826
- readonly summary: {
827
- readonly type: "string";
828
- };
829
- readonly data_completeness: {
830
- readonly type: "number";
831
- };
832
- readonly pillars: {
833
- readonly anyOf: readonly [{
834
- readonly type: "object";
835
- readonly properties: {
836
- readonly spend: {
837
- readonly anyOf: readonly [{
838
- readonly type: "number";
839
- }, {
840
- readonly type: "null";
841
- }];
842
- };
843
- readonly save: {
844
- readonly anyOf: readonly [{
845
- readonly type: "number";
846
- }, {
847
- readonly type: "null";
848
- }];
849
- };
850
- readonly borrow: {
851
- readonly anyOf: readonly [{
852
- readonly type: "number";
853
- }, {
854
- readonly type: "null";
855
- }];
856
- };
857
- readonly build: {
858
- readonly anyOf: readonly [{
859
- readonly type: "number";
860
- }, {
861
- readonly type: "null";
862
- }];
863
- };
864
- };
865
- readonly required: readonly ["spend", "save", "borrow", "build"];
866
- readonly additionalProperties: false;
867
- }, {
868
- readonly type: "null";
869
- }];
870
- };
871
- };
872
- readonly required: readonly ["score", "label", "level", "summary", "data_completeness", "pillars"];
873
- readonly additionalProperties: false;
874
- }, {
875
- readonly type: "null";
876
- }];
877
- };
878
- };
879
- readonly required: readonly ["version", "updated_at", "currency", "status", "transactions", "recurring", "budgets", "goals", "snapshots", "liabilities", "holdings", "health"];
880
- readonly additionalProperties: false;
881
- readonly $schema: "https://json-schema.org/draft-07/schema#";
882
- };
883
- }, {
884
- readonly mode: "context";
885
- readonly name: "get_transactions";
886
- readonly description: "Read-only transactions from the FinancialContext artifact. Pass `period: \"latest\"` for the fixed 10-day latest window or `period: \"YYYY-MM\"` for a month page. The latest window is not caller-configurable. Months outside the covered range return an error.";
887
- readonly annotations: {
422
+ input_schema: import("zod-to-json-schema").JsonSchema7Type & {
423
+ $schema?: string | undefined;
424
+ definitions?: {
425
+ [key: string]: import("zod-to-json-schema").JsonSchema7Type;
426
+ } | undefined;
427
+ };
428
+ output_schema: import("zod-to-json-schema").JsonSchema7Type & {
429
+ $schema?: string | undefined;
430
+ definitions?: {
431
+ [key: string]: import("zod-to-json-schema").JsonSchema7Type;
432
+ } | undefined;
433
+ };
434
+ } | {
435
+ name: "get_transactions";
436
+ description: "Read-only transactions from the FinancialContext artifact. Pass `period: \"latest\"` for the fixed 10-day latest window or `period: \"YYYY-MM\"` for a month page. The latest window is not caller-configurable. Months outside the covered range return an error.";
437
+ annotations: {
888
438
  readonly readOnlyHint: true;
889
439
  readonly destructiveHint: false;
890
440
  readonly openWorldHint: false;
891
441
  };
892
- readonly input_schema: {
893
- readonly type: "object";
894
- readonly properties: {
895
- readonly period: {
896
- readonly type: "string";
897
- readonly pattern: "^(?:latest|\\d{4}-\\d{2})$";
898
- readonly description: "Use \"latest\" for the fixed 10-day window or a YYYY-MM month. Months outside the covered range return an error.";
899
- };
900
- };
901
- readonly required: readonly ["period"];
902
- readonly additionalProperties: false;
903
- readonly $schema: "https://json-schema.org/draft-07/schema#";
904
- };
905
- readonly output_schema: {
906
- readonly anyOf: readonly [{
907
- readonly type: "object";
908
- readonly properties: {
909
- readonly month: {
910
- readonly type: "string";
911
- readonly pattern: "^\\d{4}-(0[1-9]|1[0-2])$";
912
- };
913
- readonly start_date: {
914
- readonly type: "string";
915
- readonly pattern: "^\\d{4}-\\d{2}-\\d{2}$";
916
- };
917
- readonly end_date: {
918
- readonly type: "string";
919
- readonly pattern: "^\\d{4}-\\d{2}-\\d{2}$";
920
- };
921
- readonly count: {
922
- readonly type: "integer";
923
- readonly minimum: 0;
924
- };
925
- readonly items: {
926
- readonly type: "array";
927
- readonly items: {
928
- readonly type: "object";
929
- readonly properties: {
930
- readonly id: {
931
- readonly type: "string";
932
- };
933
- readonly account_id: {
934
- readonly type: readonly ["string", "null"];
935
- };
936
- readonly date: {
937
- readonly anyOf: readonly [{
938
- readonly type: "string";
939
- readonly pattern: "^\\d{4}-\\d{2}-\\d{2}$";
940
- }, {
941
- readonly type: "null";
942
- }];
943
- };
944
- readonly amount: {
945
- readonly type: "number";
946
- };
947
- readonly merchant: {
948
- readonly type: readonly ["string", "null"];
949
- };
950
- readonly name: {
951
- readonly type: readonly ["string", "null"];
952
- };
953
- readonly category: {
954
- readonly type: readonly ["string", "null"];
955
- };
956
- readonly subcategory: {
957
- readonly type: readonly ["string", "null"];
958
- };
959
- readonly pending: {
960
- readonly type: readonly ["boolean", "null"];
961
- };
962
- readonly currency: {
963
- readonly type: readonly ["string", "null"];
964
- };
965
- };
966
- readonly required: readonly ["id", "account_id", "date", "amount", "merchant", "name", "category", "subcategory", "pending", "currency"];
967
- readonly additionalProperties: false;
968
- };
969
- };
970
- };
971
- readonly required: readonly ["month", "start_date", "end_date", "count", "items"];
972
- readonly additionalProperties: false;
973
- }, {
974
- readonly type: "object";
975
- readonly properties: {
976
- readonly since: {
977
- readonly type: "string";
978
- readonly pattern: "^\\d{4}-\\d{2}-\\d{2}$";
979
- };
980
- readonly window_days: {
981
- readonly type: "number";
982
- readonly const: 10;
983
- };
984
- readonly count: {
985
- readonly type: "integer";
986
- readonly minimum: 0;
987
- };
988
- readonly items: {
989
- readonly type: "array";
990
- readonly items: {
991
- readonly type: "object";
992
- readonly properties: {
993
- readonly id: {
994
- readonly type: "string";
995
- };
996
- readonly account_id: {
997
- readonly type: readonly ["string", "null"];
998
- };
999
- readonly date: {
1000
- readonly anyOf: readonly [{
1001
- readonly type: "string";
1002
- readonly pattern: "^\\d{4}-\\d{2}-\\d{2}$";
1003
- }, {
1004
- readonly type: "null";
1005
- }];
1006
- };
1007
- readonly amount: {
1008
- readonly type: "number";
1009
- };
1010
- readonly merchant: {
1011
- readonly type: readonly ["string", "null"];
1012
- };
1013
- readonly name: {
1014
- readonly type: readonly ["string", "null"];
1015
- };
1016
- readonly category: {
1017
- readonly type: readonly ["string", "null"];
1018
- };
1019
- readonly subcategory: {
1020
- readonly type: readonly ["string", "null"];
1021
- };
1022
- readonly pending: {
1023
- readonly type: readonly ["boolean", "null"];
1024
- };
1025
- readonly currency: {
1026
- readonly type: readonly ["string", "null"];
1027
- };
1028
- };
1029
- readonly required: readonly ["id", "account_id", "date", "amount", "merchant", "name", "category", "subcategory", "pending", "currency"];
1030
- readonly additionalProperties: false;
1031
- };
1032
- };
1033
- };
1034
- readonly required: readonly ["since", "window_days", "count", "items"];
1035
- readonly additionalProperties: false;
1036
- }];
1037
- readonly $schema: "https://json-schema.org/draft-07/schema#";
1038
- };
1039
- }, {
1040
- readonly mode: "context";
1041
- readonly name: "verify_key";
1042
- readonly description: "Read-only API key validation for the configured Warm account.";
1043
- readonly annotations: {
442
+ input_schema: import("zod-to-json-schema").JsonSchema7Type & {
443
+ $schema?: string | undefined;
444
+ definitions?: {
445
+ [key: string]: import("zod-to-json-schema").JsonSchema7Type;
446
+ } | undefined;
447
+ };
448
+ output_schema: import("zod-to-json-schema").JsonSchema7Type & {
449
+ $schema?: string | undefined;
450
+ definitions?: {
451
+ [key: string]: import("zod-to-json-schema").JsonSchema7Type;
452
+ } | undefined;
453
+ };
454
+ } | {
455
+ name: "search_operations";
456
+ description: "Search the supported Warm operation catalog. Use this first to find the smallest matching operation.";
457
+ annotations: {
1044
458
  readonly readOnlyHint: true;
1045
459
  readonly destructiveHint: false;
1046
460
  readonly openWorldHint: false;
1047
461
  };
1048
- readonly input_schema: {
1049
- readonly type: "object";
1050
- readonly properties: {};
1051
- readonly additionalProperties: false;
1052
- readonly $schema: "https://json-schema.org/draft-07/schema#";
462
+ input_schema: import("zod-to-json-schema").JsonSchema7Type & {
463
+ $schema?: string | undefined;
464
+ definitions?: {
465
+ [key: string]: import("zod-to-json-schema").JsonSchema7Type;
466
+ } | undefined;
467
+ };
468
+ output_schema: import("zod-to-json-schema").JsonSchema7Type & {
469
+ $schema?: string | undefined;
470
+ definitions?: {
471
+ [key: string]: import("zod-to-json-schema").JsonSchema7Type;
472
+ } | undefined;
473
+ };
474
+ } | {
475
+ name: "describe_operation";
476
+ description: "Describe one operation, including its input schema and risk. For write operations, pass the exact intended input to receive an approval with its ID, status, URL, and expiry.";
477
+ annotations: {
478
+ readonly readOnlyHint: false;
479
+ readonly destructiveHint: false;
480
+ readonly openWorldHint: false;
481
+ };
482
+ input_schema: import("zod-to-json-schema").JsonSchema7Type & {
483
+ $schema?: string | undefined;
484
+ definitions?: {
485
+ [key: string]: import("zod-to-json-schema").JsonSchema7Type;
486
+ } | undefined;
487
+ };
488
+ output_schema: import("zod-to-json-schema").JsonSchema7Type & {
489
+ $schema?: string | undefined;
490
+ definitions?: {
491
+ [key: string]: import("zod-to-json-schema").JsonSchema7Type;
492
+ } | undefined;
493
+ };
494
+ } | {
495
+ name: "invoke_operation";
496
+ description: "Invoke one previously discovered Warm operation. Every write operation requires the approval_id returned for the exact same input by describe_operation.";
497
+ annotations: {
498
+ readonly readOnlyHint: false;
499
+ readonly destructiveHint: true;
500
+ readonly openWorldHint: false;
1053
501
  };
1054
- readonly output_schema: {
1055
- readonly type: "object";
1056
- readonly properties: {
1057
- readonly audience: {
1058
- readonly type: "string";
1059
- readonly enum: readonly ["automation", "context", "oauth"];
502
+ input_schema: import("zod-to-json-schema").JsonSchema7Type & {
503
+ $schema?: string | undefined;
504
+ definitions?: {
505
+ [key: string]: import("zod-to-json-schema").JsonSchema7Type;
506
+ } | undefined;
507
+ };
508
+ output_schema: import("zod-to-json-schema").JsonSchema7Type & {
509
+ $schema?: string | undefined;
510
+ definitions?: {
511
+ [key: string]: import("zod-to-json-schema").JsonSchema7Type;
512
+ } | undefined;
513
+ };
514
+ })[];
515
+ };
516
+ };
517
+ export declare const contractReleaseManifest: {
518
+ readonly api: {
519
+ readonly endpoints: readonly [{
520
+ readonly authorization: 'read_only';
521
+ readonly method: 'GET';
522
+ readonly operation_id: 'verifyApiAccess';
523
+ readonly path: "/api/verify";
524
+ readonly summary: 'Verify API credentials';
525
+ }, {
526
+ readonly authorization: 'read_only';
527
+ readonly method: 'GET';
528
+ readonly operation_id: 'getDatasetExport';
529
+ readonly path: '/api/export';
530
+ readonly summary: 'Get a typed dataset export';
531
+ }, {
532
+ readonly authorization: 'read_only';
533
+ readonly method: 'GET';
534
+ readonly operation_id: 'getFinancialContext';
535
+ readonly path: '/api/financial-context';
536
+ readonly summary: 'Get compact financial context';
537
+ }, {
538
+ readonly authorization: 'read_only';
539
+ readonly method: 'GET';
540
+ readonly operation_id: 'getFinancialContextTransactions';
541
+ readonly path: '/api/financial-context/transactions';
542
+ readonly summary: 'Get financial-context transactions';
543
+ }, {
544
+ readonly authorization: 'read_only';
545
+ readonly method: 'GET';
546
+ readonly operation_id: 'getFinancialContextMeta';
547
+ readonly path: '/api/financial-context/meta';
548
+ readonly summary: 'Get financial-context metadata';
549
+ }, {
550
+ readonly authorization: 'automation';
551
+ readonly method: 'POST';
552
+ readonly operation_id: 'searchOperations';
553
+ readonly path: '/api/automation/operations/search';
554
+ readonly summary: 'Search supported automation operations';
555
+ }, {
556
+ readonly authorization: 'automation';
557
+ readonly method: 'POST';
558
+ readonly operation_id: 'describeOperation';
559
+ readonly path: '/api/automation/operations/describe';
560
+ readonly summary: 'Describe one supported operation';
561
+ }, {
562
+ readonly authorization: 'automation';
563
+ readonly method: 'POST';
564
+ readonly operation_id: 'invokeOperation';
565
+ readonly path: '/api/automation/operations/invoke';
566
+ readonly summary: 'Invoke one supported operation';
567
+ }];
568
+ readonly origins: {
569
+ readonly api: "https://app.warm.io";
570
+ };
571
+ readonly paths: {
572
+ readonly openapi: "/openapi.yaml";
573
+ readonly verify: "/api/verify";
574
+ };
575
+ };
576
+ readonly mcp: {
577
+ readonly distribution: {
578
+ readonly clients: readonly [{
579
+ readonly id: 'claude-code';
580
+ readonly name: 'Claude Code';
581
+ readonly format: 'json';
582
+ readonly configDialect: 'mcpServers';
583
+ readonly alwaysInclude: true;
584
+ readonly configPaths: {
585
+ readonly darwin: {
586
+ readonly root: 'home';
587
+ readonly segments: readonly ['.claude.json'];
1060
588
  };
1061
- readonly status: {
1062
- readonly type: "string";
589
+ readonly linux: {
590
+ readonly root: 'home';
591
+ readonly segments: readonly ['.claude.json'];
1063
592
  };
1064
- readonly valid: {
1065
- readonly type: "boolean";
593
+ readonly win32: {
594
+ readonly root: 'home';
595
+ readonly segments: readonly ['.claude.json'];
1066
596
  };
1067
597
  };
1068
- readonly required: readonly ["status", "valid"];
1069
- readonly additionalProperties: false;
1070
- readonly $schema: "https://json-schema.org/draft-07/schema#";
1071
- };
1072
- }, {
1073
- readonly mode: "automation";
1074
- readonly name: "search_operations";
1075
- readonly description: "Search the supported Warm operation catalog. Use this first to find the smallest matching operation.";
1076
- readonly annotations: {
1077
- readonly readOnlyHint: true;
1078
- readonly destructiveHint: false;
1079
- readonly openWorldHint: false;
1080
- };
1081
- readonly input_schema: {
1082
- readonly type: "object";
1083
- readonly properties: {
1084
- readonly query: {
1085
- readonly type: "string";
1086
- readonly maxLength: 200;
1087
- readonly description: "Words describing the action or data you need.";
598
+ }, {
599
+ readonly id: 'claude-desktop';
600
+ readonly name: 'Claude Desktop';
601
+ readonly format: 'json';
602
+ readonly configDialect: 'mcpServers';
603
+ readonly configPaths: {
604
+ readonly darwin: {
605
+ readonly root: 'home';
606
+ readonly segments: readonly ['Library', 'Application Support', 'Claude', 'claude_desktop_config.json'];
1088
607
  };
1089
- };
1090
- readonly additionalProperties: false;
1091
- readonly $schema: "https://json-schema.org/draft-07/schema#";
1092
- };
1093
- readonly output_schema: {
1094
- readonly type: "object";
1095
- readonly properties: {
1096
- readonly operations: {
1097
- readonly type: "array";
1098
- readonly items: {
1099
- readonly type: "object";
1100
- readonly properties: {
1101
- readonly confirmation_required: {
1102
- readonly type: "boolean";
1103
- };
1104
- readonly description: {
1105
- readonly type: "string";
1106
- };
1107
- readonly method: {
1108
- readonly type: "string";
1109
- readonly enum: readonly ["DELETE", "GET", "PATCH", "POST", "PUT"];
1110
- };
1111
- readonly operation_id: {
1112
- readonly type: "string";
1113
- };
1114
- readonly path: {
1115
- readonly type: "string";
1116
- };
1117
- readonly risk: {
1118
- readonly type: "array";
1119
- readonly items: {
1120
- readonly type: "string";
1121
- readonly enum: readonly ["read", "write", "destructive", "external_effect"];
1122
- };
1123
- };
1124
- readonly summary: {
1125
- readonly type: "string";
1126
- };
1127
- };
1128
- readonly required: readonly ["confirmation_required", "description", "method", "operation_id", "path", "risk", "summary"];
1129
- readonly additionalProperties: false;
1130
- };
608
+ readonly linux: {
609
+ readonly root: 'home';
610
+ readonly segments: readonly ['.config', 'claude', 'claude_desktop_config.json'];
611
+ };
612
+ readonly win32: {
613
+ readonly root: 'appData';
614
+ readonly segments: readonly ['Claude', 'claude_desktop_config.json'];
1131
615
  };
1132
616
  };
1133
- readonly required: readonly ["operations"];
1134
- readonly additionalProperties: false;
1135
- readonly $schema: "https://json-schema.org/draft-07/schema#";
1136
- };
1137
- }, {
1138
- readonly mode: "automation";
1139
- readonly name: "describe_operation";
1140
- readonly description: "Describe one operation, including its input schema and risk. For write operations, pass the exact intended input to receive an approval with its ID, status, URL, and expiry.";
1141
- readonly annotations: {
1142
- readonly readOnlyHint: false;
1143
- readonly destructiveHint: false;
1144
- readonly openWorldHint: false;
1145
- };
1146
- readonly input_schema: {
1147
- readonly type: "object";
1148
- readonly properties: {
1149
- readonly operation_id: {
1150
- readonly type: "string";
1151
- readonly minLength: 1;
617
+ }, {
618
+ readonly id: 'cursor';
619
+ readonly name: 'Cursor';
620
+ readonly format: 'json';
621
+ readonly configDialect: 'mcpServers';
622
+ readonly configPaths: {
623
+ readonly darwin: {
624
+ readonly root: 'home';
625
+ readonly segments: readonly ['.cursor', 'mcp.json'];
626
+ };
627
+ readonly linux: {
628
+ readonly root: 'home';
629
+ readonly segments: readonly ['.cursor', 'mcp.json'];
1152
630
  };
1153
- readonly input: {
1154
- readonly type: "object";
1155
- readonly properties: {
1156
- readonly body: {
1157
- readonly type: "object";
1158
- readonly additionalProperties: {};
1159
- };
1160
- readonly params: {
1161
- readonly type: "object";
1162
- readonly additionalProperties: {
1163
- readonly type: "string";
1164
- };
1165
- };
1166
- };
1167
- readonly additionalProperties: false;
1168
- readonly description: "Exact intended input. Required to obtain approval for a write operation.";
631
+ readonly win32: {
632
+ readonly root: 'home';
633
+ readonly segments: readonly ['.cursor', 'mcp.json'];
1169
634
  };
1170
635
  };
1171
- readonly required: readonly ["operation_id"];
1172
- readonly additionalProperties: false;
1173
- readonly $schema: "https://json-schema.org/draft-07/schema#";
1174
- };
1175
- readonly output_schema: {
1176
- readonly type: "object";
1177
- readonly properties: {
1178
- readonly approval: {
1179
- readonly type: "object";
1180
- readonly properties: {
1181
- readonly approval_url: {
1182
- readonly type: "string";
1183
- readonly format: "uri";
1184
- };
1185
- readonly expires_at: {
1186
- readonly type: "string";
1187
- readonly format: "date-time";
1188
- };
1189
- readonly id: {
1190
- readonly type: "string";
1191
- readonly minLength: 1;
1192
- };
1193
- readonly status: {
1194
- readonly type: "string";
1195
- readonly const: "pending";
1196
- };
1197
- };
1198
- readonly required: readonly ["approval_url", "expires_at", "id", "status"];
1199
- readonly additionalProperties: false;
636
+ }, {
637
+ readonly id: 'windsurf';
638
+ readonly name: 'Windsurf';
639
+ readonly format: 'json';
640
+ readonly configDialect: 'mcpServers';
641
+ readonly configPaths: {
642
+ readonly darwin: {
643
+ readonly root: 'home';
644
+ readonly segments: readonly ['.codeium', 'windsurf', 'mcp_config.json'];
1200
645
  };
1201
- readonly operation: {
1202
- readonly type: "object";
1203
- readonly properties: {
1204
- readonly confirmation_required: {
1205
- readonly type: "boolean";
1206
- };
1207
- readonly description: {
1208
- readonly type: "string";
1209
- };
1210
- readonly method: {
1211
- readonly type: "string";
1212
- readonly enum: readonly ["DELETE", "GET", "PATCH", "POST", "PUT"];
1213
- };
1214
- readonly operation_id: {
1215
- readonly type: "string";
1216
- };
1217
- readonly path: {
1218
- readonly type: "string";
1219
- };
1220
- readonly risk: {
1221
- readonly type: "array";
1222
- readonly items: {
1223
- readonly type: "string";
1224
- readonly enum: readonly ["read", "write", "destructive", "external_effect"];
1225
- };
1226
- };
1227
- readonly summary: {
1228
- readonly type: "string";
1229
- };
1230
- readonly input_schema: {
1231
- readonly type: "object";
1232
- readonly additionalProperties: {};
1233
- };
1234
- };
1235
- readonly required: readonly ["confirmation_required", "description", "method", "operation_id", "path", "risk", "summary", "input_schema"];
1236
- readonly additionalProperties: false;
646
+ readonly linux: {
647
+ readonly root: 'home';
648
+ readonly segments: readonly ['.codeium', 'windsurf', 'mcp_config.json'];
649
+ };
650
+ readonly win32: {
651
+ readonly root: 'home';
652
+ readonly segments: readonly ['.codeium', 'windsurf', 'mcp_config.json'];
1237
653
  };
1238
654
  };
1239
- readonly required: readonly ["operation"];
1240
- readonly additionalProperties: false;
1241
- readonly $schema: "https://json-schema.org/draft-07/schema#";
1242
- };
1243
- }, {
1244
- readonly mode: "automation";
1245
- readonly name: "invoke_operation";
1246
- readonly description: "Invoke one previously discovered Warm operation. Every write operation requires the approval_id returned for the exact same input by describe_operation.";
1247
- readonly annotations: {
1248
- readonly readOnlyHint: false;
1249
- readonly destructiveHint: true;
1250
- readonly openWorldHint: false;
1251
- };
1252
- readonly input_schema: {
1253
- readonly type: "object";
1254
- readonly properties: {
1255
- readonly operation_id: {
1256
- readonly type: "string";
1257
- readonly minLength: 1;
655
+ }, {
656
+ readonly id: 'opencode';
657
+ readonly name: 'OpenCode';
658
+ readonly format: 'json';
659
+ readonly configDialect: 'openCode';
660
+ readonly configPaths: {
661
+ readonly darwin: {
662
+ readonly root: 'home';
663
+ readonly segments: readonly ['.config', 'opencode', 'opencode.json'];
1258
664
  };
1259
- readonly input: {
1260
- readonly type: "object";
1261
- readonly properties: {
1262
- readonly body: {
1263
- readonly type: "object";
1264
- readonly additionalProperties: {};
1265
- };
1266
- readonly params: {
1267
- readonly type: "object";
1268
- readonly additionalProperties: {
1269
- readonly type: "string";
1270
- };
1271
- };
1272
- };
1273
- readonly additionalProperties: false;
1274
- readonly description: "Exact intended input. Required to obtain approval for a write operation.";
665
+ readonly linux: {
666
+ readonly root: 'home';
667
+ readonly segments: readonly ['.config', 'opencode', 'opencode.json'];
1275
668
  };
1276
- readonly approval_id: {
1277
- readonly type: "string";
1278
- readonly format: "uuid";
1279
- readonly description: "Approval ID returned by describe_operation for the exact write input.";
669
+ readonly win32: {
670
+ readonly root: 'home';
671
+ readonly segments: readonly ['.config', 'opencode', 'opencode.json'];
1280
672
  };
1281
673
  };
1282
- readonly required: readonly ["operation_id"];
1283
- readonly additionalProperties: false;
1284
- readonly $schema: "https://json-schema.org/draft-07/schema#";
1285
- };
1286
- readonly output_schema: {
1287
- readonly type: "object";
1288
- readonly properties: {
1289
- readonly body: {};
1290
- readonly headers: {
1291
- readonly type: "object";
1292
- readonly additionalProperties: {
1293
- readonly type: "string";
1294
- };
674
+ }, {
675
+ readonly id: 'codex-cli';
676
+ readonly name: 'Codex CLI';
677
+ readonly format: 'toml';
678
+ readonly configDialect: 'mcpServers';
679
+ readonly configPaths: {
680
+ readonly darwin: {
681
+ readonly root: 'home';
682
+ readonly segments: readonly ['.codex', 'config.toml'];
1295
683
  };
1296
- readonly operation_id: {
1297
- readonly type: "string";
684
+ readonly linux: {
685
+ readonly root: 'home';
686
+ readonly segments: readonly ['.codex', 'config.toml'];
1298
687
  };
1299
- readonly status: {
1300
- readonly type: "integer";
688
+ readonly win32: {
689
+ readonly root: 'home';
690
+ readonly segments: readonly ['.codex', 'config.toml'];
1301
691
  };
1302
692
  };
1303
- readonly required: readonly ["headers", "operation_id", "status"];
1304
- readonly additionalProperties: false;
1305
- readonly $schema: "https://json-schema.org/draft-07/schema#";
1306
- };
1307
- }];
1308
- };
1309
- readonly product: {
1310
- readonly capabilities: readonly {
1311
- id: import("./product.js").ProductCapabilityId;
1312
- label: string;
1313
- tiers: readonly import("./product.js").PublicProductTier[];
1314
- }[];
1315
- readonly tiers: readonly ["plus", "pro"];
1316
- };
1317
- readonly protectedCrawlerPaths: readonly ["/dashboard", "/transactions", "/accounts", "/assets", "/subscriptions", "/spending", "/income", "/cash-flow", "/budgets", "/benefits", "/goals", "/planning", "/alerts", "/tag-rules", "/more", "/settings", "/feedback", "/billing", "/logs", "/join", "/welcome", "/welcome/connect", "/welcome/complete", "/welcome/sync", "/dashboard-1", "/dashboard-2", "/dashboard-3", "/insights", "/ksink", "/snapshots"];
1318
- readonly publicDiscovery: {
1319
- readonly protocolVersion: '2025-06-18';
1320
- readonly serverInfo: {
1321
- readonly name: 'warm-public-tools';
1322
- readonly title: 'Warm Public Discovery Tools';
1323
- readonly version: '1.0.0';
1324
- };
1325
- readonly paths: {
1326
- readonly developers: "/developers";
1327
- readonly endpoint: "/mcp";
1328
- readonly openapi: "/openapi.yaml";
1329
- readonly verify: "/api/verify";
1330
- };
1331
- readonly tools: readonly [{
1332
- readonly annotations: {
1333
- readonly readOnlyHint: true;
1334
- };
1335
- readonly description: 'Return Warm API discovery URLs and the current API catalog document.';
1336
- readonly inputSchema: {
1337
- type: string;
1338
- properties: {};
1339
- additionalProperties: boolean;
1340
- };
1341
- readonly name: 'warm-get-api-catalog';
1342
- readonly outputSchema: {
1343
- readonly type: 'object';
1344
- readonly properties: {
1345
- readonly apiCatalogUrl: {
1346
- readonly type: 'string';
693
+ }, {
694
+ readonly id: 'antigravity';
695
+ readonly name: 'Antigravity';
696
+ readonly format: 'json';
697
+ readonly configDialect: 'mcpServers';
698
+ readonly configPaths: {
699
+ readonly darwin: {
700
+ readonly root: 'home';
701
+ readonly segments: readonly ['.gemini', 'antigravity', 'mcp_config.json'];
1347
702
  };
1348
- readonly payload: {
1349
- readonly type: 'object';
703
+ readonly linux: {
704
+ readonly root: 'home';
705
+ readonly segments: readonly ['.gemini', 'antigravity', 'mcp_config.json'];
706
+ };
707
+ readonly win32: {
708
+ readonly root: 'home';
709
+ readonly segments: readonly ['.gemini', 'antigravity', 'mcp_config.json'];
1350
710
  };
1351
711
  };
1352
- readonly required: readonly ['apiCatalogUrl', 'payload'];
1353
- readonly additionalProperties: false;
1354
- };
1355
- readonly title: 'Warm API Catalog';
1356
- }, {
1357
- readonly annotations: {
1358
- readonly readOnlyHint: true;
1359
- };
1360
- readonly description: 'Return the Warm OpenAPI document URL and companion documentation URLs.';
1361
- readonly inputSchema: {
1362
- type: string;
1363
- properties: {};
1364
- additionalProperties: boolean;
1365
- };
1366
- readonly name: 'warm-get-openapi';
1367
- readonly outputSchema: {
1368
- readonly type: 'object';
1369
- readonly properties: {
1370
- readonly apiCatalogUrl: {
1371
- readonly type: 'string';
712
+ }, {
713
+ readonly id: 'gemini-cli';
714
+ readonly name: 'Gemini CLI';
715
+ readonly format: 'json';
716
+ readonly configDialect: 'mcpServers';
717
+ readonly configPaths: {
718
+ readonly darwin: {
719
+ readonly root: 'home';
720
+ readonly segments: readonly ['.gemini', 'settings.json'];
1372
721
  };
1373
- readonly documentationUrl: {
1374
- readonly type: 'string';
722
+ readonly linux: {
723
+ readonly root: 'home';
724
+ readonly segments: readonly ['.gemini', 'settings.json'];
1375
725
  };
1376
- readonly openapiUrl: {
1377
- readonly type: 'string';
726
+ readonly win32: {
727
+ readonly root: 'home';
728
+ readonly segments: readonly ['.gemini', 'settings.json'];
1378
729
  };
1379
730
  };
1380
- readonly required: readonly ['apiCatalogUrl', 'documentationUrl', 'openapiUrl'];
1381
- readonly additionalProperties: false;
731
+ }];
732
+ readonly credentials: {
733
+ readonly apiKeyEnv: 'WARM_API_KEY';
734
+ readonly apiKeyFileEnv: 'WARM_API_KEY_FILE';
735
+ readonly defaultFileName: 'api_key';
736
+ };
737
+ readonly installCommand: string;
738
+ readonly installerCommand: `${string} install`;
739
+ readonly minimumNodeVersion: string;
740
+ readonly packageIntegrity: import("./index.js").WarmMcpPackageIntegrityContract;
741
+ readonly packageName: string;
742
+ readonly packageSpec: string;
743
+ readonly packageVersion: string;
744
+ readonly projectConfigs: readonly [".mcp.json", ".cursor/mcp.json", ".vscode/mcp.json"];
745
+ readonly serverCommand: `${string} mcp`;
746
+ readonly serverConfig: {
747
+ readonly args: readonly ['-y', string, 'mcp'];
748
+ readonly command: 'npx';
749
+ readonly serverName: 'warm';
1382
750
  };
1383
- readonly title: 'Warm OpenAPI';
1384
- }, {
1385
- readonly annotations: {
751
+ };
752
+ readonly tools: ({
753
+ name: "get_financial_context";
754
+ description: "Read-only compact FinancialContext JSON. Includes status.position, status.accounts, transaction index total/months, recurring, budgets, goals, snapshots, liabilities, holdings, and health. The status.position field is a point-in-time (as-of-date) balance snapshot, separate from transaction and behavior windows. A null position means no position snapshot is available. Transaction items are not inline; use get_transactions for items.";
755
+ annotations: {
1386
756
  readonly readOnlyHint: true;
757
+ readonly destructiveHint: false;
758
+ readonly openWorldHint: false;
1387
759
  };
1388
- readonly description: 'Fetch the current Warm public API verification payload from /api/verify.';
1389
- readonly inputSchema: {
1390
- type: string;
1391
- properties: {};
1392
- additionalProperties: boolean;
760
+ input_schema: import("zod-to-json-schema").JsonSchema7Type & {
761
+ $schema?: string | undefined;
762
+ definitions?: {
763
+ [key: string]: import("zod-to-json-schema").JsonSchema7Type;
764
+ } | undefined;
765
+ };
766
+ output_schema: import("zod-to-json-schema").JsonSchema7Type & {
767
+ $schema?: string | undefined;
768
+ definitions?: {
769
+ [key: string]: import("zod-to-json-schema").JsonSchema7Type;
770
+ } | undefined;
771
+ };
772
+ } | {
773
+ name: "get_transactions";
774
+ description: "Read-only transactions from the FinancialContext artifact. Pass `period: \"latest\"` for the fixed 10-day latest window or `period: \"YYYY-MM\"` for a month page. The latest window is not caller-configurable. Months outside the covered range return an error.";
775
+ annotations: {
776
+ readonly readOnlyHint: true;
777
+ readonly destructiveHint: false;
778
+ readonly openWorldHint: false;
1393
779
  };
1394
- readonly name: 'warm-get-service-status';
1395
- readonly outputSchema: {
1396
- readonly type: 'object';
1397
- readonly properties: {
1398
- readonly ok: {
1399
- readonly type: 'boolean';
1400
- };
1401
- readonly payload: {};
1402
- readonly error: {
1403
- readonly type: 'object';
1404
- readonly properties: {
1405
- readonly code: {
1406
- readonly type: 'string';
1407
- readonly enum: readonly ['VERIFY_TIMEOUT', 'VERIFY_NON_JSON', 'VERIFY_UNAVAILABLE'];
1408
- };
1409
- readonly message: {
1410
- readonly type: 'string';
1411
- };
1412
- };
1413
- readonly required: readonly ['code', 'message'];
1414
- readonly additionalProperties: false;
1415
- };
1416
- readonly status: {
1417
- readonly type: 'number';
1418
- readonly minimum: 0;
1419
- };
1420
- readonly statusUrl: {
1421
- readonly type: 'string';
1422
- };
1423
- };
1424
- readonly required: readonly ['ok', 'status', 'statusUrl'];
1425
- readonly additionalProperties: false;
780
+ input_schema: import("zod-to-json-schema").JsonSchema7Type & {
781
+ $schema?: string | undefined;
782
+ definitions?: {
783
+ [key: string]: import("zod-to-json-schema").JsonSchema7Type;
784
+ } | undefined;
785
+ };
786
+ output_schema: import("zod-to-json-schema").JsonSchema7Type & {
787
+ $schema?: string | undefined;
788
+ definitions?: {
789
+ [key: string]: import("zod-to-json-schema").JsonSchema7Type;
790
+ } | undefined;
791
+ };
792
+ } | {
793
+ name: "search_operations";
794
+ description: "Search the supported Warm operation catalog. Use this first to find the smallest matching operation.";
795
+ annotations: {
796
+ readonly readOnlyHint: true;
797
+ readonly destructiveHint: false;
798
+ readonly openWorldHint: false;
1426
799
  };
1427
- readonly title: 'Warm API Verification';
1428
- }];
800
+ input_schema: import("zod-to-json-schema").JsonSchema7Type & {
801
+ $schema?: string | undefined;
802
+ definitions?: {
803
+ [key: string]: import("zod-to-json-schema").JsonSchema7Type;
804
+ } | undefined;
805
+ };
806
+ output_schema: import("zod-to-json-schema").JsonSchema7Type & {
807
+ $schema?: string | undefined;
808
+ definitions?: {
809
+ [key: string]: import("zod-to-json-schema").JsonSchema7Type;
810
+ } | undefined;
811
+ };
812
+ } | {
813
+ name: "describe_operation";
814
+ description: "Describe one operation, including its input schema and risk. For write operations, pass the exact intended input to receive an approval with its ID, status, URL, and expiry.";
815
+ annotations: {
816
+ readonly readOnlyHint: false;
817
+ readonly destructiveHint: false;
818
+ readonly openWorldHint: false;
819
+ };
820
+ input_schema: import("zod-to-json-schema").JsonSchema7Type & {
821
+ $schema?: string | undefined;
822
+ definitions?: {
823
+ [key: string]: import("zod-to-json-schema").JsonSchema7Type;
824
+ } | undefined;
825
+ };
826
+ output_schema: import("zod-to-json-schema").JsonSchema7Type & {
827
+ $schema?: string | undefined;
828
+ definitions?: {
829
+ [key: string]: import("zod-to-json-schema").JsonSchema7Type;
830
+ } | undefined;
831
+ };
832
+ } | {
833
+ name: "invoke_operation";
834
+ description: "Invoke one previously discovered Warm operation. Every write operation requires the approval_id returned for the exact same input by describe_operation.";
835
+ annotations: {
836
+ readonly readOnlyHint: false;
837
+ readonly destructiveHint: true;
838
+ readonly openWorldHint: false;
839
+ };
840
+ input_schema: import("zod-to-json-schema").JsonSchema7Type & {
841
+ $schema?: string | undefined;
842
+ definitions?: {
843
+ [key: string]: import("zod-to-json-schema").JsonSchema7Type;
844
+ } | undefined;
845
+ };
846
+ output_schema: import("zod-to-json-schema").JsonSchema7Type & {
847
+ $schema?: string | undefined;
848
+ definitions?: {
849
+ [key: string]: import("zod-to-json-schema").JsonSchema7Type;
850
+ } | undefined;
851
+ };
852
+ })[];
1429
853
  };
1430
854
  };
1431
855
  /** Canonical key-sorted JSON derived from the executed manifest values. */