@warmio/contracts 3.0.6 → 3.0.7
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/dist/api/endpoints.d.ts +2 -0
- package/dist/api/endpoints.d.ts.map +1 -1
- package/dist/api/endpoints.js +2 -0
- package/dist/api/endpoints.js.map +1 -1
- package/dist/financial-context-artifact-protocol.d.ts +1425 -7
- package/dist/financial-context-artifact-protocol.d.ts.map +1 -1
- package/dist/financial-context-artifact-protocol.js +20 -4
- package/dist/financial-context-artifact-protocol.js.map +1 -1
- package/dist/generated/mcp-package-release-metadata.d.ts +1 -1
- package/dist/generated/mcp-package-release-metadata.js +1 -1
- package/dist/generated/private-mcp-tool-descriptors.d.ts +57 -0
- package/dist/generated/private-mcp-tool-descriptors.d.ts.map +1 -1
- package/dist/generated/private-mcp-tool-descriptors.js +84 -0
- package/dist/generated/private-mcp-tool-descriptors.js.map +1 -1
- package/dist/generated/protected-crawler-paths.d.ts +1 -1
- package/dist/generated/protected-crawler-paths.d.ts.map +1 -1
- package/dist/generated/protected-crawler-paths.js +0 -3
- package/dist/generated/protected-crawler-paths.js.map +1 -1
- package/dist/generated/warm-app-api-manifest.d.ts +62 -5
- package/dist/generated/warm-app-api-manifest.d.ts.map +1 -1
- package/dist/generated/warm-app-api-manifest.js +89 -5
- package/dist/generated/warm-app-api-manifest.js.map +1 -1
- package/dist/mcp/hosted-write-tools.d.ts +1745 -0
- package/dist/mcp/hosted-write-tools.d.ts.map +1 -0
- package/dist/mcp/hosted-write-tools.js +318 -0
- package/dist/mcp/hosted-write-tools.js.map +1 -0
- package/dist/mcp/index.d.ts +1 -0
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +1 -0
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/public-output.d.ts +63 -3
- package/dist/mcp/public-output.d.ts.map +1 -1
- package/dist/mcp/public-output.js +23 -2
- package/dist/mcp/public-output.js.map +1 -1
- package/dist/mcp/public-tools.d.ts +46 -2
- package/dist/mcp/public-tools.d.ts.map +1 -1
- package/dist/mcp/public-tools.js +2 -0
- package/dist/mcp/public-tools.js.map +1 -1
- package/dist/mcp/tools.d.ts +146 -13
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +17 -15
- package/dist/mcp/tools.js.map +1 -1
- package/dist/schemas/financial-context.d.ts +52 -0
- package/dist/schemas/financial-context.d.ts.map +1 -1
- package/dist/schemas/financial-context.js +4 -0
- package/dist/schemas/financial-context.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hosted-write-tools.d.ts","sourceRoot":"","sources":["../../src/mcp/hosted-write-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAoB,MAAM,KAAK,CAAC;AAC1C,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG3E,eAAO,MAAM,2BAA2B,4BAA4B,CAAC;AACrE,MAAM,MAAM,wBAAwB,GAAG,OAAO,2BAA2B,CAAC;AAE1E,eAAO,MAAM,8BAA8B,YAAI,qBAAqB,EAAE,kBAAkB,CAAU,CAAC;AACnG,MAAM,MAAM,yBAAyB,GAAG,CAAC,OAAO,8BAA8B,CAAC,CAAC,MAAM,CAAC,CAAC;AAExF,eAAO,MAAM,6BAA6B,YACxC,QAAQ,EACR,aAAa,EACb,cAAc,EACd,eAAe,EACf,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,2BAA2B,EAC3B,gBAAgB,EAChB,QAAQ,EACR,oBAAoB,CACZ,CAAC;AAEX,eAAO,MAAM,sCAAsC,KAAK,CAAC;AACzD,eAAO,MAAM,sCAAsC,KAAK,CAAC;AACzD,eAAO,MAAM,8BAA8B,KAAK,CAAC;AAWjD,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwD5C,CAAC;AAEL,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;EAOhC,CAAC;AAEZ,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAC;AAChG,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAG4B,CAAC;AAErE,MAAM,MAAM,sBAAsB,GAC9B;IAAE,YAAY,EAAE,qBAAqB,CAAC;IAAC,KAAK,EAAE,6BAA6B,CAAA;CAAE,GAC7E;IAAE,YAAY,EAAE,kBAAkB,CAAC;IAAC,KAAK,EAAE,wBAAwB,CAAA;CAAE,CAAC;AAE1E,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IACjD,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;CAChB,GAAG,sBAAsB,GAAG,IAAI,CAUhC;AAWD,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAStC,CAAC;AAEZ,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiBvC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,kCAAkC,YAC7C,SAAS,EACT,UAAU,EACV,UAAU,EACV,UAAU,EACV,SAAS,CACD,CAAC;AACX,eAAO,MAAM,mCAAmC,YAC9C,aAAa,EACb,SAAS,EACT,WAAW,EACX,QAAQ,EACR,WAAW,CACH,CAAC;AACX,MAAM,MAAM,8BAA8B,GAAG,CAAC,OAAO,mCAAmC,CAAC,CAAC,MAAM,CAAC,CAAC;AAElG,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;IActC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAQhF,eAAO,MAAM,6BAA6B;;;;;;CAcnB,CAAC;AAExB,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAG1B,CAAC;AAExB,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMxB,CAAC;AAExB,eAAO,MAAM,+BAA+B;;CAErB,CAAC;AAExB,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;EAAmD,CAAC;AAC/F,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEvC,CAAC;AACZ,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAErC,CAAC;AACZ,eAAO,MAAM,gCAAgC;;;;;;EAAqD,CAAC;AAEnG,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACtF,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qCAAqC,CAAC,CAAC;AACpG,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAC;AAChG,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAE1F,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAalC,CAAC;AAEZ,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOjC,CAAC;AAEZ,eAAO,MAAM,sCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAaxC,CAAC;AAEZ,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOtC,CAAC;AAEZ,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASnC,CAAC;AAEZ,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AACxF,MAAM,MAAM,gCAAgC,GAAG,CAAC,CAAC,KAAK,CACpD,OAAO,sCAAsC,CAC9C,CAAC;AACF,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oCAAoC,CAAC,CAAC;AAClG,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAE5F,MAAM,MAAM,sBAAsB,GAC9B,mBAAmB,GACnB,oBAAoB,GACpB,kBAAkB,GAClB,sBAAsB,CAAC;AAoB3B,KAAK,mBAAmB,GAAG,eAAe,GAAG;IAC3C,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;KAAE,GAAG,SAAS,CAAC;CAC9D,CAAC;AAUF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCkB,CAAC;AAE7D,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAQzC,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,CAAC,OAAO,6BAA6B,CAAC,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { zodToJsonSchema } from 'zod-to-json-schema';
|
|
3
|
+
import { financialContextMonthSchema } from '../schemas/index.js';
|
|
4
|
+
export const HOSTED_MCP_WRITE_PERMISSION = 'financial_records:write';
|
|
5
|
+
export const HOSTED_MCP_WRITE_OPERATION_IDS = ['transactions.update', 'tag_rules.create'];
|
|
6
|
+
export const HOSTED_MCP_PRIMARY_CATEGORIES = [
|
|
7
|
+
'INCOME',
|
|
8
|
+
'TRANSFER_IN',
|
|
9
|
+
'TRANSFER_OUT',
|
|
10
|
+
'LOAN_PAYMENTS',
|
|
11
|
+
'BANK_FEES',
|
|
12
|
+
'ENTERTAINMENT',
|
|
13
|
+
'FOOD_AND_DRINK',
|
|
14
|
+
'GENERAL_MERCHANDISE',
|
|
15
|
+
'HOME_IMPROVEMENT',
|
|
16
|
+
'MEDICAL',
|
|
17
|
+
'PERSONAL_CARE',
|
|
18
|
+
'GENERAL_SERVICES',
|
|
19
|
+
'GOVERNMENT_AND_NON_PROFIT',
|
|
20
|
+
'TRANSPORTATION',
|
|
21
|
+
'TRAVEL',
|
|
22
|
+
'RENT_AND_UTILITIES',
|
|
23
|
+
];
|
|
24
|
+
export const HOSTED_MCP_FIND_TRANSACTIONS_PAGE_SIZE = 50;
|
|
25
|
+
export const HOSTED_MCP_MAX_TRANSACTIONS_PER_CHANGE = 50;
|
|
26
|
+
export const HOSTED_MCP_MAX_TAGS_PER_CHANGE = 10;
|
|
27
|
+
const transactionIdSchema = z.string().min(1).max(128);
|
|
28
|
+
const tagNameSchema = z.string().trim().min(1).max(50);
|
|
29
|
+
const primaryCategorySchema = z.enum(HOSTED_MCP_PRIMARY_CATEGORIES);
|
|
30
|
+
const detailedCategorySchema = z
|
|
31
|
+
.string()
|
|
32
|
+
.regex(/^[A-Z][A-Z0-9_]{1,99}$/u)
|
|
33
|
+
.describe('A Warm detailed category code such as FOOD_AND_DRINK_RESTAURANT.');
|
|
34
|
+
const uniqueStrings = (values) => new Set(values).size === values.length;
|
|
35
|
+
export const hostedTransactionsUpdateInputSchema = z
|
|
36
|
+
.object({
|
|
37
|
+
transaction_ids: z
|
|
38
|
+
.array(transactionIdSchema)
|
|
39
|
+
.min(1)
|
|
40
|
+
.max(HOSTED_MCP_MAX_TRANSACTIONS_PER_CHANGE)
|
|
41
|
+
.refine(uniqueStrings, 'Transaction ids must be unique.')
|
|
42
|
+
.describe('Transaction ids from find_transactions. Every listed transaction gets the same change.'),
|
|
43
|
+
primary_category: primaryCategorySchema.optional(),
|
|
44
|
+
detailed_category: detailedCategorySchema.nullable().optional(),
|
|
45
|
+
add_tags: z
|
|
46
|
+
.array(tagNameSchema)
|
|
47
|
+
.max(HOSTED_MCP_MAX_TAGS_PER_CHANGE)
|
|
48
|
+
.refine(uniqueStrings, 'Tags must be unique.')
|
|
49
|
+
.optional()
|
|
50
|
+
.describe('Tags to add. Existing tags stay.'),
|
|
51
|
+
remove_tags: z
|
|
52
|
+
.array(tagNameSchema)
|
|
53
|
+
.max(HOSTED_MCP_MAX_TAGS_PER_CHANGE)
|
|
54
|
+
.refine(uniqueStrings, 'Tags must be unique.')
|
|
55
|
+
.optional()
|
|
56
|
+
.describe('Tags to remove. Other tags stay.'),
|
|
57
|
+
name: z
|
|
58
|
+
.string()
|
|
59
|
+
.trim()
|
|
60
|
+
.min(1)
|
|
61
|
+
.max(255)
|
|
62
|
+
.optional()
|
|
63
|
+
.describe('New name. Only for one manually added transaction.'),
|
|
64
|
+
})
|
|
65
|
+
.strict()
|
|
66
|
+
.superRefine((input, context) => {
|
|
67
|
+
const changed = input.primary_category !== undefined ||
|
|
68
|
+
input.detailed_category !== undefined ||
|
|
69
|
+
(input.add_tags?.length ?? 0) > 0 ||
|
|
70
|
+
(input.remove_tags?.length ?? 0) > 0 ||
|
|
71
|
+
input.name !== undefined;
|
|
72
|
+
if (!changed) {
|
|
73
|
+
context.addIssue({ code: z.ZodIssueCode.custom, message: 'Describe at least one change.' });
|
|
74
|
+
}
|
|
75
|
+
if (input.name !== undefined && input.transaction_ids.length !== 1) {
|
|
76
|
+
context.addIssue({
|
|
77
|
+
code: z.ZodIssueCode.custom,
|
|
78
|
+
message: 'A rename applies to exactly one transaction.',
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
const removed = new Set(input.remove_tags ?? []);
|
|
82
|
+
if ((input.add_tags ?? []).some((tag) => removed.has(tag))) {
|
|
83
|
+
context.addIssue({
|
|
84
|
+
code: z.ZodIssueCode.custom,
|
|
85
|
+
message: 'A tag cannot be added and removed in one change.',
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
export const hostedTagRuleCreateInputSchema = z
|
|
90
|
+
.object({
|
|
91
|
+
merchant_name: z.string().trim().min(1).max(255),
|
|
92
|
+
tag_name: tagNameSchema,
|
|
93
|
+
direction: z.enum(['income', 'expense']),
|
|
94
|
+
case_insensitive: z.boolean().optional(),
|
|
95
|
+
})
|
|
96
|
+
.strict();
|
|
97
|
+
export const hostedOperationInputSchemas = {
|
|
98
|
+
'transactions.update': hostedTransactionsUpdateInputSchema,
|
|
99
|
+
'tag_rules.create': hostedTagRuleCreateInputSchema,
|
|
100
|
+
};
|
|
101
|
+
export function parseHostedOperationRequest(value) {
|
|
102
|
+
if (value.operation_id === 'transactions.update') {
|
|
103
|
+
const parsed = hostedTransactionsUpdateInputSchema.safeParse(value.input);
|
|
104
|
+
return parsed.success ? { operation_id: 'transactions.update', input: parsed.data } : null;
|
|
105
|
+
}
|
|
106
|
+
if (value.operation_id === 'tag_rules.create') {
|
|
107
|
+
const parsed = hostedTagRuleCreateInputSchema.safeParse(value.input);
|
|
108
|
+
return parsed.success ? { operation_id: 'tag_rules.create', input: parsed.data } : null;
|
|
109
|
+
}
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
const transactionStateSchema = z
|
|
113
|
+
.object({
|
|
114
|
+
category: z.string().nullable(),
|
|
115
|
+
detailed_category: z.string().nullable(),
|
|
116
|
+
tags: z.array(z.string()),
|
|
117
|
+
name: z.string(),
|
|
118
|
+
})
|
|
119
|
+
.strict();
|
|
120
|
+
export const hostedTransactionChangePreviewSchema = z
|
|
121
|
+
.object({
|
|
122
|
+
transaction_id: transactionIdSchema,
|
|
123
|
+
date: z.string(),
|
|
124
|
+
amount: z.number(),
|
|
125
|
+
currency: z.string(),
|
|
126
|
+
before: transactionStateSchema,
|
|
127
|
+
after: transactionStateSchema,
|
|
128
|
+
})
|
|
129
|
+
.strict();
|
|
130
|
+
export const hostedOperationPreviewSchema = z.discriminatedUnion('kind', [
|
|
131
|
+
z
|
|
132
|
+
.object({
|
|
133
|
+
kind: z.literal('transactions.update'),
|
|
134
|
+
changes: z.array(hostedTransactionChangePreviewSchema).min(1),
|
|
135
|
+
})
|
|
136
|
+
.strict(),
|
|
137
|
+
z
|
|
138
|
+
.object({
|
|
139
|
+
kind: z.literal('tag_rules.create'),
|
|
140
|
+
merchant_name: z.string(),
|
|
141
|
+
tag_name: z.string(),
|
|
142
|
+
direction: z.enum(['income', 'expense']),
|
|
143
|
+
case_insensitive: z.boolean(),
|
|
144
|
+
applies_to: z.literal('future_transactions_only'),
|
|
145
|
+
})
|
|
146
|
+
.strict(),
|
|
147
|
+
]);
|
|
148
|
+
export const HOSTED_OPERATION_APPROVAL_STATUSES = [
|
|
149
|
+
'pending',
|
|
150
|
+
'approved',
|
|
151
|
+
'rejected',
|
|
152
|
+
'consumed',
|
|
153
|
+
'expired',
|
|
154
|
+
];
|
|
155
|
+
export const HOSTED_OPERATION_EXECUTION_STATUSES = [
|
|
156
|
+
'not_started',
|
|
157
|
+
'started',
|
|
158
|
+
'succeeded',
|
|
159
|
+
'failed',
|
|
160
|
+
'uncertain',
|
|
161
|
+
];
|
|
162
|
+
export const hostedOperationResultSchema = z.discriminatedUnion('kind', [
|
|
163
|
+
z
|
|
164
|
+
.object({
|
|
165
|
+
kind: z.literal('transactions.update'),
|
|
166
|
+
updated_transaction_ids: z.array(transactionIdSchema),
|
|
167
|
+
failed_transaction_ids: z.array(transactionIdSchema),
|
|
168
|
+
})
|
|
169
|
+
.strict(),
|
|
170
|
+
z
|
|
171
|
+
.object({
|
|
172
|
+
kind: z.literal('tag_rules.create'),
|
|
173
|
+
created: z.boolean(),
|
|
174
|
+
})
|
|
175
|
+
.strict(),
|
|
176
|
+
]);
|
|
177
|
+
const hostedOperationInputShapeField = z
|
|
178
|
+
.union([hostedTransactionsUpdateInputSchema, hostedTagRuleCreateInputSchema])
|
|
179
|
+
.describe('For transactions.update: transaction_ids plus the change. For tag_rules.create: merchant_name, tag_name, direction.');
|
|
180
|
+
export const findTransactionsMcpInputShape = {
|
|
181
|
+
month: financialContextMonthSchema
|
|
182
|
+
.optional()
|
|
183
|
+
.describe('A YYYY-MM month. Defaults to all months.'),
|
|
184
|
+
query: z
|
|
185
|
+
.string()
|
|
186
|
+
.trim()
|
|
187
|
+
.min(1)
|
|
188
|
+
.max(100)
|
|
189
|
+
.optional()
|
|
190
|
+
.describe('Words that appear in the transaction name.'),
|
|
191
|
+
category: primaryCategorySchema.optional(),
|
|
192
|
+
tag: tagNameSchema.optional(),
|
|
193
|
+
page: z.number().int().min(1).max(200).optional().describe('Page number, starting at 1.'),
|
|
194
|
+
};
|
|
195
|
+
export const describeHostedOperationMcpInputShape = {
|
|
196
|
+
operation_id: z.enum(HOSTED_MCP_WRITE_OPERATION_IDS),
|
|
197
|
+
input: hostedOperationInputShapeField,
|
|
198
|
+
};
|
|
199
|
+
export const invokeHostedOperationMcpInputShape = {
|
|
200
|
+
...describeHostedOperationMcpInputShape,
|
|
201
|
+
approval_id: z
|
|
202
|
+
.string()
|
|
203
|
+
.uuid()
|
|
204
|
+
.describe('Approval id returned by describe_operation for this exact input.'),
|
|
205
|
+
};
|
|
206
|
+
export const getOperationStatusMcpInputShape = {
|
|
207
|
+
approval_id: z.string().uuid(),
|
|
208
|
+
};
|
|
209
|
+
export const findTransactionsMcpInputSchema = z.object(findTransactionsMcpInputShape).strict();
|
|
210
|
+
export const describeHostedOperationMcpInputSchema = z
|
|
211
|
+
.object(describeHostedOperationMcpInputShape)
|
|
212
|
+
.strict();
|
|
213
|
+
export const invokeHostedOperationMcpInputSchema = z
|
|
214
|
+
.object(invokeHostedOperationMcpInputShape)
|
|
215
|
+
.strict();
|
|
216
|
+
export const getOperationStatusMcpInputSchema = z.object(getOperationStatusMcpInputShape).strict();
|
|
217
|
+
export const hostedFindTransactionsItemSchema = z
|
|
218
|
+
.object({
|
|
219
|
+
id: transactionIdSchema,
|
|
220
|
+
date: z.string(),
|
|
221
|
+
amount: z.number().describe('Negative for money out, positive for money in.'),
|
|
222
|
+
currency: z.string(),
|
|
223
|
+
name: z.string(),
|
|
224
|
+
category: z.string().nullable(),
|
|
225
|
+
detailed_category: z.string().nullable(),
|
|
226
|
+
tags: z.array(z.string()),
|
|
227
|
+
pending: z.boolean(),
|
|
228
|
+
name_editable: z.boolean(),
|
|
229
|
+
})
|
|
230
|
+
.strict();
|
|
231
|
+
export const findTransactionsMcpOutputSchema = z
|
|
232
|
+
.object({
|
|
233
|
+
items: z.array(hostedFindTransactionsItemSchema).max(HOSTED_MCP_FIND_TRANSACTIONS_PAGE_SIZE),
|
|
234
|
+
page: z.number().int().min(1),
|
|
235
|
+
page_size: z.literal(HOSTED_MCP_FIND_TRANSACTIONS_PAGE_SIZE),
|
|
236
|
+
has_more: z.boolean(),
|
|
237
|
+
})
|
|
238
|
+
.strict();
|
|
239
|
+
export const describeHostedOperationMcpOutputSchema = z
|
|
240
|
+
.object({
|
|
241
|
+
operation_id: z.enum(HOSTED_MCP_WRITE_OPERATION_IDS),
|
|
242
|
+
approval: z
|
|
243
|
+
.object({
|
|
244
|
+
id: z.string().uuid(),
|
|
245
|
+
status: z.literal('pending'),
|
|
246
|
+
approval_url: z.string().url(),
|
|
247
|
+
expires_at: z.string(),
|
|
248
|
+
})
|
|
249
|
+
.strict(),
|
|
250
|
+
preview: hostedOperationPreviewSchema,
|
|
251
|
+
})
|
|
252
|
+
.strict();
|
|
253
|
+
export const invokeHostedOperationMcpOutputSchema = z
|
|
254
|
+
.object({
|
|
255
|
+
operation_id: z.enum(HOSTED_MCP_WRITE_OPERATION_IDS),
|
|
256
|
+
approval_id: z.string().uuid(),
|
|
257
|
+
execution_status: z.enum(['succeeded', 'failed', 'uncertain']),
|
|
258
|
+
result: hostedOperationResultSchema.nullable(),
|
|
259
|
+
})
|
|
260
|
+
.strict();
|
|
261
|
+
export const getOperationStatusMcpOutputSchema = z
|
|
262
|
+
.object({
|
|
263
|
+
approval_id: z.string().uuid(),
|
|
264
|
+
operation_id: z.enum(HOSTED_MCP_WRITE_OPERATION_IDS),
|
|
265
|
+
approval_status: z.enum(HOSTED_OPERATION_APPROVAL_STATUSES),
|
|
266
|
+
execution_status: z.enum(HOSTED_OPERATION_EXECUTION_STATUSES),
|
|
267
|
+
expires_at: z.string(),
|
|
268
|
+
result: hostedOperationResultSchema.nullable(),
|
|
269
|
+
})
|
|
270
|
+
.strict();
|
|
271
|
+
const tool = (definition) => definition;
|
|
272
|
+
const normalizeJsonSchema = (schema) => {
|
|
273
|
+
const normalizedSchema = { ...schema };
|
|
274
|
+
if (normalizedSchema.$schema === 'http://json-schema.org/draft-07/schema#') {
|
|
275
|
+
normalizedSchema.$schema = 'https://json-schema.org/draft-07/schema#';
|
|
276
|
+
}
|
|
277
|
+
return normalizedSchema;
|
|
278
|
+
};
|
|
279
|
+
export const hostedWriteMcpToolDefinitions = [
|
|
280
|
+
tool({
|
|
281
|
+
name: 'find_transactions',
|
|
282
|
+
title: 'Find transactions',
|
|
283
|
+
description: `Find transactions to change. Returns pages of up to ${HOSTED_MCP_FIND_TRANSACTIONS_PAGE_SIZE} items with id, date, amount, currency, name, category, detailed category, tags, pending status, and whether the name can be edited. Amounts are negative for money out and positive for money in. Account details and notes are omitted. Use the ids with describe_operation.`,
|
|
284
|
+
annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: false },
|
|
285
|
+
inputShape: findTransactionsMcpInputShape,
|
|
286
|
+
outputSchema: findTransactionsMcpOutputSchema,
|
|
287
|
+
}),
|
|
288
|
+
tool({
|
|
289
|
+
name: 'describe_operation',
|
|
290
|
+
title: 'Prepare a change for approval',
|
|
291
|
+
description: 'Prepare one change and get a preview plus an approval id. Supported operations: transactions.update (set category or detailed category, add or remove tags, or rename one manually added transaction; up to 50 transactions with the same change) and tag_rules.create (tag future transactions from a merchant; past transactions are not changed). Nothing changes until the user approves it in Warm at approval_url. Show the user the preview and the link.',
|
|
292
|
+
annotations: { readOnlyHint: false, destructiveHint: false, openWorldHint: false },
|
|
293
|
+
inputShape: describeHostedOperationMcpInputShape,
|
|
294
|
+
outputSchema: describeHostedOperationMcpOutputSchema,
|
|
295
|
+
}),
|
|
296
|
+
tool({
|
|
297
|
+
name: 'invoke_operation',
|
|
298
|
+
title: 'Apply an approved change',
|
|
299
|
+
description: 'Apply a change after the user approved it in Warm. Pass the same operation_id and input used with describe_operation and its approval_id. Each approval works once. If the data changed since the preview, the change is refused and needs a new approval.',
|
|
300
|
+
annotations: { readOnlyHint: false, destructiveHint: true, openWorldHint: false },
|
|
301
|
+
inputShape: invokeHostedOperationMcpInputShape,
|
|
302
|
+
outputSchema: invokeHostedOperationMcpOutputSchema,
|
|
303
|
+
}),
|
|
304
|
+
tool({
|
|
305
|
+
name: 'get_operation_status',
|
|
306
|
+
title: 'Check a change',
|
|
307
|
+
description: 'Check whether a change is still waiting for approval, was approved or rejected, and whether it was applied.',
|
|
308
|
+
annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: false },
|
|
309
|
+
inputShape: getOperationStatusMcpInputShape,
|
|
310
|
+
outputSchema: getOperationStatusMcpOutputSchema,
|
|
311
|
+
}),
|
|
312
|
+
];
|
|
313
|
+
export const hostedWriteMcpToolDescriptors = hostedWriteMcpToolDefinitions.map(({ inputShape, outputSchema, ...toolDefinition }) => ({
|
|
314
|
+
...toolDefinition,
|
|
315
|
+
input_schema: normalizeJsonSchema(zodToJsonSchema(z.object(inputShape).strict(), { $refStrategy: 'none' })),
|
|
316
|
+
output_schema: normalizeJsonSchema(zodToJsonSchema(outputSchema, { $refStrategy: 'none' })),
|
|
317
|
+
}));
|
|
318
|
+
//# sourceMappingURL=hosted-write-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hosted-write-tools.js","sourceRoot":"","sources":["../../src/mcp/hosted-write-tools.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/index.d.ts
CHANGED
package/dist/mcp/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC"}
|
package/dist/mcp/index.js
CHANGED
package/dist/mcp/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC"}
|
|
@@ -10,13 +10,21 @@ export declare const publicMcpTransactionSchema: z.ZodObject<Pick<{
|
|
|
10
10
|
subcategory: z.ZodNullable<z.ZodString>;
|
|
11
11
|
pending: z.ZodNullable<z.ZodBoolean>;
|
|
12
12
|
currency: z.ZodNullable<z.ZodString>;
|
|
13
|
-
|
|
13
|
+
is_internal_transfer: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
14
|
+
transfer_pair_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
15
|
+
transfers_interpretation_version: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<0>, z.ZodLiteral<1>]>>;
|
|
16
|
+
merchants_interpretation_version: z.ZodOptional<z.ZodLiteral<0>>;
|
|
17
|
+
}, "amount" | "category" | "currency" | "date" | "is_internal_transfer" | "merchants_interpretation_version" | "pending" | "subcategory" | "transfer_pair_id" | "transfers_interpretation_version">, "strict", z.ZodTypeAny, {
|
|
14
18
|
date: string | null;
|
|
15
19
|
amount: number;
|
|
16
20
|
category: string | null;
|
|
17
21
|
subcategory: string | null;
|
|
18
22
|
pending: boolean | null;
|
|
19
23
|
currency: string | null;
|
|
24
|
+
is_internal_transfer?: boolean | null | undefined;
|
|
25
|
+
transfer_pair_id?: string | null | undefined;
|
|
26
|
+
transfers_interpretation_version?: 0 | 1 | undefined;
|
|
27
|
+
merchants_interpretation_version?: 0 | undefined;
|
|
20
28
|
}, {
|
|
21
29
|
date: string | null;
|
|
22
30
|
amount: number;
|
|
@@ -24,6 +32,10 @@ export declare const publicMcpTransactionSchema: z.ZodObject<Pick<{
|
|
|
24
32
|
subcategory: string | null;
|
|
25
33
|
pending: boolean | null;
|
|
26
34
|
currency: string | null;
|
|
35
|
+
is_internal_transfer?: boolean | null | undefined;
|
|
36
|
+
transfer_pair_id?: string | null | undefined;
|
|
37
|
+
transfers_interpretation_version?: 0 | 1 | undefined;
|
|
38
|
+
merchants_interpretation_version?: 0 | undefined;
|
|
27
39
|
}>;
|
|
28
40
|
export declare const publicMcpFinancialContextSchema: z.ZodObject<Pick<{
|
|
29
41
|
version: z.ZodEnum<["v1"]>;
|
|
@@ -555,13 +567,21 @@ export declare const publicMcpTransactionMonthSchema: z.ZodObject<{
|
|
|
555
567
|
subcategory: z.ZodNullable<z.ZodString>;
|
|
556
568
|
pending: z.ZodNullable<z.ZodBoolean>;
|
|
557
569
|
currency: z.ZodNullable<z.ZodString>;
|
|
558
|
-
|
|
570
|
+
is_internal_transfer: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
571
|
+
transfer_pair_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
572
|
+
transfers_interpretation_version: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<0>, z.ZodLiteral<1>]>>;
|
|
573
|
+
merchants_interpretation_version: z.ZodOptional<z.ZodLiteral<0>>;
|
|
574
|
+
}, "amount" | "category" | "currency" | "date" | "is_internal_transfer" | "merchants_interpretation_version" | "pending" | "subcategory" | "transfer_pair_id" | "transfers_interpretation_version">, "strict", z.ZodTypeAny, {
|
|
559
575
|
date: string | null;
|
|
560
576
|
amount: number;
|
|
561
577
|
category: string | null;
|
|
562
578
|
subcategory: string | null;
|
|
563
579
|
pending: boolean | null;
|
|
564
580
|
currency: string | null;
|
|
581
|
+
is_internal_transfer?: boolean | null | undefined;
|
|
582
|
+
transfer_pair_id?: string | null | undefined;
|
|
583
|
+
transfers_interpretation_version?: 0 | 1 | undefined;
|
|
584
|
+
merchants_interpretation_version?: 0 | undefined;
|
|
565
585
|
}, {
|
|
566
586
|
date: string | null;
|
|
567
587
|
amount: number;
|
|
@@ -569,6 +589,10 @@ export declare const publicMcpTransactionMonthSchema: z.ZodObject<{
|
|
|
569
589
|
subcategory: string | null;
|
|
570
590
|
pending: boolean | null;
|
|
571
591
|
currency: string | null;
|
|
592
|
+
is_internal_transfer?: boolean | null | undefined;
|
|
593
|
+
transfer_pair_id?: string | null | undefined;
|
|
594
|
+
transfers_interpretation_version?: 0 | 1 | undefined;
|
|
595
|
+
merchants_interpretation_version?: 0 | undefined;
|
|
572
596
|
}>, "many">;
|
|
573
597
|
}, "strict", z.ZodTypeAny, {
|
|
574
598
|
month: string;
|
|
@@ -582,6 +606,10 @@ export declare const publicMcpTransactionMonthSchema: z.ZodObject<{
|
|
|
582
606
|
subcategory: string | null;
|
|
583
607
|
pending: boolean | null;
|
|
584
608
|
currency: string | null;
|
|
609
|
+
is_internal_transfer?: boolean | null | undefined;
|
|
610
|
+
transfer_pair_id?: string | null | undefined;
|
|
611
|
+
transfers_interpretation_version?: 0 | 1 | undefined;
|
|
612
|
+
merchants_interpretation_version?: 0 | undefined;
|
|
585
613
|
}[];
|
|
586
614
|
}, {
|
|
587
615
|
month: string;
|
|
@@ -595,6 +623,10 @@ export declare const publicMcpTransactionMonthSchema: z.ZodObject<{
|
|
|
595
623
|
subcategory: string | null;
|
|
596
624
|
pending: boolean | null;
|
|
597
625
|
currency: string | null;
|
|
626
|
+
is_internal_transfer?: boolean | null | undefined;
|
|
627
|
+
transfer_pair_id?: string | null | undefined;
|
|
628
|
+
transfers_interpretation_version?: 0 | 1 | undefined;
|
|
629
|
+
merchants_interpretation_version?: 0 | undefined;
|
|
598
630
|
}[];
|
|
599
631
|
}>;
|
|
600
632
|
export declare const publicMcpLatestTransactionsSchema: z.ZodObject<{
|
|
@@ -613,13 +645,21 @@ export declare const publicMcpLatestTransactionsSchema: z.ZodObject<{
|
|
|
613
645
|
subcategory: z.ZodNullable<z.ZodString>;
|
|
614
646
|
pending: z.ZodNullable<z.ZodBoolean>;
|
|
615
647
|
currency: z.ZodNullable<z.ZodString>;
|
|
616
|
-
|
|
648
|
+
is_internal_transfer: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
649
|
+
transfer_pair_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
650
|
+
transfers_interpretation_version: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<0>, z.ZodLiteral<1>]>>;
|
|
651
|
+
merchants_interpretation_version: z.ZodOptional<z.ZodLiteral<0>>;
|
|
652
|
+
}, "amount" | "category" | "currency" | "date" | "is_internal_transfer" | "merchants_interpretation_version" | "pending" | "subcategory" | "transfer_pair_id" | "transfers_interpretation_version">, "strict", z.ZodTypeAny, {
|
|
617
653
|
date: string | null;
|
|
618
654
|
amount: number;
|
|
619
655
|
category: string | null;
|
|
620
656
|
subcategory: string | null;
|
|
621
657
|
pending: boolean | null;
|
|
622
658
|
currency: string | null;
|
|
659
|
+
is_internal_transfer?: boolean | null | undefined;
|
|
660
|
+
transfer_pair_id?: string | null | undefined;
|
|
661
|
+
transfers_interpretation_version?: 0 | 1 | undefined;
|
|
662
|
+
merchants_interpretation_version?: 0 | undefined;
|
|
623
663
|
}, {
|
|
624
664
|
date: string | null;
|
|
625
665
|
amount: number;
|
|
@@ -627,6 +667,10 @@ export declare const publicMcpLatestTransactionsSchema: z.ZodObject<{
|
|
|
627
667
|
subcategory: string | null;
|
|
628
668
|
pending: boolean | null;
|
|
629
669
|
currency: string | null;
|
|
670
|
+
is_internal_transfer?: boolean | null | undefined;
|
|
671
|
+
transfer_pair_id?: string | null | undefined;
|
|
672
|
+
transfers_interpretation_version?: 0 | 1 | undefined;
|
|
673
|
+
merchants_interpretation_version?: 0 | undefined;
|
|
630
674
|
}>, "many">;
|
|
631
675
|
}, "strict", z.ZodTypeAny, {
|
|
632
676
|
since: string;
|
|
@@ -639,6 +683,10 @@ export declare const publicMcpLatestTransactionsSchema: z.ZodObject<{
|
|
|
639
683
|
subcategory: string | null;
|
|
640
684
|
pending: boolean | null;
|
|
641
685
|
currency: string | null;
|
|
686
|
+
is_internal_transfer?: boolean | null | undefined;
|
|
687
|
+
transfer_pair_id?: string | null | undefined;
|
|
688
|
+
transfers_interpretation_version?: 0 | 1 | undefined;
|
|
689
|
+
merchants_interpretation_version?: 0 | undefined;
|
|
642
690
|
}[];
|
|
643
691
|
}, {
|
|
644
692
|
since: string;
|
|
@@ -651,6 +699,10 @@ export declare const publicMcpLatestTransactionsSchema: z.ZodObject<{
|
|
|
651
699
|
subcategory: string | null;
|
|
652
700
|
pending: boolean | null;
|
|
653
701
|
currency: string | null;
|
|
702
|
+
is_internal_transfer?: boolean | null | undefined;
|
|
703
|
+
transfer_pair_id?: string | null | undefined;
|
|
704
|
+
transfers_interpretation_version?: 0 | 1 | undefined;
|
|
705
|
+
merchants_interpretation_version?: 0 | undefined;
|
|
654
706
|
}[];
|
|
655
707
|
}>;
|
|
656
708
|
export declare function projectPublicMcpFinancialContext(input: unknown): {
|
|
@@ -688,6 +740,10 @@ export declare function projectPublicMcpTransactions(input: unknown): {
|
|
|
688
740
|
subcategory: string | null;
|
|
689
741
|
pending: boolean | null;
|
|
690
742
|
currency: string | null;
|
|
743
|
+
is_internal_transfer?: boolean | null | undefined;
|
|
744
|
+
transfer_pair_id?: string | null | undefined;
|
|
745
|
+
transfers_interpretation_version?: 0 | 1 | undefined;
|
|
746
|
+
merchants_interpretation_version?: 0 | undefined;
|
|
691
747
|
}[];
|
|
692
748
|
} | {
|
|
693
749
|
since: string;
|
|
@@ -700,6 +756,10 @@ export declare function projectPublicMcpTransactions(input: unknown): {
|
|
|
700
756
|
subcategory: string | null;
|
|
701
757
|
pending: boolean | null;
|
|
702
758
|
currency: string | null;
|
|
759
|
+
is_internal_transfer?: boolean | null | undefined;
|
|
760
|
+
transfer_pair_id?: string | null | undefined;
|
|
761
|
+
transfers_interpretation_version?: 0 | 1 | undefined;
|
|
762
|
+
merchants_interpretation_version?: 0 | undefined;
|
|
703
763
|
}[];
|
|
704
764
|
};
|
|
705
765
|
//# sourceMappingURL=public-output.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-output.d.ts","sourceRoot":"","sources":["../../src/mcp/public-output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,0BAA0B
|
|
1
|
+
{"version":3,"file":"public-output.d.ts","sourceRoot":"","sources":["../../src/mcp/public-output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWrC,CAAC;AAEH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEgC,CAAC;AAE7E,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE1C,CAAC;AAEH,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE5C,CAAC;AA8BH,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;EAS9D;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM1D"}
|
|
@@ -7,6 +7,10 @@ export const publicMcpTransactionSchema = financialContextTransactionSchema.pick
|
|
|
7
7
|
subcategory: true,
|
|
8
8
|
pending: true,
|
|
9
9
|
currency: true,
|
|
10
|
+
is_internal_transfer: true,
|
|
11
|
+
transfer_pair_id: true,
|
|
12
|
+
transfers_interpretation_version: true,
|
|
13
|
+
merchants_interpretation_version: true,
|
|
10
14
|
});
|
|
11
15
|
export const publicMcpFinancialContextSchema = financialContextSchema
|
|
12
16
|
.pick({ version: true, updated_at: true, currency: true, transactions: true })
|
|
@@ -18,14 +22,31 @@ export const publicMcpLatestTransactionsSchema = latestTransactionsSchema.extend
|
|
|
18
22
|
items: z.array(publicMcpTransactionSchema),
|
|
19
23
|
});
|
|
20
24
|
function projectTransaction(transaction) {
|
|
21
|
-
|
|
25
|
+
const projected = {
|
|
22
26
|
date: transaction.date,
|
|
23
27
|
amount: transaction.amount,
|
|
24
28
|
category: transaction.category,
|
|
25
29
|
subcategory: transaction.subcategory,
|
|
26
30
|
pending: transaction.pending,
|
|
27
31
|
currency: transaction.currency,
|
|
28
|
-
}
|
|
32
|
+
};
|
|
33
|
+
if (transaction.is_internal_transfer !== undefined) {
|
|
34
|
+
Object.assign(projected, { is_internal_transfer: transaction.is_internal_transfer });
|
|
35
|
+
}
|
|
36
|
+
if (transaction.transfer_pair_id !== undefined) {
|
|
37
|
+
Object.assign(projected, { transfer_pair_id: transaction.transfer_pair_id });
|
|
38
|
+
}
|
|
39
|
+
if (transaction.transfers_interpretation_version !== undefined) {
|
|
40
|
+
Object.assign(projected, {
|
|
41
|
+
transfers_interpretation_version: transaction.transfers_interpretation_version,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
if (transaction.merchants_interpretation_version !== undefined) {
|
|
45
|
+
Object.assign(projected, {
|
|
46
|
+
merchants_interpretation_version: transaction.merchants_interpretation_version,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
return publicMcpTransactionSchema.parse(projected);
|
|
29
50
|
}
|
|
30
51
|
export function projectPublicMcpFinancialContext(input) {
|
|
31
52
|
const context = financialContextSchema.parse(input);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-output.js","sourceRoot":"","sources":["../../src/mcp/public-output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,iCAAiC,EACjC,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,CAAC,MAAM,0BAA0B,GAAG,iCAAiC,CAAC,IAAI,CAAC;IAC/E,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;
|
|
1
|
+
{"version":3,"file":"public-output.js","sourceRoot":"","sources":["../../src/mcp/public-output.ts"],"names":[],"mappings":"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"}
|