@countfinancial/cli 0.1.8 → 0.2.2
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/LICENSE +15 -0
- package/README.md +9 -1
- package/dist/__tests__/credentialStore.test.js +9 -0
- package/dist/__tests__/credentialStore.test.js.map +1 -1
- package/dist/__tests__/doctor.test.d.ts +1 -0
- package/dist/__tests__/doctor.test.js +30 -0
- package/dist/__tests__/doctor.test.js.map +1 -0
- package/dist/__tests__/mcpInstall.test.d.ts +1 -0
- package/dist/__tests__/mcpInstall.test.js +25 -0
- package/dist/__tests__/mcpInstall.test.js.map +1 -0
- package/dist/__tests__/profileStore.test.d.ts +1 -0
- package/dist/__tests__/profileStore.test.js +53 -0
- package/dist/__tests__/profileStore.test.js.map +1 -0
- package/dist/cli.js +122 -9
- package/dist/cli.js.map +1 -1
- package/dist/commands/doctor.command.d.ts +6 -0
- package/dist/commands/doctor.command.js +12 -0
- package/dist/commands/doctor.command.js.map +1 -0
- package/dist/commands/init.command.d.ts +1 -0
- package/dist/commands/init.command.js +6 -1
- package/dist/commands/init.command.js.map +1 -1
- package/dist/commands/login.command.d.ts +1 -0
- package/dist/commands/login.command.js +3 -3
- package/dist/commands/login.command.js.map +1 -1
- package/dist/commands/logout.command.d.ts +5 -1
- package/dist/commands/logout.command.js +3 -3
- package/dist/commands/logout.command.js.map +1 -1
- package/dist/commands/mcp.command.d.ts +5 -1
- package/dist/commands/mcp.command.js +7 -4
- package/dist/commands/mcp.command.js.map +1 -1
- package/dist/commands/mcpInstall.command.d.ts +7 -0
- package/dist/commands/mcpInstall.command.js +9 -0
- package/dist/commands/mcpInstall.command.js.map +1 -0
- package/dist/commands/profiles.command.d.ts +17 -0
- package/dist/commands/profiles.command.js +48 -0
- package/dist/commands/profiles.command.js.map +1 -0
- package/dist/commands/setup.command.d.ts +11 -0
- package/dist/commands/setup.command.js +85 -0
- package/dist/commands/setup.command.js.map +1 -0
- package/dist/commands/status.command.d.ts +6 -1
- package/dist/commands/status.command.js +7 -4
- package/dist/commands/status.command.js.map +1 -1
- package/dist/commands/testTools.command.d.ts +7 -0
- package/dist/commands/testTools.command.js +42 -0
- package/dist/commands/testTools.command.js.map +1 -0
- package/dist/constants.d.ts +2 -2
- package/dist/constants.js +2 -2
- package/dist/constants.js.map +1 -1
- package/dist/helpers/toolSmokeTestFixtures.helper.d.ts +16 -0
- package/dist/helpers/toolSmokeTestFixtures.helper.js +491 -0
- package/dist/helpers/toolSmokeTestFixtures.helper.js.map +1 -0
- package/dist/partner-mcp/helpers/mcpKnowledge.helper.js +114 -4
- package/dist/partner-mcp/helpers/mcpKnowledge.helper.js.map +1 -1
- package/dist/partner-mcp/helpers/mcpPayloadValidation.helper.d.ts +1 -1
- package/dist/partner-mcp/helpers/mcpPayloadValidation.helper.js +61 -84
- package/dist/partner-mcp/helpers/mcpPayloadValidation.helper.js.map +1 -1
- package/dist/partner-mcp/helpers/mcpPlaybooks.helper.js +181 -2
- package/dist/partner-mcp/helpers/mcpPlaybooks.helper.js.map +1 -1
- package/dist/partner-mcp/helpers/mcpRecoveryHint.helper.js +79 -0
- package/dist/partner-mcp/helpers/mcpRecoveryHint.helper.js.map +1 -1
- package/dist/partner-mcp/schemas/bodies.d.ts +528 -0
- package/dist/partner-mcp/schemas/bodies.js +377 -0
- package/dist/partner-mcp/schemas/bodies.js.map +1 -0
- package/dist/partner-mcp/schemas/builders.d.ts +36 -0
- package/dist/partner-mcp/schemas/builders.js +106 -0
- package/dist/partner-mcp/schemas/builders.js.map +1 -0
- package/dist/partner-mcp/schemas/index.d.ts +5 -0
- package/dist/partner-mcp/schemas/index.js +6 -0
- package/dist/partner-mcp/schemas/index.js.map +1 -0
- package/dist/partner-mcp/schemas/primitives.d.ts +39 -0
- package/dist/partner-mcp/schemas/primitives.js +107 -0
- package/dist/partner-mcp/schemas/primitives.js.map +1 -0
- package/dist/partner-mcp/schemas/queries.d.ts +311 -0
- package/dist/partner-mcp/schemas/queries.js +175 -0
- package/dist/partner-mcp/schemas/queries.js.map +1 -0
- package/dist/partner-mcp/schemas/toolInputSchemas.d.ts +23 -0
- package/dist/partner-mcp/schemas/toolInputSchemas.js +248 -0
- package/dist/partner-mcp/schemas/toolInputSchemas.js.map +1 -0
- package/dist/partner-mcp/tools/definitions.js +26 -135
- package/dist/partner-mcp/tools/definitions.js.map +1 -1
- package/dist/partner-mcp/tools/registerTools.d.ts +8 -0
- package/dist/partner-mcp/tools/registerTools.js +8 -3
- package/dist/partner-mcp/tools/registerTools.js.map +1 -1
- package/dist/services/credentialStore.service.d.ts +8 -2
- package/dist/services/credentialStore.service.js +22 -10
- package/dist/services/credentialStore.service.js.map +1 -1
- package/dist/services/doctor.service.d.ts +22 -0
- package/dist/services/doctor.service.js +186 -0
- package/dist/services/doctor.service.js.map +1 -0
- package/dist/services/mcpInstall.service.d.ts +43 -0
- package/dist/services/mcpInstall.service.js +117 -0
- package/dist/services/mcpInstall.service.js.map +1 -0
- package/dist/services/mcpLauncher.service.d.ts +2 -0
- package/dist/services/mcpLauncher.service.js +6 -3
- package/dist/services/mcpLauncher.service.js.map +1 -1
- package/dist/services/profileStore.service.d.ts +53 -0
- package/dist/services/profileStore.service.js +129 -0
- package/dist/services/profileStore.service.js.map +1 -0
- package/dist/services/setupPrompt.service.d.ts +25 -0
- package/dist/services/setupPrompt.service.js +40 -0
- package/dist/services/setupPrompt.service.js.map +1 -0
- package/dist/services/toolSmokeTest.service.d.ts +38 -0
- package/dist/services/toolSmokeTest.service.js +495 -0
- package/dist/services/toolSmokeTest.service.js.map +1 -0
- package/package.json +3 -2
|
@@ -91,7 +91,7 @@ export const MCP_KNOWLEDGE_TOPICS = [
|
|
|
91
91
|
{
|
|
92
92
|
id: 'create_chart_of_accounts_account',
|
|
93
93
|
title: 'How do I create a new chart-of-accounts account (e.g. credit card)?',
|
|
94
|
-
summary: 'Call COUNT_list_account_sub_types first, pick the matching sub-type id, then COUNT_create_account. Never guess subTypeId values.',
|
|
94
|
+
summary: 'Call COUNT_list_account_sub_types first, pick the matching sub-type id, then COUNT_create_account or COUNT_bulk_create_accounts. Never guess subTypeId values. Complete the chart of accounts before importing bills or transactions.',
|
|
95
95
|
relatedTopicIds: ['external_uuids', 'describe_endpoint'],
|
|
96
96
|
keywords: [
|
|
97
97
|
'create account',
|
|
@@ -105,9 +105,10 @@ export const MCP_KNOWLEDGE_TOPICS = [
|
|
|
105
105
|
content: [
|
|
106
106
|
'To create a new account (bank, credit card, expense category, etc.):',
|
|
107
107
|
'1. COUNT_list_account_sub_types — optional query.type filter (e.g. "Liabilities" for a credit card). Pick the row whose name matches what you need and copy its integer id.',
|
|
108
|
-
'2. COUNT_create_account — body.name plus body.subTypeId set to that id.',
|
|
108
|
+
'2. COUNT_create_account — body.name plus body.subTypeId set to that id. For migrations with many accounts, prefer COUNT_bulk_create_accounts (up to 100 rows per call, partial success).',
|
|
109
109
|
'3. If a similar account already exists, you may instead COUNT_list_accounts with query.type and reuse subType.id from an existing row.',
|
|
110
110
|
'',
|
|
111
|
+
'Complete the full chart of accounts before importing bills or transactions. Partner-created accounts stay editable until used in postings. If delete fails with HAS_JOURNAL_ENTRIES, use COUNT_update_account with status inactive instead.',
|
|
111
112
|
'Never guess or sequentially probe subTypeId numbers — they are sparse global ids, not a predictable sequence.',
|
|
112
113
|
'If create_account fails, tell the user COUNT could not create the account and share requestId when present. Do not quote stack traces, file paths, or internal database fields.',
|
|
113
114
|
].join('\n'),
|
|
@@ -179,7 +180,15 @@ export const MCP_KNOWLEDGE_TOPICS = [
|
|
|
179
180
|
'- Hard cap: 100 rows per call.',
|
|
180
181
|
'- Recommended batch size: ~25 rows for large backfills (billing-system migrations) to reduce timeout risk.',
|
|
181
182
|
'- Each row is isolated — one failure does not roll back other rows in the same batch.',
|
|
182
|
-
'- Call COUNT_validate_payload before each bulk batch and COUNT_playbooks (migration_import or
|
|
183
|
+
'- Call COUNT_validate_payload before each bulk batch and COUNT_playbooks (migration_import, budget_import, create_invoice_and_send, setup_accounts_and_import_transactions, or plan_budget_and_review_actuals) for the full workflow.',
|
|
184
|
+
'',
|
|
185
|
+
'Failure handling example:',
|
|
186
|
+
'1. const failures = result.results.filter((row) => !row.success);',
|
|
187
|
+
'2. Map each failure.index back to your input array.',
|
|
188
|
+
'3. Retry only failed rows in a new bulk call after fixing the error string.',
|
|
189
|
+
'',
|
|
190
|
+
'HTTP 201 is returned when the batch envelope is accepted — even if every row failed. HTTP 400 only when the envelope itself is invalid (>100 rows, missing array).',
|
|
191
|
+
'Row failures carry error as a plain string message (not a structured errors[] array).',
|
|
183
192
|
].join('\n'),
|
|
184
193
|
},
|
|
185
194
|
{
|
|
@@ -233,6 +242,105 @@ export const MCP_KNOWLEDGE_TOPICS = [
|
|
|
233
242
|
'HTTP 200 with warnings does NOT mean every field you sent was applied. Always read _partnerWarnings.',
|
|
234
243
|
].join('\n'),
|
|
235
244
|
},
|
|
245
|
+
{
|
|
246
|
+
id: 'partner_error_handling',
|
|
247
|
+
title: 'How do MCP tool errors look and what should I do?',
|
|
248
|
+
summary: 'MCP errors return { message, statusCode, responseBody, _mcpRecoveryHint }. There is no structured errors[] array — fix the message and use validate_payload before retrying writes.',
|
|
249
|
+
relatedTopicIds: ['partner_error_hygiene', 'rate_limits_and_throttling', 'describe_endpoint'],
|
|
250
|
+
keywords: ['400', '401', '404', '429', '500', 'error', 'retry', 'validation'],
|
|
251
|
+
content: [
|
|
252
|
+
'MCP tool failures set isError: true. The JSON is in content[0].text:',
|
|
253
|
+
'{ "message": "...", "statusCode": 400, "responseBody": { ... }, "_mcpRecoveryHint": { ... } }',
|
|
254
|
+
'',
|
|
255
|
+
'Status guide:',
|
|
256
|
+
'- 400 — validation or business rule failure. Read message (often a single joined string). Call COUNT_validate_payload before retrying. Do not retry unchanged payloads.',
|
|
257
|
+
'- 401 — auth failure. MCP auto-refreshes once; if it still fails, reconnect or refresh tokens.',
|
|
258
|
+
'- 403 — workspace not authorized for this credential. Check COUNT_list_workspaces / OAuth consent.',
|
|
259
|
+
'- 404 — entity UUID not found in workspace. Re-resolve via COUNT_resolve_references or list_* tools.',
|
|
260
|
+
'- 429 — rate limit (type RATE_LIMITED). Back off — see rate_limits_and_throttling topic.',
|
|
261
|
+
'- 500 — server error. Share responseBody.requestId when present; do not retry blindly.',
|
|
262
|
+
'',
|
|
263
|
+
'Partner API HTTP responses use a similar message/statusCode shape. Field-level errors[] arrays are not emitted today.',
|
|
264
|
+
].join('\n'),
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
id: 'field_naming_reference',
|
|
268
|
+
title: 'Canonical partner API field names for references',
|
|
269
|
+
summary: 'Use accUuid for bank accounts, categoryAccountUuid for expense/income categories, vendorUuid/customerUuid/projectUuid for entities, tagUuids (array in body, comma-separated in query).',
|
|
270
|
+
relatedTopicIds: ['external_uuids', 'legacy_numeric_fields_rejected'],
|
|
271
|
+
keywords: ['accUuid', 'categoryAccountUuid', 'vendorUuid', 'customerUuid', 'tagUuids', 'naming'],
|
|
272
|
+
content: [
|
|
273
|
+
'Request field naming (canonical):',
|
|
274
|
+
'- Bank/cash account: accUuid (create/update transaction). Response may show accountId.',
|
|
275
|
+
'- Expense/income category: categoryAccountUuid (transactions, bill line items, change category).',
|
|
276
|
+
'- Vendor: vendorUuid (bills, expense transactions).',
|
|
277
|
+
'- Customer: customerUuid (invoices, income transactions).',
|
|
278
|
+
'- Project: projectUuid.',
|
|
279
|
+
'- Tags: tagUuids as string[] in bodies; comma-separated string or array in list query filters.',
|
|
280
|
+
'',
|
|
281
|
+
'List query aliases (accepted but prefer canonical names): accountUuid for accUuid; type for transactionTypes.',
|
|
282
|
+
'',
|
|
283
|
+
'Do not use: vendorId, customerId, tags (numeric), accountId in request bodies where a *Uuid field exists.',
|
|
284
|
+
'Call COUNT_validate_payload to catch swapped accUuid vs categoryAccountUuid before the HTTP call.',
|
|
285
|
+
].join('\n'),
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
id: 'rate_limits_and_throttling',
|
|
289
|
+
title: 'What rate limits apply to COUNT MCP and partner API calls?',
|
|
290
|
+
summary: 'Standalone MCP/CLI: 100 req/min per client id. Hosted /mcp sessions: 120 req/min with Retry-After. Bulk: ~25 rows/batch, ~2s between batches recommended.',
|
|
291
|
+
relatedTopicIds: ['bulk_operations', 'partner_error_handling'],
|
|
292
|
+
keywords: ['429', 'rate limit', 'throttle', 'bulk', 'retry', 'backoff'],
|
|
293
|
+
content: [
|
|
294
|
+
'Limits:',
|
|
295
|
+
'- Global partner API gate: 100 requests/minute per x-client-id (standalone MCP and CLI hit this).',
|
|
296
|
+
'- Hosted MCP session (/mcp): 120 requests/minute per session (Retry-After header when limited).',
|
|
297
|
+
'- Bulk operations: hard cap 100 rows/call; recommended ~25 rows/batch with ~2 second delay between batches for backfills.',
|
|
298
|
+
'- Reports: no separate cap — shares the global limit; avoid >5 parallel report calls.',
|
|
299
|
+
'',
|
|
300
|
+
'On 429: read message and responseBody.type RATE_LIMITED; exponential backoff (1s, 2s, 4s); never burst >20 req/sec.',
|
|
301
|
+
'Include responseBody.requestId in support requests when rate limits persist.',
|
|
302
|
+
].join('\n'),
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
id: 'invoice_lifecycle',
|
|
306
|
+
title: 'Invoice lifecycle — which tools work in each state?',
|
|
307
|
+
summary: 'draft → approve_invoice → send_invoice → assign_transaction (payment). No revert_to_draft API. Approved invoices need credit memo flow to correct mistakes.',
|
|
308
|
+
relatedTopicIds: ['field_naming_reference', 'partner_error_handling'],
|
|
309
|
+
keywords: ['invoice', 'draft', 'approved', 'sent', 'paid', 'lifecycle', 'state'],
|
|
310
|
+
content: [
|
|
311
|
+
'Typical flow: create_invoice (draft) → approve_invoice → send_invoice (sent/unpaid) → assign_transaction_to_bills_invoices (partial or full payment → paid/partial).',
|
|
312
|
+
'',
|
|
313
|
+
'Operation matrix:',
|
|
314
|
+
'- update_invoice / delete_invoice: draft only (400 after approval).',
|
|
315
|
+
'- approve_invoice: draft only (no-op if already approved).',
|
|
316
|
+
'- send_invoice: requires approved (400 on draft).',
|
|
317
|
+
'- assign_transaction_to_bills_invoices: approved/sent/unpaid/partial — not draft.',
|
|
318
|
+
'- remove_invoice_transaction: paid/partial to unwind a payment.',
|
|
319
|
+
'',
|
|
320
|
+
'There is no revert_to_draft partner endpoint. To fix an approved invoice structurally, use credit memos or recreate at draft stage before approval.',
|
|
321
|
+
'See playbook create_invoice_and_send for the ordered tool sequence.',
|
|
322
|
+
].join('\n'),
|
|
323
|
+
},
|
|
324
|
+
{
|
|
325
|
+
id: 'bill_lifecycle',
|
|
326
|
+
title: 'Bill lifecycle — which tools work in each state?',
|
|
327
|
+
summary: 'draft → approve_bill → assign_transaction (Expense payment). Paid bills cannot be deleted until payments are removed.',
|
|
328
|
+
relatedTopicIds: ['external_uuids', 'partner_error_handling'],
|
|
329
|
+
keywords: ['bill', 'draft', 'approved', 'paid', 'vendor', 'lifecycle'],
|
|
330
|
+
content: [
|
|
331
|
+
'Typical flow: create_bill (draft) → approve_bill → assign_transaction_to_bills_invoices with matchingType bill and Expense transaction.',
|
|
332
|
+
'',
|
|
333
|
+
'Operation matrix:',
|
|
334
|
+
'- update_bill / delete_bill: draft preferred; restricted after approval/payment.',
|
|
335
|
+
'- approve_bill: draft with line items.',
|
|
336
|
+
'- assign_transaction_to_bills_invoices: approved bill + Expense transaction.',
|
|
337
|
+
'- unassign_bill_transaction: remove an applied payment.',
|
|
338
|
+
'- apply_vendor_memos_to_bill: approved bill + vendor memo UUIDs.',
|
|
339
|
+
'',
|
|
340
|
+
'delete_bill returns 400 when paidAmount > 0 — unassign payments first.',
|
|
341
|
+
'See playbook pay_vendor_bill for payment workflow.',
|
|
342
|
+
].join('\n'),
|
|
343
|
+
},
|
|
236
344
|
{
|
|
237
345
|
id: 'describe_endpoint',
|
|
238
346
|
title: 'How do I learn the request shape for a COUNT tool?',
|
|
@@ -243,11 +351,13 @@ export const MCP_KNOWLEDGE_TOPICS = [
|
|
|
243
351
|
'COUNT_describe_endpoint returns:',
|
|
244
352
|
'- Partner API path the tool calls',
|
|
245
353
|
'- Tool description and readOnly/destructive flags',
|
|
354
|
+
'- inputSchemaSummary — typed top-level input fields',
|
|
355
|
+
'- commonErrors and responseShape when documented',
|
|
246
356
|
'- Tips for body vs query placement',
|
|
247
357
|
'- Link to https://developers.getcount.com/ for canonical field names',
|
|
248
358
|
'',
|
|
249
359
|
'COUNT_knowledge (this tool) answers connector and workflow FAQs; COUNT_describe_endpoint answers per-tool API shape questions.',
|
|
250
|
-
'COUNT_playbooks provides ordered multi-step workflows (bill pay, migration import, month-end review).',
|
|
360
|
+
'COUNT_playbooks provides ordered multi-step workflows (bill pay, migration import, budget import, month-end review, COA setup with import, budget planning with actuals review).',
|
|
251
361
|
].join('\n'),
|
|
252
362
|
},
|
|
253
363
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcpKnowledge.helper.js","sourceRoot":"","sources":["../../../src/partner-mcp/helpers/mcpKnowledge.helper.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,oBAAoB,GAAwB;IACvD;QACE,EAAE,EAAE,iCAAiC;QACrC,KAAK,EAAE,wCAAwC;QAC/C,OAAO,EACL,oJAAoJ;QACtJ,eAAe,EAAE,CAAC,2BAA2B,EAAE,qBAAqB,EAAE,0BAA0B,CAAC;QACjG,QAAQ,EAAE;YACR,WAAW;YACX,WAAW;YACX,YAAY;YACZ,WAAW;YACX,SAAS;YACT,OAAO;YACP,QAAQ;YACR,MAAM;YACN,QAAQ;SACT;QACD,OAAO,EAAE;YACP,+FAA+F;YAC/F,EAAE;YACF,eAAe;YACf,+FAA+F;YAC/F,+GAA+G;YAC/G,0JAA0J;YAC1J,EAAE;YACF,+BAA+B;YAC/B,4FAA4F;YAC5F,6DAA6D;YAC7D,yKAAyK;YACzK,wFAAwF;YACxF,EAAE;YACF,2KAA2K;SAC5K,CAAC,IAAI,CAAC,IAAI,CAAC;KACb;IACD;QACE,EAAE,EAAE,2BAA2B;QAC/B,KAAK,EAAE,4DAA4D;QACnE,OAAO,EACL,uHAAuH;QACzH,eAAe,EAAE,CAAC,iCAAiC,EAAE,qBAAqB,CAAC;QAC3E,QAAQ,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,CAAC;QAC/F,OAAO,EAAE;YACP,uCAAuC;YACvC,gEAAgE;YAChE,wDAAwD;YACxD,6EAA6E;YAC7E,+DAA+D;YAC/D,EAAE;YACF,UAAU;YACV,uCAAuC;YACvC,gCAAgC;YAChC,8EAA8E;YAC9E,EAAE;YACF,yIAAyI;YACzI,EAAE;YACF,mJAAmJ;SACpJ,CAAC,IAAI,CAAC,IAAI,CAAC;KACb;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,KAAK,EAAE,oDAAoD;QAC3D,OAAO,EACL,mLAAmL;QACrL,eAAe,EAAE,CAAC,iCAAiC,EAAE,gBAAgB,CAAC;QACtE,QAAQ,EAAE,CAAC,cAAc,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,OAAO,EAAE,QAAQ,CAAC;QACxF,OAAO,EAAE;YACP,8DAA8D;YAC9D,yIAAyI;YACzI,kGAAkG;YAClG,+HAA+H;YAC/H,gKAAgK;YAChK,EAAE;YACF,mFAAmF;SACpF,CAAC,IAAI,CAAC,IAAI,CAAC;KACb;IACD;QACE,EAAE,EAAE,0BAA0B;QAC9B,KAAK,EAAE,iEAAiE;QACxE,OAAO,EACL,oIAAoI;QACtI,eAAe,EAAE,CAAC,iCAAiC,EAAE,2BAA2B,CAAC;QACjF,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC;QACnE,OAAO,EAAE;YACP,oIAAoI;YACpI,EAAE;YACF,gCAAgC;YAChC,2GAA2G;YAC3G,mGAAmG;YACnG,uHAAuH;YACvH,EAAE;YACF,8IAA8I;SAC/I,CAAC,IAAI,CAAC,IAAI,CAAC;KACb;IACD;QACE,EAAE,EAAE,kCAAkC;QACtC,KAAK,EAAE,qEAAqE;QAC5E,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"mcpKnowledge.helper.js","sourceRoot":"","sources":["../../../src/partner-mcp/helpers/mcpKnowledge.helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { buildMcpRecoveryHint } from './mcpRecoveryHint.helper.js';
|
|
|
2
2
|
import type { McpReferenceResolutionPartnerClient } from './mcpReferenceResolution.helper.js';
|
|
3
3
|
export interface McpPayloadValidationIssue {
|
|
4
4
|
path: string;
|
|
5
|
-
code: 'missing_required' | 'legacy_numeric_field' | 'invalid_tool' | 'bulk_envelope' | 'reference_not_found';
|
|
5
|
+
code: 'missing_required' | 'legacy_numeric_field' | 'invalid_tool' | 'bulk_envelope' | 'reference_not_found' | 'invalid_field';
|
|
6
6
|
message: string;
|
|
7
7
|
}
|
|
8
8
|
export interface ValidateMcpPayloadParams {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { getToolDefinition } from '../tools/definitions.js';
|
|
2
|
+
import * as toolInputSchemas from '../schemas/toolInputSchemas.js';
|
|
2
3
|
import { buildMcpRecoveryHint } from './mcpRecoveryHint.helper.js';
|
|
4
|
+
import { z } from 'zod';
|
|
3
5
|
/** Keep in sync with `MAX_PARTNER_BULK_BATCH_SIZE` in `src/app/helpers/partnerBulk.helper.ts`. */
|
|
4
6
|
const MAX_PARTNER_BULK_BATCH_SIZE = 100;
|
|
5
|
-
const QUERY_VALIDATION_READ_TOOLS = new Set(['COUNT_list_bills']);
|
|
6
7
|
const LOCAL_GUIDANCE_TOOLS = new Set([
|
|
7
8
|
'COUNT_auth_status',
|
|
8
9
|
'COUNT_describe_endpoint',
|
|
@@ -58,15 +59,7 @@ export function validateMcpPayload(params) {
|
|
|
58
59
|
issues.push({
|
|
59
60
|
path: 'toolName',
|
|
60
61
|
code: 'invalid_tool',
|
|
61
|
-
message: `COUNT_validate_payload targets
|
|
62
|
-
});
|
|
63
|
-
return buildValidationResult({ toolName, issues });
|
|
64
|
-
}
|
|
65
|
-
if (toolDefinition.readOnly && !QUERY_VALIDATION_READ_TOOLS.has(toolName)) {
|
|
66
|
-
issues.push({
|
|
67
|
-
path: 'toolName',
|
|
68
|
-
code: 'invalid_tool',
|
|
69
|
-
message: `COUNT_validate_payload targets mutation tools only. "${toolName}" is read-only or a guidance tool.`,
|
|
62
|
+
message: `COUNT_validate_payload targets partner API tools only. "${toolName}" is a local guidance tool.`,
|
|
70
63
|
});
|
|
71
64
|
return buildValidationResult({ toolName, issues });
|
|
72
65
|
}
|
|
@@ -74,10 +67,50 @@ export function validateMcpPayload(params) {
|
|
|
74
67
|
validateLegacyBillListQuery({ toolName, query, issues });
|
|
75
68
|
validateLegacyBillBodyFields({ toolName, body, issues });
|
|
76
69
|
validateRequiredFieldsForTool({ toolName, body, issues });
|
|
70
|
+
validateSchemaShape({ toolName, body, query, issues });
|
|
77
71
|
void verifyReferences;
|
|
78
72
|
void client;
|
|
79
73
|
return buildValidationResult({ toolName, issues });
|
|
80
74
|
}
|
|
75
|
+
function validateSchemaShape(params) {
|
|
76
|
+
const { toolName, body, query, issues } = params;
|
|
77
|
+
const inputSchema = toolInputSchemas.getToolInputSchema({ toolName });
|
|
78
|
+
if (!(inputSchema instanceof z.ZodObject)) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
const toolInputShape = inputSchema.shape;
|
|
82
|
+
if (toolInputShape.query) {
|
|
83
|
+
validateValidatePayloadSubSchema({
|
|
84
|
+
subSchema: toolInputShape.query,
|
|
85
|
+
value: query ?? {},
|
|
86
|
+
pathPrefix: 'query',
|
|
87
|
+
issues,
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
if (toolInputShape.body) {
|
|
91
|
+
validateValidatePayloadSubSchema({
|
|
92
|
+
subSchema: toolInputShape.body,
|
|
93
|
+
value: body ?? {},
|
|
94
|
+
pathPrefix: 'body',
|
|
95
|
+
issues,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
function validateValidatePayloadSubSchema(params) {
|
|
100
|
+
const { subSchema, value, pathPrefix, issues } = params;
|
|
101
|
+
const parsedSubSchema = subSchema.safeParse(value);
|
|
102
|
+
if (parsedSubSchema.success) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
for (const zodIssue of parsedSubSchema.error.issues) {
|
|
106
|
+
const fieldPath = zodIssue.path.length > 0 ? `${pathPrefix}.${zodIssue.path.join('.')}` : pathPrefix;
|
|
107
|
+
issues.push({
|
|
108
|
+
path: fieldPath,
|
|
109
|
+
code: 'invalid_field',
|
|
110
|
+
message: zodIssue.message,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
}
|
|
81
114
|
function buildValidationResult(params) {
|
|
82
115
|
const { toolName, issues } = params;
|
|
83
116
|
const suggestedPlaybook = toolName === 'COUNT_bulk_update_budget_cells' || toolName === 'COUNT_update_budget_cells'
|
|
@@ -165,6 +198,24 @@ function validateLegacyBillBodyFields(params) {
|
|
|
165
198
|
message: `Use \`${legacyRule.uuidField}\` (${legacyRule.entityLabel}); numeric \`${legacyRule.bodyField}\` is not accepted on partner bill requests.`,
|
|
166
199
|
});
|
|
167
200
|
}
|
|
201
|
+
const lineItems = body.lineItems;
|
|
202
|
+
if (!Array.isArray(lineItems)) {
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
lineItems.forEach((_lineItem, index) => {
|
|
206
|
+
if (!_lineItem || typeof _lineItem !== 'object') {
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
const lineItemObject = _lineItem;
|
|
210
|
+
if (Object.prototype.hasOwnProperty.call(lineItemObject, 'categoryAccountId') &&
|
|
211
|
+
!Object.prototype.hasOwnProperty.call(lineItemObject, 'categoryAccountUuid')) {
|
|
212
|
+
issues.push({
|
|
213
|
+
path: `body.lineItems[${index}].categoryAccountId`,
|
|
214
|
+
code: 'legacy_numeric_field',
|
|
215
|
+
message: 'Use categoryAccountUuid from list_accounts instead of categoryAccountId.',
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
});
|
|
168
219
|
}
|
|
169
220
|
function validateRequiredFieldsForTool(params) {
|
|
170
221
|
const { toolName, body, issues } = params;
|
|
@@ -190,9 +241,6 @@ function validateRequiredFieldsForTool(params) {
|
|
|
190
241
|
validateBulkBudgetCellRows({ body, issues });
|
|
191
242
|
return;
|
|
192
243
|
}
|
|
193
|
-
if (toolName === 'COUNT_create_bill') {
|
|
194
|
-
validateCreateBillBody({ body, issues });
|
|
195
|
-
}
|
|
196
244
|
}
|
|
197
245
|
function validateBulkTransactionRows(params) {
|
|
198
246
|
const { body, issues } = params;
|
|
@@ -401,77 +449,6 @@ function validateBulkBudgetCellRows(params) {
|
|
|
401
449
|
}
|
|
402
450
|
});
|
|
403
451
|
}
|
|
404
|
-
function validateCreateBillBody(params) {
|
|
405
|
-
const { body, issues } = params;
|
|
406
|
-
if (!hasNonEmptyString(body.vendorUuid)) {
|
|
407
|
-
issues.push({
|
|
408
|
-
path: 'body.vendorUuid',
|
|
409
|
-
code: 'missing_required',
|
|
410
|
-
message: 'Required field vendorUuid (from list_vendors) is missing.',
|
|
411
|
-
});
|
|
412
|
-
}
|
|
413
|
-
if (!hasNonEmptyString(body.date)) {
|
|
414
|
-
issues.push({
|
|
415
|
-
path: 'body.date',
|
|
416
|
-
code: 'missing_required',
|
|
417
|
-
message: 'Required field date (YYYY-MM-DD) is missing.',
|
|
418
|
-
});
|
|
419
|
-
}
|
|
420
|
-
if (!hasNonEmptyString(body.dueDate)) {
|
|
421
|
-
issues.push({
|
|
422
|
-
path: 'body.dueDate',
|
|
423
|
-
code: 'missing_required',
|
|
424
|
-
message: 'Required field dueDate (YYYY-MM-DD) is missing.',
|
|
425
|
-
});
|
|
426
|
-
}
|
|
427
|
-
if (!Array.isArray(body.lineItems) || body.lineItems.length === 0) {
|
|
428
|
-
issues.push({
|
|
429
|
-
path: 'body.lineItems',
|
|
430
|
-
code: 'missing_required',
|
|
431
|
-
message: 'Required field lineItems must be a non-empty array.',
|
|
432
|
-
});
|
|
433
|
-
return;
|
|
434
|
-
}
|
|
435
|
-
body.lineItems.forEach((_lineItem, index) => {
|
|
436
|
-
if (!_lineItem || typeof _lineItem !== 'object') {
|
|
437
|
-
issues.push({
|
|
438
|
-
path: `body.lineItems[${index}]`,
|
|
439
|
-
code: 'missing_required',
|
|
440
|
-
message: 'Each line item must be an object.',
|
|
441
|
-
});
|
|
442
|
-
return;
|
|
443
|
-
}
|
|
444
|
-
const lineItemObject = _lineItem;
|
|
445
|
-
if (!hasNonEmptyString(lineItemObject.categoryAccountUuid)) {
|
|
446
|
-
issues.push({
|
|
447
|
-
path: `body.lineItems[${index}].categoryAccountUuid`,
|
|
448
|
-
code: 'missing_required',
|
|
449
|
-
message: 'Each line item requires categoryAccountUuid from list_accounts.',
|
|
450
|
-
});
|
|
451
|
-
}
|
|
452
|
-
if (Object.prototype.hasOwnProperty.call(lineItemObject, 'categoryAccountId')) {
|
|
453
|
-
issues.push({
|
|
454
|
-
path: `body.lineItems[${index}].categoryAccountId`,
|
|
455
|
-
code: 'legacy_numeric_field',
|
|
456
|
-
message: 'Use categoryAccountUuid from list_accounts instead of categoryAccountId.',
|
|
457
|
-
});
|
|
458
|
-
}
|
|
459
|
-
if (!hasRequiredNumericField(lineItemObject.quantity)) {
|
|
460
|
-
issues.push({
|
|
461
|
-
path: `body.lineItems[${index}].quantity`,
|
|
462
|
-
code: 'missing_required',
|
|
463
|
-
message: 'Each line item requires quantity.',
|
|
464
|
-
});
|
|
465
|
-
}
|
|
466
|
-
if (!hasRequiredNumericField(lineItemObject.price)) {
|
|
467
|
-
issues.push({
|
|
468
|
-
path: `body.lineItems[${index}].price`,
|
|
469
|
-
code: 'missing_required',
|
|
470
|
-
message: 'Each line item requires price.',
|
|
471
|
-
});
|
|
472
|
-
}
|
|
473
|
-
});
|
|
474
|
-
}
|
|
475
452
|
function hasRequiredNumericField(value) {
|
|
476
453
|
if (typeof value === 'number' && Number.isFinite(value)) {
|
|
477
454
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcpPayloadValidation.helper.js","sourceRoot":"","sources":["../../../src/partner-mcp/helpers/mcpPayloadValidation.helper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcpPayloadValidation.helper.js","sourceRoot":"","sources":["../../../src/partner-mcp/helpers/mcpPayloadValidation.helper.ts"],"names":[],"mappings":"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"}
|