@tryfinch/finch-api-mcp 6.26.0 → 6.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (474) hide show
  1. package/README.md +53 -1
  2. package/compat.d.mts +52 -0
  3. package/compat.d.mts.map +1 -0
  4. package/compat.d.ts +52 -0
  5. package/compat.d.ts.map +1 -0
  6. package/compat.js +342 -0
  7. package/compat.js.map +1 -0
  8. package/compat.mjs +332 -0
  9. package/compat.mjs.map +1 -0
  10. package/compat.test.d.mts +2 -0
  11. package/compat.test.d.mts.map +1 -0
  12. package/compat.test.d.ts +2 -0
  13. package/compat.test.d.ts.map +1 -0
  14. package/compat.test.js +950 -0
  15. package/compat.test.js.map +1 -0
  16. package/compat.test.mjs +948 -0
  17. package/compat.test.mjs.map +1 -0
  18. package/index.js +37 -110
  19. package/index.js.map +1 -1
  20. package/index.mjs +37 -107
  21. package/index.mjs.map +1 -1
  22. package/options.d.mts +9 -0
  23. package/options.d.mts.map +1 -0
  24. package/options.d.ts +9 -0
  25. package/options.d.ts.map +1 -0
  26. package/options.js +320 -0
  27. package/options.js.map +1 -0
  28. package/options.mjs +314 -0
  29. package/options.mjs.map +1 -0
  30. package/options.test.d.mts +2 -0
  31. package/options.test.d.mts.map +1 -0
  32. package/options.test.d.ts +2 -0
  33. package/options.test.d.ts.map +1 -0
  34. package/options.test.js +154 -0
  35. package/options.test.js.map +1 -0
  36. package/options.test.mjs +152 -0
  37. package/options.test.mjs.map +1 -0
  38. package/package.json +2 -2
  39. package/server.d.mts +3 -1
  40. package/server.d.mts.map +1 -1
  41. package/server.d.ts +3 -1
  42. package/server.d.ts.map +1 -1
  43. package/server.js +15 -11
  44. package/server.js.map +1 -1
  45. package/server.mjs +12 -8
  46. package/server.mjs.map +1 -1
  47. package/src/compat.test.ts +1068 -0
  48. package/src/compat.ts +429 -0
  49. package/src/index.ts +38 -122
  50. package/src/options.test.ts +193 -0
  51. package/src/options.ts +339 -0
  52. package/src/server.ts +15 -10
  53. package/src/tools/access-tokens/create-access-tokens.ts +2 -2
  54. package/src/tools/account/disconnect-account.ts +1 -2
  55. package/src/tools/account/introspect-account.ts +1 -2
  56. package/src/tools/connect/sessions/new-connect-sessions.ts +2 -2
  57. package/src/tools/connect/sessions/reauthenticate-connect-sessions.ts +2 -2
  58. package/src/tools/hris/benefits/create-hris-benefits.ts +38 -3
  59. package/src/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.ts +2 -2
  60. package/src/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.ts +2 -2
  61. package/src/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.ts +2 -2
  62. package/src/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.ts +2 -2
  63. package/src/tools/hris/benefits/list-hris-benefits.ts +1 -2
  64. package/src/tools/hris/benefits/list-supported-benefits-hris-benefits.ts +1 -2
  65. package/src/tools/hris/benefits/retrieve-hris-benefits.ts +2 -2
  66. package/src/tools/hris/benefits/update-hris-benefits.ts +2 -2
  67. package/src/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.ts +2 -2
  68. package/src/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.ts +2 -2
  69. package/src/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.ts +2 -2
  70. package/src/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.ts +1 -2
  71. package/src/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.ts +2 -2
  72. package/src/tools/hris/company/retrieve-hris-company.ts +1 -2
  73. package/src/tools/hris/directory/list-hris-directory.ts +2 -2
  74. package/src/tools/hris/directory/list-individuals-hris-directory.ts +2 -2
  75. package/src/tools/hris/documents/list-hris-documents.ts +2 -2
  76. package/src/tools/hris/documents/retreive-hris-documents.ts +2 -2
  77. package/src/tools/hris/employments/retrieve-many-hris-employments.ts +2 -2
  78. package/src/tools/hris/individuals/retrieve-many-hris-individuals.ts +2 -2
  79. package/src/tools/hris/pay-statements/retrieve-many-hris-pay-statements.ts +2 -2
  80. package/src/tools/hris/payments/list-hris-payments.ts +2 -2
  81. package/src/tools/index.ts +16 -2
  82. package/src/tools/jobs/automated/create-jobs-automated.ts +2 -2
  83. package/src/tools/jobs/automated/list-jobs-automated.ts +2 -2
  84. package/src/tools/jobs/automated/retrieve-jobs-automated.ts +2 -2
  85. package/src/tools/jobs/manual/retrieve-jobs-manual.ts +2 -2
  86. package/src/tools/payroll/pay-groups/list-payroll-pay-groups.ts +2 -2
  87. package/src/tools/payroll/pay-groups/retrieve-payroll-pay-groups.ts +2 -2
  88. package/src/tools/providers/list-providers.ts +1 -2
  89. package/src/tools/request-forwarding/forward-request-forwarding.ts +2 -2
  90. package/src/tools/sandbox/company/update-sandbox-company.ts +42 -37
  91. package/src/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.ts +2 -2
  92. package/src/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.ts +7 -2
  93. package/src/tools/sandbox/connections/create-sandbox-connections.ts +2 -2
  94. package/src/tools/sandbox/directory/create-sandbox-directory.ts +82 -74
  95. package/src/tools/sandbox/employment/update-sandbox-employment.ts +62 -54
  96. package/src/tools/sandbox/individual/update-sandbox-individual.ts +19 -14
  97. package/src/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.ts +1 -2
  98. package/src/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.ts +2 -2
  99. package/src/tools/sandbox/jobs/create-sandbox-jobs.ts +2 -2
  100. package/src/tools/sandbox/payment/create-sandbox-payment.ts +48 -40
  101. package/tools/access-tokens/create-access-tokens.d.mts +2 -2
  102. package/tools/access-tokens/create-access-tokens.d.mts.map +1 -1
  103. package/tools/access-tokens/create-access-tokens.d.ts +2 -2
  104. package/tools/access-tokens/create-access-tokens.d.ts.map +1 -1
  105. package/tools/access-tokens/create-access-tokens.js +1 -1
  106. package/tools/access-tokens/create-access-tokens.js.map +1 -1
  107. package/tools/access-tokens/create-access-tokens.mjs +1 -1
  108. package/tools/access-tokens/create-access-tokens.mjs.map +1 -1
  109. package/tools/account/disconnect-account.d.mts +2 -2
  110. package/tools/account/disconnect-account.d.mts.map +1 -1
  111. package/tools/account/disconnect-account.d.ts +2 -2
  112. package/tools/account/disconnect-account.d.ts.map +1 -1
  113. package/tools/account/disconnect-account.js +0 -1
  114. package/tools/account/disconnect-account.js.map +1 -1
  115. package/tools/account/disconnect-account.mjs +0 -1
  116. package/tools/account/disconnect-account.mjs.map +1 -1
  117. package/tools/account/introspect-account.d.mts +2 -2
  118. package/tools/account/introspect-account.d.mts.map +1 -1
  119. package/tools/account/introspect-account.d.ts +2 -2
  120. package/tools/account/introspect-account.d.ts.map +1 -1
  121. package/tools/account/introspect-account.js +0 -1
  122. package/tools/account/introspect-account.js.map +1 -1
  123. package/tools/account/introspect-account.mjs +0 -1
  124. package/tools/account/introspect-account.mjs.map +1 -1
  125. package/tools/connect/sessions/new-connect-sessions.d.mts +2 -2
  126. package/tools/connect/sessions/new-connect-sessions.d.mts.map +1 -1
  127. package/tools/connect/sessions/new-connect-sessions.d.ts +2 -2
  128. package/tools/connect/sessions/new-connect-sessions.d.ts.map +1 -1
  129. package/tools/connect/sessions/new-connect-sessions.js +1 -1
  130. package/tools/connect/sessions/new-connect-sessions.js.map +1 -1
  131. package/tools/connect/sessions/new-connect-sessions.mjs +1 -1
  132. package/tools/connect/sessions/new-connect-sessions.mjs.map +1 -1
  133. package/tools/connect/sessions/reauthenticate-connect-sessions.d.mts +2 -2
  134. package/tools/connect/sessions/reauthenticate-connect-sessions.d.mts.map +1 -1
  135. package/tools/connect/sessions/reauthenticate-connect-sessions.d.ts +2 -2
  136. package/tools/connect/sessions/reauthenticate-connect-sessions.d.ts.map +1 -1
  137. package/tools/connect/sessions/reauthenticate-connect-sessions.js +1 -1
  138. package/tools/connect/sessions/reauthenticate-connect-sessions.js.map +1 -1
  139. package/tools/connect/sessions/reauthenticate-connect-sessions.mjs +1 -1
  140. package/tools/connect/sessions/reauthenticate-connect-sessions.mjs.map +1 -1
  141. package/tools/hris/benefits/create-hris-benefits.d.mts +2 -2
  142. package/tools/hris/benefits/create-hris-benefits.d.mts.map +1 -1
  143. package/tools/hris/benefits/create-hris-benefits.d.ts +2 -2
  144. package/tools/hris/benefits/create-hris-benefits.d.ts.map +1 -1
  145. package/tools/hris/benefits/create-hris-benefits.js +37 -2
  146. package/tools/hris/benefits/create-hris-benefits.js.map +1 -1
  147. package/tools/hris/benefits/create-hris-benefits.mjs +37 -2
  148. package/tools/hris/benefits/create-hris-benefits.mjs.map +1 -1
  149. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.d.mts +2 -2
  150. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.d.mts.map +1 -1
  151. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.d.ts +2 -2
  152. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.d.ts.map +1 -1
  153. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.js.map +1 -1
  154. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.mjs.map +1 -1
  155. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.d.mts +2 -2
  156. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.d.mts.map +1 -1
  157. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.d.ts +2 -2
  158. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.d.ts.map +1 -1
  159. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.js +1 -1
  160. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.js.map +1 -1
  161. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.mjs +1 -1
  162. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.mjs.map +1 -1
  163. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.d.mts +2 -2
  164. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.d.mts.map +1 -1
  165. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.d.ts +2 -2
  166. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.d.ts.map +1 -1
  167. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.js.map +1 -1
  168. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.mjs.map +1 -1
  169. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.d.mts +2 -2
  170. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.d.mts.map +1 -1
  171. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.d.ts +2 -2
  172. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.d.ts.map +1 -1
  173. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.js.map +1 -1
  174. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.mjs.map +1 -1
  175. package/tools/hris/benefits/list-hris-benefits.d.mts +2 -2
  176. package/tools/hris/benefits/list-hris-benefits.d.mts.map +1 -1
  177. package/tools/hris/benefits/list-hris-benefits.d.ts +2 -2
  178. package/tools/hris/benefits/list-hris-benefits.d.ts.map +1 -1
  179. package/tools/hris/benefits/list-hris-benefits.js +0 -1
  180. package/tools/hris/benefits/list-hris-benefits.js.map +1 -1
  181. package/tools/hris/benefits/list-hris-benefits.mjs +0 -1
  182. package/tools/hris/benefits/list-hris-benefits.mjs.map +1 -1
  183. package/tools/hris/benefits/list-supported-benefits-hris-benefits.d.mts +2 -2
  184. package/tools/hris/benefits/list-supported-benefits-hris-benefits.d.mts.map +1 -1
  185. package/tools/hris/benefits/list-supported-benefits-hris-benefits.d.ts +2 -2
  186. package/tools/hris/benefits/list-supported-benefits-hris-benefits.d.ts.map +1 -1
  187. package/tools/hris/benefits/list-supported-benefits-hris-benefits.js +0 -1
  188. package/tools/hris/benefits/list-supported-benefits-hris-benefits.js.map +1 -1
  189. package/tools/hris/benefits/list-supported-benefits-hris-benefits.mjs +0 -1
  190. package/tools/hris/benefits/list-supported-benefits-hris-benefits.mjs.map +1 -1
  191. package/tools/hris/benefits/retrieve-hris-benefits.d.mts +2 -2
  192. package/tools/hris/benefits/retrieve-hris-benefits.d.mts.map +1 -1
  193. package/tools/hris/benefits/retrieve-hris-benefits.d.ts +2 -2
  194. package/tools/hris/benefits/retrieve-hris-benefits.d.ts.map +1 -1
  195. package/tools/hris/benefits/retrieve-hris-benefits.js +1 -1
  196. package/tools/hris/benefits/retrieve-hris-benefits.js.map +1 -1
  197. package/tools/hris/benefits/retrieve-hris-benefits.mjs +1 -1
  198. package/tools/hris/benefits/retrieve-hris-benefits.mjs.map +1 -1
  199. package/tools/hris/benefits/update-hris-benefits.d.mts +2 -2
  200. package/tools/hris/benefits/update-hris-benefits.d.mts.map +1 -1
  201. package/tools/hris/benefits/update-hris-benefits.d.ts +2 -2
  202. package/tools/hris/benefits/update-hris-benefits.d.ts.map +1 -1
  203. package/tools/hris/benefits/update-hris-benefits.js.map +1 -1
  204. package/tools/hris/benefits/update-hris-benefits.mjs.map +1 -1
  205. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.d.mts +2 -2
  206. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.d.mts.map +1 -1
  207. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.d.ts +2 -2
  208. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.d.ts.map +1 -1
  209. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.js +1 -1
  210. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.js.map +1 -1
  211. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.mjs +1 -1
  212. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.mjs.map +1 -1
  213. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.d.mts +2 -2
  214. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.d.mts.map +1 -1
  215. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.d.ts +2 -2
  216. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.d.ts.map +1 -1
  217. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.js +1 -1
  218. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.js.map +1 -1
  219. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.mjs +1 -1
  220. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.mjs.map +1 -1
  221. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.d.mts +2 -2
  222. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.d.mts.map +1 -1
  223. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.d.ts +2 -2
  224. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.d.ts.map +1 -1
  225. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.js +1 -1
  226. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.js.map +1 -1
  227. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.mjs +1 -1
  228. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.mjs.map +1 -1
  229. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.d.mts +2 -2
  230. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.d.mts.map +1 -1
  231. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.d.ts +2 -2
  232. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.d.ts.map +1 -1
  233. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.js +0 -1
  234. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.js.map +1 -1
  235. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.mjs +0 -1
  236. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.mjs.map +1 -1
  237. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.d.mts +2 -2
  238. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.d.mts.map +1 -1
  239. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.d.ts +2 -2
  240. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.d.ts.map +1 -1
  241. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.js.map +1 -1
  242. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.mjs.map +1 -1
  243. package/tools/hris/company/retrieve-hris-company.d.mts +2 -2
  244. package/tools/hris/company/retrieve-hris-company.d.mts.map +1 -1
  245. package/tools/hris/company/retrieve-hris-company.d.ts +2 -2
  246. package/tools/hris/company/retrieve-hris-company.d.ts.map +1 -1
  247. package/tools/hris/company/retrieve-hris-company.js +0 -1
  248. package/tools/hris/company/retrieve-hris-company.js.map +1 -1
  249. package/tools/hris/company/retrieve-hris-company.mjs +0 -1
  250. package/tools/hris/company/retrieve-hris-company.mjs.map +1 -1
  251. package/tools/hris/directory/list-hris-directory.d.mts +2 -2
  252. package/tools/hris/directory/list-hris-directory.d.mts.map +1 -1
  253. package/tools/hris/directory/list-hris-directory.d.ts +2 -2
  254. package/tools/hris/directory/list-hris-directory.d.ts.map +1 -1
  255. package/tools/hris/directory/list-hris-directory.js +1 -1
  256. package/tools/hris/directory/list-hris-directory.js.map +1 -1
  257. package/tools/hris/directory/list-hris-directory.mjs +1 -1
  258. package/tools/hris/directory/list-hris-directory.mjs.map +1 -1
  259. package/tools/hris/directory/list-individuals-hris-directory.d.mts +2 -2
  260. package/tools/hris/directory/list-individuals-hris-directory.d.mts.map +1 -1
  261. package/tools/hris/directory/list-individuals-hris-directory.d.ts +2 -2
  262. package/tools/hris/directory/list-individuals-hris-directory.d.ts.map +1 -1
  263. package/tools/hris/directory/list-individuals-hris-directory.js +1 -1
  264. package/tools/hris/directory/list-individuals-hris-directory.js.map +1 -1
  265. package/tools/hris/directory/list-individuals-hris-directory.mjs +1 -1
  266. package/tools/hris/directory/list-individuals-hris-directory.mjs.map +1 -1
  267. package/tools/hris/documents/list-hris-documents.d.mts +2 -2
  268. package/tools/hris/documents/list-hris-documents.d.mts.map +1 -1
  269. package/tools/hris/documents/list-hris-documents.d.ts +2 -2
  270. package/tools/hris/documents/list-hris-documents.d.ts.map +1 -1
  271. package/tools/hris/documents/list-hris-documents.js +1 -1
  272. package/tools/hris/documents/list-hris-documents.js.map +1 -1
  273. package/tools/hris/documents/list-hris-documents.mjs +1 -1
  274. package/tools/hris/documents/list-hris-documents.mjs.map +1 -1
  275. package/tools/hris/documents/retreive-hris-documents.d.mts +2 -2
  276. package/tools/hris/documents/retreive-hris-documents.d.mts.map +1 -1
  277. package/tools/hris/documents/retreive-hris-documents.d.ts +2 -2
  278. package/tools/hris/documents/retreive-hris-documents.d.ts.map +1 -1
  279. package/tools/hris/documents/retreive-hris-documents.js +1 -1
  280. package/tools/hris/documents/retreive-hris-documents.js.map +1 -1
  281. package/tools/hris/documents/retreive-hris-documents.mjs +1 -1
  282. package/tools/hris/documents/retreive-hris-documents.mjs.map +1 -1
  283. package/tools/hris/employments/retrieve-many-hris-employments.d.mts +2 -2
  284. package/tools/hris/employments/retrieve-many-hris-employments.d.mts.map +1 -1
  285. package/tools/hris/employments/retrieve-many-hris-employments.d.ts +2 -2
  286. package/tools/hris/employments/retrieve-many-hris-employments.d.ts.map +1 -1
  287. package/tools/hris/employments/retrieve-many-hris-employments.js +1 -1
  288. package/tools/hris/employments/retrieve-many-hris-employments.js.map +1 -1
  289. package/tools/hris/employments/retrieve-many-hris-employments.mjs +1 -1
  290. package/tools/hris/employments/retrieve-many-hris-employments.mjs.map +1 -1
  291. package/tools/hris/individuals/retrieve-many-hris-individuals.d.mts +2 -2
  292. package/tools/hris/individuals/retrieve-many-hris-individuals.d.mts.map +1 -1
  293. package/tools/hris/individuals/retrieve-many-hris-individuals.d.ts +2 -2
  294. package/tools/hris/individuals/retrieve-many-hris-individuals.d.ts.map +1 -1
  295. package/tools/hris/individuals/retrieve-many-hris-individuals.js +1 -1
  296. package/tools/hris/individuals/retrieve-many-hris-individuals.js.map +1 -1
  297. package/tools/hris/individuals/retrieve-many-hris-individuals.mjs +1 -1
  298. package/tools/hris/individuals/retrieve-many-hris-individuals.mjs.map +1 -1
  299. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.d.mts +2 -2
  300. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.d.mts.map +1 -1
  301. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.d.ts +2 -2
  302. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.d.ts.map +1 -1
  303. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.js +1 -1
  304. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.js.map +1 -1
  305. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.mjs +1 -1
  306. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.mjs.map +1 -1
  307. package/tools/hris/payments/list-hris-payments.d.mts +2 -2
  308. package/tools/hris/payments/list-hris-payments.d.mts.map +1 -1
  309. package/tools/hris/payments/list-hris-payments.d.ts +2 -2
  310. package/tools/hris/payments/list-hris-payments.d.ts.map +1 -1
  311. package/tools/hris/payments/list-hris-payments.js +1 -1
  312. package/tools/hris/payments/list-hris-payments.js.map +1 -1
  313. package/tools/hris/payments/list-hris-payments.mjs +1 -1
  314. package/tools/hris/payments/list-hris-payments.mjs.map +1 -1
  315. package/tools/index.d.mts +1 -1
  316. package/tools/index.d.mts.map +1 -1
  317. package/tools/index.d.ts +1 -1
  318. package/tools/index.d.ts.map +1 -1
  319. package/tools/index.js +12 -3
  320. package/tools/index.js.map +1 -1
  321. package/tools/index.mjs +10 -1
  322. package/tools/index.mjs.map +1 -1
  323. package/tools/jobs/automated/create-jobs-automated.d.mts +2 -2
  324. package/tools/jobs/automated/create-jobs-automated.d.mts.map +1 -1
  325. package/tools/jobs/automated/create-jobs-automated.d.ts +2 -2
  326. package/tools/jobs/automated/create-jobs-automated.d.ts.map +1 -1
  327. package/tools/jobs/automated/create-jobs-automated.js +1 -1
  328. package/tools/jobs/automated/create-jobs-automated.js.map +1 -1
  329. package/tools/jobs/automated/create-jobs-automated.mjs +1 -1
  330. package/tools/jobs/automated/create-jobs-automated.mjs.map +1 -1
  331. package/tools/jobs/automated/list-jobs-automated.d.mts +2 -2
  332. package/tools/jobs/automated/list-jobs-automated.d.mts.map +1 -1
  333. package/tools/jobs/automated/list-jobs-automated.d.ts +2 -2
  334. package/tools/jobs/automated/list-jobs-automated.d.ts.map +1 -1
  335. package/tools/jobs/automated/list-jobs-automated.js +1 -1
  336. package/tools/jobs/automated/list-jobs-automated.js.map +1 -1
  337. package/tools/jobs/automated/list-jobs-automated.mjs +1 -1
  338. package/tools/jobs/automated/list-jobs-automated.mjs.map +1 -1
  339. package/tools/jobs/automated/retrieve-jobs-automated.d.mts +2 -2
  340. package/tools/jobs/automated/retrieve-jobs-automated.d.mts.map +1 -1
  341. package/tools/jobs/automated/retrieve-jobs-automated.d.ts +2 -2
  342. package/tools/jobs/automated/retrieve-jobs-automated.d.ts.map +1 -1
  343. package/tools/jobs/automated/retrieve-jobs-automated.js +1 -1
  344. package/tools/jobs/automated/retrieve-jobs-automated.js.map +1 -1
  345. package/tools/jobs/automated/retrieve-jobs-automated.mjs +1 -1
  346. package/tools/jobs/automated/retrieve-jobs-automated.mjs.map +1 -1
  347. package/tools/jobs/manual/retrieve-jobs-manual.d.mts +2 -2
  348. package/tools/jobs/manual/retrieve-jobs-manual.d.mts.map +1 -1
  349. package/tools/jobs/manual/retrieve-jobs-manual.d.ts +2 -2
  350. package/tools/jobs/manual/retrieve-jobs-manual.d.ts.map +1 -1
  351. package/tools/jobs/manual/retrieve-jobs-manual.js +1 -1
  352. package/tools/jobs/manual/retrieve-jobs-manual.js.map +1 -1
  353. package/tools/jobs/manual/retrieve-jobs-manual.mjs +1 -1
  354. package/tools/jobs/manual/retrieve-jobs-manual.mjs.map +1 -1
  355. package/tools/payroll/pay-groups/list-payroll-pay-groups.d.mts +2 -2
  356. package/tools/payroll/pay-groups/list-payroll-pay-groups.d.mts.map +1 -1
  357. package/tools/payroll/pay-groups/list-payroll-pay-groups.d.ts +2 -2
  358. package/tools/payroll/pay-groups/list-payroll-pay-groups.d.ts.map +1 -1
  359. package/tools/payroll/pay-groups/list-payroll-pay-groups.js +1 -1
  360. package/tools/payroll/pay-groups/list-payroll-pay-groups.js.map +1 -1
  361. package/tools/payroll/pay-groups/list-payroll-pay-groups.mjs +1 -1
  362. package/tools/payroll/pay-groups/list-payroll-pay-groups.mjs.map +1 -1
  363. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.d.mts +2 -2
  364. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.d.mts.map +1 -1
  365. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.d.ts +2 -2
  366. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.d.ts.map +1 -1
  367. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.js +1 -1
  368. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.js.map +1 -1
  369. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.mjs +1 -1
  370. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.mjs.map +1 -1
  371. package/tools/providers/list-providers.d.mts +2 -2
  372. package/tools/providers/list-providers.d.mts.map +1 -1
  373. package/tools/providers/list-providers.d.ts +2 -2
  374. package/tools/providers/list-providers.d.ts.map +1 -1
  375. package/tools/providers/list-providers.js +0 -1
  376. package/tools/providers/list-providers.js.map +1 -1
  377. package/tools/providers/list-providers.mjs +0 -1
  378. package/tools/providers/list-providers.mjs.map +1 -1
  379. package/tools/request-forwarding/forward-request-forwarding.d.mts +2 -2
  380. package/tools/request-forwarding/forward-request-forwarding.d.mts.map +1 -1
  381. package/tools/request-forwarding/forward-request-forwarding.d.ts +2 -2
  382. package/tools/request-forwarding/forward-request-forwarding.d.ts.map +1 -1
  383. package/tools/request-forwarding/forward-request-forwarding.js +1 -1
  384. package/tools/request-forwarding/forward-request-forwarding.js.map +1 -1
  385. package/tools/request-forwarding/forward-request-forwarding.mjs +1 -1
  386. package/tools/request-forwarding/forward-request-forwarding.mjs.map +1 -1
  387. package/tools/sandbox/company/update-sandbox-company.d.mts +2 -2
  388. package/tools/sandbox/company/update-sandbox-company.d.mts.map +1 -1
  389. package/tools/sandbox/company/update-sandbox-company.d.ts +2 -2
  390. package/tools/sandbox/company/update-sandbox-company.d.ts.map +1 -1
  391. package/tools/sandbox/company/update-sandbox-company.js +41 -36
  392. package/tools/sandbox/company/update-sandbox-company.js.map +1 -1
  393. package/tools/sandbox/company/update-sandbox-company.mjs +41 -36
  394. package/tools/sandbox/company/update-sandbox-company.mjs.map +1 -1
  395. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.d.mts +2 -2
  396. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.d.mts.map +1 -1
  397. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.d.ts +2 -2
  398. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.d.ts.map +1 -1
  399. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.js +1 -1
  400. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.js.map +1 -1
  401. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.mjs +1 -1
  402. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.mjs.map +1 -1
  403. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.d.mts +2 -2
  404. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.d.mts.map +1 -1
  405. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.d.ts +2 -2
  406. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.d.ts.map +1 -1
  407. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.js +6 -1
  408. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.js.map +1 -1
  409. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.mjs +6 -1
  410. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.mjs.map +1 -1
  411. package/tools/sandbox/connections/create-sandbox-connections.d.mts +2 -2
  412. package/tools/sandbox/connections/create-sandbox-connections.d.mts.map +1 -1
  413. package/tools/sandbox/connections/create-sandbox-connections.d.ts +2 -2
  414. package/tools/sandbox/connections/create-sandbox-connections.d.ts.map +1 -1
  415. package/tools/sandbox/connections/create-sandbox-connections.js +1 -1
  416. package/tools/sandbox/connections/create-sandbox-connections.js.map +1 -1
  417. package/tools/sandbox/connections/create-sandbox-connections.mjs +1 -1
  418. package/tools/sandbox/connections/create-sandbox-connections.mjs.map +1 -1
  419. package/tools/sandbox/directory/create-sandbox-directory.d.mts +2 -2
  420. package/tools/sandbox/directory/create-sandbox-directory.d.mts.map +1 -1
  421. package/tools/sandbox/directory/create-sandbox-directory.d.ts +2 -2
  422. package/tools/sandbox/directory/create-sandbox-directory.d.ts.map +1 -1
  423. package/tools/sandbox/directory/create-sandbox-directory.js +79 -71
  424. package/tools/sandbox/directory/create-sandbox-directory.js.map +1 -1
  425. package/tools/sandbox/directory/create-sandbox-directory.mjs +79 -71
  426. package/tools/sandbox/directory/create-sandbox-directory.mjs.map +1 -1
  427. package/tools/sandbox/employment/update-sandbox-employment.d.mts +2 -2
  428. package/tools/sandbox/employment/update-sandbox-employment.d.mts.map +1 -1
  429. package/tools/sandbox/employment/update-sandbox-employment.d.ts +2 -2
  430. package/tools/sandbox/employment/update-sandbox-employment.d.ts.map +1 -1
  431. package/tools/sandbox/employment/update-sandbox-employment.js +60 -52
  432. package/tools/sandbox/employment/update-sandbox-employment.js.map +1 -1
  433. package/tools/sandbox/employment/update-sandbox-employment.mjs +60 -52
  434. package/tools/sandbox/employment/update-sandbox-employment.mjs.map +1 -1
  435. package/tools/sandbox/individual/update-sandbox-individual.d.mts +2 -2
  436. package/tools/sandbox/individual/update-sandbox-individual.d.mts.map +1 -1
  437. package/tools/sandbox/individual/update-sandbox-individual.d.ts +2 -2
  438. package/tools/sandbox/individual/update-sandbox-individual.d.ts.map +1 -1
  439. package/tools/sandbox/individual/update-sandbox-individual.js +16 -11
  440. package/tools/sandbox/individual/update-sandbox-individual.js.map +1 -1
  441. package/tools/sandbox/individual/update-sandbox-individual.mjs +16 -11
  442. package/tools/sandbox/individual/update-sandbox-individual.mjs.map +1 -1
  443. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.d.mts +2 -2
  444. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.d.mts.map +1 -1
  445. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.d.ts +2 -2
  446. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.d.ts.map +1 -1
  447. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.js +0 -1
  448. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.js.map +1 -1
  449. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.mjs +0 -1
  450. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.mjs.map +1 -1
  451. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.d.mts +2 -2
  452. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.d.mts.map +1 -1
  453. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.d.ts +2 -2
  454. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.d.ts.map +1 -1
  455. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.js +1 -1
  456. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.js.map +1 -1
  457. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.mjs +1 -1
  458. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.mjs.map +1 -1
  459. package/tools/sandbox/jobs/create-sandbox-jobs.d.mts +2 -2
  460. package/tools/sandbox/jobs/create-sandbox-jobs.d.mts.map +1 -1
  461. package/tools/sandbox/jobs/create-sandbox-jobs.d.ts +2 -2
  462. package/tools/sandbox/jobs/create-sandbox-jobs.d.ts.map +1 -1
  463. package/tools/sandbox/jobs/create-sandbox-jobs.js +1 -1
  464. package/tools/sandbox/jobs/create-sandbox-jobs.js.map +1 -1
  465. package/tools/sandbox/jobs/create-sandbox-jobs.mjs +1 -1
  466. package/tools/sandbox/jobs/create-sandbox-jobs.mjs.map +1 -1
  467. package/tools/sandbox/payment/create-sandbox-payment.d.mts +2 -2
  468. package/tools/sandbox/payment/create-sandbox-payment.d.mts.map +1 -1
  469. package/tools/sandbox/payment/create-sandbox-payment.d.ts +2 -2
  470. package/tools/sandbox/payment/create-sandbox-payment.d.ts.map +1 -1
  471. package/tools/sandbox/payment/create-sandbox-payment.js +47 -39
  472. package/tools/sandbox/payment/create-sandbox-payment.js.map +1 -1
  473. package/tools/sandbox/payment/create-sandbox-payment.mjs +47 -39
  474. package/tools/sandbox/payment/create-sandbox-payment.mjs.map +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.test.d.ts","sourceRoot":"","sources":["src/options.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const options_1 = require("./options.js");
4
+ // Mock process.argv
5
+ const mockArgv = (args) => {
6
+ const originalArgv = process.argv;
7
+ process.argv = ['node', 'test.js', ...args];
8
+ return () => {
9
+ process.argv = originalArgv;
10
+ };
11
+ };
12
+ describe('parseOptions', () => {
13
+ it('should parse basic filter options', () => {
14
+ const cleanup = mockArgv([
15
+ '--tool=test-tool',
16
+ '--resource=test-resource',
17
+ '--operation=read',
18
+ '--tag=test-tag',
19
+ ]);
20
+ const result = (0, options_1.parseOptions)();
21
+ expect(result.filters).toEqual([
22
+ { type: 'tag', op: 'include', value: 'test-tag' },
23
+ { type: 'resource', op: 'include', value: 'test-resource' },
24
+ { type: 'tool', op: 'include', value: 'test-tool' },
25
+ { type: 'operation', op: 'include', value: 'read' },
26
+ ]);
27
+ // Default client capabilities
28
+ expect(result.capabilities).toEqual({
29
+ topLevelUnions: true,
30
+ validJson: true,
31
+ refs: true,
32
+ unions: true,
33
+ formats: true,
34
+ toolNameLength: undefined,
35
+ });
36
+ expect(result.list).toBe(false);
37
+ cleanup();
38
+ });
39
+ it('should parse exclusion filters', () => {
40
+ const cleanup = mockArgv([
41
+ '--no-tool=exclude-tool',
42
+ '--no-resource=exclude-resource',
43
+ '--no-operation=write',
44
+ '--no-tag=exclude-tag',
45
+ ]);
46
+ const result = (0, options_1.parseOptions)();
47
+ expect(result.filters).toEqual([
48
+ { type: 'tag', op: 'exclude', value: 'exclude-tag' },
49
+ { type: 'resource', op: 'exclude', value: 'exclude-resource' },
50
+ { type: 'tool', op: 'exclude', value: 'exclude-tool' },
51
+ { type: 'operation', op: 'exclude', value: 'write' },
52
+ ]);
53
+ expect(result.capabilities).toEqual({
54
+ topLevelUnions: true,
55
+ validJson: true,
56
+ refs: true,
57
+ unions: true,
58
+ formats: true,
59
+ toolNameLength: undefined,
60
+ });
61
+ cleanup();
62
+ });
63
+ it('should parse client presets', () => {
64
+ const cleanup = mockArgv(['--client=openai-agents']);
65
+ const result = (0, options_1.parseOptions)();
66
+ expect(result.capabilities).toEqual({
67
+ topLevelUnions: false,
68
+ validJson: true,
69
+ refs: true,
70
+ unions: true,
71
+ formats: true,
72
+ toolNameLength: undefined,
73
+ });
74
+ cleanup();
75
+ });
76
+ it('should parse individual capabilities', () => {
77
+ const cleanup = mockArgv([
78
+ '--capability=top-level-unions',
79
+ '--capability=valid-json',
80
+ '--capability=refs',
81
+ '--capability=unions',
82
+ '--capability=tool-name-length=40',
83
+ ]);
84
+ const result = (0, options_1.parseOptions)();
85
+ expect(result.capabilities).toEqual({
86
+ topLevelUnions: true,
87
+ validJson: true,
88
+ refs: true,
89
+ unions: true,
90
+ formats: true,
91
+ toolNameLength: 40,
92
+ });
93
+ cleanup();
94
+ });
95
+ it('should handle list option', () => {
96
+ const cleanup = mockArgv(['--list']);
97
+ const result = (0, options_1.parseOptions)();
98
+ expect(result.list).toBe(true);
99
+ cleanup();
100
+ });
101
+ it('should handle multiple filters of the same type', () => {
102
+ const cleanup = mockArgv(['--tool=tool1', '--tool=tool2', '--resource=res1', '--resource=res2']);
103
+ const result = (0, options_1.parseOptions)();
104
+ expect(result.filters).toEqual([
105
+ { type: 'resource', op: 'include', value: 'res1' },
106
+ { type: 'resource', op: 'include', value: 'res2' },
107
+ { type: 'tool', op: 'include', value: 'tool1' },
108
+ { type: 'tool', op: 'include', value: 'tool2' },
109
+ ]);
110
+ cleanup();
111
+ });
112
+ it('should handle comma-separated values in array options', () => {
113
+ const cleanup = mockArgv([
114
+ '--tool=tool1,tool2',
115
+ '--resource=res1,res2',
116
+ '--capability=top-level-unions,valid-json,unions',
117
+ ]);
118
+ const result = (0, options_1.parseOptions)();
119
+ expect(result.filters).toEqual([
120
+ { type: 'resource', op: 'include', value: 'res1' },
121
+ { type: 'resource', op: 'include', value: 'res2' },
122
+ { type: 'tool', op: 'include', value: 'tool1' },
123
+ { type: 'tool', op: 'include', value: 'tool2' },
124
+ ]);
125
+ expect(result.capabilities).toEqual({
126
+ topLevelUnions: true,
127
+ validJson: true,
128
+ refs: true,
129
+ unions: true,
130
+ formats: true,
131
+ toolNameLength: undefined,
132
+ });
133
+ cleanup();
134
+ });
135
+ it('should handle invalid tool-name-length format', () => {
136
+ const cleanup = mockArgv(['--capability=tool-name-length=invalid']);
137
+ // Mock console.error to prevent output during test
138
+ const originalError = console.error;
139
+ console.error = jest.fn();
140
+ expect(() => (0, options_1.parseOptions)()).toThrow();
141
+ console.error = originalError;
142
+ cleanup();
143
+ });
144
+ it('should handle unknown capability', () => {
145
+ const cleanup = mockArgv(['--capability=unknown-capability']);
146
+ // Mock console.error to prevent output during test
147
+ const originalError = console.error;
148
+ console.error = jest.fn();
149
+ expect(() => (0, options_1.parseOptions)()).toThrow();
150
+ console.error = originalError;
151
+ cleanup();
152
+ });
153
+ });
154
+ //# sourceMappingURL=options.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.test.js","sourceRoot":"","sources":["src/options.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,152 @@
1
+ import { parseOptions } from "./options.mjs";
2
+ // Mock process.argv
3
+ const mockArgv = (args) => {
4
+ const originalArgv = process.argv;
5
+ process.argv = ['node', 'test.js', ...args];
6
+ return () => {
7
+ process.argv = originalArgv;
8
+ };
9
+ };
10
+ describe('parseOptions', () => {
11
+ it('should parse basic filter options', () => {
12
+ const cleanup = mockArgv([
13
+ '--tool=test-tool',
14
+ '--resource=test-resource',
15
+ '--operation=read',
16
+ '--tag=test-tag',
17
+ ]);
18
+ const result = parseOptions();
19
+ expect(result.filters).toEqual([
20
+ { type: 'tag', op: 'include', value: 'test-tag' },
21
+ { type: 'resource', op: 'include', value: 'test-resource' },
22
+ { type: 'tool', op: 'include', value: 'test-tool' },
23
+ { type: 'operation', op: 'include', value: 'read' },
24
+ ]);
25
+ // Default client capabilities
26
+ expect(result.capabilities).toEqual({
27
+ topLevelUnions: true,
28
+ validJson: true,
29
+ refs: true,
30
+ unions: true,
31
+ formats: true,
32
+ toolNameLength: undefined,
33
+ });
34
+ expect(result.list).toBe(false);
35
+ cleanup();
36
+ });
37
+ it('should parse exclusion filters', () => {
38
+ const cleanup = mockArgv([
39
+ '--no-tool=exclude-tool',
40
+ '--no-resource=exclude-resource',
41
+ '--no-operation=write',
42
+ '--no-tag=exclude-tag',
43
+ ]);
44
+ const result = parseOptions();
45
+ expect(result.filters).toEqual([
46
+ { type: 'tag', op: 'exclude', value: 'exclude-tag' },
47
+ { type: 'resource', op: 'exclude', value: 'exclude-resource' },
48
+ { type: 'tool', op: 'exclude', value: 'exclude-tool' },
49
+ { type: 'operation', op: 'exclude', value: 'write' },
50
+ ]);
51
+ expect(result.capabilities).toEqual({
52
+ topLevelUnions: true,
53
+ validJson: true,
54
+ refs: true,
55
+ unions: true,
56
+ formats: true,
57
+ toolNameLength: undefined,
58
+ });
59
+ cleanup();
60
+ });
61
+ it('should parse client presets', () => {
62
+ const cleanup = mockArgv(['--client=openai-agents']);
63
+ const result = parseOptions();
64
+ expect(result.capabilities).toEqual({
65
+ topLevelUnions: false,
66
+ validJson: true,
67
+ refs: true,
68
+ unions: true,
69
+ formats: true,
70
+ toolNameLength: undefined,
71
+ });
72
+ cleanup();
73
+ });
74
+ it('should parse individual capabilities', () => {
75
+ const cleanup = mockArgv([
76
+ '--capability=top-level-unions',
77
+ '--capability=valid-json',
78
+ '--capability=refs',
79
+ '--capability=unions',
80
+ '--capability=tool-name-length=40',
81
+ ]);
82
+ const result = parseOptions();
83
+ expect(result.capabilities).toEqual({
84
+ topLevelUnions: true,
85
+ validJson: true,
86
+ refs: true,
87
+ unions: true,
88
+ formats: true,
89
+ toolNameLength: 40,
90
+ });
91
+ cleanup();
92
+ });
93
+ it('should handle list option', () => {
94
+ const cleanup = mockArgv(['--list']);
95
+ const result = parseOptions();
96
+ expect(result.list).toBe(true);
97
+ cleanup();
98
+ });
99
+ it('should handle multiple filters of the same type', () => {
100
+ const cleanup = mockArgv(['--tool=tool1', '--tool=tool2', '--resource=res1', '--resource=res2']);
101
+ const result = parseOptions();
102
+ expect(result.filters).toEqual([
103
+ { type: 'resource', op: 'include', value: 'res1' },
104
+ { type: 'resource', op: 'include', value: 'res2' },
105
+ { type: 'tool', op: 'include', value: 'tool1' },
106
+ { type: 'tool', op: 'include', value: 'tool2' },
107
+ ]);
108
+ cleanup();
109
+ });
110
+ it('should handle comma-separated values in array options', () => {
111
+ const cleanup = mockArgv([
112
+ '--tool=tool1,tool2',
113
+ '--resource=res1,res2',
114
+ '--capability=top-level-unions,valid-json,unions',
115
+ ]);
116
+ const result = parseOptions();
117
+ expect(result.filters).toEqual([
118
+ { type: 'resource', op: 'include', value: 'res1' },
119
+ { type: 'resource', op: 'include', value: 'res2' },
120
+ { type: 'tool', op: 'include', value: 'tool1' },
121
+ { type: 'tool', op: 'include', value: 'tool2' },
122
+ ]);
123
+ expect(result.capabilities).toEqual({
124
+ topLevelUnions: true,
125
+ validJson: true,
126
+ refs: true,
127
+ unions: true,
128
+ formats: true,
129
+ toolNameLength: undefined,
130
+ });
131
+ cleanup();
132
+ });
133
+ it('should handle invalid tool-name-length format', () => {
134
+ const cleanup = mockArgv(['--capability=tool-name-length=invalid']);
135
+ // Mock console.error to prevent output during test
136
+ const originalError = console.error;
137
+ console.error = jest.fn();
138
+ expect(() => parseOptions()).toThrow();
139
+ console.error = originalError;
140
+ cleanup();
141
+ });
142
+ it('should handle unknown capability', () => {
143
+ const cleanup = mockArgv(['--capability=unknown-capability']);
144
+ // Mock console.error to prevent output during test
145
+ const originalError = console.error;
146
+ console.error = jest.fn();
147
+ expect(() => parseOptions()).toThrow();
148
+ console.error = originalError;
149
+ cleanup();
150
+ });
151
+ });
152
+ //# sourceMappingURL=options.test.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.test.mjs","sourceRoot":"","sources":["src/options.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tryfinch/finch-api-mcp",
3
- "version": "6.26.0",
3
+ "version": "6.28.0",
4
4
  "description": "The official MCP Server for the Finch API",
5
5
  "author": "Finch <founders@tryfinch.com>",
6
6
  "types": "./index.d.ts",
@@ -24,7 +24,7 @@
24
24
  "fix": "eslint --fix --ext ts,js ."
25
25
  },
26
26
  "dependencies": {
27
- "@tryfinch/finch-api": "^6.26.0",
27
+ "@tryfinch/finch-api": "^6.28.0",
28
28
  "@modelcontextprotocol/sdk": "^1.6.1",
29
29
  "yargs": "^17.7.2"
30
30
  },
package/server.d.mts CHANGED
@@ -3,6 +3,7 @@ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
3
  import { HandlerFunction } from "./tools.mjs";
4
4
  import { Tool } from '@modelcontextprotocol/sdk/types.js';
5
5
  import Finch from '@tryfinch/finch-api';
6
+ import { ClientCapabilities } from "./compat.mjs";
6
7
  export { endpoints } from "./tools.mjs";
7
8
  export declare const server: McpServer;
8
9
  /**
@@ -16,11 +17,12 @@ export declare function init(params: {
16
17
  tool: Tool;
17
18
  handler: HandlerFunction;
18
19
  }[];
20
+ capabilities?: Partial<ClientCapabilities>;
19
21
  }): void;
20
22
  /**
21
23
  * Runs the provided handler with the given client and arguments.
22
24
  */
23
- export declare function executeHandler(handler: HandlerFunction, client: Finch, args: Record<string, unknown> | undefined): Promise<{
25
+ export declare function executeHandler(tool: Tool, handler: HandlerFunction, client: Finch, args: Record<string, unknown> | undefined, compatibilityOptions?: Partial<ClientCapabilities>): Promise<{
24
26
  content: {
25
27
  type: string;
26
28
  text: string;
package/server.d.mts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.mts","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"OAEO,EAAE,MAAM,EAAE,MAAM,2CAA2C;OAC3D,EAAE,SAAS,EAAE,MAAM,yCAAyC;OAC5D,EAAa,eAAe,EAAE;OAC9B,EAAiD,IAAI,EAAE,MAAM,oCAAoC;OACjG,KAAK,MAAM,qBAAqB;OAChC,EAAE,SAAS,EAAE;AAGpB,eAAO,MAAM,MAAM,WAUlB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,eAAe,CAAA;KAAE,EAAE,CAAC;CACxD,QA0BA;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,KAAK,EACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;;;;;GAW1C;AAED,eAAO,MAAM,OAAO,QAAS,MAAM,KAAG,MAAM,GAAG,SAO9C,CAAC;AAEF,eAAO,MAAM,cAAc,QAAS,MAAM,KAAG,MAM5C,CAAC"}
1
+ {"version":3,"file":"server.d.mts","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"OAEO,EAAE,MAAM,EAAE,MAAM,2CAA2C;OAC3D,EAAE,SAAS,EAAE,MAAM,yCAAyC;OAC5D,EAAa,eAAe,EAAE;OAC9B,EAAiD,IAAI,EAAE,MAAM,oCAAoC;OACjG,KAAK,MAAM,qBAAqB;OAChC,EAAE,kBAAkB,EAAgD;OACpE,EAAE,SAAS,EAAE;AAGpB,eAAO,MAAM,MAAM,WAUlB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,eAAe,CAAA;KAAE,EAAE,CAAC;IACvD,YAAY,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC5C,QAuBA;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,KAAK,EACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,oBAAoB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC;;;;;GAenD;AAED,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,SAO9C,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,KAAG,MAM5C,CAAC"}
package/server.d.ts CHANGED
@@ -3,6 +3,7 @@ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
3
  import { HandlerFunction } from "./tools.js";
4
4
  import { Tool } from '@modelcontextprotocol/sdk/types.js';
5
5
  import Finch from '@tryfinch/finch-api';
6
+ import { ClientCapabilities } from "./compat.js";
6
7
  export { endpoints } from "./tools.js";
7
8
  export declare const server: McpServer;
8
9
  /**
@@ -16,11 +17,12 @@ export declare function init(params: {
16
17
  tool: Tool;
17
18
  handler: HandlerFunction;
18
19
  }[];
20
+ capabilities?: Partial<ClientCapabilities>;
19
21
  }): void;
20
22
  /**
21
23
  * Runs the provided handler with the given client and arguments.
22
24
  */
23
- export declare function executeHandler(handler: HandlerFunction, client: Finch, args: Record<string, unknown> | undefined): Promise<{
25
+ export declare function executeHandler(tool: Tool, handler: HandlerFunction, client: Finch, args: Record<string, unknown> | undefined, compatibilityOptions?: Partial<ClientCapabilities>): Promise<{
24
26
  content: {
25
27
  type: string;
26
28
  text: string;
package/server.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"OAEO,EAAE,MAAM,EAAE,MAAM,2CAA2C;OAC3D,EAAE,SAAS,EAAE,MAAM,yCAAyC;OAC5D,EAAa,eAAe,EAAE;OAC9B,EAAiD,IAAI,EAAE,MAAM,oCAAoC;OACjG,KAAK,MAAM,qBAAqB;OAChC,EAAE,SAAS,EAAE;AAGpB,eAAO,MAAM,MAAM,WAUlB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,eAAe,CAAA;KAAE,EAAE,CAAC;CACxD,QA0BA;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,KAAK,EACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;;;;;GAW1C;AAED,eAAO,MAAM,OAAO,QAAS,MAAM,KAAG,MAAM,GAAG,SAO9C,CAAC;AAEF,eAAO,MAAM,cAAc,QAAS,MAAM,KAAG,MAM5C,CAAC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"OAEO,EAAE,MAAM,EAAE,MAAM,2CAA2C;OAC3D,EAAE,SAAS,EAAE,MAAM,yCAAyC;OAC5D,EAAa,eAAe,EAAE;OAC9B,EAAiD,IAAI,EAAE,MAAM,oCAAoC;OACjG,KAAK,MAAM,qBAAqB;OAChC,EAAE,kBAAkB,EAAgD;OACpE,EAAE,SAAS,EAAE;AAGpB,eAAO,MAAM,MAAM,WAUlB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,eAAe,CAAA;KAAE,EAAE,CAAC;IACvD,YAAY,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC5C,QAuBA;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,KAAK,EACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,oBAAoB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC;;;;;GAenD;AAED,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,SAO9C,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,KAAG,MAM5C,CAAC"}
package/server.js CHANGED
@@ -4,17 +4,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
5
5
  };
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.readEnvOrError = exports.readEnv = exports.executeHandler = exports.init = exports.server = exports.endpoints = void 0;
7
+ exports.readEnvOrError = exports.readEnv = exports.server = exports.endpoints = void 0;
8
+ exports.init = init;
9
+ exports.executeHandler = executeHandler;
8
10
  const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
9
11
  const tools_1 = require("./tools.js");
10
12
  const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
11
13
  const finch_api_1 = __importDefault(require("@tryfinch/finch-api"));
14
+ const compat_1 = require("./compat.js");
12
15
  var tools_2 = require("./tools.js");
13
16
  Object.defineProperty(exports, "endpoints", { enumerable: true, get: function () { return tools_2.endpoints; } });
14
17
  // Create server instance
15
18
  exports.server = new mcp_js_1.McpServer({
16
19
  name: 'tryfinch_finch_api_api',
17
- version: '6.26.0',
20
+ version: '6.28.0',
18
21
  }, {
19
22
  capabilities: {
20
23
  tools: {},
@@ -27,28 +30,30 @@ exports.server = new mcp_js_1.McpServer({
27
30
  function init(params) {
28
31
  const server = params.server instanceof mcp_js_1.McpServer ? params.server.server : params.server;
29
32
  const providedEndpoints = params.endpoints || tools_1.endpoints;
30
- const tools = providedEndpoints.map((endpoint) => endpoint.tool);
31
- const handlers = Object.fromEntries(providedEndpoints.map((endpoint) => [endpoint.tool.name, endpoint.handler]));
33
+ const endpointMap = Object.fromEntries(providedEndpoints.map((endpoint) => [endpoint.tool.name, endpoint]));
32
34
  const client = params.client || new finch_api_1.default({ accessToken: (0, exports.readEnv)('FINCH_ACCESS_TOKEN') });
33
35
  server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => {
34
36
  return {
35
- tools,
37
+ tools: providedEndpoints.map((endpoint) => endpoint.tool),
36
38
  };
37
39
  });
38
40
  server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
39
41
  const { name, arguments: args } = request.params;
40
- const handler = handlers[name];
41
- if (!handler) {
42
+ const endpoint = endpointMap[name];
43
+ if (!endpoint) {
42
44
  throw new Error(`Unknown tool: ${name}`);
43
45
  }
44
- return executeHandler(handler, client, args);
46
+ return executeHandler(endpoint.tool, endpoint.handler, client, args, params.capabilities);
45
47
  });
46
48
  }
47
- exports.init = init;
48
49
  /**
49
50
  * Runs the provided handler with the given client and arguments.
50
51
  */
51
- async function executeHandler(handler, client, args) {
52
+ async function executeHandler(tool, handler, client, args, compatibilityOptions) {
53
+ const options = { ...compat_1.defaultClientCapabilities, ...compatibilityOptions };
54
+ if (options.validJson && args) {
55
+ args = args = (0, compat_1.parseEmbeddedJSON)(args, tool.inputSchema);
56
+ }
52
57
  const result = await handler(client, args || {});
53
58
  return {
54
59
  content: [
@@ -59,7 +64,6 @@ async function executeHandler(handler, client, args) {
59
64
  ],
60
65
  };
61
66
  }
62
- exports.executeHandler = executeHandler;
63
67
  const readEnv = (env) => {
64
68
  if (typeof globalThis.process !== 'undefined') {
65
69
  return globalThis.process.env?.[env]?.trim();
package/server.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"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"}
package/server.mjs CHANGED
@@ -3,11 +3,12 @@ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
3
  import { endpoints } from "./tools.mjs";
4
4
  import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';
5
5
  import Finch from '@tryfinch/finch-api';
6
+ import { defaultClientCapabilities, parseEmbeddedJSON } from "./compat.mjs";
6
7
  export { endpoints } from "./tools.mjs";
7
8
  // Create server instance
8
9
  export const server = new McpServer({
9
10
  name: 'tryfinch_finch_api_api',
10
- version: '6.26.0',
11
+ version: '6.28.0',
11
12
  }, {
12
13
  capabilities: {
13
14
  tools: {},
@@ -20,27 +21,30 @@ export const server = new McpServer({
20
21
  export function init(params) {
21
22
  const server = params.server instanceof McpServer ? params.server.server : params.server;
22
23
  const providedEndpoints = params.endpoints || endpoints;
23
- const tools = providedEndpoints.map((endpoint) => endpoint.tool);
24
- const handlers = Object.fromEntries(providedEndpoints.map((endpoint) => [endpoint.tool.name, endpoint.handler]));
24
+ const endpointMap = Object.fromEntries(providedEndpoints.map((endpoint) => [endpoint.tool.name, endpoint]));
25
25
  const client = params.client || new Finch({ accessToken: readEnv('FINCH_ACCESS_TOKEN') });
26
26
  server.setRequestHandler(ListToolsRequestSchema, async () => {
27
27
  return {
28
- tools,
28
+ tools: providedEndpoints.map((endpoint) => endpoint.tool),
29
29
  };
30
30
  });
31
31
  server.setRequestHandler(CallToolRequestSchema, async (request) => {
32
32
  const { name, arguments: args } = request.params;
33
- const handler = handlers[name];
34
- if (!handler) {
33
+ const endpoint = endpointMap[name];
34
+ if (!endpoint) {
35
35
  throw new Error(`Unknown tool: ${name}`);
36
36
  }
37
- return executeHandler(handler, client, args);
37
+ return executeHandler(endpoint.tool, endpoint.handler, client, args, params.capabilities);
38
38
  });
39
39
  }
40
40
  /**
41
41
  * Runs the provided handler with the given client and arguments.
42
42
  */
43
- export async function executeHandler(handler, client, args) {
43
+ export async function executeHandler(tool, handler, client, args, compatibilityOptions) {
44
+ const options = { ...defaultClientCapabilities, ...compatibilityOptions };
45
+ if (options.validJson && args) {
46
+ args = args = parseEmbeddedJSON(args, tool.inputSchema);
47
+ }
44
48
  const result = await handler(client, args || {});
45
49
  return {
46
50
  content: [
package/server.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"server.mjs","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.mjs","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"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"}