@dizzlkheinz/ynab-mcpb 0.26.8 → 0.26.9

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 +11 -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,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.26.9] - 2026-05-10
11
+
12
+ ### Fixed
13
+
14
+ - **`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
15
+ - **`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
16
+ - **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
17
+ - **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
18
+ - **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
19
+ - **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
20
+
10
21
  ## [0.26.8] - 2026-05-10
11
22
 
12
23
  ### 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.9
10
10
 
11
11
  ## Essential Commands
12
12