@dizzlkheinz/ynab-mcpb 0.26.3 → 0.26.5

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 (32) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/CLAUDE.md +1 -1
  3. package/dist/bundle/index.cjs +82 -83
  4. package/dist/server/resourceCacheInvalidation.d.ts +8 -0
  5. package/dist/server/resourceCacheInvalidation.js +25 -0
  6. package/dist/tools/accountTools.js +5 -0
  7. package/dist/tools/categoryTools.js +6 -0
  8. package/dist/tools/reconciliation/executor.js +5 -12
  9. package/dist/tools/reconciliation/index.d.ts +9 -12
  10. package/dist/tools/reconciliation/index.js +101 -92
  11. package/dist/tools/schemas/outputs/reconciliationOutputs.d.ts +41 -790
  12. package/dist/tools/schemas/outputs/reconciliationOutputs.js +13 -66
  13. package/dist/tools/transactionUtils.js +8 -0
  14. package/docs/reference/API.md +25 -26
  15. package/docs/technical/reconciliation-system-architecture.md +1 -1
  16. package/package.json +1 -1
  17. package/src/__tests__/performance.test.ts +2 -4
  18. package/src/server/resourceCacheInvalidation.ts +64 -0
  19. package/src/tools/__tests__/accountTools.test.ts +13 -1
  20. package/src/tools/__tests__/categoryTools.test.ts +18 -16
  21. package/src/tools/__tests__/transactionTools.test.ts +27 -20
  22. package/src/tools/accountTools.ts +5 -0
  23. package/src/tools/categoryTools.ts +6 -0
  24. package/src/tools/reconciliation/__tests__/executor.integration.test.ts +2 -4
  25. package/src/tools/reconciliation/__tests__/executor.test.ts +6 -10
  26. package/src/tools/reconciliation/__tests__/index.test.ts +21 -6
  27. package/src/tools/reconciliation/__tests__/reconciliation.delta.integration.test.ts +1 -110
  28. package/src/tools/reconciliation/executor.ts +6 -13
  29. package/src/tools/reconciliation/index.ts +155 -139
  30. package/src/tools/schemas/outputs/__tests__/discrepancyDirection.test.ts +146 -312
  31. package/src/tools/schemas/outputs/reconciliationOutputs.ts +17 -84
  32. package/src/tools/transactionUtils.ts +8 -0
package/CHANGELOG.md CHANGED
@@ -7,6 +7,30 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.26.5] - 2026-04-03
11
+
12
+ ### Fixed
13
+
14
+ - **Resource cache invalidation on writes** — Write operations (`create_account`, `update_category`, `create_transaction`, `update_transaction`, `delete_transaction`, bulk creates/updates) now invalidate MCP resource caches (budgets, accounts, categories, months) in addition to tool-level caches, preventing stale resource reads after mutations
15
+ - **`auto_unclear_missing` default changed to `false`** — Previously defaulted to `true`, which could unexpectedly unclear cleared transactions during reconciliation; now requires explicit opt-in like all other write flags
16
+
17
+ ### Changed
18
+
19
+ - **Reconciliation tool description** — Documents `auto_unclear_missing` parameter and clarifies the execute example to say "explicitly enable the write flags you want"
20
+
21
+ ## [0.26.4] - 2026-04-02
22
+
23
+ ### Fixed
24
+
25
+ - **Reconciliation parameter simplification** — Reduced `ynab_reconcile_account` from ~22 parameters to ~15, removing redundant/unused parameters (`statement_date`, `statement_start_date`, `as_of_timezone`, `expected_bank_balance`, `force_full_refresh`, `include_structured_data`, `structured_content`, `invert_bank_amounts`) and collapsing `auto_match_threshold`/`suggestion_threshold` into a single `match_strictness` enum (`"loose"` | `"normal"` | `"strict"`)
26
+ - **Missing test migration** — Updated `performance.test.ts` to use new parameter names (`statement_end_date`, `match_strictness`) instead of removed parameters
27
+
28
+ ### Added
29
+
30
+ - **`sign_convention` parameter** — New optional parameter on `ynab_reconcile_account` (`"auto"` | `"invert"` | `"as_is"`, default `"auto"`) providing an explicit override when auto-detection fails for liability accounts with unusual CSV sign conventions
31
+ - **`execution_summary` in structured output** — Reconciliation structured output now includes an optional `execution_summary` field with `transactions_created`, `transactions_updated`, `dates_adjusted`, `dry_run`, `balance_status`, and `recommendations` when actions are performed, enabling programmatic consumption of execution results
32
+ - **Auto-inferred `statement_end_date`** — When `statement_end_date` is omitted, the reconciliation handler infers it from the latest CSV transaction date and uses it for balance verification, aligning behavior with the documented tool description
33
+
10
34
  ## [0.26.3] - 2026-04-01
11
35
 
12
36
  ### 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.3
9
+ **Current Version:** 0.26.5
10
10
 
11
11
  ## Essential Commands
12
12