@dizzlkheinz/ynab-mcpb 0.12.2 → 0.13.1
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.
- package/.github/workflows/ci-tests.yml +6 -2
- package/CHANGELOG.md +14 -1
- package/NUL +0 -1
- package/README.md +36 -10
- package/dist/bundle/index.cjs +30 -30
- package/dist/index.js +9 -20
- package/dist/server/YNABMCPServer.d.ts +2 -1
- package/dist/server/YNABMCPServer.js +61 -27
- package/dist/server/cacheKeys.d.ts +8 -0
- package/dist/server/cacheKeys.js +8 -0
- package/dist/server/config.d.ts +22 -3
- package/dist/server/config.js +16 -17
- package/dist/server/securityMiddleware.js +3 -6
- package/dist/server/toolRegistry.js +8 -10
- package/dist/tools/accountTools.js +4 -3
- package/dist/tools/categoryTools.js +8 -7
- package/dist/tools/monthTools.js +2 -1
- package/dist/tools/payeeTools.js +2 -1
- package/dist/tools/reconciliation/executor.js +85 -4
- package/dist/tools/transactionTools.d.ts +3 -17
- package/dist/tools/transactionTools.js +5 -17
- package/dist/utils/baseError.d.ts +3 -0
- package/dist/utils/baseError.js +7 -0
- package/dist/utils/errors.d.ts +13 -0
- package/dist/utils/errors.js +15 -0
- package/dist/utils/validationError.d.ts +3 -0
- package/dist/utils/validationError.js +3 -0
- package/docs/plans/2025-11-20-reloadable-config-token-validation.md +93 -0
- package/docs/plans/2025-11-21-fix-transaction-cached-property.md +362 -0
- package/docs/plans/2025-11-21-reconciliation-error-handling.md +90 -0
- package/package.json +3 -2
- package/scripts/run-throttled-integration-tests.js +9 -3
- package/src/__tests__/performance.test.ts +12 -5
- package/src/__tests__/testUtils.ts +62 -5
- package/src/__tests__/workflows.e2e.test.ts +33 -0
- package/src/index.ts +8 -31
- package/src/server/YNABMCPServer.ts +81 -42
- package/src/server/__tests__/YNABMCPServer.integration.test.ts +10 -12
- package/src/server/__tests__/YNABMCPServer.test.ts +27 -15
- package/src/server/__tests__/config.test.ts +76 -152
- package/src/server/__tests__/server-startup.integration.test.ts +42 -14
- package/src/server/__tests__/toolRegistry.test.ts +1 -1
- package/src/server/cacheKeys.ts +8 -0
- package/src/server/config.ts +20 -38
- package/src/server/securityMiddleware.ts +3 -7
- package/src/server/toolRegistry.ts +14 -10
- package/src/tools/__tests__/categoryTools.test.ts +37 -19
- package/src/tools/__tests__/transactionTools.test.ts +58 -2
- package/src/tools/accountTools.ts +8 -3
- package/src/tools/categoryTools.ts +12 -7
- package/src/tools/monthTools.ts +7 -1
- package/src/tools/payeeTools.ts +7 -1
- package/src/tools/reconciliation/__tests__/executor.integration.test.ts +25 -5
- package/src/tools/reconciliation/__tests__/executor.test.ts +46 -0
- package/src/tools/reconciliation/executor.ts +109 -6
- package/src/tools/schemas/outputs/utilityOutputs.ts +1 -1
- package/src/tools/transactionTools.ts +7 -18
- package/src/utils/baseError.ts +7 -0
- package/src/utils/errors.ts +21 -0
- package/src/utils/validationError.ts +3 -0
- package/temp-recon.ts +126 -0
- package/test_mcp_tools.mjs +75 -0
- package/ADOS-2-Module-1-Complete-Manual.md +0 -757
|
@@ -37,5 +37,9 @@ jobs:
|
|
|
37
37
|
cache: npm
|
|
38
38
|
- name: Install dependencies
|
|
39
39
|
run: npm ci
|
|
40
|
-
- name: Run core integration tests
|
|
41
|
-
|
|
40
|
+
- name: Run core integration tests (throttled)
|
|
41
|
+
# Integration tests with real YNAB API may hit rate limits (200/hour)
|
|
42
|
+
# causing 60-minute waits. Tests provide visibility but don't block merges.
|
|
43
|
+
continue-on-error: true
|
|
44
|
+
run: npm run test:integration:full
|
|
45
|
+
timeout-minutes: 90
|
package/CHANGELOG.md
CHANGED
|
@@ -7,12 +7,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.13.1] - 2025-11-21
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- Fixed missing `cached` property in large transaction list responses (>90KB)
|
|
15
|
+
- Large response path now includes `cached` and `cache_info` properties
|
|
16
|
+
- Maintains consistency with normal response path
|
|
17
|
+
- Resolves integration test failures when accounts have many transactions
|
|
18
|
+
- Fixed TypeScript strict mode error in testUtils (TS4111)
|
|
19
|
+
- Properties from index signatures now use bracket notation
|
|
20
|
+
|
|
21
|
+
## [0.13.0] - 2025-11-20
|
|
22
|
+
|
|
10
23
|
### Changed
|
|
11
24
|
|
|
12
25
|
- **Default Build to Production** - All builds now use minified production bundle
|
|
13
26
|
- `npm run build` now aliases `build:prod` (was dev build)
|
|
14
27
|
- `prepare` hook uses production build for consistent npm distribution
|
|
15
|
-
- Bundle size reduced from 2.35 MB
|
|
28
|
+
- Bundle size reduced from 2.35 MB to 1.28 MB (~45% smaller)
|
|
16
29
|
- Use `npm run build:dev` if you need sourcemaps for debugging
|
|
17
30
|
- **Integrated Linting and Formatting** - Code quality checks now run automatically
|
|
18
31
|
- `npm run lint` now runs both ESLint and Prettier checks
|
package/NUL
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
ls: cannot access 'dist/*.dxt': No such file or directory
|
package/README.md
CHANGED
|
@@ -180,20 +180,46 @@ For the complete list with technical details, see the [API Reference](docs/refer
|
|
|
180
180
|
|
|
181
181
|
Want to contribute or build from source?
|
|
182
182
|
|
|
183
|
+
### Development Setup
|
|
184
|
+
|
|
185
|
+
1. **Clone the repository:**
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
git clone https://github.com/dizzlkheinz/ynab-mcpb.git
|
|
189
|
+
cd ynab-mcpb
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
2. **Install dependencies:**
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
npm install
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
3. **Create your environment file:**
|
|
199
|
+
Copy the example environment file to a new `.env` file:
|
|
200
|
+
|
|
201
|
+
```bash
|
|
202
|
+
cp .env.example .env
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
Open the `.env` file and add your YNAB Personal Access Token:
|
|
206
|
+
|
|
207
|
+
```
|
|
208
|
+
YNAB_ACCESS_TOKEN="your-token-here"
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
4. **Build and test the project:**
|
|
212
|
+
```bash
|
|
213
|
+
npm run build
|
|
214
|
+
npm test
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
### Additional Resources
|
|
218
|
+
|
|
183
219
|
- **[Development Guide](docs/guides/DEVELOPMENT.md)** - Setup and best practices
|
|
184
220
|
- **[Architecture Overview](docs/guides/ARCHITECTURE.md)** - How the code is organized
|
|
185
221
|
- **[Testing Guide](docs/guides/TESTING.md)** - Running and writing tests
|
|
186
222
|
|
|
187
|
-
Quick start for development:
|
|
188
|
-
|
|
189
|
-
```bash
|
|
190
|
-
git clone https://github.com/dizzlkheinz/ynab-mcpb.git
|
|
191
|
-
cd ynab-mcpb
|
|
192
|
-
npm install
|
|
193
|
-
npm run build
|
|
194
|
-
npm test
|
|
195
|
-
```
|
|
196
|
-
|
|
197
223
|
## Security & Privacy
|
|
198
224
|
|
|
199
225
|
Your YNAB access token is stored securely and never logged. All communication with YNAB's API uses HTTPS, and the server validates all inputs to prevent errors and security issues.
|