@dizzlkheinz/ynab-mcpb 0.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (435) hide show
  1. package/.chunkhound.json +11 -0
  2. package/.code/agents/0427d95e-edca-431f-a214-5e53264e29c4/error.txt +8 -0
  3. package/.code/agents/0d675174-d1e1-41c3-9975-4c2e275819a9/error.txt +3 -0
  4. package/.code/agents/0d8c5afd-4787-422b-abf8-2e5943fc7e67/error.txt +3 -0
  5. package/.code/agents/0ec34a70-ed5d-4b9e-bee4-bb0e4cccbc4b/error.txt +1 -0
  6. package/.code/agents/0ef51a21-1ab1-49d7-9561-0eaa43875ebc/error.txt +12 -0
  7. package/.code/agents/15db95d7-abad-4b4d-9c3b-8446089cb61d/error.txt +1 -0
  8. package/.code/agents/19ab9acb-f675-4ff0-902a-09a5476f8149/error.txt +1 -0
  9. package/.code/agents/1ef7e12d-f6ff-4897-8a9b-152d523d898e/error.txt +5 -0
  10. package/.code/agents/2465/exec-call_lroN9KKzJVWC7t5423DK1nT9.txt +1453 -0
  11. package/.code/agents/28edb6fe-95a9-41a0-ae69-aa0100d26c0c/error.txt +8 -0
  12. package/.code/agents/2ae40cf5-b4bf-42e2-92bf-7ea350a7755e/error.txt +9 -0
  13. package/.code/agents/2bfc4e1f-ac4b-45a5-b6df-bf89d4dbb54c/error.txt +1 -0
  14. package/.code/agents/2e2e1134-eff0-49be-ba25-8e2c3468a564/error.txt +5 -0
  15. package/.code/agents/3/exec-call_203OC4TNVkLxW7z2HCVEQ1cM.txt +81 -0
  16. package/.code/agents/3/exec-call_SS5T0XSiXB4LSNzUKTl75wkh.txt +610 -0
  17. package/.code/agents/3322c003-ce5e-48e3-a342-f5049c5bf9a2/error.txt +1 -0
  18. package/.code/agents/391e9b08-1ebc-468c-9bcd-6d0cc3193b37/error.txt +1 -0
  19. package/.code/agents/3ab0aa84-b7bb-4054-afa3-40b8fd7d3be0/error.txt +1 -0
  20. package/.code/agents/3bed368d-50fe-477e-aee3-a6707eaa1ab9/error.txt +3 -0
  21. package/.code/agents/3e40b925-db12-442f-8d7a-a25fc69a6672/error.txt +8 -0
  22. package/.code/agents/414d5776-cf58-41f3-9328-a6daed503a50/error.txt +5 -0
  23. package/.code/agents/42687751-4565-4610-b240-67835b17d861/error.txt +1 -0
  24. package/.code/agents/46b98876-1a39-43c9-9e2f-507ca6d47335/error.txt +9 -0
  25. package/.code/agents/4a7d9491-b26f-43dd-850d-2ecdc49b5d1b/error.txt +1 -0
  26. package/.code/agents/4e60f00a-1b3e-447f-87f3-7faf9deddec3/error.txt +13 -0
  27. package/.code/agents/5138fc1c-4d49-4b74-a7da-ccdb3a8e44e7/error.txt +14 -0
  28. package/.code/agents/521cff39-a7a3-42e5-a557-134f0f7daaa0/error.txt +5 -0
  29. package/.code/agents/53302dc5-3857-4413-9a47-9e0f64a51dc4/error.txt +5 -0
  30. package/.code/agents/567c7c2e-6a6f-4761-a08d-d36deeb2e0ac/error.txt +5 -0
  31. package/.code/agents/57b00845-80dc-47c9-953c-3028d16275d6/error.txt +3 -0
  32. package/.code/agents/593d9005-c2a5-48fd-8813-ece0d3f2de96/error.txt +1 -0
  33. package/.code/agents/5a112e66-0e1a-42f9-877c-53af56ea3551/error.txt +1 -0
  34. package/.code/agents/5b05e8ed-7788-4738-b7ee-9faa8180f992/error.txt +5 -0
  35. package/.code/agents/5f888d6f-d7ca-4ac8-be23-9ea1bf753951/error.txt +5 -0
  36. package/.code/agents/607db3ab-e4b0-435b-b497-93e9aa525549/error.txt +8 -0
  37. package/.code/agents/67dcb2a2-900f-4c78-b3fc-80b5213e0ddf/error.txt +8 -0
  38. package/.code/agents/69ad848c-4e98-49b3-b16c-0094ac2d1759/error.txt +5 -0
  39. package/.code/agents/6c9cfc5f-0d0b-445c-b121-9f60082c4f70/error.txt +1 -0
  40. package/.code/agents/6f6f8f77-4ab0-4f6e-9f30-40e8be0bd8f5/error.txt +1 -0
  41. package/.code/agents/72a7cde4-fa8a-4024-9038-27faa550539b/error.txt +1 -0
  42. package/.code/agents/7b48335c-8247-43aa-9949-5f820ba8e199/error.txt +1 -0
  43. package/.code/agents/80944249-bea9-4ac5-87de-a666c4df306e/error.txt +1 -0
  44. package/.code/agents/826099df-1b66-4186-a915-7eb59f9db19d/error.txt +5 -0
  45. package/.code/agents/8291d158-18a8-4a92-b799-4e9a4d9cce88/error.txt +1 -0
  46. package/.code/agents/82fb71a3-20fb-4341-804a-a2fc900f95bc/error.txt +1 -0
  47. package/.code/agents/855790ea-54ee-43e4-8209-a66994e37590/error.txt +1 -0
  48. package/.code/agents/88ce3a2e-04f2-42be-9062-bf97aa798da0/error.txt +3 -0
  49. package/.code/agents/9a17e398-b6ed-4218-bb55-bc64a8d38ce8/error.txt +8 -0
  50. package/.code/agents/9a4f4bfc-a2a6-4f40-a896-9335b41a7ed1/error.txt +1 -0
  51. package/.code/agents/9b633e55-ef84-47d6-94bb-fd3dd172ad97/error.txt +1 -0
  52. package/.code/agents/9b81f3ab-c72b-4a81-9a8f-28a49ddba84a/error.txt +8 -0
  53. package/.code/agents/a35daf29-b2d1-4aef-9b42-dad63a76bd47/error.txt +3 -0
  54. package/.code/agents/a81990cc-69ee-44d2-b907-17403c9bc5d7/error.txt +5 -0
  55. package/.code/agents/ab56260a-4a83-4ad4-9410-f88a23d6520a/error.txt +1 -0
  56. package/.code/agents/ad722c31-2d1d-45f7-bae2-3f02ca455b60/error.txt +1 -0
  57. package/.code/agents/b62e8690-3324-4b97-9309-731bee79416b/error.txt +5 -0
  58. package/.code/agents/baf60a3a-752b-4ad8-99d6-df32423ed2eb/error.txt +1 -0
  59. package/.code/agents/be049042-7dcb-4ac8-9beb-c8f1aea67742/error.txt +14 -0
  60. package/.code/agents/bed1dcb4-bfce-4a9f-8594-0f994962aafd/error.txt +1 -0
  61. package/.code/agents/c324a6cf-e935-4ede-9529-b3ebc18e8d6b/error.txt +5 -0
  62. package/.code/agents/c37c06ff-dfe3-43f2-9bbc-3ec73ec8f41d/error.txt +5 -0
  63. package/.code/agents/c8cd6671-433a-456b-9f88-e51cb2df6bfc/error.txt +11 -0
  64. package/.code/agents/ca2ccb67-2f24-428e-b27d-9365beadd140/error.txt +1 -0
  65. package/.code/agents/cf08c0c8-e7f0-423e-93ba-547e8e818340/error.txt +8 -0
  66. package/.code/agents/d579c74f-874b-40a4-9d56-ced1eb6a701d/error.txt +1 -0
  67. package/.code/agents/df412c98-7378-4deb-8e1e-76c416931181/error.txt +3 -0
  68. package/.code/agents/e5134eb3-2af4-45b0-8998-051cb4afdb45/error.txt +3 -0
  69. package/.code/agents/e6308471-aa45-4e9e-9496-2e9404164d97/error.txt +8 -0
  70. package/.code/agents/e7bd8bc7-23fb-4f46-98dc-b0dcf11b75a1/error.txt +1 -0
  71. package/.code/agents/e92bec35-378d-4fe1-8ac0-6e1bb3c86911/error.txt +5 -0
  72. package/.code/agents/ed918fbf-2dc4-4aa2-bfc5-04b65d9471ea/error.txt +1 -0
  73. package/.code/agents/ef1d756f-b272-48fc-8729-f05c494674f7/error.txt +1 -0
  74. package/.code/agents/ef359853-0249-4e41-a804-c0fc459fe456/error.txt +1 -0
  75. package/.code/agents/effc7b4a-4b90-40a0-8c86-a7a99d2d5fd2/error.txt +1 -0
  76. package/.code/agents/fa15f8d5-8359-4a8b-83a3-2f2056b3ff40/error.txt +3 -0
  77. package/.code/agents/fbef4193-eadf-4c8a-83ff-4878a6310f25/error.txt +8 -0
  78. package/.code/agents/fd0a4b4a-fda4-4964-a6d6-2b8a2da387c6/error.txt +1 -0
  79. package/.dxtignore +57 -0
  80. package/.env.example +44 -0
  81. package/.gemini/settings.json +8 -0
  82. package/.github/ISSUE_TEMPLATE/bug_report.md +41 -0
  83. package/.github/ISSUE_TEMPLATE/config.yml +5 -0
  84. package/.github/ISSUE_TEMPLATE/feature_request.md +24 -0
  85. package/.github/ISSUE_TEMPLATE/release_checklist.md +31 -0
  86. package/.github/pull_request_template.md +41 -0
  87. package/.github/workflows/ci-tests.yml +41 -0
  88. package/.github/workflows/claude-code-review.yml +57 -0
  89. package/.github/workflows/claude.yml +50 -0
  90. package/.github/workflows/full-integration.yml +22 -0
  91. package/.github/workflows/pr-description-check.yml +88 -0
  92. package/.github/workflows/publish.yml +33 -0
  93. package/.github/workflows/release.yml +89 -0
  94. package/.mcpbignore +58 -0
  95. package/.prettierignore +10 -0
  96. package/.prettierrc.json +10 -0
  97. package/ADOS-2-Module-1-Complete-Manual.md +757 -0
  98. package/AGENTS.md +36 -0
  99. package/CHANGELOG.md +187 -0
  100. package/CLAUDE.md +414 -0
  101. package/CODEREVIEW_RESPONSE.md +128 -0
  102. package/LICENSE +17 -0
  103. package/NUL +1 -0
  104. package/README.md +222 -0
  105. package/SCHEMA_IMPROVEMENT_SUMMARY.md +120 -0
  106. package/TESTING_NOTES.md +217 -0
  107. package/WARP.md +245 -0
  108. package/accountactivity-merged.csv +149 -0
  109. package/bin/ynab-mcp-server.cjs +4 -0
  110. package/bin/ynab-mcp-server.js +8 -0
  111. package/bundle-analysis.html +13110 -0
  112. package/dist/bundle/index.cjs +124 -0
  113. package/dist/index.d.ts +2 -0
  114. package/dist/index.js +85 -0
  115. package/dist/server/YNABMCPServer.d.ts +264 -0
  116. package/dist/server/YNABMCPServer.js +845 -0
  117. package/dist/server/budgetResolver.d.ts +15 -0
  118. package/dist/server/budgetResolver.js +99 -0
  119. package/dist/server/cacheManager.d.ts +74 -0
  120. package/dist/server/cacheManager.js +306 -0
  121. package/dist/server/config.d.ts +3 -0
  122. package/dist/server/config.js +19 -0
  123. package/dist/server/deltaCache.d.ts +61 -0
  124. package/dist/server/deltaCache.js +206 -0
  125. package/dist/server/deltaCache.merge.d.ts +9 -0
  126. package/dist/server/deltaCache.merge.js +111 -0
  127. package/dist/server/diagnostics.d.ts +90 -0
  128. package/dist/server/diagnostics.js +163 -0
  129. package/dist/server/errorHandler.d.ts +69 -0
  130. package/dist/server/errorHandler.js +524 -0
  131. package/dist/server/prompts.d.ts +31 -0
  132. package/dist/server/prompts.js +205 -0
  133. package/dist/server/rateLimiter.d.ts +27 -0
  134. package/dist/server/rateLimiter.js +82 -0
  135. package/dist/server/requestLogger.d.ts +62 -0
  136. package/dist/server/requestLogger.js +190 -0
  137. package/dist/server/resources.d.ts +39 -0
  138. package/dist/server/resources.js +85 -0
  139. package/dist/server/responseFormatter.d.ts +14 -0
  140. package/dist/server/responseFormatter.js +42 -0
  141. package/dist/server/securityMiddleware.d.ts +87 -0
  142. package/dist/server/securityMiddleware.js +117 -0
  143. package/dist/server/serverKnowledgeStore.d.ts +11 -0
  144. package/dist/server/serverKnowledgeStore.js +42 -0
  145. package/dist/server/toolRegistry.d.ts +85 -0
  146. package/dist/server/toolRegistry.js +272 -0
  147. package/dist/tools/__tests__/deltaTestUtils.d.ts +18 -0
  148. package/dist/tools/__tests__/deltaTestUtils.js +26 -0
  149. package/dist/tools/accountTools.d.ts +37 -0
  150. package/dist/tools/accountTools.js +175 -0
  151. package/dist/tools/budgetTools.d.ts +10 -0
  152. package/dist/tools/budgetTools.js +68 -0
  153. package/dist/tools/categoryTools.d.ts +27 -0
  154. package/dist/tools/categoryTools.js +232 -0
  155. package/dist/tools/compareTransactions/formatter.d.ts +71 -0
  156. package/dist/tools/compareTransactions/formatter.js +97 -0
  157. package/dist/tools/compareTransactions/index.d.ts +30 -0
  158. package/dist/tools/compareTransactions/index.js +160 -0
  159. package/dist/tools/compareTransactions/matcher.d.ts +12 -0
  160. package/dist/tools/compareTransactions/matcher.js +140 -0
  161. package/dist/tools/compareTransactions/parser.d.ts +14 -0
  162. package/dist/tools/compareTransactions/parser.js +430 -0
  163. package/dist/tools/compareTransactions/types.d.ts +27 -0
  164. package/dist/tools/compareTransactions/types.js +1 -0
  165. package/dist/tools/compareTransactions.d.ts +1 -0
  166. package/dist/tools/compareTransactions.js +1 -0
  167. package/dist/tools/deltaFetcher.d.ts +22 -0
  168. package/dist/tools/deltaFetcher.js +137 -0
  169. package/dist/tools/deltaSupport.d.ts +20 -0
  170. package/dist/tools/deltaSupport.js +176 -0
  171. package/dist/tools/exportTransactions.d.ts +17 -0
  172. package/dist/tools/exportTransactions.js +191 -0
  173. package/dist/tools/monthTools.d.ts +16 -0
  174. package/dist/tools/monthTools.js +107 -0
  175. package/dist/tools/payeeTools.d.ts +17 -0
  176. package/dist/tools/payeeTools.js +82 -0
  177. package/dist/tools/reconcileAdapter.d.ts +25 -0
  178. package/dist/tools/reconcileAdapter.js +167 -0
  179. package/dist/tools/reconciliation/analyzer.d.ts +3 -0
  180. package/dist/tools/reconciliation/analyzer.js +567 -0
  181. package/dist/tools/reconciliation/executor.d.ts +94 -0
  182. package/dist/tools/reconciliation/executor.js +611 -0
  183. package/dist/tools/reconciliation/index.d.ts +54 -0
  184. package/dist/tools/reconciliation/index.js +249 -0
  185. package/dist/tools/reconciliation/matcher.d.ts +3 -0
  186. package/dist/tools/reconciliation/matcher.js +160 -0
  187. package/dist/tools/reconciliation/payeeNormalizer.d.ts +6 -0
  188. package/dist/tools/reconciliation/payeeNormalizer.js +77 -0
  189. package/dist/tools/reconciliation/recommendationEngine.d.ts +2 -0
  190. package/dist/tools/reconciliation/recommendationEngine.js +273 -0
  191. package/dist/tools/reconciliation/reportFormatter.d.ts +13 -0
  192. package/dist/tools/reconciliation/reportFormatter.js +214 -0
  193. package/dist/tools/reconciliation/types.d.ts +172 -0
  194. package/dist/tools/reconciliation/types.js +7 -0
  195. package/dist/tools/schemas/outputs/accountOutputs.d.ts +58 -0
  196. package/dist/tools/schemas/outputs/accountOutputs.js +24 -0
  197. package/dist/tools/schemas/outputs/budgetOutputs.d.ts +48 -0
  198. package/dist/tools/schemas/outputs/budgetOutputs.js +15 -0
  199. package/dist/tools/schemas/outputs/categoryOutputs.d.ts +93 -0
  200. package/dist/tools/schemas/outputs/categoryOutputs.js +37 -0
  201. package/dist/tools/schemas/outputs/comparisonOutputs.d.ts +269 -0
  202. package/dist/tools/schemas/outputs/comparisonOutputs.js +181 -0
  203. package/dist/tools/schemas/outputs/index.d.ts +14 -0
  204. package/dist/tools/schemas/outputs/index.js +14 -0
  205. package/dist/tools/schemas/outputs/monthOutputs.d.ts +122 -0
  206. package/dist/tools/schemas/outputs/monthOutputs.js +51 -0
  207. package/dist/tools/schemas/outputs/payeeOutputs.d.ts +34 -0
  208. package/dist/tools/schemas/outputs/payeeOutputs.js +16 -0
  209. package/dist/tools/schemas/outputs/reconciliationOutputs.d.ts +1275 -0
  210. package/dist/tools/schemas/outputs/reconciliationOutputs.js +377 -0
  211. package/dist/tools/schemas/outputs/transactionMutationOutputs.d.ts +717 -0
  212. package/dist/tools/schemas/outputs/transactionMutationOutputs.js +260 -0
  213. package/dist/tools/schemas/outputs/transactionOutputs.d.ts +98 -0
  214. package/dist/tools/schemas/outputs/transactionOutputs.js +49 -0
  215. package/dist/tools/schemas/outputs/utilityOutputs.d.ts +219 -0
  216. package/dist/tools/schemas/outputs/utilityOutputs.js +120 -0
  217. package/dist/tools/schemas/shared/commonOutputs.d.ts +24 -0
  218. package/dist/tools/schemas/shared/commonOutputs.js +27 -0
  219. package/dist/tools/toolCategories.d.ts +32 -0
  220. package/dist/tools/toolCategories.js +32 -0
  221. package/dist/tools/transactionTools.d.ts +315 -0
  222. package/dist/tools/transactionTools.js +1722 -0
  223. package/dist/tools/utilityTools.d.ts +10 -0
  224. package/dist/tools/utilityTools.js +56 -0
  225. package/dist/types/index.d.ts +20 -0
  226. package/dist/types/index.js +16 -0
  227. package/dist/types/toolAnnotations.d.ts +7 -0
  228. package/dist/types/toolAnnotations.js +1 -0
  229. package/dist/utils/amountUtils.d.ts +3 -0
  230. package/dist/utils/amountUtils.js +10 -0
  231. package/dist/utils/dateUtils.d.ts +9 -0
  232. package/dist/utils/dateUtils.js +43 -0
  233. package/dist/utils/money.d.ts +21 -0
  234. package/dist/utils/money.js +51 -0
  235. package/docs/README.md +72 -0
  236. package/docs/assets/examples/reconciliation-with-recommendations.json +68 -0
  237. package/docs/assets/schemas/reconciliation-v2.json +338 -0
  238. package/docs/getting-started/CONFIGURATION.md +175 -0
  239. package/docs/getting-started/INSTALLATION.md +333 -0
  240. package/docs/getting-started/QUICKSTART.md +282 -0
  241. package/docs/guides/ARCHITECTURE.md +650 -0
  242. package/docs/guides/DEPLOYMENT.md +189 -0
  243. package/docs/guides/INTEGRATION_TESTING.md +730 -0
  244. package/docs/guides/TESTING.md +591 -0
  245. package/docs/reconciliation-flow.md +83 -0
  246. package/docs/reference/API.md +1450 -0
  247. package/docs/reference/EXAMPLES.md +946 -0
  248. package/docs/reference/TOOLS.md +348 -0
  249. package/docs/reference/TROUBLESHOOTING.md +481 -0
  250. package/esbuild.config.mjs +68 -0
  251. package/eslint.config.js +49 -0
  252. package/fix-types.sh +17 -0
  253. package/meta.json +12550 -0
  254. package/package.json +105 -0
  255. package/package.json.tmp +105 -0
  256. package/scripts/analyze-bundle.mjs +41 -0
  257. package/scripts/create-pr-description.js +203 -0
  258. package/scripts/generate-mcpb.ps1 +96 -0
  259. package/scripts/run-domain-integration-tests.js +33 -0
  260. package/scripts/run-generate-mcpb.js +29 -0
  261. package/scripts/run-throttled-integration-tests.js +116 -0
  262. package/scripts/test-delta-params.mjs +140 -0
  263. package/scripts/test-recommendations.ts +53 -0
  264. package/scripts/tmpTransaction.ts +48 -0
  265. package/scripts/validate-env.js +122 -0
  266. package/scripts/verify-build.js +105 -0
  267. package/scripts/watch-and-restart.ps1 +50 -0
  268. package/src/__tests__/comprehensive.integration.test.ts +1196 -0
  269. package/src/__tests__/delta.performance.test.ts +80 -0
  270. package/src/__tests__/performance.test.ts +725 -0
  271. package/src/__tests__/setup.ts +449 -0
  272. package/src/__tests__/testRunner.ts +444 -0
  273. package/src/__tests__/testUtils.ts +563 -0
  274. package/src/__tests__/workflows.e2e.test.ts +1675 -0
  275. package/src/index.ts +124 -0
  276. package/src/server/.gitkeep +1 -0
  277. package/src/server/YNABMCPServer.ts +1188 -0
  278. package/src/server/__tests__/YNABMCPServer.integration.test.ts +903 -0
  279. package/src/server/__tests__/YNABMCPServer.test.ts +894 -0
  280. package/src/server/__tests__/budgetResolver.test.ts +425 -0
  281. package/src/server/__tests__/cacheManager.test.ts +880 -0
  282. package/src/server/__tests__/config.test.ts +166 -0
  283. package/src/server/__tests__/deltaCache.merge.test.ts +724 -0
  284. package/src/server/__tests__/deltaCache.swr.test.ts +168 -0
  285. package/src/server/__tests__/deltaCache.test.ts +774 -0
  286. package/src/server/__tests__/diagnostics.test.ts +823 -0
  287. package/src/server/__tests__/errorHandler.integration.test.ts +466 -0
  288. package/src/server/__tests__/errorHandler.test.ts +416 -0
  289. package/src/server/__tests__/prompts.test.ts +354 -0
  290. package/src/server/__tests__/rateLimiter.test.ts +314 -0
  291. package/src/server/__tests__/requestLogger.test.ts +408 -0
  292. package/src/server/__tests__/resources.test.ts +299 -0
  293. package/src/server/__tests__/security.integration.test.ts +426 -0
  294. package/src/server/__tests__/securityMiddleware.test.ts +449 -0
  295. package/src/server/__tests__/server-startup.integration.test.ts +477 -0
  296. package/src/server/__tests__/serverKnowledgeStore.test.ts +174 -0
  297. package/src/server/__tests__/toolRegistry.test.ts +855 -0
  298. package/src/server/budgetResolver.ts +235 -0
  299. package/src/server/cacheManager.ts +503 -0
  300. package/src/server/config.ts +41 -0
  301. package/src/server/deltaCache.merge.ts +149 -0
  302. package/src/server/deltaCache.ts +341 -0
  303. package/src/server/diagnostics.ts +338 -0
  304. package/src/server/errorHandler.ts +756 -0
  305. package/src/server/prompts.ts +291 -0
  306. package/src/server/rateLimiter.ts +156 -0
  307. package/src/server/requestLogger.ts +344 -0
  308. package/src/server/resources.ts +168 -0
  309. package/src/server/responseFormatter.ts +51 -0
  310. package/src/server/securityMiddleware.ts +236 -0
  311. package/src/server/serverKnowledgeStore.ts +91 -0
  312. package/src/server/toolRegistry.ts +489 -0
  313. package/src/tools/.gitkeep +1 -0
  314. package/src/tools/__tests__/accountTools.delta.integration.test.ts +128 -0
  315. package/src/tools/__tests__/accountTools.integration.test.ts +117 -0
  316. package/src/tools/__tests__/accountTools.test.ts +653 -0
  317. package/src/tools/__tests__/budgetTools.delta.integration.test.ts +90 -0
  318. package/src/tools/__tests__/budgetTools.integration.test.ts +134 -0
  319. package/src/tools/__tests__/budgetTools.test.ts +423 -0
  320. package/src/tools/__tests__/categoryTools.delta.integration.test.ts +80 -0
  321. package/src/tools/__tests__/categoryTools.integration.test.ts +295 -0
  322. package/src/tools/__tests__/categoryTools.test.ts +622 -0
  323. package/src/tools/__tests__/compareTransactions/formatter.test.ts +486 -0
  324. package/src/tools/__tests__/compareTransactions/index.test.ts +383 -0
  325. package/src/tools/__tests__/compareTransactions/matcher.test.ts +410 -0
  326. package/src/tools/__tests__/compareTransactions/parser.test.ts +764 -0
  327. package/src/tools/__tests__/compareTransactions.test.ts +342 -0
  328. package/src/tools/__tests__/compareTransactions.window.test.ts +147 -0
  329. package/src/tools/__tests__/deltaFetcher.scheduled.integration.test.ts +76 -0
  330. package/src/tools/__tests__/deltaFetcher.test.ts +270 -0
  331. package/src/tools/__tests__/deltaSupport.test.ts +188 -0
  332. package/src/tools/__tests__/deltaTestUtils.ts +46 -0
  333. package/src/tools/__tests__/exportTransactions.test.ts +213 -0
  334. package/src/tools/__tests__/monthTools.delta.integration.test.ts +80 -0
  335. package/src/tools/__tests__/monthTools.integration.test.ts +174 -0
  336. package/src/tools/__tests__/monthTools.test.ts +523 -0
  337. package/src/tools/__tests__/payeeTools.delta.integration.test.ts +80 -0
  338. package/src/tools/__tests__/payeeTools.integration.test.ts +150 -0
  339. package/src/tools/__tests__/payeeTools.test.ts +445 -0
  340. package/src/tools/__tests__/transactionTools.integration.test.ts +762 -0
  341. package/src/tools/__tests__/transactionTools.test.ts +3521 -0
  342. package/src/tools/__tests__/utilityTools.integration.test.ts +128 -0
  343. package/src/tools/__tests__/utilityTools.test.ts +205 -0
  344. package/src/tools/accountTools.ts +283 -0
  345. package/src/tools/budgetTools.ts +112 -0
  346. package/src/tools/categoryTools.ts +366 -0
  347. package/src/tools/compareTransactions/formatter.ts +163 -0
  348. package/src/tools/compareTransactions/index.ts +228 -0
  349. package/src/tools/compareTransactions/matcher.ts +240 -0
  350. package/src/tools/compareTransactions/parser.ts +557 -0
  351. package/src/tools/compareTransactions/types.ts +60 -0
  352. package/src/tools/compareTransactions.ts +3 -0
  353. package/src/tools/deltaFetcher.ts +278 -0
  354. package/src/tools/deltaSupport.ts +293 -0
  355. package/src/tools/exportTransactions.ts +273 -0
  356. package/src/tools/monthTools.ts +164 -0
  357. package/src/tools/payeeTools.ts +140 -0
  358. package/src/tools/reconcileAdapter.ts +312 -0
  359. package/src/tools/reconciliation/__tests__/adapter.causes.test.ts +122 -0
  360. package/src/tools/reconciliation/__tests__/adapter.test.ts +234 -0
  361. package/src/tools/reconciliation/__tests__/analyzer.test.ts +406 -0
  362. package/src/tools/reconciliation/__tests__/executor.integration.test.ts +366 -0
  363. package/src/tools/reconciliation/__tests__/executor.test.ts +779 -0
  364. package/src/tools/reconciliation/__tests__/matcher.test.ts +650 -0
  365. package/src/tools/reconciliation/__tests__/payeeNormalizer.test.ts +278 -0
  366. package/src/tools/reconciliation/__tests__/recommendationEngine.integration.test.ts +658 -0
  367. package/src/tools/reconciliation/__tests__/recommendationEngine.test.ts +1000 -0
  368. package/src/tools/reconciliation/__tests__/reconciliation.delta.integration.test.ts +151 -0
  369. package/src/tools/reconciliation/__tests__/reportFormatter.test.ts +573 -0
  370. package/src/tools/reconciliation/__tests__/scenarios/adapterCurrency.scenario.test.ts +78 -0
  371. package/src/tools/reconciliation/__tests__/scenarios/extremes.scenario.test.ts +47 -0
  372. package/src/tools/reconciliation/__tests__/scenarios/repeatAmount.scenario.test.ts +61 -0
  373. package/src/tools/reconciliation/__tests__/schemaUrl.test.ts +49 -0
  374. package/src/tools/reconciliation/analyzer.ts +824 -0
  375. package/src/tools/reconciliation/executor.ts +880 -0
  376. package/src/tools/reconciliation/index.ts +400 -0
  377. package/src/tools/reconciliation/matcher.ts +269 -0
  378. package/src/tools/reconciliation/payeeNormalizer.ts +167 -0
  379. package/src/tools/reconciliation/recommendationEngine.ts +506 -0
  380. package/src/tools/reconciliation/reportFormatter.ts +363 -0
  381. package/src/tools/reconciliation/types.ts +314 -0
  382. package/src/tools/schemas/outputs/__tests__/accountOutputs.test.ts +424 -0
  383. package/src/tools/schemas/outputs/__tests__/budgetOutputs.test.ts +310 -0
  384. package/src/tools/schemas/outputs/__tests__/categoryOutputs.test.ts +448 -0
  385. package/src/tools/schemas/outputs/__tests__/comparisonOutputs.test.ts +519 -0
  386. package/src/tools/schemas/outputs/__tests__/dateValidation.test.ts +155 -0
  387. package/src/tools/schemas/outputs/__tests__/discrepancyDirection.test.ts +288 -0
  388. package/src/tools/schemas/outputs/__tests__/monthOutputs.test.ts +478 -0
  389. package/src/tools/schemas/outputs/__tests__/payeeOutputs.test.ts +370 -0
  390. package/src/tools/schemas/outputs/__tests__/reconciliationOutputs.test.ts +401 -0
  391. package/src/tools/schemas/outputs/__tests__/transactionMutationSchemas.test.ts +213 -0
  392. package/src/tools/schemas/outputs/__tests__/transactionOutputs.test.ts +474 -0
  393. package/src/tools/schemas/outputs/__tests__/utilityOutputs.test.ts +333 -0
  394. package/src/tools/schemas/outputs/accountOutputs.ts +137 -0
  395. package/src/tools/schemas/outputs/budgetOutputs.ts +86 -0
  396. package/src/tools/schemas/outputs/categoryOutputs.ts +194 -0
  397. package/src/tools/schemas/outputs/comparisonOutputs.ts +600 -0
  398. package/src/tools/schemas/outputs/index.ts +270 -0
  399. package/src/tools/schemas/outputs/monthOutputs.ts +243 -0
  400. package/src/tools/schemas/outputs/payeeOutputs.ts +105 -0
  401. package/src/tools/schemas/outputs/reconciliationOutputs.ts +796 -0
  402. package/src/tools/schemas/outputs/transactionMutationOutputs.ts +758 -0
  403. package/src/tools/schemas/outputs/transactionOutputs.ts +243 -0
  404. package/src/tools/schemas/outputs/utilityOutputs.ts +411 -0
  405. package/src/tools/schemas/shared/commonOutputs.ts +140 -0
  406. package/src/tools/toolCategories.ts +140 -0
  407. package/src/tools/transactionTools.ts +2509 -0
  408. package/src/tools/utilityTools.ts +90 -0
  409. package/src/types/.gitkeep +1 -0
  410. package/src/types/__tests__/index.test.ts +52 -0
  411. package/src/types/index.ts +67 -0
  412. package/src/types/integration-tests.d.ts +35 -0
  413. package/src/types/toolAnnotations.ts +44 -0
  414. package/src/utils/__tests__/dateUtils.test.ts +170 -0
  415. package/src/utils/__tests__/money.test.ts +189 -0
  416. package/src/utils/amountUtils.ts +32 -0
  417. package/src/utils/dateUtils.ts +108 -0
  418. package/src/utils/money.ts +123 -0
  419. package/test-csv-sample.csv +28 -0
  420. package/test-exports/sample_bank_statement.csv +7 -0
  421. package/test-exports/ynab_account_e9ddc2a6_minimal_1items_2025-11-19_09-04-53.json +23 -0
  422. package/test-exports/ynab_account_e9ddc2a6_minimal_1items_2025-11-19_10-37-42.json +23 -0
  423. package/test-exports/ynab_account_e9ddc2a6_minimal_4items_2025-11-19_09-02-09.json +44 -0
  424. package/test-exports/ynab_account_e9ddc2a6_minimal_6items_2025-11-19_10-37-52.json +58 -0
  425. package/test-exports/ynab_since_2025-11-01_account_4c18e9f0_minimal_14items_2025-11-16_10-07-10.json +115 -0
  426. package/test-reconcile-autodetect.js +40 -0
  427. package/test-reconcile-tool.js +152 -0
  428. package/test-reconcile-with-csv.cjs +89 -0
  429. package/test-statement.csv +8 -0
  430. package/test_debug.js +47 -0
  431. package/test_simple.mjs +16 -0
  432. package/tsconfig.json +31 -0
  433. package/tsconfig.prod.json +18 -0
  434. package/vitest-reporters/split-json-reporter.ts +211 -0
  435. package/vitest.config.ts +96 -0
@@ -0,0 +1 @@
1
+ Failed to execute code-gpt-5-codex: program not found
@@ -0,0 +1 @@
1
+ Failed to execute code-gpt-5-codex: batch file arguments are invalid
@@ -0,0 +1 @@
1
+ Failed to execute code-gpt-5-codex: batch file arguments are invalid
@@ -0,0 +1,3 @@
1
+ Command failed: Error loading configuration: config profile `You are assisting on the ynab-mcp-dxt repo. Draft an actionable implementation plan for docs/reconciliation-flow.md covering schema enforcement via ReconcileAccountSchema, CSV normalization/window detection, Phase 1 newest→oldest driver, Phase 2 sanity pass, finalize/audit flow, leftover reporting. Reference src/server, src/tools, src/utils for placement; outline data models, tolerances, logging/audit flows, and Vitest testing strategy.
2
+
3
+ [Running in read-only mode - no modifications allowed]` not found
@@ -0,0 +1,8 @@
1
+ Command failed: error: unexpected argument '--allowedTools' found
2
+
3
+ tip: to pass '--allowedTools' as a value, use '-- --allowedTools'
4
+
5
+ Usage: code [OPTIONS] [PROMPT]
6
+ code [OPTIONS] [PROMPT] <COMMAND>
7
+
8
+ For more information, try '--help'.
@@ -0,0 +1,5 @@
1
+ Command failed: Error loading configuration: config profile `Context: Repo: ynab-mcp-dxt. Source doc: docs/reconciliation-flow.md (automated reconciliation flow). Need vdocs page with front matter, prerequisites, schema contracts, algorithm phases, config toggles, logging/audit, leftover escalation, testing hooks + cross-links. Output needs numbered steps with rationale and noted open questions/validation.
2
+
3
+ Agent: Lay out a detailed documentation plan for vdocs/reconciliation-flow.md.
4
+
5
+ [Running in read-only mode - no modifications allowed]` not found
@@ -0,0 +1 @@
1
+ Failed to execute code-gpt-5: program not found
@@ -0,0 +1,9 @@
1
+ Command failed: Error loading configuration: config profile `You are collaborating on ynab-mcp-dxt (TypeScript MCP host for YNAB automation). Repository guidelines: docs live under docs/, TypeScript source in src/, tests under src/__tests__ using Vitest, commands like npm run dev/build/test, formatting with Prettier (2-space indent, 100 cols) and ESLint. Documentation changes should highlight verification steps and cross-linking to reference docs.
2
+
3
+ Target file: docs/reconciliation-flow.md (Automated Reconciliation Flow). Current content already outlines prerequisites, schema/data contracts, configuration knobs, logging/auditability, six numbered steps (input validation, statement pass, sanity pass, finalize, leftover escalation, telemetry), and testing hooks. Each step lists rationale, what happens, validation, and open questions. Open issues include: whether to persist detected CSV formats, adaptive confidence thresholds, previewing un-cleared transactions in dry-run, enforcing statement_date, escalation hooks for leftover volume, telemetry snapshot privacy.
4
+
5
+ Task: produce an actionable improvement plan for updating docs/reconciliation-flow.md so it stays authoritative for engineers and assistant builders. Consider structure, clarity, missing cross references, how to resolve or capture the open questions, alignment with schemas (docs/schemas/reconciliation-v2.json, reference/API.md#reconcile_account, reference/TOOLS.md#reconcile_account), and ensuring testing guidance matches current tooling (test-reconcile-*.js, npm run test:comprehensive). Identify concrete edits, data you would need, and validation steps. Prefer lightweight, iterative documentation changes over large rewrites. Output: numbered plan with rationale for each step, referencing specific sections/subsections to touch, and proposed verification (e.g., linting/formatting checks).
6
+
7
+ Deliver rich reasoning so we can synthesize multiple viewpoints later.
8
+
9
+ [Running in read-only mode - no modifications allowed]` not found
@@ -0,0 +1 @@
1
+ Failed to execute code-gpt-5-codex: program not found
@@ -0,0 +1,13 @@
1
+ Command failed: Error loading configuration: config profile `Context: Repo: ynab-mcp-dxt (TypeScript MCP host). Docs live in docs/, code in src/, Vitest tests in src/__tests__. Format via Prettier (2-space) and ESLint; docs should cross-link reference/API.md#reconcile_account, reference/TOOLS.md#reconcile_account, docs/schemas/reconciliation-v2.json, and guides/TESTING.md.
2
+
3
+ Target doc snapshot (last updated 2025-11-12) already covers: prerequisites, schema/data contracts, configuration knobs, logging/auditability, six steps (input validation, newest→oldest statement pass, cleared sanity pass, finalize, leftover escalation, telemetry feedback), plus testing hooks. Open questions noted per step: persisting detected CSV format, adaptive confidence thresholds for large ledgers, exposing dry-run previews for un-cleared transactions, enforcing statement_date before finalization, escalation triggers when leftovers exceed a threshold, telemetry snapshot privacy.
4
+
5
+ Goal: plan incremental edits/additions to keep doc authoritative for engineers + assistant builders. Address structure, clarity, unresolved open questions (decide whether to resolve, defer, or log follow-ups), and ensure examples/tests reference current tooling (test-reconcile-*.js, npm run test:comprehensive). Mention verification steps (spellcheck? npm run format:check?). Provide numbered steps with rationale, referencing sections to touch.
6
+
7
+ Constraints: prefer lightweight doc changes over rewrites; keep automation notes accurate; ensure any new sections mention validation (unit/integration/e2e).
8
+
9
+ Agent: Produce an actionable plan to improve docs/reconciliation-flow.md for accuracy, clarity, and test guidance.
10
+
11
+ Files to consider: docs/reconciliation-flow.md
12
+
13
+ [Running in read-only mode - no modifications allowed]` not found
@@ -0,0 +1,14 @@
1
+ Command failed: Error loading configuration: config profile `Repo: ynab-mcp-dxt (TypeScript MCP host). Need a concrete action plan for writing `vdocs/reconciliation-flow.md`, migrating and expanding the current draft that lives in `docs/reconciliation-flow.md`.
2
+
3
+ Current draft outline:
4
+ 1. Automated Reconciliation Flow (Newest -> Oldest) overview.
5
+ 2. Sections covering: Input validation & window detection; Phase 1 statement pass; Phase 2 cleared-YNA B sanity pass; Finalize reconciliation; Escalate leftovers; Next Implementation Steps list (schema enforcement, CSV normalization, Phase 1 driver, Phase 2 logic, finalize & audit, leftover reporting).
6
+
7
+ New vdocs page requirements:
8
+ - Structured for internal engineers: include prerequisites, data contracts (schemas like ReconcileAccountSchema), sequence/flow diagrams (even placeholders), success vs abort criteria, configuration knobs (tolerances, +/-5 day drift, confidence thresholds), logging/audit expectations, leftover escalation details, testing hooks, and cross-links to relevant modules under `src/tools` or `src/utils`.
9
+ - Should live in `vdocs/` with front matter metadata.
10
+ - Reader journey should flow from overview -> phases -> data structures -> algorithms -> edge cases -> verification.
11
+
12
+ Deliverable from you: a step-by-step plan (not the doc itself) listing concrete actions/files to inspect, content blocks to add, validation steps, and open questions. Ordered steps with rationale please.
13
+
14
+ [Running in read-only mode - no modifications allowed]` not found
@@ -0,0 +1,5 @@
1
+ Command failed: Error loading configuration: config profile `Context: Repo: ynab-mcp-dxt. Reference: docs/reconciliation-flow.md describing the automated reconciliation flow (input validation, phase 1 newest→oldest, phase 2 sanity, finalize, leftovers, backlog). New vdocs page must add front matter, prerequisites (env vars, services), schema/data contracts (ReconcileAccountSchema, CSV parser outputs), configuration knobs (±5 day drift, tolerances, confidence thresholds), logging/audit guidance, leftover escalation UX, testing hooks (Vitest suites, fixtures), and cross-links to src/tools and src/utils modules. Output: ordered action steps pointing to relevant files/modules plus any open questions/validation items. Audience: internal engineers/reviewers.
2
+
3
+ Agent: Create a multi-step plan to author vdocs/reconciliation-flow.md with rationale for each step.
4
+
5
+ [Running in read-only mode - no modifications allowed]` not found
@@ -0,0 +1,5 @@
1
+ Command failed: Error loading configuration: config profile `Context: Repository: ynab-mcp-dxt (TypeScript MCP host, docs in docs/, tests via Vitest). Target file docs/reconciliation-flow.md documents the automated YNAB reconciliation flow with sections on prerequisites, schema/data contracts, configuration knobs, logging/auditability, six execution steps (each with rationale/validation/open questions), and testing hooks. Open questions include persisting CSV format hints, adaptive confidence thresholds, dry-run previews, statement_date enforcement, SLA/escalations, and telemetry snapshots. Writing conventions: Prettier 2-space indent, 100-char width, relative doc links. Goal: produce a numbered plan (5-8 steps) detailing how to update the doc for clarity, operator readiness, and cross-link accuracy. Each step should cover objectives, concrete edits/research (e.g., confirm schema details in src/tools/reconciliation/index.ts, reference docs/guides/TESTING.md), dependencies/stakeholders, and acceptance criteria. Note any diagrams/tables or validation artifacts to add. Treat this as the blueprint before editing the file.
2
+
3
+ Agent: Develop a multistep improvement plan for docs/reconciliation-flow.md
4
+
5
+ [Running in read-only mode - no modifications allowed]` not found
@@ -0,0 +1,5 @@
1
+ Command failed: Error loading configuration: config profile `Context: Repository: ynab-mcp-dxt (TypeScript MCP host). Current reference: docs/reconciliation-flow.md (Automated Reconciliation Flow covering validation, phase 1 newest→oldest pass, phase 2 sanity pass, finalize, leftovers, implementation backlog). New vdocs page must include: 1) front matter + navigation metadata, 2) prerequisites/env + services + .env/YNAB_ACCESS_TOKEN requirements, 3) data contracts (ReconcileAccountSchema fields, CSV parsing outputs, intermediate cleared_delta state, audit log payloads), 4) step-by-step algorithm phases with success/abort criteria, 5) configuration knobs (amount tolerances, ±5-day drift, confidence thresholds, automation toggles), 6) logging/audit + reporting expectations, 7) leftover escalation UX + reporting, 8) testing hooks (Vitest suites under src/__tests__, fixtures in test-exports/, test-results artifacts) and cross-links to src/tools/** files. Deliverable: plan only, no final prose. List repo files to inspect for each step and any open questions/validation tasks.
2
+
3
+ Agent: Develop a detailed plan (ordered steps, each with rationale) for authoring vdocs/reconciliation-flow.md.
4
+
5
+ [Running in read-only mode - no modifications allowed]` not found
@@ -0,0 +1,3 @@
1
+ Command failed: Error loading configuration: config profile `You are assisting on the ynab-mcp-dxt repository (TypeScript MCP host for YNAB automations). We need a detailed implementation plan for the automated reconciliation workflow described in docs/reconciliation-flow.md. Focus on translating the narrative into actionable engineering steps: schema enforcement via ReconcileAccountSchema, CSV normalization/window detection enhancements, Phase 1 newest→oldest driver, Phase 2 sanity pass, finalize/audit flow, and leftover reporting. Reference existing repo structure (src/server, src/tools, src/utils) and note where new code or refactors should land, potential dependencies, data models, and testing strategy using Vitest. Call out logging, tolerances, and audit trail considerations. Propose milestones with rationale and checkpoints. Output should be a concise, structured plan ready for execution.
2
+
3
+ [Running in read-only mode - no modifications allowed]` not found
@@ -0,0 +1 @@
1
+ Failed to spawn sandboxed agent: batch file arguments are invalid
@@ -0,0 +1 @@
1
+ Failed to execute code-gpt-5-codex: program not found
@@ -0,0 +1,5 @@
1
+ Command failed: Error loading configuration: config profile `Context: Repo: ynab-mcp-dxt. Source doc: docs/reconciliation-flow.md. Requirements: front matter, prerequisites/env, schema/data contracts, algorithm details, config knobs, logging/audit, leftover escalation, testing hooks & cross-links. Output: ordered steps with rationale + open questions.
2
+
3
+ Agent: Produce a detailed plan for vdocs/reconciliation-flow.md update.
4
+
5
+ [Running in read-only mode - no modifications allowed]` not found
@@ -0,0 +1,5 @@
1
+ Command failed: Error loading configuration: config profile `Plan improvements for docs/reconciliation-flow.md. Context: ynab-mcp-dxt repo, docs reside under docs/, code under src/, Vitest tests in src/__tests__, Prettier 2-space and ESLint enforce style. The reconciliation flow doc already describes prerequisites, schema, configuration knobs, logging, six execution steps, and testing hooks. It lists open questions about persisting detected CSV format, adaptive confidence thresholds, exposing dry-run previews, enforcing statement_date, triggering escalations for large leftovers, and telemetry snapshot privacy. Goal: craft an actionable numbered plan describing concrete documentation edits, decisions on theses open questions (resolve, defer, or call out follow-up), cross-link requirements (docs/schemas/reconciliation-v2.json, reference/API.md#reconcile_account, reference/TOOLS.md#reconcile_account, guides/TESTING.md), and verification guidance (formatting/linting/tests). Prefer incremental updates over full rewrites and keep automation behavior accurate.
2
+
3
+ Files to consider: docs/reconciliation-flow.md
4
+
5
+ [Running in read-only mode - no modifications allowed]` not found
@@ -0,0 +1,8 @@
1
+ Command failed: error: unexpected argument '--allowedTools' found
2
+
3
+ tip: to pass '--allowedTools' as a value, use '-- --allowedTools'
4
+
5
+ Usage: code [OPTIONS] [PROMPT]
6
+ code [OPTIONS] [PROMPT] <COMMAND>
7
+
8
+ For more information, try '--help'.
@@ -0,0 +1,8 @@
1
+ Command failed: error: unexpected argument '--allowedTools' found
2
+
3
+ tip: to pass '--allowedTools' as a value, use '-- --allowedTools'
4
+
5
+ Usage: code [OPTIONS] [PROMPT]
6
+ code [OPTIONS] [PROMPT] <COMMAND>
7
+
8
+ For more information, try '--help'.
@@ -0,0 +1,5 @@
1
+ Command failed: Error loading configuration: config profile `Plan improvements for docs/reconciliation-flow.md. Context: ynab-mcp-dxt repo, docs reside under docs/, code under src/, Vitest tests in src/__tests__, Prettier 2-space and ESLint enforce style. The reconciliation flow doc already describes prerequisites, schema, configuration knobs, logging, six execution steps, and testing hooks. It lists open questions about persisting detected CSV format, adaptive confidence thresholds, exposing dry-run previews, enforcing statement_date, triggering escalations for large leftovers, and telemetry snapshot privacy. Goal: craft an actionable numbered plan describing concrete documentation edits, decisions on theses open questions (resolve, defer, or call out follow-up), cross-link requirements (docs/schemas/reconciliation-v2.json, reference/API.md#reconcile_account, reference/TOOLS.md#reconcile_account, guides/TESTING.md), and verification guidance (formatting/linting/tests). Prefer incremental updates over full rewrites and keep automation behavior accurate.
2
+
3
+ Files to consider: docs/reconciliation-flow.md
4
+
5
+ [Running in read-only mode - no modifications allowed]` not found
@@ -0,0 +1 @@
1
+ Failed to execute code-gpt-5: program not found
@@ -0,0 +1 @@
1
+ Failed to execute code-gpt-5-codex: batch file arguments are invalid
@@ -0,0 +1 @@
1
+ Failed to execute code-gpt-5: program not found
@@ -0,0 +1 @@
1
+ Failed to execute code-gpt-5-codex: program not found
@@ -0,0 +1 @@
1
+ Failed to spawn sandboxed agent: batch file arguments are invalid
@@ -0,0 +1,5 @@
1
+ Command failed: Error loading configuration: config profile `Context: Repo: ynab-mcp-dxt. Reference: docs/reconciliation-flow.md. Required sections: front matter/navigation, prerequisites/env (.env/YNAB token, caches), data contracts (ReconcileAccountSchema, CSV parser outputs, cleared_delta state, audit log payload), algorithm phases (input validation, phase 1 newest→oldest, phase 2 sanity, finalize, escalate) with success/abort criteria, configuration knobs, logging/audit expectations, leftover escalation UX/reporting, testing hooks (Vitest suites + fixtures), cross-links to src/tools and src/utils. Deliverable: plan only plus open questions or validation notes.
2
+
3
+ Agent: Produce an ordered plan (steps with rationale) for documenting vdocs/reconciliation-flow.md.
4
+
5
+ [Running in read-only mode - no modifications allowed]` not found
@@ -0,0 +1 @@
1
+ Failed to execute code-gpt-5-codex: batch file arguments are invalid
@@ -0,0 +1 @@
1
+ Failed to execute code-gpt-5: program not found
@@ -0,0 +1 @@
1
+ Failed to execute code-gpt-5-codex: program not found
@@ -0,0 +1,3 @@
1
+ Command failed: Error loading configuration: config profile `You are assisting on the ynab-mcp-dxt TypeScript repo. Produce an actionable implementation plan for docs/reconciliation-flow.md covering schema enforcement via ReconcileAccountSchema, CSV normalization/window detection, Phase 1 newest→oldest driver, Phase 2 sanity pass, finalize/audit flow, leftover reporting. Reference src/server, src/tools, src/utils for placement; outline data models, tolerances, logging/audit flows, Vitest test strategy.
2
+
3
+ [Running in read-only mode - no modifications allowed]` not found
@@ -0,0 +1,8 @@
1
+ Command failed: error: unexpected argument '--allowedTools' found
2
+
3
+ tip: to pass '--allowedTools' as a value, use '-- --allowedTools'
4
+
5
+ Usage: code [OPTIONS] [PROMPT]
6
+ code [OPTIONS] [PROMPT] <COMMAND>
7
+
8
+ For more information, try '--help'.
@@ -0,0 +1 @@
1
+ Failed to execute code-gpt-5-codex: batch file arguments are invalid
@@ -0,0 +1 @@
1
+ Failed to execute code-gpt-5: program not found
@@ -0,0 +1,8 @@
1
+ Command failed: error: unexpected argument '--allowedTools' found
2
+
3
+ tip: to pass '--allowedTools' as a value, use '-- --allowedTools'
4
+
5
+ Usage: code [OPTIONS] [PROMPT]
6
+ code [OPTIONS] [PROMPT] <COMMAND>
7
+
8
+ For more information, try '--help'.
@@ -0,0 +1,3 @@
1
+ Command failed: Error loading configuration: config profile `You are assisting on the ynab-mcp-dxt repo. Draft an actionable implementation plan for docs/reconciliation-flow.md covering schema enforcement via ReconcileAccountSchema, CSV normalization/window detection, Phase 1 newest→oldest driver, Phase 2 sanity pass, finalize/audit flow, leftover reporting. Reference src/server, src/tools, src/utils for placement; outline data models, tolerances, logging/audit flows, and Vitest testing strategy.
2
+
3
+ [Running in read-only mode - no modifications allowed]` not found
@@ -0,0 +1,5 @@
1
+ Command failed: Error loading configuration: config profile `Context: Repository is ynab-mcp-dxt (TypeScript MCP host). There is an existing draft at docs/reconciliation-flow.md outlining automated reconciliation (input validation, phase 1 newest->oldest, phase 2 sanity pass, finalize, escalate leftovers, next steps). The new vdocs page must add front matter for navigation, prerequisites, data contracts (e.g., ReconcileAccountSchema), flow diagrams or placeholders, explicit success vs abort criteria, configuration knobs (+/- 5 day drift, tolerances, confidence thresholds), logging/audit requirements, leftover escalation detail, testing hooks, and cross-links to relevant modules in src/tools and src/utils. Return steps with rationale, referencing repo files to inspect and validations to perform, plus any open questions.
2
+
3
+ Agent: Produce an ordered action plan for updating vdocs/reconciliation-flow.md documentation.
4
+
5
+ [Running in read-only mode - no modifications allowed]` not found
@@ -0,0 +1 @@
1
+ Failed to execute code-gpt-5-codex: batch file arguments are invalid
@@ -0,0 +1 @@
1
+ Failed to execute code-gpt-5-codex: program not found
@@ -0,0 +1,5 @@
1
+ Command failed: Error loading configuration: config profile `Plan improvements for docs/reconciliation-flow.md. Context: ynab-mcp-dxt repo, docs reside under docs/, code under src/, Vitest tests in src/__tests__, Prettier 2-space and ESLint enforce style. The reconciliation flow doc already describes prerequisites, schema, configuration knobs, logging, six execution steps, and testing hooks. It lists open questions about persisting detected CSV format, adaptive confidence thresholds, exposing dry-run previews, enforcing statement_date, triggering escalations for large leftovers, and telemetry snapshot privacy. Goal: craft an actionable numbered plan describing concrete documentation edits, decisions on theses open questions (resolve, defer, or call out follow-up), cross-link requirements (docs/schemas/reconciliation-v2.json, reference/API.md#reconcile_account, reference/TOOLS.md#reconcile_account, guides/TESTING.md), and verification guidance (formatting/linting/tests). Prefer incremental updates over full rewrites and keep automation behavior accurate.
2
+
3
+ Files to consider: docs/reconciliation-flow.md
4
+
5
+ [Running in read-only mode - no modifications allowed]` not found
@@ -0,0 +1 @@
1
+ Failed to execute code-gpt-5-codex: batch file arguments are invalid
@@ -0,0 +1,14 @@
1
+ Command failed: Error loading configuration: config profile `Plan improvements for docs/reconciliation-flow.md.
2
+ Context:
3
+ - Repo: ynab-mcp-dxt (MCP host for YNAB automation). TypeScript backend under src/ (tools/, utils/, server/, index.ts). Docs live in docs/; built artifacts under dist/.
4
+ - Document in scope: docs/reconciliation-flow.md ("Automated Reconciliation Flow"). Current version (last updated 2025-11-12) describes prerequisites, schema/data contracts, configuration knobs, logging/auditability, numbered steps (validation, statement pass, sanity pass, finalize, leftover escalation, telemetry), and testing hooks. Each step outlines rationale, actions, validation, and open questions.
5
+ - Repo guidelines: Prettier 2-space formatting, ESLint required; tests via Vitest; docs changes should align with reference/API.md, reference/TOOLS.md, guides/TESTING.md, troubleshooting docs. Keep structured payload schema consistent with docs/schemas/reconciliation-v2.json.
6
+ Goal:
7
+ Produce a concrete plan for enhancing docs/reconciliation-flow.md so it is comprehensive, accurate, and actionable for engineers/operators. Address open questions, highlight code areas to verify (e.g., src/tools/reconciliation/index.ts, executor.ts, parser tests), and note any diagrams or examples to add. Include validation steps (tests, scripts) needed after edits.
8
+ Deliverables:
9
+ - Step-by-step plan with rationale.
10
+ - Identify key files / modules to inspect while executing plan.
11
+ - Mention coordination points with related docs or code to keep in sync.
12
+
13
+
14
+ [Running in read-only mode - no modifications allowed]` not found
@@ -0,0 +1 @@
1
+ Failed to execute code-gpt-5-codex: program not found
@@ -0,0 +1,5 @@
1
+ Command failed: Error loading configuration: config profile `Context: Repo: ynab-mcp-dxt. Source notes: docs/reconciliation-flow.md. Requirements: add vdocs front matter, prerequisites, ReconcileAccountSchema + CSV contract, newest→oldest algorithm narrative, config knobs (tolerances, ±5 day drift, confidence thresholds), logging/audit expectations, leftover escalation UX, testing hooks/cross-links. Output: numbered plan with rationale + open questions.
2
+
3
+ Agent: Plan how to evolve vdocs/reconciliation-flow.md (structure, content blocks, references).
4
+
5
+ [Running in read-only mode - no modifications allowed]` not found
@@ -0,0 +1,5 @@
1
+ Command failed: Error loading configuration: config profile `Context: Repo: ynab-mcp-dxt. Reference: docs/reconciliation-flow.md. Required sections: front matter/navigation, prerequisites/env (.env/YNAB token, caches), data contracts (ReconcileAccountSchema, CSV parser outputs, cleared_delta state, audit log payload), algorithm phases (input validation, phase 1 newest→oldest, phase 2 sanity, finalize, escalate) with success/abort criteria, configuration knobs, logging/audit expectations, leftover escalation UX/reporting, testing hooks (Vitest suites + fixtures), cross-links to src/tools and src/utils. Deliverable: plan only plus open questions or validation notes.
2
+
3
+ Agent: Produce an ordered plan (steps with rationale) for documenting vdocs/reconciliation-flow.md.
4
+
5
+ [Running in read-only mode - no modifications allowed]` not found
@@ -0,0 +1,11 @@
1
+ Command failed: Error loading configuration: config profile `We are working in the ynab-mcp-dxt repository (TypeScript MCP host for YNAB tooling). Goal: draft a concrete implementation plan for creating `vdocs/reconciliation-flow.md`, promoting and expanding the current notes stored in `docs/reconciliation-flow.md` (Automated Reconciliation Flow). The existing doc covers input validation & window detection, Phase 1 newest→oldest statement pass, Phase 2 cleared sanity pass, finalize reconciliation, escalate leftovers, plus a "Next Implementation Steps" backlog (schema enforcement, CSV normalization, drivers, audit logging, leftover reporting).
2
+
3
+ Target vdocs page requirements:
4
+ - Lives in `vdocs/` with whatever front matter/navigation metadata the site expects.
5
+ - Audience: internal engineers & reviewers; plan should mention prerequisites (env vars, services), referenced schemas (`ReconcileAccountSchema`, CSV parser outputs), and cross-links to implementation files (likely under `src/tools/reconcileAccount`, `src/utils`, etc.).
6
+ - Sections should walk readers from overview → prerequisites → data contracts (inputs, intermediate state, outputs) → phased algorithm details → configuration knobs (tolerances, ±5-day drift, confidence thresholds) → logging/audit expectations → leftover escalation UX, plus testing hooks/fixtures.
7
+ - Call out diagrams/sequence placeholders, success vs abort criteria, and how to integrate with Vitest suites / `test-results/` artifacts.
8
+
9
+ Deliverable from you: ordered plan steps with rationale, referencing which repo files or modules to inspect/update, plus any open questions or validation tasks. Do not write the doc itself—just the plan to author it.
10
+
11
+ [Running in read-only mode - no modifications allowed]` not found
@@ -0,0 +1 @@
1
+ Failed to execute code-gpt-5-codex: batch file arguments are invalid
@@ -0,0 +1,8 @@
1
+ Command failed: error: unexpected argument '--allowedTools' found
2
+
3
+ tip: to pass '--allowedTools' as a value, use '-- --allowedTools'
4
+
5
+ Usage: code [OPTIONS] [PROMPT]
6
+ code [OPTIONS] [PROMPT] <COMMAND>
7
+
8
+ For more information, try '--help'.
@@ -0,0 +1 @@
1
+ Failed to execute code-gpt-5-codex: batch file arguments are invalid
@@ -0,0 +1,3 @@
1
+ Command failed: Error loading configuration: config profile `You are assisting on the ynab-mcp-dxt repo. Draft an actionable implementation plan for docs/reconciliation-flow.md covering schema enforcement via ReconcileAccountSchema, CSV normalization/window detection, Phase 1 newest→oldest driver, Phase 2 sanity pass, finalize/audit flow, leftover reporting. Reference src/server, src/tools, src/utils for placement; outline data models, tolerances, logging/audit flows, and Vitest testing strategy.
2
+
3
+ [Running in read-only mode - no modifications allowed]` not found
@@ -0,0 +1,3 @@
1
+ Command failed: Error loading configuration: config profile `You are assisting on the ynab-mcp-dxt repo. Draft an actionable implementation plan for docs/reconciliation-flow.md covering schema enforcement via ReconcileAccountSchema, CSV normalization/window detection, Phase 1 newest→oldest driver, Phase 2 sanity pass, finalize/audit flow, leftover reporting. Reference src/server, src/tools, src/utils for placement; outline data models, tolerances, logging/audit flows, and Vitest testing strategy.
2
+
3
+ [Running in read-only mode - no modifications allowed]` not found
@@ -0,0 +1,8 @@
1
+ Command failed: error: unexpected argument '--allowedTools' found
2
+
3
+ tip: to pass '--allowedTools' as a value, use '-- --allowedTools'
4
+
5
+ Usage: code [OPTIONS] [PROMPT]
6
+ code [OPTIONS] [PROMPT] <COMMAND>
7
+
8
+ For more information, try '--help'.
@@ -0,0 +1 @@
1
+ Failed to execute code-gpt-5-codex: batch file arguments are invalid
@@ -0,0 +1,5 @@
1
+ Command failed: Error loading configuration: config profile `Context: Repo: ynab-mcp-dxt (TypeScript). Reference doc: docs/reconciliation-flow.md already captures high-level flow and backlog. The new vdocs page should upgrade structure (front matter, diagrams/placeholders, cross-links to src/tools & src/utils, explicit success vs abort criteria, Vitest/test-results hooks). Deliverable: ordered steps with rationale + open questions.
2
+
3
+ Agent: Create an actionable outline for vdocs/reconciliation-flow.md covering overview, prerequisites, data contracts, algorithm phases, configuration knobs, logging/audit, leftover escalation, and testing guidance.
4
+
5
+ [Running in read-only mode - no modifications allowed]` not found
@@ -0,0 +1 @@
1
+ Failed to execute code-gpt-5-codex: batch file arguments are invalid
@@ -0,0 +1 @@
1
+ Failed to execute code-gpt-5-codex: program not found
@@ -0,0 +1 @@
1
+ Failed to execute code-gpt-5-codex: program not found
@@ -0,0 +1 @@
1
+ Failed to execute code-gpt-5-codex: batch file arguments are invalid
@@ -0,0 +1,3 @@
1
+ Command failed: Error loading configuration: config profile `You are helping document improvements for docs/reconciliation-flow.md in the YNAB MCP DXT repo (TypeScript MCP host). The doc currently explains the automated reconciliation flow (prereqs, schema/contracts, configuration knobs, logging/auditability, six numbered steps, testing hooks). We need a concrete, multi-step plan for editing this document so it becomes clearer, aligned with src/tools/reconciliation/*, and highlights validation plus troubleshooting entry points. Consider structure (TOC, numbered steps, diagrams/ASCII where helpful), schema references to modules (ReconcileAccountSchema, buildReconciliationPayload, executor, etc.), missing sections (failures/escalation, telemetry, examples), and verification work (tests/docs crosslinks). Produce bullet/numbered steps with rationale, pointing to relevant code/docs. Follow repository guidelines (2-space indent, Prettier, lint, Vitest).
2
+
3
+ [Running in read-only mode - no modifications allowed]` not found
@@ -0,0 +1,8 @@
1
+ Command failed: error: unexpected argument '--allowedTools' found
2
+
3
+ tip: to pass '--allowedTools' as a value, use '-- --allowedTools'
4
+
5
+ Usage: code [OPTIONS] [PROMPT]
6
+ code [OPTIONS] [PROMPT] <COMMAND>
7
+
8
+ For more information, try '--help'.
@@ -0,0 +1 @@
1
+ Failed to execute code-gpt-5-codex: batch file arguments are invalid
package/.dxtignore ADDED
@@ -0,0 +1,57 @@
1
+ node_modules/
2
+ src/
3
+ **/__tests__/
4
+ **/*.test.*
5
+ coverage/
6
+ *.log
7
+ .*/
8
+ **/*.map
9
+ tsconfig*.json
10
+ vitest.config.ts
11
+ vitest-reporters/
12
+ eslint.config.js
13
+ test-results.json
14
+ test-results/
15
+ README.md
16
+
17
+ # Sensitive credential files
18
+ .chunkhound.json
19
+ .mcp.json
20
+ .env*
21
+
22
+ # Build metadata
23
+ meta.json
24
+ bundle-analysis.html
25
+
26
+ # Development-only markdown files
27
+ AGENTS.md
28
+ TESTING_NOTES.md
29
+ CODEREVIEW_RESPONSE.md
30
+ SCHEMA_IMPROVEMENT_SUMMARY.md
31
+
32
+ # Test files and data
33
+ test_*.js
34
+ test_*.mjs
35
+ test-*.js
36
+ test-*.cjs
37
+ test-*.csv
38
+ test-exports/
39
+ accountactivity-merged.csv
40
+
41
+ # Temporary and development files
42
+ temp/
43
+ tmp/
44
+ fix-types.sh
45
+ NUL
46
+ package-lock.json
47
+
48
+ # Development plans (keep user-facing docs)
49
+ docs/plans/
50
+ docs/bulk-transaction-operations-plan.md
51
+ docs/delta-request-plan.md
52
+ docs/reconciliation-flow.md
53
+
54
+ # Scripts (not needed for distribution)
55
+ scripts/
56
+
57
+ # keep dist/, manifest.json, CHANGELOG.md, CLAUDE.md, LICENSE, docs/ (except plans)
package/.env.example ADDED
@@ -0,0 +1,44 @@
1
+ # YNAB MCP Server Environment Configuration
2
+ # Copy this file to .env and fill in your actual values
3
+
4
+ # Required: Your YNAB Personal Access Token
5
+ # Get this from: https://app.youneedabudget.com/settings/developer
6
+ YNAB_ACCESS_TOKEN=your_ynab_personal_access_token_here
7
+
8
+ # Optional: Node.js environment (development, production, test)
9
+ NODE_ENV=development
10
+
11
+ # Optional: Logging level (error, warn, info, debug)
12
+ LOG_LEVEL=info
13
+
14
+ # Output formatting controls
15
+ # Minify JSON output returned by tools (default: true)
16
+ YNAB_MCP_MINIFY_OUTPUT=true
17
+ # Number of spaces when pretty printing (used when minify=false)
18
+ YNAB_MCP_PRETTY_SPACES=2
19
+
20
+ # Export settings
21
+ # Directory where exported transaction files are saved
22
+ # Default: Windows/Mac = ~/Downloads, Linux/Unix = ~/Documents (or $XDG_DOCUMENTS_DIR)
23
+ # Examples: C:\Users\YourName\Desktop, /home/user/exports, ./data, ~/Desktop
24
+ YNAB_EXPORT_PATH=
25
+
26
+ # Cache configuration
27
+ # Maximum number of entries in the in-memory cache (default: 1000)
28
+ # Set to 0 to disable caching entirely
29
+ YNAB_MCP_CACHE_MAX_ENTRIES=1000
30
+
31
+ # Default time-to-live for cache entries in milliseconds (default: 300000 = 5 minutes)
32
+ YNAB_MCP_CACHE_DEFAULT_TTL_MS=300000
33
+
34
+ # Default stale-while-revalidate window in milliseconds (default: 120000 = 2 minutes)
35
+ # Used when stale-while-revalidate is explicitly requested but not specified
36
+ YNAB_MCP_CACHE_STALE_MS=120000
37
+
38
+ # Delta Request Feature Flag (Optional)
39
+ # Enable delta requests to reduce API response sizes and improve performance
40
+ # When enabled, the server tracks server_knowledge values and requests only
41
+ # changes since the last fetch (deltas) instead of full datasets
42
+ # Default: false (disabled for safety during initial rollout)
43
+ # Set to 'true' to enable delta requests
44
+ YNAB_MCP_ENABLE_DELTA=false
@@ -0,0 +1,8 @@
1
+ {
2
+ "mcpServers": {
3
+ "chunkhound": {
4
+ "command": "chunkhound",
5
+ "args": ["mcp"]
6
+ }
7
+ }
8
+ }
@@ -0,0 +1,41 @@
1
+ ---
2
+ name: Bug report
3
+ about: Create a report to help us improve
4
+ title: "[Bug]: "
5
+ labels: bug
6
+ assignees: ''
7
+ ---
8
+
9
+ ## Description
10
+
11
+ What happened? A clear and concise description of the bug.
12
+
13
+ ## Steps to Reproduce
14
+
15
+ 1.
16
+ 2.
17
+ 3.
18
+
19
+ ## Expected behavior
20
+
21
+ What you expected to happen.
22
+
23
+ ## Actual behavior
24
+
25
+ What actually happened, including any error messages.
26
+
27
+ ## Environment
28
+
29
+ - OS: (Windows/macOS/Linux + version)
30
+ - Node: `node -v`
31
+ - Claude Desktop version (if applicable)
32
+ - Extension version (see latest release tag)
33
+
34
+ ## Logs / Screenshots
35
+
36
+ Paste relevant logs or screenshots. Redact any sensitive info.
37
+
38
+ ## Additional context
39
+
40
+ Anything else that might help us diagnose the issue.
41
+
@@ -0,0 +1,5 @@
1
+ blank_issues_enabled: false
2
+ contact_links:
3
+ - name: Questions & Support
4
+ url: https://github.com/dizzlkheinz/mcp-for-ynab/discussions
5
+ about: Ask questions and get help in Discussions.
@@ -0,0 +1,24 @@
1
+ ---
2
+ name: Feature request
3
+ about: Suggest an idea for this project
4
+ title: "[Feature]: "
5
+ labels: enhancement
6
+ assignees: ''
7
+ ---
8
+
9
+ ## Problem / Motivation
10
+
11
+ What problem does this solve? Why is it valuable?
12
+
13
+ ## Proposed solution
14
+
15
+ Describe the feature. Include example tool names/inputs/outputs if applicable.
16
+
17
+ ## Alternatives considered
18
+
19
+ Any alternative solutions or workarounds you’ve considered.
20
+
21
+ ## Additional context
22
+
23
+ Screenshots, references, or related links.
24
+