@warmio/contracts 1.0.0

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