@dizzlkheinz/ynab-mcpb 0.26.8 → 0.26.10

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 (50) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/CLAUDE.md +1 -1
  3. package/dist/bundle/index.cjs +113 -113
  4. package/dist/server/rateLimiter.js +1 -2
  5. package/dist/tools/accountTools.d.ts +1 -0
  6. package/dist/tools/accountTools.js +3 -2
  7. package/dist/tools/budgetTools.js +2 -2
  8. package/dist/tools/compareTransactions/index.d.ts +1 -0
  9. package/dist/tools/compareTransactions/index.js +30 -14
  10. package/dist/tools/exportTransactions.js +45 -9
  11. package/dist/tools/reconciliation/analyzer.js +5 -1
  12. package/dist/tools/reconciliation/balanceReconciliation.d.ts +2 -0
  13. package/dist/tools/reconciliation/balanceReconciliation.js +5 -4
  14. package/dist/tools/reconciliation/executor.d.ts +1 -0
  15. package/dist/tools/reconciliation/executor.js +14 -1
  16. package/dist/tools/reconciliation/executorHelpers.js +1 -1
  17. package/dist/tools/reconciliation/index.js +5 -5
  18. package/dist/tools/reconciliation/outputBuilder.js +9 -6
  19. package/dist/tools/schemas/outputs/reconciliationOutputs.d.ts +8 -0
  20. package/dist/tools/schemas/outputs/reconciliationOutputs.js +5 -0
  21. package/dist/tools/transactionUtils.js +3 -2
  22. package/dist/tools/transactionWriteTools.js +2 -2
  23. package/package.json +1 -1
  24. package/src/server/__tests__/rateLimiter.test.ts +15 -0
  25. package/src/server/rateLimiter.ts +3 -3
  26. package/src/tools/__tests__/accountTools.test.ts +40 -0
  27. package/src/tools/__tests__/budgetTools.test.ts +27 -0
  28. package/src/tools/__tests__/compareTransactions/index.test.ts +49 -2
  29. package/src/tools/__tests__/exportTransactions.test.ts +16 -1
  30. package/src/tools/__tests__/transactionTools.test.ts +42 -38
  31. package/src/tools/accountTools.ts +7 -2
  32. package/src/tools/budgetTools.ts +2 -5
  33. package/src/tools/compareTransactions/index.ts +35 -14
  34. package/src/tools/exportTransactions.ts +58 -9
  35. package/src/tools/reconciliation/__tests__/analyzer.test.ts +53 -0
  36. package/src/tools/reconciliation/__tests__/balanceReconciliation.test.ts +39 -0
  37. package/src/tools/reconciliation/__tests__/executor.test.ts +137 -0
  38. package/src/tools/reconciliation/__tests__/executorHelpers.test.ts +41 -0
  39. package/src/tools/reconciliation/__tests__/index.statementBalance.test.ts +116 -0
  40. package/src/tools/reconciliation/analyzer.ts +5 -1
  41. package/src/tools/reconciliation/balanceReconciliation.ts +13 -5
  42. package/src/tools/reconciliation/executor.ts +15 -0
  43. package/src/tools/reconciliation/executorHelpers.ts +1 -1
  44. package/src/tools/reconciliation/index.ts +9 -9
  45. package/src/tools/reconciliation/outputBuilder.ts +26 -15
  46. package/src/tools/schemas/outputs/__tests__/reconciliationOutputs.test.ts +14 -0
  47. package/src/tools/schemas/outputs/comparisonOutputs.ts +10 -11
  48. package/src/tools/schemas/outputs/reconciliationOutputs.ts +6 -0
  49. package/src/tools/transactionUtils.ts +5 -2
  50. package/src/tools/transactionWriteTools.ts +2 -2
package/CHANGELOG.md CHANGED
@@ -7,6 +7,29 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.26.10] - 2026-05-22
11
+
12
+ ### Changed
13
+
14
+ - **Dependencies** - Updated all packages to latest versions within semver ranges
15
+ - `@types/node` 25.6.2 → 25.9.1
16
+ - `@vitest/coverage-v8` 4.1.5 → 4.1.7
17
+ - `@vitest/ui` 4.1.5 → 4.1.7
18
+ - `date-fns` 4.1.0 → 4.3.0
19
+ - `tsx` 4.21.0 → 4.22.3
20
+ - `vitest` 4.1.5 → 4.1.7
21
+
22
+ ## [0.26.9] - 2026-05-10
23
+
24
+ ### Fixed
25
+
26
+ - **`ynab_export_transactions` amounts in decimal units** — Exported transaction `amount` fields were raw YNAB milliunits; now converted to decimal currency units (e.g. `-25500` → `-25.5`) for user-facing readability in both minimal and full export modes
27
+ - **`ynab_export_transactions` path traversal guard** — Added filename sanitization (`sanitizeExportFilename`) and a path-traversal check (`buildExportFilePath`) to reject filenames with path separators, absolute paths, or control characters that could escape the export directory
28
+ - **Reconciliation statement balance sign** — `ynab_reconcile_account` no longer forces the statement balance negative for liability accounts; the caller-provided sign is preserved, allowing credit-balance statements (positive) to be reconciled correctly
29
+ - **Reconciliation currency decimal digits** — Balance verification amounts (`bank_statement_balance`, `ynab_calculated_balance`, `discrepancy`) now respect the budget's `currency_format.decimal_digits` field instead of always dividing by 1000, fixing display for currencies with non-standard decimal places
30
+ - **Reconciliation: only reconcile transactions cleared this run** — The bulk-reconcile step previously marked all already-cleared matched transactions as reconciled, including ones cleared before this session; it now only marks transactions that were explicitly cleared during the current reconciliation run
31
+ - **Reconciliation likely-cause detection** — Tightened "round amount" heuristic from `abs % 1000 === 0 || abs % 500 === 0` to `abs % 500 === 0`, reducing false positives for non-round discrepancies
32
+
10
33
  ## [0.26.8] - 2026-05-10
11
34
 
12
35
  ### Fixed
package/CLAUDE.md CHANGED
@@ -6,7 +6,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
6
6
 
7
7
  This is a Model Context Protocol (MCP) server for YNAB (You Need A Budget) integration, enabling AI assistants to interact with YNAB budgets, accounts, transactions, and categories. The codebase uses TypeScript with a modular, service-oriented architecture.
8
8
 
9
- **Current Version:** 0.26.8
9
+ **Current Version:** 0.26.10
10
10
 
11
11
  ## Essential Commands
12
12