@raytio/mcp-server 9.3.0 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/contracts/persist/mcp_resource_contract.json +52 -23
  2. package/dist/authorization.d.ts.map +1 -1
  3. package/dist/authorization.js +2 -0
  4. package/dist/authorization.js.map +1 -1
  5. package/dist/tools/_shared/finance-idempotency.d.ts +52 -0
  6. package/dist/tools/_shared/finance-idempotency.d.ts.map +1 -0
  7. package/dist/tools/_shared/finance-idempotency.js +79 -0
  8. package/dist/tools/_shared/finance-idempotency.js.map +1 -0
  9. package/dist/tools/_shared/money.d.ts +10 -0
  10. package/dist/tools/_shared/money.d.ts.map +1 -0
  11. package/dist/tools/_shared/money.js +90 -0
  12. package/dist/tools/_shared/money.js.map +1 -0
  13. package/dist/tools/_shared/soft-deactivate.d.ts +2 -1
  14. package/dist/tools/_shared/soft-deactivate.d.ts.map +1 -1
  15. package/dist/tools/_shared/soft-deactivate.js +2 -1
  16. package/dist/tools/_shared/soft-deactivate.js.map +1 -1
  17. package/dist/tools/domains.d.ts.map +1 -1
  18. package/dist/tools/domains.js +18 -0
  19. package/dist/tools/domains.js.map +1 -1
  20. package/dist/tools/fap/fap-invoice-hold-place.d.ts +14 -0
  21. package/dist/tools/fap/fap-invoice-hold-place.d.ts.map +1 -0
  22. package/dist/tools/fap/fap-invoice-hold-place.js +62 -0
  23. package/dist/tools/fap/fap-invoice-hold-place.js.map +1 -0
  24. package/dist/tools/fap/fap-invoice-hold-release.d.ts +19 -0
  25. package/dist/tools/fap/fap-invoice-hold-release.d.ts.map +1 -0
  26. package/dist/tools/fap/fap-invoice-hold-release.js +65 -0
  27. package/dist/tools/fap/fap-invoice-hold-release.js.map +1 -0
  28. package/dist/tools/fap/fap-supplier-bill-create.d.ts +14 -0
  29. package/dist/tools/fap/fap-supplier-bill-create.d.ts.map +1 -0
  30. package/dist/tools/fap/fap-supplier-bill-create.js +90 -0
  31. package/dist/tools/fap/fap-supplier-bill-create.js.map +1 -0
  32. package/dist/tools/fap/fap-supplier-bill-line-add.d.ts +8 -0
  33. package/dist/tools/fap/fap-supplier-bill-line-add.d.ts.map +1 -0
  34. package/dist/tools/fap/fap-supplier-bill-line-add.js +75 -0
  35. package/dist/tools/fap/fap-supplier-bill-line-add.js.map +1 -0
  36. package/dist/tools/fap/fap-supplier-create.d.ts +9 -0
  37. package/dist/tools/fap/fap-supplier-create.d.ts.map +1 -0
  38. package/dist/tools/fap/fap-supplier-create.js +53 -0
  39. package/dist/tools/fap/fap-supplier-create.js.map +1 -0
  40. package/dist/tools/fap/fap-supplier-status-set.d.ts +8 -0
  41. package/dist/tools/fap/fap-supplier-status-set.d.ts.map +1 -0
  42. package/dist/tools/fap/fap-supplier-status-set.js +62 -0
  43. package/dist/tools/fap/fap-supplier-status-set.js.map +1 -0
  44. package/dist/tools/fap/fap-supplier-update.d.ts +8 -0
  45. package/dist/tools/fap/fap-supplier-update.d.ts.map +1 -0
  46. package/dist/tools/fap/fap-supplier-update.js +51 -0
  47. package/dist/tools/fap/fap-supplier-update.js.map +1 -0
  48. package/dist/tools/fap/generated-reads.d.ts +5 -0
  49. package/dist/tools/fap/generated-reads.d.ts.map +1 -0
  50. package/dist/tools/fap/generated-reads.js +19 -0
  51. package/dist/tools/fap/generated-reads.js.map +1 -0
  52. package/dist/tools/fap/index.d.ts +5 -0
  53. package/dist/tools/fap/index.d.ts.map +1 -0
  54. package/dist/tools/fap/index.js +21 -0
  55. package/dist/tools/fap/index.js.map +1 -0
  56. package/dist/tools/far/far-cash-receipt-record.d.ts +22 -0
  57. package/dist/tools/far/far-cash-receipt-record.d.ts.map +1 -0
  58. package/dist/tools/far/far-cash-receipt-record.js +96 -0
  59. package/dist/tools/far/far-cash-receipt-record.js.map +1 -0
  60. package/dist/tools/far/far-customer-create.d.ts +12 -0
  61. package/dist/tools/far/far-customer-create.d.ts.map +1 -0
  62. package/dist/tools/far/far-customer-create.js +54 -0
  63. package/dist/tools/far/far-customer-create.js.map +1 -0
  64. package/dist/tools/far/far-customer-invoice-create.d.ts +13 -0
  65. package/dist/tools/far/far-customer-invoice-create.d.ts.map +1 -0
  66. package/dist/tools/far/far-customer-invoice-create.js +76 -0
  67. package/dist/tools/far/far-customer-invoice-create.js.map +1 -0
  68. package/dist/tools/far/far-customer-invoice-line-add.d.ts +10 -0
  69. package/dist/tools/far/far-customer-invoice-line-add.d.ts.map +1 -0
  70. package/dist/tools/far/far-customer-invoice-line-add.js +77 -0
  71. package/dist/tools/far/far-customer-invoice-line-add.js.map +1 -0
  72. package/dist/tools/far/far-customer-status-set.d.ts +15 -0
  73. package/dist/tools/far/far-customer-status-set.d.ts.map +1 -0
  74. package/dist/tools/far/far-customer-status-set.js +70 -0
  75. package/dist/tools/far/far-customer-status-set.js.map +1 -0
  76. package/dist/tools/far/far-customer-update.d.ts +10 -0
  77. package/dist/tools/far/far-customer-update.d.ts.map +1 -0
  78. package/dist/tools/far/far-customer-update.js +51 -0
  79. package/dist/tools/far/far-customer-update.js.map +1 -0
  80. package/dist/tools/far/generated-reads.d.ts +5 -0
  81. package/dist/tools/far/generated-reads.d.ts.map +1 -0
  82. package/dist/tools/far/generated-reads.js +25 -0
  83. package/dist/tools/far/generated-reads.js.map +1 -0
  84. package/dist/tools/far/index.d.ts +5 -0
  85. package/dist/tools/far/index.d.ts.map +1 -0
  86. package/dist/tools/far/index.js +19 -0
  87. package/dist/tools/far/index.js.map +1 -0
  88. package/dist/tools/role-mapping.d.ts.map +1 -1
  89. package/dist/tools/role-mapping.js +12 -0
  90. package/dist/tools/role-mapping.js.map +1 -1
  91. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"far-customer-status-set.js","sourceRoot":"","sources":["../../../src/tools/far/far-customer-status-set.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,GAAG,EAAE,MAAM,uCAAuC,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAS;IAC5C,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EACT,mFAAmF;QACnF,yFAAyF;QACzF,oFAAoF;IACtF,WAAW,EAAE,CAAC;SACX,MAAM,CAAC;QACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACtD,oBAAoB,EAAE,CAAC;aACpB,MAAM,EAAE;aACR,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,EAAE;aACV,QAAQ,CACP,8DAA8D;YAC5D,8CAA8C,CACjD;QACH,6BAA6B,EAAE,CAAC;aAC7B,MAAM,EAAE;aACR,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,EAAE;aACV,QAAQ,CACP,gFAAgF;YAC9E,gDAAgD,CACnD;QACH,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,kDAAkD,CAAC;QACjF,eAAe,EAAE,oBAAoB;KACtC,CAAC;SACD,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,oBAAoB,KAAK,SAAS;QACpC,CAAC,CAAC,6BAA6B,KAAK,SAAS,EAC/C;QACE,OAAO,EACL,8FAA8F;KACjG,CACF;IACH,YAAY,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;IAC9C,UAAU,EAAE,cAAc;IAC1B,YAAY,EAAE,wBAAwB;IACtC,WAAW,EAAE,aAAa;IAC1B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,IAMb,CAAC;QACF,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,IAAI,KAAK,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;YAC7C,MAAM,CAAC,oBAAoB,GAAG,KAAK,CAAC,oBAAoB,CAAC;QAC3D,CAAC;QACD,IAAI,KAAK,CAAC,6BAA6B,KAAK,SAAS,EAAE,CAAC;YACtD,MAAM,CAAC,6BAA6B,GAAG,KAAK,CAAC,6BAA6B,CAAC;QAC7E,CAAC;QACD,OAAO,cAAc,CAAC,GAAG,EAAE;YACzB,KAAK,EAAE,eAAe;YACtB,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,KAAK,EAAE,cAAc;YACrB,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM;YACrB,SAAS,EAAE,sBAAsB;YACjC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,cAAc,EAAE,KAAK,CAAC,eAAe;SACtC,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { Tool } from '../registry.js';
2
+ /**
3
+ * Explicit-schema update for `far_customers`. Approval status,
4
+ * customer status, and lifecycle-transition fields are DELIBERATELY
5
+ * excluded from this generic update — a status transition is a
6
+ * dedicated tool (`far_customer_status_set`) so it carries a reason
7
+ * and a confirmation semantic.
8
+ */
9
+ export declare const farCustomerUpdateTool: Tool;
10
+ //# sourceMappingURL=far-customer-update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"far-customer-update.d.ts","sourceRoot":"","sources":["../../../src/tools/far/far-customer-update.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAQtC;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,EAAE,IA+CnC,CAAC"}
@@ -0,0 +1,51 @@
1
+ import { z } from 'zod';
2
+ import { API_ERROR, errorResponse, successResponse } from '../types.js';
3
+ import { cap } from '../../capabilities/tool-capability.js';
4
+ import { financeWriteHeaders, idempotencyKeySchema, } from '../_shared/finance-idempotency.js';
5
+ /**
6
+ * Explicit-schema update for `far_customers`. Approval status,
7
+ * customer status, and lifecycle-transition fields are DELIBERATELY
8
+ * excluded from this generic update — a status transition is a
9
+ * dedicated tool (`far_customer_status_set`) so it carries a reason
10
+ * and a confirmation semantic.
11
+ */
12
+ export const farCustomerUpdateTool = {
13
+ name: 'far_customer_update',
14
+ description: 'Update an FAR customer with an explicit safe field set. Status/approval ' +
15
+ 'columns are excluded from this generic path — use far_customer_status_set for ' +
16
+ 'lifecycle transitions. Retry-safe (converges on the same target state).',
17
+ inputSchema: z.object({
18
+ id: z.string().min(1).describe('UUID of the customer'),
19
+ customer_code: z.string().max(64).nullable().optional(),
20
+ customer_class_code: z.string().max(64).nullable().optional(),
21
+ customer_type_code: z.string().max(64).nullable().optional(),
22
+ payment_term_id: z.string().nullable().optional(),
23
+ idempotency_key: idempotencyKeySchema,
24
+ }),
25
+ capabilities: [cap('far_customers', 'UPDATE')],
26
+ sideEffect: 'state_change',
27
+ confirmation: 'none',
28
+ idempotency: 'natural_key',
29
+ handler: async (args, ctx) => {
30
+ const { id, idempotency_key, ...rest } = args;
31
+ const body = {};
32
+ for (const [k, v] of Object.entries(rest)) {
33
+ if (v !== undefined)
34
+ body[k] = v;
35
+ }
36
+ if (Object.keys(body).length === 0) {
37
+ return errorResponse(API_ERROR, 'Update payload is empty — supply at least one field to change.');
38
+ }
39
+ try {
40
+ const rows = await ctx.apiClient.patch(`${ctx.apiClient.dbBasePath}/far_customers?id=eq.${id}&select=*`, body, { headers: financeWriteHeaders(idempotency_key) });
41
+ if (!rows || rows.length === 0) {
42
+ return errorResponse(API_ERROR, `FAR customer ${id} not found or not accessible`);
43
+ }
44
+ return successResponse(rows[0]);
45
+ }
46
+ catch (error) {
47
+ return errorResponse(API_ERROR, `Failed to update FAR customer: ${error.message}`);
48
+ }
49
+ },
50
+ };
51
+ //# sourceMappingURL=far-customer-update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"far-customer-update.js","sourceRoot":"","sources":["../../../src/tools/far/far-customer-update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,GAAG,EAAE,MAAM,uCAAuC,CAAC;AAC5D,OAAO,EACL,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,mCAAmC,CAAC;AAE3C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAS;IACzC,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACT,0EAA0E;QAC1E,gFAAgF;QAChF,yEAAyE;IAC3E,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACtD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QACvD,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QAC7D,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QAC5D,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QACjD,eAAe,EAAE,oBAAoB;KACtC,CAAC;IACF,YAAY,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;IAC9C,UAAU,EAAE,cAAc;IAC1B,YAAY,EAAE,MAAM;IACpB,WAAW,EAAE,aAAa;IAC1B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,EAAE,EAAE,EAAE,eAAe,EAAE,GAAG,IAAI,EAAE,GAAG,IAGd,CAAC;QAC5B,MAAM,IAAI,GAA4B,EAAE,CAAC;QACzC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,KAAK,SAAS;gBAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,aAAa,CAClB,SAAS,EACT,gEAAgE,CACjE,CAAC;QACJ,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,KAAK,CACpC,GAAG,GAAG,CAAC,SAAS,CAAC,UAAU,wBAAwB,EAAE,WAAW,EAChE,IAAI,EACJ,EAAE,OAAO,EAAE,mBAAmB,CAAC,eAAe,CAAC,EAAE,CAClD,CAAC;YACF,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,aAAa,CAAC,SAAS,EAAE,gBAAgB,EAAE,8BAA8B,CAAC,CAAC;YACpF,CAAC;YACD,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,aAAa,CAAC,SAAS,EAAE,kCAAkC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;CACF,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { Tool } from '../registry.js';
2
+ import { CatalogueReport } from '../../generated-reads/index.js';
3
+ export declare const farGeneratedReadReport: CatalogueReport;
4
+ export declare const farGeneratedReadTools: Tool[];
5
+ //# sourceMappingURL=generated-reads.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generated-reads.d.ts","sourceRoot":"","sources":["../../../src/tools/far/generated-reads.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAGL,eAAe,EAChB,MAAM,gCAAgC,CAAC;AAsBxC,eAAO,MAAM,sBAAsB,EAAE,eAIjC,CAAC;AAEL,eAAO,MAAM,qBAAqB,EAAE,IAAI,EAGvC,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { buildGeneratedReadCatalogue, buildGeneratedReadCatalogueReport, } from '../../generated-reads/index.js';
2
+ import { loadPersistResourceContract } from '../../contracts/persist-resource-contract.js';
3
+ /**
4
+ * Bounded read tools for the FAR module (WI-0003504).
5
+ *
6
+ * The schema-driven catalogue (WI-0003500) emits describe/list/get for
7
+ * every `normal`-sensitivity FAR resource that declares a read operation
8
+ * and has no side effects. Sensitive resources — `far_cash_receipts`,
9
+ * `far_payment_terms`, `far_payment_term_lines`, `far_receipt_schedules`
10
+ * — are explicitly included per the acceptance criterion for this WI
11
+ * (receipts and payment-schedule reads are in scope). The guardrails
12
+ * redact any credential-shaped column, but these tables do not carry
13
+ * password/token fields.
14
+ *
15
+ * The catalogue emits `_describe` / `_list` / `_get` tools; every write
16
+ * on these tables lives in a dedicated hand-written tool (see
17
+ * `far-customer-*`, `far-cash-receipt-*`).
18
+ */
19
+ const contract = loadPersistResourceContract();
20
+ export const farGeneratedReadReport = buildGeneratedReadCatalogueReport(contract, {
21
+ modules: ['far'],
22
+ includeSensitive: true,
23
+ });
24
+ export const farGeneratedReadTools = buildGeneratedReadCatalogue(contract, { modules: ['far'], includeSensitive: true });
25
+ //# sourceMappingURL=generated-reads.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generated-reads.js","sourceRoot":"","sources":["../../../src/tools/far/generated-reads.ts"],"names":[],"mappings":"AACA,OAAO,EACL,2BAA2B,EAC3B,iCAAiC,GAElC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAE3F;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,QAAQ,GAAG,2BAA2B,EAAE,CAAC;AAE/C,MAAM,CAAC,MAAM,sBAAsB,GACjC,iCAAiC,CAAC,QAAQ,EAAE;IAC1C,OAAO,EAAE,CAAC,KAAK,CAAC;IAChB,gBAAgB,EAAE,IAAI;CACvB,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,qBAAqB,GAAW,2BAA2B,CACtE,QAAQ,EACR,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAC7C,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { Tool } from '../registry.js';
2
+ export declare const farTools: Tool[];
3
+ /** Read-only slice used by the `far-readonly` selectable sub-domain. */
4
+ export declare const farReadOnlyTools: Tool[];
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/far/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAkBtC,eAAO,MAAM,QAAQ,EAAE,IAAI,EAAiD,CAAC;AAE7E,wEAAwE;AACxE,eAAO,MAAM,gBAAgB,EAAE,IAAI,EAA0B,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { farGeneratedReadTools } from './generated-reads.js';
2
+ import { farCustomerCreateTool } from './far-customer-create.js';
3
+ import { farCustomerUpdateTool } from './far-customer-update.js';
4
+ import { farCustomerStatusSetTool } from './far-customer-status-set.js';
5
+ import { farCustomerInvoiceCreateTool } from './far-customer-invoice-create.js';
6
+ import { farCustomerInvoiceLineAddTool } from './far-customer-invoice-line-add.js';
7
+ import { farCashReceiptRecordTool } from './far-cash-receipt-record.js';
8
+ const farWriteTools = [
9
+ farCustomerCreateTool,
10
+ farCustomerUpdateTool,
11
+ farCustomerStatusSetTool,
12
+ farCustomerInvoiceCreateTool,
13
+ farCustomerInvoiceLineAddTool,
14
+ farCashReceiptRecordTool,
15
+ ];
16
+ export const farTools = [...farGeneratedReadTools, ...farWriteTools];
17
+ /** Read-only slice used by the `far-readonly` selectable sub-domain. */
18
+ export const farReadOnlyTools = farGeneratedReadTools;
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/far/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAExE,MAAM,aAAa,GAAW;IAC5B,qBAAqB;IACrB,qBAAqB;IACrB,wBAAwB;IACxB,4BAA4B;IAC5B,6BAA6B;IAC7B,wBAAwB;CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAW,CAAC,GAAG,qBAAqB,EAAE,GAAG,aAAa,CAAC,CAAC;AAE7E,wEAAwE;AACxE,MAAM,CAAC,MAAM,gBAAgB,GAAW,qBAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"role-mapping.d.ts","sourceRoot":"","sources":["../../src/tools/role-mapping.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;;;;;;;GAQG;AACH,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAiCD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CA2BhE;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,eAAe,GACzB,OAAO,CAAC,SAAS,EAAE,CAAC,CAEtB;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,eAAe,GACzB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAO7B"}
1
+ {"version":3,"file":"role-mapping.d.ts","sourceRoot":"","sources":["../../src/tools/role-mapping.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;;;;;;;GAQG;AACH,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAuCD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAiChE;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,eAAe,GACzB,OAAO,CAAC,SAAS,EAAE,CAAC,CAEtB;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,eAAe,GACzB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAO7B"}
@@ -27,6 +27,12 @@ const ROLE_TO_DOMAINS = {
27
27
  'Bank account administrator': ['cmm'],
28
28
  'Bank account user': ['cmm'],
29
29
  'Bank account viewer': ['cmm-readonly'],
30
+ 'Accounts receivable administrator': ['far'],
31
+ 'Accounts receivable user': ['far'],
32
+ 'Accounts receivable viewer': ['far-readonly'],
33
+ 'Accounts payable administrator': ['fap'],
34
+ 'Accounts payable user': ['fap'],
35
+ 'Accounts payable viewer': ['fap-readonly'],
30
36
  };
31
37
  /**
32
38
  * Given a list of user group names, resolve the set of tool domain IDs
@@ -60,6 +66,12 @@ export function mapRolesToDomains(groupNames) {
60
66
  if (domains.has('cmm') && domains.has('cmm-readonly')) {
61
67
  domains.delete('cmm-readonly');
62
68
  }
69
+ if (domains.has('far') && domains.has('far-readonly')) {
70
+ domains.delete('far-readonly');
71
+ }
72
+ if (domains.has('fap') && domains.has('fap-readonly')) {
73
+ domains.delete('fap-readonly');
74
+ }
63
75
  return [...domains];
64
76
  }
65
77
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"role-mapping.js","sourceRoot":"","sources":["../../src/tools/role-mapping.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"role-mapping.js","sourceRoot":"","sources":["../../src/tools/role-mapping.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@raytio/mcp-server",
3
- "version": "9.3.0",
3
+ "version": "10.0.0",
4
4
  "description": "MCP server for secure AI agent access to Raytio user data",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",