@tryfinch/finch-api-mcp 6.27.0 → 6.29.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 (465) hide show
  1. package/README.md +77 -3
  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/dynamic-tools.d.mts +12 -0
  11. package/dynamic-tools.d.mts.map +1 -0
  12. package/dynamic-tools.d.ts +12 -0
  13. package/dynamic-tools.d.ts.map +1 -0
  14. package/dynamic-tools.js +133 -0
  15. package/dynamic-tools.js.map +1 -0
  16. package/dynamic-tools.mjs +130 -0
  17. package/dynamic-tools.mjs.map +1 -0
  18. package/index.js +40 -116
  19. package/index.js.map +1 -1
  20. package/index.mjs +42 -115
  21. package/index.mjs.map +1 -1
  22. package/options.d.mts +11 -0
  23. package/options.d.mts.map +1 -0
  24. package/options.d.ts +11 -0
  25. package/options.d.ts.map +1 -0
  26. package/options.js +337 -0
  27. package/options.js.map +1 -0
  28. package/options.mjs +331 -0
  29. package/options.mjs.map +1 -0
  30. package/package.json +6 -3
  31. package/server.d.mts +9 -2
  32. package/server.d.mts.map +1 -1
  33. package/server.d.ts +9 -2
  34. package/server.d.ts.map +1 -1
  35. package/server.js +34 -11
  36. package/server.js.map +1 -1
  37. package/server.mjs +31 -9
  38. package/server.mjs.map +1 -1
  39. package/src/compat.ts +429 -0
  40. package/src/dynamic-tools.ts +152 -0
  41. package/src/index.ts +42 -130
  42. package/src/options.ts +361 -0
  43. package/src/server.ts +46 -11
  44. package/src/tools/access-tokens/create-access-tokens.ts +2 -2
  45. package/src/tools/account/disconnect-account.ts +1 -2
  46. package/src/tools/account/introspect-account.ts +1 -2
  47. package/src/tools/connect/sessions/new-connect-sessions.ts +2 -2
  48. package/src/tools/connect/sessions/reauthenticate-connect-sessions.ts +2 -2
  49. package/src/tools/hris/benefits/create-hris-benefits.ts +38 -3
  50. package/src/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.ts +2 -2
  51. package/src/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.ts +2 -2
  52. package/src/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.ts +2 -2
  53. package/src/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.ts +2 -2
  54. package/src/tools/hris/benefits/list-hris-benefits.ts +1 -2
  55. package/src/tools/hris/benefits/list-supported-benefits-hris-benefits.ts +1 -2
  56. package/src/tools/hris/benefits/retrieve-hris-benefits.ts +2 -2
  57. package/src/tools/hris/benefits/update-hris-benefits.ts +2 -2
  58. package/src/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.ts +2 -2
  59. package/src/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.ts +2 -2
  60. package/src/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.ts +2 -2
  61. package/src/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.ts +1 -2
  62. package/src/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.ts +2 -2
  63. package/src/tools/hris/company/retrieve-hris-company.ts +1 -2
  64. package/src/tools/hris/directory/list-hris-directory.ts +2 -2
  65. package/src/tools/hris/directory/list-individuals-hris-directory.ts +2 -2
  66. package/src/tools/hris/documents/list-hris-documents.ts +2 -2
  67. package/src/tools/hris/documents/retreive-hris-documents.ts +2 -2
  68. package/src/tools/hris/employments/retrieve-many-hris-employments.ts +2 -2
  69. package/src/tools/hris/individuals/retrieve-many-hris-individuals.ts +2 -2
  70. package/src/tools/hris/pay-statements/retrieve-many-hris-pay-statements.ts +2 -2
  71. package/src/tools/hris/payments/list-hris-payments.ts +2 -2
  72. package/src/tools/index.ts +16 -6
  73. package/src/tools/jobs/automated/create-jobs-automated.ts +2 -2
  74. package/src/tools/jobs/automated/list-jobs-automated.ts +2 -2
  75. package/src/tools/jobs/automated/retrieve-jobs-automated.ts +2 -2
  76. package/src/tools/jobs/manual/retrieve-jobs-manual.ts +2 -2
  77. package/src/tools/payroll/pay-groups/list-payroll-pay-groups.ts +2 -2
  78. package/src/tools/payroll/pay-groups/retrieve-payroll-pay-groups.ts +2 -2
  79. package/src/tools/providers/list-providers.ts +1 -2
  80. package/src/tools/request-forwarding/forward-request-forwarding.ts +2 -2
  81. package/src/tools/sandbox/company/update-sandbox-company.ts +42 -37
  82. package/src/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.ts +2 -2
  83. package/src/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.ts +7 -2
  84. package/src/tools/sandbox/connections/create-sandbox-connections.ts +2 -2
  85. package/src/tools/sandbox/directory/create-sandbox-directory.ts +82 -74
  86. package/src/tools/sandbox/employment/update-sandbox-employment.ts +62 -54
  87. package/src/tools/sandbox/individual/update-sandbox-individual.ts +19 -14
  88. package/src/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.ts +1 -2
  89. package/src/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.ts +2 -2
  90. package/src/tools/sandbox/jobs/create-sandbox-jobs.ts +2 -2
  91. package/src/tools/sandbox/payment/create-sandbox-payment.ts +49 -41
  92. package/tools/access-tokens/create-access-tokens.d.mts +10 -2
  93. package/tools/access-tokens/create-access-tokens.d.mts.map +1 -1
  94. package/tools/access-tokens/create-access-tokens.d.ts +10 -2
  95. package/tools/access-tokens/create-access-tokens.d.ts.map +1 -1
  96. package/tools/access-tokens/create-access-tokens.js +1 -1
  97. package/tools/access-tokens/create-access-tokens.js.map +1 -1
  98. package/tools/access-tokens/create-access-tokens.mjs +1 -1
  99. package/tools/access-tokens/create-access-tokens.mjs.map +1 -1
  100. package/tools/account/disconnect-account.d.mts +10 -2
  101. package/tools/account/disconnect-account.d.mts.map +1 -1
  102. package/tools/account/disconnect-account.d.ts +10 -2
  103. package/tools/account/disconnect-account.d.ts.map +1 -1
  104. package/tools/account/disconnect-account.js +0 -1
  105. package/tools/account/disconnect-account.js.map +1 -1
  106. package/tools/account/disconnect-account.mjs +0 -1
  107. package/tools/account/disconnect-account.mjs.map +1 -1
  108. package/tools/account/introspect-account.d.mts +10 -2
  109. package/tools/account/introspect-account.d.mts.map +1 -1
  110. package/tools/account/introspect-account.d.ts +10 -2
  111. package/tools/account/introspect-account.d.ts.map +1 -1
  112. package/tools/account/introspect-account.js +0 -1
  113. package/tools/account/introspect-account.js.map +1 -1
  114. package/tools/account/introspect-account.mjs +0 -1
  115. package/tools/account/introspect-account.mjs.map +1 -1
  116. package/tools/connect/sessions/new-connect-sessions.d.mts +10 -2
  117. package/tools/connect/sessions/new-connect-sessions.d.mts.map +1 -1
  118. package/tools/connect/sessions/new-connect-sessions.d.ts +10 -2
  119. package/tools/connect/sessions/new-connect-sessions.d.ts.map +1 -1
  120. package/tools/connect/sessions/new-connect-sessions.js +1 -1
  121. package/tools/connect/sessions/new-connect-sessions.js.map +1 -1
  122. package/tools/connect/sessions/new-connect-sessions.mjs +1 -1
  123. package/tools/connect/sessions/new-connect-sessions.mjs.map +1 -1
  124. package/tools/connect/sessions/reauthenticate-connect-sessions.d.mts +10 -2
  125. package/tools/connect/sessions/reauthenticate-connect-sessions.d.mts.map +1 -1
  126. package/tools/connect/sessions/reauthenticate-connect-sessions.d.ts +10 -2
  127. package/tools/connect/sessions/reauthenticate-connect-sessions.d.ts.map +1 -1
  128. package/tools/connect/sessions/reauthenticate-connect-sessions.js +1 -1
  129. package/tools/connect/sessions/reauthenticate-connect-sessions.js.map +1 -1
  130. package/tools/connect/sessions/reauthenticate-connect-sessions.mjs +1 -1
  131. package/tools/connect/sessions/reauthenticate-connect-sessions.mjs.map +1 -1
  132. package/tools/hris/benefits/create-hris-benefits.d.mts +10 -2
  133. package/tools/hris/benefits/create-hris-benefits.d.mts.map +1 -1
  134. package/tools/hris/benefits/create-hris-benefits.d.ts +10 -2
  135. package/tools/hris/benefits/create-hris-benefits.d.ts.map +1 -1
  136. package/tools/hris/benefits/create-hris-benefits.js +37 -2
  137. package/tools/hris/benefits/create-hris-benefits.js.map +1 -1
  138. package/tools/hris/benefits/create-hris-benefits.mjs +37 -2
  139. package/tools/hris/benefits/create-hris-benefits.mjs.map +1 -1
  140. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.d.mts +10 -2
  141. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.d.mts.map +1 -1
  142. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.d.ts +10 -2
  143. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.d.ts.map +1 -1
  144. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.js.map +1 -1
  145. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.mjs.map +1 -1
  146. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.d.mts +10 -2
  147. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.d.mts.map +1 -1
  148. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.d.ts +10 -2
  149. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.d.ts.map +1 -1
  150. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.js +1 -1
  151. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.js.map +1 -1
  152. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.mjs +1 -1
  153. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.mjs.map +1 -1
  154. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.d.mts +10 -2
  155. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.d.mts.map +1 -1
  156. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.d.ts +10 -2
  157. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.d.ts.map +1 -1
  158. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.js.map +1 -1
  159. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.mjs.map +1 -1
  160. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.d.mts +10 -2
  161. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.d.mts.map +1 -1
  162. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.d.ts +10 -2
  163. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.d.ts.map +1 -1
  164. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.js.map +1 -1
  165. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.mjs.map +1 -1
  166. package/tools/hris/benefits/list-hris-benefits.d.mts +10 -2
  167. package/tools/hris/benefits/list-hris-benefits.d.mts.map +1 -1
  168. package/tools/hris/benefits/list-hris-benefits.d.ts +10 -2
  169. package/tools/hris/benefits/list-hris-benefits.d.ts.map +1 -1
  170. package/tools/hris/benefits/list-hris-benefits.js +0 -1
  171. package/tools/hris/benefits/list-hris-benefits.js.map +1 -1
  172. package/tools/hris/benefits/list-hris-benefits.mjs +0 -1
  173. package/tools/hris/benefits/list-hris-benefits.mjs.map +1 -1
  174. package/tools/hris/benefits/list-supported-benefits-hris-benefits.d.mts +10 -2
  175. package/tools/hris/benefits/list-supported-benefits-hris-benefits.d.mts.map +1 -1
  176. package/tools/hris/benefits/list-supported-benefits-hris-benefits.d.ts +10 -2
  177. package/tools/hris/benefits/list-supported-benefits-hris-benefits.d.ts.map +1 -1
  178. package/tools/hris/benefits/list-supported-benefits-hris-benefits.js +0 -1
  179. package/tools/hris/benefits/list-supported-benefits-hris-benefits.js.map +1 -1
  180. package/tools/hris/benefits/list-supported-benefits-hris-benefits.mjs +0 -1
  181. package/tools/hris/benefits/list-supported-benefits-hris-benefits.mjs.map +1 -1
  182. package/tools/hris/benefits/retrieve-hris-benefits.d.mts +10 -2
  183. package/tools/hris/benefits/retrieve-hris-benefits.d.mts.map +1 -1
  184. package/tools/hris/benefits/retrieve-hris-benefits.d.ts +10 -2
  185. package/tools/hris/benefits/retrieve-hris-benefits.d.ts.map +1 -1
  186. package/tools/hris/benefits/retrieve-hris-benefits.js +1 -1
  187. package/tools/hris/benefits/retrieve-hris-benefits.js.map +1 -1
  188. package/tools/hris/benefits/retrieve-hris-benefits.mjs +1 -1
  189. package/tools/hris/benefits/retrieve-hris-benefits.mjs.map +1 -1
  190. package/tools/hris/benefits/update-hris-benefits.d.mts +10 -2
  191. package/tools/hris/benefits/update-hris-benefits.d.mts.map +1 -1
  192. package/tools/hris/benefits/update-hris-benefits.d.ts +10 -2
  193. package/tools/hris/benefits/update-hris-benefits.d.ts.map +1 -1
  194. package/tools/hris/benefits/update-hris-benefits.js.map +1 -1
  195. package/tools/hris/benefits/update-hris-benefits.mjs.map +1 -1
  196. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.d.mts +10 -2
  197. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.d.mts.map +1 -1
  198. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.d.ts +10 -2
  199. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.d.ts.map +1 -1
  200. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.js +1 -1
  201. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.js.map +1 -1
  202. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.mjs +1 -1
  203. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.mjs.map +1 -1
  204. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.d.mts +10 -2
  205. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.d.mts.map +1 -1
  206. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.d.ts +10 -2
  207. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.d.ts.map +1 -1
  208. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.js +1 -1
  209. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.js.map +1 -1
  210. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.mjs +1 -1
  211. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.mjs.map +1 -1
  212. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.d.mts +10 -2
  213. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.d.mts.map +1 -1
  214. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.d.ts +10 -2
  215. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.d.ts.map +1 -1
  216. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.js +1 -1
  217. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.js.map +1 -1
  218. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.mjs +1 -1
  219. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.mjs.map +1 -1
  220. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.d.mts +10 -2
  221. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.d.mts.map +1 -1
  222. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.d.ts +10 -2
  223. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.d.ts.map +1 -1
  224. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.js +0 -1
  225. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.js.map +1 -1
  226. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.mjs +0 -1
  227. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.mjs.map +1 -1
  228. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.d.mts +10 -2
  229. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.d.mts.map +1 -1
  230. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.d.ts +10 -2
  231. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.d.ts.map +1 -1
  232. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.js.map +1 -1
  233. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.mjs.map +1 -1
  234. package/tools/hris/company/retrieve-hris-company.d.mts +10 -2
  235. package/tools/hris/company/retrieve-hris-company.d.mts.map +1 -1
  236. package/tools/hris/company/retrieve-hris-company.d.ts +10 -2
  237. package/tools/hris/company/retrieve-hris-company.d.ts.map +1 -1
  238. package/tools/hris/company/retrieve-hris-company.js +0 -1
  239. package/tools/hris/company/retrieve-hris-company.js.map +1 -1
  240. package/tools/hris/company/retrieve-hris-company.mjs +0 -1
  241. package/tools/hris/company/retrieve-hris-company.mjs.map +1 -1
  242. package/tools/hris/directory/list-hris-directory.d.mts +10 -2
  243. package/tools/hris/directory/list-hris-directory.d.mts.map +1 -1
  244. package/tools/hris/directory/list-hris-directory.d.ts +10 -2
  245. package/tools/hris/directory/list-hris-directory.d.ts.map +1 -1
  246. package/tools/hris/directory/list-hris-directory.js +1 -1
  247. package/tools/hris/directory/list-hris-directory.js.map +1 -1
  248. package/tools/hris/directory/list-hris-directory.mjs +1 -1
  249. package/tools/hris/directory/list-hris-directory.mjs.map +1 -1
  250. package/tools/hris/directory/list-individuals-hris-directory.d.mts +10 -2
  251. package/tools/hris/directory/list-individuals-hris-directory.d.mts.map +1 -1
  252. package/tools/hris/directory/list-individuals-hris-directory.d.ts +10 -2
  253. package/tools/hris/directory/list-individuals-hris-directory.d.ts.map +1 -1
  254. package/tools/hris/directory/list-individuals-hris-directory.js +1 -1
  255. package/tools/hris/directory/list-individuals-hris-directory.js.map +1 -1
  256. package/tools/hris/directory/list-individuals-hris-directory.mjs +1 -1
  257. package/tools/hris/directory/list-individuals-hris-directory.mjs.map +1 -1
  258. package/tools/hris/documents/list-hris-documents.d.mts +10 -2
  259. package/tools/hris/documents/list-hris-documents.d.mts.map +1 -1
  260. package/tools/hris/documents/list-hris-documents.d.ts +10 -2
  261. package/tools/hris/documents/list-hris-documents.d.ts.map +1 -1
  262. package/tools/hris/documents/list-hris-documents.js +1 -1
  263. package/tools/hris/documents/list-hris-documents.js.map +1 -1
  264. package/tools/hris/documents/list-hris-documents.mjs +1 -1
  265. package/tools/hris/documents/list-hris-documents.mjs.map +1 -1
  266. package/tools/hris/documents/retreive-hris-documents.d.mts +10 -2
  267. package/tools/hris/documents/retreive-hris-documents.d.mts.map +1 -1
  268. package/tools/hris/documents/retreive-hris-documents.d.ts +10 -2
  269. package/tools/hris/documents/retreive-hris-documents.d.ts.map +1 -1
  270. package/tools/hris/documents/retreive-hris-documents.js +1 -1
  271. package/tools/hris/documents/retreive-hris-documents.js.map +1 -1
  272. package/tools/hris/documents/retreive-hris-documents.mjs +1 -1
  273. package/tools/hris/documents/retreive-hris-documents.mjs.map +1 -1
  274. package/tools/hris/employments/retrieve-many-hris-employments.d.mts +10 -2
  275. package/tools/hris/employments/retrieve-many-hris-employments.d.mts.map +1 -1
  276. package/tools/hris/employments/retrieve-many-hris-employments.d.ts +10 -2
  277. package/tools/hris/employments/retrieve-many-hris-employments.d.ts.map +1 -1
  278. package/tools/hris/employments/retrieve-many-hris-employments.js +1 -1
  279. package/tools/hris/employments/retrieve-many-hris-employments.js.map +1 -1
  280. package/tools/hris/employments/retrieve-many-hris-employments.mjs +1 -1
  281. package/tools/hris/employments/retrieve-many-hris-employments.mjs.map +1 -1
  282. package/tools/hris/individuals/retrieve-many-hris-individuals.d.mts +10 -2
  283. package/tools/hris/individuals/retrieve-many-hris-individuals.d.mts.map +1 -1
  284. package/tools/hris/individuals/retrieve-many-hris-individuals.d.ts +10 -2
  285. package/tools/hris/individuals/retrieve-many-hris-individuals.d.ts.map +1 -1
  286. package/tools/hris/individuals/retrieve-many-hris-individuals.js +1 -1
  287. package/tools/hris/individuals/retrieve-many-hris-individuals.js.map +1 -1
  288. package/tools/hris/individuals/retrieve-many-hris-individuals.mjs +1 -1
  289. package/tools/hris/individuals/retrieve-many-hris-individuals.mjs.map +1 -1
  290. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.d.mts +10 -2
  291. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.d.mts.map +1 -1
  292. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.d.ts +10 -2
  293. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.d.ts.map +1 -1
  294. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.js +1 -1
  295. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.js.map +1 -1
  296. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.mjs +1 -1
  297. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.mjs.map +1 -1
  298. package/tools/hris/payments/list-hris-payments.d.mts +10 -2
  299. package/tools/hris/payments/list-hris-payments.d.mts.map +1 -1
  300. package/tools/hris/payments/list-hris-payments.d.ts +10 -2
  301. package/tools/hris/payments/list-hris-payments.d.ts.map +1 -1
  302. package/tools/hris/payments/list-hris-payments.js +1 -1
  303. package/tools/hris/payments/list-hris-payments.js.map +1 -1
  304. package/tools/hris/payments/list-hris-payments.mjs +1 -1
  305. package/tools/hris/payments/list-hris-payments.mjs.map +1 -1
  306. package/tools/index.d.mts +1 -1
  307. package/tools/index.d.mts.map +1 -1
  308. package/tools/index.d.ts +1 -1
  309. package/tools/index.d.ts.map +1 -1
  310. package/tools/index.js +13 -7
  311. package/tools/index.js.map +1 -1
  312. package/tools/index.mjs +11 -5
  313. package/tools/index.mjs.map +1 -1
  314. package/tools/jobs/automated/create-jobs-automated.d.mts +10 -2
  315. package/tools/jobs/automated/create-jobs-automated.d.mts.map +1 -1
  316. package/tools/jobs/automated/create-jobs-automated.d.ts +10 -2
  317. package/tools/jobs/automated/create-jobs-automated.d.ts.map +1 -1
  318. package/tools/jobs/automated/create-jobs-automated.js +1 -1
  319. package/tools/jobs/automated/create-jobs-automated.js.map +1 -1
  320. package/tools/jobs/automated/create-jobs-automated.mjs +1 -1
  321. package/tools/jobs/automated/create-jobs-automated.mjs.map +1 -1
  322. package/tools/jobs/automated/list-jobs-automated.d.mts +10 -2
  323. package/tools/jobs/automated/list-jobs-automated.d.mts.map +1 -1
  324. package/tools/jobs/automated/list-jobs-automated.d.ts +10 -2
  325. package/tools/jobs/automated/list-jobs-automated.d.ts.map +1 -1
  326. package/tools/jobs/automated/list-jobs-automated.js +1 -1
  327. package/tools/jobs/automated/list-jobs-automated.js.map +1 -1
  328. package/tools/jobs/automated/list-jobs-automated.mjs +1 -1
  329. package/tools/jobs/automated/list-jobs-automated.mjs.map +1 -1
  330. package/tools/jobs/automated/retrieve-jobs-automated.d.mts +10 -2
  331. package/tools/jobs/automated/retrieve-jobs-automated.d.mts.map +1 -1
  332. package/tools/jobs/automated/retrieve-jobs-automated.d.ts +10 -2
  333. package/tools/jobs/automated/retrieve-jobs-automated.d.ts.map +1 -1
  334. package/tools/jobs/automated/retrieve-jobs-automated.js +1 -1
  335. package/tools/jobs/automated/retrieve-jobs-automated.js.map +1 -1
  336. package/tools/jobs/automated/retrieve-jobs-automated.mjs +1 -1
  337. package/tools/jobs/automated/retrieve-jobs-automated.mjs.map +1 -1
  338. package/tools/jobs/manual/retrieve-jobs-manual.d.mts +10 -2
  339. package/tools/jobs/manual/retrieve-jobs-manual.d.mts.map +1 -1
  340. package/tools/jobs/manual/retrieve-jobs-manual.d.ts +10 -2
  341. package/tools/jobs/manual/retrieve-jobs-manual.d.ts.map +1 -1
  342. package/tools/jobs/manual/retrieve-jobs-manual.js +1 -1
  343. package/tools/jobs/manual/retrieve-jobs-manual.js.map +1 -1
  344. package/tools/jobs/manual/retrieve-jobs-manual.mjs +1 -1
  345. package/tools/jobs/manual/retrieve-jobs-manual.mjs.map +1 -1
  346. package/tools/payroll/pay-groups/list-payroll-pay-groups.d.mts +10 -2
  347. package/tools/payroll/pay-groups/list-payroll-pay-groups.d.mts.map +1 -1
  348. package/tools/payroll/pay-groups/list-payroll-pay-groups.d.ts +10 -2
  349. package/tools/payroll/pay-groups/list-payroll-pay-groups.d.ts.map +1 -1
  350. package/tools/payroll/pay-groups/list-payroll-pay-groups.js +1 -1
  351. package/tools/payroll/pay-groups/list-payroll-pay-groups.js.map +1 -1
  352. package/tools/payroll/pay-groups/list-payroll-pay-groups.mjs +1 -1
  353. package/tools/payroll/pay-groups/list-payroll-pay-groups.mjs.map +1 -1
  354. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.d.mts +10 -2
  355. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.d.mts.map +1 -1
  356. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.d.ts +10 -2
  357. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.d.ts.map +1 -1
  358. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.js +1 -1
  359. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.js.map +1 -1
  360. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.mjs +1 -1
  361. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.mjs.map +1 -1
  362. package/tools/providers/list-providers.d.mts +10 -2
  363. package/tools/providers/list-providers.d.mts.map +1 -1
  364. package/tools/providers/list-providers.d.ts +10 -2
  365. package/tools/providers/list-providers.d.ts.map +1 -1
  366. package/tools/providers/list-providers.js +0 -1
  367. package/tools/providers/list-providers.js.map +1 -1
  368. package/tools/providers/list-providers.mjs +0 -1
  369. package/tools/providers/list-providers.mjs.map +1 -1
  370. package/tools/request-forwarding/forward-request-forwarding.d.mts +10 -2
  371. package/tools/request-forwarding/forward-request-forwarding.d.mts.map +1 -1
  372. package/tools/request-forwarding/forward-request-forwarding.d.ts +10 -2
  373. package/tools/request-forwarding/forward-request-forwarding.d.ts.map +1 -1
  374. package/tools/request-forwarding/forward-request-forwarding.js +1 -1
  375. package/tools/request-forwarding/forward-request-forwarding.js.map +1 -1
  376. package/tools/request-forwarding/forward-request-forwarding.mjs +1 -1
  377. package/tools/request-forwarding/forward-request-forwarding.mjs.map +1 -1
  378. package/tools/sandbox/company/update-sandbox-company.d.mts +10 -2
  379. package/tools/sandbox/company/update-sandbox-company.d.mts.map +1 -1
  380. package/tools/sandbox/company/update-sandbox-company.d.ts +10 -2
  381. package/tools/sandbox/company/update-sandbox-company.d.ts.map +1 -1
  382. package/tools/sandbox/company/update-sandbox-company.js +41 -36
  383. package/tools/sandbox/company/update-sandbox-company.js.map +1 -1
  384. package/tools/sandbox/company/update-sandbox-company.mjs +41 -36
  385. package/tools/sandbox/company/update-sandbox-company.mjs.map +1 -1
  386. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.d.mts +10 -2
  387. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.d.mts.map +1 -1
  388. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.d.ts +10 -2
  389. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.d.ts.map +1 -1
  390. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.js +1 -1
  391. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.js.map +1 -1
  392. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.mjs +1 -1
  393. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.mjs.map +1 -1
  394. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.d.mts +10 -2
  395. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.d.mts.map +1 -1
  396. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.d.ts +10 -2
  397. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.d.ts.map +1 -1
  398. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.js +6 -1
  399. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.js.map +1 -1
  400. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.mjs +6 -1
  401. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.mjs.map +1 -1
  402. package/tools/sandbox/connections/create-sandbox-connections.d.mts +10 -2
  403. package/tools/sandbox/connections/create-sandbox-connections.d.mts.map +1 -1
  404. package/tools/sandbox/connections/create-sandbox-connections.d.ts +10 -2
  405. package/tools/sandbox/connections/create-sandbox-connections.d.ts.map +1 -1
  406. package/tools/sandbox/connections/create-sandbox-connections.js +1 -1
  407. package/tools/sandbox/connections/create-sandbox-connections.js.map +1 -1
  408. package/tools/sandbox/connections/create-sandbox-connections.mjs +1 -1
  409. package/tools/sandbox/connections/create-sandbox-connections.mjs.map +1 -1
  410. package/tools/sandbox/directory/create-sandbox-directory.d.mts +10 -2
  411. package/tools/sandbox/directory/create-sandbox-directory.d.mts.map +1 -1
  412. package/tools/sandbox/directory/create-sandbox-directory.d.ts +10 -2
  413. package/tools/sandbox/directory/create-sandbox-directory.d.ts.map +1 -1
  414. package/tools/sandbox/directory/create-sandbox-directory.js +79 -71
  415. package/tools/sandbox/directory/create-sandbox-directory.js.map +1 -1
  416. package/tools/sandbox/directory/create-sandbox-directory.mjs +79 -71
  417. package/tools/sandbox/directory/create-sandbox-directory.mjs.map +1 -1
  418. package/tools/sandbox/employment/update-sandbox-employment.d.mts +10 -2
  419. package/tools/sandbox/employment/update-sandbox-employment.d.mts.map +1 -1
  420. package/tools/sandbox/employment/update-sandbox-employment.d.ts +10 -2
  421. package/tools/sandbox/employment/update-sandbox-employment.d.ts.map +1 -1
  422. package/tools/sandbox/employment/update-sandbox-employment.js +60 -52
  423. package/tools/sandbox/employment/update-sandbox-employment.js.map +1 -1
  424. package/tools/sandbox/employment/update-sandbox-employment.mjs +60 -52
  425. package/tools/sandbox/employment/update-sandbox-employment.mjs.map +1 -1
  426. package/tools/sandbox/individual/update-sandbox-individual.d.mts +10 -2
  427. package/tools/sandbox/individual/update-sandbox-individual.d.mts.map +1 -1
  428. package/tools/sandbox/individual/update-sandbox-individual.d.ts +10 -2
  429. package/tools/sandbox/individual/update-sandbox-individual.d.ts.map +1 -1
  430. package/tools/sandbox/individual/update-sandbox-individual.js +16 -11
  431. package/tools/sandbox/individual/update-sandbox-individual.js.map +1 -1
  432. package/tools/sandbox/individual/update-sandbox-individual.mjs +16 -11
  433. package/tools/sandbox/individual/update-sandbox-individual.mjs.map +1 -1
  434. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.d.mts +10 -2
  435. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.d.mts.map +1 -1
  436. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.d.ts +10 -2
  437. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.d.ts.map +1 -1
  438. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.js +0 -1
  439. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.js.map +1 -1
  440. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.mjs +0 -1
  441. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.mjs.map +1 -1
  442. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.d.mts +10 -2
  443. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.d.mts.map +1 -1
  444. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.d.ts +10 -2
  445. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.d.ts.map +1 -1
  446. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.js +1 -1
  447. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.js.map +1 -1
  448. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.mjs +1 -1
  449. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.mjs.map +1 -1
  450. package/tools/sandbox/jobs/create-sandbox-jobs.d.mts +10 -2
  451. package/tools/sandbox/jobs/create-sandbox-jobs.d.mts.map +1 -1
  452. package/tools/sandbox/jobs/create-sandbox-jobs.d.ts +10 -2
  453. package/tools/sandbox/jobs/create-sandbox-jobs.d.ts.map +1 -1
  454. package/tools/sandbox/jobs/create-sandbox-jobs.js +1 -1
  455. package/tools/sandbox/jobs/create-sandbox-jobs.js.map +1 -1
  456. package/tools/sandbox/jobs/create-sandbox-jobs.mjs +1 -1
  457. package/tools/sandbox/jobs/create-sandbox-jobs.mjs.map +1 -1
  458. package/tools/sandbox/payment/create-sandbox-payment.d.mts +10 -2
  459. package/tools/sandbox/payment/create-sandbox-payment.d.mts.map +1 -1
  460. package/tools/sandbox/payment/create-sandbox-payment.d.ts +10 -2
  461. package/tools/sandbox/payment/create-sandbox-payment.d.ts.map +1 -1
  462. package/tools/sandbox/payment/create-sandbox-payment.js +48 -40
  463. package/tools/sandbox/payment/create-sandbox-payment.js.map +1 -1
  464. package/tools/sandbox/payment/create-sandbox-payment.mjs +48 -40
  465. package/tools/sandbox/payment/create-sandbox-payment.mjs.map +1 -1
package/compat.mjs ADDED
@@ -0,0 +1,332 @@
1
+ export const defaultClientCapabilities = {
2
+ topLevelUnions: true,
3
+ validJson: true,
4
+ refs: true,
5
+ unions: true,
6
+ formats: true,
7
+ toolNameLength: undefined,
8
+ };
9
+ /**
10
+ * Attempts to parse strings into JSON objects
11
+ */
12
+ export function parseEmbeddedJSON(args, schema) {
13
+ let updated = false;
14
+ const newArgs = Object.assign({}, args);
15
+ for (const [key, value] of Object.entries(newArgs)) {
16
+ if (typeof value === 'string') {
17
+ try {
18
+ const parsed = JSON.parse(value);
19
+ newArgs[key] = parsed;
20
+ updated = true;
21
+ }
22
+ catch (e) {
23
+ // Not valid JSON, leave as is
24
+ }
25
+ }
26
+ }
27
+ if (updated) {
28
+ return newArgs;
29
+ }
30
+ return args;
31
+ }
32
+ /**
33
+ * Truncates tool names to the specified length while ensuring uniqueness.
34
+ * If truncation would cause duplicate names, appends a number to make them unique.
35
+ */
36
+ export function truncateToolNames(names, maxLength) {
37
+ if (maxLength <= 0) {
38
+ return new Map();
39
+ }
40
+ const renameMap = new Map();
41
+ const usedNames = new Set();
42
+ const toTruncate = names.filter((name) => name.length > maxLength);
43
+ if (toTruncate.length === 0) {
44
+ return renameMap;
45
+ }
46
+ const willCollide = new Set(toTruncate.map((name) => name.slice(0, maxLength - 1))).size < toTruncate.length;
47
+ if (!willCollide) {
48
+ for (const name of toTruncate) {
49
+ const truncatedName = name.slice(0, maxLength);
50
+ renameMap.set(name, truncatedName);
51
+ }
52
+ }
53
+ else {
54
+ const baseLength = maxLength - 1;
55
+ for (const name of toTruncate) {
56
+ const baseName = name.slice(0, baseLength);
57
+ let counter = 1;
58
+ while (usedNames.has(baseName + counter)) {
59
+ counter++;
60
+ }
61
+ const finalName = baseName + counter;
62
+ renameMap.set(name, finalName);
63
+ usedNames.add(finalName);
64
+ }
65
+ }
66
+ return renameMap;
67
+ }
68
+ /**
69
+ * Removes top-level unions from a tool by splitting it into multiple tools,
70
+ * one for each variant in the union.
71
+ */
72
+ export function removeTopLevelUnions(tool) {
73
+ const inputSchema = tool.inputSchema;
74
+ const variants = inputSchema.anyOf;
75
+ if (!variants || !Array.isArray(variants) || variants.length === 0) {
76
+ return [tool];
77
+ }
78
+ const defs = inputSchema.$defs || {};
79
+ return variants.map((variant, index) => {
80
+ const variantSchema = {
81
+ ...inputSchema,
82
+ ...variant,
83
+ type: 'object',
84
+ properties: {
85
+ ...(inputSchema.properties || {}),
86
+ ...(variant.properties || {}),
87
+ },
88
+ };
89
+ delete variantSchema.anyOf;
90
+ if (!variantSchema['description']) {
91
+ variantSchema['description'] = tool.description;
92
+ }
93
+ const usedDefs = findUsedDefs(variant, defs);
94
+ if (Object.keys(usedDefs).length > 0) {
95
+ variantSchema.$defs = usedDefs;
96
+ }
97
+ else {
98
+ delete variantSchema.$defs;
99
+ }
100
+ return {
101
+ ...tool,
102
+ name: `${tool.name}_${toSnakeCase(variant['title'] || `variant${index + 1}`)}`,
103
+ description: variant['description'] || tool.description,
104
+ inputSchema: variantSchema,
105
+ };
106
+ });
107
+ }
108
+ function findUsedDefs(schema, defs) {
109
+ const usedDefs = {};
110
+ if (typeof schema !== 'object' || schema === null) {
111
+ return usedDefs;
112
+ }
113
+ if (schema.$ref) {
114
+ const refParts = schema.$ref.split('/');
115
+ if (refParts[0] === '#' && refParts[1] === '$defs' && refParts[2]) {
116
+ const defName = refParts[2];
117
+ const def = defs[defName];
118
+ if (def) {
119
+ usedDefs[defName] = def;
120
+ Object.assign(usedDefs, findUsedDefs(def, defs));
121
+ }
122
+ }
123
+ return usedDefs;
124
+ }
125
+ for (const key in schema) {
126
+ if (key !== '$defs' && typeof schema[key] === 'object' && schema[key] !== null) {
127
+ Object.assign(usedDefs, findUsedDefs(schema[key], defs));
128
+ }
129
+ }
130
+ return usedDefs;
131
+ }
132
+ /**
133
+ * Inlines all $refs in a schema, eliminating $defs.
134
+ * If a circular reference is detected, the circular property is removed.
135
+ */
136
+ export function inlineRefs(schema) {
137
+ if (!schema || typeof schema !== 'object') {
138
+ return schema;
139
+ }
140
+ const clonedSchema = { ...schema };
141
+ const defs = schema.$defs || {};
142
+ delete clonedSchema.$defs;
143
+ const result = inlineRefsRecursive(clonedSchema, defs, new Set());
144
+ // The top level can never be null
145
+ return result === null ? {} : result;
146
+ }
147
+ function inlineRefsRecursive(schema, defs, refPath) {
148
+ if (!schema || typeof schema !== 'object') {
149
+ return schema;
150
+ }
151
+ if (Array.isArray(schema)) {
152
+ return schema.map((item) => {
153
+ const processed = inlineRefsRecursive(item, defs, refPath);
154
+ return processed === null ? {} : processed;
155
+ });
156
+ }
157
+ const result = { ...schema };
158
+ if ('$ref' in result && typeof result.$ref === 'string') {
159
+ if (result.$ref.startsWith('#/$defs/')) {
160
+ const refName = result.$ref.split('/').pop();
161
+ const def = defs[refName];
162
+ // If we've already seen this ref in our path, we have a circular reference
163
+ if (refPath.has(result.$ref)) {
164
+ // For circular references, we completely remove the property
165
+ // by returning null. The parent will remove it.
166
+ return null;
167
+ }
168
+ if (def) {
169
+ const newRefPath = new Set(refPath);
170
+ newRefPath.add(result.$ref);
171
+ const inlinedDef = inlineRefsRecursive({ ...def }, defs, newRefPath);
172
+ if (inlinedDef === null) {
173
+ return { ...result };
174
+ }
175
+ // Merge the inlined definition with the original schema's properties
176
+ // but preserve things like description, etc.
177
+ const { $ref, ...rest } = result;
178
+ return { ...inlinedDef, ...rest };
179
+ }
180
+ }
181
+ // Keep external refs as-is
182
+ return result;
183
+ }
184
+ for (const key in result) {
185
+ if (result[key] && typeof result[key] === 'object') {
186
+ const processed = inlineRefsRecursive(result[key], defs, refPath);
187
+ if (processed === null) {
188
+ // Remove properties that would cause circular references
189
+ delete result[key];
190
+ }
191
+ else {
192
+ result[key] = processed;
193
+ }
194
+ }
195
+ }
196
+ return result;
197
+ }
198
+ /**
199
+ * Removes anyOf fields from a schema, using only the first variant.
200
+ */
201
+ export function removeAnyOf(schema) {
202
+ if (!schema || typeof schema !== 'object') {
203
+ return schema;
204
+ }
205
+ if (Array.isArray(schema)) {
206
+ return schema.map((item) => removeAnyOf(item));
207
+ }
208
+ const result = { ...schema };
209
+ if ('anyOf' in result && Array.isArray(result.anyOf) && result.anyOf.length > 0) {
210
+ const firstVariant = result.anyOf[0];
211
+ if (firstVariant && typeof firstVariant === 'object') {
212
+ // Special handling for properties to ensure deep merge
213
+ if (firstVariant.properties && result.properties) {
214
+ result.properties = {
215
+ ...result.properties,
216
+ ...firstVariant.properties,
217
+ };
218
+ }
219
+ else if (firstVariant.properties) {
220
+ result.properties = { ...firstVariant.properties };
221
+ }
222
+ for (const key in firstVariant) {
223
+ if (key !== 'properties') {
224
+ result[key] = firstVariant[key];
225
+ }
226
+ }
227
+ }
228
+ delete result.anyOf;
229
+ }
230
+ for (const key in result) {
231
+ if (result[key] && typeof result[key] === 'object') {
232
+ result[key] = removeAnyOf(result[key]);
233
+ }
234
+ }
235
+ return result;
236
+ }
237
+ /**
238
+ * Removes format fields from a schema and appends them to the description.
239
+ */
240
+ export function removeFormats(schema, formatsCapability) {
241
+ if (formatsCapability) {
242
+ return schema;
243
+ }
244
+ if (!schema || typeof schema !== 'object') {
245
+ return schema;
246
+ }
247
+ if (Array.isArray(schema)) {
248
+ return schema.map((item) => removeFormats(item, formatsCapability));
249
+ }
250
+ const result = { ...schema };
251
+ if ('format' in result && typeof result['format'] === 'string') {
252
+ const formatStr = `(format: "${result['format']}")`;
253
+ if ('description' in result && typeof result['description'] === 'string') {
254
+ result['description'] = `${result['description']} ${formatStr}`;
255
+ }
256
+ else {
257
+ result['description'] = formatStr;
258
+ }
259
+ delete result['format'];
260
+ }
261
+ for (const key in result) {
262
+ if (result[key] && typeof result[key] === 'object') {
263
+ result[key] = removeFormats(result[key], formatsCapability);
264
+ }
265
+ }
266
+ return result;
267
+ }
268
+ /**
269
+ * Applies all compatibility transformations to the endpoints based on the provided capabilities.
270
+ */
271
+ export function applyCompatibilityTransformations(endpoints, capabilities) {
272
+ let transformedEndpoints = [...endpoints];
273
+ // Handle top-level unions first as this changes tool names
274
+ if (!capabilities.topLevelUnions) {
275
+ const newEndpoints = [];
276
+ for (const endpoint of transformedEndpoints) {
277
+ const variantTools = removeTopLevelUnions(endpoint.tool);
278
+ if (variantTools.length === 1) {
279
+ newEndpoints.push(endpoint);
280
+ }
281
+ else {
282
+ for (const variantTool of variantTools) {
283
+ newEndpoints.push({
284
+ ...endpoint,
285
+ tool: variantTool,
286
+ });
287
+ }
288
+ }
289
+ }
290
+ transformedEndpoints = newEndpoints;
291
+ }
292
+ if (capabilities.toolNameLength) {
293
+ const toolNames = transformedEndpoints.map((endpoint) => endpoint.tool.name);
294
+ const renameMap = truncateToolNames(toolNames, capabilities.toolNameLength);
295
+ transformedEndpoints = transformedEndpoints.map((endpoint) => ({
296
+ ...endpoint,
297
+ tool: {
298
+ ...endpoint.tool,
299
+ name: renameMap.get(endpoint.tool.name) ?? endpoint.tool.name,
300
+ },
301
+ }));
302
+ }
303
+ if (!capabilities.refs || !capabilities.unions || !capabilities.formats) {
304
+ transformedEndpoints = transformedEndpoints.map((endpoint) => {
305
+ let schema = endpoint.tool.inputSchema;
306
+ if (!capabilities.refs) {
307
+ schema = inlineRefs(schema);
308
+ }
309
+ if (!capabilities.unions) {
310
+ schema = removeAnyOf(schema);
311
+ }
312
+ if (!capabilities.formats) {
313
+ schema = removeFormats(schema, capabilities.formats);
314
+ }
315
+ return {
316
+ ...endpoint,
317
+ tool: {
318
+ ...endpoint.tool,
319
+ inputSchema: schema,
320
+ },
321
+ };
322
+ });
323
+ }
324
+ return transformedEndpoints;
325
+ }
326
+ function toSnakeCase(str) {
327
+ return str
328
+ .replace(/\s+/g, '_')
329
+ .replace(/([a-z])([A-Z])/g, '$1_$2')
330
+ .toLowerCase();
331
+ }
332
+ //# sourceMappingURL=compat.mjs.map
package/compat.mjs.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compat.mjs","sourceRoot":"","sources":["src/compat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { Endpoint } from "./tools.mjs";
2
+ /**
3
+ * A list of tools that expose all the endpoints in the API dynamically.
4
+ *
5
+ * Instead of exposing every endpoint as it's own tool, which uses up too many tokens for LLMs to use at once,
6
+ * we expose a single tool that can be used to search for endpoints by name, resource, operation, or tag, and then
7
+ * a generic endpoint that can be used to invoke any endpoint with the provided arguments.
8
+ *
9
+ * @param endpoints - The endpoints to include in the list.
10
+ */
11
+ export declare function dynamicTools(endpoints: Endpoint[]): Endpoint[];
12
+ //# sourceMappingURL=dynamic-tools.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-tools.d.mts","sourceRoot":"","sources":["src/dynamic-tools.ts"],"names":[],"mappings":"OACO,EAAE,QAAQ,EAAE;AAYnB;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAiI9D"}
@@ -0,0 +1,12 @@
1
+ import { Endpoint } from "./tools.js";
2
+ /**
3
+ * A list of tools that expose all the endpoints in the API dynamically.
4
+ *
5
+ * Instead of exposing every endpoint as it's own tool, which uses up too many tokens for LLMs to use at once,
6
+ * we expose a single tool that can be used to search for endpoints by name, resource, operation, or tag, and then
7
+ * a generic endpoint that can be used to invoke any endpoint with the provided arguments.
8
+ *
9
+ * @param endpoints - The endpoints to include in the list.
10
+ */
11
+ export declare function dynamicTools(endpoints: Endpoint[]): Endpoint[];
12
+ //# sourceMappingURL=dynamic-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-tools.d.ts","sourceRoot":"","sources":["src/dynamic-tools.ts"],"names":[],"mappings":"OACO,EAAE,QAAQ,EAAE;AAYnB;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAiI9D"}
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dynamicTools = dynamicTools;
4
+ const zod_to_json_schema_1 = require("zod-to-json-schema");
5
+ const zod_1 = require("zod");
6
+ const cabidela_1 = require("@cloudflare/cabidela");
7
+ function zodToInputSchema(schema) {
8
+ return {
9
+ type: 'object',
10
+ ...(0, zod_to_json_schema_1.zodToJsonSchema)(schema),
11
+ };
12
+ }
13
+ /**
14
+ * A list of tools that expose all the endpoints in the API dynamically.
15
+ *
16
+ * Instead of exposing every endpoint as it's own tool, which uses up too many tokens for LLMs to use at once,
17
+ * we expose a single tool that can be used to search for endpoints by name, resource, operation, or tag, and then
18
+ * a generic endpoint that can be used to invoke any endpoint with the provided arguments.
19
+ *
20
+ * @param endpoints - The endpoints to include in the list.
21
+ */
22
+ function dynamicTools(endpoints) {
23
+ const listEndpointsSchema = zod_1.z.object({
24
+ search_query: zod_1.z
25
+ .string()
26
+ .optional()
27
+ .describe('An optional search query to filter the endpoints by. Provide a partial name, resource, operation, or tag to filter the endpoints returned.'),
28
+ });
29
+ const listEndpointsTool = {
30
+ metadata: {
31
+ resource: 'dynamic_tools',
32
+ operation: 'read',
33
+ tags: [],
34
+ },
35
+ tool: {
36
+ name: 'list_api_endpoints',
37
+ description: 'List or search for all endpoints in the Finch Node API',
38
+ inputSchema: zodToInputSchema(listEndpointsSchema),
39
+ },
40
+ handler: async (client, args) => {
41
+ const query = args && listEndpointsSchema.parse(args).search_query?.trim();
42
+ const filteredEndpoints = query && query.length > 0 ?
43
+ endpoints.filter((endpoint) => {
44
+ const fieldsToMatch = [
45
+ endpoint.tool.name,
46
+ endpoint.metadata.resource,
47
+ endpoint.metadata.operation,
48
+ ...endpoint.metadata.tags,
49
+ ];
50
+ return fieldsToMatch.some((field) => field.toLowerCase().includes(query.toLowerCase()));
51
+ })
52
+ : endpoints;
53
+ return {
54
+ tools: filteredEndpoints.map(({ tool, metadata }) => ({
55
+ name: tool.name,
56
+ description: tool.description,
57
+ resource: metadata.resource,
58
+ operation: metadata.operation,
59
+ tags: metadata.tags,
60
+ })),
61
+ };
62
+ },
63
+ };
64
+ const getEndpointSchema = zod_1.z.object({
65
+ endpoint: zod_1.z.string().describe('The name of the endpoint to get the schema for.'),
66
+ });
67
+ const getEndpointTool = {
68
+ metadata: {
69
+ resource: 'dynamic_tools',
70
+ operation: 'read',
71
+ tags: [],
72
+ },
73
+ tool: {
74
+ name: 'get_api_endpoint_schema',
75
+ 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.',
76
+ inputSchema: zodToInputSchema(getEndpointSchema),
77
+ },
78
+ handler: async (client, args) => {
79
+ if (!args) {
80
+ throw new Error('No endpoint provided');
81
+ }
82
+ const endpointName = getEndpointSchema.parse(args).endpoint;
83
+ const endpoint = endpoints.find((e) => e.tool.name === endpointName);
84
+ if (!endpoint) {
85
+ throw new Error(`Endpoint ${endpointName} not found`);
86
+ }
87
+ return endpoint.tool;
88
+ },
89
+ };
90
+ const invokeEndpointSchema = zod_1.z.object({
91
+ endpoint_name: zod_1.z.string().describe('The name of the endpoint to invoke.'),
92
+ args: zod_1.z
93
+ .record(zod_1.z.string(), zod_1.z.any())
94
+ .describe('The arguments to pass to the endpoint. This must match the schema returned by the `get_api_endpoint_schema` tool.'),
95
+ });
96
+ const invokeEndpointTool = {
97
+ metadata: {
98
+ resource: 'dynamic_tools',
99
+ operation: 'write',
100
+ tags: [],
101
+ },
102
+ tool: {
103
+ name: 'invoke_api_endpoint',
104
+ 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.',
105
+ inputSchema: zodToInputSchema(invokeEndpointSchema),
106
+ },
107
+ handler: async (client, args) => {
108
+ if (!args) {
109
+ throw new Error('No endpoint provided');
110
+ }
111
+ const { success, data, error } = invokeEndpointSchema.safeParse(args);
112
+ if (!success) {
113
+ throw new Error(`Invalid arguments for endpoint. ${error?.format()}`);
114
+ }
115
+ const { endpoint_name, args: endpointArgs } = data;
116
+ const endpoint = endpoints.find((e) => e.tool.name === endpoint_name);
117
+ if (!endpoint) {
118
+ throw new Error(`Endpoint ${endpoint_name} not found. Use the \`list_api_endpoints\` tool to get the list of available endpoints.`);
119
+ }
120
+ try {
121
+ // Try to validate the arguments for a better error message
122
+ const cabidela = new cabidela_1.Cabidela(endpoint.tool.inputSchema, { fullErrors: true });
123
+ cabidela.validate(endpointArgs);
124
+ }
125
+ catch (error) {
126
+ throw new Error(`Invalid arguments for endpoint ${endpoint_name}:\n${error}`);
127
+ }
128
+ return endpoint.handler(client, endpointArgs);
129
+ },
130
+ };
131
+ return [getEndpointTool, listEndpointsTool, invokeEndpointTool];
132
+ }
133
+ //# sourceMappingURL=dynamic-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-tools.js","sourceRoot":"","sources":["src/dynamic-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,130 @@
1
+ import { zodToJsonSchema } from 'zod-to-json-schema';
2
+ import { z } from 'zod';
3
+ import { Cabidela } from '@cloudflare/cabidela';
4
+ function zodToInputSchema(schema) {
5
+ return {
6
+ type: 'object',
7
+ ...zodToJsonSchema(schema),
8
+ };
9
+ }
10
+ /**
11
+ * A list of tools that expose all the endpoints in the API dynamically.
12
+ *
13
+ * Instead of exposing every endpoint as it's own tool, which uses up too many tokens for LLMs to use at once,
14
+ * we expose a single tool that can be used to search for endpoints by name, resource, operation, or tag, and then
15
+ * a generic endpoint that can be used to invoke any endpoint with the provided arguments.
16
+ *
17
+ * @param endpoints - The endpoints to include in the list.
18
+ */
19
+ export function dynamicTools(endpoints) {
20
+ const listEndpointsSchema = z.object({
21
+ search_query: z
22
+ .string()
23
+ .optional()
24
+ .describe('An optional search query to filter the endpoints by. Provide a partial name, resource, operation, or tag to filter the endpoints returned.'),
25
+ });
26
+ const listEndpointsTool = {
27
+ metadata: {
28
+ resource: 'dynamic_tools',
29
+ operation: 'read',
30
+ tags: [],
31
+ },
32
+ tool: {
33
+ name: 'list_api_endpoints',
34
+ description: 'List or search for all endpoints in the Finch Node API',
35
+ inputSchema: zodToInputSchema(listEndpointsSchema),
36
+ },
37
+ handler: async (client, args) => {
38
+ const query = args && listEndpointsSchema.parse(args).search_query?.trim();
39
+ const filteredEndpoints = query && query.length > 0 ?
40
+ endpoints.filter((endpoint) => {
41
+ const fieldsToMatch = [
42
+ endpoint.tool.name,
43
+ endpoint.metadata.resource,
44
+ endpoint.metadata.operation,
45
+ ...endpoint.metadata.tags,
46
+ ];
47
+ return fieldsToMatch.some((field) => field.toLowerCase().includes(query.toLowerCase()));
48
+ })
49
+ : endpoints;
50
+ return {
51
+ tools: filteredEndpoints.map(({ tool, metadata }) => ({
52
+ name: tool.name,
53
+ description: tool.description,
54
+ resource: metadata.resource,
55
+ operation: metadata.operation,
56
+ tags: metadata.tags,
57
+ })),
58
+ };
59
+ },
60
+ };
61
+ const getEndpointSchema = z.object({
62
+ endpoint: z.string().describe('The name of the endpoint to get the schema for.'),
63
+ });
64
+ const getEndpointTool = {
65
+ metadata: {
66
+ resource: 'dynamic_tools',
67
+ operation: 'read',
68
+ tags: [],
69
+ },
70
+ tool: {
71
+ 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.',
73
+ inputSchema: zodToInputSchema(getEndpointSchema),
74
+ },
75
+ handler: async (client, args) => {
76
+ if (!args) {
77
+ throw new Error('No endpoint provided');
78
+ }
79
+ const endpointName = getEndpointSchema.parse(args).endpoint;
80
+ const endpoint = endpoints.find((e) => e.tool.name === endpointName);
81
+ if (!endpoint) {
82
+ throw new Error(`Endpoint ${endpointName} not found`);
83
+ }
84
+ return endpoint.tool;
85
+ },
86
+ };
87
+ const invokeEndpointSchema = z.object({
88
+ endpoint_name: z.string().describe('The name of the endpoint to invoke.'),
89
+ args: z
90
+ .record(z.string(), z.any())
91
+ .describe('The arguments to pass to the endpoint. This must match the schema returned by the `get_api_endpoint_schema` tool.'),
92
+ });
93
+ const invokeEndpointTool = {
94
+ metadata: {
95
+ resource: 'dynamic_tools',
96
+ operation: 'write',
97
+ tags: [],
98
+ },
99
+ tool: {
100
+ 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.',
102
+ inputSchema: zodToInputSchema(invokeEndpointSchema),
103
+ },
104
+ handler: async (client, args) => {
105
+ if (!args) {
106
+ throw new Error('No endpoint provided');
107
+ }
108
+ const { success, data, error } = invokeEndpointSchema.safeParse(args);
109
+ if (!success) {
110
+ throw new Error(`Invalid arguments for endpoint. ${error?.format()}`);
111
+ }
112
+ const { endpoint_name, args: endpointArgs } = data;
113
+ const endpoint = endpoints.find((e) => e.tool.name === endpoint_name);
114
+ if (!endpoint) {
115
+ throw new Error(`Endpoint ${endpoint_name} not found. Use the \`list_api_endpoints\` tool to get the list of available endpoints.`);
116
+ }
117
+ try {
118
+ // Try to validate the arguments for a better error message
119
+ const cabidela = new Cabidela(endpoint.tool.inputSchema, { fullErrors: true });
120
+ cabidela.validate(endpointArgs);
121
+ }
122
+ catch (error) {
123
+ throw new Error(`Invalid arguments for endpoint ${endpoint_name}:\n${error}`);
124
+ }
125
+ return endpoint.handler(client, endpointArgs);
126
+ },
127
+ };
128
+ return [getEndpointTool, listEndpointsTool, invokeEndpointTool];
129
+ }
130
+ //# sourceMappingURL=dynamic-tools.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-tools.mjs","sourceRoot":"","sources":["src/dynamic-tools.ts"],"names":[],"mappings":"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"}