@dizzlkheinz/ynab-mcpb 0.16.0 → 0.17.0

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 (114) hide show
  1. package/.code/agents/0098661e-0fa3-4990-beb9-c0cbf3f123aa/status.txt +1 -0
  2. package/.code/agents/1324/exec-call_tIpx9uV1TpARbAMZonRQm8AO.txt +757 -0
  3. package/.code/agents/1572/exec-call_GjVFBFOWcY7lE0idc5nWlLNh.txt +781 -0
  4. package/.code/agents/1846/exec-call_1YNAVD18RjrMN7JnfkkQhUP3.txt +766 -0
  5. package/.code/agents/1846/exec-call_lh3lDzE4WJAh1lFiomiiZ73D.txt +766 -0
  6. package/.code/agents/2038/exec-call_DYwOukaYsL8VCONWmV2rUW5u.txt +766 -0
  7. package/.code/agents/2038/exec-call_c7fOQ7UrpVcTtvdfGBRM146V.txt +652 -0
  8. package/.code/agents/2038/exec-call_ySNyq9Mm55jWE480s54r5QcA.txt +766 -0
  9. package/.code/agents/2256/exec-call_AtPcRWPmFPMcmX6qOFm1fCEY.txt +766 -0
  10. package/.code/agents/2454/exec-call_aFJpupwjfZeOBm7ixI5Vc8z2.txt +766 -0
  11. package/.code/agents/2454/exec-call_wogZ4HfXTodTEXvdgXlVUBpv.txt +766 -0
  12. package/.code/agents/2e905864-aa07-4314-bcf9-c5b32277e4ac/result.txt +36 -0
  13. package/.code/agents/3073/exec-call_Peeagc9DxGYLgE6pNdMZhqIE.txt +766 -0
  14. package/.code/agents/3073/exec-call_d2YSE3hXF08KRSoUM3qd8Z3x.txt +766 -0
  15. package/.code/agents/335aa031-466d-4fb7-925f-3cd864e264d0/result.txt +191 -0
  16. package/.code/agents/3364/exec-call_NbhIrsM5HhyDZDmJZG5CuCYL.txt +766 -0
  17. package/.code/agents/3364/exec-call_cKtJg0NrXiwXEFwlsE3uPZRA.txt +766 -0
  18. package/.code/agents/36d98414-5cde-4d9d-9a67-a240a18c1f07/result.txt +189 -0
  19. package/.code/agents/4604e866-b7b8-44f5-992f-2f683b0a523b/status.txt +1 -0
  20. package/.code/agents/5f8dc01c-47b3-4163-b0b3-aa31be89fcdc/status.txt +1 -0
  21. package/.code/agents/7/exec-call_HltHpkDox0Zm1vGEjdksUgpE.txt +1120 -0
  22. package/.code/agents/7/exec-call_LCATrOPPAgbxW9Q1z0XaVi2E.txt +2646 -0
  23. package/.code/agents/7/exec-call_W8DeRfNG9hvbgVFvf0clBf6R.txt +2646 -0
  24. package/.code/agents/94a0ddf3-a304-4ec3-913e-3cceef509948/error.txt +1 -0
  25. package/.code/agents/e2c752b7-711d-423a-af57-f53c809deb84/result.txt +160 -0
  26. package/.code/agents/e6601719-c31f-4a0e-8c71-d70787d0ab71/status.txt +1 -0
  27. package/.code/agents/f250b7ed-5bd5-4036-aa8c-ce63caee7d61/result.txt +20 -0
  28. package/AGENTS.md +1 -36
  29. package/CLAUDE.md +131 -51
  30. package/NUL +0 -1
  31. package/README.md +27 -14
  32. package/dist/bundle/index.cjs +41 -41
  33. package/dist/server/YNABMCPServer.js +28 -381
  34. package/dist/server/config.d.ts +2 -0
  35. package/dist/server/config.js +1 -0
  36. package/dist/tools/accountTools.d.ts +2 -0
  37. package/dist/tools/accountTools.js +45 -0
  38. package/dist/tools/adapters.d.ts +12 -0
  39. package/dist/tools/adapters.js +25 -0
  40. package/dist/tools/budgetTools.d.ts +2 -0
  41. package/dist/tools/budgetTools.js +30 -0
  42. package/dist/tools/categoryTools.d.ts +2 -0
  43. package/dist/tools/categoryTools.js +45 -0
  44. package/dist/tools/monthTools.d.ts +2 -0
  45. package/dist/tools/monthTools.js +32 -0
  46. package/dist/tools/payeeTools.d.ts +2 -0
  47. package/dist/tools/payeeTools.js +32 -0
  48. package/dist/tools/reconciliation/index.d.ts +2 -0
  49. package/dist/tools/reconciliation/index.js +33 -0
  50. package/dist/tools/schemas/common.d.ts +3 -0
  51. package/dist/tools/schemas/common.js +3 -0
  52. package/dist/tools/schemas/outputs/comparisonOutputs.d.ts +1 -1
  53. package/dist/tools/transactionTools.d.ts +2 -0
  54. package/dist/tools/transactionTools.js +129 -0
  55. package/dist/tools/utilityTools.d.ts +3 -1
  56. package/dist/tools/utilityTools.js +32 -2
  57. package/dist/types/index.d.ts +1 -0
  58. package/dist/types/toolRegistration.d.ts +27 -0
  59. package/dist/types/toolRegistration.js +1 -0
  60. package/package.json +2 -2
  61. package/scripts/run-domain-integration-tests.js +4 -1
  62. package/src/__tests__/workflows.e2e.test.ts +1 -7
  63. package/src/server/YNABMCPServer.ts +33 -519
  64. package/src/server/__tests__/toolRegistration.test.ts +236 -0
  65. package/src/server/config.ts +1 -0
  66. package/src/tools/__tests__/adapters.test.ts +113 -0
  67. package/src/tools/__tests__/transactionTools.test.ts +90 -17
  68. package/src/tools/__tests__/utilityTools.test.ts +7 -7
  69. package/src/tools/accountTools.ts +53 -0
  70. package/src/tools/adapters.ts +74 -0
  71. package/src/tools/budgetTools.ts +37 -0
  72. package/src/tools/categoryTools.ts +53 -0
  73. package/src/tools/monthTools.ts +39 -0
  74. package/src/tools/payeeTools.ts +39 -0
  75. package/src/tools/reconciliation/index.ts +45 -0
  76. package/src/tools/schemas/common.ts +18 -0
  77. package/src/tools/transactionTools.ts +150 -0
  78. package/src/tools/utilityTools.ts +42 -2
  79. package/src/types/index.ts +3 -0
  80. package/src/types/toolRegistration.ts +88 -0
  81. package/.dxtignore +0 -57
  82. package/.github/workflows/pr-description-check.yml +0 -88
  83. package/CODEREVIEW_RESPONSE.md +0 -128
  84. package/SCHEMA_IMPROVEMENT_SUMMARY.md +0 -120
  85. package/TESTING_NOTES.md +0 -217
  86. package/accountactivity-merged.csv +0 -149
  87. package/bundle-analysis.html +0 -13110
  88. package/docs/README.md +0 -72
  89. package/docs/getting-started/CONFIGURATION.md +0 -175
  90. package/docs/getting-started/INSTALLATION.md +0 -333
  91. package/docs/getting-started/QUICKSTART.md +0 -282
  92. package/docs/guides/ARCHITECTURE.md +0 -533
  93. package/docs/guides/DEPLOYMENT.md +0 -189
  94. package/docs/guides/INTEGRATION_TESTING.md +0 -730
  95. package/docs/guides/TESTING.md +0 -591
  96. package/docs/plans/2025-11-20-reloadable-config-token-validation.md +0 -93
  97. package/docs/plans/2025-11-21-fix-transaction-cached-property.md +0 -362
  98. package/docs/plans/2025-11-21-reconciliation-error-handling.md +0 -90
  99. package/docs/plans/2025-11-21-v014-hardening.md +0 -153
  100. package/docs/plans/reconciliation-v2-redesign.md +0 -1571
  101. package/docs/reconciliation-flow.md +0 -83
  102. package/docs/reference/EXAMPLES.md +0 -946
  103. package/docs/reference/TOOLS.md +0 -348
  104. package/docs/reference/TROUBLESHOOTING.md +0 -481
  105. package/fix-types.sh +0 -17
  106. package/test-csv-sample.csv +0 -28
  107. package/test-exports/sample_bank_statement.csv +0 -7
  108. package/test-reconcile-autodetect.js +0 -40
  109. package/test-reconcile-tool.js +0 -152
  110. package/test-reconcile-with-csv.cjs +0 -89
  111. package/test-statement.csv +0 -8
  112. package/test_debug.js +0 -47
  113. package/test_mcp_tools.mjs +0 -75
  114. package/test_simple.mjs +0 -16
@@ -0,0 +1,36 @@
1
+ **Tool Catalogue (src/server/YNABMCPServer.ts)**
2
+ - list_budgets — budgets; delta adapter; input inline `emptyObjectSchema`; output `ListBudgetsOutputSchema` (`src/tools/schemas/outputs/budgetOutputs.ts` via index).
3
+ - get_budget — budgets; read adapter; input `GetBudgetSchema` (`src/tools/budgetTools.ts`); output `GetBudgetOutputSchema` (`src/tools/schemas/outputs/utilityOutputs.ts` via index).
4
+ - set_default_budget — budgets/local; custom inline write; input inline `setDefaultBudgetSchema`; output `SetDefaultBudgetOutputSchema` (`src/tools/schemas/outputs/utilityOutputs.ts` via index).
5
+ - get_default_budget — budgets/local; inline no-input; input inline `emptyObjectSchema`; output `GetDefaultBudgetOutputSchema` (`src/tools/schemas/outputs/utilityOutputs.ts` via index).
6
+ - list_accounts — accounts; delta adapter; input `ListAccountsSchema` (`src/tools/accountTools.ts`); output `ListAccountsOutputSchema` (`src/tools/schemas/outputs/accountOutputs.ts` via index).
7
+ - get_account — accounts; read adapter; input `GetAccountSchema` (`src/tools/accountTools.ts`); output `GetAccountOutputSchema` (`src/tools/schemas/outputs/accountOutputs.ts` via index).
8
+ - create_account — accounts; write adapter; input `CreateAccountSchema` (`src/tools/accountTools.ts`); output inline `LooseObjectSchema` (catch-all, typed `CreateAccountOutputSchema` exists in `src/tools/schemas/outputs/transactionMutationOutputs.ts`).
9
+ - list_transactions — transactions; delta adapter; input `ListTransactionsSchema` (`src/tools/transactionTools.ts`); output inline `LooseObjectSchema` (typed `ListTransactionsOutputSchema` exists in `src/tools/schemas/outputs/transactionOutputs.ts`).
10
+ - export_transactions — transactions/export; read adapter; input `ExportTransactionsSchema` (`src/tools/exportTransactions.ts`); output `ExportTransactionsOutputSchema` (`src/tools/schemas/outputs/comparisonOutputs.ts` via index).
11
+ - compare_transactions — transactions/compare; read adapter; input `CompareTransactionsSchema` (`src/tools/compareTransactions/index.ts`); output `CompareTransactionsOutputSchema` (`src/tools/schemas/outputs/comparisonOutputs.ts` via index).
12
+ - reconcile_account — reconciliation; delta adapter; input `ReconcileAccountSchema` (`src/tools/reconciliation/index.ts`); output inline `LooseObjectSchema` (typed `ReconcileAccountOutputSchema` exists in `src/tools/schemas/outputs/reconciliationOutputs.ts`).
13
+ - get_transaction — transactions; read adapter; input `GetTransactionSchema` (`src/tools/transactionTools.ts`); output `GetTransactionOutputSchema` (`src/tools/schemas/outputs/transactionOutputs.ts` via index).
14
+ - create_transaction — transactions; write adapter; input `CreateTransactionSchema` (`src/tools/transactionTools.ts`); output inline `LooseObjectSchema` (typed `CreateTransactionOutputSchema` exists in `src/tools/schemas/outputs/transactionMutationOutputs.ts`).
15
+ - create_transactions — transactions; write adapter; input `CreateTransactionsSchema` (`src/tools/transactionTools.ts`); output inline `LooseObjectSchema` (typed `CreateTransactionsOutputSchema` exists in `src/tools/schemas/outputs/transactionMutationOutputs.ts`).
16
+ - update_transactions — transactions; write adapter; input `UpdateTransactionsSchema` (`src/tools/transactionTools.ts`); output inline `LooseObjectSchema` (typed `UpdateTransactionsOutputSchema` exists in `src/tools/schemas/outputs/transactionMutationOutputs.ts`).
17
+ - create_receipt_split_transaction — transactions; write adapter; input `CreateReceiptSplitTransactionSchema` (`src/tools/transactionTools.ts`); output inline `LooseObjectSchema` (typed `CreateReceiptSplitTransactionOutputSchema` exists in `src/tools/schemas/outputs/transactionMutationOutputs.ts`).
18
+ - update_transaction — transactions; write adapter; input `UpdateTransactionSchema` (`src/tools/transactionTools.ts`); output inline `LooseObjectSchema` (typed `UpdateTransactionOutputSchema` exists in `src/tools/schemas/outputs/transactionMutationOutputs.ts`).
19
+ - delete_transaction — transactions; write adapter; input `DeleteTransactionSchema` (`src/tools/transactionTools.ts`); output inline `LooseObjectSchema` (typed `DeleteTransactionOutputSchema` exists in `src/tools/schemas/outputs/transactionMutationOutputs.ts`).
20
+ - list_categories — categories; delta adapter; input `ListCategoriesSchema` (`src/tools/categoryTools.ts`); output `ListCategoriesOutputSchema` (`src/tools/schemas/outputs/categoryOutputs.ts` via index).
21
+ - get_category — categories; read adapter; input `GetCategorySchema` (`src/tools/categoryTools.ts`); output `GetCategoryOutputSchema` (`src/tools/schemas/outputs/categoryOutputs.ts` via index).
22
+ - update_category — categories; write adapter; input `UpdateCategorySchema` (`src/tools/categoryTools.ts`); output inline `LooseObjectSchema` (typed `UpdateCategoryOutputSchema` exists in `src/tools/schemas/outputs/transactionMutationOutputs.ts`).
23
+ - list_payees — payees; delta adapter; input `ListPayeesSchema` (`src/tools/payeeTools.ts`); output `ListPayeesOutputSchema` (`src/tools/schemas/outputs/payeeOutputs.ts` via index).
24
+ - get_payee — payees; read adapter; input `GetPayeeSchema` (`src/tools/payeeTools.ts`); output `GetPayeeOutputSchema` (`src/tools/schemas/outputs/payeeOutputs.ts` via index).
25
+ - get_month — months; read adapter; input `GetMonthSchema` (`src/tools/monthTools.ts`); output `GetMonthOutputSchema` (`src/tools/schemas/outputs/monthOutputs.ts` via index).
26
+ - list_months — months; delta adapter; input `ListMonthsSchema` (`src/tools/monthTools.ts`); output `ListMonthsOutputSchema` (`src/tools/schemas/outputs/monthOutputs.ts` via index).
27
+ - get_user — utility; no-input adapter; input inline `emptyObjectSchema`; output `GetUserOutputSchema` (`src/tools/schemas/outputs/utilityOutputs.ts` via index).
28
+ - convert_amount — utility; inline local (no YNAB); input `ConvertAmountSchema` (`src/tools/utilityTools.ts`); output `ConvertAmountOutputSchema` (`src/tools/schemas/outputs/utilityOutputs.ts` via index).
29
+ - diagnostic_info — utility/diagnostics; inline local; input inline `diagnosticInfoSchema`; output `DiagnosticInfoOutputSchema` (`src/tools/schemas/outputs/utilityOutputs.ts` via index).
30
+ - clear_cache — utility/cache; inline local; input inline `emptyObjectSchema`; output `ClearCacheOutputSchema` (`src/tools/schemas/outputs/utilityOutputs.ts` via index).
31
+ - set_output_format — utility/output; inline local; input inline `setOutputFormatSchema`; output `SetOutputFormatOutputSchema` (`src/tools/schemas/outputs/utilityOutputs.ts` via index).
32
+
33
+ **Schema Notes**
34
+ - Inline inputs in `src/server/YNABMCPServer.ts` that could move to a shared module: `emptyObjectSchema`, `LooseObjectSchema`, `setDefaultBudgetSchema`, `diagnosticInfoSchema`, `setOutputFormatSchema`. A small `src/tools/schemas/shared/baseInputs.ts` would centralize these.
35
+ - Several tools use inline `LooseObjectSchema` despite typed outputs existing in `src/tools/schemas/outputs/transactionOutputs.ts` and `transactionMutationOutputs.ts`; swapping to the typed schemas would reduce lax validation for transactions, account creation, reconciliation, and category updates.
36
+ - Server-owned/stateful tools that likely stay inline even after schema extraction: `set_default_budget` (default state + cache warm), `get_default_budget` (local state), `diagnostic_info` (uses `DiagnosticManager`), `clear_cache` (cacheManager), `set_output_format` (responseFormatter).