@lerianstudio/matcher-mcp 5.0.0-beta.7 → 5.0.0-beta.71

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 (273) hide show
  1. package/README.md +28 -13
  2. package/dist/auth/request-token.js +11 -69
  3. package/dist/auth/request-token.js.map +1 -1
  4. package/dist/config.js +6 -21
  5. package/dist/config.js.map +1 -1
  6. package/dist/copilot/agent.js +5 -9
  7. package/dist/copilot/agent.js.map +1 -1
  8. package/dist/copilot/provider-anthropic.js +75 -23
  9. package/dist/copilot/provider-anthropic.js.map +1 -1
  10. package/dist/copilot/provider-openrouter.js +5 -18
  11. package/dist/copilot/provider-openrouter.js.map +1 -1
  12. package/dist/copilot/provider-shared.js +11 -0
  13. package/dist/copilot/provider-shared.js.map +1 -1
  14. package/dist/copilot/speech-provider.js +84 -0
  15. package/dist/copilot/speech-provider.js.map +1 -0
  16. package/dist/copilot/sse.js +5 -0
  17. package/dist/copilot/sse.js.map +1 -1
  18. package/dist/copilot/tools.js +14 -65
  19. package/dist/copilot/tools.js.map +1 -1
  20. package/dist/copilot/transcribe-handler.js +8 -93
  21. package/dist/copilot/transcribe-handler.js.map +1 -1
  22. package/dist/copilot/turn-request.js +76 -0
  23. package/dist/copilot/turn-request.js.map +1 -0
  24. package/dist/copilot/turns-handler.js +11 -102
  25. package/dist/copilot/turns-handler.js.map +1 -1
  26. package/dist/matcher/client.js +14 -0
  27. package/dist/matcher/client.js.map +1 -1
  28. package/dist/matcher/idempotency.js +94 -0
  29. package/dist/matcher/idempotency.js.map +1 -0
  30. package/dist/observability/otel.js +7 -29
  31. package/dist/observability/otel.js.map +1 -1
  32. package/dist/server.js +12 -81
  33. package/dist/server.js.map +1 -1
  34. package/dist/spec/curated-operations.js +111 -95
  35. package/dist/spec/curated-operations.js.map +1 -1
  36. package/dist/spec/enum-policy.js +21 -26
  37. package/dist/spec/enum-policy.js.map +1 -1
  38. package/dist/spec/openapi.yaml +841 -56
  39. package/dist/spec/schema-parity.js +23 -28
  40. package/dist/spec/schema-parity.js.map +1 -1
  41. package/dist/tools/context/create.js +3 -2
  42. package/dist/tools/context/create.js.map +1 -1
  43. package/dist/tools/context/index.js +137 -17
  44. package/dist/tools/context/index.js.map +1 -1
  45. package/dist/tools/context/list.js +9 -35
  46. package/dist/tools/context/list.js.map +1 -1
  47. package/dist/tools/context/setup-progress.js +3 -2
  48. package/dist/tools/context/setup-progress.js.map +1 -1
  49. package/dist/tools/context/shared.js +7 -48
  50. package/dist/tools/context/shared.js.map +1 -1
  51. package/dist/tools/context/update.js +5 -5
  52. package/dist/tools/context/update.js.map +1 -1
  53. package/dist/tools/curated-tool.js +39 -0
  54. package/dist/tools/curated-tool.js.map +1 -0
  55. package/dist/tools/dashboard/index.js +124 -19
  56. package/dist/tools/dashboard/index.js.map +1 -1
  57. package/dist/tools/dashboard/shared.js +9 -68
  58. package/dist/tools/dashboard/shared.js.map +1 -1
  59. package/dist/tools/dispute/close.js +5 -5
  60. package/dist/tools/dispute/close.js.map +1 -1
  61. package/dist/tools/dispute/index.js +34 -6
  62. package/dist/tools/dispute/index.js.map +1 -1
  63. package/dist/tools/dispute/list.js +18 -47
  64. package/dist/tools/dispute/list.js.map +1 -1
  65. package/dist/tools/dispute/shared.js +4 -43
  66. package/dist/tools/dispute/shared.js.map +1 -1
  67. package/dist/tools/dispute/submit-evidence.js +5 -5
  68. package/dist/tools/dispute/submit-evidence.js.map +1 -1
  69. package/dist/tools/exception/add-comment.js +3 -2
  70. package/dist/tools/exception/add-comment.js.map +1 -1
  71. package/dist/tools/exception/adjust-entry.js +5 -5
  72. package/dist/tools/exception/adjust-entry.js.map +1 -1
  73. package/dist/tools/exception/bulk-assign.js +3 -2
  74. package/dist/tools/exception/bulk-assign.js.map +1 -1
  75. package/dist/tools/exception/bulk-dispatch.js +12 -4
  76. package/dist/tools/exception/bulk-dispatch.js.map +1 -1
  77. package/dist/tools/exception/bulk-resolve.js +3 -2
  78. package/dist/tools/exception/bulk-resolve.js.map +1 -1
  79. package/dist/tools/exception/dispatch.js +13 -5
  80. package/dist/tools/exception/dispatch.js.map +1 -1
  81. package/dist/tools/exception/force-match.js +3 -2
  82. package/dist/tools/exception/force-match.js.map +1 -1
  83. package/dist/tools/exception/history.js +8 -24
  84. package/dist/tools/exception/history.js.map +1 -1
  85. package/dist/tools/exception/index.js +88 -18
  86. package/dist/tools/exception/index.js.map +1 -1
  87. package/dist/tools/exception/list.js +14 -57
  88. package/dist/tools/exception/list.js.map +1 -1
  89. package/dist/tools/exception/open-dispute.js +3 -2
  90. package/dist/tools/exception/open-dispute.js.map +1 -1
  91. package/dist/tools/exception/shared.js +10 -46
  92. package/dist/tools/exception/shared.js.map +1 -1
  93. package/dist/tools/fee-rule/create.js +5 -5
  94. package/dist/tools/fee-rule/create.js.map +1 -1
  95. package/dist/tools/fee-rule/index.js +50 -8
  96. package/dist/tools/fee-rule/index.js.map +1 -1
  97. package/dist/tools/fee-rule/list.js +9 -29
  98. package/dist/tools/fee-rule/list.js.map +1 -1
  99. package/dist/tools/fee-rule/shared.js +5 -47
  100. package/dist/tools/fee-rule/shared.js.map +1 -1
  101. package/dist/tools/fee-rule/update.js +5 -5
  102. package/dist/tools/fee-rule/update.js.map +1 -1
  103. package/dist/tools/fee-schedule/create.js +8 -3
  104. package/dist/tools/fee-schedule/create.js.map +1 -1
  105. package/dist/tools/fee-schedule/index.js +62 -11
  106. package/dist/tools/fee-schedule/index.js.map +1 -1
  107. package/dist/tools/fee-schedule/list.js +8 -24
  108. package/dist/tools/fee-schedule/list.js.map +1 -1
  109. package/dist/tools/fee-schedule/shared.js +5 -44
  110. package/dist/tools/fee-schedule/shared.js.map +1 -1
  111. package/dist/tools/fee-schedule/simulate.js +5 -5
  112. package/dist/tools/fee-schedule/simulate.js.map +1 -1
  113. package/dist/tools/fee-schedule/update.js +5 -5
  114. package/dist/tools/fee-schedule/update.js.map +1 -1
  115. package/dist/tools/field-map/create.js +3 -2
  116. package/dist/tools/field-map/create.js.map +1 -1
  117. package/dist/tools/field-map/index.js +65 -11
  118. package/dist/tools/field-map/index.js.map +1 -1
  119. package/dist/tools/field-map/list.js +9 -29
  120. package/dist/tools/field-map/list.js.map +1 -1
  121. package/dist/tools/field-map/shared.js +6 -42
  122. package/dist/tools/field-map/shared.js.map +1 -1
  123. package/dist/tools/field-map/update.js +3 -2
  124. package/dist/tools/field-map/update.js.map +1 -1
  125. package/dist/tools/generic/invoke.js +16 -39
  126. package/dist/tools/generic/invoke.js.map +1 -1
  127. package/dist/tools/ingestion/index.js +100 -12
  128. package/dist/tools/ingestion/index.js.map +1 -1
  129. package/dist/tools/ingestion/job-transactions-list.js +10 -40
  130. package/dist/tools/ingestion/job-transactions-list.js.map +1 -1
  131. package/dist/tools/ingestion/jobs-list.js +9 -35
  132. package/dist/tools/ingestion/jobs-list.js.map +1 -1
  133. package/dist/tools/ingestion/shared.js +4 -41
  134. package/dist/tools/ingestion/shared.js.map +1 -1
  135. package/dist/tools/ingestion/transactions-search.js +9 -44
  136. package/dist/tools/ingestion/transactions-search.js.map +1 -1
  137. package/dist/tools/ingestion/upload-begin.js +5 -2
  138. package/dist/tools/ingestion/upload-begin.js.map +1 -1
  139. package/dist/tools/ingestion/upload.js +3 -2
  140. package/dist/tools/ingestion/upload.js.map +1 -1
  141. package/dist/tools/input-fields.js +51 -0
  142. package/dist/tools/input-fields.js.map +1 -0
  143. package/dist/tools/match-rule/index.js +130 -13
  144. package/dist/tools/match-rule/index.js.map +1 -1
  145. package/dist/tools/match-rule/list.js +9 -33
  146. package/dist/tools/match-rule/list.js.map +1 -1
  147. package/dist/tools/match-rule/shared.js +16 -46
  148. package/dist/tools/match-rule/shared.js.map +1 -1
  149. package/dist/tools/match-rule/update.js +7 -11
  150. package/dist/tools/match-rule/update.js.map +1 -1
  151. package/dist/tools/matching/get.js +5 -5
  152. package/dist/tools/matching/get.js.map +1 -1
  153. package/dist/tools/matching/groups.js +6 -14
  154. package/dist/tools/matching/groups.js.map +1 -1
  155. package/dist/tools/matching/index.js +77 -5
  156. package/dist/tools/matching/index.js.map +1 -1
  157. package/dist/tools/matching/list.js +9 -32
  158. package/dist/tools/matching/list.js.map +1 -1
  159. package/dist/tools/matching/shared.js +5 -46
  160. package/dist/tools/matching/shared.js.map +1 -1
  161. package/dist/tools/query-handler.js +9 -0
  162. package/dist/tools/query-handler.js.map +1 -0
  163. package/dist/tools/report/index.js +260 -30
  164. package/dist/tools/report/index.js.map +1 -1
  165. package/dist/tools/report/shared.js +24 -98
  166. package/dist/tools/report/shared.js.map +1 -1
  167. package/dist/tools/request-fields.js +17 -0
  168. package/dist/tools/request-fields.js.map +1 -0
  169. package/dist/tools/shared-dispatch.js +38 -0
  170. package/dist/tools/shared-dispatch.js.map +1 -0
  171. package/dist/tools/source/create.js +146 -23
  172. package/dist/tools/source/create.js.map +1 -1
  173. package/dist/tools/source/index.js +101 -13
  174. package/dist/tools/source/index.js.map +1 -1
  175. package/dist/tools/source/list.js +9 -32
  176. package/dist/tools/source/list.js.map +1 -1
  177. package/dist/tools/source/shared.js +5 -42
  178. package/dist/tools/source/shared.js.map +1 -1
  179. package/dist/tools/source/update.js +16 -33
  180. package/dist/tools/source/update.js.map +1 -1
  181. package/dist/tools/workspace/usage.js +12 -40
  182. package/dist/tools/workspace/usage.js.map +1 -1
  183. package/package.json +4 -4
  184. package/dist/tools/context/archive.js +0 -37
  185. package/dist/tools/context/archive.js.map +0 -1
  186. package/dist/tools/context/get.js +0 -31
  187. package/dist/tools/context/get.js.map +0 -1
  188. package/dist/tools/context/next-step.js +0 -99
  189. package/dist/tools/context/next-step.js.map +0 -1
  190. package/dist/tools/context/restore.js +0 -34
  191. package/dist/tools/context/restore.js.map +0 -1
  192. package/dist/tools/dashboard/aggregates.js +0 -37
  193. package/dist/tools/dashboard/aggregates.js.map +0 -1
  194. package/dist/tools/dashboard/cash-impact.js +0 -37
  195. package/dist/tools/dashboard/cash-impact.js.map +0 -1
  196. package/dist/tools/dashboard/match-rate.js +0 -37
  197. package/dist/tools/dashboard/match-rate.js.map +0 -1
  198. package/dist/tools/dashboard/metrics.js +0 -37
  199. package/dist/tools/dashboard/metrics.js.map +0 -1
  200. package/dist/tools/dashboard/sla.js +0 -34
  201. package/dist/tools/dashboard/sla.js.map +0 -1
  202. package/dist/tools/dashboard/source-breakdown.js +0 -37
  203. package/dist/tools/dashboard/source-breakdown.js.map +0 -1
  204. package/dist/tools/dashboard/volume.js +0 -37
  205. package/dist/tools/dashboard/volume.js.map +0 -1
  206. package/dist/tools/dispute/get.js +0 -27
  207. package/dist/tools/dispute/get.js.map +0 -1
  208. package/dist/tools/exception/delete-comment.js +0 -40
  209. package/dist/tools/exception/delete-comment.js.map +0 -1
  210. package/dist/tools/exception/get.js +0 -34
  211. package/dist/tools/exception/get.js.map +0 -1
  212. package/dist/tools/exception/list-comments.js +0 -35
  213. package/dist/tools/exception/list-comments.js.map +0 -1
  214. package/dist/tools/fee-rule/delete.js +0 -27
  215. package/dist/tools/fee-rule/delete.js.map +0 -1
  216. package/dist/tools/fee-rule/get.js +0 -27
  217. package/dist/tools/fee-rule/get.js.map +0 -1
  218. package/dist/tools/fee-schedule/delete.js +0 -32
  219. package/dist/tools/fee-schedule/delete.js.map +0 -1
  220. package/dist/tools/fee-schedule/get.js +0 -30
  221. package/dist/tools/fee-schedule/get.js.map +0 -1
  222. package/dist/tools/field-map/delete.js +0 -37
  223. package/dist/tools/field-map/delete.js.map +0 -1
  224. package/dist/tools/field-map/get.js +0 -43
  225. package/dist/tools/field-map/get.js.map +0 -1
  226. package/dist/tools/ingestion/job-errors-list.js +0 -45
  227. package/dist/tools/ingestion/job-errors-list.js.map +0 -1
  228. package/dist/tools/ingestion/job-get.js +0 -42
  229. package/dist/tools/ingestion/job-get.js.map +0 -1
  230. package/dist/tools/ingestion/transaction-ignore.js +0 -51
  231. package/dist/tools/ingestion/transaction-ignore.js.map +0 -1
  232. package/dist/tools/match-rule/create.js +0 -67
  233. package/dist/tools/match-rule/create.js.map +0 -1
  234. package/dist/tools/match-rule/delete.js +0 -35
  235. package/dist/tools/match-rule/delete.js.map +0 -1
  236. package/dist/tools/match-rule/get.js +0 -32
  237. package/dist/tools/match-rule/get.js.map +0 -1
  238. package/dist/tools/match-rule/reorder.js +0 -45
  239. package/dist/tools/match-rule/reorder.js.map +0 -1
  240. package/dist/tools/matching/start.js +0 -81
  241. package/dist/tools/matching/start.js.map +0 -1
  242. package/dist/tools/report/count-exceptions.js +0 -46
  243. package/dist/tools/report/count-exceptions.js.map +0 -1
  244. package/dist/tools/report/count-matched.js +0 -47
  245. package/dist/tools/report/count-matched.js.map +0 -1
  246. package/dist/tools/report/count-transactions.js +0 -45
  247. package/dist/tools/report/count-transactions.js.map +0 -1
  248. package/dist/tools/report/count-unmatched.js +0 -45
  249. package/dist/tools/report/count-unmatched.js.map +0 -1
  250. package/dist/tools/report/export-exceptions.js +0 -48
  251. package/dist/tools/report/export-exceptions.js.map +0 -1
  252. package/dist/tools/report/export-matched.js +0 -49
  253. package/dist/tools/report/export-matched.js.map +0 -1
  254. package/dist/tools/report/export-summary.js +0 -49
  255. package/dist/tools/report/export-summary.js.map +0 -1
  256. package/dist/tools/report/export-unmatched.js +0 -49
  257. package/dist/tools/report/export-unmatched.js.map +0 -1
  258. package/dist/tools/report/export-variance.js +0 -48
  259. package/dist/tools/report/export-variance.js.map +0 -1
  260. package/dist/tools/report/matched.js +0 -48
  261. package/dist/tools/report/matched.js.map +0 -1
  262. package/dist/tools/report/summary.js +0 -43
  263. package/dist/tools/report/summary.js.map +0 -1
  264. package/dist/tools/report/unmatched.js +0 -48
  265. package/dist/tools/report/unmatched.js.map +0 -1
  266. package/dist/tools/report/variance.js +0 -48
  267. package/dist/tools/report/variance.js.map +0 -1
  268. package/dist/tools/source/archive.js +0 -46
  269. package/dist/tools/source/archive.js.map +0 -1
  270. package/dist/tools/source/get.js +0 -57
  271. package/dist/tools/source/get.js.map +0 -1
  272. package/dist/tools/source/restore.js +0 -39
  273. package/dist/tools/source/restore.js.map +0 -1
@@ -1,37 +0,0 @@
1
- // `dashboard_cash_impact` — curated GET
2
- // /v1/reports/contexts/{contextId}/dashboard/cash-impact.
3
- //
4
- // Unreconciled financial exposure with currency and age breakdowns (spec
5
- // operationId getCashImpactSummary). Shares the family input shape (contextId
6
- // path + optional date_from/date_to/source_id query) and the fail-closed relay.
7
- // contextId is a routing path param and source_id a data filter — neither is a
8
- // tenant field, and no tenant field is accepted.
9
- import { buildDashboardQuery, contextDashboardSlicePath, dashboardQueryInputShape, dispatchDashboard, } from './shared.js';
10
- /** Zod raw shape for `dashboard_cash_impact` input — the shared dashboard shape. */
11
- export const dashboardCashImpactInputShape = dashboardQueryInputShape;
12
- /**
13
- * Register `dashboard_cash_impact`. Dispatches a GET to the context's
14
- * /dashboard/cash-impact slice with the optional date/source query and returns
15
- * matcher's exposure summary verbatim; a matcher error surfaces via the shared
16
- * toToolError.
17
- */
18
- export function registerDashboardCashImpactTool(server) {
19
- server.registerTool('dashboard_cash_impact', {
20
- description: 'Get the cash-impact summary (unreconciled financial exposure, with ' +
21
- 'currency and age breakdowns) for a reconciliation context. Pass ' +
22
- 'contextId (UUID path param — not a tenant field), and optionally ' +
23
- 'date_from/date_to (YYYY-MM-DD; matcher defaults to the last ~30 days ' +
24
- 'and SILENTLY EXCLUDES older exposure — for a full picture pass an ' +
25
- 'explicit date_from/date_to, max 90-day span) and/or source_id (UUID ' +
26
- 'data filter). No tenant field is accepted.',
27
- inputSchema: dashboardCashImpactInputShape,
28
- }, async (args, extra) => {
29
- const query = buildDashboardQuery(args);
30
- return dispatchDashboard({
31
- method: 'GET',
32
- path: contextDashboardSlicePath(args.contextId, 'cash-impact'),
33
- ...(query !== undefined ? { query } : {}),
34
- }, extra);
35
- });
36
- }
37
- //# sourceMappingURL=cash-impact.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cash-impact.js","sourceRoot":"","sources":["../../../src/tools/dashboard/cash-impact.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,0DAA0D;AAC1D,EAAE;AACF,yEAAyE;AACzE,8EAA8E;AAC9E,gFAAgF;AAChF,+EAA+E;AAC/E,iDAAiD;AAIjD,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,aAAa,CAAA;AAEpB,oFAAoF;AACpF,MAAM,CAAC,MAAM,6BAA6B,GAAG,wBAAwB,CAAA;AAErE;;;;;GAKG;AACH,MAAM,UAAU,+BAA+B,CAAC,MAAiB;IAC/D,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,WAAW,EACT,qEAAqE;YACrE,kEAAkE;YAClE,mEAAmE;YACnE,uEAAuE;YACvE,oEAAoE;YACpE,sEAAsE;YACtE,4CAA4C;QAC9C,WAAW,EAAE,6BAA6B;KAC3C,EACD,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QACpB,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;QACvC,OAAO,iBAAiB,CACtB;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,yBAAyB,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC;YAC9D,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1C,EACD,KAAK,CACN,CAAA;IACH,CAAC,CACF,CAAA;AACH,CAAC"}
@@ -1,37 +0,0 @@
1
- // `dashboard_match_rate` — curated GET
2
- // /v1/reports/contexts/{contextId}/dashboard/match-rate.
3
- //
4
- // Match-rate percentage and trend data over the window (spec operationId
5
- // getMatchRateStats). Shares the family input shape (contextId path + optional
6
- // date_from/date_to/source_id query) and the fail-closed relay. contextId is a
7
- // routing path param and source_id a data filter — neither is a tenant field,
8
- // and no tenant field is accepted.
9
- import { buildDashboardQuery, contextDashboardSlicePath, dashboardQueryInputShape, dispatchDashboard, } from './shared.js';
10
- /** Zod raw shape for `dashboard_match_rate` input — the shared dashboard shape. */
11
- export const dashboardMatchRateInputShape = dashboardQueryInputShape;
12
- /**
13
- * Register `dashboard_match_rate`. Dispatches a GET to the context's
14
- * /dashboard/match-rate slice with the optional date/source query and returns
15
- * matcher's match-rate stats verbatim; a matcher error surfaces via the shared
16
- * toToolError.
17
- */
18
- export function registerDashboardMatchRateTool(server) {
19
- server.registerTool('dashboard_match_rate', {
20
- description: 'Get the match-rate statistics (percentage plus trend) for a ' +
21
- 'reconciliation context. Pass contextId (UUID path param — not a tenant ' +
22
- 'field), and optionally date_from/date_to (YYYY-MM-DD; matcher defaults ' +
23
- 'to the last ~30 days and SILENTLY EXCLUDES older transactions — a ' +
24
- 'windowed match rate is NOT the overall result; for a full picture pass ' +
25
- 'an explicit date_from/date_to, max 90-day span) and/or source_id (UUID ' +
26
- 'data filter). No tenant field is accepted.',
27
- inputSchema: dashboardMatchRateInputShape,
28
- }, async (args, extra) => {
29
- const query = buildDashboardQuery(args);
30
- return dispatchDashboard({
31
- method: 'GET',
32
- path: contextDashboardSlicePath(args.contextId, 'match-rate'),
33
- ...(query !== undefined ? { query } : {}),
34
- }, extra);
35
- });
36
- }
37
- //# sourceMappingURL=match-rate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"match-rate.js","sourceRoot":"","sources":["../../../src/tools/dashboard/match-rate.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,yDAAyD;AACzD,EAAE;AACF,yEAAyE;AACzE,+EAA+E;AAC/E,+EAA+E;AAC/E,8EAA8E;AAC9E,mCAAmC;AAInC,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,aAAa,CAAA;AAEpB,mFAAmF;AACnF,MAAM,CAAC,MAAM,4BAA4B,GAAG,wBAAwB,CAAA;AAEpE;;;;;GAKG;AACH,MAAM,UAAU,8BAA8B,CAAC,MAAiB;IAC9D,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,WAAW,EACT,8DAA8D;YAC9D,yEAAyE;YACzE,yEAAyE;YACzE,oEAAoE;YACpE,yEAAyE;YACzE,yEAAyE;YACzE,4CAA4C;QAC9C,WAAW,EAAE,4BAA4B;KAC1C,EACD,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QACpB,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;QACvC,OAAO,iBAAiB,CACtB;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,yBAAyB,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC;YAC7D,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1C,EACD,KAAK,CACN,CAAA;IACH,CAAC,CACF,CAAA;AACH,CAAC"}
@@ -1,37 +0,0 @@
1
- // `dashboard_metrics` — curated GET
2
- // /v1/reports/contexts/{contextId}/dashboard/metrics.
3
- //
4
- // The complete Command Center metrics: summary, trends, and breakdowns in one
5
- // payload (spec operationId getMatcherDashboardMetrics). Shares the family input
6
- // shape (contextId path + optional date_from/date_to/source_id query) and the
7
- // fail-closed relay. contextId is a routing path param and source_id a data
8
- // filter — neither is a tenant field, and no tenant field is accepted.
9
- import { buildDashboardQuery, contextDashboardSlicePath, dashboardQueryInputShape, dispatchDashboard, } from './shared.js';
10
- /** Zod raw shape for `dashboard_metrics` input — the shared dashboard shape. */
11
- export const dashboardMetricsInputShape = dashboardQueryInputShape;
12
- /**
13
- * Register `dashboard_metrics`. Dispatches a GET to the context's
14
- * /dashboard/metrics slice with the optional date/source query and returns
15
- * matcher's comprehensive metrics verbatim; a matcher error surfaces via the
16
- * shared toToolError.
17
- */
18
- export function registerDashboardMetricsTool(server) {
19
- server.registerTool('dashboard_metrics', {
20
- description: 'Get the comprehensive Command Center dashboard metrics (summary, ' +
21
- 'trends, and breakdowns) for a reconciliation context. Pass contextId ' +
22
- '(UUID path param — not a tenant field), and optionally date_from/' +
23
- 'date_to (YYYY-MM-DD; matcher defaults to the last ~30 days and ' +
24
- 'SILENTLY EXCLUDES older data — for a full picture pass an explicit ' +
25
- 'date_from/date_to, max 90-day span) and/or source_id (UUID data ' +
26
- 'filter). No tenant field is accepted.',
27
- inputSchema: dashboardMetricsInputShape,
28
- }, async (args, extra) => {
29
- const query = buildDashboardQuery(args);
30
- return dispatchDashboard({
31
- method: 'GET',
32
- path: contextDashboardSlicePath(args.contextId, 'metrics'),
33
- ...(query !== undefined ? { query } : {}),
34
- }, extra);
35
- });
36
- }
37
- //# sourceMappingURL=metrics.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/tools/dashboard/metrics.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,sDAAsD;AACtD,EAAE;AACF,8EAA8E;AAC9E,iFAAiF;AACjF,8EAA8E;AAC9E,4EAA4E;AAC5E,uEAAuE;AAIvE,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,aAAa,CAAA;AAEpB,gFAAgF;AAChF,MAAM,CAAC,MAAM,0BAA0B,GAAG,wBAAwB,CAAA;AAElE;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAAC,MAAiB;IAC5D,MAAM,CAAC,YAAY,CACjB,mBAAmB,EACnB;QACE,WAAW,EACT,mEAAmE;YACnE,uEAAuE;YACvE,mEAAmE;YACnE,iEAAiE;YACjE,qEAAqE;YACrE,kEAAkE;YAClE,uCAAuC;QACzC,WAAW,EAAE,0BAA0B;KACxC,EACD,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QACpB,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;QACvC,OAAO,iBAAiB,CACtB;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,yBAAyB,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC;YAC1D,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1C,EACD,KAAK,CACN,CAAA;IACH,CAAC,CACF,CAAA;AACH,CAAC"}
@@ -1,34 +0,0 @@
1
- // `dashboard_sla` — curated GET /v1/reports/contexts/{contextId}/dashboard/sla.
2
- //
3
- // SLA compliance statistics over the window (spec operationId getSLAStats).
4
- // Shares the family input shape (contextId path + optional date_from/date_to/
5
- // source_id query) and the fail-closed relay. contextId is a routing path param
6
- // and source_id a data filter — neither is a tenant field, and no tenant field
7
- // is accepted.
8
- import { buildDashboardQuery, contextDashboardSlicePath, dashboardQueryInputShape, dispatchDashboard, } from './shared.js';
9
- /** Zod raw shape for `dashboard_sla` input — the shared dashboard shape. */
10
- export const dashboardSlaInputShape = dashboardQueryInputShape;
11
- /**
12
- * Register `dashboard_sla`. Dispatches a GET to the context's /dashboard/sla
13
- * slice with the optional date/source query and returns matcher's SLA stats
14
- * verbatim; a matcher error surfaces via the shared toToolError.
15
- */
16
- export function registerDashboardSlaTool(server) {
17
- server.registerTool('dashboard_sla', {
18
- description: 'Get the SLA compliance statistics for a reconciliation context. Pass ' +
19
- 'contextId (UUID path param — not a tenant field), and optionally ' +
20
- 'date_from/date_to (YYYY-MM-DD; matcher defaults to the last ~30 days ' +
21
- 'and SILENTLY EXCLUDES older exceptions — for a full picture pass an ' +
22
- 'explicit date_from/date_to, max 90-day span) and/or source_id (UUID ' +
23
- 'data filter). No tenant field is accepted.',
24
- inputSchema: dashboardSlaInputShape,
25
- }, async (args, extra) => {
26
- const query = buildDashboardQuery(args);
27
- return dispatchDashboard({
28
- method: 'GET',
29
- path: contextDashboardSlicePath(args.contextId, 'sla'),
30
- ...(query !== undefined ? { query } : {}),
31
- }, extra);
32
- });
33
- }
34
- //# sourceMappingURL=sla.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sla.js","sourceRoot":"","sources":["../../../src/tools/dashboard/sla.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,gFAAgF;AAChF,+EAA+E;AAC/E,eAAe;AAIf,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,aAAa,CAAA;AAEpB,4EAA4E;AAC5E,MAAM,CAAC,MAAM,sBAAsB,GAAG,wBAAwB,CAAA;AAE9D;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAiB;IACxD,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,WAAW,EACT,uEAAuE;YACvE,mEAAmE;YACnE,uEAAuE;YACvE,sEAAsE;YACtE,sEAAsE;YACtE,4CAA4C;QAC9C,WAAW,EAAE,sBAAsB;KACpC,EACD,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QACpB,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;QACvC,OAAO,iBAAiB,CACtB;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,yBAAyB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;YACtD,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1C,EACD,KAAK,CACN,CAAA;IACH,CAAC,CACF,CAAA;AACH,CAAC"}
@@ -1,37 +0,0 @@
1
- // `dashboard_source_breakdown` — curated GET
2
- // /v1/reports/contexts/{contextId}/dashboard/source-breakdown.
3
- //
4
- // Per-source reconciliation statistics for the context over the window (spec
5
- // operationId getSourceBreakdown). Shares the family input shape (contextId path
6
- // + optional date_from/date_to/source_id query) and the fail-closed relay.
7
- // contextId is a routing path param and source_id a data filter — neither is a
8
- // tenant field, and no tenant field is accepted.
9
- import { buildDashboardQuery, contextDashboardSlicePath, dashboardQueryInputShape, dispatchDashboard, } from './shared.js';
10
- /** Zod raw shape for `dashboard_source_breakdown` input — the shared dashboard shape. */
11
- export const dashboardSourceBreakdownInputShape = dashboardQueryInputShape;
12
- /**
13
- * Register `dashboard_source_breakdown`. Dispatches a GET to the context's
14
- * /dashboard/source-breakdown slice with the optional date/source query and
15
- * returns matcher's per-source breakdown verbatim; a matcher error surfaces via
16
- * the shared toToolError.
17
- */
18
- export function registerDashboardSourceBreakdownTool(server) {
19
- server.registerTool('dashboard_source_breakdown', {
20
- description: 'Get the per-source reconciliation breakdown for a context (statistics ' +
21
- 'grouped by source). Pass contextId (UUID path param — not a tenant ' +
22
- 'field), and optionally date_from/date_to (YYYY-MM-DD; matcher defaults ' +
23
- 'to the last ~30 days and SILENTLY EXCLUDES older data — for a full ' +
24
- 'picture pass an explicit date_from/date_to, max 90-day span) and/or ' +
25
- 'source_id (UUID data filter, to narrow to a single source). No tenant ' +
26
- 'field is accepted.',
27
- inputSchema: dashboardSourceBreakdownInputShape,
28
- }, async (args, extra) => {
29
- const query = buildDashboardQuery(args);
30
- return dispatchDashboard({
31
- method: 'GET',
32
- path: contextDashboardSlicePath(args.contextId, 'source-breakdown'),
33
- ...(query !== undefined ? { query } : {}),
34
- }, extra);
35
- });
36
- }
37
- //# sourceMappingURL=source-breakdown.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"source-breakdown.js","sourceRoot":"","sources":["../../../src/tools/dashboard/source-breakdown.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,+DAA+D;AAC/D,EAAE;AACF,6EAA6E;AAC7E,iFAAiF;AACjF,2EAA2E;AAC3E,+EAA+E;AAC/E,iDAAiD;AAIjD,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,aAAa,CAAA;AAEpB,yFAAyF;AACzF,MAAM,CAAC,MAAM,kCAAkC,GAAG,wBAAwB,CAAA;AAE1E;;;;;GAKG;AACH,MAAM,UAAU,oCAAoC,CAAC,MAAiB;IACpE,MAAM,CAAC,YAAY,CACjB,4BAA4B,EAC5B;QACE,WAAW,EACT,wEAAwE;YACxE,qEAAqE;YACrE,yEAAyE;YACzE,qEAAqE;YACrE,sEAAsE;YACtE,wEAAwE;YACxE,oBAAoB;QACtB,WAAW,EAAE,kCAAkC;KAChD,EACD,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QACpB,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;QACvC,OAAO,iBAAiB,CACtB;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,yBAAyB,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC;YACnE,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1C,EACD,KAAK,CACN,CAAA;IACH,CAAC,CACF,CAAA;AACH,CAAC"}
@@ -1,37 +0,0 @@
1
- // `dashboard_volume` — curated GET
2
- // /v1/reports/contexts/{contextId}/dashboard/volume.
3
- //
4
- // Transaction volume statistics over the window (spec operationId
5
- // getVolumeStats). Shares the family input shape (contextId path + optional
6
- // date_from/date_to/source_id query) and the fail-closed relay. contextId is a
7
- // routing path param and source_id a data filter — neither is a tenant field,
8
- // and no tenant field is accepted.
9
- import { buildDashboardQuery, contextDashboardSlicePath, dashboardQueryInputShape, dispatchDashboard, } from './shared.js';
10
- /** Zod raw shape for `dashboard_volume` input — the shared dashboard shape. */
11
- export const dashboardVolumeInputShape = dashboardQueryInputShape;
12
- /**
13
- * Register `dashboard_volume`. Dispatches a GET to the context's
14
- * /dashboard/volume slice with the optional date/source query and returns
15
- * matcher's volume stats verbatim; a matcher error surfaces via the shared
16
- * toToolError.
17
- */
18
- export function registerDashboardVolumeTool(server) {
19
- server.registerTool('dashboard_volume', {
20
- description: 'Get the transaction volume statistics for a reconciliation context. ' +
21
- 'Pass contextId (UUID path param — not a tenant field), and optionally ' +
22
- 'date_from/date_to (YYYY-MM-DD; matcher defaults to the last ~30 days ' +
23
- 'and SILENTLY EXCLUDES older volume — for a full picture pass an ' +
24
- 'explicit date_from/date_to, max 90-day span). The response echoes the ' +
25
- 'resolved window in periodStart/periodEnd. Optionally also pass ' +
26
- 'source_id (UUID data filter). No tenant field is accepted.',
27
- inputSchema: dashboardVolumeInputShape,
28
- }, async (args, extra) => {
29
- const query = buildDashboardQuery(args);
30
- return dispatchDashboard({
31
- method: 'GET',
32
- path: contextDashboardSlicePath(args.contextId, 'volume'),
33
- ...(query !== undefined ? { query } : {}),
34
- }, extra);
35
- });
36
- }
37
- //# sourceMappingURL=volume.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"volume.js","sourceRoot":"","sources":["../../../src/tools/dashboard/volume.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,qDAAqD;AACrD,EAAE;AACF,kEAAkE;AAClE,4EAA4E;AAC5E,+EAA+E;AAC/E,8EAA8E;AAC9E,mCAAmC;AAInC,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,aAAa,CAAA;AAEpB,+EAA+E;AAC/E,MAAM,CAAC,MAAM,yBAAyB,GAAG,wBAAwB,CAAA;AAEjE;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CAAC,MAAiB;IAC3D,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,WAAW,EACT,sEAAsE;YACtE,wEAAwE;YACxE,uEAAuE;YACvE,kEAAkE;YAClE,wEAAwE;YACxE,iEAAiE;YACjE,4DAA4D;QAC9D,WAAW,EAAE,yBAAyB;KACvC,EACD,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QACpB,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;QACvC,OAAO,iBAAiB,CACtB;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,yBAAyB,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC;YACzD,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1C,EACD,KAAK,CACN,CAAA;IACH,CAAC,CACF,CAAA;AACH,CAAC"}
@@ -1,27 +0,0 @@
1
- // `dispute_get` — curated GET /v1/disputes/{disputeId}.
2
- //
3
- // Reads one dispute by id. disputeId is the only input (a UUID path param). The
4
- // dispute must belong to the relayed token's tenant — matcher enforces that; no
5
- // tenant field is accepted.
6
- import { z } from 'zod';
7
- import { disputePath, dispatchDispute } from './shared.js';
8
- /** Zod raw shape for `dispute_get` input — just the dispute id. */
9
- export const getDisputeInputShape = {
10
- disputeId: z.string().min(1).describe('The dispute id (UUID) to fetch.'),
11
- };
12
- /**
13
- * Register `dispute_get`. Substitutes the id into the path and dispatches a GET
14
- * through the shared fail-closed relay; a matcher error (e.g. 404) surfaces via
15
- * the shared toToolError.
16
- */
17
- export function registerDisputeGetTool(server) {
18
- server.registerTool('dispute_get', {
19
- description: 'Fetch a single dispute by id (UUID). The dispute must belong to your ' +
20
- "token's tenant. Returns the dispute, or a structured RFC 9457 error " +
21
- '(e.g. 404 if it does not exist or is not yours).',
22
- inputSchema: getDisputeInputShape,
23
- }, async (args, extra) => {
24
- return dispatchDispute({ method: 'GET', path: disputePath(args.disputeId) }, extra);
25
- });
26
- }
27
- //# sourceMappingURL=get.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/tools/dispute/get.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,4BAA4B;AAE5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE1D,mEAAmE;AACnE,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC;CACzE,CAAA;AAKD;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAiB;IACtD,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,WAAW,EACT,uEAAuE;YACvE,sEAAsE;YACtE,kDAAkD;QACpD,WAAW,EAAE,oBAAoB;KAClC,EACD,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QACpB,OAAO,eAAe,CACpB,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EACpD,KAAK,CACN,CAAA;IACH,CAAC,CACF,CAAA;AACH,CAAC"}
@@ -1,40 +0,0 @@
1
- // `exception_delete_comment` — curated DELETE
2
- // /v1/exceptions/{exceptionId}/comments/{commentId}.
3
- //
4
- // Removes a single discussion comment from an exception. A successful delete
5
- // returns 204 (no content), which the relay renders as null. Any matcher
6
- // rejection surfaces verbatim through the shared toToolError. Both exceptionId
7
- // and commentId are path params; no tenant field is accepted.
8
- import { z } from 'zod';
9
- import { dispatchException, exceptionCommentPath } from './shared.js';
10
- /** Zod raw shape for `exception_delete_comment` input — both path ids. */
11
- export const deleteCommentInputShape = {
12
- exceptionId: z
13
- .string()
14
- .min(1)
15
- .describe('The exception id (UUID) the comment belongs to.'),
16
- commentId: z
17
- .string()
18
- .min(1)
19
- .describe('The comment id (UUID) to delete.'),
20
- };
21
- /**
22
- * Register `exception_delete_comment`. Substitutes both ids into the path and
23
- * dispatches a DELETE through the shared fail-closed relay; a matcher error
24
- * surfaces via the shared toToolError.
25
- */
26
- export function registerExceptionDeleteCommentTool(server) {
27
- server.registerTool('exception_delete_comment', {
28
- description: 'Delete a single discussion comment from a reconciliation exception. ' +
29
- 'Provide both exceptionId and commentId (UUID path params). The exception ' +
30
- "must belong to your token's tenant (no tenant field is accepted). Returns " +
31
- 'no content on success, or a structured RFC 9457 error.',
32
- inputSchema: deleteCommentInputShape,
33
- }, async (args, extra) => {
34
- return dispatchException({
35
- method: 'DELETE',
36
- path: exceptionCommentPath(args.exceptionId, args.commentId),
37
- }, extra);
38
- });
39
- }
40
- //# sourceMappingURL=delete-comment.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"delete-comment.js","sourceRoot":"","sources":["../../../src/tools/exception/delete-comment.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,qDAAqD;AACrD,EAAE;AACF,6EAA6E;AAC7E,yEAAyE;AACzE,+EAA+E;AAC/E,8DAA8D;AAE9D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAErE,0EAA0E;AAC1E,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,iDAAiD,CAAC;IAC9D,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,kCAAkC,CAAC;CAChD,CAAA;AAOD;;;;GAIG;AACH,MAAM,UAAU,kCAAkC,CAAC,MAAiB;IAClE,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;QACE,WAAW,EACT,sEAAsE;YACtE,2EAA2E;YAC3E,4EAA4E;YAC5E,wDAAwD;QAC1D,WAAW,EAAE,uBAAuB;KACrC,EACD,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QACpB,OAAO,iBAAiB,CACtB;YACE,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;SAC7D,EACD,KAAK,CACN,CAAA;IACH,CAAC,CACF,CAAA;AACH,CAAC"}
@@ -1,34 +0,0 @@
1
- // `exception_get` — curated GET /v1/exceptions/{exceptionId}.
2
- //
3
- // Reads a single reconciliation exception by id. The exception must belong to
4
- // the relayed token's tenant — matcher enforces that; no tenant field is
5
- // accepted.
6
- import { z } from 'zod';
7
- import { dispatchException, exceptionPath } from './shared.js';
8
- /** Zod raw shape for `exception_get` input — the exception path id. */
9
- export const getExceptionInputShape = {
10
- exceptionId: z
11
- .string()
12
- .min(1)
13
- .describe('The exception id (UUID) to fetch.'),
14
- };
15
- /**
16
- * Register `exception_get`. Substitutes the id into the path and dispatches a
17
- * GET through the shared fail-closed relay; a matcher error (e.g. 404) surfaces
18
- * via the shared toToolError.
19
- */
20
- export function registerExceptionGetTool(server) {
21
- server.registerTool('exception_get', {
22
- description: 'Fetch a single reconciliation exception by id (UUID). The exception ' +
23
- "must belong to your token's tenant (no tenant field is accepted). " +
24
- 'Returns the exception, or a structured RFC 9457 error (e.g. 404 if it ' +
25
- 'does not exist or is not yours).',
26
- inputSchema: getExceptionInputShape,
27
- }, async (args, extra) => {
28
- return dispatchException({
29
- method: 'GET',
30
- path: exceptionPath(args.exceptionId),
31
- }, extra);
32
- });
33
- }
34
- //# sourceMappingURL=get.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/tools/exception/get.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,EAAE;AACF,8EAA8E;AAC9E,yEAAyE;AACzE,YAAY;AAEZ,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE9D,uEAAuE;AACvE,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,mCAAmC,CAAC;CACjD,CAAA;AAOD;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAiB;IACxD,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,WAAW,EACT,sEAAsE;YACtE,oEAAoE;YACpE,wEAAwE;YACxE,kCAAkC;QACpC,WAAW,EAAE,sBAAsB;KACpC,EACD,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QACpB,OAAO,iBAAiB,CACtB;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC;SACtC,EACD,KAAK,CACN,CAAA;IACH,CAAC,CACF,CAAA;AACH,CAAC"}
@@ -1,35 +0,0 @@
1
- // `exception_list_comments` — curated GET /v1/exceptions/{exceptionId}/comments.
2
- //
3
- // Returns every discussion comment on one exception, ordered oldest-first. No
4
- // query params (matcher returns the full list). exceptionId is a path param;
5
- // the exception must belong to the relayed token's tenant, and no tenant field
6
- // is accepted.
7
- import { z } from 'zod';
8
- import { dispatchException, exceptionCommentsPath } from './shared.js';
9
- /** Zod raw shape for `exception_list_comments` input — the exception path id. */
10
- export const listCommentsInputShape = {
11
- exceptionId: z
12
- .string()
13
- .min(1)
14
- .describe('The exception id (UUID) whose comments to list.'),
15
- };
16
- /**
17
- * Register `exception_list_comments`. Substitutes the id into the path and
18
- * dispatches a GET through the shared fail-closed relay; a matcher error
19
- * surfaces via the shared toToolError.
20
- */
21
- export function registerExceptionListCommentsTool(server) {
22
- server.registerTool('exception_list_comments', {
23
- description: 'List the discussion comments on a reconciliation exception, ordered ' +
24
- 'oldest-first. Provide exceptionId (UUID). The exception must belong to ' +
25
- "your token's tenant (no tenant field is accepted). Returns the comments, " +
26
- 'or a structured RFC 9457 error.',
27
- inputSchema: listCommentsInputShape,
28
- }, async (args, extra) => {
29
- return dispatchException({
30
- method: 'GET',
31
- path: exceptionCommentsPath(args.exceptionId),
32
- }, extra);
33
- });
34
- }
35
- //# sourceMappingURL=list-comments.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-comments.js","sourceRoot":"","sources":["../../../src/tools/exception/list-comments.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,EAAE;AACF,8EAA8E;AAC9E,6EAA6E;AAC7E,+EAA+E;AAC/E,eAAe;AAEf,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAEtE,iFAAiF;AACjF,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,iDAAiD,CAAC;CAC/D,CAAA;AAOD;;;;GAIG;AACH,MAAM,UAAU,iCAAiC,CAAC,MAAiB;IACjE,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;QACE,WAAW,EACT,sEAAsE;YACtE,yEAAyE;YACzE,2EAA2E;YAC3E,iCAAiC;QACnC,WAAW,EAAE,sBAAsB;KACpC,EACD,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QACpB,OAAO,iBAAiB,CACtB;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC;SAC9C,EACD,KAAK,CACN,CAAA;IACH,CAAC,CACF,CAAA;AACH,CAAC"}
@@ -1,27 +0,0 @@
1
- // `fee_rule_delete` — curated DELETE /v1/fee-rules/{feeRuleId}.
2
- //
3
- // Removes a fee rule by id via the FLAT path. A successful delete returns 204
4
- // (no content), which the relay renders as null. feeRuleId is a UUID path param;
5
- // no tenant field is accepted (matcher scopes to the relayed token's tenant).
6
- import { z } from 'zod';
7
- import { dispatchFeeRule, feeRulePath } from './shared.js';
8
- /** Zod raw shape for `fee_rule_delete` input — just the fee-rule id (flat path). */
9
- export const deleteFeeRuleInputShape = {
10
- feeRuleId: z.string().min(1).describe('The fee rule id (UUID) to delete.'),
11
- };
12
- /**
13
- * Register `fee_rule_delete`. Substitutes the id into the flat path and
14
- * dispatches a DELETE through the shared fail-closed relay; any matcher error
15
- * surfaces via the shared toToolError.
16
- */
17
- export function registerFeeRuleDeleteTool(server) {
18
- server.registerTool('fee_rule_delete', {
19
- description: 'Delete a fee rule by id (UUID) via the flat path. The rule must belong ' +
20
- "to your token's tenant (no tenant field is accepted). Returns no content " +
21
- 'on success, or a structured RFC 9457 error.',
22
- inputSchema: deleteFeeRuleInputShape,
23
- }, async (args, extra) => {
24
- return dispatchFeeRule({ method: 'DELETE', path: feeRulePath(args.feeRuleId) }, extra);
25
- });
26
- }
27
- //# sourceMappingURL=delete.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/tools/fee-rule/delete.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,EAAE;AACF,8EAA8E;AAC9E,iFAAiF;AACjF,8EAA8E;AAE9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE1D,oFAAoF;AACpF,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;CAC3E,CAAA;AAOD;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAiB;IACzD,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,WAAW,EACT,yEAAyE;YACzE,2EAA2E;YAC3E,6CAA6C;QAC/C,WAAW,EAAE,uBAAuB;KACrC,EACD,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QACpB,OAAO,eAAe,CACpB,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EACvD,KAAK,CACN,CAAA;IACH,CAAC,CACF,CAAA;AACH,CAAC"}
@@ -1,27 +0,0 @@
1
- // `fee_rule_get` — curated GET /v1/fee-rules/{feeRuleId}.
2
- //
3
- // Reads one fee rule by id via the FLAT path (no contextId). feeRuleId is the
4
- // only input (a UUID path param). The rule must belong to the relayed token's
5
- // tenant — matcher enforces that; no tenant field is accepted.
6
- import { z } from 'zod';
7
- import { dispatchFeeRule, feeRulePath } from './shared.js';
8
- /** Zod raw shape for `fee_rule_get` input — just the fee-rule id (flat path). */
9
- export const getFeeRuleInputShape = {
10
- feeRuleId: z.string().min(1).describe('The fee rule id (UUID) to fetch.'),
11
- };
12
- /**
13
- * Register `fee_rule_get`. Substitutes the id into the flat path and dispatches a
14
- * GET through the shared fail-closed relay; a matcher error (e.g. 404) surfaces
15
- * via the shared toToolError.
16
- */
17
- export function registerFeeRuleGetTool(server) {
18
- server.registerTool('fee_rule_get', {
19
- description: 'Fetch a single fee rule by id (UUID). The rule must belong to your ' +
20
- "token's tenant. Returns the rule, or a structured RFC 9457 error (e.g. " +
21
- '404 if it does not exist or is not yours).',
22
- inputSchema: getFeeRuleInputShape,
23
- }, async (args, extra) => {
24
- return dispatchFeeRule({ method: 'GET', path: feeRulePath(args.feeRuleId) }, extra);
25
- });
26
- }
27
- //# sourceMappingURL=get.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/tools/fee-rule/get.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,+DAA+D;AAE/D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE1D,iFAAiF;AACjF,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kCAAkC,CAAC;CAC1E,CAAA;AAKD;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAiB;IACtD,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,WAAW,EACT,qEAAqE;YACrE,yEAAyE;YACzE,4CAA4C;QAC9C,WAAW,EAAE,oBAAoB;KAClC,EACD,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QACpB,OAAO,eAAe,CACpB,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EACpD,KAAK,CACN,CAAA;IACH,CAAC,CACF,CAAA;AACH,CAAC"}
@@ -1,32 +0,0 @@
1
- // `fee_schedule_delete` — curated DELETE /v1/fee-schedules/{scheduleId}.
2
- //
3
- // Removes a fee schedule by id. Matcher rejects with 409 while fee rules still
4
- // reference the schedule — that problem surfaces verbatim through the shared
5
- // toToolError. A successful delete returns 204 (no content), which the relay
6
- // renders as null. scheduleId is a UUID path param; no tenant field is accepted.
7
- import { z } from 'zod';
8
- import { dispatchFeeSchedule, feeSchedulePath } from './shared.js';
9
- /** Zod raw shape for `fee_schedule_delete` input — just the schedule id. */
10
- export const deleteFeeScheduleInputShape = {
11
- scheduleId: z
12
- .string()
13
- .min(1)
14
- .describe('The fee schedule id (UUID) to delete.'),
15
- };
16
- /**
17
- * Register `fee_schedule_delete`. Substitutes the id into the path and dispatches
18
- * a DELETE through the shared fail-closed relay; a 409 (still referenced) or any
19
- * other matcher error surfaces via the shared toToolError.
20
- */
21
- export function registerFeeScheduleDeleteTool(server) {
22
- server.registerTool('fee_schedule_delete', {
23
- description: 'Delete a fee schedule by id (UUID). Rejected with 409 while fee rules ' +
24
- 'still reference it — detach those first. The schedule must belong to ' +
25
- "your token's tenant (no tenant field is accepted). Returns no content on " +
26
- 'success, or a structured RFC 9457 error.',
27
- inputSchema: deleteFeeScheduleInputShape,
28
- }, async (args, extra) => {
29
- return dispatchFeeSchedule({ method: 'DELETE', path: feeSchedulePath(args.scheduleId) }, extra);
30
- });
31
- }
32
- //# sourceMappingURL=delete.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/tools/fee-schedule/delete.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,EAAE;AACF,+EAA+E;AAC/E,6EAA6E;AAC7E,6EAA6E;AAC7E,iFAAiF;AAEjF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElE,4EAA4E;AAC5E,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,uCAAuC,CAAC;CACrD,CAAA;AAOD;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAAC,MAAiB;IAC7D,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,WAAW,EACT,wEAAwE;YACxE,uEAAuE;YACvE,2EAA2E;YAC3E,0CAA0C;QAC5C,WAAW,EAAE,2BAA2B;KACzC,EACD,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QACpB,OAAO,mBAAmB,CACxB,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAC5D,KAAK,CACN,CAAA;IACH,CAAC,CACF,CAAA;AACH,CAAC"}
@@ -1,30 +0,0 @@
1
- // `fee_schedule_get` — curated GET /v1/fee-schedules/{scheduleId}.
2
- //
3
- // Reads one fee schedule by id. scheduleId is the only input (a UUID path
4
- // param). The schedule must belong to the relayed token's tenant — matcher
5
- // enforces that; no tenant field is accepted.
6
- import { z } from 'zod';
7
- import { dispatchFeeSchedule, feeSchedulePath } from './shared.js';
8
- /** Zod raw shape for `fee_schedule_get` input — just the schedule id. */
9
- export const getFeeScheduleInputShape = {
10
- scheduleId: z
11
- .string()
12
- .min(1)
13
- .describe('The fee schedule id (UUID) to fetch.'),
14
- };
15
- /**
16
- * Register `fee_schedule_get`. Substitutes the id into the path and dispatches a
17
- * GET through the shared fail-closed relay; a matcher error (e.g. 404) surfaces
18
- * via the shared toToolError.
19
- */
20
- export function registerFeeScheduleGetTool(server) {
21
- server.registerTool('fee_schedule_get', {
22
- description: 'Fetch a single fee schedule by id (UUID). The schedule must belong to ' +
23
- "your token's tenant. Returns the schedule, or a structured RFC 9457 " +
24
- 'error (e.g. 404 if it does not exist or is not yours).',
25
- inputSchema: getFeeScheduleInputShape,
26
- }, async (args, extra) => {
27
- return dispatchFeeSchedule({ method: 'GET', path: feeSchedulePath(args.scheduleId) }, extra);
28
- });
29
- }
30
- //# sourceMappingURL=get.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/tools/fee-schedule/get.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,EAAE;AACF,0EAA0E;AAC1E,2EAA2E;AAC3E,8CAA8C;AAE9C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElE,yEAAyE;AACzE,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,sCAAsC,CAAC;CACpD,CAAA;AAOD;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAAiB;IAC1D,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,WAAW,EACT,wEAAwE;YACxE,sEAAsE;YACtE,wDAAwD;QAC1D,WAAW,EAAE,wBAAwB;KACtC,EACD,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QACpB,OAAO,mBAAmB,CACxB,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EACzD,KAAK,CACN,CAAA;IACH,CAAC,CACF,CAAA;AACH,CAAC"}
@@ -1,37 +0,0 @@
1
- // `field_map_delete` — curated DELETE /v1/field-maps/{fieldMapId}.
2
- //
3
- // Removes a field map by id. fieldMapId is a flat path param (the spec does
4
- // not nest delete under context+source); no tenant field is accepted (matcher
5
- // scopes to the relayed token's tenant). A 204 response surfaces as `null`
6
- // (see dispatchFieldMap), matching the other curated families' delete
7
- // behavior. Deleting a source's only field map will reopen the
8
- // context.activation.requirement.source-mapping readiness gap reported by
9
- // context_setup_progress.
10
- import { z } from 'zod';
11
- import { dispatchFieldMap, fieldMapPath } from './shared.js';
12
- /** Zod raw shape for `field_map_delete` input — just the flat id. */
13
- export const deleteFieldMapInputShape = {
14
- fieldMapId: z
15
- .string()
16
- .min(1)
17
- .describe('The field map id (UUID) to delete.'),
18
- };
19
- /**
20
- * Register `field_map_delete`. Substitutes the id into the path and dispatches
21
- * a DELETE through the shared fail-closed relay; a matcher error surfaces via
22
- * the shared toToolError.
23
- */
24
- export function registerFieldMapDeleteTool(server) {
25
- server.registerTool('field_map_delete', {
26
- description: 'Delete a field map by id (UUID path param, not a tenant field). ' +
27
- "Removing a source's only field map reopens the " +
28
- 'context.activation.requirement.source-mapping activation-readiness ' +
29
- 'gap (see context_setup_progress) and an ACTIVE ' +
30
- "context's matching/ingestion against that source will be affected. " +
31
- 'Returns null on success (204), or a structured RFC 9457 error.',
32
- inputSchema: deleteFieldMapInputShape,
33
- }, async (args, extra) => {
34
- return dispatchFieldMap({ method: 'DELETE', path: fieldMapPath(args.fieldMapId) }, extra);
35
- });
36
- }
37
- //# sourceMappingURL=delete.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/tools/field-map/delete.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,2EAA2E;AAC3E,sEAAsE;AACtE,+DAA+D;AAC/D,0EAA0E;AAC1E,0BAA0B;AAE1B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE5D,qEAAqE;AACrE,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,oCAAoC,CAAC;CAClD,CAAA;AAOD;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAAiB;IAC1D,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,WAAW,EACT,kEAAkE;YAClE,iDAAiD;YACjD,qEAAqE;YACrE,iDAAiD;YACjD,qEAAqE;YACrE,gEAAgE;QAClE,WAAW,EAAE,wBAAwB;KACtC,EACD,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QACpB,OAAO,gBAAgB,CACrB,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EACzD,KAAK,CACN,CAAA;IACH,CAAC,CACF,CAAA;AACH,CAAC"}