@tryfinch/finch-api-mcp 6.27.0 → 6.28.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 (474) hide show
  1. package/README.md +53 -1
  2. package/compat.d.mts +52 -0
  3. package/compat.d.mts.map +1 -0
  4. package/compat.d.ts +52 -0
  5. package/compat.d.ts.map +1 -0
  6. package/compat.js +342 -0
  7. package/compat.js.map +1 -0
  8. package/compat.mjs +332 -0
  9. package/compat.mjs.map +1 -0
  10. package/compat.test.d.mts +2 -0
  11. package/compat.test.d.mts.map +1 -0
  12. package/compat.test.d.ts +2 -0
  13. package/compat.test.d.ts.map +1 -0
  14. package/compat.test.js +950 -0
  15. package/compat.test.js.map +1 -0
  16. package/compat.test.mjs +948 -0
  17. package/compat.test.mjs.map +1 -0
  18. package/index.js +37 -110
  19. package/index.js.map +1 -1
  20. package/index.mjs +37 -107
  21. package/index.mjs.map +1 -1
  22. package/options.d.mts +9 -0
  23. package/options.d.mts.map +1 -0
  24. package/options.d.ts +9 -0
  25. package/options.d.ts.map +1 -0
  26. package/options.js +320 -0
  27. package/options.js.map +1 -0
  28. package/options.mjs +314 -0
  29. package/options.mjs.map +1 -0
  30. package/options.test.d.mts +2 -0
  31. package/options.test.d.mts.map +1 -0
  32. package/options.test.d.ts +2 -0
  33. package/options.test.d.ts.map +1 -0
  34. package/options.test.js +154 -0
  35. package/options.test.js.map +1 -0
  36. package/options.test.mjs +152 -0
  37. package/options.test.mjs.map +1 -0
  38. package/package.json +2 -2
  39. package/server.d.mts +3 -1
  40. package/server.d.mts.map +1 -1
  41. package/server.d.ts +3 -1
  42. package/server.d.ts.map +1 -1
  43. package/server.js +15 -11
  44. package/server.js.map +1 -1
  45. package/server.mjs +12 -8
  46. package/server.mjs.map +1 -1
  47. package/src/compat.test.ts +1068 -0
  48. package/src/compat.ts +429 -0
  49. package/src/index.ts +38 -122
  50. package/src/options.test.ts +193 -0
  51. package/src/options.ts +339 -0
  52. package/src/server.ts +15 -10
  53. package/src/tools/access-tokens/create-access-tokens.ts +2 -2
  54. package/src/tools/account/disconnect-account.ts +1 -2
  55. package/src/tools/account/introspect-account.ts +1 -2
  56. package/src/tools/connect/sessions/new-connect-sessions.ts +2 -2
  57. package/src/tools/connect/sessions/reauthenticate-connect-sessions.ts +2 -2
  58. package/src/tools/hris/benefits/create-hris-benefits.ts +38 -3
  59. package/src/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.ts +2 -2
  60. package/src/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.ts +2 -2
  61. package/src/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.ts +2 -2
  62. package/src/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.ts +2 -2
  63. package/src/tools/hris/benefits/list-hris-benefits.ts +1 -2
  64. package/src/tools/hris/benefits/list-supported-benefits-hris-benefits.ts +1 -2
  65. package/src/tools/hris/benefits/retrieve-hris-benefits.ts +2 -2
  66. package/src/tools/hris/benefits/update-hris-benefits.ts +2 -2
  67. package/src/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.ts +2 -2
  68. package/src/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.ts +2 -2
  69. package/src/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.ts +2 -2
  70. package/src/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.ts +1 -2
  71. package/src/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.ts +2 -2
  72. package/src/tools/hris/company/retrieve-hris-company.ts +1 -2
  73. package/src/tools/hris/directory/list-hris-directory.ts +2 -2
  74. package/src/tools/hris/directory/list-individuals-hris-directory.ts +2 -2
  75. package/src/tools/hris/documents/list-hris-documents.ts +2 -2
  76. package/src/tools/hris/documents/retreive-hris-documents.ts +2 -2
  77. package/src/tools/hris/employments/retrieve-many-hris-employments.ts +2 -2
  78. package/src/tools/hris/individuals/retrieve-many-hris-individuals.ts +2 -2
  79. package/src/tools/hris/pay-statements/retrieve-many-hris-pay-statements.ts +2 -2
  80. package/src/tools/hris/payments/list-hris-payments.ts +2 -2
  81. package/src/tools/index.ts +16 -2
  82. package/src/tools/jobs/automated/create-jobs-automated.ts +2 -2
  83. package/src/tools/jobs/automated/list-jobs-automated.ts +2 -2
  84. package/src/tools/jobs/automated/retrieve-jobs-automated.ts +2 -2
  85. package/src/tools/jobs/manual/retrieve-jobs-manual.ts +2 -2
  86. package/src/tools/payroll/pay-groups/list-payroll-pay-groups.ts +2 -2
  87. package/src/tools/payroll/pay-groups/retrieve-payroll-pay-groups.ts +2 -2
  88. package/src/tools/providers/list-providers.ts +1 -2
  89. package/src/tools/request-forwarding/forward-request-forwarding.ts +2 -2
  90. package/src/tools/sandbox/company/update-sandbox-company.ts +42 -37
  91. package/src/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.ts +2 -2
  92. package/src/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.ts +7 -2
  93. package/src/tools/sandbox/connections/create-sandbox-connections.ts +2 -2
  94. package/src/tools/sandbox/directory/create-sandbox-directory.ts +82 -74
  95. package/src/tools/sandbox/employment/update-sandbox-employment.ts +62 -54
  96. package/src/tools/sandbox/individual/update-sandbox-individual.ts +19 -14
  97. package/src/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.ts +1 -2
  98. package/src/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.ts +2 -2
  99. package/src/tools/sandbox/jobs/create-sandbox-jobs.ts +2 -2
  100. package/src/tools/sandbox/payment/create-sandbox-payment.ts +48 -40
  101. package/tools/access-tokens/create-access-tokens.d.mts +2 -2
  102. package/tools/access-tokens/create-access-tokens.d.mts.map +1 -1
  103. package/tools/access-tokens/create-access-tokens.d.ts +2 -2
  104. package/tools/access-tokens/create-access-tokens.d.ts.map +1 -1
  105. package/tools/access-tokens/create-access-tokens.js +1 -1
  106. package/tools/access-tokens/create-access-tokens.js.map +1 -1
  107. package/tools/access-tokens/create-access-tokens.mjs +1 -1
  108. package/tools/access-tokens/create-access-tokens.mjs.map +1 -1
  109. package/tools/account/disconnect-account.d.mts +2 -2
  110. package/tools/account/disconnect-account.d.mts.map +1 -1
  111. package/tools/account/disconnect-account.d.ts +2 -2
  112. package/tools/account/disconnect-account.d.ts.map +1 -1
  113. package/tools/account/disconnect-account.js +0 -1
  114. package/tools/account/disconnect-account.js.map +1 -1
  115. package/tools/account/disconnect-account.mjs +0 -1
  116. package/tools/account/disconnect-account.mjs.map +1 -1
  117. package/tools/account/introspect-account.d.mts +2 -2
  118. package/tools/account/introspect-account.d.mts.map +1 -1
  119. package/tools/account/introspect-account.d.ts +2 -2
  120. package/tools/account/introspect-account.d.ts.map +1 -1
  121. package/tools/account/introspect-account.js +0 -1
  122. package/tools/account/introspect-account.js.map +1 -1
  123. package/tools/account/introspect-account.mjs +0 -1
  124. package/tools/account/introspect-account.mjs.map +1 -1
  125. package/tools/connect/sessions/new-connect-sessions.d.mts +2 -2
  126. package/tools/connect/sessions/new-connect-sessions.d.mts.map +1 -1
  127. package/tools/connect/sessions/new-connect-sessions.d.ts +2 -2
  128. package/tools/connect/sessions/new-connect-sessions.d.ts.map +1 -1
  129. package/tools/connect/sessions/new-connect-sessions.js +1 -1
  130. package/tools/connect/sessions/new-connect-sessions.js.map +1 -1
  131. package/tools/connect/sessions/new-connect-sessions.mjs +1 -1
  132. package/tools/connect/sessions/new-connect-sessions.mjs.map +1 -1
  133. package/tools/connect/sessions/reauthenticate-connect-sessions.d.mts +2 -2
  134. package/tools/connect/sessions/reauthenticate-connect-sessions.d.mts.map +1 -1
  135. package/tools/connect/sessions/reauthenticate-connect-sessions.d.ts +2 -2
  136. package/tools/connect/sessions/reauthenticate-connect-sessions.d.ts.map +1 -1
  137. package/tools/connect/sessions/reauthenticate-connect-sessions.js +1 -1
  138. package/tools/connect/sessions/reauthenticate-connect-sessions.js.map +1 -1
  139. package/tools/connect/sessions/reauthenticate-connect-sessions.mjs +1 -1
  140. package/tools/connect/sessions/reauthenticate-connect-sessions.mjs.map +1 -1
  141. package/tools/hris/benefits/create-hris-benefits.d.mts +2 -2
  142. package/tools/hris/benefits/create-hris-benefits.d.mts.map +1 -1
  143. package/tools/hris/benefits/create-hris-benefits.d.ts +2 -2
  144. package/tools/hris/benefits/create-hris-benefits.d.ts.map +1 -1
  145. package/tools/hris/benefits/create-hris-benefits.js +37 -2
  146. package/tools/hris/benefits/create-hris-benefits.js.map +1 -1
  147. package/tools/hris/benefits/create-hris-benefits.mjs +37 -2
  148. package/tools/hris/benefits/create-hris-benefits.mjs.map +1 -1
  149. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.d.mts +2 -2
  150. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.d.mts.map +1 -1
  151. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.d.ts +2 -2
  152. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.d.ts.map +1 -1
  153. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.js.map +1 -1
  154. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.mjs.map +1 -1
  155. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.d.mts +2 -2
  156. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.d.mts.map +1 -1
  157. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.d.ts +2 -2
  158. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.d.ts.map +1 -1
  159. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.js +1 -1
  160. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.js.map +1 -1
  161. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.mjs +1 -1
  162. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.mjs.map +1 -1
  163. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.d.mts +2 -2
  164. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.d.mts.map +1 -1
  165. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.d.ts +2 -2
  166. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.d.ts.map +1 -1
  167. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.js.map +1 -1
  168. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.mjs.map +1 -1
  169. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.d.mts +2 -2
  170. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.d.mts.map +1 -1
  171. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.d.ts +2 -2
  172. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.d.ts.map +1 -1
  173. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.js.map +1 -1
  174. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.mjs.map +1 -1
  175. package/tools/hris/benefits/list-hris-benefits.d.mts +2 -2
  176. package/tools/hris/benefits/list-hris-benefits.d.mts.map +1 -1
  177. package/tools/hris/benefits/list-hris-benefits.d.ts +2 -2
  178. package/tools/hris/benefits/list-hris-benefits.d.ts.map +1 -1
  179. package/tools/hris/benefits/list-hris-benefits.js +0 -1
  180. package/tools/hris/benefits/list-hris-benefits.js.map +1 -1
  181. package/tools/hris/benefits/list-hris-benefits.mjs +0 -1
  182. package/tools/hris/benefits/list-hris-benefits.mjs.map +1 -1
  183. package/tools/hris/benefits/list-supported-benefits-hris-benefits.d.mts +2 -2
  184. package/tools/hris/benefits/list-supported-benefits-hris-benefits.d.mts.map +1 -1
  185. package/tools/hris/benefits/list-supported-benefits-hris-benefits.d.ts +2 -2
  186. package/tools/hris/benefits/list-supported-benefits-hris-benefits.d.ts.map +1 -1
  187. package/tools/hris/benefits/list-supported-benefits-hris-benefits.js +0 -1
  188. package/tools/hris/benefits/list-supported-benefits-hris-benefits.js.map +1 -1
  189. package/tools/hris/benefits/list-supported-benefits-hris-benefits.mjs +0 -1
  190. package/tools/hris/benefits/list-supported-benefits-hris-benefits.mjs.map +1 -1
  191. package/tools/hris/benefits/retrieve-hris-benefits.d.mts +2 -2
  192. package/tools/hris/benefits/retrieve-hris-benefits.d.mts.map +1 -1
  193. package/tools/hris/benefits/retrieve-hris-benefits.d.ts +2 -2
  194. package/tools/hris/benefits/retrieve-hris-benefits.d.ts.map +1 -1
  195. package/tools/hris/benefits/retrieve-hris-benefits.js +1 -1
  196. package/tools/hris/benefits/retrieve-hris-benefits.js.map +1 -1
  197. package/tools/hris/benefits/retrieve-hris-benefits.mjs +1 -1
  198. package/tools/hris/benefits/retrieve-hris-benefits.mjs.map +1 -1
  199. package/tools/hris/benefits/update-hris-benefits.d.mts +2 -2
  200. package/tools/hris/benefits/update-hris-benefits.d.mts.map +1 -1
  201. package/tools/hris/benefits/update-hris-benefits.d.ts +2 -2
  202. package/tools/hris/benefits/update-hris-benefits.d.ts.map +1 -1
  203. package/tools/hris/benefits/update-hris-benefits.js.map +1 -1
  204. package/tools/hris/benefits/update-hris-benefits.mjs.map +1 -1
  205. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.d.mts +2 -2
  206. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.d.mts.map +1 -1
  207. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.d.ts +2 -2
  208. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.d.ts.map +1 -1
  209. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.js +1 -1
  210. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.js.map +1 -1
  211. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.mjs +1 -1
  212. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.mjs.map +1 -1
  213. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.d.mts +2 -2
  214. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.d.mts.map +1 -1
  215. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.d.ts +2 -2
  216. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.d.ts.map +1 -1
  217. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.js +1 -1
  218. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.js.map +1 -1
  219. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.mjs +1 -1
  220. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.mjs.map +1 -1
  221. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.d.mts +2 -2
  222. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.d.mts.map +1 -1
  223. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.d.ts +2 -2
  224. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.d.ts.map +1 -1
  225. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.js +1 -1
  226. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.js.map +1 -1
  227. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.mjs +1 -1
  228. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.mjs.map +1 -1
  229. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.d.mts +2 -2
  230. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.d.mts.map +1 -1
  231. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.d.ts +2 -2
  232. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.d.ts.map +1 -1
  233. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.js +0 -1
  234. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.js.map +1 -1
  235. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.mjs +0 -1
  236. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.mjs.map +1 -1
  237. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.d.mts +2 -2
  238. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.d.mts.map +1 -1
  239. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.d.ts +2 -2
  240. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.d.ts.map +1 -1
  241. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.js.map +1 -1
  242. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.mjs.map +1 -1
  243. package/tools/hris/company/retrieve-hris-company.d.mts +2 -2
  244. package/tools/hris/company/retrieve-hris-company.d.mts.map +1 -1
  245. package/tools/hris/company/retrieve-hris-company.d.ts +2 -2
  246. package/tools/hris/company/retrieve-hris-company.d.ts.map +1 -1
  247. package/tools/hris/company/retrieve-hris-company.js +0 -1
  248. package/tools/hris/company/retrieve-hris-company.js.map +1 -1
  249. package/tools/hris/company/retrieve-hris-company.mjs +0 -1
  250. package/tools/hris/company/retrieve-hris-company.mjs.map +1 -1
  251. package/tools/hris/directory/list-hris-directory.d.mts +2 -2
  252. package/tools/hris/directory/list-hris-directory.d.mts.map +1 -1
  253. package/tools/hris/directory/list-hris-directory.d.ts +2 -2
  254. package/tools/hris/directory/list-hris-directory.d.ts.map +1 -1
  255. package/tools/hris/directory/list-hris-directory.js +1 -1
  256. package/tools/hris/directory/list-hris-directory.js.map +1 -1
  257. package/tools/hris/directory/list-hris-directory.mjs +1 -1
  258. package/tools/hris/directory/list-hris-directory.mjs.map +1 -1
  259. package/tools/hris/directory/list-individuals-hris-directory.d.mts +2 -2
  260. package/tools/hris/directory/list-individuals-hris-directory.d.mts.map +1 -1
  261. package/tools/hris/directory/list-individuals-hris-directory.d.ts +2 -2
  262. package/tools/hris/directory/list-individuals-hris-directory.d.ts.map +1 -1
  263. package/tools/hris/directory/list-individuals-hris-directory.js +1 -1
  264. package/tools/hris/directory/list-individuals-hris-directory.js.map +1 -1
  265. package/tools/hris/directory/list-individuals-hris-directory.mjs +1 -1
  266. package/tools/hris/directory/list-individuals-hris-directory.mjs.map +1 -1
  267. package/tools/hris/documents/list-hris-documents.d.mts +2 -2
  268. package/tools/hris/documents/list-hris-documents.d.mts.map +1 -1
  269. package/tools/hris/documents/list-hris-documents.d.ts +2 -2
  270. package/tools/hris/documents/list-hris-documents.d.ts.map +1 -1
  271. package/tools/hris/documents/list-hris-documents.js +1 -1
  272. package/tools/hris/documents/list-hris-documents.js.map +1 -1
  273. package/tools/hris/documents/list-hris-documents.mjs +1 -1
  274. package/tools/hris/documents/list-hris-documents.mjs.map +1 -1
  275. package/tools/hris/documents/retreive-hris-documents.d.mts +2 -2
  276. package/tools/hris/documents/retreive-hris-documents.d.mts.map +1 -1
  277. package/tools/hris/documents/retreive-hris-documents.d.ts +2 -2
  278. package/tools/hris/documents/retreive-hris-documents.d.ts.map +1 -1
  279. package/tools/hris/documents/retreive-hris-documents.js +1 -1
  280. package/tools/hris/documents/retreive-hris-documents.js.map +1 -1
  281. package/tools/hris/documents/retreive-hris-documents.mjs +1 -1
  282. package/tools/hris/documents/retreive-hris-documents.mjs.map +1 -1
  283. package/tools/hris/employments/retrieve-many-hris-employments.d.mts +2 -2
  284. package/tools/hris/employments/retrieve-many-hris-employments.d.mts.map +1 -1
  285. package/tools/hris/employments/retrieve-many-hris-employments.d.ts +2 -2
  286. package/tools/hris/employments/retrieve-many-hris-employments.d.ts.map +1 -1
  287. package/tools/hris/employments/retrieve-many-hris-employments.js +1 -1
  288. package/tools/hris/employments/retrieve-many-hris-employments.js.map +1 -1
  289. package/tools/hris/employments/retrieve-many-hris-employments.mjs +1 -1
  290. package/tools/hris/employments/retrieve-many-hris-employments.mjs.map +1 -1
  291. package/tools/hris/individuals/retrieve-many-hris-individuals.d.mts +2 -2
  292. package/tools/hris/individuals/retrieve-many-hris-individuals.d.mts.map +1 -1
  293. package/tools/hris/individuals/retrieve-many-hris-individuals.d.ts +2 -2
  294. package/tools/hris/individuals/retrieve-many-hris-individuals.d.ts.map +1 -1
  295. package/tools/hris/individuals/retrieve-many-hris-individuals.js +1 -1
  296. package/tools/hris/individuals/retrieve-many-hris-individuals.js.map +1 -1
  297. package/tools/hris/individuals/retrieve-many-hris-individuals.mjs +1 -1
  298. package/tools/hris/individuals/retrieve-many-hris-individuals.mjs.map +1 -1
  299. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.d.mts +2 -2
  300. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.d.mts.map +1 -1
  301. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.d.ts +2 -2
  302. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.d.ts.map +1 -1
  303. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.js +1 -1
  304. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.js.map +1 -1
  305. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.mjs +1 -1
  306. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.mjs.map +1 -1
  307. package/tools/hris/payments/list-hris-payments.d.mts +2 -2
  308. package/tools/hris/payments/list-hris-payments.d.mts.map +1 -1
  309. package/tools/hris/payments/list-hris-payments.d.ts +2 -2
  310. package/tools/hris/payments/list-hris-payments.d.ts.map +1 -1
  311. package/tools/hris/payments/list-hris-payments.js +1 -1
  312. package/tools/hris/payments/list-hris-payments.js.map +1 -1
  313. package/tools/hris/payments/list-hris-payments.mjs +1 -1
  314. package/tools/hris/payments/list-hris-payments.mjs.map +1 -1
  315. package/tools/index.d.mts +1 -1
  316. package/tools/index.d.mts.map +1 -1
  317. package/tools/index.d.ts +1 -1
  318. package/tools/index.d.ts.map +1 -1
  319. package/tools/index.js +12 -3
  320. package/tools/index.js.map +1 -1
  321. package/tools/index.mjs +10 -1
  322. package/tools/index.mjs.map +1 -1
  323. package/tools/jobs/automated/create-jobs-automated.d.mts +2 -2
  324. package/tools/jobs/automated/create-jobs-automated.d.mts.map +1 -1
  325. package/tools/jobs/automated/create-jobs-automated.d.ts +2 -2
  326. package/tools/jobs/automated/create-jobs-automated.d.ts.map +1 -1
  327. package/tools/jobs/automated/create-jobs-automated.js +1 -1
  328. package/tools/jobs/automated/create-jobs-automated.js.map +1 -1
  329. package/tools/jobs/automated/create-jobs-automated.mjs +1 -1
  330. package/tools/jobs/automated/create-jobs-automated.mjs.map +1 -1
  331. package/tools/jobs/automated/list-jobs-automated.d.mts +2 -2
  332. package/tools/jobs/automated/list-jobs-automated.d.mts.map +1 -1
  333. package/tools/jobs/automated/list-jobs-automated.d.ts +2 -2
  334. package/tools/jobs/automated/list-jobs-automated.d.ts.map +1 -1
  335. package/tools/jobs/automated/list-jobs-automated.js +1 -1
  336. package/tools/jobs/automated/list-jobs-automated.js.map +1 -1
  337. package/tools/jobs/automated/list-jobs-automated.mjs +1 -1
  338. package/tools/jobs/automated/list-jobs-automated.mjs.map +1 -1
  339. package/tools/jobs/automated/retrieve-jobs-automated.d.mts +2 -2
  340. package/tools/jobs/automated/retrieve-jobs-automated.d.mts.map +1 -1
  341. package/tools/jobs/automated/retrieve-jobs-automated.d.ts +2 -2
  342. package/tools/jobs/automated/retrieve-jobs-automated.d.ts.map +1 -1
  343. package/tools/jobs/automated/retrieve-jobs-automated.js +1 -1
  344. package/tools/jobs/automated/retrieve-jobs-automated.js.map +1 -1
  345. package/tools/jobs/automated/retrieve-jobs-automated.mjs +1 -1
  346. package/tools/jobs/automated/retrieve-jobs-automated.mjs.map +1 -1
  347. package/tools/jobs/manual/retrieve-jobs-manual.d.mts +2 -2
  348. package/tools/jobs/manual/retrieve-jobs-manual.d.mts.map +1 -1
  349. package/tools/jobs/manual/retrieve-jobs-manual.d.ts +2 -2
  350. package/tools/jobs/manual/retrieve-jobs-manual.d.ts.map +1 -1
  351. package/tools/jobs/manual/retrieve-jobs-manual.js +1 -1
  352. package/tools/jobs/manual/retrieve-jobs-manual.js.map +1 -1
  353. package/tools/jobs/manual/retrieve-jobs-manual.mjs +1 -1
  354. package/tools/jobs/manual/retrieve-jobs-manual.mjs.map +1 -1
  355. package/tools/payroll/pay-groups/list-payroll-pay-groups.d.mts +2 -2
  356. package/tools/payroll/pay-groups/list-payroll-pay-groups.d.mts.map +1 -1
  357. package/tools/payroll/pay-groups/list-payroll-pay-groups.d.ts +2 -2
  358. package/tools/payroll/pay-groups/list-payroll-pay-groups.d.ts.map +1 -1
  359. package/tools/payroll/pay-groups/list-payroll-pay-groups.js +1 -1
  360. package/tools/payroll/pay-groups/list-payroll-pay-groups.js.map +1 -1
  361. package/tools/payroll/pay-groups/list-payroll-pay-groups.mjs +1 -1
  362. package/tools/payroll/pay-groups/list-payroll-pay-groups.mjs.map +1 -1
  363. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.d.mts +2 -2
  364. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.d.mts.map +1 -1
  365. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.d.ts +2 -2
  366. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.d.ts.map +1 -1
  367. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.js +1 -1
  368. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.js.map +1 -1
  369. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.mjs +1 -1
  370. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.mjs.map +1 -1
  371. package/tools/providers/list-providers.d.mts +2 -2
  372. package/tools/providers/list-providers.d.mts.map +1 -1
  373. package/tools/providers/list-providers.d.ts +2 -2
  374. package/tools/providers/list-providers.d.ts.map +1 -1
  375. package/tools/providers/list-providers.js +0 -1
  376. package/tools/providers/list-providers.js.map +1 -1
  377. package/tools/providers/list-providers.mjs +0 -1
  378. package/tools/providers/list-providers.mjs.map +1 -1
  379. package/tools/request-forwarding/forward-request-forwarding.d.mts +2 -2
  380. package/tools/request-forwarding/forward-request-forwarding.d.mts.map +1 -1
  381. package/tools/request-forwarding/forward-request-forwarding.d.ts +2 -2
  382. package/tools/request-forwarding/forward-request-forwarding.d.ts.map +1 -1
  383. package/tools/request-forwarding/forward-request-forwarding.js +1 -1
  384. package/tools/request-forwarding/forward-request-forwarding.js.map +1 -1
  385. package/tools/request-forwarding/forward-request-forwarding.mjs +1 -1
  386. package/tools/request-forwarding/forward-request-forwarding.mjs.map +1 -1
  387. package/tools/sandbox/company/update-sandbox-company.d.mts +2 -2
  388. package/tools/sandbox/company/update-sandbox-company.d.mts.map +1 -1
  389. package/tools/sandbox/company/update-sandbox-company.d.ts +2 -2
  390. package/tools/sandbox/company/update-sandbox-company.d.ts.map +1 -1
  391. package/tools/sandbox/company/update-sandbox-company.js +41 -36
  392. package/tools/sandbox/company/update-sandbox-company.js.map +1 -1
  393. package/tools/sandbox/company/update-sandbox-company.mjs +41 -36
  394. package/tools/sandbox/company/update-sandbox-company.mjs.map +1 -1
  395. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.d.mts +2 -2
  396. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.d.mts.map +1 -1
  397. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.d.ts +2 -2
  398. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.d.ts.map +1 -1
  399. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.js +1 -1
  400. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.js.map +1 -1
  401. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.mjs +1 -1
  402. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.mjs.map +1 -1
  403. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.d.mts +2 -2
  404. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.d.mts.map +1 -1
  405. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.d.ts +2 -2
  406. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.d.ts.map +1 -1
  407. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.js +6 -1
  408. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.js.map +1 -1
  409. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.mjs +6 -1
  410. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.mjs.map +1 -1
  411. package/tools/sandbox/connections/create-sandbox-connections.d.mts +2 -2
  412. package/tools/sandbox/connections/create-sandbox-connections.d.mts.map +1 -1
  413. package/tools/sandbox/connections/create-sandbox-connections.d.ts +2 -2
  414. package/tools/sandbox/connections/create-sandbox-connections.d.ts.map +1 -1
  415. package/tools/sandbox/connections/create-sandbox-connections.js +1 -1
  416. package/tools/sandbox/connections/create-sandbox-connections.js.map +1 -1
  417. package/tools/sandbox/connections/create-sandbox-connections.mjs +1 -1
  418. package/tools/sandbox/connections/create-sandbox-connections.mjs.map +1 -1
  419. package/tools/sandbox/directory/create-sandbox-directory.d.mts +2 -2
  420. package/tools/sandbox/directory/create-sandbox-directory.d.mts.map +1 -1
  421. package/tools/sandbox/directory/create-sandbox-directory.d.ts +2 -2
  422. package/tools/sandbox/directory/create-sandbox-directory.d.ts.map +1 -1
  423. package/tools/sandbox/directory/create-sandbox-directory.js +79 -71
  424. package/tools/sandbox/directory/create-sandbox-directory.js.map +1 -1
  425. package/tools/sandbox/directory/create-sandbox-directory.mjs +79 -71
  426. package/tools/sandbox/directory/create-sandbox-directory.mjs.map +1 -1
  427. package/tools/sandbox/employment/update-sandbox-employment.d.mts +2 -2
  428. package/tools/sandbox/employment/update-sandbox-employment.d.mts.map +1 -1
  429. package/tools/sandbox/employment/update-sandbox-employment.d.ts +2 -2
  430. package/tools/sandbox/employment/update-sandbox-employment.d.ts.map +1 -1
  431. package/tools/sandbox/employment/update-sandbox-employment.js +60 -52
  432. package/tools/sandbox/employment/update-sandbox-employment.js.map +1 -1
  433. package/tools/sandbox/employment/update-sandbox-employment.mjs +60 -52
  434. package/tools/sandbox/employment/update-sandbox-employment.mjs.map +1 -1
  435. package/tools/sandbox/individual/update-sandbox-individual.d.mts +2 -2
  436. package/tools/sandbox/individual/update-sandbox-individual.d.mts.map +1 -1
  437. package/tools/sandbox/individual/update-sandbox-individual.d.ts +2 -2
  438. package/tools/sandbox/individual/update-sandbox-individual.d.ts.map +1 -1
  439. package/tools/sandbox/individual/update-sandbox-individual.js +16 -11
  440. package/tools/sandbox/individual/update-sandbox-individual.js.map +1 -1
  441. package/tools/sandbox/individual/update-sandbox-individual.mjs +16 -11
  442. package/tools/sandbox/individual/update-sandbox-individual.mjs.map +1 -1
  443. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.d.mts +2 -2
  444. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.d.mts.map +1 -1
  445. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.d.ts +2 -2
  446. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.d.ts.map +1 -1
  447. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.js +0 -1
  448. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.js.map +1 -1
  449. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.mjs +0 -1
  450. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.mjs.map +1 -1
  451. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.d.mts +2 -2
  452. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.d.mts.map +1 -1
  453. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.d.ts +2 -2
  454. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.d.ts.map +1 -1
  455. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.js +1 -1
  456. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.js.map +1 -1
  457. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.mjs +1 -1
  458. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.mjs.map +1 -1
  459. package/tools/sandbox/jobs/create-sandbox-jobs.d.mts +2 -2
  460. package/tools/sandbox/jobs/create-sandbox-jobs.d.mts.map +1 -1
  461. package/tools/sandbox/jobs/create-sandbox-jobs.d.ts +2 -2
  462. package/tools/sandbox/jobs/create-sandbox-jobs.d.ts.map +1 -1
  463. package/tools/sandbox/jobs/create-sandbox-jobs.js +1 -1
  464. package/tools/sandbox/jobs/create-sandbox-jobs.js.map +1 -1
  465. package/tools/sandbox/jobs/create-sandbox-jobs.mjs +1 -1
  466. package/tools/sandbox/jobs/create-sandbox-jobs.mjs.map +1 -1
  467. package/tools/sandbox/payment/create-sandbox-payment.d.mts +2 -2
  468. package/tools/sandbox/payment/create-sandbox-payment.d.mts.map +1 -1
  469. package/tools/sandbox/payment/create-sandbox-payment.d.ts +2 -2
  470. package/tools/sandbox/payment/create-sandbox-payment.d.ts.map +1 -1
  471. package/tools/sandbox/payment/create-sandbox-payment.js +47 -39
  472. package/tools/sandbox/payment/create-sandbox-payment.js.map +1 -1
  473. package/tools/sandbox/payment/create-sandbox-payment.mjs +47 -39
  474. package/tools/sandbox/payment/create-sandbox-payment.mjs.map +1 -1
package/README.md CHANGED
@@ -28,7 +28,7 @@ For clients with a configuration JSON, it might look something like this:
28
28
  "mcpServers": {
29
29
  "tryfinch_finch_api_api": {
30
30
  "command": "npx",
31
- "args": ["-y", "@tryfinch/finch-api-mcp"],
31
+ "args": ["-y", "@tryfinch/finch-api-mcp", "--client=claude"],
32
32
  "env": {
33
33
  "FINCH_ACCESS_TOKEN": "My Access Token",
34
34
  "FINCH_CLIENT_ID": "4ab15e51-11ad-49f4-acae-f343b7794375",
@@ -58,6 +58,58 @@ All of these command-line options can be repeated, combined together, and have c
58
58
 
59
59
  Use `--list` to see the list of available tools, or see below.
60
60
 
61
+ ### Specifying the MCP Client
62
+
63
+ Different clients have varying abilities to handle arbitrary tools and schemas.
64
+
65
+ You can specify the client you are using with the `--client` argument, and the MCP server will automatically
66
+ serve tools and schemas that are more compatible with that client.
67
+
68
+ - `--client=<type>`: Set all capabilities based on a known MCP client
69
+
70
+ - Valid values: `openai-agents`, `claude`, `claude-code`, `cursor`
71
+ - Example: `--client=cursor`
72
+
73
+ Additionally, if you have a client not on the above list, or the client has gotten better
74
+ over time, you can manually enable or disable certain capabilities:
75
+
76
+ - `--capability=<name>`: Specify individual client capabilities
77
+ - Available capabilities:
78
+ - `top-level-unions`: Enable support for top-level unions in tool schemas
79
+ - `valid-json`: Enable JSON string parsing for arguments
80
+ - `refs`: Enable support for $ref pointers in schemas
81
+ - `unions`: Enable support for union types (anyOf) in schemas
82
+ - `formats`: Enable support for format validations in schemas (e.g. date-time, email)
83
+ - `tool-name-length=N`: Set maximum tool name length to N characters
84
+ - Example: `--capability=top-level-unions --capability=tool-name-length=40`
85
+ - Example: `--capability=top-level-unions,tool-name-length=40`
86
+
87
+ ### Examples
88
+
89
+ 1. Filter for read operations on cards:
90
+
91
+ ```bash
92
+ --resource=cards --operation=read
93
+ ```
94
+
95
+ 2. Exclude specific tools while including others:
96
+
97
+ ```bash
98
+ --resource=cards --no-tool=create_cards
99
+ ```
100
+
101
+ 3. Configure for Cursor client with custom max tool name length:
102
+
103
+ ```bash
104
+ --client=cursor --capability=tool-name-length=40
105
+ ```
106
+
107
+ 4. Complex filtering with multiple criteria:
108
+
109
+ ```bash
110
+ --resource=cards,accounts --operation=read --tag=kyc --no-tool=create_cards
111
+ ```
112
+
61
113
  ## Importing the tools and server individually
62
114
 
63
115
  ```js
package/compat.d.mts ADDED
@@ -0,0 +1,52 @@
1
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
2
+ import { Endpoint } from "./tools.mjs";
3
+ export interface ClientCapabilities {
4
+ topLevelUnions: boolean;
5
+ validJson: boolean;
6
+ refs: boolean;
7
+ unions: boolean;
8
+ formats: boolean;
9
+ toolNameLength: number | undefined;
10
+ }
11
+ export declare const defaultClientCapabilities: ClientCapabilities;
12
+ /**
13
+ * Attempts to parse strings into JSON objects
14
+ */
15
+ export declare function parseEmbeddedJSON(args: Record<string, unknown>, schema: Record<string, unknown>): Record<string, unknown>;
16
+ export type JSONSchema = {
17
+ type?: string;
18
+ properties?: Record<string, JSONSchema>;
19
+ required?: string[];
20
+ anyOf?: JSONSchema[];
21
+ $ref?: string;
22
+ $defs?: Record<string, JSONSchema>;
23
+ [key: string]: any;
24
+ };
25
+ /**
26
+ * Truncates tool names to the specified length while ensuring uniqueness.
27
+ * If truncation would cause duplicate names, appends a number to make them unique.
28
+ */
29
+ export declare function truncateToolNames(names: string[], maxLength: number): Map<string, string>;
30
+ /**
31
+ * Removes top-level unions from a tool by splitting it into multiple tools,
32
+ * one for each variant in the union.
33
+ */
34
+ export declare function removeTopLevelUnions(tool: Tool): Tool[];
35
+ /**
36
+ * Inlines all $refs in a schema, eliminating $defs.
37
+ * If a circular reference is detected, the circular property is removed.
38
+ */
39
+ export declare function inlineRefs(schema: JSONSchema): JSONSchema;
40
+ /**
41
+ * Removes anyOf fields from a schema, using only the first variant.
42
+ */
43
+ export declare function removeAnyOf(schema: JSONSchema): JSONSchema;
44
+ /**
45
+ * Removes format fields from a schema and appends them to the description.
46
+ */
47
+ export declare function removeFormats(schema: JSONSchema, formatsCapability: boolean): JSONSchema;
48
+ /**
49
+ * Applies all compatibility transformations to the endpoints based on the provided capabilities.
50
+ */
51
+ export declare function applyCompatibilityTransformations(endpoints: Endpoint[], capabilities: ClientCapabilities): Endpoint[];
52
+ //# sourceMappingURL=compat.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compat.d.mts","sourceRoot":"","sources":["src/compat.ts"],"names":[],"mappings":"OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC;OAClD,EAAE,QAAQ,EAAE;AAEnB,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED,eAAO,MAAM,yBAAyB,EAAE,kBAOvC,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,2BAqB/F;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACnC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAwCzF;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,CAyCvD;AA+BD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAazD;AAoED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CA0C1D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,OAAO,GAAG,UAAU,CAkCxF;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,QAAQ,EAAE,EACrB,YAAY,EAAE,kBAAkB,GAC/B,QAAQ,EAAE,CAiEZ"}
package/compat.d.ts ADDED
@@ -0,0 +1,52 @@
1
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
2
+ import { Endpoint } from "./tools.js";
3
+ export interface ClientCapabilities {
4
+ topLevelUnions: boolean;
5
+ validJson: boolean;
6
+ refs: boolean;
7
+ unions: boolean;
8
+ formats: boolean;
9
+ toolNameLength: number | undefined;
10
+ }
11
+ export declare const defaultClientCapabilities: ClientCapabilities;
12
+ /**
13
+ * Attempts to parse strings into JSON objects
14
+ */
15
+ export declare function parseEmbeddedJSON(args: Record<string, unknown>, schema: Record<string, unknown>): Record<string, unknown>;
16
+ export type JSONSchema = {
17
+ type?: string;
18
+ properties?: Record<string, JSONSchema>;
19
+ required?: string[];
20
+ anyOf?: JSONSchema[];
21
+ $ref?: string;
22
+ $defs?: Record<string, JSONSchema>;
23
+ [key: string]: any;
24
+ };
25
+ /**
26
+ * Truncates tool names to the specified length while ensuring uniqueness.
27
+ * If truncation would cause duplicate names, appends a number to make them unique.
28
+ */
29
+ export declare function truncateToolNames(names: string[], maxLength: number): Map<string, string>;
30
+ /**
31
+ * Removes top-level unions from a tool by splitting it into multiple tools,
32
+ * one for each variant in the union.
33
+ */
34
+ export declare function removeTopLevelUnions(tool: Tool): Tool[];
35
+ /**
36
+ * Inlines all $refs in a schema, eliminating $defs.
37
+ * If a circular reference is detected, the circular property is removed.
38
+ */
39
+ export declare function inlineRefs(schema: JSONSchema): JSONSchema;
40
+ /**
41
+ * Removes anyOf fields from a schema, using only the first variant.
42
+ */
43
+ export declare function removeAnyOf(schema: JSONSchema): JSONSchema;
44
+ /**
45
+ * Removes format fields from a schema and appends them to the description.
46
+ */
47
+ export declare function removeFormats(schema: JSONSchema, formatsCapability: boolean): JSONSchema;
48
+ /**
49
+ * Applies all compatibility transformations to the endpoints based on the provided capabilities.
50
+ */
51
+ export declare function applyCompatibilityTransformations(endpoints: Endpoint[], capabilities: ClientCapabilities): Endpoint[];
52
+ //# sourceMappingURL=compat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compat.d.ts","sourceRoot":"","sources":["src/compat.ts"],"names":[],"mappings":"OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC;OAClD,EAAE,QAAQ,EAAE;AAEnB,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED,eAAO,MAAM,yBAAyB,EAAE,kBAOvC,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,2BAqB/F;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACnC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAwCzF;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,CAyCvD;AA+BD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAazD;AAoED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CA0C1D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,OAAO,GAAG,UAAU,CAkCxF;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,QAAQ,EAAE,EACrB,YAAY,EAAE,kBAAkB,GAC/B,QAAQ,EAAE,CAiEZ"}
package/compat.js ADDED
@@ -0,0 +1,342 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultClientCapabilities = void 0;
4
+ exports.parseEmbeddedJSON = parseEmbeddedJSON;
5
+ exports.truncateToolNames = truncateToolNames;
6
+ exports.removeTopLevelUnions = removeTopLevelUnions;
7
+ exports.inlineRefs = inlineRefs;
8
+ exports.removeAnyOf = removeAnyOf;
9
+ exports.removeFormats = removeFormats;
10
+ exports.applyCompatibilityTransformations = applyCompatibilityTransformations;
11
+ exports.defaultClientCapabilities = {
12
+ topLevelUnions: true,
13
+ validJson: true,
14
+ refs: true,
15
+ unions: true,
16
+ formats: true,
17
+ toolNameLength: undefined,
18
+ };
19
+ /**
20
+ * Attempts to parse strings into JSON objects
21
+ */
22
+ function parseEmbeddedJSON(args, schema) {
23
+ let updated = false;
24
+ const newArgs = Object.assign({}, args);
25
+ for (const [key, value] of Object.entries(newArgs)) {
26
+ if (typeof value === 'string') {
27
+ try {
28
+ const parsed = JSON.parse(value);
29
+ newArgs[key] = parsed;
30
+ updated = true;
31
+ }
32
+ catch (e) {
33
+ // Not valid JSON, leave as is
34
+ }
35
+ }
36
+ }
37
+ if (updated) {
38
+ return newArgs;
39
+ }
40
+ return args;
41
+ }
42
+ /**
43
+ * Truncates tool names to the specified length while ensuring uniqueness.
44
+ * If truncation would cause duplicate names, appends a number to make them unique.
45
+ */
46
+ function truncateToolNames(names, maxLength) {
47
+ if (maxLength <= 0) {
48
+ return new Map();
49
+ }
50
+ const renameMap = new Map();
51
+ const usedNames = new Set();
52
+ const toTruncate = names.filter((name) => name.length > maxLength);
53
+ if (toTruncate.length === 0) {
54
+ return renameMap;
55
+ }
56
+ const willCollide = new Set(toTruncate.map((name) => name.slice(0, maxLength - 1))).size < toTruncate.length;
57
+ if (!willCollide) {
58
+ for (const name of toTruncate) {
59
+ const truncatedName = name.slice(0, maxLength);
60
+ renameMap.set(name, truncatedName);
61
+ }
62
+ }
63
+ else {
64
+ const baseLength = maxLength - 1;
65
+ for (const name of toTruncate) {
66
+ const baseName = name.slice(0, baseLength);
67
+ let counter = 1;
68
+ while (usedNames.has(baseName + counter)) {
69
+ counter++;
70
+ }
71
+ const finalName = baseName + counter;
72
+ renameMap.set(name, finalName);
73
+ usedNames.add(finalName);
74
+ }
75
+ }
76
+ return renameMap;
77
+ }
78
+ /**
79
+ * Removes top-level unions from a tool by splitting it into multiple tools,
80
+ * one for each variant in the union.
81
+ */
82
+ function removeTopLevelUnions(tool) {
83
+ const inputSchema = tool.inputSchema;
84
+ const variants = inputSchema.anyOf;
85
+ if (!variants || !Array.isArray(variants) || variants.length === 0) {
86
+ return [tool];
87
+ }
88
+ const defs = inputSchema.$defs || {};
89
+ return variants.map((variant, index) => {
90
+ const variantSchema = {
91
+ ...inputSchema,
92
+ ...variant,
93
+ type: 'object',
94
+ properties: {
95
+ ...(inputSchema.properties || {}),
96
+ ...(variant.properties || {}),
97
+ },
98
+ };
99
+ delete variantSchema.anyOf;
100
+ if (!variantSchema['description']) {
101
+ variantSchema['description'] = tool.description;
102
+ }
103
+ const usedDefs = findUsedDefs(variant, defs);
104
+ if (Object.keys(usedDefs).length > 0) {
105
+ variantSchema.$defs = usedDefs;
106
+ }
107
+ else {
108
+ delete variantSchema.$defs;
109
+ }
110
+ return {
111
+ ...tool,
112
+ name: `${tool.name}_${toSnakeCase(variant['title'] || `variant${index + 1}`)}`,
113
+ description: variant['description'] || tool.description,
114
+ inputSchema: variantSchema,
115
+ };
116
+ });
117
+ }
118
+ function findUsedDefs(schema, defs) {
119
+ const usedDefs = {};
120
+ if (typeof schema !== 'object' || schema === null) {
121
+ return usedDefs;
122
+ }
123
+ if (schema.$ref) {
124
+ const refParts = schema.$ref.split('/');
125
+ if (refParts[0] === '#' && refParts[1] === '$defs' && refParts[2]) {
126
+ const defName = refParts[2];
127
+ const def = defs[defName];
128
+ if (def) {
129
+ usedDefs[defName] = def;
130
+ Object.assign(usedDefs, findUsedDefs(def, defs));
131
+ }
132
+ }
133
+ return usedDefs;
134
+ }
135
+ for (const key in schema) {
136
+ if (key !== '$defs' && typeof schema[key] === 'object' && schema[key] !== null) {
137
+ Object.assign(usedDefs, findUsedDefs(schema[key], defs));
138
+ }
139
+ }
140
+ return usedDefs;
141
+ }
142
+ /**
143
+ * Inlines all $refs in a schema, eliminating $defs.
144
+ * If a circular reference is detected, the circular property is removed.
145
+ */
146
+ function inlineRefs(schema) {
147
+ if (!schema || typeof schema !== 'object') {
148
+ return schema;
149
+ }
150
+ const clonedSchema = { ...schema };
151
+ const defs = schema.$defs || {};
152
+ delete clonedSchema.$defs;
153
+ const result = inlineRefsRecursive(clonedSchema, defs, new Set());
154
+ // The top level can never be null
155
+ return result === null ? {} : result;
156
+ }
157
+ function inlineRefsRecursive(schema, defs, refPath) {
158
+ if (!schema || typeof schema !== 'object') {
159
+ return schema;
160
+ }
161
+ if (Array.isArray(schema)) {
162
+ return schema.map((item) => {
163
+ const processed = inlineRefsRecursive(item, defs, refPath);
164
+ return processed === null ? {} : processed;
165
+ });
166
+ }
167
+ const result = { ...schema };
168
+ if ('$ref' in result && typeof result.$ref === 'string') {
169
+ if (result.$ref.startsWith('#/$defs/')) {
170
+ const refName = result.$ref.split('/').pop();
171
+ const def = defs[refName];
172
+ // If we've already seen this ref in our path, we have a circular reference
173
+ if (refPath.has(result.$ref)) {
174
+ // For circular references, we completely remove the property
175
+ // by returning null. The parent will remove it.
176
+ return null;
177
+ }
178
+ if (def) {
179
+ const newRefPath = new Set(refPath);
180
+ newRefPath.add(result.$ref);
181
+ const inlinedDef = inlineRefsRecursive({ ...def }, defs, newRefPath);
182
+ if (inlinedDef === null) {
183
+ return { ...result };
184
+ }
185
+ // Merge the inlined definition with the original schema's properties
186
+ // but preserve things like description, etc.
187
+ const { $ref, ...rest } = result;
188
+ return { ...inlinedDef, ...rest };
189
+ }
190
+ }
191
+ // Keep external refs as-is
192
+ return result;
193
+ }
194
+ for (const key in result) {
195
+ if (result[key] && typeof result[key] === 'object') {
196
+ const processed = inlineRefsRecursive(result[key], defs, refPath);
197
+ if (processed === null) {
198
+ // Remove properties that would cause circular references
199
+ delete result[key];
200
+ }
201
+ else {
202
+ result[key] = processed;
203
+ }
204
+ }
205
+ }
206
+ return result;
207
+ }
208
+ /**
209
+ * Removes anyOf fields from a schema, using only the first variant.
210
+ */
211
+ function removeAnyOf(schema) {
212
+ if (!schema || typeof schema !== 'object') {
213
+ return schema;
214
+ }
215
+ if (Array.isArray(schema)) {
216
+ return schema.map((item) => removeAnyOf(item));
217
+ }
218
+ const result = { ...schema };
219
+ if ('anyOf' in result && Array.isArray(result.anyOf) && result.anyOf.length > 0) {
220
+ const firstVariant = result.anyOf[0];
221
+ if (firstVariant && typeof firstVariant === 'object') {
222
+ // Special handling for properties to ensure deep merge
223
+ if (firstVariant.properties && result.properties) {
224
+ result.properties = {
225
+ ...result.properties,
226
+ ...firstVariant.properties,
227
+ };
228
+ }
229
+ else if (firstVariant.properties) {
230
+ result.properties = { ...firstVariant.properties };
231
+ }
232
+ for (const key in firstVariant) {
233
+ if (key !== 'properties') {
234
+ result[key] = firstVariant[key];
235
+ }
236
+ }
237
+ }
238
+ delete result.anyOf;
239
+ }
240
+ for (const key in result) {
241
+ if (result[key] && typeof result[key] === 'object') {
242
+ result[key] = removeAnyOf(result[key]);
243
+ }
244
+ }
245
+ return result;
246
+ }
247
+ /**
248
+ * Removes format fields from a schema and appends them to the description.
249
+ */
250
+ function removeFormats(schema, formatsCapability) {
251
+ if (formatsCapability) {
252
+ return schema;
253
+ }
254
+ if (!schema || typeof schema !== 'object') {
255
+ return schema;
256
+ }
257
+ if (Array.isArray(schema)) {
258
+ return schema.map((item) => removeFormats(item, formatsCapability));
259
+ }
260
+ const result = { ...schema };
261
+ if ('format' in result && typeof result['format'] === 'string') {
262
+ const formatStr = `(format: "${result['format']}")`;
263
+ if ('description' in result && typeof result['description'] === 'string') {
264
+ result['description'] = `${result['description']} ${formatStr}`;
265
+ }
266
+ else {
267
+ result['description'] = formatStr;
268
+ }
269
+ delete result['format'];
270
+ }
271
+ for (const key in result) {
272
+ if (result[key] && typeof result[key] === 'object') {
273
+ result[key] = removeFormats(result[key], formatsCapability);
274
+ }
275
+ }
276
+ return result;
277
+ }
278
+ /**
279
+ * Applies all compatibility transformations to the endpoints based on the provided capabilities.
280
+ */
281
+ function applyCompatibilityTransformations(endpoints, capabilities) {
282
+ let transformedEndpoints = [...endpoints];
283
+ // Handle top-level unions first as this changes tool names
284
+ if (!capabilities.topLevelUnions) {
285
+ const newEndpoints = [];
286
+ for (const endpoint of transformedEndpoints) {
287
+ const variantTools = removeTopLevelUnions(endpoint.tool);
288
+ if (variantTools.length === 1) {
289
+ newEndpoints.push(endpoint);
290
+ }
291
+ else {
292
+ for (const variantTool of variantTools) {
293
+ newEndpoints.push({
294
+ ...endpoint,
295
+ tool: variantTool,
296
+ });
297
+ }
298
+ }
299
+ }
300
+ transformedEndpoints = newEndpoints;
301
+ }
302
+ if (capabilities.toolNameLength) {
303
+ const toolNames = transformedEndpoints.map((endpoint) => endpoint.tool.name);
304
+ const renameMap = truncateToolNames(toolNames, capabilities.toolNameLength);
305
+ transformedEndpoints = transformedEndpoints.map((endpoint) => ({
306
+ ...endpoint,
307
+ tool: {
308
+ ...endpoint.tool,
309
+ name: renameMap.get(endpoint.tool.name) ?? endpoint.tool.name,
310
+ },
311
+ }));
312
+ }
313
+ if (!capabilities.refs || !capabilities.unions || !capabilities.formats) {
314
+ transformedEndpoints = transformedEndpoints.map((endpoint) => {
315
+ let schema = endpoint.tool.inputSchema;
316
+ if (!capabilities.refs) {
317
+ schema = inlineRefs(schema);
318
+ }
319
+ if (!capabilities.unions) {
320
+ schema = removeAnyOf(schema);
321
+ }
322
+ if (!capabilities.formats) {
323
+ schema = removeFormats(schema, capabilities.formats);
324
+ }
325
+ return {
326
+ ...endpoint,
327
+ tool: {
328
+ ...endpoint.tool,
329
+ inputSchema: schema,
330
+ },
331
+ };
332
+ });
333
+ }
334
+ return transformedEndpoints;
335
+ }
336
+ function toSnakeCase(str) {
337
+ return str
338
+ .replace(/\s+/g, '_')
339
+ .replace(/([a-z])([A-Z])/g, '$1_$2')
340
+ .toLowerCase();
341
+ }
342
+ //# sourceMappingURL=compat.js.map
package/compat.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compat.js","sourceRoot":"","sources":["src/compat.ts"],"names":[],"mappings":"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"}