@dizzlkheinz/ynab-mcpb 0.26.0 → 0.26.2

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 (29) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/CLAUDE.md +1 -1
  3. package/dist/bundle/index.cjs +67 -63
  4. package/dist/tools/reconciliation/csvParser.js +5 -0
  5. package/dist/tools/reconciliation/index.d.ts +1 -1
  6. package/dist/tools/reconciliation/index.js +6 -1
  7. package/dist/tools/reconciliation/matcher.d.ts +5 -2
  8. package/dist/tools/reconciliation/matcher.js +8 -1
  9. package/dist/tools/reconciliation/outputBuilder.d.ts +1 -0
  10. package/dist/tools/reconciliation/outputBuilder.js +15 -2
  11. package/dist/tools/reconciliation/reportFormatter.d.ts +1 -0
  12. package/dist/tools/reconciliation/reportFormatter.js +16 -6
  13. package/dist/tools/reconciliation/types.d.ts +1 -0
  14. package/dist/tools/schemas/outputs/reconciliationOutputs.d.ts +594 -230
  15. package/dist/tools/schemas/outputs/reconciliationOutputs.js +30 -95
  16. package/package.json +1 -1
  17. package/src/tools/reconciliation/__tests__/adapter.test.ts +1 -1
  18. package/src/tools/reconciliation/__tests__/index.test.ts +11 -0
  19. package/src/tools/reconciliation/__tests__/matcher.test.ts +168 -24
  20. package/src/tools/reconciliation/__tests__/reportFormatter.test.ts +1 -1
  21. package/src/tools/reconciliation/csvParser.ts +5 -0
  22. package/src/tools/reconciliation/index.ts +6 -1
  23. package/src/tools/reconciliation/matcher.ts +20 -3
  24. package/src/tools/reconciliation/outputBuilder.ts +22 -3
  25. package/src/tools/reconciliation/reportFormatter.ts +18 -6
  26. package/src/tools/reconciliation/types.ts +2 -0
  27. package/src/tools/schemas/outputs/__tests__/discrepancyDirection.test.ts +65 -54
  28. package/src/tools/schemas/outputs/__tests__/reconciliationOutputs.test.ts +5 -7
  29. package/src/tools/schemas/outputs/reconciliationOutputs.ts +47 -159
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.2] - 2026-04-01
11
+
12
+ ### Fixed
13
+
14
+ - **Reconciliation structured output** - Removed overly strict `confidence`/`confidence_score` consistency refine from `TransactionMatchSchema`; the two-pass exact-date auto-match correctly promotes a lower-scored match to `"high"` confidence, which the old refine falsely rejected
15
+ - **Reconciliation `review_duplicate` recommendations** - `parameters.bank_transaction` is now enriched with `amount_money` via the adapter before serialization; previously the raw internal type was passed through without the required field
16
+ - **Reconciliation `manual_review` recommendations** - `parameters.related_transactions` schema corrected from `z.array(z.string())` to `z.array(z.object({ source, id, description })).optional()`, matching the shape the recommendation engine actually produces
17
+
18
+ ## [0.26.1] - 2026-04-01
19
+
20
+ ### Fixed
21
+
22
+ - **Reconciliation output schema** - Corrected `MoneyValueSchema`, `BankTransactionSchema`, and `YNABTransactionSimpleSchema` to match actual runtime data shapes (`value_milliunits`/`value`/`value_display`/`direction`, `sourceRow`, `categoryName`), resolving `include_structured_data: true` output schema validation failures
23
+ - **CSV payee detection** - Expanded description column candidates to include `"Details"`, `"Transaction Details"`, `"Memo"`, `"Narration"`, and `"Reference"`, resolving payees showing as "Unknown" for banks that use non-standard column names
24
+ - **Reconciliation auto-match rate** - Two-pass matching: when a bank transaction has exactly one candidate with an exact date match, auto-match threshold lowers to 65 (from 85), significantly improving match rates when bank payee strings are opaque (e.g. `"CARD 8472 AUTH 5521"`)
25
+ - **Execution summary shown on 0 changes** - "N change(s) applied to YNAB" message now only appears when `N > 0`; zero-change runs show "No changes were needed" instead
26
+
27
+ ### Changed
28
+
29
+ - **Liability-aware discrepancy wording** - Credit card and other liability accounts now show "YNAB under-cleared / over-cleared" instead of the asset-oriented "YNAB shows MORE/LESS than statement"
30
+ - **`max_suggestions_in_output` default raised to 20** - Previously defaulted to 10; now documented in the tool description alongside `auto_match_threshold`
31
+ - **Tool description for `ynab_reconcile_account`** - Documents statement balance sign convention for liability accounts, `auto_match_threshold` parameter, and `max_suggestions_in_output` default
32
+
10
33
  ## [0.26.0] - 2026-03-31
11
34
 
12
35
  ### Added
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.0
9
+ **Current Version:** 0.26.2
10
10
 
11
11
  ## Essential Commands
12
12