@greensecurity/javascript-sdk 0.18.2 → 0.21.1

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 (380) hide show
  1. package/REACT_QUERY.md +15 -15
  2. package/README.md +96 -9
  3. package/bin/mcp-server.js +1945 -233
  4. package/bin/mcp-server.js.map +67 -39
  5. package/funcs/organizationsListOrSearchFacilities.d.ts +2 -1
  6. package/funcs/organizationsListOrSearchFacilities.d.ts.map +1 -1
  7. package/funcs/organizationsListOrSearchFacilities.js +3 -2
  8. package/funcs/organizationsListOrSearchFacilities.js.map +1 -1
  9. package/funcs/vendorScansVendorScanOut.d.ts +17 -0
  10. package/funcs/vendorScansVendorScanOut.d.ts.map +1 -0
  11. package/funcs/vendorScansVendorScanOut.js +120 -0
  12. package/funcs/vendorScansVendorScanOut.js.map +1 -0
  13. package/funcs/vendorsGetVendorsDetails.d.ts +32 -0
  14. package/funcs/vendorsGetVendorsDetails.d.ts.map +1 -0
  15. package/funcs/vendorsGetVendorsDetails.js +139 -0
  16. package/funcs/vendorsGetVendorsDetails.js.map +1 -0
  17. package/funcs/vendorsListVendorCredentials.d.ts +4 -1
  18. package/funcs/vendorsListVendorCredentials.d.ts.map +1 -1
  19. package/funcs/vendorsListVendorCredentials.js +46 -6
  20. package/funcs/vendorsListVendorCredentials.js.map +1 -1
  21. package/funcs/vendorsListVendorFacilityStatuses.d.ts +20 -0
  22. package/funcs/vendorsListVendorFacilityStatuses.d.ts.map +1 -0
  23. package/funcs/vendorsListVendorFacilityStatuses.js +155 -0
  24. package/funcs/vendorsListVendorFacilityStatuses.js.map +1 -0
  25. package/funcs/vendorsListVendorJobTitles.d.ts +1 -1
  26. package/funcs/vendorsListVendorJobTitles.d.ts.map +1 -1
  27. package/funcs/vendorsListVendorJobTitles.js +21 -6
  28. package/funcs/vendorsListVendorJobTitles.js.map +1 -1
  29. package/funcs/vendorsListVendorScrubDetails.d.ts +18 -0
  30. package/funcs/vendorsListVendorScrubDetails.d.ts.map +1 -0
  31. package/funcs/vendorsListVendorScrubDetails.js +121 -0
  32. package/funcs/vendorsListVendorScrubDetails.js.map +1 -0
  33. package/funcs/vendorsListVendorScrubPurchases.d.ts +20 -0
  34. package/funcs/vendorsListVendorScrubPurchases.d.ts.map +1 -0
  35. package/funcs/vendorsListVendorScrubPurchases.js +160 -0
  36. package/funcs/vendorsListVendorScrubPurchases.js.map +1 -0
  37. package/funcs/webhooksGetWebhookEndpoint.d.ts +18 -0
  38. package/funcs/webhooksGetWebhookEndpoint.d.ts.map +1 -0
  39. package/funcs/webhooksGetWebhookEndpoint.js +121 -0
  40. package/funcs/webhooksGetWebhookEndpoint.js.map +1 -0
  41. package/funcs/webhooksListAllWebhookEndpoints.d.ts +17 -0
  42. package/funcs/webhooksListAllWebhookEndpoints.d.ts.map +1 -0
  43. package/funcs/webhooksListAllWebhookEndpoints.js +121 -0
  44. package/funcs/webhooksListAllWebhookEndpoints.js.map +1 -0
  45. package/jsr.json +1 -1
  46. package/lib/config.d.ts +3 -3
  47. package/lib/config.js +3 -3
  48. package/lib/sdks.d.ts.map +1 -1
  49. package/lib/sdks.js +2 -8
  50. package/lib/sdks.js.map +1 -1
  51. package/lib/security.d.ts +4 -3
  52. package/lib/security.d.ts.map +1 -1
  53. package/lib/security.js +6 -1
  54. package/lib/security.js.map +1 -1
  55. package/mcp-server/extensions.d.ts +2 -0
  56. package/mcp-server/extensions.d.ts.map +1 -1
  57. package/mcp-server/mcp-server.js +1 -1
  58. package/mcp-server/prompts.d.ts +26 -0
  59. package/mcp-server/prompts.d.ts.map +1 -0
  60. package/mcp-server/prompts.js +47 -0
  61. package/mcp-server/prompts.js.map +1 -0
  62. package/mcp-server/resources.d.ts.map +1 -1
  63. package/mcp-server/resources.js +1 -0
  64. package/mcp-server/resources.js.map +1 -1
  65. package/mcp-server/server.d.ts.map +1 -1
  66. package/mcp-server/server.js +18 -4
  67. package/mcp-server/server.js.map +1 -1
  68. package/mcp-server/tools/organizationsGetFacility.js +1 -1
  69. package/mcp-server/tools/organizationsListOrSearchFacilities.js +1 -1
  70. package/mcp-server/tools/supportArticlesGetSupportArticle.js +1 -1
  71. package/mcp-server/tools/supportArticlesListOrSearchSupportArticles.js +1 -1
  72. package/mcp-server/tools/usersGetCurrentUser.js +1 -1
  73. package/mcp-server/tools/usersGetUserById.js +1 -1
  74. package/mcp-server/tools/usersLogsUserIntoTheSystem.js +1 -1
  75. package/mcp-server/tools/usersMagiclink.js +1 -1
  76. package/mcp-server/tools/usersPassword.js +1 -1
  77. package/mcp-server/tools/usersPasswordResetRequest.js +1 -1
  78. package/mcp-server/tools/vendorScansVendorScanOut.d.ts +8 -0
  79. package/mcp-server/tools/vendorScansVendorScanOut.d.ts.map +1 -0
  80. package/mcp-server/tools/{userPasswordResetRequest.js → vendorScansVendorScanOut.js} +9 -9
  81. package/mcp-server/tools/{userPasswordResetRequest.js.map → vendorScansVendorScanOut.js.map} +1 -1
  82. package/mcp-server/tools/vendorsCreateVendorRegistration.js +1 -1
  83. package/mcp-server/tools/vendorsExpediteTimeRemaining.js +1 -1
  84. package/mcp-server/tools/vendorsGetVendorInvoiceDetails.js +1 -1
  85. package/mcp-server/tools/vendorsGetVendorsDetails.d.ts +8 -0
  86. package/mcp-server/tools/vendorsGetVendorsDetails.d.ts.map +1 -0
  87. package/mcp-server/tools/vendorsGetVendorsDetails.js +78 -0
  88. package/mcp-server/tools/vendorsGetVendorsDetails.js.map +1 -0
  89. package/mcp-server/tools/vendorsListVendorCredentials.js +2 -2
  90. package/mcp-server/tools/vendorsListVendorCredentials.js.map +1 -1
  91. package/mcp-server/tools/vendorsListVendorFacilityStatuses.d.ts +8 -0
  92. package/mcp-server/tools/vendorsListVendorFacilityStatuses.d.ts.map +1 -0
  93. package/mcp-server/tools/vendorsListVendorFacilityStatuses.js +64 -0
  94. package/mcp-server/tools/vendorsListVendorFacilityStatuses.js.map +1 -0
  95. package/mcp-server/tools/vendorsListVendorInvoices.js +1 -1
  96. package/mcp-server/tools/vendorsListVendorScrubDetails.d.ts +8 -0
  97. package/mcp-server/tools/vendorsListVendorScrubDetails.d.ts.map +1 -0
  98. package/mcp-server/tools/{userGetUserById.js → vendorsListVendorScrubDetails.js} +9 -9
  99. package/mcp-server/tools/vendorsListVendorScrubDetails.js.map +1 -0
  100. package/mcp-server/tools/vendorsListVendorScrubPurchases.d.ts +8 -0
  101. package/mcp-server/tools/vendorsListVendorScrubPurchases.d.ts.map +1 -0
  102. package/mcp-server/tools/{userPassword.js → vendorsListVendorScrubPurchases.js} +10 -11
  103. package/mcp-server/tools/vendorsListVendorScrubPurchases.js.map +1 -0
  104. package/mcp-server/tools/webhooksGetWebhookEndpoint.d.ts +8 -0
  105. package/mcp-server/tools/webhooksGetWebhookEndpoint.d.ts.map +1 -0
  106. package/mcp-server/tools/{vendorsListVendorJobTitles.js → webhooksGetWebhookEndpoint.js} +10 -10
  107. package/mcp-server/tools/webhooksGetWebhookEndpoint.js.map +1 -0
  108. package/mcp-server/tools/webhooksListAllWebhookEndpoints.d.ts +8 -0
  109. package/mcp-server/tools/webhooksListAllWebhookEndpoints.d.ts.map +1 -0
  110. package/mcp-server/tools/{userMagiclink.js → webhooksListAllWebhookEndpoints.js} +9 -9
  111. package/mcp-server/tools/webhooksListAllWebhookEndpoints.js.map +1 -0
  112. package/mcp-server/tools.d.ts.map +1 -1
  113. package/mcp-server/tools.js +4 -0
  114. package/mcp-server/tools.js.map +1 -1
  115. package/models/components/company.d.ts +15 -15
  116. package/models/components/company.d.ts.map +1 -1
  117. package/models/components/company.js +19 -18
  118. package/models/components/company.js.map +1 -1
  119. package/models/components/contact.d.ts +13 -13
  120. package/models/components/contact.d.ts.map +1 -1
  121. package/models/components/contact.js +16 -16
  122. package/models/components/contact.js.map +1 -1
  123. package/models/components/department.d.ts +34 -0
  124. package/models/components/department.d.ts.map +1 -0
  125. package/models/components/department.js +71 -0
  126. package/models/components/department.js.map +1 -0
  127. package/models/components/expand.d.ts +24 -0
  128. package/models/components/expand.d.ts.map +1 -1
  129. package/models/components/expand.js +8 -0
  130. package/models/components/expand.js.map +1 -1
  131. package/models/components/facility.d.ts +17 -17
  132. package/models/components/facility.d.ts.map +1 -1
  133. package/models/components/facility.js +20 -20
  134. package/models/components/facility.js.map +1 -1
  135. package/models/components/index.d.ts +8 -0
  136. package/models/components/index.d.ts.map +1 -1
  137. package/models/components/index.js +8 -0
  138. package/models/components/index.js.map +1 -1
  139. package/models/components/scantype.d.ts +31 -0
  140. package/models/components/scantype.d.ts.map +1 -0
  141. package/models/components/scantype.js +62 -0
  142. package/models/components/scantype.js.map +1 -0
  143. package/models/components/subscription.d.ts +42 -0
  144. package/models/components/subscription.d.ts.map +1 -0
  145. package/models/components/subscription.js +92 -0
  146. package/models/components/subscription.js.map +1 -0
  147. package/models/components/user.d.ts +8 -25
  148. package/models/components/user.d.ts.map +1 -1
  149. package/models/components/user.js +8 -31
  150. package/models/components/user.js.map +1 -1
  151. package/models/components/vendor.d.ts +374 -0
  152. package/models/components/vendor.d.ts.map +1 -0
  153. package/models/components/vendor.js +523 -0
  154. package/models/components/vendor.js.map +1 -0
  155. package/models/components/vendorfacilitystatusview.d.ts +42 -0
  156. package/models/components/vendorfacilitystatusview.d.ts.map +1 -0
  157. package/models/components/vendorfacilitystatusview.js +98 -0
  158. package/models/components/vendorfacilitystatusview.js.map +1 -0
  159. package/models/components/vendorscrubdetails.d.ts +42 -0
  160. package/models/components/vendorscrubdetails.d.ts.map +1 -0
  161. package/models/components/vendorscrubdetails.js +98 -0
  162. package/models/components/vendorscrubdetails.js.map +1 -0
  163. package/models/components/vendorscrubpurchase.d.ts +38 -0
  164. package/models/components/vendorscrubpurchase.d.ts.map +1 -0
  165. package/models/components/vendorscrubpurchase.js +84 -0
  166. package/models/components/vendorscrubpurchase.js.map +1 -0
  167. package/models/components/webhookendpoint.d.ts +135 -0
  168. package/models/components/webhookendpoint.d.ts.map +1 -0
  169. package/models/components/webhookendpoint.js +158 -0
  170. package/models/components/webhookendpoint.js.map +1 -0
  171. package/models/operations/getvendorsdetails.d.ts +38 -0
  172. package/models/operations/getvendorsdetails.d.ts.map +1 -0
  173. package/models/operations/getvendorsdetails.js +81 -0
  174. package/models/operations/getvendorsdetails.js.map +1 -0
  175. package/models/operations/getwebhookendpoint.d.ts +32 -0
  176. package/models/operations/getwebhookendpoint.d.ts.map +1 -0
  177. package/models/operations/getwebhookendpoint.js +69 -0
  178. package/models/operations/getwebhookendpoint.js.map +1 -0
  179. package/models/operations/index.d.ts +7 -0
  180. package/models/operations/index.d.ts.map +1 -1
  181. package/models/operations/index.js +7 -0
  182. package/models/operations/index.js.map +1 -1
  183. package/models/operations/listallwebhookendpoints.d.ts +81 -0
  184. package/models/operations/listallwebhookendpoints.d.ts.map +1 -0
  185. package/models/operations/listallwebhookendpoints.js +114 -0
  186. package/models/operations/listallwebhookendpoints.js.map +1 -0
  187. package/models/operations/listorsearchfacilities.d.ts +2 -2
  188. package/models/operations/listorsearchfacilities.d.ts.map +1 -1
  189. package/models/operations/listorsearchfacilities.js +2 -2
  190. package/models/operations/listorsearchfacilities.js.map +1 -1
  191. package/models/operations/listvendorcredentials.d.ts +77 -5
  192. package/models/operations/listvendorcredentials.d.ts.map +1 -1
  193. package/models/operations/listvendorcredentials.js +78 -3
  194. package/models/operations/listvendorcredentials.js.map +1 -1
  195. package/models/operations/listvendorfacilitystatuses.d.ts +111 -0
  196. package/models/operations/listvendorfacilitystatuses.d.ts.map +1 -0
  197. package/models/operations/listvendorfacilitystatuses.js +153 -0
  198. package/models/operations/listvendorfacilitystatuses.js.map +1 -0
  199. package/models/operations/listvendorjobtitles.d.ts +27 -0
  200. package/models/operations/listvendorjobtitles.d.ts.map +1 -1
  201. package/models/operations/listvendorjobtitles.js +38 -1
  202. package/models/operations/listvendorjobtitles.js.map +1 -1
  203. package/models/operations/listvendorscrubdetails.d.ts +32 -0
  204. package/models/operations/listvendorscrubdetails.d.ts.map +1 -0
  205. package/models/operations/listvendorscrubdetails.js +78 -0
  206. package/models/operations/listvendorscrubdetails.js.map +1 -0
  207. package/models/operations/listvendorscrubpurchases.d.ts +111 -0
  208. package/models/operations/listvendorscrubpurchases.d.ts.map +1 -0
  209. package/models/operations/listvendorscrubpurchases.js +153 -0
  210. package/models/operations/listvendorscrubpurchases.js.map +1 -0
  211. package/models/operations/vendorscanout.d.ts +64 -0
  212. package/models/operations/vendorscanout.d.ts.map +1 -0
  213. package/models/operations/vendorscanout.js +100 -0
  214. package/models/operations/vendorscanout.js.map +1 -0
  215. package/package.json +1 -1
  216. package/react-query/index.d.ts +7 -0
  217. package/react-query/index.d.ts.map +1 -1
  218. package/react-query/index.js +7 -0
  219. package/react-query/index.js.map +1 -1
  220. package/react-query/vendorScansVendorScanOut.d.ts +23 -0
  221. package/react-query/vendorScansVendorScanOut.d.ts.map +1 -0
  222. package/react-query/vendorScansVendorScanOut.js +47 -0
  223. package/react-query/vendorScansVendorScanOut.js.map +1 -0
  224. package/react-query/vendorsGetVendorsDetails.d.ts +71 -0
  225. package/react-query/vendorsGetVendorsDetails.d.ts.map +1 -0
  226. package/react-query/vendorsGetVendorsDetails.js +123 -0
  227. package/react-query/vendorsGetVendorsDetails.js.map +1 -0
  228. package/react-query/vendorsListVendorCredentials.d.ts +40 -3
  229. package/react-query/vendorsListVendorCredentials.d.ts.map +1 -1
  230. package/react-query/vendorsListVendorCredentials.js +67 -0
  231. package/react-query/vendorsListVendorCredentials.js.map +1 -1
  232. package/react-query/vendorsListVendorFacilityStatuses.d.ts +78 -0
  233. package/react-query/vendorsListVendorFacilityStatuses.d.ts.map +1 -0
  234. package/react-query/vendorsListVendorFacilityStatuses.js +161 -0
  235. package/react-query/vendorsListVendorFacilityStatuses.js.map +1 -0
  236. package/react-query/vendorsListVendorJobTitles.d.ts +7 -7
  237. package/react-query/vendorsListVendorJobTitles.d.ts.map +1 -1
  238. package/react-query/vendorsListVendorJobTitles.js +15 -15
  239. package/react-query/vendorsListVendorJobTitles.js.map +1 -1
  240. package/react-query/vendorsListVendorScrubDetails.d.ts +31 -0
  241. package/react-query/vendorsListVendorScrubDetails.d.ts.map +1 -0
  242. package/react-query/vendorsListVendorScrubDetails.js +96 -0
  243. package/react-query/vendorsListVendorScrubDetails.js.map +1 -0
  244. package/react-query/vendorsListVendorScrubPurchases.d.ts +77 -0
  245. package/react-query/vendorsListVendorScrubPurchases.d.ts.map +1 -0
  246. package/react-query/vendorsListVendorScrubPurchases.js +160 -0
  247. package/react-query/vendorsListVendorScrubPurchases.js.map +1 -0
  248. package/react-query/webhooksGetWebhookEndpoint.d.ts +31 -0
  249. package/react-query/webhooksGetWebhookEndpoint.d.ts.map +1 -0
  250. package/react-query/webhooksGetWebhookEndpoint.js +96 -0
  251. package/react-query/webhooksGetWebhookEndpoint.js.map +1 -0
  252. package/react-query/webhooksListAllWebhookEndpoints.d.ts +50 -0
  253. package/react-query/webhooksListAllWebhookEndpoints.d.ts.map +1 -0
  254. package/react-query/webhooksListAllWebhookEndpoints.js +101 -0
  255. package/react-query/webhooksListAllWebhookEndpoints.js.map +1 -0
  256. package/sdk/sdk.d.ts +6 -0
  257. package/sdk/sdk.d.ts.map +1 -1
  258. package/sdk/sdk.js +8 -0
  259. package/sdk/sdk.js.map +1 -1
  260. package/sdk/vendors.d.ts +50 -2
  261. package/sdk/vendors.d.ts.map +1 -1
  262. package/sdk/vendors.js +57 -3
  263. package/sdk/vendors.js.map +1 -1
  264. package/sdk/vendorscans.d.ts +12 -0
  265. package/sdk/vendorscans.d.ts.map +1 -0
  266. package/sdk/vendorscans.js +22 -0
  267. package/sdk/vendorscans.js.map +1 -0
  268. package/sdk/webhooks.d.ts +20 -0
  269. package/sdk/webhooks.d.ts.map +1 -0
  270. package/sdk/webhooks.js +32 -0
  271. package/sdk/webhooks.js.map +1 -0
  272. package/src/__tests__/vendors.test.ts +51 -118
  273. package/src/__tests__/vendorscans.test.ts +27 -0
  274. package/src/__tests__/webhooks.test.ts +45 -0
  275. package/src/funcs/organizationsListOrSearchFacilities.ts +12 -1
  276. package/src/funcs/vendorScansVendorScanOut.ts +172 -0
  277. package/src/funcs/vendorsGetVendorsDetails.ts +192 -0
  278. package/src/funcs/vendorsListVendorCredentials.ts +104 -27
  279. package/src/funcs/vendorsListVendorFacilityStatuses.ts +246 -0
  280. package/src/funcs/vendorsListVendorJobTitles.ts +25 -2
  281. package/src/funcs/vendorsListVendorScrubDetails.ts +172 -0
  282. package/src/funcs/vendorsListVendorScrubPurchases.ts +249 -0
  283. package/src/funcs/webhooksGetWebhookEndpoint.ts +173 -0
  284. package/src/funcs/webhooksListAllWebhookEndpoints.ts +174 -0
  285. package/src/lib/config.ts +3 -3
  286. package/src/lib/sdks.ts +2 -7
  287. package/src/lib/security.ts +11 -3
  288. package/src/mcp-server/extensions.ts +4 -0
  289. package/src/mcp-server/mcp-server.ts +1 -1
  290. package/src/mcp-server/prompts.ts +110 -0
  291. package/src/mcp-server/resources.ts +1 -0
  292. package/src/mcp-server/server.ts +18 -4
  293. package/src/mcp-server/tools/organizationsGetFacility.ts +1 -1
  294. package/src/mcp-server/tools/organizationsListOrSearchFacilities.ts +1 -1
  295. package/src/mcp-server/tools/supportArticlesGetSupportArticle.ts +1 -1
  296. package/src/mcp-server/tools/supportArticlesListOrSearchSupportArticles.ts +1 -1
  297. package/src/mcp-server/tools/usersGetCurrentUser.ts +1 -1
  298. package/src/mcp-server/tools/usersGetUserById.ts +1 -1
  299. package/src/mcp-server/tools/usersLogsUserIntoTheSystem.ts +1 -1
  300. package/src/mcp-server/tools/usersMagiclink.ts +1 -1
  301. package/src/mcp-server/tools/usersPassword.ts +1 -1
  302. package/src/mcp-server/tools/usersPasswordResetRequest.ts +1 -1
  303. package/src/mcp-server/tools/vendorScansVendorScanOut.ts +37 -0
  304. package/src/mcp-server/tools/vendorsCreateVendorRegistration.ts +1 -1
  305. package/src/mcp-server/tools/vendorsExpediteTimeRemaining.ts +1 -1
  306. package/src/mcp-server/tools/vendorsGetVendorInvoiceDetails.ts +1 -1
  307. package/src/mcp-server/tools/vendorsGetVendorsDetails.ts +51 -0
  308. package/src/mcp-server/tools/vendorsListVendorCredentials.ts +2 -2
  309. package/src/mcp-server/tools/{vendorsListVendorJobTitles.ts → vendorsListVendorFacilityStatuses.ts} +9 -7
  310. package/src/mcp-server/tools/vendorsListVendorInvoices.ts +1 -1
  311. package/src/mcp-server/tools/vendorsListVendorScrubDetails.ts +37 -0
  312. package/src/mcp-server/tools/vendorsListVendorScrubPurchases.ts +38 -0
  313. package/src/mcp-server/tools/webhooksGetWebhookEndpoint.ts +37 -0
  314. package/src/mcp-server/tools/webhooksListAllWebhookEndpoints.ts +38 -0
  315. package/src/mcp-server/tools.ts +5 -0
  316. package/src/models/components/company.ts +27 -24
  317. package/src/models/components/contact.ts +24 -20
  318. package/src/models/components/department.ts +69 -0
  319. package/src/models/components/expand.ts +8 -0
  320. package/src/models/components/facility.ts +28 -32
  321. package/src/models/components/index.ts +8 -0
  322. package/src/models/components/scantype.ts +32 -0
  323. package/src/models/components/subscription.ts +98 -0
  324. package/src/models/components/user.ts +19 -53
  325. package/src/models/components/vendor.ts +925 -0
  326. package/src/models/components/vendorfacilitystatusview.ts +108 -0
  327. package/src/models/components/vendorscrubdetails.ts +108 -0
  328. package/src/models/components/vendorscrubpurchase.ts +90 -0
  329. package/src/models/components/webhookendpoint.ts +244 -0
  330. package/src/models/operations/getvendorsdetails.ts +86 -0
  331. package/src/models/operations/getwebhookendpoint.ts +69 -0
  332. package/src/models/operations/index.ts +7 -0
  333. package/src/models/operations/listallwebhookendpoints.ts +175 -0
  334. package/src/models/operations/listorsearchfacilities.ts +4 -4
  335. package/src/models/operations/listvendorcredentials.ts +160 -7
  336. package/src/models/operations/listvendorfacilitystatuses.ts +256 -0
  337. package/src/models/operations/listvendorjobtitles.ts +72 -0
  338. package/src/models/operations/listvendorscrubdetails.ts +80 -0
  339. package/src/models/operations/listvendorscrubpurchases.ts +252 -0
  340. package/src/models/operations/vendorscanout.ts +138 -0
  341. package/src/react-query/index.ts +7 -0
  342. package/src/react-query/vendorScansVendorScanOut.ts +89 -0
  343. package/src/react-query/vendorsGetVendorsDetails.ts +201 -0
  344. package/src/react-query/vendorsListVendorCredentials.ts +169 -1
  345. package/src/react-query/vendorsListVendorFacilityStatuses.ts +347 -0
  346. package/src/react-query/vendorsListVendorJobTitles.ts +15 -0
  347. package/src/react-query/vendorsListVendorScrubDetails.ts +166 -0
  348. package/src/react-query/vendorsListVendorScrubPurchases.ts +346 -0
  349. package/src/react-query/webhooksGetWebhookEndpoint.ts +163 -0
  350. package/src/react-query/webhooksListAllWebhookEndpoints.ts +193 -0
  351. package/src/sdk/sdk.ts +12 -0
  352. package/src/sdk/vendors.ts +99 -2
  353. package/src/sdk/vendorscans.ts +27 -0
  354. package/src/sdk/webhooks.ts +46 -0
  355. package/mcp-server/tools/userGetCurrentUser.d.ts +0 -3
  356. package/mcp-server/tools/userGetCurrentUser.d.ts.map +0 -1
  357. package/mcp-server/tools/userGetCurrentUser.js +0 -26
  358. package/mcp-server/tools/userGetCurrentUser.js.map +0 -1
  359. package/mcp-server/tools/userGetUserById.d.ts +0 -8
  360. package/mcp-server/tools/userGetUserById.d.ts.map +0 -1
  361. package/mcp-server/tools/userGetUserById.js.map +0 -1
  362. package/mcp-server/tools/userLogsUserIntoTheSystem.d.ts +0 -8
  363. package/mcp-server/tools/userLogsUserIntoTheSystem.d.ts.map +0 -1
  364. package/mcp-server/tools/userLogsUserIntoTheSystem.js +0 -94
  365. package/mcp-server/tools/userLogsUserIntoTheSystem.js.map +0 -1
  366. package/mcp-server/tools/userMagiclink.d.ts +0 -8
  367. package/mcp-server/tools/userMagiclink.d.ts.map +0 -1
  368. package/mcp-server/tools/userMagiclink.js.map +0 -1
  369. package/mcp-server/tools/userPassword.d.ts +0 -8
  370. package/mcp-server/tools/userPassword.d.ts.map +0 -1
  371. package/mcp-server/tools/userPassword.js.map +0 -1
  372. package/mcp-server/tools/userPasswordResetRequest.d.ts +0 -8
  373. package/mcp-server/tools/userPasswordResetRequest.d.ts.map +0 -1
  374. package/mcp-server/tools/vendorsListVendorJobTitles.d.ts +0 -8
  375. package/mcp-server/tools/vendorsListVendorJobTitles.d.ts.map +0 -1
  376. package/mcp-server/tools/vendorsListVendorJobTitles.js.map +0 -1
  377. package/src/__tests__/organizations.test.ts +0 -78
  378. package/src/__tests__/supportarticles.test.ts +0 -64
  379. package/src/__tests__/user.test.ts +0 -218
  380. package/vitest.config.ts +0 -8
@@ -0,0 +1,110 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
6
+ import { RequestHandlerExtra } from "@modelcontextprotocol/sdk/shared/protocol.js";
7
+ import { GetPromptResult } from "@modelcontextprotocol/sdk/types.js";
8
+ import {
9
+ objectOutputType,
10
+ ZodOptional,
11
+ ZodType,
12
+ ZodTypeAny,
13
+ ZodTypeDef,
14
+ } from "zod";
15
+ import { GreenSecurityCore } from "../core.js";
16
+ import { ConsoleLogger } from "./console-logger.js";
17
+ import { MCPScope } from "./scopes.js";
18
+
19
+ // '@modelcontextprotocol/sdk' currently does not export this type
20
+ export type PromptArgsRawShape = {
21
+ [k: string]:
22
+ | ZodType<string, ZodTypeDef, string>
23
+ | ZodOptional<ZodType<string, ZodTypeDef, string>>;
24
+ };
25
+
26
+ export type PromptDefinition<
27
+ Args extends undefined | PromptArgsRawShape = undefined,
28
+ > = Args extends PromptArgsRawShape ? {
29
+ name: string;
30
+ description?: string;
31
+ scopes?: MCPScope[];
32
+ args: Args;
33
+ prompt: (
34
+ client: GreenSecurityCore,
35
+ args: objectOutputType<Args, ZodTypeAny>,
36
+ extra: RequestHandlerExtra,
37
+ ) => GetPromptResult | Promise<GetPromptResult>;
38
+ }
39
+ : {
40
+ name: string;
41
+ description?: string;
42
+ scopes?: MCPScope[];
43
+ args?: undefined;
44
+ prompt: (
45
+ client: GreenSecurityCore,
46
+ extra: RequestHandlerExtra,
47
+ ) => GetPromptResult | Promise<GetPromptResult>;
48
+ };
49
+
50
+ // Optional function to assist with formatting prompt results
51
+ export async function formatResult(value: string): Promise<GetPromptResult> {
52
+ return {
53
+ messages: [
54
+ {
55
+ role: "user",
56
+ content: {
57
+ type: "text",
58
+ text: value,
59
+ },
60
+ },
61
+ ],
62
+ };
63
+ }
64
+
65
+ export function createRegisterPrompt(
66
+ logger: ConsoleLogger,
67
+ server: McpServer,
68
+ sdk: GreenSecurityCore,
69
+ allowedScopes: Set<MCPScope>,
70
+ ): <A extends PromptArgsRawShape | undefined>(
71
+ prompt: PromptDefinition<A>,
72
+ ) => void {
73
+ return <A extends PromptArgsRawShape | undefined>(
74
+ prompt: PromptDefinition<A>,
75
+ ): void => {
76
+ const scopes = prompt.scopes ?? [];
77
+ if (!scopes.every((s: MCPScope) => allowedScopes.has(s))) {
78
+ return;
79
+ }
80
+
81
+ if (prompt.args) {
82
+ if (prompt.description) {
83
+ server.prompt(
84
+ prompt.name,
85
+ prompt.description,
86
+ prompt.args,
87
+ async (args, ctx) => prompt.prompt(sdk, args, ctx),
88
+ );
89
+ } else {
90
+ server.prompt(
91
+ prompt.name,
92
+ prompt.args,
93
+ async (args, ctx) => prompt.prompt(sdk, args, ctx),
94
+ );
95
+ }
96
+ } else {
97
+ if (prompt.description) {
98
+ server.prompt(
99
+ prompt.name,
100
+ prompt.description,
101
+ async (ctx) => prompt.prompt(sdk, ctx),
102
+ );
103
+ } else {
104
+ server.prompt(prompt.name, async (ctx) => prompt.prompt(sdk, ctx));
105
+ }
106
+ }
107
+
108
+ logger.debug("Registered prompt", { name: prompt.name });
109
+ };
110
+ }
@@ -46,6 +46,7 @@ export type ResourceTemplateDefinition = {
46
46
  read: ReadResourceTemplateCallback;
47
47
  };
48
48
 
49
+ // Optional function to assist with formatting resource results
49
50
  export async function formatResult(
50
51
  value: unknown,
51
52
  uri: URL,
@@ -6,6 +6,7 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
6
6
  import { GreenSecurityCore } from "../core.js";
7
7
  import { SDKOptions } from "../lib/config.js";
8
8
  import type { ConsoleLogger } from "./console-logger.js";
9
+ import { createRegisterPrompt } from "./prompts.js";
9
10
  import {
10
11
  createRegisterResource,
11
12
  createRegisterResourceTemplate,
@@ -22,12 +23,18 @@ import { tool$usersLogsUserIntoTheSystem } from "./tools/usersLogsUserIntoTheSys
22
23
  import { tool$usersMagiclink } from "./tools/usersMagiclink.js";
23
24
  import { tool$usersPassword } from "./tools/usersPassword.js";
24
25
  import { tool$usersPasswordResetRequest } from "./tools/usersPasswordResetRequest.js";
26
+ import { tool$vendorScansVendorScanOut } from "./tools/vendorScansVendorScanOut.js";
25
27
  import { tool$vendorsCreateVendorRegistration } from "./tools/vendorsCreateVendorRegistration.js";
26
28
  import { tool$vendorsExpediteTimeRemaining } from "./tools/vendorsExpediteTimeRemaining.js";
27
29
  import { tool$vendorsGetVendorInvoiceDetails } from "./tools/vendorsGetVendorInvoiceDetails.js";
30
+ import { tool$vendorsGetVendorsDetails } from "./tools/vendorsGetVendorsDetails.js";
28
31
  import { tool$vendorsListVendorCredentials } from "./tools/vendorsListVendorCredentials.js";
32
+ import { tool$vendorsListVendorFacilityStatuses } from "./tools/vendorsListVendorFacilityStatuses.js";
29
33
  import { tool$vendorsListVendorInvoices } from "./tools/vendorsListVendorInvoices.js";
30
- import { tool$vendorsListVendorJobTitles } from "./tools/vendorsListVendorJobTitles.js";
34
+ import { tool$vendorsListVendorScrubDetails } from "./tools/vendorsListVendorScrubDetails.js";
35
+ import { tool$vendorsListVendorScrubPurchases } from "./tools/vendorsListVendorScrubPurchases.js";
36
+ import { tool$webhooksGetWebhookEndpoint } from "./tools/webhooksGetWebhookEndpoint.js";
37
+ import { tool$webhooksListAllWebhookEndpoints } from "./tools/webhooksListAllWebhookEndpoints.js";
31
38
 
32
39
  export function createMCPServer(deps: {
33
40
  logger: ConsoleLogger;
@@ -39,7 +46,7 @@ export function createMCPServer(deps: {
39
46
  }) {
40
47
  const server = new McpServer({
41
48
  name: "GreenSecurity",
42
- version: "0.18.2",
49
+ version: "0.21.1",
43
50
  });
44
51
 
45
52
  const client = new GreenSecurityCore({
@@ -65,15 +72,19 @@ export function createMCPServer(deps: {
65
72
  client,
66
73
  scopes,
67
74
  );
68
- const register = { tool, resource, resourceTemplate };
75
+ const prompt = createRegisterPrompt(deps.logger, server, client, scopes);
76
+ const register = { tool, resource, resourceTemplate, prompt };
69
77
  void register; // suppress unused warnings
70
78
 
71
79
  tool(tool$vendorsCreateVendorRegistration);
72
- tool(tool$vendorsListVendorJobTitles);
73
80
  tool(tool$vendorsListVendorCredentials);
74
81
  tool(tool$vendorsExpediteTimeRemaining);
75
82
  tool(tool$vendorsListVendorInvoices);
76
83
  tool(tool$vendorsGetVendorInvoiceDetails);
84
+ tool(tool$vendorsListVendorFacilityStatuses);
85
+ tool(tool$vendorsListVendorScrubPurchases);
86
+ tool(tool$vendorsListVendorScrubDetails);
87
+ tool(tool$vendorsGetVendorsDetails);
77
88
  tool(tool$usersGetCurrentUser);
78
89
  tool(tool$usersGetUserById);
79
90
  tool(tool$usersLogsUserIntoTheSystem);
@@ -84,6 +95,9 @@ export function createMCPServer(deps: {
84
95
  tool(tool$organizationsGetFacility);
85
96
  tool(tool$supportArticlesListOrSearchSupportArticles);
86
97
  tool(tool$supportArticlesGetSupportArticle);
98
+ tool(tool$webhooksListAllWebhookEndpoints);
99
+ tool(tool$webhooksGetWebhookEndpoint);
100
+ tool(tool$vendorScansVendorScanOut);
87
101
 
88
102
  return server;
89
103
  }
@@ -11,7 +11,7 @@ const args = {
11
11
  };
12
12
 
13
13
  export const tool$organizationsGetFacility: ToolDefinition<typeof args> = {
14
- name: "organizations_get-facility",
14
+ name: "organizations-get-facility",
15
15
  description: `Get facility
16
16
 
17
17
  Retrieve an individual facility.`,
@@ -13,7 +13,7 @@ const args = {
13
13
  export const tool$organizationsListOrSearchFacilities: ToolDefinition<
14
14
  typeof args
15
15
  > = {
16
- name: "organizations_list-or-search-facilities",
16
+ name: "organizations-list-or-search-facilities",
17
17
  description: `List or search facilities
18
18
 
19
19
  List or search facilities.
@@ -13,7 +13,7 @@ const args = {
13
13
  export const tool$supportArticlesGetSupportArticle: ToolDefinition<
14
14
  typeof args
15
15
  > = {
16
- name: "support-articles_get-support-article",
16
+ name: "support-articles-get-support-article",
17
17
  description: `Get support article
18
18
 
19
19
  Retrieve an individual support article.
@@ -13,7 +13,7 @@ const args = {
13
13
  export const tool$supportArticlesListOrSearchSupportArticles: ToolDefinition<
14
14
  typeof args
15
15
  > = {
16
- name: "support-articles_list-or-search-support-articles",
16
+ name: "support-articles-list-or-search-support-articles",
17
17
  description: `List or search support articles
18
18
 
19
19
  List or search support articles for FAQ.`,
@@ -6,7 +6,7 @@ import { usersGetCurrentUser } from "../../funcs/usersGetCurrentUser.js";
6
6
  import { formatResult, ToolDefinition } from "../tools.js";
7
7
 
8
8
  export const tool$usersGetCurrentUser: ToolDefinition = {
9
- name: "users_get-current-user",
9
+ name: "users-get-current-user",
10
10
  description: `Get current user
11
11
 
12
12
  Returns a user object for the user represented by the authorization token`,
@@ -11,7 +11,7 @@ const args = {
11
11
  };
12
12
 
13
13
  export const tool$usersGetUserById: ToolDefinition<typeof args> = {
14
- name: "users_get-user-by-id",
14
+ name: "users-get-user-by-id",
15
15
  description: `Get user by id
16
16
 
17
17
  Returns a user object for the user represented by the identifier in the path.`,
@@ -11,7 +11,7 @@ const args = {
11
11
  };
12
12
 
13
13
  export const tool$usersLogsUserIntoTheSystem: ToolDefinition<typeof args> = {
14
- name: "users_logs-user-into-the-system",
14
+ name: "users-logs-user-into-the-system",
15
15
  description: `Logs user into the system
16
16
 
17
17
  This endpoint allows a user to authenticate themselves and retrieve a permanent token for access.
@@ -11,7 +11,7 @@ const args = {
11
11
  };
12
12
 
13
13
  export const tool$usersMagiclink: ToolDefinition<typeof args> = {
14
- name: "users_magiclink",
14
+ name: "users-magiclink",
15
15
  description: `Magic link
16
16
 
17
17
  It sends an email with a magic link to allow the user to log in.`,
@@ -11,7 +11,7 @@ const args = {
11
11
  };
12
12
 
13
13
  export const tool$usersPassword: ToolDefinition<typeof args> = {
14
- name: "users_password",
14
+ name: "users-password",
15
15
  description: `Password reset
16
16
 
17
17
  Resets the a user's password using a password_reset_id that was sent to them via email.
@@ -11,7 +11,7 @@ const args = {
11
11
  };
12
12
 
13
13
  export const tool$usersPasswordResetRequest: ToolDefinition<typeof args> = {
14
- name: "users_password-reset-request",
14
+ name: "users-password-reset-request",
15
15
  description: `Password reset request
16
16
 
17
17
  It sends an email with a link for resetting a user's password.`,
@@ -0,0 +1,37 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { vendorScansVendorScanOut } from "../../funcs/vendorScansVendorScanOut.js";
6
+ import * as operations from "../../models/operations/index.js";
7
+ import { formatResult, ToolDefinition } from "../tools.js";
8
+
9
+ const args = {
10
+ request: operations.VendorScanOutRequest$inboundSchema,
11
+ };
12
+
13
+ export const tool$vendorScansVendorScanOut: ToolDefinition<typeof args> = {
14
+ name: "vendor-scans-vendor-scan-out",
15
+ description: `Vendor scan out
16
+
17
+ It scans out vendor from facility`,
18
+ args,
19
+ tool: async (client, args, ctx) => {
20
+ const [result, apiCall] = await vendorScansVendorScanOut(
21
+ client,
22
+ args.request,
23
+ { fetchOptions: { signal: ctx.signal } },
24
+ ).$inspect();
25
+
26
+ if (!result.ok) {
27
+ return {
28
+ content: [{ type: "text", text: result.error.message }],
29
+ isError: true,
30
+ };
31
+ }
32
+
33
+ const value = result.value;
34
+
35
+ return formatResult(value, apiCall);
36
+ },
37
+ };
@@ -12,7 +12,7 @@ const args = {
12
12
 
13
13
  export const tool$vendorsCreateVendorRegistration: ToolDefinition<typeof args> =
14
14
  {
15
- name: "vendors_create-vendor-registration",
15
+ name: "vendors-create-vendor-registration",
16
16
  description: `Create vendor registration
17
17
 
18
18
  Create an initial vendor registration. Once successful, the vendor will be able to continue to filling out the rest of their onboarding profile.`,
@@ -11,7 +11,7 @@ const args = {
11
11
  };
12
12
 
13
13
  export const tool$vendorsExpediteTimeRemaining: ToolDefinition<typeof args> = {
14
- name: "vendors_expedite-time-remaining",
14
+ name: "vendors-expedite-time-remaining",
15
15
  description: `Expedite time remaining
16
16
 
17
17
  For vendors who have a paid 24-hour expedite credentials invoice, get the remaining time (in seconds) for which submitted credentials will be expedited.`,
@@ -12,7 +12,7 @@ const args = {
12
12
 
13
13
  export const tool$vendorsGetVendorInvoiceDetails: ToolDefinition<typeof args> =
14
14
  {
15
- name: "vendors_get-vendor-invoice-details",
15
+ name: "vendors-get-vendor-invoice-details",
16
16
  description: `Get vendor invoice details
17
17
 
18
18
  Retrieve an individual vendor invoice detais.
@@ -0,0 +1,51 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { vendorsGetVendorsDetails } from "../../funcs/vendorsGetVendorsDetails.js";
6
+ import * as operations from "../../models/operations/index.js";
7
+ import { formatResult, ToolDefinition } from "../tools.js";
8
+
9
+ const args = {
10
+ request: operations.GetVendorsDetailsRequest$inboundSchema,
11
+ };
12
+
13
+ export const tool$vendorsGetVendorsDetails: ToolDefinition<typeof args> = {
14
+ name: "vendors-get-vendors-details",
15
+ description: `Get vendors details
16
+
17
+ Retrieve an individual vendor detais.
18
+
19
+ Available \`expand\` scopes are:
20
+
21
+ vendor.user
22
+ vendor.vendor_type
23
+ vendor.image_urls
24
+ vendor.payment_profile
25
+ vendor.primary_facility
26
+ vendor.primary_department
27
+ vendor.company
28
+ vendor.credentialing_subscription
29
+ vendor.scrubs_subscription
30
+ vendor.payment_responsibility
31
+ vendor.background_check_date_expires`,
32
+ args,
33
+ tool: async (client, args, ctx) => {
34
+ const [result, apiCall] = await vendorsGetVendorsDetails(
35
+ client,
36
+ args.request,
37
+ { fetchOptions: { signal: ctx.signal } },
38
+ ).$inspect();
39
+
40
+ if (!result.ok) {
41
+ return {
42
+ content: [{ type: "text", text: result.error.message }],
43
+ isError: true,
44
+ };
45
+ }
46
+
47
+ const value = result.value;
48
+
49
+ return formatResult(value, apiCall);
50
+ },
51
+ };
@@ -11,7 +11,7 @@ const args = {
11
11
  };
12
12
 
13
13
  export const tool$vendorsListVendorCredentials: ToolDefinition<typeof args> = {
14
- name: "vendors_list-vendor-credentials",
14
+ name: "vendors-list-vendor-credentials",
15
15
  description: `List Vendor Credentials
16
16
 
17
17
  Lists vendor credentials, required credentials, and company credentials. Utilized in Vendor Dashboard.`,
@@ -30,7 +30,7 @@ Lists vendor credentials, required credentials, and company credentials. Utilize
30
30
  };
31
31
  }
32
32
 
33
- const value = result.value;
33
+ const value = result.value.result;
34
34
 
35
35
  return formatResult(value, apiCall);
36
36
  },
@@ -2,22 +2,24 @@
2
2
  * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
3
  */
4
4
 
5
- import { vendorsListVendorJobTitles } from "../../funcs/vendorsListVendorJobTitles.js";
5
+ import { vendorsListVendorFacilityStatuses } from "../../funcs/vendorsListVendorFacilityStatuses.js";
6
6
  import * as operations from "../../models/operations/index.js";
7
7
  import { formatResult, ToolDefinition } from "../tools.js";
8
8
 
9
9
  const args = {
10
- request: operations.ListVendorJobTitlesRequest$inboundSchema,
10
+ request: operations.ListVendorFacilityStatusesRequest$inboundSchema,
11
11
  };
12
12
 
13
- export const tool$vendorsListVendorJobTitles: ToolDefinition<typeof args> = {
14
- name: "vendors_list-vendor-job-titles",
15
- description: `List vendor job titles
13
+ export const tool$vendorsListVendorFacilityStatuses: ToolDefinition<
14
+ typeof args
15
+ > = {
16
+ name: "vendors-list-vendor-facility-statuses",
17
+ description: `List vendor facility statuses
16
18
 
17
- List valid job titles for Vendors. This can be used during sign up or in a filter.`,
19
+ List the facilities for the vendor`,
18
20
  args,
19
21
  tool: async (client, args, ctx) => {
20
- const [result, apiCall] = await vendorsListVendorJobTitles(
22
+ const [result, apiCall] = await vendorsListVendorFacilityStatuses(
21
23
  client,
22
24
  args.request,
23
25
  { fetchOptions: { signal: ctx.signal } },
@@ -11,7 +11,7 @@ const args = {
11
11
  };
12
12
 
13
13
  export const tool$vendorsListVendorInvoices: ToolDefinition<typeof args> = {
14
- name: "vendors_list-vendor-invoices",
14
+ name: "vendors-list-vendor-invoices",
15
15
  description: `List vendor invoices
16
16
 
17
17
  List invoices for Vendors
@@ -0,0 +1,37 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { vendorsListVendorScrubDetails } from "../../funcs/vendorsListVendorScrubDetails.js";
6
+ import * as operations from "../../models/operations/index.js";
7
+ import { formatResult, ToolDefinition } from "../tools.js";
8
+
9
+ const args = {
10
+ request: operations.ListVendorScrubDetailsRequest$inboundSchema,
11
+ };
12
+
13
+ export const tool$vendorsListVendorScrubDetails: ToolDefinition<typeof args> = {
14
+ name: "vendors-list-vendor-scrub-details",
15
+ description: `List vendor scrub details
16
+
17
+ List vendor scrub details`,
18
+ args,
19
+ tool: async (client, args, ctx) => {
20
+ const [result, apiCall] = await vendorsListVendorScrubDetails(
21
+ client,
22
+ args.request,
23
+ { fetchOptions: { signal: ctx.signal } },
24
+ ).$inspect();
25
+
26
+ if (!result.ok) {
27
+ return {
28
+ content: [{ type: "text", text: result.error.message }],
29
+ isError: true,
30
+ };
31
+ }
32
+
33
+ const value = result.value;
34
+
35
+ return formatResult(value, apiCall);
36
+ },
37
+ };
@@ -0,0 +1,38 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { vendorsListVendorScrubPurchases } from "../../funcs/vendorsListVendorScrubPurchases.js";
6
+ import * as operations from "../../models/operations/index.js";
7
+ import { formatResult, ToolDefinition } from "../tools.js";
8
+
9
+ const args = {
10
+ request: operations.ListVendorScrubPurchasesRequest$inboundSchema,
11
+ };
12
+
13
+ export const tool$vendorsListVendorScrubPurchases: ToolDefinition<typeof args> =
14
+ {
15
+ name: "vendors-list-vendor-scrub-purchases",
16
+ description: `List vendor scrub purchases
17
+
18
+ List vendor scrub purchases`,
19
+ args,
20
+ tool: async (client, args, ctx) => {
21
+ const [result, apiCall] = await vendorsListVendorScrubPurchases(
22
+ client,
23
+ args.request,
24
+ { fetchOptions: { signal: ctx.signal } },
25
+ ).$inspect();
26
+
27
+ if (!result.ok) {
28
+ return {
29
+ content: [{ type: "text", text: result.error.message }],
30
+ isError: true,
31
+ };
32
+ }
33
+
34
+ const value = result.value.result;
35
+
36
+ return formatResult(value, apiCall);
37
+ },
38
+ };
@@ -0,0 +1,37 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { webhooksGetWebhookEndpoint } from "../../funcs/webhooksGetWebhookEndpoint.js";
6
+ import * as operations from "../../models/operations/index.js";
7
+ import { formatResult, ToolDefinition } from "../tools.js";
8
+
9
+ const args = {
10
+ request: operations.GetWebhookEndpointRequest$inboundSchema,
11
+ };
12
+
13
+ export const tool$webhooksGetWebhookEndpoint: ToolDefinition<typeof args> = {
14
+ name: "webhooks-get-webhook-endpoint",
15
+ description: `Retrieves the webhook endpoint with the given ID.
16
+
17
+ Returns the definition of a webhook endpoint by ID.`,
18
+ args,
19
+ tool: async (client, args, ctx) => {
20
+ const [result, apiCall] = await webhooksGetWebhookEndpoint(
21
+ client,
22
+ args.request,
23
+ { fetchOptions: { signal: ctx.signal } },
24
+ ).$inspect();
25
+
26
+ if (!result.ok) {
27
+ return {
28
+ content: [{ type: "text", text: result.error.message }],
29
+ isError: true,
30
+ };
31
+ }
32
+
33
+ const value = result.value;
34
+
35
+ return formatResult(value, apiCall);
36
+ },
37
+ };
@@ -0,0 +1,38 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { webhooksListAllWebhookEndpoints } from "../../funcs/webhooksListAllWebhookEndpoints.js";
6
+ import * as operations from "../../models/operations/index.js";
7
+ import { formatResult, ToolDefinition } from "../tools.js";
8
+
9
+ const args = {
10
+ request: operations.ListAllWebhookEndpointsRequest$inboundSchema,
11
+ };
12
+
13
+ export const tool$webhooksListAllWebhookEndpoints: ToolDefinition<typeof args> =
14
+ {
15
+ name: "webhooks-list-all-webhook-endpoints",
16
+ description: `List all webhook endpoints
17
+
18
+ Returns a list of your webhook endpoints.`,
19
+ args,
20
+ tool: async (client, args, ctx) => {
21
+ const [result, apiCall] = await webhooksListAllWebhookEndpoints(
22
+ client,
23
+ args.request,
24
+ { fetchOptions: { signal: ctx.signal } },
25
+ ).$inspect();
26
+
27
+ if (!result.ok) {
28
+ return {
29
+ content: [{ type: "text", text: result.error.message }],
30
+ isError: true,
31
+ };
32
+ }
33
+
34
+ const value = result.value;
35
+
36
+ return formatResult(value, apiCall);
37
+ },
38
+ };
@@ -34,6 +34,7 @@ export type ToolDefinition<Args extends undefined | ZodRawShape = undefined> =
34
34
  ) => CallToolResult | Promise<CallToolResult>;
35
35
  };
36
36
 
37
+ // Optional function to assist with formatting tool results
37
38
  export async function formatResult(
38
39
  value: unknown,
39
40
  init: { response?: Response | undefined },
@@ -102,6 +103,10 @@ export function createRegisterTool(
102
103
  }
103
104
 
104
105
  const toolScopes = tool.scopes ?? [];
106
+ if (allowedScopes.size > 0 && toolScopes.length === 0) {
107
+ return;
108
+ }
109
+
105
110
  if (!toolScopes.every((s) => allowedScopes.has(s))) {
106
111
  return;
107
112
  }