@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,757 +0,0 @@
1
-
2
- > @dizzlkheinz/ynab-mcpb@0.16.2 test:integration:budgets
3
- > node scripts/run-domain-integration-tests.js budgets
4
-
5
-
6
-  RUN  v3.2.4 C:/Users/ksutk/projects/ynab-mcpb
7
-
8
- ↓  integration:domain  src/tools/__tests__/categoryTools.delta.integration.test.ts > Delta-backed category tool handler > serves cached category results on the second invocation
9
- ↓  integration:domain  src/tools/__tests__/monthTools.integration.test.ts > Month Tools Integration > handleListMonths > should successfully list months from real API
10
- ↓  integration:domain  src/tools/__tests__/monthTools.integration.test.ts > Month Tools Integration > handleListMonths > should handle invalid budget ID gracefully
11
- ↓  integration:domain  src/tools/__tests__/monthTools.integration.test.ts > Month Tools Integration > handleGetMonth > should successfully get month details from real API
12
- ↓  integration:domain  src/tools/__tests__/monthTools.integration.test.ts > Month Tools Integration > handleGetMonth > should handle invalid budget ID gracefully
13
- ↓  integration:domain  src/tools/__tests__/monthTools.integration.test.ts > Month Tools Integration > handleGetMonth > should handle invalid month format gracefully
14
- ↓  integration:domain  src/tools/__tests__/payeeTools.integration.test.ts > Payee Tools Integration > handleListPayees > should successfully list payees from real API
15
- ↓  integration:domain  src/tools/__tests__/payeeTools.integration.test.ts > Payee Tools Integration > handleListPayees > should handle invalid budget ID gracefully
16
- ↓  integration:domain  src/tools/__tests__/payeeTools.integration.test.ts > Payee Tools Integration > handleGetPayee > should successfully get payee details from real API
17
- ↓  integration:domain  src/tools/__tests__/payeeTools.integration.test.ts > Payee Tools Integration > handleGetPayee > should handle invalid payee ID gracefully
18
- ↓  integration:domain  src/tools/__tests__/payeeTools.integration.test.ts > Payee Tools Integration > handleGetPayee > should handle invalid budget ID gracefully
19
- ↓  integration:domain  src/tools/__tests__/categoryTools.integration.test.ts > Category Tools Integration > handleListCategories > should successfully list categories from real API
20
- ↓  integration:domain  src/tools/__tests__/categoryTools.integration.test.ts > Category Tools Integration > handleListCategories > should handle invalid budget ID gracefully
21
- ↓  integration:domain  src/tools/__tests__/categoryTools.integration.test.ts > Category Tools Integration > handleGetCategory > should successfully get category details from real API
22
- ↓  integration:domain  src/tools/__tests__/categoryTools.integration.test.ts > Category Tools Integration > handleGetCategory > should handle invalid category ID gracefully
23
- ↓  integration:domain  src/tools/__tests__/categoryTools.integration.test.ts > Category Tools Integration > handleUpdateCategory > should successfully update category budget from real API
24
- ↓  integration:domain  src/tools/__tests__/categoryTools.integration.test.ts > Category Tools Integration > handleUpdateCategory > should handle invalid category ID gracefully
25
- ↓  integration:domain  src/tools/__tests__/categoryTools.integration.test.ts > Category Tools Integration > handleUpdateCategory > should handle negative budgeted amounts
26
- ↓  integration:domain  src/tools/__tests__/accountTools.integration.test.ts > Account Tools Integration > should successfully list accounts from real API
27
- ↓  integration:domain  src/tools/__tests__/accountTools.integration.test.ts > Account Tools Integration > should successfully get account details from real API
28
- ↓  integration:domain  src/tools/__tests__/accountTools.integration.test.ts > Account Tools Integration > should handle invalid budget ID gracefully
29
- ↓  integration:domain  src/tools/__tests__/accountTools.integration.test.ts > Account Tools Integration > should handle invalid account ID gracefully
30
- ↓  integration:domain  src/tools/__tests__/accountTools.delta.integration.test.ts > Delta-backed account tool handlers > serves cached account results on the second invocation
31
- ↓  integration:domain  src/tools/__tests__/accountTools.delta.integration.test.ts > Delta-backed account tool handlers > reports delta usage for list_transactions after a change
32
- ↓  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > should successfully list transactions from real API
33
- ↓  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > should successfully list transactions with account filter
34
- ↓  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > should successfully list transactions with date filter
35
- ↓  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > should get transaction details if transactions exist
36
- ↓  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > should handle invalid budget ID gracefully
37
- ↓  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > should handle invalid transaction ID gracefully
38
- ↓  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > handleCreateTransactions - Integration > should create two transactions via the bulk handler
39
- ↓  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > handleCreateTransactions - Integration > should detect duplicates when reusing import IDs
40
- ↓  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > handleCreateTransactions - Integration > should invalidate caches so new transactions appear in list results
41
- ↓  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > handleCreateTransactions - Integration > should create transactions across multiple accounts within one batch
42
- ↓  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > handleCreateTransactions - Integration > should handle large batches and report response mode
43
- ↓  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > handleCreateTransactions - Integration > should support dry run mode without creating transactions
44
- ↓  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > handleCreateTransactions - Integration > should confirm dry run does not persist data
45
- ↓  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > handleCreateTransactions - Integration > should handle invalid budget IDs gracefully during bulk create
46
- ↓  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > handleCreateTransactions - Integration > should handle invalid account IDs during bulk create
47
- ↓  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > handleCreateTransactions - Integration > documents rate limiting behavior for bulk requests
48
- ·  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > Bulk Update Transactions Integration > should successfully update multiple transactions with provided metadata
49
- ·  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)
50
- ·  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
51
- ·  integration:domain  src/tools/__tests__/transactionTools.integration.test.ts > Transaction Tools Integration > Bulk Update Transactions Integration > should handle partial failures gracefully
52
- ↓  integration:domain  src/tools/__tests__/deltaFetcher.scheduled.integration.test.ts > Delta fetcher scheduled transactions integration > caches scheduled transactions on repeated fetches
53
- ↓  integration:domain  src/tools/__tests__/payeeTools.delta.integration.test.ts > Delta-backed payee tool handler > serves cached payee results on the second invocation
54
- ↓  integration:domain  src/tools/__tests__/monthTools.delta.integration.test.ts > Delta-backed month tool handler > serves cached month summaries on the second invocation
55
- ↓  integration:domain  src/tools/reconciliation/__tests__/reconciliation.delta.integration.test.ts > Reconciliation delta isolation > uses full-fetch helpers and exposes audit metadata
56
- ↓  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
57
- stderr | src/server/__tests__/security.integration.test.ts > Security Integration > end-to-end security flow > should sanitize sensitive data in logs
58
- [INFO] ynab:create_transaction:creating transaction | SUCCESS | 0ms | rate_limit_remaining:2
59
-
60
- stderr | src/server/__tests__/security.integration.test.ts > Security Integration > end-to-end security flow > should handle multiple users with independent rate limits
61
- [INFO] ynab:test:test | SUCCESS | 1ms | rate_limit_remaining:2
62
-
63
- stderr | src/server/__tests__/security.integration.test.ts > Security Integration > end-to-end security flow > should handle multiple users with independent rate limits
64
- [INFO] ynab:test:test | SUCCESS | 0ms | rate_limit_remaining:1
65
-
66
- stderr | src/server/__tests__/security.integration.test.ts > Security Integration > end-to-end security flow > should handle multiple users with independent rate limits
67
- [INFO] ynab:test:test | SUCCESS | 0ms | rate_limit_remaining:0
68
- [WARN] Rate limit exceeded for ynab:test
69
-
70
- stderr | src/server/__tests__/security.integration.test.ts > Security Integration > end-to-end security flow > should handle multiple users with independent rate limits
71
- [ERROR] ynab:test:test | FAILED | 0ms | rate_limit_remaining:0 | error:"Rate limit exceeded. Please wait before making additional requests."
72
- [WARN] Rate limit exceeded for ynab:test
73
-
74
- stderr | src/server/__tests__/security.integration.test.ts > Security Integration > end-to-end security flow > should handle multiple users with independent rate limits
75
- [INFO] ynab:test:test | SUCCESS | 0ms | rate_limit_remaining:2
76
-
77
- stderr | src/server/__tests__/security.integration.test.ts > Security Integration > end-to-end security flow > should provide comprehensive security statistics
78
- [INFO] ynab:test:test | SUCCESS | 0ms | rate_limit_remaining:2
79
-
80
- stderr | src/server/__tests__/security.integration.test.ts > Security Integration > end-to-end security flow > should provide comprehensive security statistics
81
- [INFO] ynab:test:test | SUCCESS | 0ms | rate_limit_remaining:1
82
-
83
- stderr | src/server/__tests__/security.integration.test.ts > Security Integration > end-to-end security flow > should provide comprehensive security statistics
84
- [ERROR] ynab:test:test | FAILED | 0ms | rate_limit_remaining:0 | error:"Test error"
85
- [WARN] Rate limit exceeded for ynab:test
86
-
87
- stderr | src/server/__tests__/security.integration.test.ts > Security Integration > performance under load > should handle rapid requests efficiently
88
- [INFO] ynab:performance_test:performance test | SUCCESS | 0ms | rate_limit_remaining:0
89
- [WARN] Rate limit exceeded for ynab:performance_test
90
- [INFO] ynab:performance_test:performance test | SUCCESS | 0ms | rate_limit_remaining:0
91
- [WARN] Rate limit exceeded for ynab:performance_test
92
- [INFO] ynab:performance_test:performance test | SUCCESS | 0ms | rate_limit_remaining:0
93
- [WARN] Rate limit exceeded for ynab:performance_test
94
-
95
- ✓  integration:domain  src/server/__tests__/security.integration.test.ts > Security Integration > end-to-end security flow > should handle a complete successful request flow 23ms
96
- ✓  integration:domain  src/server/__tests__/security.integration.test.ts > Security Integration > end-to-end security flow > should handle validation failures with proper logging 9ms
97
- ✓  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 6ms
98
- ✓  integration:domain  src/server/__tests__/security.integration.test.ts > Security Integration > end-to-end security flow > should sanitize sensitive data in logs 5ms
99
- ✓  integration:domain  src/server/__tests__/security.integration.test.ts > Security Integration > end-to-end security flow > should handle multiple users with independent rate limits 6ms
100
- ✓  integration:domain  src/server/__tests__/security.integration.test.ts > Security Integration > end-to-end security flow > should provide comprehensive security statistics 5ms
101
- ✓  integration:domain  src/server/__tests__/security.integration.test.ts > Security Integration > performance under load > should handle rapid requests efficiently 2ms
102
- stderr | src/server/__tests__/security.integration.test.ts > Security Integration > cleanup and maintenance > should maintain log size limits
103
- [INFO] tool1:op1 | SUCCESS
104
- [INFO] tool2:op2 | SUCCESS
105
- [INFO] tool3:op3 | SUCCESS
106
-
107
- ✓  integration:domain  src/server/__tests__/security.integration.test.ts > Security Integration > cleanup and maintenance > should clean up expired rate limit entries 63ms
108
- ✓  integration:domain  src/server/__tests__/security.integration.test.ts > Security Integration > cleanup and maintenance > should maintain log size limits 2ms
109
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > 401 Unauthorized Errors > should handle 401 errors in budget tools 12ms
110
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > 401 Unauthorized Errors > should handle 401 errors in account tools 8ms
111
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > 401 Unauthorized Errors > should handle 401 errors in transaction tools 2ms
112
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > 403 Forbidden Errors > should handle 403 errors in category tools 1ms
113
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > 403 Forbidden Errors > should handle 403 errors in payee tools 2ms
114
- ✓  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
115
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > 429 Rate Limit Errors > should handle 429 errors in utility tools 1ms
116
- ✓  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
117
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > Network and Connection Errors > should handle network timeout errors 5ms
118
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > Network and Connection Errors > should handle connection refused errors 2ms
119
- ✓  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
120
- ✓  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
121
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > ErrorHandler with real ResponseFormatter > should format errors using real responseFormatter 2ms
122
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > ErrorHandler with real ResponseFormatter > should work with ValidationError 1ms
123
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > Minify override integration > should respect responseFormatter minify settings 2ms
124
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > Minify override integration > should handle pretty formatting 2ms
125
- ✓  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 7ms
126
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > Static vs instance consistency > should produce identical results for createValidationError 1ms
127
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > Circular dependency resolution > should not have circular dependency issues 2ms
128
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > Circular dependency resolution > should work with different formatter implementations 1ms
129
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > ErrorHandler factory > should create different instances with different formatters 1ms
130
- ✓  integration:domain  src/server/__tests__/errorHandler.integration.test.ts > Error Handler Integration Tests > ErrorHandler factory > should maintain instance isolation 2ms
131
- ✓  integration:domain  src/__tests__/tools/reconciliation/csvParser.integration.test.ts > CSV Parser Integration Tests > TD Bank CSV > should parse TD CSV correctly 14ms
132
- ✓  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
133
- ✓  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
134
- ✓  integration:domain  src/__tests__/tools/reconciliation/csvParser.integration.test.ts > CSV Parser Integration Tests > European Number Format > should handle European number format 72ms
135
- ✓  integration:domain  src/__tests__/tools/reconciliation/csvParser.integration.test.ts > Matcher Integration Tests > should achieve high confidence matches with exact integer comparison 9ms
136
- ✓  integration:domain  src/__tests__/tools/reconciliation/csvParser.integration.test.ts > Matcher Integration Tests > should use exact integer comparison (no float precision issues) 2ms
137
- ✓  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 74ms
138
- ✓  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 13ms
139
- ✓  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 8ms
140
- ✓  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 9ms
141
- ✓  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 7ms
142
- ✓  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 4ms
143
- ✓  integration:domain  src/tools/reconciliation/__tests__/recommendationEngine.integration.test.ts > Recommendation Engine Integration > complex scenarios > should generate multiple recommendations for multiple unmatched transactions 4ms
144
- ✓  integration:domain  src/tools/reconciliation/__tests__/recommendationEngine.integration.test.ts > Recommendation Engine Integration > complex scenarios > should handle repeat amounts with recommendations 10ms
145
- ✓  integration:domain  src/tools/reconciliation/__tests__/recommendationEngine.integration.test.ts > Recommendation Engine Integration > complex scenarios > should generate mixed recommendation types for complex scenario 10ms
146
- ✓  integration:domain  src/tools/reconciliation/__tests__/recommendationEngine.integration.test.ts > Recommendation Engine Integration > complex scenarios > should prioritize recommendations by priority and confidence 3ms
147
- ✓  integration:domain  src/tools/reconciliation/__tests__/recommendationEngine.integration.test.ts > Recommendation Engine Integration > complex scenarios > should handle large discrepancies with appropriate recommendations 4ms
148
- ✓  integration:domain  src/tools/reconciliation/__tests__/recommendationEngine.integration.test.ts > Recommendation Engine Integration > recommendation field validation > should include all required metadata fields 5ms
149
- ✓  integration:domain  src/tools/reconciliation/__tests__/recommendationEngine.integration.test.ts > Recommendation Engine Integration > recommendation field validation > should generate valid create_transaction parameters 2ms
150
- ✓  integration:domain  src/__tests__/tools/reconciliation/real-world.integration.test.ts > Real World CSV Validation (Simulated) > Wealthsimple > should parse Wealthsimple export correctly 13ms
151
- ✓  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
152
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Server Initialization > should successfully initialize server with valid configuration 32ms
153
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Server Initialization > should fail initialization with missing access token 14ms
154
- ✓  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
155
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Constructor and Environment Validation > should create server instance with valid access token 33ms
156
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Constructor and Environment Validation > should throw ValidationError when YNAB_ACCESS_TOKEN is missing 14ms
157
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Constructor and Environment Validation > should throw ValidationError when YNAB_ACCESS_TOKEN is empty string 10ms
158
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Constructor and Environment Validation > should throw ValidationError when YNAB_ACCESS_TOKEN is only whitespace 12ms
159
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Constructor and Environment Validation > should trim whitespace from access token 14ms
160
- 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
161
- Rate limit check for token_7f8358f9: 0/200 requests, remaining: 200, limited: false
162
-
163
- 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
164
- Recorded request for token_7f8358f9: 1/200 requests
165
-
166
- 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
167
- Rate limit check for token_7f8358f9: 1/200 requests, remaining: 199, limited: false
168
- [INFO] ynab:list_budgets | SUCCESS | 9ms | rate_limit_remaining:199
169
-
170
- 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
171
- Rate limit check for token_7f8358f9: 1/200 requests, remaining: 199, limited: false
172
-
173
- 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
174
- Recorded request for token_7f8358f9: 2/200 requests
175
-
176
- 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
177
- Rate limit check for token_7f8358f9: 2/200 requests, remaining: 198, limited: false
178
- [INFO] ynab:get_budget | SUCCESS | 3ms | rate_limit_remaining:198
179
-
180
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Budget Management Integration > should handle budget retrieval errors gracefully
181
- Rate limit check for token_7f8358f9: 2/200 requests, remaining: 198, limited: false
182
-
183
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Budget Management Integration > should handle budget retrieval errors gracefully
184
- Recorded request for token_7f8358f9: 3/200 requests
185
-
186
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Budget Management Integration > should handle budget retrieval errors gracefully
187
- Rate limit check for token_7f8358f9: 3/200 requests, remaining: 197, limited: false
188
- [INFO] ynab:get_budget | SUCCESS | 5ms | rate_limit_remaining:197
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: 3/200 requests, remaining: 197, 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: 4/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: 4/200 requests, remaining: 196, limited: false
198
- [INFO] ynab:list_accounts | SUCCESS | 4ms | rate_limit_remaining:196
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: 4/200 requests, remaining: 196, 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: 5/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: 5/200 requests, remaining: 195, limited: false
208
- [INFO] ynab:get_account | SUCCESS | 3ms | rate_limit_remaining:195
209
-
210
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Account Management Integration > should handle complete account workflow
211
- Rate limit check for token_7f8358f9: 5/200 requests, remaining: 195, limited: false
212
-
213
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Account Management Integration > should handle complete account workflow
214
- Recorded request for token_7f8358f9: 6/200 requests
215
-
216
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Account Management Integration > should handle complete account workflow
217
- Rate limit check for token_7f8358f9: 6/200 requests, remaining: 194, limited: false
218
- [INFO] ynab:create_account | SUCCESS | 3ms | rate_limit_remaining:194
219
-
220
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Transaction Management Integration > should handle transaction filtering
221
- Rate limit check for token_7f8358f9: 6/200 requests, remaining: 194, limited: false
222
-
223
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Transaction Management Integration > should handle transaction filtering
224
- Recorded request for token_7f8358f9: 7/200 requests
225
-
226
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Transaction Management Integration > should handle transaction filtering
227
- Rate limit check for token_7f8358f9: 7/200 requests, remaining: 193, limited: false
228
- [INFO] ynab:list_transactions | SUCCESS | 3ms | rate_limit_remaining:193
229
-
230
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Transaction Management Integration > should handle transaction filtering
231
- Rate limit check for token_7f8358f9: 7/200 requests, remaining: 193, limited: false
232
-
233
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Transaction Management Integration > should handle transaction filtering
234
- Recorded request for token_7f8358f9: 8/200 requests
235
-
236
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Transaction Management Integration > should handle transaction filtering
237
- Rate limit check for token_7f8358f9: 8/200 requests, remaining: 192, limited: false
238
- [INFO] ynab:list_transactions | SUCCESS | 0ms | rate_limit_remaining:192
239
-
240
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Transaction Management Integration > should handle transaction filtering
241
- Rate limit check for token_7f8358f9: 8/200 requests, remaining: 192, limited: false
242
-
243
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Transaction Management Integration > should handle transaction filtering
244
- Recorded request for token_7f8358f9: 9/200 requests
245
-
246
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Transaction Management Integration > should handle transaction filtering
247
- Rate limit check for token_7f8358f9: 9/200 requests, remaining: 191, limited: false
248
- [INFO] ynab:list_transactions | SUCCESS | 1ms | rate_limit_remaining:191
249
-
250
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Category Management Integration > should handle complete category workflow
251
- Rate limit check for token_7f8358f9: 9/200 requests, remaining: 191, limited: false
252
-
253
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Category Management Integration > should handle complete category workflow
254
- Recorded request for token_7f8358f9: 10/200 requests
255
-
256
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Category Management Integration > should handle complete category workflow
257
- Rate limit check for token_7f8358f9: 10/200 requests, remaining: 190, limited: false
258
- [INFO] ynab:list_categories | SUCCESS | 4ms | rate_limit_remaining:190
259
-
260
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Category Management Integration > should handle complete category workflow
261
- Rate limit check for token_7f8358f9: 10/200 requests, remaining: 190, limited: false
262
-
263
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Category Management Integration > should handle complete category workflow
264
- Recorded request for token_7f8358f9: 11/200 requests
265
-
266
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Category Management Integration > should handle complete category workflow
267
- Rate limit check for token_7f8358f9: 11/200 requests, remaining: 189, limited: false
268
- [INFO] ynab:get_category | SUCCESS | 2ms | rate_limit_remaining:189
269
-
270
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Category Management Integration > should handle complete category workflow
271
- Rate limit check for token_7f8358f9: 11/200 requests, remaining: 189, limited: false
272
-
273
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Category Management Integration > should handle complete category workflow
274
- Recorded request for token_7f8358f9: 12/200 requests
275
-
276
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Category Management Integration > should handle complete category workflow
277
- Rate limit check for token_7f8358f9: 12/200 requests, remaining: 188, limited: false
278
- [INFO] ynab:update_category | SUCCESS | 3ms | rate_limit_remaining:188
279
-
280
- ✓  integration:domain  src/__tests__/comprehensive.integration.test.ts > YNAB utils mock > converts milliunits using SDK rounding rules 3ms
281
- ✓  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 40ms
282
- ✓  integration:domain  src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Budget Management Integration > should handle budget retrieval errors gracefully 17ms
283
- ✓  integration:domain  src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Account Management Integration > should handle complete account workflow 19ms
284
- ↓  integration:domain  src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Transaction Management Integration > should handle complete transaction workflow
285
- ✓  integration:domain  src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Transaction Management Integration > should handle transaction filtering 12ms
286
- ✓  integration:domain  src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Category Management Integration > should handle complete category workflow 20ms
287
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Utility Tools Integration > should handle user information retrieval
288
- Rate limit check for token_7f8358f9: 12/200 requests, remaining: 188, limited: false
289
-
290
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Utility Tools Integration > should handle user information retrieval
291
- Recorded request for token_7f8358f9: 13/200 requests
292
-
293
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Utility Tools Integration > should handle user information retrieval
294
- Rate limit check for token_7f8358f9: 13/200 requests, remaining: 187, limited: false
295
- [INFO] ynab:get_user | SUCCESS | 2ms | rate_limit_remaining:187
296
-
297
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Utility Tools Integration > should handle amount conversion
298
- Rate limit check for token_7f8358f9: 13/200 requests, remaining: 187, limited: false
299
-
300
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Utility Tools Integration > should handle amount conversion
301
- Recorded request for token_7f8358f9: 14/200 requests
302
-
303
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Utility Tools Integration > should handle amount conversion
304
- Rate limit check for token_7f8358f9: 14/200 requests, remaining: 186, limited: false
305
- [INFO] ynab:convert_amount | SUCCESS | 2ms | rate_limit_remaining:186
306
-
307
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Utility Tools Integration > should handle amount conversion
308
- Rate limit check for token_7f8358f9: 14/200 requests, remaining: 186, limited: false
309
-
310
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Utility Tools Integration > should handle amount conversion
311
- Recorded request for token_7f8358f9: 15/200 requests
312
-
313
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Utility Tools Integration > should handle amount conversion
314
- Rate limit check for token_7f8358f9: 15/200 requests, remaining: 185, limited: false
315
- [INFO] ynab:convert_amount | SUCCESS | 0ms | rate_limit_remaining:185
316
-
317
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Error Handling Integration > should handle various API error scenarios
318
- Rate limit check for token_7f8358f9: 15/200 requests, remaining: 185, limited: false
319
-
320
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Error Handling Integration > should handle various API error scenarios
321
- Recorded request for token_7f8358f9: 16/200 requests
322
-
323
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Error Handling Integration > should handle various API error scenarios
324
- Rate limit check for token_7f8358f9: 16/200 requests, remaining: 184, limited: false
325
- [INFO] ynab:list_budgets | SUCCESS | 0ms | rate_limit_remaining:184
326
-
327
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Error Handling Integration > should handle various API error scenarios
328
- Rate limit check for token_7f8358f9: 16/200 requests, remaining: 184, limited: false
329
-
330
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Error Handling Integration > should handle various API error scenarios
331
- Recorded request for token_7f8358f9: 17/200 requests
332
-
333
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Error Handling Integration > should handle various API error scenarios
334
- Rate limit check for token_7f8358f9: 17/200 requests, remaining: 183, limited: false
335
- [INFO] ynab:get_budget | SUCCESS | 1ms | rate_limit_remaining:183
336
-
337
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Error Handling Integration > should validate input parameters
338
- Rate limit check for token_7f8358f9: 17/200 requests, remaining: 183, limited: false
339
- [ERROR] ynab:get_budget | FAILED | 0ms | rate_limit_remaining:183 | error:"Validation failed: Validation error: Invalid input: expected string, received undefined at "budget_id""
340
-
341
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should invalidate cache on write operations
342
- Rate limit check for token_7f8358f9: 17/200 requests, remaining: 183, limited: false
343
-
344
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should invalidate cache on write operations
345
- Recorded request for token_7f8358f9: 18/200 requests
346
-
347
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should invalidate cache on write operations
348
- Rate limit check for token_7f8358f9: 18/200 requests, remaining: 182, limited: false
349
- [INFO] ynab:list_accounts | SUCCESS | 2ms | rate_limit_remaining:182
350
-
351
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should invalidate cache on write operations
352
- Rate limit check for token_7f8358f9: 18/200 requests, remaining: 182, limited: false
353
-
354
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should invalidate cache on write operations
355
- Recorded request for token_7f8358f9: 19/200 requests
356
-
357
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should invalidate cache on write operations
358
- Rate limit check for token_7f8358f9: 19/200 requests, remaining: 181, limited: false
359
- [INFO] ynab:create_account | SUCCESS | 1ms | rate_limit_remaining:181
360
-
361
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should invalidate cache on write operations
362
- Rate limit check for token_7f8358f9: 19/200 requests, remaining: 181, limited: false
363
-
364
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should invalidate cache on write operations
365
- Recorded request for token_7f8358f9: 20/200 requests
366
-
367
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should invalidate cache on write operations
368
- Rate limit check for token_7f8358f9: 20/200 requests, remaining: 180, limited: false
369
- [INFO] ynab:list_accounts | SUCCESS | 1ms | rate_limit_remaining:180
370
-
371
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should handle cache warming after setting default budget
372
- Rate limit check for token_7f8358f9: 20/200 requests, remaining: 180, limited: false
373
-
374
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should handle cache warming after setting default budget
375
- Recorded request for token_7f8358f9: 21/200 requests
376
-
377
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should handle cache warming after setting default budget
378
- Rate limit check for token_7f8358f9: 21/200 requests, remaining: 179, limited: false
379
- [INFO] ynab:set_default_budget | SUCCESS | 2ms | rate_limit_remaining:179
380
-
381
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should handle cache clear operation
382
- Rate limit check for token_7f8358f9: 21/200 requests, remaining: 179, limited: false
383
-
384
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should handle cache clear operation
385
- Recorded request for token_7f8358f9: 22/200 requests
386
-
387
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should handle cache clear operation
388
- Rate limit check for token_7f8358f9: 22/200 requests, remaining: 178, limited: false
389
- [INFO] ynab:list_budgets | SUCCESS | 0ms | rate_limit_remaining:178
390
-
391
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should handle cache clear operation
392
- Rate limit check for token_7f8358f9: 22/200 requests, remaining: 178, limited: false
393
-
394
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should handle cache clear operation
395
- Recorded request for token_7f8358f9: 23/200 requests
396
-
397
- stderr | src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should handle cache clear operation
398
- Rate limit check for token_7f8358f9: 23/200 requests, remaining: 177, limited: false
399
- [INFO] ynab:clear_cache | SUCCESS | 1ms | rate_limit_remaining:177
400
-
401
- ✓  integration:domain  src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Utility Tools Integration > should handle user information retrieval 8ms
402
- ✓  integration:domain  src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Complete Utility Tools Integration > should handle amount conversion 10ms
403
- ✓  integration:domain  src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Error Handling Integration > should handle various API error scenarios 10ms
404
- ✓  integration:domain  src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Error Handling Integration > should validate input parameters 10ms
405
- ↓  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
406
- ✓  integration:domain  src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should invalidate cache on write operations 12ms
407
- ↓  integration:domain  src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should not cache filtered transaction requests
408
- ✓  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 9ms
409
- ✓  integration:domain  src/__tests__/comprehensive.integration.test.ts > YNAB MCP Server - Comprehensive Integration Tests > Caching Integration Tests > should handle cache clear operation 13ms
410
- ↓  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
411
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Server Startup Validation > should validate YNAB token during startup 382ms
412
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Real YNAB API Integration > should successfully validate real YNAB token 375ms
413
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Real YNAB API Integration > should successfully get user information
414
- ✅ Connected to YNAB user: 495de152-d100-4404-a9b4-d6115e038294
415
-
416
- ✓  integration:domain  src/tools/__tests__/utilityTools.integration.test.ts > Utility Tools Integration Tests > handleGetUser > should retrieve user information from YNAB API 225ms
417
- ✓  integration:domain  src/tools/__tests__/utilityTools.integration.test.ts > Utility Tools Integration Tests > handleConvertAmount > should convert various dollar amounts to milliunits 2ms
418
- ✓  integration:domain  src/tools/__tests__/utilityTools.integration.test.ts > Utility Tools Integration Tests > handleConvertAmount > should convert various milliunit amounts to dollars 2ms
419
- ✓  integration:domain  src/tools/__tests__/utilityTools.integration.test.ts > Utility Tools Integration Tests > handleConvertAmount > should handle precision edge cases 1ms
420
- ✓  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 113ms
421
- stderr | src/tools/__tests__/budgetTools.integration.test.ts > Budget Tools Integration > handleListBudgets > should successfully list budgets from real API
422
- ✅ Successfully listed 7 budgets
423
-
424
- ✓  integration:domain  src/tools/__tests__/budgetTools.integration.test.ts > Budget Tools Integration > handleListBudgets > should successfully list budgets from real API 232ms
425
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Real YNAB API Integration > should successfully get user information 109ms
426
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Real YNAB API Integration > should successfully get budgets
427
- ✅ Found 7 budget(s)
428
- - test plan (7b47d8bb-ce4c-40c0-a9eb-c6d715af9a76)
429
- - 8 Laguna (65b65f40-da07-4037-af17-d6559b9145af)
430
- - going to mexico (Archived on 2025-01-24) (b371d9f6-94fd-48a1-9b19-f51ab17436f1)
431
- - 2025 (bf00f94f-f532-4b2c-a39c-e8d9a963effd)
432
- - 1376 W 14th (9e4e96bf-f857-4c84-9f07-1e201de1bd40)
433
- - SRC (6d225b60-eaf5-4157-bd7a-9995b3e1b608)
434
- - KYS (c402250b-c77e-4739-a1c4-d087d02693d5)
435
-
436
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Real YNAB API Integration > should successfully get budgets 114ms
437
- ✓  integration:domain  src/tools/__tests__/budgetTools.delta.integration.test.ts > Delta-backed budget tool handler > serves cached budget summaries on the second invocation 234ms
438
- ✓  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 201ms
439
- ✓  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
440
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Tool Registration > should register all expected YNAB tools 9ms
441
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Tool Registration > should register budget management tools 11ms
442
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Tool Registration > should register account management tools 9ms
443
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Tool Registration > should register transaction management tools 12ms
444
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Tool Registration > should register category management tools 11ms
445
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Tool Registration > should register payee management tools 11ms
446
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Tool Registration > should register utility tools 10ms
447
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Real YNAB API Integration > should handle invalid token gracefully 109ms
448
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Real YNAB API Integration > should successfully start and connect MCP server 205ms
449
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Transport Setup > should attempt to connect with StdioServerTransport 231ms
450
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should execute get_user tool via the registry
451
- Rate limit check for token_74700d80: 0/200 requests, remaining: 200, limited: false
452
-
453
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should execute get_user tool via the registry
454
- Recorded request for token_74700d80: 1/200 requests
455
-
456
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Real YNAB API Integration > should handle multiple rapid API calls without rate limiting issues 140ms
457
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should expose registered tools via the registry 25ms
458
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Transport Setup > should handle transport connection errors gracefully 102ms
459
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should execute get_user tool via the registry
460
- Rate limit check for token_74700d80: 1/200 requests, remaining: 199, limited: false
461
- [INFO] ynab:get_user | SUCCESS | 95ms | rate_limit_remaining:199
462
-
463
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should set and retrieve default budget using tools
464
- Rate limit check for token_74700d80: 1/200 requests, remaining: 199, limited: false
465
-
466
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should set and retrieve default budget using tools
467
- Recorded request for token_74700d80: 2/200 requests
468
-
469
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Transport Setup > should validate token before attempting transport connection 102ms
470
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Error Reporting > should report configuration errors clearly 6ms
471
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should execute get_user tool via the registry 104ms
472
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should set and retrieve default budget using tools
473
- Rate limit check for token_74700d80: 2/200 requests, remaining: 198, limited: false
474
- [INFO] ynab:list_budgets | SUCCESS | 101ms | rate_limit_remaining:198
475
-
476
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should set and retrieve default budget using tools
477
- Rate limit check for token_74700d80: 2/200 requests, remaining: 198, limited: false
478
-
479
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should set and retrieve default budget using tools
480
- Recorded request for token_74700d80: 3/200 requests
481
-
482
- stderr | src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Error Reporting > should handle startup errors without exposing sensitive information
483
- Server startup failed: Token validation failed: [object Object]
484
-
485
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Error Reporting > should report authentication errors clearly 99ms
486
- stderr | src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Error Reporting > should handle startup errors without exposing sensitive information
487
- Server startup failed: Token validation failed: [object Object]
488
-
489
- ✓  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 183ms
490
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Graceful Shutdown > should handle process signals gracefully 5ms
491
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Graceful Shutdown > should clean up resources on shutdown 8ms
492
- stderr | src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Full Startup Workflow > should complete full startup sequence successfully
493
- ✅ Server startup workflow completed successfully
494
-
495
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Full Startup Workflow > should complete full startup sequence successfully 193ms
496
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Full Startup Workflow > should fail fast on configuration errors 6ms
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: 3/200 requests, remaining: 197, limited: false
499
- [INFO] ynab:set_default_budget | SUCCESS | 612ms | rate_limit_remaining:197
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: 3/200 requests, remaining: 197, 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: 4/200 requests
506
-
507
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should set and retrieve default budget using tools
508
- Rate limit check for token_74700d80: 4/200 requests, remaining: 196, limited: false
509
- [INFO] ynab:get_default_budget | SUCCESS | 0ms | rate_limit_remaining:196
510
-
511
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should provide diagnostic info with requested sections
512
- Rate limit check for token_74700d80: 4/200 requests, remaining: 196, limited: false
513
-
514
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should provide diagnostic info with requested sections
515
- Recorded request for token_74700d80: 5/200 requests
516
-
517
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should provide diagnostic info with requested sections
518
- Rate limit check for token_74700d80: 5/200 requests, remaining: 195, limited: false
519
- [INFO] ynab:diagnostic_info | SUCCESS | 6ms | rate_limit_remaining:195
520
-
521
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should clear cache using the clear_cache tool
522
- Rate limit check for token_74700d80: 5/200 requests, remaining: 195, limited: false
523
-
524
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should clear cache using the clear_cache tool
525
- Recorded request for token_74700d80: 6/200 requests
526
-
527
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should clear cache using the clear_cache tool
528
- Rate limit check for token_74700d80: 6/200 requests, remaining: 194, limited: false
529
- [INFO] ynab:clear_cache | SUCCESS | 1ms | rate_limit_remaining:194
530
-
531
- stderr | src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Full Startup Workflow > should fail fast on authentication errors
532
- Server startup failed: Token validation failed: [object Object]
533
-
534
- ✓  integration:domain  src/server/__tests__/server-startup.integration.test.ts > Server Startup and Transport Integration > Full Startup Workflow > should fail fast on authentication errors 264ms
535
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should include enhanced cache metrics in real diagnostic collection
536
- Rate limit check for token_74700d80: 6/200 requests, remaining: 194, limited: false
537
-
538
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should include enhanced cache metrics in real diagnostic collection
539
- Recorded request for token_74700d80: 7/200 requests
540
-
541
- stderr | src/tools/__tests__/budgetTools.integration.test.ts > Budget Tools Integration > handleGetBudget > should successfully get budget details from real API
542
- ✅ Successfully retrieved budget: test plan
543
- - 320 accounts
544
- - 65 categories
545
-
546
- ✓  integration:domain  src/tools/__tests__/budgetTools.integration.test.ts > Budget Tools Integration > handleGetBudget > should successfully get budget details from real API 1406ms
547
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should set and retrieve default budget using tools 722ms
548
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should provide diagnostic info with requested sections 14ms
549
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should clear cache using the clear_cache tool 8ms
550
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should track cache performance metrics during real tool execution 7ms
551
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should demonstrate LRU eviction with real cache operations 8ms
552
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should show cache hit rate improvement with repeated operations 7ms
553
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should handle concurrent cache operations correctly 8ms
554
- stderr | src/tools/__tests__/budgetTools.integration.test.ts > Budget Tools Integration > handleGetBudget > should handle invalid budget ID gracefully
555
- ✅ Correctly handled invalid budget ID: Budget not found
556
-
557
- ✓  integration:domain  src/tools/__tests__/budgetTools.integration.test.ts > Budget Tools Integration > handleGetBudget > should handle invalid budget ID gracefully 117ms
558
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should include enhanced cache metrics in real diagnostic collection
559
- Rate limit check for token_74700d80: 7/200 requests, remaining: 193, limited: false
560
- [INFO] ynab:list_budgets | SUCCESS | 152ms | rate_limit_remaining:193
561
-
562
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should include enhanced cache metrics in real diagnostic collection
563
- Rate limit check for token_74700d80: 7/200 requests, remaining: 193, limited: false
564
-
565
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should include enhanced cache metrics in real diagnostic collection
566
- Recorded request for token_74700d80: 8/200 requests
567
-
568
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should include enhanced cache metrics in real diagnostic collection
569
- Rate limit check for token_74700d80: 8/200 requests, remaining: 192, limited: false
570
- [INFO] ynab:get_user | SUCCESS | 93ms | rate_limit_remaining:192
571
-
572
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should include enhanced cache metrics in real diagnostic collection
573
- Rate limit check for token_74700d80: 8/200 requests, remaining: 192, limited: false
574
-
575
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should include enhanced cache metrics in real diagnostic collection
576
- Recorded request for token_74700d80: 9/200 requests
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: 9/200 requests, remaining: 191, limited: false
580
- [INFO] ynab:diagnostic_info | SUCCESS | 1ms | rate_limit_remaining:191
581
-
582
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should configure output formatter via set_output_format tool
583
- Rate limit check for token_74700d80: 9/200 requests, remaining: 191, limited: false
584
-
585
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should configure output formatter via set_output_format tool
586
- Recorded request for token_74700d80: 10/200 requests
587
-
588
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should configure output formatter via set_output_format tool
589
- Rate limit check for token_74700d80: 10/200 requests, remaining: 190, limited: false
590
- [INFO] ynab:set_output_format | SUCCESS | 2ms | rate_limit_remaining:190
591
-
592
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should configure output formatter via set_output_format tool
593
- Rate limit check for token_74700d80: 10/200 requests, remaining: 190, limited: false
594
-
595
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should configure output formatter via set_output_format tool
596
- Recorded request for token_74700d80: 11/200 requests
597
-
598
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should configure output formatter via set_output_format tool
599
- Rate limit check for token_74700d80: 11/200 requests, remaining: 189, limited: false
600
- [INFO] ynab:set_output_format | SUCCESS | 0ms | rate_limit_remaining:189
601
-
602
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should surface validation errors for invalid inputs
603
- Rate limit check for token_74700d80: 11/200 requests, remaining: 189, limited: false
604
- [ERROR] ynab:get_budget | FAILED | 0ms | rate_limit_remaining:189 | error:"Validation failed: Validation error: Invalid input: expected string, received undefined at "budget_id""
605
-
606
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Modular Architecture Integration with Real API > should maintain real API functionality after modular refactoring
607
- Rate limit check for token_74700d80: 11/200 requests, remaining: 189, limited: false
608
-
609
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Modular Architecture Integration with Real API > should maintain real API functionality after modular refactoring
610
- Recorded request for token_74700d80: 12/200 requests
611
-
612
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should include enhanced cache metrics in real diagnostic collection 255ms
613
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should configure output formatter via set_output_format tool 10ms
614
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > MCP Server Functionality > should surface validation errors for invalid inputs 10ms
615
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Modular Architecture Integration with Real API > should maintain real API functionality after modular refactoring
616
- Rate limit check for token_74700d80: 12/200 requests, remaining: 188, limited: false
617
- [INFO] ynab:get_user | SUCCESS | 92ms | rate_limit_remaining:188
618
-
619
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Modular Architecture Integration with Real API > should maintain real API functionality after modular refactoring
620
- Rate limit check for token_74700d80: 12/200 requests, remaining: 188, limited: false
621
-
622
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Modular Architecture Integration with Real API > should maintain real API functionality after modular refactoring
623
- Recorded request for token_74700d80: 13/200 requests
624
-
625
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Modular Architecture Integration with Real API > should maintain real API functionality after modular refactoring
626
- Rate limit check for token_74700d80: 13/200 requests, remaining: 187, limited: false
627
- [INFO] ynab:list_budgets | SUCCESS | 1ms | rate_limit_remaining:187
628
-
629
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Modular Architecture Integration with Real API > should maintain real API functionality after modular refactoring
630
- Rate limit check for token_74700d80: 13/200 requests, remaining: 187, limited: false
631
-
632
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Modular Architecture Integration with Real API > should maintain real API functionality after modular refactoring
633
- Recorded request for token_74700d80: 14/200 requests
634
-
635
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Modular Architecture Integration with Real API > should maintain real API functionality after modular refactoring
636
- Rate limit check for token_74700d80: 14/200 requests, remaining: 186, limited: false
637
- [INFO] ynab:diagnostic_info | SUCCESS | 1ms | rate_limit_remaining:186
638
-
639
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Modular Architecture Integration with Real API > should handle modular service errors gracefully in integration
640
- Rate limit check for token_74700d80: 14/200 requests, remaining: 186, limited: false
641
- [ERROR] ynab:get_budget | FAILED | 1ms | rate_limit_remaining:186 | error:"Validation failed: Validation error: Invalid input: expected string, received undefined at "budget_id""
642
-
643
- 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
644
- Rate limit check for token_74700d80: 14/200 requests, remaining: 186, limited: false
645
-
646
- 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
647
- Recorded request for token_74700d80: 15/200 requests
648
-
649
- 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
650
- Rate limit check for token_74700d80: 15/200 requests, remaining: 185, limited: false
651
- [INFO] ynab:list_budgets | SUCCESS | 1ms | rate_limit_remaining:185
652
-
653
- 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
654
- Rate limit check for token_74700d80: 15/200 requests, remaining: 185, limited: false
655
-
656
- 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
657
- Recorded request for token_74700d80: 16/200 requests
658
-
659
- ✓  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
660
- ✓  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
661
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should handle real YNAB API calls with budget resolution errors 5ms
662
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should handle real YNAB API calls with invalid budget ID 5ms
663
- 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
664
- Rate limit check for token_74700d80: 16/200 requests, remaining: 184, limited: false
665
- [INFO] ynab:set_default_budget | SUCCESS | 174ms | rate_limit_remaining:184
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
- Rate limit check for token_74700d80: 16/200 requests, remaining: 184, limited: false
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
- Recorded request for token_74700d80: 17/200 requests
672
-
673
- 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
674
- Rate limit check for token_74700d80: 17/200 requests, remaining: 183, limited: false
675
- [INFO] ynab:list_accounts | SUCCESS | 6ms | rate_limit_remaining:183
676
-
677
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should handle real API errors properly with budget resolution
678
- Rate limit check for token_74700d80: 17/200 requests, remaining: 183, limited: false
679
-
680
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should handle real API errors properly with budget resolution
681
- Recorded request for token_74700d80: 18/200 requests
682
-
683
- ✓  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 188ms
684
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should handle real API errors properly with budget resolution
685
- Rate limit check for token_74700d80: 18/200 requests, remaining: 182, limited: false
686
- [INFO] ynab:list_accounts | SUCCESS | 100ms | rate_limit_remaining:182
687
-
688
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should handle real API errors properly with budget resolution
689
- ⏭️ Skipping test due to YNAB API rate limit
690
-
691
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should maintain performance with real API calls and budget resolution
692
- Rate limit check for token_74700d80: 18/200 requests, remaining: 182, limited: false
693
-
694
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should maintain performance with real API calls and budget resolution
695
- Recorded request for token_74700d80: 19/200 requests
696
-
697
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should maintain performance with real API calls and budget resolution
698
- Rate limit check for token_74700d80: 19/200 requests, remaining: 181, limited: false
699
- [INFO] ynab:list_budgets | SUCCESS | 1ms | rate_limit_remaining:181
700
-
701
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should maintain performance with real API calls and budget resolution
702
- Rate limit check for token_74700d80: 19/200 requests, remaining: 181, limited: false
703
-
704
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should maintain performance with real API calls and budget resolution
705
- Recorded request for token_74700d80: 20/200 requests
706
-
707
- ↓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should handle real API errors properly with budget resolution 107ms
708
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should maintain performance with real API calls and budget resolution
709
- Rate limit check for token_74700d80: 20/200 requests, remaining: 180, limited: false
710
- [INFO] ynab:set_default_budget | SUCCESS | 179ms | rate_limit_remaining:180
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: 20/200 requests, remaining: 180, limited: false
714
- Rate limit check for token_74700d80: 20/200 requests, remaining: 180, limited: false
715
- Rate limit check for token_74700d80: 20/200 requests, remaining: 180, limited: false
716
- Recorded request for token_74700d80: 21/200 requests
717
- Recorded request for token_74700d80: 22/200 requests
718
- Recorded request for token_74700d80: 23/200 requests
719
-
720
- stderr | src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should maintain performance with real API calls and budget resolution
721
- Rate limit check for token_74700d80: 23/200 requests, remaining: 177, limited: false
722
- [INFO] ynab:list_accounts | SUCCESS | 23ms | rate_limit_remaining:177
723
- Rate limit check for token_74700d80: 23/200 requests, remaining: 177, limited: false
724
- [INFO] ynab:list_categories | SUCCESS | 23ms | rate_limit_remaining:177
725
- Rate limit check for token_74700d80: 23/200 requests, remaining: 177, limited: false
726
- [INFO] ynab:list_payees | SUCCESS | 24ms | rate_limit_remaining:177
727
-
728
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should maintain performance with real API calls and budget resolution 213ms
729
- ✓  integration:domain  src/server/__tests__/YNABMCPServer.integration.test.ts > YNABMCPServer > Budget Resolution Integration Tests > should handle security middleware with budget resolution errors 8ms
730
- ✓  integration:domain  src/tools/reconciliation/__tests__/executor.integration.test.ts > Reconciliation Executor - Bulk Create Integration > creates 10 transactions via bulk mode 3832ms
731
- ✓  integration:domain  src/tools/reconciliation/__tests__/executor.integration.test.ts > Reconciliation Executor - Bulk Create Integration > reports duplicates when import IDs already exist 1093ms
732
- ✓  integration:domain  src/tools/reconciliation/__tests__/executor.integration.test.ts > Reconciliation Executor - Bulk Create Integration > processes 150 transactions across multiple chunks 34373ms
733
- stdout | src/tools/reconciliation/__tests__/executor.integration.test.ts > Reconciliation Executor - Bulk Create Integration > processes 20 transactions in under 8 seconds
734
- Bulk mode (20 txns): 695ms
735
-
736
- ✓  integration:domain  src/tools/reconciliation/__tests__/executor.integration.test.ts > Reconciliation Executor - Bulk Create Integration > processes 20 transactions in under 8 seconds 4441ms
737
- ✓  integration:domain  src/tools/reconciliation/__tests__/executor.integration.test.ts > Reconciliation Executor - Bulk Create Integration > propagates API errors for invalid account IDs 199ms
738
- stderr | src/tools/reconciliation/__tests__/executor.integration.test.ts > Reconciliation Executor - Bulk Create Integration > skips work when a rate limit error is detected
739
- ⏭️ Skipping test due to YNAB API rate limit
740
-
741
- ✓  integration:domain  src/tools/reconciliation/__tests__/executor.integration.test.ts > Reconciliation Executor - Bulk Create Integration > skips work when a rate limit error is detected 103ms
742
-
743
-  Test Files  12 passed | 11 skipped (23)
744
-  Tests  134 passed | 50 skipped (188)
745
-  Start at  22:01:16
746
-  Duration  51.92s (transform 3.29s, setup 0ms, collect 50.54s, tests 53.04s, environment 38ms, prepare 7.02s)
747
-
748
-
749
- 📊 Test results written to test-results/
750
- - summary.json (overview)
751
- - *-tests.json (1 project file(s))
752
- - passed-tests-summary.json
753
- - index.html (interactive report)
754
-
755
- 💡 test-results.json contains a pointer to the detailed results
756
-  HTML  Report is generated
757
-  You can run npx vite preview --outDir test-results to see the test results.