@tryfinch/finch-api-mcp 6.31.0 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (549) hide show
  1. package/README.md +85 -10
  2. package/code-tool-types.d.mts +16 -0
  3. package/code-tool-types.d.mts.map +1 -0
  4. package/code-tool-types.d.ts +16 -0
  5. package/code-tool-types.d.ts.map +1 -0
  6. package/code-tool-types.js +4 -0
  7. package/code-tool-types.js.map +1 -0
  8. package/code-tool-types.mjs +3 -0
  9. package/code-tool-types.mjs.map +1 -0
  10. package/code-tool.d.mts +54 -0
  11. package/code-tool.d.mts.map +1 -0
  12. package/code-tool.d.ts +54 -0
  13. package/code-tool.d.ts.map +1 -0
  14. package/code-tool.js +54 -0
  15. package/code-tool.js.map +1 -0
  16. package/code-tool.mjs +51 -0
  17. package/code-tool.mjs.map +1 -0
  18. package/compat.d.mts +6 -0
  19. package/compat.d.mts.map +1 -1
  20. package/compat.d.ts +6 -0
  21. package/compat.d.ts.map +1 -1
  22. package/compat.js +52 -7
  23. package/compat.js.map +1 -1
  24. package/compat.mjs +52 -6
  25. package/compat.mjs.map +1 -1
  26. package/docs-search-tool.d.mts +50 -0
  27. package/docs-search-tool.d.mts.map +1 -0
  28. package/docs-search-tool.d.ts +50 -0
  29. package/docs-search-tool.d.ts.map +1 -0
  30. package/docs-search-tool.js +51 -0
  31. package/docs-search-tool.js.map +1 -0
  32. package/docs-search-tool.mjs +47 -0
  33. package/docs-search-tool.mjs.map +1 -0
  34. package/dynamic-tools.d.mts +2 -2
  35. package/dynamic-tools.d.mts.map +1 -1
  36. package/dynamic-tools.d.ts +2 -2
  37. package/dynamic-tools.d.ts.map +1 -1
  38. package/dynamic-tools.js +11 -9
  39. package/dynamic-tools.js.map +1 -1
  40. package/dynamic-tools.mjs +11 -9
  41. package/dynamic-tools.mjs.map +1 -1
  42. package/filtering.d.mts +3 -0
  43. package/filtering.d.mts.map +1 -0
  44. package/filtering.d.ts +3 -0
  45. package/filtering.d.ts.map +1 -0
  46. package/filtering.js +24 -0
  47. package/filtering.js.map +1 -0
  48. package/filtering.mjs +16 -0
  49. package/filtering.mjs.map +1 -0
  50. package/headers.d.mts +4 -0
  51. package/headers.d.mts.map +1 -0
  52. package/headers.d.ts +4 -0
  53. package/headers.d.ts.map +1 -0
  54. package/headers.js +31 -0
  55. package/headers.js.map +1 -0
  56. package/headers.mjs +27 -0
  57. package/headers.mjs.map +1 -0
  58. package/http.d.mts +9 -0
  59. package/http.d.mts.map +1 -0
  60. package/http.d.ts +9 -0
  61. package/http.d.ts.map +1 -0
  62. package/http.js +108 -0
  63. package/http.js.map +1 -0
  64. package/http.mjs +100 -0
  65. package/http.mjs.map +1 -0
  66. package/index.d.mts +1 -0
  67. package/index.d.ts +1 -0
  68. package/index.js +15 -10
  69. package/index.js.map +1 -1
  70. package/index.mjs +18 -12
  71. package/index.mjs.map +1 -1
  72. package/options.d.mts +17 -8
  73. package/options.d.mts.map +1 -1
  74. package/options.d.ts +17 -8
  75. package/options.d.ts.map +1 -1
  76. package/options.js +151 -61
  77. package/options.js.map +1 -1
  78. package/options.mjs +149 -60
  79. package/options.mjs.map +1 -1
  80. package/package.json +161 -12
  81. package/server.d.mts +12 -15
  82. package/server.d.mts.map +1 -1
  83. package/server.d.ts +12 -15
  84. package/server.d.ts.map +1 -1
  85. package/server.js +107 -36
  86. package/server.js.map +1 -1
  87. package/server.mjs +105 -36
  88. package/server.mjs.map +1 -1
  89. package/src/code-tool-types.ts +18 -0
  90. package/src/code-tool.ts +64 -0
  91. package/src/compat.ts +60 -6
  92. package/src/docs-search-tool.ts +59 -0
  93. package/src/dynamic-tools.ts +13 -12
  94. package/src/filtering.ts +18 -0
  95. package/src/headers.ts +35 -0
  96. package/src/http.ts +127 -0
  97. package/src/index.ts +20 -14
  98. package/src/options.ts +185 -73
  99. package/src/server.ts +128 -48
  100. package/src/stdio.ts +13 -0
  101. package/src/tools/access-tokens/create-access-tokens.ts +30 -5
  102. package/src/tools/account/disconnect-account.ts +28 -5
  103. package/src/tools/account/introspect-account.ts +30 -5
  104. package/src/tools/connect/sessions/new-connect-sessions.ts +46 -14
  105. package/src/tools/connect/sessions/reauthenticate-connect-sessions.ts +32 -9
  106. package/src/tools/hris/benefits/create-hris-benefits.ts +45 -18
  107. package/src/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.ts +55 -10
  108. package/src/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.ts +37 -5
  109. package/src/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.ts +36 -5
  110. package/src/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.ts +37 -5
  111. package/src/tools/hris/benefits/list-hris-benefits.ts +38 -5
  112. package/src/tools/hris/benefits/list-supported-benefits-hris-benefits.ts +38 -5
  113. package/src/tools/hris/benefits/retrieve-hris-benefits.ts +37 -5
  114. package/src/tools/hris/benefits/update-hris-benefits.ts +35 -5
  115. package/src/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.ts +35 -5
  116. package/src/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.ts +35 -7
  117. package/src/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.ts +36 -5
  118. package/src/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.ts +37 -5
  119. package/src/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.ts +37 -5
  120. package/src/tools/hris/company/retrieve-hris-company.ts +37 -5
  121. package/src/tools/hris/directory/list-hris-directory.ts +36 -5
  122. package/src/tools/hris/documents/list-hris-documents.ts +34 -5
  123. package/src/tools/hris/documents/retreive-hris-documents.ts +36 -5
  124. package/src/tools/hris/employments/retrieve-many-hris-employments.ts +24 -3
  125. package/src/tools/hris/individuals/retrieve-many-hris-individuals.ts +34 -7
  126. package/src/tools/hris/pay-statements/retrieve-many-hris-pay-statements.ts +24 -3
  127. package/src/tools/hris/payments/list-hris-payments.ts +36 -5
  128. package/src/tools/index.ts +6 -20
  129. package/src/tools/jobs/automated/create-jobs-automated.ts +28 -5
  130. package/src/tools/jobs/automated/list-jobs-automated.ts +27 -5
  131. package/src/tools/jobs/automated/retrieve-jobs-automated.ts +28 -5
  132. package/src/tools/jobs/manual/retrieve-jobs-manual.ts +27 -5
  133. package/src/tools/payroll/pay-groups/list-payroll-pay-groups.ts +36 -5
  134. package/src/tools/payroll/pay-groups/retrieve-payroll-pay-groups.ts +37 -5
  135. package/src/tools/providers/list-providers.ts +31 -5
  136. package/src/tools/request-forwarding/forward-request-forwarding.ts +31 -9
  137. package/src/tools/sandbox/company/update-sandbox-company.ts +37 -9
  138. package/src/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.ts +28 -5
  139. package/src/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.ts +29 -6
  140. package/src/tools/sandbox/connections/create-sandbox-connections.ts +26 -5
  141. package/src/tools/sandbox/directory/create-sandbox-directory.ts +28 -12
  142. package/src/tools/sandbox/employment/update-sandbox-employment.ts +20 -7
  143. package/src/tools/sandbox/individual/update-sandbox-individual.ts +30 -7
  144. package/src/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.ts +32 -5
  145. package/src/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.ts +30 -5
  146. package/src/tools/sandbox/jobs/create-sandbox-jobs.ts +26 -5
  147. package/src/tools/sandbox/payment/create-sandbox-payment.ts +89 -173
  148. package/src/tools/types.ts +115 -0
  149. package/stdio.d.mts +3 -0
  150. package/stdio.d.mts.map +1 -0
  151. package/stdio.d.ts +3 -0
  152. package/stdio.d.ts.map +1 -0
  153. package/stdio.js +14 -0
  154. package/stdio.js.map +1 -0
  155. package/stdio.mjs +10 -0
  156. package/stdio.mjs.map +1 -0
  157. package/tools/access-tokens/create-access-tokens.d.mts +26 -7
  158. package/tools/access-tokens/create-access-tokens.d.mts.map +1 -1
  159. package/tools/access-tokens/create-access-tokens.d.ts +26 -7
  160. package/tools/access-tokens/create-access-tokens.d.ts.map +1 -1
  161. package/tools/access-tokens/create-access-tokens.js +32 -4
  162. package/tools/access-tokens/create-access-tokens.js.map +1 -1
  163. package/tools/access-tokens/create-access-tokens.mjs +29 -4
  164. package/tools/access-tokens/create-access-tokens.mjs.map +1 -1
  165. package/tools/account/disconnect-account.d.mts +26 -7
  166. package/tools/account/disconnect-account.d.mts.map +1 -1
  167. package/tools/account/disconnect-account.d.ts +26 -7
  168. package/tools/account/disconnect-account.d.ts.map +1 -1
  169. package/tools/account/disconnect-account.js +30 -4
  170. package/tools/account/disconnect-account.js.map +1 -1
  171. package/tools/account/disconnect-account.mjs +27 -4
  172. package/tools/account/disconnect-account.mjs.map +1 -1
  173. package/tools/account/introspect-account.d.mts +26 -7
  174. package/tools/account/introspect-account.d.mts.map +1 -1
  175. package/tools/account/introspect-account.d.ts +26 -7
  176. package/tools/account/introspect-account.d.ts.map +1 -1
  177. package/tools/account/introspect-account.js +32 -4
  178. package/tools/account/introspect-account.js.map +1 -1
  179. package/tools/account/introspect-account.mjs +29 -4
  180. package/tools/account/introspect-account.mjs.map +1 -1
  181. package/tools/connect/sessions/new-connect-sessions.d.mts +26 -7
  182. package/tools/connect/sessions/new-connect-sessions.d.mts.map +1 -1
  183. package/tools/connect/sessions/new-connect-sessions.d.ts +26 -7
  184. package/tools/connect/sessions/new-connect-sessions.d.ts.map +1 -1
  185. package/tools/connect/sessions/new-connect-sessions.js +47 -13
  186. package/tools/connect/sessions/new-connect-sessions.js.map +1 -1
  187. package/tools/connect/sessions/new-connect-sessions.mjs +44 -13
  188. package/tools/connect/sessions/new-connect-sessions.mjs.map +1 -1
  189. package/tools/connect/sessions/reauthenticate-connect-sessions.d.mts +26 -7
  190. package/tools/connect/sessions/reauthenticate-connect-sessions.d.mts.map +1 -1
  191. package/tools/connect/sessions/reauthenticate-connect-sessions.d.ts +26 -7
  192. package/tools/connect/sessions/reauthenticate-connect-sessions.d.ts.map +1 -1
  193. package/tools/connect/sessions/reauthenticate-connect-sessions.js +32 -8
  194. package/tools/connect/sessions/reauthenticate-connect-sessions.js.map +1 -1
  195. package/tools/connect/sessions/reauthenticate-connect-sessions.mjs +29 -8
  196. package/tools/connect/sessions/reauthenticate-connect-sessions.mjs.map +1 -1
  197. package/tools/hris/benefits/create-hris-benefits.d.mts +26 -7
  198. package/tools/hris/benefits/create-hris-benefits.d.mts.map +1 -1
  199. package/tools/hris/benefits/create-hris-benefits.d.ts +26 -7
  200. package/tools/hris/benefits/create-hris-benefits.d.ts.map +1 -1
  201. package/tools/hris/benefits/create-hris-benefits.js +48 -17
  202. package/tools/hris/benefits/create-hris-benefits.js.map +1 -1
  203. package/tools/hris/benefits/create-hris-benefits.mjs +45 -17
  204. package/tools/hris/benefits/create-hris-benefits.mjs.map +1 -1
  205. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.d.mts +26 -7
  206. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.d.mts.map +1 -1
  207. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.d.ts +26 -7
  208. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.d.ts.map +1 -1
  209. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.js +54 -9
  210. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.js.map +1 -1
  211. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.mjs +51 -9
  212. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.mjs.map +1 -1
  213. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.d.mts +26 -7
  214. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.d.mts.map +1 -1
  215. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.d.ts +26 -7
  216. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.d.ts.map +1 -1
  217. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.js +37 -4
  218. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.js.map +1 -1
  219. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.mjs +34 -4
  220. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.mjs.map +1 -1
  221. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.d.mts +26 -7
  222. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.d.mts.map +1 -1
  223. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.d.ts +26 -7
  224. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.d.ts.map +1 -1
  225. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.js +38 -4
  226. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.js.map +1 -1
  227. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.mjs +35 -4
  228. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.mjs.map +1 -1
  229. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.d.mts +26 -7
  230. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.d.mts.map +1 -1
  231. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.d.ts +26 -7
  232. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.d.ts.map +1 -1
  233. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.js +37 -4
  234. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.js.map +1 -1
  235. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.mjs +34 -4
  236. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.mjs.map +1 -1
  237. package/tools/hris/benefits/list-hris-benefits.d.mts +26 -7
  238. package/tools/hris/benefits/list-hris-benefits.d.mts.map +1 -1
  239. package/tools/hris/benefits/list-hris-benefits.d.ts +26 -7
  240. package/tools/hris/benefits/list-hris-benefits.d.ts.map +1 -1
  241. package/tools/hris/benefits/list-hris-benefits.js +40 -4
  242. package/tools/hris/benefits/list-hris-benefits.js.map +1 -1
  243. package/tools/hris/benefits/list-hris-benefits.mjs +37 -4
  244. package/tools/hris/benefits/list-hris-benefits.mjs.map +1 -1
  245. package/tools/hris/benefits/list-supported-benefits-hris-benefits.d.mts +26 -7
  246. package/tools/hris/benefits/list-supported-benefits-hris-benefits.d.mts.map +1 -1
  247. package/tools/hris/benefits/list-supported-benefits-hris-benefits.d.ts +26 -7
  248. package/tools/hris/benefits/list-supported-benefits-hris-benefits.d.ts.map +1 -1
  249. package/tools/hris/benefits/list-supported-benefits-hris-benefits.js +40 -4
  250. package/tools/hris/benefits/list-supported-benefits-hris-benefits.js.map +1 -1
  251. package/tools/hris/benefits/list-supported-benefits-hris-benefits.mjs +37 -4
  252. package/tools/hris/benefits/list-supported-benefits-hris-benefits.mjs.map +1 -1
  253. package/tools/hris/benefits/retrieve-hris-benefits.d.mts +26 -7
  254. package/tools/hris/benefits/retrieve-hris-benefits.d.mts.map +1 -1
  255. package/tools/hris/benefits/retrieve-hris-benefits.d.ts +26 -7
  256. package/tools/hris/benefits/retrieve-hris-benefits.d.ts.map +1 -1
  257. package/tools/hris/benefits/retrieve-hris-benefits.js +37 -4
  258. package/tools/hris/benefits/retrieve-hris-benefits.js.map +1 -1
  259. package/tools/hris/benefits/retrieve-hris-benefits.mjs +34 -4
  260. package/tools/hris/benefits/retrieve-hris-benefits.mjs.map +1 -1
  261. package/tools/hris/benefits/update-hris-benefits.d.mts +26 -7
  262. package/tools/hris/benefits/update-hris-benefits.d.mts.map +1 -1
  263. package/tools/hris/benefits/update-hris-benefits.d.ts +26 -7
  264. package/tools/hris/benefits/update-hris-benefits.d.ts.map +1 -1
  265. package/tools/hris/benefits/update-hris-benefits.js +35 -4
  266. package/tools/hris/benefits/update-hris-benefits.js.map +1 -1
  267. package/tools/hris/benefits/update-hris-benefits.mjs +32 -4
  268. package/tools/hris/benefits/update-hris-benefits.mjs.map +1 -1
  269. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.d.mts +26 -7
  270. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.d.mts.map +1 -1
  271. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.d.ts +26 -7
  272. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.d.ts.map +1 -1
  273. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.js +38 -4
  274. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.js.map +1 -1
  275. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.mjs +35 -4
  276. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.mjs.map +1 -1
  277. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.d.mts +26 -7
  278. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.d.mts.map +1 -1
  279. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.d.ts +26 -7
  280. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.d.ts.map +1 -1
  281. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.js +36 -6
  282. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.js.map +1 -1
  283. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.mjs +33 -6
  284. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.mjs.map +1 -1
  285. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.d.mts +26 -7
  286. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.d.mts.map +1 -1
  287. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.d.ts +26 -7
  288. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.d.ts.map +1 -1
  289. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.js +37 -4
  290. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.js.map +1 -1
  291. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.mjs +34 -4
  292. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.mjs.map +1 -1
  293. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.d.mts +26 -7
  294. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.d.mts.map +1 -1
  295. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.d.ts +26 -7
  296. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.d.ts.map +1 -1
  297. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.js +40 -4
  298. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.js.map +1 -1
  299. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.mjs +37 -4
  300. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.mjs.map +1 -1
  301. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.d.mts +26 -7
  302. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.d.mts.map +1 -1
  303. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.d.ts +26 -7
  304. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.d.ts.map +1 -1
  305. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.js +38 -4
  306. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.js.map +1 -1
  307. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.mjs +35 -4
  308. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.mjs.map +1 -1
  309. package/tools/hris/company/retrieve-hris-company.d.mts +26 -7
  310. package/tools/hris/company/retrieve-hris-company.d.mts.map +1 -1
  311. package/tools/hris/company/retrieve-hris-company.d.ts +26 -7
  312. package/tools/hris/company/retrieve-hris-company.d.ts.map +1 -1
  313. package/tools/hris/company/retrieve-hris-company.js +39 -4
  314. package/tools/hris/company/retrieve-hris-company.js.map +1 -1
  315. package/tools/hris/company/retrieve-hris-company.mjs +36 -4
  316. package/tools/hris/company/retrieve-hris-company.mjs.map +1 -1
  317. package/tools/hris/directory/list-hris-directory.d.mts +26 -7
  318. package/tools/hris/directory/list-hris-directory.d.mts.map +1 -1
  319. package/tools/hris/directory/list-hris-directory.d.ts +26 -7
  320. package/tools/hris/directory/list-hris-directory.d.ts.map +1 -1
  321. package/tools/hris/directory/list-hris-directory.js +38 -4
  322. package/tools/hris/directory/list-hris-directory.js.map +1 -1
  323. package/tools/hris/directory/list-hris-directory.mjs +35 -4
  324. package/tools/hris/directory/list-hris-directory.mjs.map +1 -1
  325. package/tools/hris/documents/list-hris-documents.d.mts +26 -7
  326. package/tools/hris/documents/list-hris-documents.d.mts.map +1 -1
  327. package/tools/hris/documents/list-hris-documents.d.ts +26 -7
  328. package/tools/hris/documents/list-hris-documents.d.ts.map +1 -1
  329. package/tools/hris/documents/list-hris-documents.js +37 -4
  330. package/tools/hris/documents/list-hris-documents.js.map +1 -1
  331. package/tools/hris/documents/list-hris-documents.mjs +34 -4
  332. package/tools/hris/documents/list-hris-documents.mjs.map +1 -1
  333. package/tools/hris/documents/retreive-hris-documents.d.mts +26 -7
  334. package/tools/hris/documents/retreive-hris-documents.d.mts.map +1 -1
  335. package/tools/hris/documents/retreive-hris-documents.d.ts +26 -7
  336. package/tools/hris/documents/retreive-hris-documents.d.ts.map +1 -1
  337. package/tools/hris/documents/retreive-hris-documents.js +37 -4
  338. package/tools/hris/documents/retreive-hris-documents.js.map +1 -1
  339. package/tools/hris/documents/retreive-hris-documents.mjs +34 -4
  340. package/tools/hris/documents/retreive-hris-documents.mjs.map +1 -1
  341. package/tools/hris/employments/retrieve-many-hris-employments.d.mts +26 -7
  342. package/tools/hris/employments/retrieve-many-hris-employments.d.mts.map +1 -1
  343. package/tools/hris/employments/retrieve-many-hris-employments.d.ts +26 -7
  344. package/tools/hris/employments/retrieve-many-hris-employments.d.ts.map +1 -1
  345. package/tools/hris/employments/retrieve-many-hris-employments.js +28 -2
  346. package/tools/hris/employments/retrieve-many-hris-employments.js.map +1 -1
  347. package/tools/hris/employments/retrieve-many-hris-employments.mjs +25 -2
  348. package/tools/hris/employments/retrieve-many-hris-employments.mjs.map +1 -1
  349. package/tools/hris/individuals/retrieve-many-hris-individuals.d.mts +26 -7
  350. package/tools/hris/individuals/retrieve-many-hris-individuals.d.mts.map +1 -1
  351. package/tools/hris/individuals/retrieve-many-hris-individuals.d.ts +26 -7
  352. package/tools/hris/individuals/retrieve-many-hris-individuals.d.ts.map +1 -1
  353. package/tools/hris/individuals/retrieve-many-hris-individuals.js +36 -6
  354. package/tools/hris/individuals/retrieve-many-hris-individuals.js.map +1 -1
  355. package/tools/hris/individuals/retrieve-many-hris-individuals.mjs +33 -6
  356. package/tools/hris/individuals/retrieve-many-hris-individuals.mjs.map +1 -1
  357. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.d.mts +26 -7
  358. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.d.mts.map +1 -1
  359. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.d.ts +26 -7
  360. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.d.ts.map +1 -1
  361. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.js +28 -2
  362. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.js.map +1 -1
  363. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.mjs +25 -2
  364. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.mjs.map +1 -1
  365. package/tools/hris/payments/list-hris-payments.d.mts +26 -7
  366. package/tools/hris/payments/list-hris-payments.d.mts.map +1 -1
  367. package/tools/hris/payments/list-hris-payments.d.ts +26 -7
  368. package/tools/hris/payments/list-hris-payments.d.ts.map +1 -1
  369. package/tools/hris/payments/list-hris-payments.js +38 -4
  370. package/tools/hris/payments/list-hris-payments.js.map +1 -1
  371. package/tools/hris/payments/list-hris-payments.mjs +35 -4
  372. package/tools/hris/payments/list-hris-payments.mjs.map +1 -1
  373. package/tools/index.d.mts +2 -13
  374. package/tools/index.d.mts.map +1 -1
  375. package/tools/index.d.ts +2 -13
  376. package/tools/index.d.ts.map +1 -1
  377. package/tools/index.js +3 -4
  378. package/tools/index.js.map +1 -1
  379. package/tools/index.mjs +3 -4
  380. package/tools/index.mjs.map +1 -1
  381. package/tools/jobs/automated/create-jobs-automated.d.mts +26 -7
  382. package/tools/jobs/automated/create-jobs-automated.d.mts.map +1 -1
  383. package/tools/jobs/automated/create-jobs-automated.d.ts +26 -7
  384. package/tools/jobs/automated/create-jobs-automated.d.ts.map +1 -1
  385. package/tools/jobs/automated/create-jobs-automated.js +31 -4
  386. package/tools/jobs/automated/create-jobs-automated.js.map +1 -1
  387. package/tools/jobs/automated/create-jobs-automated.mjs +28 -4
  388. package/tools/jobs/automated/create-jobs-automated.mjs.map +1 -1
  389. package/tools/jobs/automated/list-jobs-automated.d.mts +26 -7
  390. package/tools/jobs/automated/list-jobs-automated.d.mts.map +1 -1
  391. package/tools/jobs/automated/list-jobs-automated.d.ts +26 -7
  392. package/tools/jobs/automated/list-jobs-automated.d.ts.map +1 -1
  393. package/tools/jobs/automated/list-jobs-automated.js +30 -4
  394. package/tools/jobs/automated/list-jobs-automated.js.map +1 -1
  395. package/tools/jobs/automated/list-jobs-automated.mjs +27 -4
  396. package/tools/jobs/automated/list-jobs-automated.mjs.map +1 -1
  397. package/tools/jobs/automated/retrieve-jobs-automated.d.mts +26 -7
  398. package/tools/jobs/automated/retrieve-jobs-automated.d.mts.map +1 -1
  399. package/tools/jobs/automated/retrieve-jobs-automated.d.ts +26 -7
  400. package/tools/jobs/automated/retrieve-jobs-automated.d.ts.map +1 -1
  401. package/tools/jobs/automated/retrieve-jobs-automated.js +30 -4
  402. package/tools/jobs/automated/retrieve-jobs-automated.js.map +1 -1
  403. package/tools/jobs/automated/retrieve-jobs-automated.mjs +27 -4
  404. package/tools/jobs/automated/retrieve-jobs-automated.mjs.map +1 -1
  405. package/tools/jobs/manual/retrieve-jobs-manual.d.mts +26 -7
  406. package/tools/jobs/manual/retrieve-jobs-manual.d.mts.map +1 -1
  407. package/tools/jobs/manual/retrieve-jobs-manual.d.ts +26 -7
  408. package/tools/jobs/manual/retrieve-jobs-manual.d.ts.map +1 -1
  409. package/tools/jobs/manual/retrieve-jobs-manual.js +30 -4
  410. package/tools/jobs/manual/retrieve-jobs-manual.js.map +1 -1
  411. package/tools/jobs/manual/retrieve-jobs-manual.mjs +27 -4
  412. package/tools/jobs/manual/retrieve-jobs-manual.mjs.map +1 -1
  413. package/tools/payroll/pay-groups/list-payroll-pay-groups.d.mts +26 -7
  414. package/tools/payroll/pay-groups/list-payroll-pay-groups.d.mts.map +1 -1
  415. package/tools/payroll/pay-groups/list-payroll-pay-groups.d.ts +26 -7
  416. package/tools/payroll/pay-groups/list-payroll-pay-groups.d.ts.map +1 -1
  417. package/tools/payroll/pay-groups/list-payroll-pay-groups.js +38 -4
  418. package/tools/payroll/pay-groups/list-payroll-pay-groups.js.map +1 -1
  419. package/tools/payroll/pay-groups/list-payroll-pay-groups.mjs +35 -4
  420. package/tools/payroll/pay-groups/list-payroll-pay-groups.mjs.map +1 -1
  421. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.d.mts +26 -7
  422. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.d.mts.map +1 -1
  423. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.d.ts +26 -7
  424. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.d.ts.map +1 -1
  425. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.js +37 -4
  426. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.js.map +1 -1
  427. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.mjs +34 -4
  428. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.mjs.map +1 -1
  429. package/tools/providers/list-providers.d.mts +26 -7
  430. package/tools/providers/list-providers.d.mts.map +1 -1
  431. package/tools/providers/list-providers.d.ts +26 -7
  432. package/tools/providers/list-providers.d.ts.map +1 -1
  433. package/tools/providers/list-providers.js +33 -4
  434. package/tools/providers/list-providers.js.map +1 -1
  435. package/tools/providers/list-providers.mjs +30 -4
  436. package/tools/providers/list-providers.mjs.map +1 -1
  437. package/tools/request-forwarding/forward-request-forwarding.d.mts +26 -7
  438. package/tools/request-forwarding/forward-request-forwarding.d.mts.map +1 -1
  439. package/tools/request-forwarding/forward-request-forwarding.d.ts +26 -7
  440. package/tools/request-forwarding/forward-request-forwarding.d.ts.map +1 -1
  441. package/tools/request-forwarding/forward-request-forwarding.js +34 -8
  442. package/tools/request-forwarding/forward-request-forwarding.js.map +1 -1
  443. package/tools/request-forwarding/forward-request-forwarding.mjs +31 -8
  444. package/tools/request-forwarding/forward-request-forwarding.mjs.map +1 -1
  445. package/tools/sandbox/company/update-sandbox-company.d.mts +26 -7
  446. package/tools/sandbox/company/update-sandbox-company.d.mts.map +1 -1
  447. package/tools/sandbox/company/update-sandbox-company.d.ts +26 -7
  448. package/tools/sandbox/company/update-sandbox-company.d.ts.map +1 -1
  449. package/tools/sandbox/company/update-sandbox-company.js +39 -8
  450. package/tools/sandbox/company/update-sandbox-company.js.map +1 -1
  451. package/tools/sandbox/company/update-sandbox-company.mjs +36 -8
  452. package/tools/sandbox/company/update-sandbox-company.mjs.map +1 -1
  453. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.d.mts +26 -7
  454. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.d.mts.map +1 -1
  455. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.d.ts +26 -7
  456. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.d.ts.map +1 -1
  457. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.js +28 -4
  458. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.js.map +1 -1
  459. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.mjs +25 -4
  460. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.mjs.map +1 -1
  461. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.d.mts +26 -7
  462. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.d.mts.map +1 -1
  463. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.d.ts +26 -7
  464. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.d.ts.map +1 -1
  465. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.js +30 -5
  466. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.js.map +1 -1
  467. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.mjs +27 -5
  468. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.mjs.map +1 -1
  469. package/tools/sandbox/connections/create-sandbox-connections.d.mts +26 -7
  470. package/tools/sandbox/connections/create-sandbox-connections.d.mts.map +1 -1
  471. package/tools/sandbox/connections/create-sandbox-connections.d.ts +26 -7
  472. package/tools/sandbox/connections/create-sandbox-connections.d.ts.map +1 -1
  473. package/tools/sandbox/connections/create-sandbox-connections.js +28 -4
  474. package/tools/sandbox/connections/create-sandbox-connections.js.map +1 -1
  475. package/tools/sandbox/connections/create-sandbox-connections.mjs +25 -4
  476. package/tools/sandbox/connections/create-sandbox-connections.mjs.map +1 -1
  477. package/tools/sandbox/directory/create-sandbox-directory.d.mts +26 -7
  478. package/tools/sandbox/directory/create-sandbox-directory.d.mts.map +1 -1
  479. package/tools/sandbox/directory/create-sandbox-directory.d.ts +26 -7
  480. package/tools/sandbox/directory/create-sandbox-directory.d.ts.map +1 -1
  481. package/tools/sandbox/directory/create-sandbox-directory.js +30 -11
  482. package/tools/sandbox/directory/create-sandbox-directory.js.map +1 -1
  483. package/tools/sandbox/directory/create-sandbox-directory.mjs +27 -11
  484. package/tools/sandbox/directory/create-sandbox-directory.mjs.map +1 -1
  485. package/tools/sandbox/employment/update-sandbox-employment.d.mts +26 -7
  486. package/tools/sandbox/employment/update-sandbox-employment.d.mts.map +1 -1
  487. package/tools/sandbox/employment/update-sandbox-employment.d.ts +26 -7
  488. package/tools/sandbox/employment/update-sandbox-employment.d.ts.map +1 -1
  489. package/tools/sandbox/employment/update-sandbox-employment.js +24 -6
  490. package/tools/sandbox/employment/update-sandbox-employment.js.map +1 -1
  491. package/tools/sandbox/employment/update-sandbox-employment.mjs +21 -6
  492. package/tools/sandbox/employment/update-sandbox-employment.mjs.map +1 -1
  493. package/tools/sandbox/individual/update-sandbox-individual.d.mts +26 -7
  494. package/tools/sandbox/individual/update-sandbox-individual.d.mts.map +1 -1
  495. package/tools/sandbox/individual/update-sandbox-individual.d.ts +26 -7
  496. package/tools/sandbox/individual/update-sandbox-individual.d.ts.map +1 -1
  497. package/tools/sandbox/individual/update-sandbox-individual.js +30 -6
  498. package/tools/sandbox/individual/update-sandbox-individual.js.map +1 -1
  499. package/tools/sandbox/individual/update-sandbox-individual.mjs +27 -6
  500. package/tools/sandbox/individual/update-sandbox-individual.mjs.map +1 -1
  501. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.d.mts +26 -7
  502. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.d.mts.map +1 -1
  503. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.d.ts +26 -7
  504. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.d.ts.map +1 -1
  505. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.js +32 -4
  506. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.js.map +1 -1
  507. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.mjs +29 -4
  508. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.mjs.map +1 -1
  509. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.d.mts +26 -7
  510. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.d.mts.map +1 -1
  511. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.d.ts +26 -7
  512. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.d.ts.map +1 -1
  513. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.js +30 -4
  514. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.js.map +1 -1
  515. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.mjs +27 -4
  516. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.mjs.map +1 -1
  517. package/tools/sandbox/jobs/create-sandbox-jobs.d.mts +26 -7
  518. package/tools/sandbox/jobs/create-sandbox-jobs.d.mts.map +1 -1
  519. package/tools/sandbox/jobs/create-sandbox-jobs.d.ts +26 -7
  520. package/tools/sandbox/jobs/create-sandbox-jobs.d.ts.map +1 -1
  521. package/tools/sandbox/jobs/create-sandbox-jobs.js +28 -4
  522. package/tools/sandbox/jobs/create-sandbox-jobs.js.map +1 -1
  523. package/tools/sandbox/jobs/create-sandbox-jobs.mjs +25 -4
  524. package/tools/sandbox/jobs/create-sandbox-jobs.mjs.map +1 -1
  525. package/tools/sandbox/payment/create-sandbox-payment.d.mts +26 -7
  526. package/tools/sandbox/payment/create-sandbox-payment.d.mts.map +1 -1
  527. package/tools/sandbox/payment/create-sandbox-payment.d.ts +26 -7
  528. package/tools/sandbox/payment/create-sandbox-payment.d.ts.map +1 -1
  529. package/tools/sandbox/payment/create-sandbox-payment.js +91 -167
  530. package/tools/sandbox/payment/create-sandbox-payment.js.map +1 -1
  531. package/tools/sandbox/payment/create-sandbox-payment.mjs +88 -167
  532. package/tools/sandbox/payment/create-sandbox-payment.mjs.map +1 -1
  533. package/tools/types.d.mts +52 -0
  534. package/tools/types.d.mts.map +1 -0
  535. package/tools/types.d.ts +52 -0
  536. package/tools/types.d.ts.map +1 -0
  537. package/tools/types.js +58 -0
  538. package/tools/types.js.map +1 -0
  539. package/tools/types.mjs +53 -0
  540. package/tools/types.mjs.map +1 -0
  541. package/src/tools/hris/directory/list-individuals-hris-directory.ts +0 -36
  542. package/tools/hris/directory/list-individuals-hris-directory.d.mts +0 -32
  543. package/tools/hris/directory/list-individuals-hris-directory.d.mts.map +0 -1
  544. package/tools/hris/directory/list-individuals-hris-directory.d.ts +0 -32
  545. package/tools/hris/directory/list-individuals-hris-directory.d.ts.map +0 -1
  546. package/tools/hris/directory/list-individuals-hris-directory.js +0 -33
  547. package/tools/hris/directory/list-individuals-hris-directory.js.map +0 -1
  548. package/tools/hris/directory/list-individuals-hris-directory.mjs +0 -29
  549. package/tools/hris/directory/list-individuals-hris-directory.mjs.map +0 -1
package/dynamic-tools.mjs CHANGED
@@ -1,3 +1,4 @@
1
+ import { asTextContentResult } from "./tools/types.mjs";
1
2
  import { zodToJsonSchema } from 'zod-to-json-schema';
2
3
  import { z } from 'zod';
3
4
  import { Cabidela } from '@cloudflare/cabidela';
@@ -10,7 +11,7 @@ function zodToInputSchema(schema) {
10
11
  /**
11
12
  * A list of tools that expose all the endpoints in the API dynamically.
12
13
  *
13
- * Instead of exposing every endpoint as it's own tool, which uses up too many tokens for LLMs to use at once,
14
+ * Instead of exposing every endpoint as its own tool, which uses up too many tokens for LLMs to use at once,
14
15
  * we expose a single tool that can be used to search for endpoints by name, resource, operation, or tag, and then
15
16
  * a generic endpoint that can be used to invoke any endpoint with the provided arguments.
16
17
  *
@@ -31,7 +32,7 @@ export function dynamicTools(endpoints) {
31
32
  },
32
33
  tool: {
33
34
  name: 'list_api_endpoints',
34
- description: 'List or search for all endpoints in the Finch Node API',
35
+ description: 'List or search for all endpoints in the Finch TypeScript API',
35
36
  inputSchema: zodToInputSchema(listEndpointsSchema),
36
37
  },
37
38
  handler: async (client, args) => {
@@ -40,14 +41,15 @@ export function dynamicTools(endpoints) {
40
41
  endpoints.filter((endpoint) => {
41
42
  const fieldsToMatch = [
42
43
  endpoint.tool.name,
44
+ endpoint.tool.description,
43
45
  endpoint.metadata.resource,
44
46
  endpoint.metadata.operation,
45
47
  ...endpoint.metadata.tags,
46
48
  ];
47
- return fieldsToMatch.some((field) => field.toLowerCase().includes(query.toLowerCase()));
49
+ return fieldsToMatch.some((field) => field && field.toLowerCase().includes(query.toLowerCase()));
48
50
  })
49
51
  : endpoints;
50
- return {
52
+ return asTextContentResult({
51
53
  tools: filteredEndpoints.map(({ tool, metadata }) => ({
52
54
  name: tool.name,
53
55
  description: tool.description,
@@ -55,7 +57,7 @@ export function dynamicTools(endpoints) {
55
57
  operation: metadata.operation,
56
58
  tags: metadata.tags,
57
59
  })),
58
- };
60
+ });
59
61
  },
60
62
  };
61
63
  const getEndpointSchema = z.object({
@@ -69,7 +71,7 @@ export function dynamicTools(endpoints) {
69
71
  },
70
72
  tool: {
71
73
  name: 'get_api_endpoint_schema',
72
- description: 'Get the schema for an endpoint in the Finch Node API. You can use the schema returned by this tool to invoke an endpoint with the `invoke_api_endpoint` tool.',
74
+ description: 'Get the schema for an endpoint in the Finch TypeScript API. You can use the schema returned by this tool to invoke an endpoint with the `invoke_api_endpoint` tool.',
73
75
  inputSchema: zodToInputSchema(getEndpointSchema),
74
76
  },
75
77
  handler: async (client, args) => {
@@ -81,7 +83,7 @@ export function dynamicTools(endpoints) {
81
83
  if (!endpoint) {
82
84
  throw new Error(`Endpoint ${endpointName} not found`);
83
85
  }
84
- return endpoint.tool;
86
+ return asTextContentResult(endpoint.tool);
85
87
  },
86
88
  };
87
89
  const invokeEndpointSchema = z.object({
@@ -98,7 +100,7 @@ export function dynamicTools(endpoints) {
98
100
  },
99
101
  tool: {
100
102
  name: 'invoke_api_endpoint',
101
- description: 'Invoke an endpoint in the Finch Node API. Note: use the `list_api_endpoints` tool to get the list of endpoints and `get_api_endpoint_schema` tool to get the schema for an endpoint.',
103
+ description: 'Invoke an endpoint in the Finch TypeScript API. Note: use the `list_api_endpoints` tool to get the list of endpoints and `get_api_endpoint_schema` tool to get the schema for an endpoint.',
102
104
  inputSchema: zodToInputSchema(invokeEndpointSchema),
103
105
  },
104
106
  handler: async (client, args) => {
@@ -122,7 +124,7 @@ export function dynamicTools(endpoints) {
122
124
  catch (error) {
123
125
  throw new Error(`Invalid arguments for endpoint ${endpoint_name}:\n${error}`);
124
126
  }
125
- return endpoint.handler(client, endpointArgs);
127
+ return await endpoint.handler(client, endpointArgs);
126
128
  },
127
129
  };
128
130
  return [getEndpointTool, listEndpointsTool, invokeEndpointTool];
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-tools.mjs","sourceRoot":"","sources":["src/dynamic-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dynamic-tools.mjs","sourceRoot":"","sources":["src/dynamic-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function maybeFilter(jqFilter: unknown | undefined, response: any): Promise<any>;
2
+ export declare function isJqError(error: any): error is Error;
3
+ //# sourceMappingURL=filtering.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filtering.d.mts","sourceRoot":"","sources":["src/filtering.ts"],"names":[],"mappings":"AAGA,wBAAsB,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAM5F;AAMD,wBAAgB,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,KAAK,CAEpD"}
package/filtering.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ export declare function maybeFilter(jqFilter: unknown | undefined, response: any): Promise<any>;
2
+ export declare function isJqError(error: any): error is Error;
3
+ //# sourceMappingURL=filtering.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filtering.d.ts","sourceRoot":"","sources":["src/filtering.ts"],"names":[],"mappings":"AAGA,wBAAsB,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAM5F;AAMD,wBAAgB,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,KAAK,CAEpD"}
package/filtering.js ADDED
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.maybeFilter = maybeFilter;
7
+ exports.isJqError = isJqError;
8
+ // @ts-nocheck
9
+ const jq_web_1 = __importDefault(require("jq-web"));
10
+ async function maybeFilter(jqFilter, response) {
11
+ if (jqFilter && typeof jqFilter === 'string') {
12
+ return await jq(response, jqFilter);
13
+ }
14
+ else {
15
+ return response;
16
+ }
17
+ }
18
+ async function jq(json, jqFilter) {
19
+ return (await jq_web_1.default).json(json, jqFilter);
20
+ }
21
+ function isJqError(error) {
22
+ return error instanceof Error && 'stderr' in error;
23
+ }
24
+ //# sourceMappingURL=filtering.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filtering.js","sourceRoot":"","sources":["src/filtering.ts"],"names":[],"mappings":";;;;;AAGA,kCAMC;AAMD,8BAEC;AAjBD,cAAc;AACd,oDAA4B;AAErB,KAAK,UAAU,WAAW,CAAC,QAA6B,EAAE,QAAa;IAC5E,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC7C,OAAO,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,EAAE,CAAC,IAAS,EAAE,QAAgB;IAC3C,OAAO,CAAC,MAAM,gBAAM,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAED,SAAgB,SAAS,CAAC,KAAU;IAClC,OAAO,KAAK,YAAY,KAAK,IAAI,QAAQ,IAAI,KAAK,CAAC;AACrD,CAAC"}
package/filtering.mjs ADDED
@@ -0,0 +1,16 @@
1
+ import initJq from 'jq-web';
2
+ export async function maybeFilter(jqFilter, response) {
3
+ if (jqFilter && typeof jqFilter === 'string') {
4
+ return await jq(response, jqFilter);
5
+ }
6
+ else {
7
+ return response;
8
+ }
9
+ }
10
+ async function jq(json, jqFilter) {
11
+ return (await initJq).json(json, jqFilter);
12
+ }
13
+ export function isJqError(error) {
14
+ return error instanceof Error && 'stderr' in error;
15
+ }
16
+ //# sourceMappingURL=filtering.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filtering.mjs","sourceRoot":"","sources":["src/filtering.ts"],"names":[],"mappings":"OACO,MAAM,MAAM,QAAQ;AAE3B,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,QAA6B,EAAE,QAAa;IAC5E,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC7C,OAAO,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,EAAE,CAAC,IAAS,EAAE,QAAgB;IAC3C,OAAO,CAAC,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAU;IAClC,OAAO,KAAK,YAAY,KAAK,IAAI,QAAQ,IAAI,KAAK,CAAC;AACrD,CAAC"}
package/headers.d.mts ADDED
@@ -0,0 +1,4 @@
1
+ import { IncomingMessage } from 'node:http';
2
+ import { ClientOptions } from '@tryfinch/finch-api';
3
+ export declare const parseAuthHeaders: (req: IncomingMessage) => Partial<ClientOptions>;
4
+ //# sourceMappingURL=headers.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headers.d.mts","sourceRoot":"","sources":["src/headers.ts"],"names":[],"mappings":"OAEO,EAAE,eAAe,EAAE,MAAM,WAAW;OACpC,EAAE,aAAa,EAAE,MAAM,qBAAqB;AAEnD,eAAO,MAAM,gBAAgB,GAAI,KAAK,eAAe,KAAG,OAAO,CAAC,aAAa,CA6B5E,CAAC"}
package/headers.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ import { IncomingMessage } from 'node:http';
2
+ import { ClientOptions } from '@tryfinch/finch-api';
3
+ export declare const parseAuthHeaders: (req: IncomingMessage) => Partial<ClientOptions>;
4
+ //# sourceMappingURL=headers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headers.d.ts","sourceRoot":"","sources":["src/headers.ts"],"names":[],"mappings":"OAEO,EAAE,eAAe,EAAE,MAAM,WAAW;OACpC,EAAE,aAAa,EAAE,MAAM,qBAAqB;AAEnD,eAAO,MAAM,gBAAgB,GAAI,KAAK,eAAe,KAAG,OAAO,CAAC,aAAa,CA6B5E,CAAC"}
package/headers.js ADDED
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.parseAuthHeaders = void 0;
5
+ const parseAuthHeaders = (req) => {
6
+ if (req.headers.authorization) {
7
+ const scheme = req.headers.authorization.split(' ')[0];
8
+ const value = req.headers.authorization.slice(scheme.length + 1);
9
+ switch (scheme) {
10
+ case 'Bearer':
11
+ return { accessToken: req.headers.authorization.slice('Bearer '.length) };
12
+ case 'Basic':
13
+ const rawValue = Buffer.from(value, 'base64').toString();
14
+ return {
15
+ clientID: rawValue.slice(0, rawValue.search(':')),
16
+ clientSecret: rawValue.slice(rawValue.search(':') + 1),
17
+ };
18
+ default:
19
+ throw new Error('Unsupported authorization scheme. Expected the "Authorization" header to be a supported scheme (Bearer, Basic).');
20
+ }
21
+ }
22
+ const clientID = Array.isArray(req.headers['x-finch-client-id']) ?
23
+ req.headers['x-finch-client-id'][0]
24
+ : req.headers['x-finch-client-id'];
25
+ const clientSecret = Array.isArray(req.headers['x-finch-client-secret']) ?
26
+ req.headers['x-finch-client-secret'][0]
27
+ : req.headers['x-finch-client-secret'];
28
+ return { clientID, clientSecret };
29
+ };
30
+ exports.parseAuthHeaders = parseAuthHeaders;
31
+ //# sourceMappingURL=headers.js.map
package/headers.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headers.js","sourceRoot":"","sources":["src/headers.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAK/E,MAAM,gBAAgB,GAAG,CAAC,GAAoB,EAA0B,EAAE;IAC/E,IAAI,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;QACxD,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjE,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,QAAQ;gBACX,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5E,KAAK,OAAO;gBACV,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACzD,OAAO;oBACL,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACjD,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBACvD,CAAC;YACJ;gBACE,MAAM,IAAI,KAAK,CACb,iHAAiH,CAClH,CAAC;QACN,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GACZ,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAC/C,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACrC,MAAM,YAAY,GAChB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;QACnD,GAAG,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACzC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;AACpC,CAAC,CAAC;AA7BW,QAAA,gBAAgB,oBA6B3B"}
package/headers.mjs ADDED
@@ -0,0 +1,27 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+ export const parseAuthHeaders = (req) => {
3
+ if (req.headers.authorization) {
4
+ const scheme = req.headers.authorization.split(' ')[0];
5
+ const value = req.headers.authorization.slice(scheme.length + 1);
6
+ switch (scheme) {
7
+ case 'Bearer':
8
+ return { accessToken: req.headers.authorization.slice('Bearer '.length) };
9
+ case 'Basic':
10
+ const rawValue = Buffer.from(value, 'base64').toString();
11
+ return {
12
+ clientID: rawValue.slice(0, rawValue.search(':')),
13
+ clientSecret: rawValue.slice(rawValue.search(':') + 1),
14
+ };
15
+ default:
16
+ throw new Error('Unsupported authorization scheme. Expected the "Authorization" header to be a supported scheme (Bearer, Basic).');
17
+ }
18
+ }
19
+ const clientID = Array.isArray(req.headers['x-finch-client-id']) ?
20
+ req.headers['x-finch-client-id'][0]
21
+ : req.headers['x-finch-client-id'];
22
+ const clientSecret = Array.isArray(req.headers['x-finch-client-secret']) ?
23
+ req.headers['x-finch-client-secret'][0]
24
+ : req.headers['x-finch-client-secret'];
25
+ return { clientID, clientSecret };
26
+ };
27
+ //# sourceMappingURL=headers.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headers.mjs","sourceRoot":"","sources":["src/headers.ts"],"names":[],"mappings":"AAAA,sFAAsF;AAKtF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,GAAoB,EAA0B,EAAE;IAC/E,IAAI,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;QACxD,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjE,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,QAAQ;gBACX,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5E,KAAK,OAAO;gBACV,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACzD,OAAO;oBACL,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACjD,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBACvD,CAAC;YACJ;gBACE,MAAM,IAAI,KAAK,CACb,iHAAiH,CAClH,CAAC;QACN,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GACZ,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAC/C,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACrC,MAAM,YAAY,GAChB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;QACnD,GAAG,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACzC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;AACpC,CAAC,CAAC"}
package/http.d.mts ADDED
@@ -0,0 +1,9 @@
1
+ import express from 'express';
2
+ import { McpOptions } from "./options.mjs";
3
+ import { ClientOptions } from "./server.mjs";
4
+ export declare const streamableHTTPApp: ({ clientOptions, mcpOptions, }: {
5
+ clientOptions?: ClientOptions;
6
+ mcpOptions?: McpOptions;
7
+ }) => express.Express;
8
+ export declare const launchStreamableHTTPServer: (options: McpOptions, port: number | string | undefined) => Promise<void>;
9
+ //# sourceMappingURL=http.d.mts.map
package/http.d.mts.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.d.mts","sourceRoot":"","sources":["src/http.ts"],"names":[],"mappings":"OAKO,OAAO,MAAM,SAAS;OAEtB,EAAE,UAAU,EAAqB;OACjC,EAAE,aAAa,EAA+B;AAwFrD,eAAO,MAAM,iBAAiB,GAAI,gCAG/B;IACD,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,KAAG,OAAO,CAAC,OAUX,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAU,SAAS,UAAU,EAAE,MAAM,MAAM,GAAG,MAAM,GAAG,SAAS,kBAYtG,CAAC"}
package/http.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ import express from 'express';
2
+ import { McpOptions } from "./options.js";
3
+ import { ClientOptions } from "./server.js";
4
+ export declare const streamableHTTPApp: ({ clientOptions, mcpOptions, }: {
5
+ clientOptions?: ClientOptions;
6
+ mcpOptions?: McpOptions;
7
+ }) => express.Express;
8
+ export declare const launchStreamableHTTPServer: (options: McpOptions, port: number | string | undefined) => Promise<void>;
9
+ //# sourceMappingURL=http.d.ts.map
package/http.d.ts.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["src/http.ts"],"names":[],"mappings":"OAKO,OAAO,MAAM,SAAS;OAEtB,EAAE,UAAU,EAAqB;OACjC,EAAE,aAAa,EAA+B;AAwFrD,eAAO,MAAM,iBAAiB,GAAI,gCAG/B;IACD,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,KAAG,OAAO,CAAC,OAUX,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAU,SAAS,UAAU,EAAE,MAAM,MAAM,GAAG,MAAM,GAAG,SAAS,kBAYtG,CAAC"}
package/http.js ADDED
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.launchStreamableHTTPServer = exports.streamableHTTPApp = void 0;
8
+ const streamableHttp_js_1 = require("@modelcontextprotocol/sdk/server/streamableHttp.js");
9
+ const express_1 = __importDefault(require("express"));
10
+ const v3_1 = require("zod-validation-error/v3");
11
+ const options_1 = require("./options.js");
12
+ const server_1 = require("./server.js");
13
+ const headers_1 = require("./headers.js");
14
+ const newServer = ({ clientOptions, mcpOptions: defaultMcpOptions, req, res, }) => {
15
+ const server = (0, server_1.newMcpServer)();
16
+ let mcpOptions;
17
+ try {
18
+ mcpOptions = (0, options_1.parseQueryOptions)(defaultMcpOptions, req.query);
19
+ }
20
+ catch (error) {
21
+ res.status(400).json({
22
+ jsonrpc: '2.0',
23
+ error: {
24
+ code: -32000,
25
+ message: `Invalid request: ${(0, v3_1.fromError)(error)}`,
26
+ },
27
+ });
28
+ return null;
29
+ }
30
+ try {
31
+ const authOptions = (0, headers_1.parseAuthHeaders)(req);
32
+ (0, server_1.initMcpServer)({
33
+ server: server,
34
+ clientOptions: {
35
+ ...clientOptions,
36
+ ...authOptions,
37
+ },
38
+ mcpOptions,
39
+ });
40
+ }
41
+ catch (error) {
42
+ res.status(401).json({
43
+ jsonrpc: '2.0',
44
+ error: {
45
+ code: -32000,
46
+ message: `Unauthorized: ${error instanceof Error ? error.message : error}`,
47
+ },
48
+ });
49
+ return null;
50
+ }
51
+ return server;
52
+ };
53
+ const post = (options) => async (req, res) => {
54
+ const server = newServer({ ...options, req, res });
55
+ // If we return null, we already set the authorization error.
56
+ if (server === null)
57
+ return;
58
+ const transport = new streamableHttp_js_1.StreamableHTTPServerTransport({
59
+ // Stateless server
60
+ sessionIdGenerator: undefined,
61
+ });
62
+ await server.connect(transport);
63
+ await transport.handleRequest(req, res, req.body);
64
+ };
65
+ const get = async (req, res) => {
66
+ res.status(405).json({
67
+ jsonrpc: '2.0',
68
+ error: {
69
+ code: -32000,
70
+ message: 'Method not supported',
71
+ },
72
+ });
73
+ };
74
+ const del = async (req, res) => {
75
+ res.status(405).json({
76
+ jsonrpc: '2.0',
77
+ error: {
78
+ code: -32000,
79
+ message: 'Method not supported',
80
+ },
81
+ });
82
+ };
83
+ const streamableHTTPApp = ({ clientOptions = {}, mcpOptions = {}, }) => {
84
+ const app = (0, express_1.default)();
85
+ app.set('query parser', 'extended');
86
+ app.use(express_1.default.json());
87
+ app.get('/', get);
88
+ app.post('/', post({ clientOptions, mcpOptions }));
89
+ app.delete('/', del);
90
+ return app;
91
+ };
92
+ exports.streamableHTTPApp = streamableHTTPApp;
93
+ const launchStreamableHTTPServer = async (options, port) => {
94
+ const app = (0, exports.streamableHTTPApp)({ mcpOptions: options });
95
+ const server = app.listen(port);
96
+ const address = server.address();
97
+ if (typeof address === 'string') {
98
+ console.error(`MCP Server running on streamable HTTP at ${address}`);
99
+ }
100
+ else if (address !== null) {
101
+ console.error(`MCP Server running on streamable HTTP on port ${address.port}`);
102
+ }
103
+ else {
104
+ console.error(`MCP Server running on streamable HTTP on port ${port}`);
105
+ }
106
+ };
107
+ exports.launchStreamableHTTPServer = launchStreamableHTTPServer;
108
+ //# sourceMappingURL=http.js.map
package/http.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["src/http.ts"],"names":[],"mappings":"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"}
package/http.mjs ADDED
@@ -0,0 +1,100 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+ import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
3
+ import express from 'express';
4
+ import { fromError } from 'zod-validation-error/v3';
5
+ import { parseQueryOptions } from "./options.mjs";
6
+ import { initMcpServer, newMcpServer } from "./server.mjs";
7
+ import { parseAuthHeaders } from "./headers.mjs";
8
+ const newServer = ({ clientOptions, mcpOptions: defaultMcpOptions, req, res, }) => {
9
+ const server = newMcpServer();
10
+ let mcpOptions;
11
+ try {
12
+ mcpOptions = parseQueryOptions(defaultMcpOptions, req.query);
13
+ }
14
+ catch (error) {
15
+ res.status(400).json({
16
+ jsonrpc: '2.0',
17
+ error: {
18
+ code: -32000,
19
+ message: `Invalid request: ${fromError(error)}`,
20
+ },
21
+ });
22
+ return null;
23
+ }
24
+ try {
25
+ const authOptions = parseAuthHeaders(req);
26
+ initMcpServer({
27
+ server: server,
28
+ clientOptions: {
29
+ ...clientOptions,
30
+ ...authOptions,
31
+ },
32
+ mcpOptions,
33
+ });
34
+ }
35
+ catch (error) {
36
+ res.status(401).json({
37
+ jsonrpc: '2.0',
38
+ error: {
39
+ code: -32000,
40
+ message: `Unauthorized: ${error instanceof Error ? error.message : error}`,
41
+ },
42
+ });
43
+ return null;
44
+ }
45
+ return server;
46
+ };
47
+ const post = (options) => async (req, res) => {
48
+ const server = newServer({ ...options, req, res });
49
+ // If we return null, we already set the authorization error.
50
+ if (server === null)
51
+ return;
52
+ const transport = new StreamableHTTPServerTransport({
53
+ // Stateless server
54
+ sessionIdGenerator: undefined,
55
+ });
56
+ await server.connect(transport);
57
+ await transport.handleRequest(req, res, req.body);
58
+ };
59
+ const get = async (req, res) => {
60
+ res.status(405).json({
61
+ jsonrpc: '2.0',
62
+ error: {
63
+ code: -32000,
64
+ message: 'Method not supported',
65
+ },
66
+ });
67
+ };
68
+ const del = async (req, res) => {
69
+ res.status(405).json({
70
+ jsonrpc: '2.0',
71
+ error: {
72
+ code: -32000,
73
+ message: 'Method not supported',
74
+ },
75
+ });
76
+ };
77
+ export const streamableHTTPApp = ({ clientOptions = {}, mcpOptions = {}, }) => {
78
+ const app = express();
79
+ app.set('query parser', 'extended');
80
+ app.use(express.json());
81
+ app.get('/', get);
82
+ app.post('/', post({ clientOptions, mcpOptions }));
83
+ app.delete('/', del);
84
+ return app;
85
+ };
86
+ export const launchStreamableHTTPServer = async (options, port) => {
87
+ const app = streamableHTTPApp({ mcpOptions: options });
88
+ const server = app.listen(port);
89
+ const address = server.address();
90
+ if (typeof address === 'string') {
91
+ console.error(`MCP Server running on streamable HTTP at ${address}`);
92
+ }
93
+ else if (address !== null) {
94
+ console.error(`MCP Server running on streamable HTTP on port ${address.port}`);
95
+ }
96
+ else {
97
+ console.error(`MCP Server running on streamable HTTP on port ${port}`);
98
+ }
99
+ };
100
+ //# sourceMappingURL=http.mjs.map
package/http.mjs.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.mjs","sourceRoot":"","sources":["src/http.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAG/E,EAAE,6BAA6B,EAAE,MAAM,oDAAoD;OAE3F,OAAO,MAAM,SAAS;OACtB,EAAE,SAAS,EAAE,MAAM,yBAAyB;OAC5C,EAAc,iBAAiB,EAAE;OACjC,EAAiB,aAAa,EAAE,YAAY,EAAE;OAC9C,EAAE,gBAAgB,EAAE;AAE3B,MAAM,SAAS,GAAG,CAAC,EACjB,aAAa,EACb,UAAU,EAAE,iBAAiB,EAC7B,GAAG,EACH,GAAG,GAMJ,EAAoB,EAAE;IACrB,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAE9B,IAAI,UAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,UAAU,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,IAAI,EAAE,CAAC,KAAK;gBACZ,OAAO,EAAE,oBAAoB,SAAS,CAAC,KAAK,CAAC,EAAE;aAChD;SACF,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC1C,aAAa,CAAC;YACZ,MAAM,EAAE,MAAM;YACd,aAAa,EAAE;gBACb,GAAG,aAAa;gBAChB,GAAG,WAAW;aACf;YACD,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,IAAI,EAAE,CAAC,KAAK;gBACZ,OAAO,EAAE,iBAAiB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE;aAC3E;SACF,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,IAAI,GACR,CAAC,OAAiE,EAAE,EAAE,CACtE,KAAK,EAAE,GAAoB,EAAE,GAAqB,EAAE,EAAE;IACpD,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACnD,6DAA6D;IAC7D,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO;IAC5B,MAAM,SAAS,GAAG,IAAI,6BAA6B,CAAC;QAClD,mBAAmB;QACnB,kBAAkB,EAAE,SAAS;KAC9B,CAAC,CAAC;IACH,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;AACpD,CAAC,CAAC;AAEJ,MAAM,GAAG,GAAG,KAAK,EAAE,GAAoB,EAAE,GAAqB,EAAE,EAAE;IAChE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;QACnB,OAAO,EAAE,KAAK;QACd,KAAK,EAAE;YACL,IAAI,EAAE,CAAC,KAAK;YACZ,OAAO,EAAE,sBAAsB;SAChC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,GAAG,GAAG,KAAK,EAAE,GAAoB,EAAE,GAAqB,EAAE,EAAE;IAChE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;QACnB,OAAO,EAAE,KAAK;QACd,KAAK,EAAE;YACL,IAAI,EAAE,CAAC,KAAK;YACZ,OAAO,EAAE,sBAAsB;SAChC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,aAAa,GAAG,EAAE,EAClB,UAAU,GAAG,EAAE,GAIhB,EAAmB,EAAE;IACpB,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IACtB,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IACpC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAExB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAClB,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;IACnD,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAErB,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,EAAE,OAAmB,EAAE,IAAiC,EAAE,EAAE;IACzG,MAAM,GAAG,GAAG,iBAAiB,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IAEjC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,CAAC,KAAK,CAAC,4CAA4C,OAAO,EAAE,CAAC,CAAC;IACvE,CAAC;SAAM,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,iDAAiD,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACjF,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,iDAAiD,IAAI,EAAE,CAAC,CAAC;IACzE,CAAC;AACH,CAAC,CAAC"}
package/index.d.mts CHANGED
@@ -1,2 +1,3 @@
1
+ #!/usr/bin/env node
1
2
  export {};
2
3
  //# sourceMappingURL=index.d.mts.map
package/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
+ #!/usr/bin/env node
1
2
  export {};
2
3
  //# sourceMappingURL=index.d.ts.map
package/index.js CHANGED
@@ -1,22 +1,27 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
5
4
  const server_1 = require("./server.js");
6
5
  const tools_1 = require("./tools.js");
7
6
  const options_1 = require("./options.js");
7
+ const stdio_1 = require("./stdio.js");
8
+ const http_1 = require("./http.js");
8
9
  async function main() {
9
10
  const options = parseOptionsOrError();
10
11
  if (options.list) {
11
12
  listAllTools();
12
13
  return;
13
14
  }
14
- const includedTools = selectToolsOrError(tools_1.endpoints, options);
15
- console.error(`MCP Server starting with ${includedTools.length} tools:`, includedTools.map((e) => e.tool.name));
16
- (0, server_1.init)({ server: server_1.server, endpoints: includedTools });
17
- const transport = new stdio_js_1.StdioServerTransport();
18
- await server_1.server.connect(transport);
19
- console.error('MCP Server running on stdio');
15
+ const selectedTools = await selectToolsOrError(tools_1.endpoints, options);
16
+ console.error(`MCP Server starting with ${selectedTools.length} tools:`, selectedTools.map((e) => e.tool.name));
17
+ switch (options.transport) {
18
+ case 'stdio':
19
+ await (0, stdio_1.launchStdioServer)(options);
20
+ break;
21
+ case 'http':
22
+ await (0, http_1.launchStreamableHTTPServer)(options, options.port ?? options.socket);
23
+ break;
24
+ }
20
25
  }
21
26
  if (require.main === module) {
22
27
  main().catch((error) => {
@@ -26,16 +31,16 @@ if (require.main === module) {
26
31
  }
27
32
  function parseOptionsOrError() {
28
33
  try {
29
- return (0, options_1.parseOptions)();
34
+ return (0, options_1.parseCLIOptions)();
30
35
  }
31
36
  catch (error) {
32
37
  console.error('Error parsing options:', error);
33
38
  process.exit(1);
34
39
  }
35
40
  }
36
- function selectToolsOrError(endpoints, options) {
41
+ async function selectToolsOrError(endpoints, options) {
37
42
  try {
38
- const includedTools = (0, server_1.selectTools)(endpoints, options);
43
+ const includedTools = await (0, server_1.selectTools)(endpoints, options);
39
44
  if (includedTools.length === 0) {
40
45
  console.error('No tools match the provided filters.');
41
46
  process.exit(1);
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":";;AAAA,wEAAiF;AACjF,wCAAqD;AACrD,sCAA8C;AAC9C,0CAAwD;AAExD,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IAEtC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,YAAY,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,MAAM,aAAa,GAAG,kBAAkB,CAAC,iBAAS,EAAE,OAAO,CAAC,CAAC;IAE7D,OAAO,CAAC,KAAK,CACX,4BAA4B,aAAa,CAAC,MAAM,SAAS,EACzD,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACtC,CAAC;IAEF,IAAA,aAAI,EAAC,EAAE,MAAM,EAAN,eAAM,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;IAE3C,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,eAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;AAC/C,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACrB,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB;IAC1B,IAAI,CAAC;QACH,OAAO,IAAA,sBAAY,GAAE,CAAC;IACxB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAqB,EAAE,OAAsB;IACvE,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,IAAA,oBAAW,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACtD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,YAAY;IACnB,IAAI,iBAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACnC,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAElC,8BAA8B;IAC9B,MAAM,cAAc,GAAG,IAAI,GAAG,EAA4B,CAAC;IAE3D,KAAK,MAAM,QAAQ,IAAI,iBAAS,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC5C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACnC,CAAC;QACD,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,gCAAgC;IAChC,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAEjE,qCAAqC;IACrC,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;QAErC,MAAM,iBAAiB,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;QACxD,8BAA8B;QAC9B,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEzE,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE,CAAC;YACzC,MAAM,EACJ,IAAI,EACJ,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,GAC9B,GAAG,QAAQ,CAAC;YAEb,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,SAAS,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACpG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"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"}