@dizzlkheinz/ynab-mcpb 0.17.0 → 0.18.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 (182) hide show
  1. package/.env.example +33 -33
  2. package/.github/workflows/ci-tests.yml +45 -45
  3. package/.github/workflows/claude-code-review.yml +57 -57
  4. package/.github/workflows/claude.yml +50 -50
  5. package/.github/workflows/full-integration.yml +22 -22
  6. package/.github/workflows/publish.yml +12 -3
  7. package/.github/workflows/release.yml +2 -2
  8. package/CHANGELOG.md +10 -1
  9. package/CLAUDE.md +16 -12
  10. package/README.md +6 -1
  11. package/dist/bundle/index.cjs +49 -49
  12. package/dist/server/YNABMCPServer.d.ts +125 -54
  13. package/dist/server/YNABMCPServer.js +42 -11
  14. package/dist/server/cacheManager.js +6 -5
  15. package/dist/server/completions.d.ts +25 -0
  16. package/dist/server/completions.js +160 -0
  17. package/dist/server/config.d.ts +2 -2
  18. package/dist/server/errorHandler.js +1 -0
  19. package/dist/server/rateLimiter.js +3 -1
  20. package/dist/server/resources.d.ts +1 -0
  21. package/dist/server/resources.js +33 -16
  22. package/dist/server/securityMiddleware.d.ts +38 -8
  23. package/dist/server/securityMiddleware.js +1 -0
  24. package/dist/server/toolRegistry.d.ts +9 -0
  25. package/dist/server/toolRegistry.js +11 -0
  26. package/dist/tools/adapters.d.ts +3 -1
  27. package/dist/tools/adapters.js +1 -0
  28. package/dist/tools/reconciliation/executor.d.ts +2 -0
  29. package/dist/tools/reconciliation/executor.js +26 -1
  30. package/dist/tools/reconciliation/index.d.ts +3 -2
  31. package/dist/tools/reconciliation/index.js +4 -3
  32. package/dist/tools/schemas/outputs/index.d.ts +2 -2
  33. package/dist/tools/schemas/outputs/index.js +2 -2
  34. package/dist/tools/schemas/outputs/utilityOutputs.d.ts +0 -15
  35. package/dist/tools/schemas/outputs/utilityOutputs.js +0 -9
  36. package/dist/tools/utilityTools.d.ts +0 -7
  37. package/dist/tools/utilityTools.js +1 -50
  38. package/docs/maintainers/npm-publishing.md +27 -0
  39. package/docs/reference/API.md +83 -97
  40. package/docs/technical/reconciliation-system-architecture.md +2251 -2251
  41. package/package.json +6 -6
  42. package/scripts/analyze-bundle.mjs +41 -41
  43. package/scripts/generate-mcpb.ps1 +95 -95
  44. package/scripts/watch-and-restart.ps1 +49 -49
  45. package/src/__tests__/comprehensive.integration.test.ts +4 -32
  46. package/src/__tests__/performance.test.ts +5 -14
  47. package/src/__tests__/setup.ts +45 -14
  48. package/src/__tests__/smoke.e2e.test.ts +70 -0
  49. package/src/__tests__/testUtils.ts +2 -113
  50. package/src/server/YNABMCPServer.ts +64 -10
  51. package/src/server/__tests__/YNABMCPServer.test.ts +0 -1
  52. package/src/server/__tests__/completions.integration.test.ts +117 -0
  53. package/src/server/__tests__/completions.test.ts +319 -0
  54. package/src/server/__tests__/resources.template.test.ts +3 -3
  55. package/src/server/__tests__/resources.test.ts +3 -3
  56. package/src/server/__tests__/toolRegistration.test.ts +3 -3
  57. package/src/server/cacheManager.ts +7 -6
  58. package/src/server/completions.ts +279 -0
  59. package/src/server/errorHandler.ts +1 -0
  60. package/src/server/rateLimiter.ts +4 -1
  61. package/src/server/resources.ts +49 -13
  62. package/src/server/securityMiddleware.ts +1 -0
  63. package/src/server/toolRegistry.ts +42 -0
  64. package/src/tools/__tests__/transactionTools.integration.test.ts +63 -3
  65. package/src/tools/__tests__/utilityTools.integration.test.ts +1 -85
  66. package/src/tools/__tests__/utilityTools.test.ts +1 -123
  67. package/src/tools/adapters.ts +22 -1
  68. package/src/tools/reconciliation/__tests__/executor.progress.test.ts +462 -0
  69. package/src/tools/reconciliation/executor.ts +55 -1
  70. package/src/tools/reconciliation/index.ts +7 -3
  71. package/src/tools/schemas/outputs/index.ts +0 -3
  72. package/src/tools/schemas/outputs/utilityOutputs.ts +2 -43
  73. package/src/tools/toolCategories.ts +0 -1
  74. package/src/tools/utilityTools.ts +5 -76
  75. package/vitest.config.ts +4 -1
  76. package/.chunkhound.json +0 -11
  77. package/.code/agents/0098661e-0fa3-4990-beb9-c0cbf3f123aa/status.txt +0 -1
  78. package/.code/agents/01a13ef4-3f23-4f52-b33b-3585b73cfa60/error.txt +0 -3
  79. package/.code/agents/084fd32f-e298-4728-9103-a78d7dc39613/error.txt +0 -3
  80. package/.code/agents/0fed51e1-a943-4b97-a2a8-a6f0f27c844d/status.txt +0 -1
  81. package/.code/agents/1059b6bd-5ccd-4d83-a12c-7c9d89137399/error.txt +0 -5
  82. package/.code/agents/110/exec-call_F9BDNG7JfxKkq7Vc8ESAvdft.txt +0 -1569
  83. package/.code/agents/11ebcef3-b13f-4e44-ad80-d94a866804b7/error.txt +0 -3
  84. package/.code/agents/1324/exec-call_tIpx9uV1TpARbAMZonRQm8AO.txt +0 -757
  85. package/.code/agents/1398/exec-call_CjItcWMU1G6JoPshX62QvpaR.txt +0 -2832
  86. package/.code/agents/1398/exec-call_SUVq2ivmONQ5LMCmd7ngmOqr.txt +0 -2709
  87. package/.code/agents/1398/exec-call_SdNY4NOffdcC5pRYjVXHjPCK.txt +0 -2832
  88. package/.code/agents/1398/exec-call_qblJo9et1gsFFB63TtLOiji2.txt +0 -2832
  89. package/.code/agents/1398/exec-call_zaRrzlGz7GJcNzVfkAmML7Zg.txt +0 -2709
  90. package/.code/agents/1572/exec-call_GjVFBFOWcY7lE0idc5nWlLNh.txt +0 -781
  91. package/.code/agents/171834fd-5905-42fc-bbcc-2c755145b0fc/status.txt +0 -1
  92. package/.code/agents/1724/exec-call_HvHQe0w5CCG3T7Q3ULT6MO3g.txt +0 -5217
  93. package/.code/agents/1724/exec-call_QwUNESVzfxxk78K1frh1Vahb.txt +0 -2594
  94. package/.code/agents/1724/exec-call_aJ1Xwz71XmIpD4SBxSHERzLe.txt +0 -2594
  95. package/.code/agents/1846/exec-call_1YNAVD18RjrMN7JnfkkQhUP3.txt +0 -766
  96. package/.code/agents/1846/exec-call_lh3lDzE4WJAh1lFiomiiZ73D.txt +0 -766
  97. package/.code/agents/1d7d7ab7-7473-4b69-8b97-6e914f56056a/result.txt +0 -231
  98. package/.code/agents/2038/exec-call_DYwOukaYsL8VCONWmV2rUW5u.txt +0 -766
  99. package/.code/agents/2038/exec-call_c7fOQ7UrpVcTtvdfGBRM146V.txt +0 -652
  100. package/.code/agents/2038/exec-call_ySNyq9Mm55jWE480s54r5QcA.txt +0 -766
  101. package/.code/agents/210/exec-call_0tQCsKNJ1WTuIchb8wlcFJpW.txt +0 -2590
  102. package/.code/agents/210/exec-call_8ZlY9cUc8Ft1twi4ch8UJ6IN.txt +0 -5195
  103. package/.code/agents/2188/exec-call_5HqayBxIteJtoI8oPTiLWgvJ.txt +0 -286
  104. package/.code/agents/2188/exec-call_XRbBKBq3adZe6dcppAvQtM7G.txt +0 -218
  105. package/.code/agents/2188/exec-call_ehA0SjpYtrUi6GJXmibLjp4i.txt +0 -180
  106. package/.code/agents/21902821-ecaf-4759-bb9d-222b90921af5/error.txt +0 -3
  107. package/.code/agents/2256/exec-call_AtPcRWPmFPMcmX6qOFm1fCEY.txt +0 -766
  108. package/.code/agents/232073be-aa0e-46da-b478-5b64dbf03cf5/status.txt +0 -1
  109. package/.code/agents/234ff534-2336-4771-a8d9-aa04421a63be/result.txt +0 -747
  110. package/.code/agents/2454/exec-call_aFJpupwjfZeOBm7ixI5Vc8z2.txt +0 -766
  111. package/.code/agents/2454/exec-call_wogZ4HfXTodTEXvdgXlVUBpv.txt +0 -766
  112. package/.code/agents/253e2695-dc36-4022-b436-27655e0fc6c7/status.txt +0 -1
  113. package/.code/agents/2583/exec-call_M59I4eDjpjlBIWBiSxyS0YlJ.txt +0 -2594
  114. package/.code/agents/2583/exec-call_usLRGh7OhVHtsRBL4iUwRhjq.txt +0 -2594
  115. package/.code/agents/292aa3ff-dbab-470f-97c9-e7e8fd65e0db/result.txt +0 -144
  116. package/.code/agents/2e905864-aa07-4314-bcf9-c5b32277e4ac/result.txt +0 -36
  117. package/.code/agents/3073/exec-call_Peeagc9DxGYLgE6pNdMZhqIE.txt +0 -766
  118. package/.code/agents/3073/exec-call_d2YSE3hXF08KRSoUM3qd8Z3x.txt +0 -766
  119. package/.code/agents/3134/exec-call_IgCAMGx19lWfuo8zfYIt5FFC.txt +0 -416
  120. package/.code/agents/3134/exec-call_IxvLR2Oo7kba2QTsI1gHVko8.txt +0 -2590
  121. package/.code/agents/3134/exec-call_jYvc8hksZChSiysbzKjl2ZbB.txt +0 -2590
  122. package/.code/agents/329/exec-call_4QdP3SfSO7HGPCwVcqZIth6s.txt +0 -2590
  123. package/.code/agents/335aa031-466d-4fb7-925f-3cd864e264d0/result.txt +0 -191
  124. package/.code/agents/3364/exec-call_NbhIrsM5HhyDZDmJZG5CuCYL.txt +0 -766
  125. package/.code/agents/3364/exec-call_cKtJg0NrXiwXEFwlsE3uPZRA.txt +0 -766
  126. package/.code/agents/36d98414-5cde-4d9d-9a67-a240a18c1f07/result.txt +0 -189
  127. package/.code/agents/4604e866-b7b8-44f5-992f-2f683b0a523b/status.txt +0 -1
  128. package/.code/agents/472/exec-call_4AxzEEcWwkKhpqRB3bE8Ha4L.txt +0 -790
  129. package/.code/agents/472/exec-call_CB3LPYQA8QIZRi8I6kj4J17A.txt +0 -766
  130. package/.code/agents/472/exec-call_YeoUWvaFoktay2nqVUsa9KKX.txt +0 -790
  131. package/.code/agents/472/exec-call_jPWgKVquBBXTg0T3Lks5ZfkK.txt +0 -2594
  132. package/.code/agents/472/exec-call_qBkvunpGBDEHph2jPmTwtcsb.txt +0 -1000
  133. package/.code/agents/472/exec-call_v0ffRV1p0kTckBmJPzzHAEy0.txt +0 -3489
  134. package/.code/agents/472/exec-call_xAX5FXqWIlk02d9WubHbHWh8.txt +0 -766
  135. package/.code/agents/5346/exec-call_9q0muXUuLaucwEqI51Pt7idT.txt +0 -2594
  136. package/.code/agents/5346/exec-call_B2el3B79rVkq9LhWTI2VYlz7.txt +0 -2456
  137. package/.code/agents/5346/exec-call_BfX08f02qkZI9uJD5dvCvuoj.txt +0 -2594
  138. package/.code/agents/543328d0-61d6-4fd1-a723-bb168656e2e2/error.txt +0 -18
  139. package/.code/agents/5580c02c-1383-4d18-9cbd-cc8a06e3408d/result.txt +0 -48
  140. package/.code/agents/5f8dc01c-47b3-4163-b0b3-aa31be89fcdc/status.txt +0 -1
  141. package/.code/agents/60ce1a22-5126-44b2-b977-1d5b56142a7b/status.txt +0 -1
  142. package/.code/agents/6215d9db-7fa9-4429-aeec-3835c3212291/error.txt +0 -1
  143. package/.code/agents/6743db55-30e5-4b4e-9366-a8214fc7f714/error.txt +0 -1
  144. package/.code/agents/6bf9591b-b9c9-422c-b0a5-e968c7d8422a/status.txt +0 -1
  145. package/.code/agents/7/exec-call_HltHpkDox0Zm1vGEjdksUgpE.txt +0 -1120
  146. package/.code/agents/7/exec-call_LCATrOPPAgbxW9Q1z0XaVi2E.txt +0 -2646
  147. package/.code/agents/7/exec-call_W8DeRfNG9hvbgVFvf0clBf6R.txt +0 -2646
  148. package/.code/agents/7/exec-call_eww3GfdEiJZx61sJEQ9wNmt3.txt +0 -1271
  149. package/.code/agents/70/exec-call_owUtDMYiVgqDf8vsz1i32PFf.txt +0 -1570
  150. package/.code/agents/8/exec-call_UtrjAcLbhYLatxR4O97fZgnm.txt +0 -2590
  151. package/.code/agents/82490bc9-f34e-4b1b-8a8e-bccc2e6254f5/error.txt +0 -3
  152. package/.code/agents/841/exec-call_7nTNhSBCNjTDUIJv7py6CepO.txt +0 -3299
  153. package/.code/agents/841/exec-call_TLI0yUdUijuUAvI4o3DXEvHO.txt +0 -3299
  154. package/.code/agents/9/exec-call_XaABQT1hIlRpnKZ2uyBMWsTC.txt +0 -1882
  155. package/.code/agents/941/exec-call_GuGHRx7NNXWIDAnxUG2NEWPa.txt +0 -2594
  156. package/.code/agents/94a0ddf3-a304-4ec3-913e-3cceef509948/error.txt +0 -1
  157. package/.code/agents/95d9fbab-19a2-48af-83f9-c792566a347f/error.txt +0 -1
  158. package/.code/agents/b0098cb8-cb32-4ada-9bc4-37c587518896/result.txt +0 -170
  159. package/.code/agents/b4fe59a4-81df-42e2-a112-0153e504faca/error.txt +0 -1
  160. package/.code/agents/bf4ce152-f623-49d7-aa52-c18631625c3c/error.txt +0 -3
  161. package/.code/agents/d7d1db75-d7eb-468e-adea-4ef4d916d187/status.txt +0 -1
  162. package/.code/agents/e2baa9c8-bac3-49e3-a39d-024333e6a990/status.txt +0 -1
  163. package/.code/agents/e2c752b7-711d-423a-af57-f53c809deb84/result.txt +0 -160
  164. package/.code/agents/e350b8c3-8483-408c-b2bb-94515f492a11/error.txt +0 -3
  165. package/.code/agents/e63f9919-719f-4ad0-bccf-01b1a596e1e9/status.txt +0 -1
  166. package/.code/agents/e6601719-c31f-4a0e-8c71-d70787d0ab71/status.txt +0 -1
  167. package/.code/agents/e71695a8-3044-478d-8f12-ed13d02884c7/status.txt +0 -1
  168. package/.code/agents/f250b7ed-5bd5-4036-aa8c-ce63caee7d61/result.txt +0 -20
  169. package/.code/agents/f95b7464-3e25-4897-b153-c8dfd63fd605/error.txt +0 -5
  170. package/.code/agents/fa3c5ddf-cdf7-47a2-930a-b806c6363689/status.txt +0 -1
  171. package/AGENTS.md +0 -1
  172. package/NUL +0 -0
  173. package/package.json.tmp +0 -105
  174. package/src/__tests__/delta.performance.test.ts +0 -80
  175. package/src/__tests__/workflows.e2e.test.ts +0 -1702
  176. package/temp-recon.ts +0 -126
  177. package/test-exports/ynab_account_e9ddc2a6_minimal_1items_2025-11-19_09-04-53.json +0 -23
  178. package/test-exports/ynab_account_e9ddc2a6_minimal_1items_2025-11-19_10-37-42.json +0 -23
  179. package/test-exports/ynab_account_e9ddc2a6_minimal_4items_2025-11-19_09-02-09.json +0 -44
  180. package/test-exports/ynab_account_e9ddc2a6_minimal_6items_2025-11-19_10-37-52.json +0 -58
  181. package/test-exports/ynab_since_2025-10-16_account_53298e13_238items_2025-11-28_13-46-20.json +0 -3662
  182. package/test-exports/ynab_since_2025-11-01_account_4c18e9f0_minimal_14items_2025-11-16_10-07-10.json +0 -115
@@ -1,766 +0,0 @@
1
-
2
- > @dizzlkheinz/ynab-mcpb@0.16.2 test:integration:months
3
- > node scripts/run-domain-integration-tests.js months
4
-
5
-
6
-  RUN  v3.2.4 C:/Users/ksutk/projects/ynab-mcpb
7
-
8
- stderr | src/server/__tests__/security.integration.test.ts > Security Integration > end-to-end security flow > should sanitize sensitive data in logs
9
- [INFO] ynab:create_transaction:creating transaction | SUCCESS | 1ms | rate_limit_remaining:2
10
-
11
- stderr | src/server/__tests__/security.integration.test.ts > Security Integration > end-to-end security flow > should handle multiple users with independent rate limits
12
- [INFO] ynab:test:test | SUCCESS | 0ms | rate_limit_remaining:2
13
-
14
- stderr | src/server/__tests__/security.integration.test.ts > Security Integration > end-to-end security flow > should handle multiple users with independent rate limits
15
- [INFO] ynab:test:test | SUCCESS | 0ms | rate_limit_remaining:1
16
-
17
- stderr | src/server/__tests__/security.integration.test.ts > Security Integration > end-to-end security flow > should handle multiple users with independent rate limits
18
- [INFO] ynab:test:test | SUCCESS | 0ms | rate_limit_remaining:0
19
- [WARN] Rate limit exceeded for ynab:test
20
-
21
- stderr | src/server/__tests__/security.integration.test.ts > Security Integration > end-to-end security flow > should handle multiple users with independent rate limits
22
- [ERROR] ynab:test:test | FAILED | 0ms | rate_limit_remaining:0 | error:"Rate limit exceeded. Please wait before making additional requests."
23
- [WARN] Rate limit exceeded for ynab:test
24
-
25
- stderr | src/server/__tests__/security.integration.test.ts > Security Integration > end-to-end security flow > should handle multiple users with independent rate limits
26
- [INFO] ynab:test:test | SUCCESS | 0ms | rate_limit_remaining:2
27
-
28
- stderr | src/server/__tests__/security.integration.test.ts > Security Integration > end-to-end security flow > should provide comprehensive security statistics
29
- [INFO] ynab:test:test | SUCCESS | 0ms | rate_limit_remaining:2
30
-
31
- stderr | src/server/__tests__/security.integration.test.ts > Security Integration > end-to-end security flow > should provide comprehensive security statistics
32
- [INFO] ynab:test:test | SUCCESS | 0ms | rate_limit_remaining:1
33
-
34
- stderr | src/server/__tests__/security.integration.test.ts > Security Integration > end-to-end security flow > should provide comprehensive security statistics
35
- [ERROR] ynab:test:test | FAILED | 0ms | rate_limit_remaining:0 | error:"Test error"
36
- [WARN] Rate limit exceeded for ynab:test
37
-
38
- stderr | src/server/__tests__/security.integration.test.ts > Security Integration > performance under load > should handle rapid requests efficiently
39
- [INFO] ynab:performance_test:performance test | SUCCESS | 0ms | rate_limit_remaining:0
40
- [WARN] Rate limit exceeded for ynab:performance_test
41
- [INFO] ynab:performance_test:performance test | SUCCESS | 1ms | rate_limit_remaining:0
42
- [WARN] Rate limit exceeded for ynab:performance_test
43
- [INFO] ynab:performance_test:performance test | SUCCESS | 1ms | rate_limit_remaining:0
44
- [WARN] Rate limit exceeded for ynab:performance_test
45
-
46
- ✓  integration:domain  src/server/__tests__/security.integration.test.ts > Security Integration > end-to-end security flow > should handle a complete successful request flow 17ms
47
- ✓  integration:domain  src/server/__tests__/security.integration.test.ts > Security Integration > end-to-end security flow > should handle validation failures with proper logging 5ms
48
- ✓  integration:domain  src/server/__tests__/security.integration.test.ts > Security Integration > end-to-end security flow > should handle rate limiting with proper responses and logging 4ms
49
- ✓  integration:domain  src/server/__tests__/security.integration.test.ts > Security Integration > end-to-end security flow > should sanitize sensitive data in logs 7ms
50
- ✓  integration:domain  src/server/__tests__/security.integration.test.ts > Security Integration > end-to-end security flow > should handle multiple users with independent rate limits 5ms
51
- ✓  integration:domain  src/server/__tests__/security.integration.test.ts > Security Integration > end-to-end security flow > should provide comprehensive security statistics 5ms
52
- ✓  integration:domain  src/server/__tests__/security.integration.test.ts > Security Integration > performance under load > should handle rapid requests efficiently 2ms
53
- stderr | src/server/__tests__/security.integration.test.ts > Security Integration > cleanup and maintenance > should maintain log size limits
54
- [INFO] tool1:op1 | SUCCESS
55
- [INFO] tool2:op2 | SUCCESS
56
- [INFO] tool3:op3 | SUCCESS
57
-
58
- ✓  integration:domain  src/server/__tests__/security.integration.test.ts > Security Integration > cleanup and maintenance > should clean up expired rate limit entries 64ms
59
- ✓  integration:domain  src/server/__tests__/security.integration.test.ts > Security Integration > cleanup and maintenance > should maintain log size limits 1ms
60
- ✓  integration:domain  src/__tests__/tools/reconciliation/csvParser.integration.test.ts > CSV Parser Integration Tests > TD Bank CSV > should parse TD CSV correctly 12ms
61
- ✓  integration:domain  src/__tests__/tools/reconciliation/csvParser.integration.test.ts > CSV Parser Integration Tests > RBC Debit/Credit CSV > should parse RBC CSV with debit/credit columns 2ms
62
- ✓  integration:domain  src/__tests__/tools/reconciliation/csvParser.integration.test.ts > CSV Parser Integration Tests > Ambiguous Debit/Credit Warning > should warn when both debit and credit have values 2ms
63
- ✓  integration:domain  src/__tests__/tools/reconciliation/csvParser.integration.test.ts > CSV Parser Integration Tests > European Number Format > should handle European number format 63ms
64
- ✓  integration:domain  src/__tests__/tools/reconciliation/csvParser.integration.test.ts > Matcher Integration Tests > should achieve high confidence matches with exact integer comparison 6ms
65
- ✓  integration:domain  src/__tests__/tools/reconciliation/csvParser.integration.test.ts > Matcher Integration Tests > should use exact integer comparison (no float precision issues) 1ms
66
- ✓  integration:domain  src/tools/reconciliation/__tests__/recommendationEngine.integration.test.ts > Recommendation Engine Integration > with account_id and budget_id provided > should generate recommendations for unmatched bank transactions 38ms
67
- ✓  integration:domain  src/tools/reconciliation/__tests__/recommendationEngine.integration.test.ts > Recommendation Engine Integration > with account_id and budget_id provided > should handle the EvoCarShare scenario correctly 7ms
68
- ✓  integration:domain  src/tools/reconciliation/__tests__/recommendationEngine.integration.test.ts > Recommendation Engine Integration > with account_id and budget_id provided > should generate update_cleared recommendations for unmatched uncleared YNAB transactions 3ms
69
- ✓  integration:domain  src/tools/reconciliation/__tests__/recommendationEngine.integration.test.ts > Recommendation Engine Integration > with account_id and budget_id provided > should generate review_duplicate for suggested matches 5ms
70
- ✓  integration:domain  src/tools/reconciliation/__tests__/recommendationEngine.integration.test.ts > Recommendation Engine Integration > without account_id and budget_id (backward compatibility) > should NOT generate recommendations when IDs are missing 2ms
71
- ✓  integration:domain  src/tools/reconciliation/__tests__/recommendationEngine.integration.test.ts > Recommendation Engine Integration > without account_id and budget_id (backward compatibility) > should still perform analysis correctly without recommendations 2ms
72
- ✓  integration:domain  src/tools/reconciliation/__tests__/recommendationEngine.integration.test.ts > Recommendation Engine Integration > complex scenarios > should generate multiple recommendations for multiple unmatched transactions 3ms
73
- ✓  integration:domain  src/tools/reconciliation/__tests__/recommendationEngine.integration.test.ts > Recommendation Engine Integration > complex scenarios > should handle repeat amounts with recommendations 3ms
74
- ✓  integration:domain  src/tools/reconciliation/__tests__/recommendationEngine.integration.test.ts > Recommendation Engine Integration > complex scenarios > should generate mixed recommendation types for complex scenario 7ms
75
- ✓  integration:domain  src/tools/reconciliation/__tests__/recommendationEngine.integration.test.ts > Recommendation Engine Integration > complex scenarios > should prioritize recommendations by priority and confidence 3ms
76
- ✓  integration:domain  src/tools/reconciliation/__tests__/recommendationEngine.integration.test.ts > Recommendation Engine Integration > complex scenarios > should handle large discrepancies with appropriate recommendations 3ms
77
- ✓  integration:domain  src/tools/reconciliation/__tests__/recommendationEngine.integration.test.ts > Recommendation Engine Integration > recommendation field validation > should include all required metadata fields 4ms
78
- ✓  integration:domain  src/tools/reconciliation/__tests__/recommendationEngine.integration.test.ts > Recommendation Engine Integration > recommendation field validation > should generate valid create_transaction parameters 2ms
79
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > 401 Unauthorized Errors > should handle 401 errors in budget tools 10ms
80
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > 401 Unauthorized Errors > should handle 401 errors in account tools 7ms
81
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > 401 Unauthorized Errors > should handle 401 errors in transaction tools 1ms
82
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > 403 Forbidden Errors > should handle 403 errors in category tools 1ms
83
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > 403 Forbidden Errors > should handle 403 errors in payee tools 2ms
84
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > 404 Not Found Errors > should handle 404 errors in month tools 2ms
85
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > 429 Rate Limit Errors > should handle 429 errors in utility tools 5ms
86
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > 500 Internal Server Errors > should handle 500 errors consistently across tools 1ms
87
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > Network and Connection Errors > should handle network timeout errors 2ms
88
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > Network and Connection Errors > should handle connection refused errors 2ms
89
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > Error Response Structure > should maintain consistent error response structure across all tools 9ms
90
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > Sensitive Data Sanitization > should sanitize sensitive data in error messages across all tools 1ms
91
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > ErrorHandler with real ResponseFormatter > should format errors using real responseFormatter 2ms
92
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > ErrorHandler with real ResponseFormatter > should work with ValidationError 1ms
93
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > Minify override integration > should respect responseFormatter minify settings 1ms
94
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > Minify override integration > should handle pretty formatting 7ms
95
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > Static vs instance consistency > should produce identical results for static and instance calls 2ms
96
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > Static vs instance consistency > should produce identical results for createValidationError 3ms
97
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > Circular dependency resolution > should not have circular dependency issues 1ms
98
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > Circular dependency resolution > should work with different formatter implementations 1ms
99
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > ErrorHandler factory > should create different instances with different formatters 1ms
100
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > ErrorHandler factory > should maintain instance isolation 1ms
101
- ✓  integration:domain  src/__tests__/tools/reconciliation/real-world.integration.test.ts > Real World CSV Validation (Simulated) > Wealthsimple > should parse Wealthsimple export correctly 14ms
102
- ✓  integration:domain  src/__tests__/tools/reconciliation/real-world.integration.test.ts > Real World CSV Validation (Simulated) > TD Canada Trust > should parse TD export correctly using preset 3ms
103
- ↓  integration:domain  src/tools/__tests__/accountTools.delta.integration.test.ts > Delta-backed account tool handlers > serves cached account results on the second invocation
104
- ↓  integration:domain  src/tools/__tests__/accountTools.delta.integration.test.ts > Delta-backed account tool handlers > reports delta usage for list_transactions after a change
105
- ↓  integration:domain  src/tools/__tests__/accountTools.integration.test.ts > Account Tools Integration > should successfully list accounts from real API
106
- ↓  integration:domain  src/tools/__tests__/accountTools.integration.test.ts > Account Tools Integration > should successfully get account details from real API
107
- ↓  integration:domain  src/tools/__tests__/accountTools.integration.test.ts > Account Tools Integration > should handle invalid budget ID gracefully
108
- ↓  integration:domain  src/tools/__tests__/accountTools.integration.test.ts > Account Tools Integration > should handle invalid account ID gracefully
109
- ↓  integration:domain  src/tools/__tests__/categoryTools.delta.integration.test.ts > Delta-backed category tool handler > serves cached category results on the second invocation
110
- ↓  integration:domain  src/tools/__tests__/categoryTools.integration.test.ts > Category Tools Integration > handleListCategories > should successfully list categories from real API
111
- ↓  integration:domain  src/tools/__tests__/categoryTools.integration.test.ts > Category Tools Integration > handleListCategories > should handle invalid budget ID gracefully
112
- ↓  integration:domain  src/tools/__tests__/categoryTools.integration.test.ts > Category Tools Integration > handleGetCategory > should successfully get category details from real API
113
- ↓  integration:domain  src/tools/__tests__/categoryTools.integration.test.ts > Category Tools Integration > handleGetCategory > should handle invalid category ID gracefully
114
- ↓  integration:domain  src/tools/__tests__/categoryTools.integration.test.ts > Category Tools Integration > handleUpdateCategory > should successfully update category budget from real API
115
- ↓  integration:domain  src/tools/__tests__/categoryTools.integration.test.ts > Category Tools Integration > handleUpdateCategory > should handle invalid category ID gracefully
116
- ↓  integration:domain  src/tools/__tests__/categoryTools.integration.test.ts > Category Tools Integration > handleUpdateCategory > should handle negative budgeted amounts
117
- ↓  integration:domain  src/tools/__tests__/deltaFetcher.scheduled.integration.test.ts > Delta fetcher scheduled transactions integration > caches scheduled transactions on repeated fetches
118
- ↓  integration:domain  src/tools/__tests__/monthTools.delta.integration.test.ts > Delta-backed month tool handler > serves cached month summaries on the second invocation
119
- ↓  integration:domain  src/tools/__tests__/monthTools.integration.test.ts > Month Tools Integration > handleListMonths > should successfully list months from real API
120
- ↓  integration:domain  src/tools/__tests__/monthTools.integration.test.ts > Month Tools Integration > handleListMonths > should handle invalid budget ID gracefully
121
- ↓  integration:domain  src/tools/__tests__/monthTools.integration.test.ts > Month Tools Integration > handleGetMonth > should successfully get month details from real API
122
- ↓  integration:domain  src/tools/__tests__/monthTools.integration.test.ts > Month Tools Integration > handleGetMonth > should handle invalid budget ID gracefully
123
- ↓  integration:domain  src/tools/__tests__/monthTools.integration.test.ts > Month Tools Integration > handleGetMonth > should handle invalid month format gracefully
124
- ↓  integration:domain  src/tools/__tests__/payeeTools.delta.integration.test.ts > Delta-backed payee tool handler > serves cached payee results on the second invocation
125
- ↓  integration:domain  src/tools/__tests__/payeeTools.integration.test.ts > Payee Tools Integration > handleListPayees > should successfully list payees from real API
126
- ↓  integration:domain  src/tools/__tests__/payeeTools.integration.test.ts > Payee Tools Integration > handleListPayees > should handle invalid budget ID gracefully
127
- ↓  integration:domain  src/tools/__tests__/payeeTools.integration.test.ts > Payee Tools Integration > handleGetPayee > should successfully get payee details from real API
128
- ↓  integration:domain  src/tools/__tests__/payeeTools.integration.test.ts > Payee Tools Integration > handleGetPayee > should handle invalid payee ID gracefully
129
- ↓  integration:domain  src/tools/__tests__/payeeTools.integration.test.ts > Payee Tools Integration > handleGetPayee > should handle invalid budget ID gracefully
130
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Budget Management Integration > should handle complete budget listing and retrieval workflow
131
- Rate limit check for token_7f8358f9: 0/200 requests, remaining: 200, limited: false
132
-
133
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Budget Management Integration > should handle complete budget listing and retrieval workflow
134
- Recorded request for token_7f8358f9: 1/200 requests
135
-
136
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Budget Management Integration > should handle complete budget listing and retrieval workflow
137
- Rate limit check for token_7f8358f9: 1/200 requests, remaining: 199, limited: false
138
- [INFO] ynab:list_budgets | SUCCESS | 10ms | rate_limit_remaining:199
139
-
140
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Budget Management Integration > should handle complete budget listing and retrieval workflow
141
- Rate limit check for token_7f8358f9: 1/200 requests, remaining: 199, limited: false
142
-
143
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Budget Management Integration > should handle complete budget listing and retrieval workflow
144
- Recorded request for token_7f8358f9: 2/200 requests
145
-
146
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Budget Management Integration > should handle complete budget listing and retrieval workflow
147
- Rate limit check for token_7f8358f9: 2/200 requests, remaining: 198, limited: false
148
- [INFO] ynab:get_budget | SUCCESS | 3ms | rate_limit_remaining:198
149
-
150
- ↓  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > should successfully list transactions from real API
151
- ↓  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > should successfully list transactions with account filter
152
- ↓  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > should successfully list transactions with date filter
153
- ↓  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > should get transaction details if transactions exist
154
- ↓  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > should handle invalid budget ID gracefully
155
- ↓  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > should handle invalid transaction ID gracefully
156
- ↓  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > handleCreateTransactions - Integration > should create two transactions via the bulk handler
157
- ↓  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > handleCreateTransactions - Integration > should detect duplicates when reusing import IDs
158
- ↓  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > handleCreateTransactions - Integration > should invalidate caches so new transactions appear in list results
159
- ↓  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > handleCreateTransactions - Integration > should create transactions across multiple accounts within one batch
160
- ↓  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > handleCreateTransactions - Integration > should handle large batches and report response mode
161
- ↓  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > handleCreateTransactions - Integration > should support dry run mode without creating transactions
162
- ↓  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > handleCreateTransactions - Integration > should confirm dry run does not persist data
163
- ↓  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > handleCreateTransactions - Integration > should handle invalid budget IDs gracefully during bulk create
164
- ↓  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > handleCreateTransactions - Integration > should handle invalid account IDs during bulk create
165
- ↓  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > handleCreateTransactions - Integration > documents rate limiting behavior for bulk requests
166
- ·  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > Bulk Update Transactions Integration > should successfully update multiple transactions with provided metadata
167
- ·  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > Bulk Update Transactions Integration > should successfully update transactions without metadata (using cache/API)
168
- ·  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > Bulk Update Transactions Integration > should provide before/after preview in dry_run mode
169
- ·  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > Bulk Update Transactions Integration > should handle partial failures gracefully
170
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Budget Management Integration > should handle budget retrieval errors gracefully
171
- Rate limit check for token_7f8358f9: 2/200 requests, remaining: 198, limited: false
172
-
173
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Budget Management Integration > should handle budget retrieval errors gracefully
174
- Recorded request for token_7f8358f9: 3/200 requests
175
-
176
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Budget Management Integration > should handle budget retrieval errors gracefully
177
- Rate limit check for token_7f8358f9: 3/200 requests, remaining: 197, limited: false
178
- [INFO] ynab:get_budget | SUCCESS | 5ms | rate_limit_remaining:197
179
-
180
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Account Management Integration > should handle complete account workflow
181
- Rate limit check for token_7f8358f9: 3/200 requests, remaining: 197, limited: false
182
-
183
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Account Management Integration > should handle complete account workflow
184
- Recorded request for token_7f8358f9: 4/200 requests
185
-
186
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Account Management Integration > should handle complete account workflow
187
- Rate limit check for token_7f8358f9: 4/200 requests, remaining: 196, limited: false
188
- [INFO] ynab:list_accounts | SUCCESS | 4ms | rate_limit_remaining:196
189
-
190
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Account Management Integration > should handle complete account workflow
191
- Rate limit check for token_7f8358f9: 4/200 requests, remaining: 196, limited: false
192
-
193
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Account Management Integration > should handle complete account workflow
194
- Recorded request for token_7f8358f9: 5/200 requests
195
-
196
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Account Management Integration > should handle complete account workflow
197
- Rate limit check for token_7f8358f9: 5/200 requests, remaining: 195, limited: false
198
- [INFO] ynab:get_account | SUCCESS | 3ms | rate_limit_remaining:195
199
-
200
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Account Management Integration > should handle complete account workflow
201
- Rate limit check for token_7f8358f9: 5/200 requests, remaining: 195, limited: false
202
-
203
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Account Management Integration > should handle complete account workflow
204
- Recorded request for token_7f8358f9: 6/200 requests
205
-
206
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Account Management Integration > should handle complete account workflow
207
- Rate limit check for token_7f8358f9: 6/200 requests, remaining: 194, limited: false
208
- [INFO] ynab:create_account | SUCCESS | 3ms | rate_limit_remaining:194
209
-
210
- ✓  integration:domain  src/__tests__/comprehensive.integration.test.ts > YNAB utils mock > converts milliunits using SDK rounding rules 5ms
211
- ✓  integration:domain  src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Budget Management Integration > should handle complete budget listing and retrieval workflow 54ms
212
- ✓  integration:domain  src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Budget Management Integration > should handle budget retrieval errors gracefully 13ms
213
- ✓  integration:domain  src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Account Management Integration > should handle complete account workflow 22ms
214
- ↓  integration:domain  src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Transaction Management Integration > should handle complete transaction workflow
215
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Transaction Management Integration > should handle transaction filtering
216
- Rate limit check for token_7f8358f9: 6/200 requests, remaining: 194, limited: false
217
-
218
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Transaction Management Integration > should handle transaction filtering
219
- Recorded request for token_7f8358f9: 7/200 requests
220
-
221
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Transaction Management Integration > should handle transaction filtering
222
- Rate limit check for token_7f8358f9: 7/200 requests, remaining: 193, limited: false
223
- [INFO] ynab:list_transactions | SUCCESS | 3ms | rate_limit_remaining:193
224
-
225
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Transaction Management Integration > should handle transaction filtering
226
- Rate limit check for token_7f8358f9: 7/200 requests, remaining: 193, limited: false
227
-
228
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Transaction Management Integration > should handle transaction filtering
229
- Recorded request for token_7f8358f9: 8/200 requests
230
-
231
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Transaction Management Integration > should handle transaction filtering
232
- Rate limit check for token_7f8358f9: 8/200 requests, remaining: 192, limited: false
233
- [INFO] ynab:list_transactions | SUCCESS | 1ms | rate_limit_remaining:192
234
-
235
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Transaction Management Integration > should handle transaction filtering
236
- Rate limit check for token_7f8358f9: 8/200 requests, remaining: 192, limited: false
237
-
238
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Transaction Management Integration > should handle transaction filtering
239
- Recorded request for token_7f8358f9: 9/200 requests
240
-
241
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Transaction Management Integration > should handle transaction filtering
242
- Rate limit check for token_7f8358f9: 9/200 requests, remaining: 191, limited: false
243
- [INFO] ynab:list_transactions | SUCCESS | 1ms | rate_limit_remaining:191
244
-
245
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Category Management Integration > should handle complete category workflow
246
- Rate limit check for token_7f8358f9: 9/200 requests, remaining: 191, limited: false
247
-
248
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Category Management Integration > should handle complete category workflow
249
- Recorded request for token_7f8358f9: 10/200 requests
250
-
251
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Category Management Integration > should handle complete category workflow
252
- Rate limit check for token_7f8358f9: 10/200 requests, remaining: 190, limited: false
253
- [INFO] ynab:list_categories | SUCCESS | 4ms | rate_limit_remaining:190
254
-
255
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Category Management Integration > should handle complete category workflow
256
- Rate limit check for token_7f8358f9: 10/200 requests, remaining: 190, limited: false
257
-
258
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Category Management Integration > should handle complete category workflow
259
- Recorded request for token_7f8358f9: 11/200 requests
260
-
261
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Category Management Integration > should handle complete category workflow
262
- Rate limit check for token_7f8358f9: 11/200 requests, remaining: 189, limited: false
263
- [INFO] ynab:get_category | SUCCESS | 3ms | rate_limit_remaining:189
264
-
265
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Category Management Integration > should handle complete category workflow
266
- Rate limit check for token_7f8358f9: 11/200 requests, remaining: 189, limited: false
267
-
268
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Server Initialization > should successfully initialize server with valid configuration 30ms
269
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Server Initialization > should fail initialization with missing access token 13ms
270
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Server Initialization > should fail initialization with invalid access token format 11ms
271
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Category Management Integration > should handle complete category workflow
272
- Recorded request for token_7f8358f9: 12/200 requests
273
-
274
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Category Management Integration > should handle complete category workflow
275
- Rate limit check for token_7f8358f9: 12/200 requests, remaining: 188, limited: false
276
- [INFO] ynab:update_category | SUCCESS | 3ms | rate_limit_remaining:188
277
-
278
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Utility Tools Integration > should handle user information retrieval
279
- Rate limit check for token_7f8358f9: 12/200 requests, remaining: 188, limited: false
280
-
281
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Utility Tools Integration > should handle user information retrieval
282
- Recorded request for token_7f8358f9: 13/200 requests
283
-
284
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Utility Tools Integration > should handle user information retrieval
285
- Rate limit check for token_7f8358f9: 13/200 requests, remaining: 187, limited: false
286
- [INFO] ynab:get_user | SUCCESS | 1ms | rate_limit_remaining:187
287
-
288
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Utility Tools Integration > should handle amount conversion
289
- Rate limit check for token_7f8358f9: 13/200 requests, remaining: 187, limited: false
290
-
291
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Utility Tools Integration > should handle amount conversion
292
- Recorded request for token_7f8358f9: 14/200 requests
293
-
294
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Utility Tools Integration > should handle amount conversion
295
- Rate limit check for token_7f8358f9: 14/200 requests, remaining: 186, limited: false
296
- [INFO] ynab:convert_amount | SUCCESS | 2ms | rate_limit_remaining:186
297
-
298
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Utility Tools Integration > should handle amount conversion
299
- Rate limit check for token_7f8358f9: 14/200 requests, remaining: 186, limited: false
300
-
301
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Utility Tools Integration > should handle amount conversion
302
- Recorded request for token_7f8358f9: 15/200 requests
303
-
304
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Utility Tools Integration > should handle amount conversion
305
- Rate limit check for token_7f8358f9: 15/200 requests, remaining: 185, limited: false
306
- [INFO] ynab:convert_amount | SUCCESS | 1ms | rate_limit_remaining:185
307
-
308
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Error Handling Integration > should handle various API error scenarios
309
- Rate limit check for token_7f8358f9: 15/200 requests, remaining: 185, limited: false
310
-
311
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Error Handling Integration > should handle various API error scenarios
312
- Recorded request for token_7f8358f9: 16/200 requests
313
-
314
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Error Handling Integration > should handle various API error scenarios
315
- Rate limit check for token_7f8358f9: 16/200 requests, remaining: 184, limited: false
316
- [INFO] ynab:list_budgets | SUCCESS | 1ms | rate_limit_remaining:184
317
-
318
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Error Handling Integration > should handle various API error scenarios
319
- Rate limit check for token_7f8358f9: 16/200 requests, remaining: 184, limited: false
320
-
321
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Error Handling Integration > should handle various API error scenarios
322
- Recorded request for token_7f8358f9: 17/200 requests
323
-
324
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Error Handling Integration > should handle various API error scenarios
325
- Rate limit check for token_7f8358f9: 17/200 requests, remaining: 183, limited: false
326
- [INFO] ynab:get_budget | SUCCESS | 1ms | rate_limit_remaining:183
327
-
328
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Error Handling Integration > should validate input parameters
329
- Rate limit check for token_7f8358f9: 17/200 requests, remaining: 183, limited: false
330
- [ERROR] ynab:get_budget | FAILED | 0ms | rate_limit_remaining:183 | error:"Validation failed: Validation error: Invalid input: expected string, received undefined at "budget_id""
331
-
332
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should invalidate cache on write operations
333
- Rate limit check for token_7f8358f9: 17/200 requests, remaining: 183, limited: false
334
-
335
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should invalidate cache on write operations
336
- Recorded request for token_7f8358f9: 18/200 requests
337
-
338
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should invalidate cache on write operations
339
- Rate limit check for token_7f8358f9: 18/200 requests, remaining: 182, limited: false
340
- [INFO] ynab:list_accounts | SUCCESS | 2ms | rate_limit_remaining:182
341
-
342
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should invalidate cache on write operations
343
- Rate limit check for token_7f8358f9: 18/200 requests, remaining: 182, limited: false
344
-
345
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should invalidate cache on write operations
346
- Recorded request for token_7f8358f9: 19/200 requests
347
-
348
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should invalidate cache on write operations
349
- Rate limit check for token_7f8358f9: 19/200 requests, remaining: 181, limited: false
350
- [INFO] ynab:create_account | SUCCESS | 1ms | rate_limit_remaining:181
351
-
352
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should invalidate cache on write operations
353
- Rate limit check for token_7f8358f9: 19/200 requests, remaining: 181, limited: false
354
-
355
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should invalidate cache on write operations
356
- Recorded request for token_7f8358f9: 20/200 requests
357
-
358
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should invalidate cache on write operations
359
- Rate limit check for token_7f8358f9: 20/200 requests, remaining: 180, limited: false
360
- [INFO] ynab:list_accounts | SUCCESS | 1ms | rate_limit_remaining:180
361
-
362
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should handle cache warming after setting default budget
363
- Rate limit check for token_7f8358f9: 20/200 requests, remaining: 180, limited: false
364
-
365
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should handle cache warming after setting default budget
366
- Recorded request for token_7f8358f9: 21/200 requests
367
-
368
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should handle cache warming after setting default budget
369
- Rate limit check for token_7f8358f9: 21/200 requests, remaining: 179, limited: false
370
- [INFO] ynab:set_default_budget | SUCCESS | 3ms | rate_limit_remaining:179
371
-
372
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should handle cache clear operation
373
- Rate limit check for token_7f8358f9: 21/200 requests, remaining: 179, limited: false
374
-
375
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should handle cache clear operation
376
- Recorded request for token_7f8358f9: 22/200 requests
377
-
378
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should handle cache clear operation
379
- Rate limit check for token_7f8358f9: 22/200 requests, remaining: 178, limited: false
380
- [INFO] ynab:list_budgets | SUCCESS | 0ms | rate_limit_remaining:178
381
-
382
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should handle cache clear operation
383
- Rate limit check for token_7f8358f9: 22/200 requests, remaining: 178, limited: false
384
-
385
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should handle cache clear operation
386
- Recorded request for token_7f8358f9: 23/200 requests
387
-
388
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should handle cache clear operation
389
- Rate limit check for token_7f8358f9: 23/200 requests, remaining: 177, limited: false
390
- [INFO] ynab:clear_cache | SUCCESS | 1ms | rate_limit_remaining:177
391
-
392
- ✓  integration:domain  src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Transaction Management Integration > should handle transaction filtering 17ms
393
- ✓  integration:domain  src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Category Management Integration > should handle complete category workflow 20ms
394
- ✓  integration:domain  src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Utility Tools Integration > should handle user information retrieval 7ms
395
- ✓  integration:domain  src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Utility Tools Integration > should handle amount conversion 7ms
396
- ✓  integration:domain  src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Error Handling Integration > should handle various API error scenarios 8ms
397
- ✓  integration:domain  src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Error Handling Integration > should validate input parameters 8ms
398
- ↓  integration:domain  src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should cache budget list requests and improve performance on subsequent calls
399
- ✓  integration:domain  src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should invalidate cache on write operations 10ms
400
- ↓  integration:domain  src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should not cache filtered transaction requests
401
- ✓  integration:domain  src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should handle cache warming after setting default budget 12ms
402
- ✓  integration:domain  src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should handle cache clear operation 7ms
403
- ↓  integration:domain  src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should respect cache TTL and return fresh data after expiration
404
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Constructor and Environment Validation > should create server instance with valid access token 24ms
405
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Constructor and Environment Validation > should throw ValidationError when YNAB_ACCESS_TOKEN is missing 11ms
406
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Constructor and Environment Validation > should throw ValidationError when YNAB_ACCESS_TOKEN is empty string 7ms
407
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Constructor and Environment Validation > should throw ValidationError when YNAB_ACCESS_TOKEN is only whitespace 7ms
408
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Constructor and Environment Validation > should trim whitespace from access token 11ms
409
- ✓  integration:domain  src/tools/__tests__/utilityTools.integration.test.ts > Utility Tools Integration Tests > handleGetUser > should retrieve user information from YNAB API 524ms
410
- stderr | src/tools/__tests__/budgetTools.integration.test.ts > Budget Tools Integration > handleListBudgets > should successfully list budgets from real API
411
- ✅ Successfully listed 7 budgets
412
- ✓  integration:domain  src/tools/__tests__/utilityTools.integration.test.ts > Utility Tools Integration Tests > handleConvertAmount > should convert various dollar amounts to milliunits 3ms
413
-
414
- ✓  integration:domain  src/tools/__tests__/utilityTools.integration.test.ts > Utility Tools Integration Tests > handleConvertAmount > should convert various milliunit amounts to dollars 2ms
415
- ✓  integration:domain  src/tools/__tests__/utilityTools.integration.test.ts > Utility Tools Integration Tests > handleConvertAmount > should handle precision edge cases 1ms
416
- ✓  integration:domain  src/tools/__tests__/budgetTools.integration.test.ts > Budget Tools Integration > handleListBudgets > should successfully list budgets from real API 480ms
417
- ✓  integration:domain  src/tools/__tests__/budgetTools.delta.integration.test.ts > Delta-backed budget tool handler > serves cached budget summaries on the second invocation 388ms
418
- ↓  integration:domain  src/tools/reconciliation/__tests__/reconciliation.delta.integration.test.ts > Reconciliation delta isolation > uses full-fetch helpers and exposes audit metadata
419
- ↓  integration:domain  src/tools/reconciliation/__tests__/reconciliation.delta.integration.test.ts > Reconciliation delta isolation > can opt into delta-backed fetches when force_full_refresh is false
420
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Real YNAB API Integration > should successfully validate real YNAB token 356ms
421
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Real YNAB API Integration > should successfully get user information
422
- ✅ Connected to YNAB user: 495de152-d100-4404-a9b4-d6115e038294
423
-
424
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Server Startup Validation > should validate YNAB token during startup 443ms
425
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Server Startup Validation > should handle invalid token gracefully during startup 110ms
426
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Real YNAB API Integration > should successfully get user information 113ms
427
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Real YNAB API Integration > should successfully get budgets
428
- ✅ Found 7 budget(s)
429
- - test plan (7b47d8bb-ce4c-40c0-a9eb-c6d715af9a76)
430
- - 8 Laguna (65b65f40-da07-4037-af17-d6559b9145af)
431
- - going to mexico (Archived on 2025-01-24) (b371d9f6-94fd-48a1-9b19-f51ab17436f1)
432
- - 2025 (bf00f94f-f532-4b2c-a39c-e8d9a963effd)
433
- - 1376 W 14th (9e4e96bf-f857-4c84-9f07-1e201de1bd40)
434
- - SRC (6d225b60-eaf5-4157-bd7a-9995b3e1b608)
435
- - KYS (c402250b-c77e-4739-a1c4-d087d02693d5)
436
-
437
- stderr | src/tools/__tests__/budgetTools.integration.test.ts > Budget Tools Integration > handleGetBudget > should successfully get budget details from real API
438
- ✅ Successfully retrieved budget: test plan
439
- - 320 accounts
440
- - 65 categories
441
-
442
- ✓  integration:domain  src/tools/__tests__/budgetTools.integration.test.ts > Budget Tools Integration > handleGetBudget > should successfully get budget details from real API 363ms
443
- stderr | src/tools/reconciliation/__tests__/executor.integration.test.ts > Reconciliation Executor - Bulk Create Integration > creates 10 transactions via bulk mode
444
- ⏭️ Skipping test due to YNAB API rate limit
445
-
446
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Real YNAB API Integration > should successfully get budgets 248ms
447
- stderr | src/tools/__tests__/budgetTools.integration.test.ts > Budget Tools Integration > handleGetBudget > should handle invalid budget ID gracefully
448
- ✅ Correctly handled invalid budget ID: Budget not found
449
-
450
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Server Startup Validation > should provide detailed error messages for authentication failures 243ms
451
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Server Startup Validation > should surface malformed token responses as AuthenticationError 10ms
452
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Tool Registration > should register all expected YNAB tools 8ms
453
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Tool Registration > should register budget management tools 9ms
454
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Tool Registration > should register account management tools 7ms
455
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Tool Registration > should register transaction management tools 7ms
456
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Tool Registration > should register category management tools 4ms
457
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Tool Registration > should register payee management tools 4ms
458
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Tool Registration > should register utility tools 7ms
459
- ✓  integration:domain  src/tools/__tests__/budgetTools.integration.test.ts > Budget Tools Integration > handleGetBudget > should handle invalid budget ID gracefully 98ms
460
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Real YNAB API Integration > should handle invalid token gracefully 98ms
461
- ✓  integration:domain  src/tools/reconciliation/__tests__/executor.integration.test.ts > Reconciliation Executor - Bulk Create Integration > creates 10 transactions via bulk mode 280ms
462
- stderr | src/tools/reconciliation/__tests__/executor.integration.test.ts > Reconciliation Executor - Bulk Create Integration > reports duplicates when import IDs already exist
463
- ⏭️ Skipping test due to YNAB API rate limit
464
-
465
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Transport Setup > should attempt to connect with StdioServerTransport 192ms
466
- ✓  integration:domain  src/tools/reconciliation/__tests__/executor.integration.test.ts > Reconciliation Executor - Bulk Create Integration > reports duplicates when import IDs already exist 192ms
467
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Real YNAB API Integration > should successfully start and connect MCP server 192ms
468
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should execute get_user tool via the registry
469
- Rate limit check for token_74700d80: 0/200 requests, remaining: 200, limited: false
470
-
471
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should execute get_user tool via the registry
472
- Recorded request for token_74700d80: 1/200 requests
473
-
474
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Transport Setup > should handle transport connection errors gracefully 99ms
475
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Transport Setup > should validate token before attempting transport connection 99ms
476
- stderr | src/tools/reconciliation/__tests__/executor.integration.test.ts > Reconciliation Executor - Bulk Create Integration > processes 150 transactions across multiple chunks
477
- ⏭️ Skipping test due to YNAB API rate limit
478
-
479
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Real YNAB API Integration > should handle multiple rapid API calls without rate limiting issues 131ms
480
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should expose registered tools via the registry 14ms
481
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should execute get_user tool via the registry
482
- Rate limit check for token_74700d80: 1/200 requests, remaining: 199, limited: false
483
- [INFO] ynab:get_user | SUCCESS | 96ms | rate_limit_remaining:199
484
-
485
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should set and retrieve default budget using tools
486
- Rate limit check for token_74700d80: 1/200 requests, remaining: 199, limited: false
487
-
488
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should set and retrieve default budget using tools
489
- Recorded request for token_74700d80: 2/200 requests
490
-
491
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Error Reporting > should report configuration errors clearly 6ms
492
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Error Reporting > should report authentication errors clearly 96ms
493
- stderr | src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Error Reporting > should handle startup errors without exposing sensitive information
494
- Server startup failed: Token validation failed: [object Object]
495
-
496
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should execute get_user tool via the registry 104ms
497
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should set and retrieve default budget using tools
498
- Rate limit check for token_74700d80: 2/200 requests, remaining: 198, limited: false
499
- [INFO] ynab:list_budgets | SUCCESS | 100ms | rate_limit_remaining:198
500
-
501
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should set and retrieve default budget using tools
502
- Rate limit check for token_74700d80: 2/200 requests, remaining: 198, limited: false
503
-
504
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should set and retrieve default budget using tools
505
- Recorded request for token_74700d80: 3/200 requests
506
-
507
- stderr | src/tools/reconciliation/__tests__/executor.integration.test.ts > Reconciliation Executor - Bulk Create Integration > processes 20 transactions in under 8 seconds
508
- ⏭️ Skipping test due to YNAB API rate limit
509
-
510
- ✓  integration:domain  src/tools/reconciliation/__tests__/executor.integration.test.ts > Reconciliation Executor - Bulk Create Integration > processes 150 transactions across multiple chunks 218ms
511
- stderr | src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Error Reporting > should handle startup errors without exposing sensitive information
512
- Server startup failed: Token validation failed: [object Object]
513
-
514
- ✓  integration:domain  src/tools/reconciliation/__tests__/executor.integration.test.ts > Reconciliation Executor - Bulk Create Integration > processes 20 transactions in under 8 seconds 200ms
515
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Error Reporting > should handle startup errors without exposing sensitive information 179ms
516
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Graceful Shutdown > should handle process signals gracefully 6ms
517
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Graceful Shutdown > should clean up resources on shutdown 6ms
518
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should set and retrieve default budget using tools
519
- Rate limit check for token_74700d80: 3/200 requests, remaining: 197, limited: false
520
- [INFO] ynab:set_default_budget | SUCCESS | 384ms | rate_limit_remaining:197
521
-
522
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should set and retrieve default budget using tools
523
- Rate limit check for token_74700d80: 3/200 requests, remaining: 197, limited: false
524
-
525
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should set and retrieve default budget using tools
526
- Recorded request for token_74700d80: 4/200 requests
527
-
528
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should set and retrieve default budget using tools
529
- Rate limit check for token_74700d80: 4/200 requests, remaining: 196, limited: false
530
- [INFO] ynab:get_default_budget | SUCCESS | 1ms | rate_limit_remaining:196
531
-
532
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should provide diagnostic info with requested sections
533
- Rate limit check for token_74700d80: 4/200 requests, remaining: 196, limited: false
534
-
535
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should provide diagnostic info with requested sections
536
- Recorded request for token_74700d80: 5/200 requests
537
-
538
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should provide diagnostic info with requested sections
539
- Rate limit check for token_74700d80: 5/200 requests, remaining: 195, limited: false
540
- [INFO] ynab:diagnostic_info | SUCCESS | 5ms | rate_limit_remaining:195
541
-
542
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should clear cache using the clear_cache tool
543
- Rate limit check for token_74700d80: 5/200 requests, remaining: 195, limited: false
544
-
545
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should clear cache using the clear_cache tool
546
- Recorded request for token_74700d80: 6/200 requests
547
-
548
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should clear cache using the clear_cache tool
549
- Rate limit check for token_74700d80: 6/200 requests, remaining: 194, limited: false
550
- [INFO] ynab:clear_cache | SUCCESS | 1ms | rate_limit_remaining:194
551
-
552
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should include enhanced cache metrics in real diagnostic collection
553
- Rate limit check for token_74700d80: 6/200 requests, remaining: 194, limited: false
554
-
555
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should include enhanced cache metrics in real diagnostic collection
556
- Recorded request for token_74700d80: 7/200 requests
557
-
558
- stderr | src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Full Startup Workflow > should complete full startup sequence successfully
559
- ✅ Server startup workflow completed successfully
560
-
561
- ✓  integration:domain  src/tools/reconciliation/__tests__/executor.integration.test.ts > Reconciliation Executor - Bulk Create Integration > propagates API errors for invalid account IDs 296ms
562
- stderr | src/tools/reconciliation/__tests__/executor.integration.test.ts > Reconciliation Executor - Bulk Create Integration > skips work when a rate limit error is detected
563
- ⏭️ Skipping test due to YNAB API rate limit
564
-
565
- ✓  integration:domain  src/tools/reconciliation/__tests__/executor.integration.test.ts > Reconciliation Executor - Bulk Create Integration > skips work when a rate limit error is detected 104ms
566
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should set and retrieve default budget using tools 492ms
567
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should provide diagnostic info with requested sections 12ms
568
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should clear cache using the clear_cache tool 8ms
569
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should track cache performance metrics during real tool execution 7ms
570
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should demonstrate LRU eviction with real cache operations 7ms
571
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should show cache hit rate improvement with repeated operations 4ms
572
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should handle concurrent cache operations correctly 4ms
573
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Full Startup Workflow > should complete full startup sequence successfully 357ms
574
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Full Startup Workflow > should fail fast on configuration errors 5ms
575
- stderr | src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Full Startup Workflow > should fail fast on authentication errors
576
- Server startup failed: Token validation failed: [object Object]
577
-
578
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should include enhanced cache metrics in real diagnostic collection
579
- Rate limit check for token_74700d80: 7/200 requests, remaining: 193, limited: false
580
- [INFO] ynab:list_budgets | SUCCESS | 236ms | rate_limit_remaining:193
581
-
582
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should include enhanced cache metrics in real diagnostic collection
583
- Rate limit check for token_74700d80: 7/200 requests, remaining: 193, limited: false
584
-
585
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should include enhanced cache metrics in real diagnostic collection
586
- Recorded request for token_74700d80: 8/200 requests
587
-
588
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Full Startup Workflow > should fail fast on authentication errors 213ms
589
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should include enhanced cache metrics in real diagnostic collection
590
- Rate limit check for token_74700d80: 8/200 requests, remaining: 192, limited: false
591
- [INFO] ynab:get_user | SUCCESS | 92ms | rate_limit_remaining:192
592
-
593
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should include enhanced cache metrics in real diagnostic collection
594
- Rate limit check for token_74700d80: 8/200 requests, remaining: 192, limited: false
595
-
596
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should include enhanced cache metrics in real diagnostic collection
597
- Recorded request for token_74700d80: 9/200 requests
598
-
599
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should include enhanced cache metrics in real diagnostic collection
600
- Rate limit check for token_74700d80: 9/200 requests, remaining: 191, limited: false
601
- [INFO] ynab:diagnostic_info | SUCCESS | 1ms | rate_limit_remaining:191
602
-
603
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should configure output formatter via set_output_format tool
604
- Rate limit check for token_74700d80: 9/200 requests, remaining: 191, limited: false
605
-
606
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should configure output formatter via set_output_format tool
607
- Recorded request for token_74700d80: 10/200 requests
608
-
609
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should configure output formatter via set_output_format tool
610
- Rate limit check for token_74700d80: 10/200 requests, remaining: 190, limited: false
611
- [INFO] ynab:set_output_format | SUCCESS | 1ms | rate_limit_remaining:190
612
-
613
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should configure output formatter via set_output_format tool
614
- Rate limit check for token_74700d80: 10/200 requests, remaining: 190, limited: false
615
-
616
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should configure output formatter via set_output_format tool
617
- Recorded request for token_74700d80: 11/200 requests
618
-
619
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should configure output formatter via set_output_format tool
620
- Rate limit check for token_74700d80: 11/200 requests, remaining: 189, limited: false
621
- [INFO] ynab:set_output_format | SUCCESS | 1ms | rate_limit_remaining:189
622
-
623
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should surface validation errors for invalid inputs
624
- Rate limit check for token_74700d80: 11/200 requests, remaining: 189, limited: false
625
- [ERROR] ynab:get_budget | FAILED | 0ms | rate_limit_remaining:189 | error:"Validation failed: Validation error: Invalid input: expected string, received undefined at "budget_id""
626
-
627
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Modular Architecture Integration with Real API > should maintain real API functionality after modular refactoring
628
- Rate limit check for token_74700d80: 11/200 requests, remaining: 189, limited: false
629
-
630
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Modular Architecture Integration with Real API > should maintain real API functionality after modular refactoring
631
- Recorded request for token_74700d80: 12/200 requests
632
-
633
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should include enhanced cache metrics in real diagnostic collection 339ms
634
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should configure output formatter via set_output_format tool 11ms
635
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should surface validation errors for invalid inputs 10ms
636
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Modular Architecture Integration with Real API > should maintain real API functionality after modular refactoring
637
- Rate limit check for token_74700d80: 12/200 requests, remaining: 188, limited: false
638
- [INFO] ynab:get_user | SUCCESS | 92ms | rate_limit_remaining:188
639
-
640
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Modular Architecture Integration with Real API > should maintain real API functionality after modular refactoring
641
- Rate limit check for token_74700d80: 12/200 requests, remaining: 188, limited: false
642
-
643
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Modular Architecture Integration with Real API > should maintain real API functionality after modular refactoring
644
- Recorded request for token_74700d80: 13/200 requests
645
-
646
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Modular Architecture Integration with Real API > should maintain real API functionality after modular refactoring
647
- Rate limit check for token_74700d80: 13/200 requests, remaining: 187, limited: false
648
- [INFO] ynab:list_budgets | SUCCESS | 0ms | rate_limit_remaining:187
649
-
650
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Modular Architecture Integration with Real API > should maintain real API functionality after modular refactoring
651
- Rate limit check for token_74700d80: 13/200 requests, remaining: 187, limited: false
652
-
653
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Modular Architecture Integration with Real API > should maintain real API functionality after modular refactoring
654
- Recorded request for token_74700d80: 14/200 requests
655
-
656
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Modular Architecture Integration with Real API > should maintain real API functionality after modular refactoring
657
- Rate limit check for token_74700d80: 14/200 requests, remaining: 186, limited: false
658
- [INFO] ynab:diagnostic_info | SUCCESS | 1ms | rate_limit_remaining:186
659
-
660
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Modular Architecture Integration with Real API > should handle modular service errors gracefully in integration
661
- Rate limit check for token_74700d80: 14/200 requests, remaining: 186, limited: false
662
- [ERROR] ynab:get_budget | FAILED | 1ms | rate_limit_remaining:186 | error:"Validation failed: Validation error: Invalid input: expected string, received undefined at "budget_id""
663
-
664
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should complete end-to-end workflow with real YNAB API after setting default budget
665
- Rate limit check for token_74700d80: 14/200 requests, remaining: 186, limited: false
666
-
667
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should complete end-to-end workflow with real YNAB API after setting default budget
668
- Recorded request for token_74700d80: 15/200 requests
669
-
670
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should complete end-to-end workflow with real YNAB API after setting default budget
671
- Rate limit check for token_74700d80: 15/200 requests, remaining: 185, limited: false
672
- [INFO] ynab:list_budgets | SUCCESS | 0ms | rate_limit_remaining:185
673
-
674
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should complete end-to-end workflow with real YNAB API after setting default budget
675
- Rate limit check for token_74700d80: 15/200 requests, remaining: 185, limited: false
676
-
677
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should complete end-to-end workflow with real YNAB API after setting default budget
678
- Recorded request for token_74700d80: 16/200 requests
679
-
680
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Modular Architecture Integration with Real API > should maintain real API functionality after modular refactoring 100ms
681
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Modular Architecture Integration with Real API > should handle modular service errors gracefully in integration 6ms
682
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should handle real YNAB API calls with budget resolution errors 8ms
683
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should handle real YNAB API calls with invalid budget ID 6ms
684
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should complete end-to-end workflow with real YNAB API after setting default budget
685
- Rate limit check for token_74700d80: 16/200 requests, remaining: 184, limited: false
686
- [INFO] ynab:set_default_budget | SUCCESS | 373ms | rate_limit_remaining:184
687
-
688
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should complete end-to-end workflow with real YNAB API after setting default budget
689
- Rate limit check for token_74700d80: 16/200 requests, remaining: 184, limited: false
690
-
691
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should complete end-to-end workflow with real YNAB API after setting default budget
692
- Recorded request for token_74700d80: 17/200 requests
693
-
694
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should complete end-to-end workflow with real YNAB API after setting default budget
695
- Rate limit check for token_74700d80: 17/200 requests, remaining: 183, limited: false
696
- [INFO] ynab:list_accounts | SUCCESS | 5ms | rate_limit_remaining:183
697
-
698
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should handle real API errors properly with budget resolution
699
- Rate limit check for token_74700d80: 17/200 requests, remaining: 183, limited: false
700
-
701
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should handle real API errors properly with budget resolution
702
- Recorded request for token_74700d80: 18/200 requests
703
-
704
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should complete end-to-end workflow with real YNAB API after setting default budget 387ms
705
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should handle real API errors properly with budget resolution
706
- Rate limit check for token_74700d80: 18/200 requests, remaining: 182, limited: false
707
- [INFO] ynab:list_accounts | SUCCESS | 101ms | rate_limit_remaining:182
708
-
709
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should handle real API errors properly with budget resolution
710
- ⏭️ Skipping test due to YNAB API rate limit
711
-
712
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should maintain performance with real API calls and budget resolution
713
- Rate limit check for token_74700d80: 18/200 requests, remaining: 182, limited: false
714
-
715
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should maintain performance with real API calls and budget resolution
716
- Recorded request for token_74700d80: 19/200 requests
717
-
718
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should maintain performance with real API calls and budget resolution
719
- Rate limit check for token_74700d80: 19/200 requests, remaining: 181, limited: false
720
- [INFO] ynab:list_budgets | SUCCESS | 1ms | rate_limit_remaining:181
721
-
722
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should maintain performance with real API calls and budget resolution
723
- Rate limit check for token_74700d80: 19/200 requests, remaining: 181, limited: false
724
-
725
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should maintain performance with real API calls and budget resolution
726
- Recorded request for token_74700d80: 20/200 requests
727
-
728
- ↓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should handle real API errors properly with budget resolution 109ms
729
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should maintain performance with real API calls and budget resolution
730
- Rate limit check for token_74700d80: 20/200 requests, remaining: 180, limited: false
731
- [INFO] ynab:set_default_budget | SUCCESS | 363ms | rate_limit_remaining:180
732
-
733
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should maintain performance with real API calls and budget resolution
734
- Rate limit check for token_74700d80: 20/200 requests, remaining: 180, limited: false
735
- Rate limit check for token_74700d80: 20/200 requests, remaining: 180, limited: false
736
- Rate limit check for token_74700d80: 20/200 requests, remaining: 180, limited: false
737
- Recorded request for token_74700d80: 21/200 requests
738
- Recorded request for token_74700d80: 22/200 requests
739
- Recorded request for token_74700d80: 23/200 requests
740
-
741
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should maintain performance with real API calls and budget resolution
742
- Rate limit check for token_74700d80: 23/200 requests, remaining: 177, limited: false
743
- [INFO] ynab:list_accounts | SUCCESS | 20ms | rate_limit_remaining:177
744
- Rate limit check for token_74700d80: 23/200 requests, remaining: 177, limited: false
745
- [INFO] ynab:list_categories | SUCCESS | 20ms | rate_limit_remaining:177
746
- Rate limit check for token_74700d80: 23/200 requests, remaining: 177, limited: false
747
- [INFO] ynab:list_payees | SUCCESS | 20ms | rate_limit_remaining:177
748
-
749
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should maintain performance with real API calls and budget resolution 394ms
750
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should handle security middleware with budget resolution errors 7ms
751
-
752
-  Test Files  12 passed | 11 skipped (23)
753
-  Tests  134 passed | 50 skipped (188)
754
-  Start at  22:06:58
755
-  Duration  8.90s (transform 2.78s, setup 0ms, collect 45.72s, tests 9.84s, environment 12ms, prepare 5.72s)
756
-
757
-
758
- 📊 Test results written to test-results/
759
- - summary.json (overview)
760
- - *-tests.json (1 project file(s))
761
- - passed-tests-summary.json
762
- - index.html (interactive report)
763
-
764
- 💡 test-results.json contains a pointer to the detailed results
765
-  HTML  Report is generated
766
-  You can run npx vite preview --outDir test-results to see the test results.