@dizzlkheinz/ynab-mcpb 0.18.3 → 0.19.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.
- package/CHANGELOG.md +17 -0
- package/CLAUDE.md +87 -8
- package/bin/ynab-mcp-server.cjs +2 -2
- package/bin/ynab-mcp-server.js +3 -3
- package/biome.json +39 -0
- package/dist/bundle/index.cjs +67 -67
- package/dist/index.d.ts +1 -1
- package/dist/index.js +27 -27
- package/dist/server/YNABMCPServer.d.ts +3 -4
- package/dist/server/YNABMCPServer.js +111 -116
- package/dist/server/budgetResolver.d.ts +6 -5
- package/dist/server/budgetResolver.js +46 -36
- package/dist/server/cacheKeys.js +6 -6
- package/dist/server/cacheManager.js +14 -11
- package/dist/server/completions.d.ts +2 -2
- package/dist/server/completions.js +20 -15
- package/dist/server/config.d.ts +10 -5
- package/dist/server/config.js +24 -7
- package/dist/server/deltaCache.d.ts +2 -2
- package/dist/server/deltaCache.js +22 -16
- package/dist/server/deltaCache.merge.d.ts +2 -2
- package/dist/server/diagnostics.d.ts +4 -4
- package/dist/server/diagnostics.js +38 -32
- package/dist/server/errorHandler.d.ts +5 -12
- package/dist/server/errorHandler.js +219 -217
- package/dist/server/prompts.d.ts +2 -2
- package/dist/server/prompts.js +45 -45
- package/dist/server/rateLimiter.js +4 -4
- package/dist/server/requestLogger.d.ts +1 -1
- package/dist/server/requestLogger.js +40 -35
- package/dist/server/resources.d.ts +3 -3
- package/dist/server/resources.js +55 -52
- package/dist/server/responseFormatter.js +6 -6
- package/dist/server/securityMiddleware.d.ts +2 -2
- package/dist/server/securityMiddleware.js +22 -20
- package/dist/server/serverKnowledgeStore.js +1 -1
- package/dist/server/toolRegistry.d.ts +3 -3
- package/dist/server/toolRegistry.js +47 -40
- package/dist/tools/__tests__/deltaTestUtils.d.ts +3 -3
- package/dist/tools/__tests__/deltaTestUtils.js +2 -2
- package/dist/tools/accountTools.d.ts +9 -8
- package/dist/tools/accountTools.js +47 -47
- package/dist/tools/adapters.d.ts +13 -8
- package/dist/tools/adapters.js +21 -11
- package/dist/tools/budgetTools.d.ts +8 -7
- package/dist/tools/budgetTools.js +22 -22
- package/dist/tools/categoryTools.d.ts +9 -8
- package/dist/tools/categoryTools.js +68 -59
- package/dist/tools/compareTransactions/formatter.d.ts +3 -3
- package/dist/tools/compareTransactions/formatter.js +9 -9
- package/dist/tools/compareTransactions/index.d.ts +6 -6
- package/dist/tools/compareTransactions/index.js +58 -43
- package/dist/tools/compareTransactions/matcher.d.ts +1 -1
- package/dist/tools/compareTransactions/matcher.js +28 -15
- package/dist/tools/compareTransactions/parser.d.ts +2 -2
- package/dist/tools/compareTransactions/parser.js +144 -138
- package/dist/tools/compareTransactions/types.d.ts +4 -4
- package/dist/tools/compareTransactions.d.ts +1 -1
- package/dist/tools/compareTransactions.js +1 -1
- package/dist/tools/deltaFetcher.d.ts +2 -2
- package/dist/tools/deltaFetcher.js +16 -15
- package/dist/tools/deltaSupport.d.ts +4 -4
- package/dist/tools/deltaSupport.js +35 -41
- package/dist/tools/exportTransactions.d.ts +5 -4
- package/dist/tools/exportTransactions.js +61 -59
- package/dist/tools/monthTools.d.ts +7 -6
- package/dist/tools/monthTools.js +31 -29
- package/dist/tools/payeeTools.d.ts +7 -6
- package/dist/tools/payeeTools.js +28 -28
- package/dist/tools/reconcileAdapter.d.ts +2 -2
- package/dist/tools/reconcileAdapter.js +21 -11
- package/dist/tools/reconciliation/analyzer.d.ts +4 -4
- package/dist/tools/reconciliation/analyzer.js +136 -57
- package/dist/tools/reconciliation/csvParser.d.ts +3 -3
- package/dist/tools/reconciliation/csvParser.js +128 -104
- package/dist/tools/reconciliation/executor.d.ts +4 -4
- package/dist/tools/reconciliation/executor.js +148 -109
- package/dist/tools/reconciliation/index.d.ts +10 -10
- package/dist/tools/reconciliation/index.js +96 -83
- package/dist/tools/reconciliation/matcher.d.ts +3 -3
- package/dist/tools/reconciliation/matcher.js +17 -16
- package/dist/tools/reconciliation/payeeNormalizer.js +19 -8
- package/dist/tools/reconciliation/recommendationEngine.d.ts +1 -1
- package/dist/tools/reconciliation/recommendationEngine.js +40 -40
- package/dist/tools/reconciliation/reportFormatter.d.ts +2 -2
- package/dist/tools/reconciliation/reportFormatter.js +79 -54
- package/dist/tools/reconciliation/signDetector.d.ts +1 -1
- package/dist/tools/reconciliation/types.d.ts +19 -16
- package/dist/tools/reconciliation/ynabAdapter.d.ts +2 -2
- package/dist/tools/schemas/common.d.ts +1 -1
- package/dist/tools/schemas/common.js +1 -1
- package/dist/tools/schemas/outputs/accountOutputs.d.ts +1 -1
- package/dist/tools/schemas/outputs/accountOutputs.js +24 -18
- package/dist/tools/schemas/outputs/budgetOutputs.d.ts +1 -1
- package/dist/tools/schemas/outputs/budgetOutputs.js +14 -11
- package/dist/tools/schemas/outputs/categoryOutputs.d.ts +1 -1
- package/dist/tools/schemas/outputs/categoryOutputs.js +49 -29
- package/dist/tools/schemas/outputs/comparisonOutputs.d.ts +1 -1
- package/dist/tools/schemas/outputs/comparisonOutputs.js +12 -12
- package/dist/tools/schemas/outputs/index.d.ts +14 -14
- package/dist/tools/schemas/outputs/index.js +14 -14
- package/dist/tools/schemas/outputs/monthOutputs.d.ts +1 -1
- package/dist/tools/schemas/outputs/monthOutputs.js +56 -41
- package/dist/tools/schemas/outputs/payeeOutputs.d.ts +1 -1
- package/dist/tools/schemas/outputs/payeeOutputs.js +10 -10
- package/dist/tools/schemas/outputs/reconciliationOutputs.d.ts +2 -2
- package/dist/tools/schemas/outputs/reconciliationOutputs.js +45 -45
- package/dist/tools/schemas/outputs/transactionMutationOutputs.d.ts +1 -1
- package/dist/tools/schemas/outputs/transactionMutationOutputs.js +28 -22
- package/dist/tools/schemas/outputs/transactionOutputs.d.ts +1 -1
- package/dist/tools/schemas/outputs/transactionOutputs.js +43 -35
- package/dist/tools/schemas/outputs/utilityOutputs.d.ts +1 -1
- package/dist/tools/schemas/outputs/utilityOutputs.js +5 -3
- package/dist/tools/schemas/shared/commonOutputs.d.ts +1 -1
- package/dist/tools/schemas/shared/commonOutputs.js +15 -9
- package/dist/tools/transactionReadTools.d.ts +11 -0
- package/dist/tools/transactionReadTools.js +202 -0
- package/dist/tools/transactionSchemas.d.ts +309 -0
- package/dist/tools/transactionSchemas.js +235 -0
- package/dist/tools/transactionTools.d.ts +6 -302
- package/dist/tools/transactionTools.js +7 -2054
- package/dist/tools/transactionUtils.d.ts +31 -0
- package/dist/tools/transactionUtils.js +364 -0
- package/dist/tools/transactionWriteTools.d.ts +20 -0
- package/dist/tools/transactionWriteTools.js +1342 -0
- package/dist/tools/utilityTools.d.ts +5 -4
- package/dist/tools/utilityTools.js +11 -11
- package/dist/types/index.d.ts +7 -7
- package/dist/types/index.js +6 -6
- package/dist/types/reconciliation.d.ts +1 -1
- package/dist/types/toolRegistration.d.ts +14 -12
- package/dist/utils/amountUtils.js +1 -1
- package/dist/utils/dateUtils.js +4 -4
- package/dist/utils/errors.d.ts +3 -3
- package/dist/utils/errors.js +4 -4
- package/dist/utils/money.d.ts +2 -2
- package/dist/utils/money.js +8 -8
- package/dist/utils/validationError.d.ts +1 -1
- package/dist/utils/validationError.js +1 -1
- package/docs/assets/examples/reconciliation-with-recommendations.json +66 -66
- package/docs/assets/schemas/reconciliation-v2.json +360 -336
- package/docs/plans/2025-12-25-transaction-tools-refactor-design.md +211 -0
- package/docs/plans/2025-12-25-transaction-tools-refactor.md +905 -0
- package/esbuild.config.mjs +53 -50
- package/meta.json +12548 -12548
- package/package.json +98 -109
- package/scripts/analyze-bundle.mjs +33 -30
- package/scripts/create-pr-description.js +169 -120
- package/scripts/run-all-tests.js +205 -0
- package/scripts/run-domain-integration-tests.js +28 -18
- package/scripts/run-generate-mcpb.js +19 -17
- package/scripts/run-throttled-integration-tests.js +92 -83
- package/scripts/test-delta-params.mjs +149 -120
- package/scripts/test-recommendations.ts +36 -32
- package/scripts/tmpTransaction.ts +80 -43
- package/scripts/validate-env.js +98 -91
- package/scripts/verify-build.js +78 -76
- package/src/__tests__/comprehensive.integration.test.ts +1281 -1154
- package/src/__tests__/performance.test.ts +723 -671
- package/src/__tests__/setup.ts +442 -395
- package/src/__tests__/smoke.e2e.test.ts +41 -39
- package/src/__tests__/testRunner.ts +314 -295
- package/src/__tests__/testUtils.ts +456 -364
- package/src/__tests__/tools/reconciliation/csvParser.integration.test.ts +109 -107
- package/src/__tests__/tools/reconciliation/real-world.integration.test.ts +41 -41
- package/src/index.ts +68 -59
- package/src/server/CLAUDE.md +480 -0
- package/src/server/YNABMCPServer.ts +821 -794
- package/src/server/__tests__/YNABMCPServer.integration.test.ts +929 -893
- package/src/server/__tests__/YNABMCPServer.test.ts +903 -899
- package/src/server/__tests__/budgetResolver.test.ts +466 -423
- package/src/server/__tests__/cacheManager.test.ts +891 -874
- package/src/server/__tests__/completions.integration.test.ts +115 -106
- package/src/server/__tests__/completions.test.ts +334 -313
- package/src/server/__tests__/config.test.ts +98 -86
- package/src/server/__tests__/deltaCache.merge.test.ts +774 -703
- package/src/server/__tests__/deltaCache.swr.test.ts +198 -153
- package/src/server/__tests__/deltaCache.test.ts +946 -759
- package/src/server/__tests__/diagnostics.test.ts +825 -792
- package/src/server/__tests__/errorHandler.integration.test.ts +512 -462
- package/src/server/__tests__/errorHandler.test.ts +402 -397
- package/src/server/__tests__/prompts.test.ts +424 -347
- package/src/server/__tests__/rateLimiter.test.ts +313 -309
- package/src/server/__tests__/requestLogger.test.ts +443 -403
- package/src/server/__tests__/resources.template.test.ts +196 -185
- package/src/server/__tests__/resources.test.ts +294 -288
- package/src/server/__tests__/security.integration.test.ts +487 -421
- package/src/server/__tests__/securityMiddleware.test.ts +519 -444
- package/src/server/__tests__/server-startup.integration.test.ts +509 -490
- package/src/server/__tests__/serverKnowledgeStore.test.ts +174 -173
- package/src/server/__tests__/toolRegistration.test.ts +239 -210
- package/src/server/__tests__/toolRegistry.test.ts +907 -845
- package/src/server/budgetResolver.ts +221 -181
- package/src/server/cacheKeys.ts +6 -6
- package/src/server/cacheManager.ts +498 -484
- package/src/server/completions.ts +267 -243
- package/src/server/config.ts +35 -14
- package/src/server/deltaCache.merge.ts +146 -128
- package/src/server/deltaCache.ts +352 -309
- package/src/server/diagnostics.ts +257 -242
- package/src/server/errorHandler.ts +747 -744
- package/src/server/prompts.ts +181 -176
- package/src/server/rateLimiter.ts +131 -129
- package/src/server/requestLogger.ts +350 -322
- package/src/server/resources.ts +442 -374
- package/src/server/responseFormatter.ts +41 -37
- package/src/server/securityMiddleware.ts +223 -205
- package/src/server/serverKnowledgeStore.ts +67 -67
- package/src/server/toolRegistry.ts +508 -474
- package/src/tools/CLAUDE.md +604 -0
- package/src/tools/__tests__/accountTools.delta.integration.test.ts +128 -111
- package/src/tools/__tests__/accountTools.integration.test.ts +129 -111
- package/src/tools/__tests__/accountTools.test.ts +685 -638
- package/src/tools/__tests__/adapters.test.ts +142 -108
- package/src/tools/__tests__/budgetTools.delta.integration.test.ts +73 -73
- package/src/tools/__tests__/budgetTools.integration.test.ts +132 -124
- package/src/tools/__tests__/budgetTools.test.ts +442 -413
- package/src/tools/__tests__/categoryTools.delta.integration.test.ts +76 -68
- package/src/tools/__tests__/categoryTools.integration.test.ts +314 -288
- package/src/tools/__tests__/categoryTools.test.ts +656 -625
- package/src/tools/__tests__/compareTransactions/formatter.test.ts +535 -462
- package/src/tools/__tests__/compareTransactions/index.test.ts +378 -358
- package/src/tools/__tests__/compareTransactions/matcher.test.ts +497 -398
- package/src/tools/__tests__/compareTransactions/parser.test.ts +765 -747
- package/src/tools/__tests__/compareTransactions.test.ts +352 -332
- package/src/tools/__tests__/compareTransactions.window.test.ts +150 -146
- package/src/tools/__tests__/deltaFetcher.scheduled.integration.test.ts +69 -65
- package/src/tools/__tests__/deltaFetcher.test.ts +325 -265
- package/src/tools/__tests__/deltaSupport.test.ts +211 -184
- package/src/tools/__tests__/deltaTestUtils.ts +37 -33
- package/src/tools/__tests__/exportTransactions.test.ts +205 -200
- package/src/tools/__tests__/monthTools.delta.integration.test.ts +68 -68
- package/src/tools/__tests__/monthTools.integration.test.ts +178 -166
- package/src/tools/__tests__/monthTools.test.ts +561 -512
- package/src/tools/__tests__/payeeTools.delta.integration.test.ts +68 -68
- package/src/tools/__tests__/payeeTools.integration.test.ts +158 -142
- package/src/tools/__tests__/payeeTools.test.ts +486 -434
- package/src/tools/__tests__/transactionSchemas.test.ts +1204 -0
- package/src/tools/__tests__/transactionTools.integration.test.ts +875 -825
- package/src/tools/__tests__/transactionTools.test.ts +4923 -4366
- package/src/tools/__tests__/transactionUtils.test.ts +1016 -0
- package/src/tools/__tests__/utilityTools.integration.test.ts +32 -32
- package/src/tools/__tests__/utilityTools.test.ts +68 -58
- package/src/tools/accountTools.ts +293 -271
- package/src/tools/adapters.ts +120 -63
- package/src/tools/budgetTools.ts +121 -116
- package/src/tools/categoryTools.ts +379 -339
- package/src/tools/compareTransactions/formatter.ts +131 -119
- package/src/tools/compareTransactions/index.ts +249 -214
- package/src/tools/compareTransactions/matcher.ts +259 -209
- package/src/tools/compareTransactions/parser.ts +517 -487
- package/src/tools/compareTransactions/types.ts +38 -38
- package/src/tools/compareTransactions.ts +1 -1
- package/src/tools/deltaFetcher.ts +281 -260
- package/src/tools/deltaSupport.ts +264 -259
- package/src/tools/exportTransactions.ts +230 -218
- package/src/tools/monthTools.ts +180 -165
- package/src/tools/payeeTools.ts +152 -140
- package/src/tools/reconcileAdapter.ts +297 -246
- package/src/tools/reconciliation/CLAUDE.md +506 -0
- package/src/tools/reconciliation/__tests__/adapter.causes.test.ts +135 -112
- package/src/tools/reconciliation/__tests__/adapter.test.ts +249 -227
- package/src/tools/reconciliation/__tests__/analyzer.test.ts +408 -335
- package/src/tools/reconciliation/__tests__/csvParser.test.ts +71 -69
- package/src/tools/reconciliation/__tests__/executor.integration.test.ts +348 -323
- package/src/tools/reconciliation/__tests__/executor.progress.test.ts +503 -457
- package/src/tools/reconciliation/__tests__/executor.test.ts +898 -831
- package/src/tools/reconciliation/__tests__/matcher.test.ts +667 -663
- package/src/tools/reconciliation/__tests__/payeeNormalizer.test.ts +296 -276
- package/src/tools/reconciliation/__tests__/recommendationEngine.integration.test.ts +692 -624
- package/src/tools/reconciliation/__tests__/recommendationEngine.test.ts +1008 -986
- package/src/tools/reconciliation/__tests__/reconciliation.delta.integration.test.ts +187 -146
- package/src/tools/reconciliation/__tests__/reportFormatter.test.ts +583 -530
- package/src/tools/reconciliation/__tests__/scenarios/adapterCurrency.scenario.test.ts +75 -71
- package/src/tools/reconciliation/__tests__/scenarios/extremes.scenario.test.ts +70 -58
- package/src/tools/reconciliation/__tests__/scenarios/repeatAmount.scenario.test.ts +102 -88
- package/src/tools/reconciliation/__tests__/schemaUrl.test.ts +58 -43
- package/src/tools/reconciliation/__tests__/signDetector.test.ts +209 -206
- package/src/tools/reconciliation/__tests__/ynabAdapter.test.ts +66 -60
- package/src/tools/reconciliation/analyzer.ts +582 -406
- package/src/tools/reconciliation/csvParser.ts +656 -609
- package/src/tools/reconciliation/executor.ts +1290 -1128
- package/src/tools/reconciliation/index.ts +580 -528
- package/src/tools/reconciliation/matcher.ts +256 -240
- package/src/tools/reconciliation/payeeNormalizer.ts +92 -78
- package/src/tools/reconciliation/recommendationEngine.ts +357 -345
- package/src/tools/reconciliation/reportFormatter.ts +349 -276
- package/src/tools/reconciliation/signDetector.ts +89 -83
- package/src/tools/reconciliation/types.ts +164 -153
- package/src/tools/reconciliation/ynabAdapter.ts +17 -15
- package/src/tools/schemas/CLAUDE.md +546 -0
- package/src/tools/schemas/common.ts +1 -1
- package/src/tools/schemas/outputs/__tests__/accountOutputs.test.ts +410 -409
- package/src/tools/schemas/outputs/__tests__/budgetOutputs.test.ts +305 -299
- package/src/tools/schemas/outputs/__tests__/categoryOutputs.test.ts +431 -430
- package/src/tools/schemas/outputs/__tests__/comparisonOutputs.test.ts +510 -495
- package/src/tools/schemas/outputs/__tests__/dateValidation.test.ts +179 -153
- package/src/tools/schemas/outputs/__tests__/discrepancyDirection.test.ts +293 -254
- package/src/tools/schemas/outputs/__tests__/monthOutputs.test.ts +457 -457
- package/src/tools/schemas/outputs/__tests__/payeeOutputs.test.ts +362 -356
- package/src/tools/schemas/outputs/__tests__/reconciliationOutputs.test.ts +402 -399
- package/src/tools/schemas/outputs/__tests__/transactionMutationSchemas.test.ts +225 -211
- package/src/tools/schemas/outputs/__tests__/transactionOutputs.test.ts +457 -454
- package/src/tools/schemas/outputs/__tests__/utilityOutputs.test.ts +316 -315
- package/src/tools/schemas/outputs/accountOutputs.ts +40 -34
- package/src/tools/schemas/outputs/budgetOutputs.ts +24 -19
- package/src/tools/schemas/outputs/categoryOutputs.ts +76 -56
- package/src/tools/schemas/outputs/comparisonOutputs.ts +192 -169
- package/src/tools/schemas/outputs/index.ts +163 -163
- package/src/tools/schemas/outputs/monthOutputs.ts +95 -80
- package/src/tools/schemas/outputs/payeeOutputs.ts +18 -18
- package/src/tools/schemas/outputs/reconciliationOutputs.ts +386 -373
- package/src/tools/schemas/outputs/transactionMutationOutputs.ts +259 -231
- package/src/tools/schemas/outputs/transactionOutputs.ts +81 -71
- package/src/tools/schemas/outputs/utilityOutputs.ts +90 -84
- package/src/tools/schemas/shared/commonOutputs.ts +27 -19
- package/src/tools/toolCategories.ts +114 -114
- package/src/tools/transactionReadTools.ts +327 -0
- package/src/tools/transactionSchemas.ts +484 -0
- package/src/tools/transactionTools.ts +107 -2990
- package/src/tools/transactionUtils.ts +621 -0
- package/src/tools/transactionWriteTools.ts +2110 -0
- package/src/tools/utilityTools.ts +46 -41
- package/src/types/CLAUDE.md +477 -0
- package/src/types/__tests__/index.test.ts +51 -51
- package/src/types/index.ts +43 -39
- package/src/types/integration-tests.d.ts +26 -26
- package/src/types/reconciliation.ts +29 -29
- package/src/types/toolAnnotations.ts +30 -30
- package/src/types/toolRegistration.ts +43 -32
- package/src/utils/CLAUDE.md +508 -0
- package/src/utils/__tests__/dateUtils.test.ts +174 -168
- package/src/utils/__tests__/money.test.ts +193 -187
- package/src/utils/amountUtils.ts +5 -5
- package/src/utils/baseError.ts +5 -5
- package/src/utils/dateUtils.ts +29 -26
- package/src/utils/errors.ts +14 -14
- package/src/utils/money.ts +66 -52
- package/src/utils/validationError.ts +1 -1
- package/tsconfig.json +29 -29
- package/tsconfig.prod.json +16 -16
- package/vitest-reporters/split-json-reporter.ts +247 -204
- package/vitest.config.ts +99 -95
- package/.prettierignore +0 -10
- package/.prettierrc.json +0 -10
- package/eslint.config.js +0 -49
|
@@ -23,213 +23,213 @@
|
|
|
23
23
|
|
|
24
24
|
// Main output schemas
|
|
25
25
|
export {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
} from
|
|
26
|
+
GetUserOutputSchema,
|
|
27
|
+
type GetUserOutput,
|
|
28
|
+
GetDefaultBudgetOutputSchema,
|
|
29
|
+
type GetDefaultBudgetOutput,
|
|
30
|
+
SetDefaultBudgetOutputSchema,
|
|
31
|
+
type SetDefaultBudgetOutput,
|
|
32
|
+
ClearCacheOutputSchema,
|
|
33
|
+
type ClearCacheOutput,
|
|
34
|
+
SetOutputFormatOutputSchema,
|
|
35
|
+
type SetOutputFormatOutput,
|
|
36
|
+
DiagnosticInfoOutputSchema,
|
|
37
|
+
type DiagnosticInfoOutput,
|
|
38
|
+
GetBudgetOutputSchema,
|
|
39
|
+
type GetBudgetOutput,
|
|
40
|
+
} from "./utilityOutputs.js";
|
|
41
41
|
|
|
42
42
|
// Nested schemas that may be useful independently
|
|
43
43
|
export {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
} from
|
|
44
|
+
UserSchema,
|
|
45
|
+
DateFormatSchema,
|
|
46
|
+
CurrencyFormatSchema,
|
|
47
|
+
BudgetDetailSchema,
|
|
48
|
+
ServerInfoSchema,
|
|
49
|
+
MemoryInfoSchema,
|
|
50
|
+
EnvironmentInfoSchema,
|
|
51
|
+
CacheInfoSchema,
|
|
52
|
+
DeltaInfoSchema,
|
|
53
|
+
} from "./utilityOutputs.js";
|
|
54
54
|
|
|
55
55
|
// ============================================================================
|
|
56
56
|
// BUDGET TOOL OUTPUT SCHEMAS
|
|
57
57
|
// ============================================================================
|
|
58
58
|
|
|
59
59
|
export {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
} from
|
|
60
|
+
ListBudgetsOutputSchema,
|
|
61
|
+
type ListBudgetsOutput,
|
|
62
|
+
BudgetSummarySchema,
|
|
63
|
+
type BudgetSummary,
|
|
64
|
+
} from "./budgetOutputs.js";
|
|
65
65
|
|
|
66
66
|
// ============================================================================
|
|
67
67
|
// ACCOUNT TOOL OUTPUT SCHEMAS
|
|
68
68
|
// ============================================================================
|
|
69
69
|
|
|
70
70
|
export {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
} from
|
|
71
|
+
ListAccountsOutputSchema,
|
|
72
|
+
type ListAccountsOutput,
|
|
73
|
+
GetAccountOutputSchema,
|
|
74
|
+
type GetAccountOutput,
|
|
75
|
+
AccountSchema,
|
|
76
|
+
type Account,
|
|
77
|
+
} from "./accountOutputs.js";
|
|
78
78
|
|
|
79
79
|
// ============================================================================
|
|
80
80
|
// TRANSACTION TOOL OUTPUT SCHEMAS
|
|
81
81
|
// ============================================================================
|
|
82
82
|
|
|
83
83
|
export {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
} from
|
|
84
|
+
ListTransactionsOutputSchema,
|
|
85
|
+
type ListTransactionsOutput,
|
|
86
|
+
GetTransactionOutputSchema,
|
|
87
|
+
type GetTransactionOutput,
|
|
88
|
+
TransactionSchema,
|
|
89
|
+
type Transaction,
|
|
90
|
+
TransactionPreviewSchema,
|
|
91
|
+
type TransactionPreview,
|
|
92
|
+
} from "./transactionOutputs.js";
|
|
93
93
|
|
|
94
94
|
// ============================================================================
|
|
95
95
|
// CATEGORY TOOL OUTPUT SCHEMAS
|
|
96
96
|
// ============================================================================
|
|
97
97
|
|
|
98
98
|
export {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
} from
|
|
99
|
+
ListCategoriesOutputSchema,
|
|
100
|
+
type ListCategoriesOutput,
|
|
101
|
+
GetCategoryOutputSchema,
|
|
102
|
+
type GetCategoryOutput,
|
|
103
|
+
CategorySchema,
|
|
104
|
+
type Category,
|
|
105
|
+
CategoryGroupSchema,
|
|
106
|
+
type CategoryGroup,
|
|
107
|
+
} from "./categoryOutputs.js";
|
|
108
108
|
|
|
109
109
|
// ============================================================================
|
|
110
110
|
// PAYEE TOOL OUTPUT SCHEMAS
|
|
111
111
|
// ============================================================================
|
|
112
112
|
|
|
113
113
|
export {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
} from
|
|
114
|
+
ListPayeesOutputSchema,
|
|
115
|
+
type ListPayeesOutput,
|
|
116
|
+
GetPayeeOutputSchema,
|
|
117
|
+
type GetPayeeOutput,
|
|
118
|
+
PayeeSchema,
|
|
119
|
+
type Payee,
|
|
120
|
+
} from "./payeeOutputs.js";
|
|
121
121
|
|
|
122
122
|
// ============================================================================
|
|
123
123
|
// MONTH TOOL OUTPUT SCHEMAS
|
|
124
124
|
// ============================================================================
|
|
125
125
|
|
|
126
126
|
export {
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
} from
|
|
127
|
+
GetMonthOutputSchema,
|
|
128
|
+
type GetMonthOutput,
|
|
129
|
+
ListMonthsOutputSchema,
|
|
130
|
+
type ListMonthsOutput,
|
|
131
|
+
MonthDetailSchema,
|
|
132
|
+
type MonthDetail,
|
|
133
|
+
MonthSummarySchema,
|
|
134
|
+
type MonthSummary,
|
|
135
|
+
MonthCategorySchema,
|
|
136
|
+
type MonthCategory,
|
|
137
|
+
} from "./monthOutputs.js";
|
|
138
138
|
|
|
139
139
|
// ============================================================================
|
|
140
140
|
// TRANSACTION MUTATION OUTPUT SCHEMAS
|
|
141
141
|
// ============================================================================
|
|
142
142
|
|
|
143
143
|
export {
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
} from
|
|
144
|
+
CreateTransactionOutputSchema,
|
|
145
|
+
type CreateTransactionOutput,
|
|
146
|
+
CreateTransactionsOutputSchema,
|
|
147
|
+
type CreateTransactionsOutput,
|
|
148
|
+
UpdateTransactionOutputSchema,
|
|
149
|
+
type UpdateTransactionOutput,
|
|
150
|
+
UpdateTransactionsOutputSchema,
|
|
151
|
+
type UpdateTransactionsOutput,
|
|
152
|
+
DeleteTransactionOutputSchema,
|
|
153
|
+
type DeleteTransactionOutput,
|
|
154
|
+
CreateReceiptSplitTransactionOutputSchema,
|
|
155
|
+
type CreateReceiptSplitTransactionOutput,
|
|
156
|
+
CreateAccountOutputSchema,
|
|
157
|
+
type CreateAccountOutput,
|
|
158
|
+
UpdateCategoryOutputSchema,
|
|
159
|
+
type UpdateCategoryOutput,
|
|
160
|
+
} from "./transactionMutationOutputs.js";
|
|
161
161
|
|
|
162
162
|
// Nested schemas for transaction mutations
|
|
163
163
|
export {
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
} from
|
|
164
|
+
SubtransactionSchema,
|
|
165
|
+
type Subtransaction,
|
|
166
|
+
SubtransactionPreviewSchema,
|
|
167
|
+
type SubtransactionPreview,
|
|
168
|
+
TransactionWithBalanceSchema,
|
|
169
|
+
type TransactionWithBalance,
|
|
170
|
+
TransactionDryRunPreviewSchema,
|
|
171
|
+
type TransactionDryRunPreview,
|
|
172
|
+
ReceiptItemSchema,
|
|
173
|
+
type ReceiptItem,
|
|
174
|
+
ReceiptCategoryBreakdownSchema,
|
|
175
|
+
type ReceiptCategoryBreakdown,
|
|
176
|
+
ReceiptSummarySchema,
|
|
177
|
+
type ReceiptSummary,
|
|
178
|
+
BulkOperationSummarySchema,
|
|
179
|
+
type BulkOperationSummary,
|
|
180
|
+
BulkResultSchema,
|
|
181
|
+
type BulkResult,
|
|
182
|
+
DryRunPreviewItemSchema,
|
|
183
|
+
type DryRunPreviewItem,
|
|
184
|
+
DryRunWarningSchema,
|
|
185
|
+
type DryRunWarning,
|
|
186
|
+
} from "./transactionMutationOutputs.js";
|
|
187
187
|
|
|
188
188
|
// ============================================================================
|
|
189
189
|
// RECONCILIATION OUTPUT SCHEMAS
|
|
190
190
|
// ============================================================================
|
|
191
191
|
|
|
192
192
|
export {
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
} from
|
|
193
|
+
ReconcileAccountOutputSchema,
|
|
194
|
+
type ReconcileAccountOutput,
|
|
195
|
+
} from "./reconciliationOutputs.js";
|
|
196
196
|
|
|
197
197
|
// Nested schemas for reconciliation
|
|
198
198
|
export {
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
} from
|
|
199
|
+
MoneyValueSchema,
|
|
200
|
+
type MoneyValue,
|
|
201
|
+
BankTransactionSchema,
|
|
202
|
+
type BankTransaction,
|
|
203
|
+
YNABTransactionSimpleSchema,
|
|
204
|
+
type YNABTransactionSimple,
|
|
205
|
+
MatchCandidateSchema,
|
|
206
|
+
type MatchCandidate,
|
|
207
|
+
TransactionMatchSchema,
|
|
208
|
+
type TransactionMatch,
|
|
209
|
+
BalanceInfoSchema,
|
|
210
|
+
type BalanceInfo,
|
|
211
|
+
ReconciliationSummarySchema,
|
|
212
|
+
type ReconciliationSummary,
|
|
213
|
+
ReconciliationInsightSchema,
|
|
214
|
+
type ReconciliationInsight,
|
|
215
|
+
ActionableRecommendationSchema,
|
|
216
|
+
type ActionableRecommendation,
|
|
217
|
+
ExecutionResultSchema,
|
|
218
|
+
type ExecutionResult,
|
|
219
|
+
AuditMetadataSchema,
|
|
220
|
+
type AuditMetadata,
|
|
221
|
+
} from "./reconciliationOutputs.js";
|
|
222
222
|
|
|
223
223
|
// ============================================================================
|
|
224
224
|
// COMPARISON AND EXPORT OUTPUT SCHEMAS
|
|
225
225
|
// ============================================================================
|
|
226
226
|
|
|
227
227
|
export {
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
} from
|
|
228
|
+
CompareTransactionsOutputSchema,
|
|
229
|
+
type CompareTransactionsOutput,
|
|
230
|
+
ExportTransactionsOutputSchema,
|
|
231
|
+
type ExportTransactionsOutput,
|
|
232
|
+
} from "./comparisonOutputs.js";
|
|
233
233
|
|
|
234
234
|
/**
|
|
235
235
|
* Nested schemas for comparison and export.
|
|
@@ -246,22 +246,22 @@ export {
|
|
|
246
246
|
* ExportTransactionsOutputSchema) for stable contracts.
|
|
247
247
|
*/
|
|
248
248
|
export {
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
} from
|
|
249
|
+
/** @internal - Used during matching algorithm, not part of public output */
|
|
250
|
+
BankTransactionComparisonSchema,
|
|
251
|
+
type BankTransactionComparison,
|
|
252
|
+
/** @internal - Used during matching algorithm, not part of public output */
|
|
253
|
+
YNABTransactionComparisonSchema,
|
|
254
|
+
type YNABTransactionComparison,
|
|
255
|
+
/** @internal - Used during matching algorithm, not part of public output */
|
|
256
|
+
TransactionMatchComparisonSchema,
|
|
257
|
+
type TransactionMatchComparison,
|
|
258
|
+
// Public contracts below - part of stable tool output
|
|
259
|
+
ComparisonParametersSchema,
|
|
260
|
+
type ComparisonParameters,
|
|
261
|
+
DateRangeSchema,
|
|
262
|
+
type DateRange,
|
|
263
|
+
ExportInfoSchema,
|
|
264
|
+
type ExportInfo,
|
|
265
|
+
ExportedTransactionSchema,
|
|
266
|
+
type ExportedTransaction,
|
|
267
|
+
} from "./comparisonOutputs.js";
|
|
@@ -79,8 +79,8 @@
|
|
|
79
79
|
* ```
|
|
80
80
|
*/
|
|
81
81
|
|
|
82
|
-
import { z } from
|
|
83
|
-
import { CacheMetadataSchema } from
|
|
82
|
+
import { z } from "zod/v4";
|
|
83
|
+
import { CacheMetadataSchema } from "../shared/commonOutputs.js";
|
|
84
84
|
|
|
85
85
|
/**
|
|
86
86
|
* Schema for a category within month data.
|
|
@@ -89,65 +89,77 @@ import { CacheMetadataSchema } from '../shared/commonOutputs.js';
|
|
|
89
89
|
* specific to month budget data.
|
|
90
90
|
*/
|
|
91
91
|
export const MonthCategorySchema = z.object({
|
|
92
|
-
|
|
93
|
-
|
|
92
|
+
/** Unique identifier for the category */
|
|
93
|
+
id: z.string().describe("Category ID"),
|
|
94
94
|
|
|
95
|
-
|
|
96
|
-
|
|
95
|
+
/** Category group ID this category belongs to */
|
|
96
|
+
category_group_id: z.string().describe("Category group ID"),
|
|
97
97
|
|
|
98
|
-
|
|
99
|
-
|
|
98
|
+
/** Category group name (optional) */
|
|
99
|
+
category_group_name: z.string().optional().describe("Category group name"),
|
|
100
100
|
|
|
101
|
-
|
|
102
|
-
|
|
101
|
+
/** Human-readable category name */
|
|
102
|
+
name: z.string().describe("Category name"),
|
|
103
103
|
|
|
104
|
-
|
|
105
|
-
|
|
104
|
+
/** Whether category is hidden */
|
|
105
|
+
hidden: z.boolean().describe("Hidden flag"),
|
|
106
106
|
|
|
107
|
-
|
|
108
|
-
|
|
107
|
+
/** Original category group ID if moved (optional) */
|
|
108
|
+
original_category_group_id: z
|
|
109
|
+
.string()
|
|
110
|
+
.optional()
|
|
111
|
+
.describe("Original category group ID"),
|
|
109
112
|
|
|
110
|
-
|
|
111
|
-
|
|
113
|
+
/** Optional category note */
|
|
114
|
+
note: z.string().optional().describe("Category note"),
|
|
112
115
|
|
|
113
|
-
|
|
114
|
-
|
|
116
|
+
/** Budgeted amount in dollars */
|
|
117
|
+
budgeted: z.number().describe("Budgeted amount in dollars"),
|
|
115
118
|
|
|
116
|
-
|
|
117
|
-
|
|
119
|
+
/** Activity (spending) in dollars */
|
|
120
|
+
activity: z.number().describe("Activity in dollars"),
|
|
118
121
|
|
|
119
|
-
|
|
120
|
-
|
|
122
|
+
/** Current balance in dollars */
|
|
123
|
+
balance: z.number().describe("Balance in dollars"),
|
|
121
124
|
|
|
122
|
-
|
|
123
|
-
|
|
125
|
+
/** Goal type (TB, TBD, MF, NEED, DEBT, optional) */
|
|
126
|
+
goal_type: z.string().optional().describe("Goal type"),
|
|
124
127
|
|
|
125
|
-
|
|
126
|
-
|
|
128
|
+
/** Goal creation month (YYYY-MM-DD, optional) */
|
|
129
|
+
goal_creation_month: z.string().optional().describe("Goal creation month"),
|
|
127
130
|
|
|
128
|
-
|
|
129
|
-
|
|
131
|
+
/** Goal target amount in milliunits (optional) */
|
|
132
|
+
goal_target: z.number().optional().describe("Goal target in milliunits"),
|
|
130
133
|
|
|
131
|
-
|
|
132
|
-
|
|
134
|
+
/** Goal target month (YYYY-MM-DD, optional) */
|
|
135
|
+
goal_target_month: z.string().optional().describe("Goal target month"),
|
|
133
136
|
|
|
134
|
-
|
|
135
|
-
|
|
137
|
+
/** Goal percentage complete (optional) */
|
|
138
|
+
goal_percentage_complete: z
|
|
139
|
+
.number()
|
|
140
|
+
.optional()
|
|
141
|
+
.describe("Goal percentage complete"),
|
|
136
142
|
|
|
137
|
-
|
|
138
|
-
|
|
143
|
+
/** Goal months to budget (optional) */
|
|
144
|
+
goal_months_to_budget: z
|
|
145
|
+
.number()
|
|
146
|
+
.optional()
|
|
147
|
+
.describe("Goal months to budget"),
|
|
139
148
|
|
|
140
|
-
|
|
141
|
-
|
|
149
|
+
/** Goal under funded amount (optional) */
|
|
150
|
+
goal_under_funded: z.number().optional().describe("Goal under funded amount"),
|
|
142
151
|
|
|
143
|
-
|
|
144
|
-
|
|
152
|
+
/** Goal overall funded amount (optional) */
|
|
153
|
+
goal_overall_funded: z
|
|
154
|
+
.number()
|
|
155
|
+
.optional()
|
|
156
|
+
.describe("Goal overall funded amount"),
|
|
145
157
|
|
|
146
|
-
|
|
147
|
-
|
|
158
|
+
/** Goal overall left amount (optional) */
|
|
159
|
+
goal_overall_left: z.number().optional().describe("Goal overall left amount"),
|
|
148
160
|
|
|
149
|
-
|
|
150
|
-
|
|
161
|
+
/** Whether category is deleted */
|
|
162
|
+
deleted: z.boolean().describe("Deleted flag"),
|
|
151
163
|
});
|
|
152
164
|
|
|
153
165
|
/**
|
|
@@ -156,32 +168,35 @@ export const MonthCategorySchema = z.object({
|
|
|
156
168
|
* Used by get_month to return complete month details.
|
|
157
169
|
*/
|
|
158
170
|
export const MonthDetailSchema = z.object({
|
|
159
|
-
|
|
160
|
-
|
|
171
|
+
/** Month identifier (YYYY-MM-DD format, first day of month) */
|
|
172
|
+
month: z.string().describe("Month identifier"),
|
|
161
173
|
|
|
162
|
-
|
|
163
|
-
|
|
174
|
+
/** Optional month note */
|
|
175
|
+
note: z.string().optional().describe("Month note"),
|
|
164
176
|
|
|
165
|
-
|
|
166
|
-
|
|
177
|
+
/** Total income for the month in dollars */
|
|
178
|
+
income: z.number().describe("Income in dollars"),
|
|
167
179
|
|
|
168
|
-
|
|
169
|
-
|
|
180
|
+
/** Total budgeted for the month in dollars */
|
|
181
|
+
budgeted: z.number().describe("Budgeted amount in dollars"),
|
|
170
182
|
|
|
171
|
-
|
|
172
|
-
|
|
183
|
+
/** Total activity (spending) for the month in dollars */
|
|
184
|
+
activity: z.number().describe("Activity in dollars"),
|
|
173
185
|
|
|
174
|
-
|
|
175
|
-
|
|
186
|
+
/** Amount to be budgeted in dollars */
|
|
187
|
+
to_be_budgeted: z.number().describe("To be budgeted in dollars"),
|
|
176
188
|
|
|
177
|
-
|
|
178
|
-
|
|
189
|
+
/** Age of money in days (optional, can be null if insufficient history) */
|
|
190
|
+
age_of_money: z.number().nullish().describe("Age of money in days"),
|
|
179
191
|
|
|
180
|
-
|
|
181
|
-
|
|
192
|
+
/** Whether month is deleted */
|
|
193
|
+
deleted: z.boolean().describe("Deleted flag"),
|
|
182
194
|
|
|
183
|
-
|
|
184
|
-
|
|
195
|
+
/** Array of category data for this month (optional) */
|
|
196
|
+
categories: z
|
|
197
|
+
.array(MonthCategorySchema)
|
|
198
|
+
.optional()
|
|
199
|
+
.describe("Categories for this month"),
|
|
185
200
|
});
|
|
186
201
|
|
|
187
202
|
/**
|
|
@@ -190,29 +205,29 @@ export const MonthDetailSchema = z.object({
|
|
|
190
205
|
* Used by list_months to return month summaries without category details.
|
|
191
206
|
*/
|
|
192
207
|
export const MonthSummarySchema = z.object({
|
|
193
|
-
|
|
194
|
-
|
|
208
|
+
/** Month identifier (YYYY-MM-DD format, first day of month) */
|
|
209
|
+
month: z.string().describe("Month identifier"),
|
|
195
210
|
|
|
196
|
-
|
|
197
|
-
|
|
211
|
+
/** Optional month note */
|
|
212
|
+
note: z.string().optional().describe("Month note"),
|
|
198
213
|
|
|
199
|
-
|
|
200
|
-
|
|
214
|
+
/** Total income for the month in dollars */
|
|
215
|
+
income: z.number().describe("Income in dollars"),
|
|
201
216
|
|
|
202
|
-
|
|
203
|
-
|
|
217
|
+
/** Total budgeted for the month in dollars */
|
|
218
|
+
budgeted: z.number().describe("Budgeted amount in dollars"),
|
|
204
219
|
|
|
205
|
-
|
|
206
|
-
|
|
220
|
+
/** Total activity (spending) for the month in dollars */
|
|
221
|
+
activity: z.number().describe("Activity in dollars"),
|
|
207
222
|
|
|
208
|
-
|
|
209
|
-
|
|
223
|
+
/** Amount to be budgeted in dollars */
|
|
224
|
+
to_be_budgeted: z.number().describe("To be budgeted in dollars"),
|
|
210
225
|
|
|
211
|
-
|
|
212
|
-
|
|
226
|
+
/** Age of money in days (optional, can be null if insufficient history) */
|
|
227
|
+
age_of_money: z.number().nullish().describe("Age of money in days"),
|
|
213
228
|
|
|
214
|
-
|
|
215
|
-
|
|
229
|
+
/** Whether month is deleted */
|
|
230
|
+
deleted: z.boolean().describe("Deleted flag"),
|
|
216
231
|
});
|
|
217
232
|
|
|
218
233
|
/**
|
|
@@ -221,8 +236,8 @@ export const MonthSummarySchema = z.object({
|
|
|
221
236
|
* Returns detailed month data including categories with cache metadata.
|
|
222
237
|
*/
|
|
223
238
|
export const GetMonthOutputSchema = CacheMetadataSchema.extend({
|
|
224
|
-
|
|
225
|
-
|
|
239
|
+
/** Detailed month object including categories */
|
|
240
|
+
month: MonthDetailSchema.describe("Month details"),
|
|
226
241
|
});
|
|
227
242
|
|
|
228
243
|
/**
|
|
@@ -231,8 +246,8 @@ export const GetMonthOutputSchema = CacheMetadataSchema.extend({
|
|
|
231
246
|
* Returns summary of all months without category details.
|
|
232
247
|
*/
|
|
233
248
|
export const ListMonthsOutputSchema = CacheMetadataSchema.extend({
|
|
234
|
-
|
|
235
|
-
|
|
249
|
+
/** Array of month summary objects */
|
|
250
|
+
months: z.array(MonthSummarySchema).describe("List of months"),
|
|
236
251
|
});
|
|
237
252
|
|
|
238
253
|
// Export inferred TypeScript types
|