vanta-auditor-api-sdk 0.4.0 → 0.4.2

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 (337) hide show
  1. package/README.md +0 -85
  2. package/examples/package-lock.json +1 -18
  3. package/jsr.json +1 -1
  4. package/lib/config.d.ts +3 -3
  5. package/lib/config.js +3 -3
  6. package/models/components/addauditorinput.d.ts +0 -17
  7. package/models/components/addauditorinput.d.ts.map +1 -1
  8. package/models/components/addauditorinput.js +1 -23
  9. package/models/components/addauditorinput.js.map +1 -1
  10. package/models/components/addcommentinput.d.ts +0 -17
  11. package/models/components/addcommentinput.d.ts.map +1 -1
  12. package/models/components/addcommentinput.js +1 -23
  13. package/models/components/addcommentinput.js.map +1 -1
  14. package/models/components/audit.d.ts +0 -33
  15. package/models/components/audit.d.ts.map +1 -1
  16. package/models/components/audit.js +1 -34
  17. package/models/components/audit.js.map +1 -1
  18. package/models/components/auditevidencestate.d.ts +0 -26
  19. package/models/components/auditevidencestate.d.ts.map +1 -1
  20. package/models/components/auditevidencestate.js +1 -14
  21. package/models/components/auditevidencestate.js.map +1 -1
  22. package/models/components/auditevidencetype.d.ts +0 -20
  23. package/models/components/auditevidencetype.d.ts.map +1 -1
  24. package/models/components/auditevidencetype.js +1 -14
  25. package/models/components/auditevidencetype.js.map +1 -1
  26. package/models/components/auditevidenceupdateinput.d.ts +0 -32
  27. package/models/components/auditevidenceupdateinput.d.ts.map +1 -1
  28. package/models/components/auditevidenceupdateinput.js +1 -41
  29. package/models/components/auditevidenceupdateinput.js.map +1 -1
  30. package/models/components/auditfocus.d.ts +0 -18
  31. package/models/components/auditfocus.d.ts.map +1 -1
  32. package/models/components/auditfocus.js +1 -14
  33. package/models/components/auditfocus.js.map +1 -1
  34. package/models/components/auditor.d.ts +0 -23
  35. package/models/components/auditor.d.ts.map +1 -1
  36. package/models/components/auditor.js +1 -24
  37. package/models/components/auditor.js.map +1 -1
  38. package/models/components/auditorcontrol.d.ts +2 -52
  39. package/models/components/auditorcontrol.d.ts.map +1 -1
  40. package/models/components/auditorcontrol.js +1 -51
  41. package/models/components/auditorcontrol.js.map +1 -1
  42. package/models/components/auditorenabledstatetransition.d.ts +0 -24
  43. package/models/components/auditorenabledstatetransition.d.ts.map +1 -1
  44. package/models/components/auditorenabledstatetransition.js +2 -15
  45. package/models/components/auditorenabledstatetransition.js.map +1 -1
  46. package/models/components/comment.d.ts +0 -25
  47. package/models/components/comment.d.ts.map +1 -1
  48. package/models/components/comment.js +1 -26
  49. package/models/components/comment.js.map +1 -1
  50. package/models/components/control.d.ts +1 -49
  51. package/models/components/control.d.ts.map +1 -1
  52. package/models/components/control.js +1 -49
  53. package/models/components/control.js.map +1 -1
  54. package/models/components/controldomain.d.ts +0 -90
  55. package/models/components/controldomain.d.ts.map +1 -1
  56. package/models/components/controldomain.js +2 -15
  57. package/models/components/controldomain.js.map +1 -1
  58. package/models/components/controlsource.d.ts +0 -18
  59. package/models/components/controlsource.d.ts.map +1 -1
  60. package/models/components/controlsource.js +1 -14
  61. package/models/components/controlsource.js.map +1 -1
  62. package/models/components/createcustomcontrolinput.d.ts +0 -37
  63. package/models/components/createcustomcontrolinput.d.ts.map +1 -1
  64. package/models/components/createcustomcontrolinput.js +2 -41
  65. package/models/components/createcustomcontrolinput.js.map +1 -1
  66. package/models/components/createcustomevidencerequestinput.d.ts +0 -17
  67. package/models/components/createcustomevidencerequestinput.d.ts.map +1 -1
  68. package/models/components/createcustomevidencerequestinput.js +1 -27
  69. package/models/components/createcustomevidencerequestinput.js.map +1 -1
  70. package/models/components/customevidencerequest.d.ts +0 -25
  71. package/models/components/customevidencerequest.d.ts.map +1 -1
  72. package/models/components/customevidencerequest.js +1 -26
  73. package/models/components/customevidencerequest.js.map +1 -1
  74. package/models/components/customfield.d.ts +0 -37
  75. package/models/components/customfield.d.ts.map +1 -1
  76. package/models/components/customfield.js +1 -38
  77. package/models/components/customfield.js.map +1 -1
  78. package/models/components/evidence.d.ts +1 -31
  79. package/models/components/evidence.d.ts.map +1 -1
  80. package/models/components/evidence.js +1 -31
  81. package/models/components/evidence.js.map +1 -1
  82. package/models/components/evidencecontrol.d.ts +0 -20
  83. package/models/components/evidencecontrol.d.ts.map +1 -1
  84. package/models/components/evidencecontrol.js +1 -21
  85. package/models/components/evidencecontrol.js.map +1 -1
  86. package/models/components/evidenceurl.d.ts +0 -22
  87. package/models/components/evidenceurl.d.ts.map +1 -1
  88. package/models/components/evidenceurl.js +1 -23
  89. package/models/components/evidenceurl.js.map +1 -1
  90. package/models/components/frameworkid.d.ts +0 -84
  91. package/models/components/frameworkid.d.ts.map +1 -1
  92. package/models/components/frameworkid.js +2 -15
  93. package/models/components/frameworkid.js.map +1 -1
  94. package/models/components/frameworksection.d.ts +0 -32
  95. package/models/components/frameworksection.d.ts.map +1 -1
  96. package/models/components/frameworksection.js +1 -39
  97. package/models/components/frameworksection.js.map +1 -1
  98. package/models/components/pageinfo.d.ts +0 -22
  99. package/models/components/pageinfo.d.ts.map +1 -1
  100. package/models/components/pageinfo.js +1 -23
  101. package/models/components/pageinfo.js.map +1 -1
  102. package/models/components/paginatedresponseaudit.d.ts +2 -41
  103. package/models/components/paginatedresponseaudit.d.ts.map +1 -1
  104. package/models/components/paginatedresponseaudit.js +1 -40
  105. package/models/components/paginatedresponseaudit.js.map +1 -1
  106. package/models/components/paginatedresponseauditorcontrol.d.ts +2 -41
  107. package/models/components/paginatedresponseauditorcontrol.d.ts.map +1 -1
  108. package/models/components/paginatedresponseauditorcontrol.js +1 -40
  109. package/models/components/paginatedresponseauditorcontrol.js.map +1 -1
  110. package/models/components/paginatedresponsecomment.d.ts +2 -41
  111. package/models/components/paginatedresponsecomment.d.ts.map +1 -1
  112. package/models/components/paginatedresponsecomment.js +1 -40
  113. package/models/components/paginatedresponsecomment.js.map +1 -1
  114. package/models/components/paginatedresponseevidence.d.ts +2 -41
  115. package/models/components/paginatedresponseevidence.d.ts.map +1 -1
  116. package/models/components/paginatedresponseevidence.js +1 -40
  117. package/models/components/paginatedresponseevidence.js.map +1 -1
  118. package/models/components/paginatedresponseevidenceurl.d.ts +2 -41
  119. package/models/components/paginatedresponseevidenceurl.d.ts.map +1 -1
  120. package/models/components/paginatedresponseevidenceurl.js +1 -40
  121. package/models/components/paginatedresponseevidenceurl.js.map +1 -1
  122. package/models/components/recurrenceduration.d.ts +0 -26
  123. package/models/components/recurrenceduration.d.ts.map +1 -1
  124. package/models/components/recurrenceduration.js +1 -12
  125. package/models/components/recurrenceduration.js.map +1 -1
  126. package/models/components/section.d.ts +0 -20
  127. package/models/components/section.d.ts.map +1 -1
  128. package/models/components/section.js +1 -21
  129. package/models/components/section.js.map +1 -1
  130. package/models/components/security.d.ts +0 -17
  131. package/models/components/security.d.ts.map +1 -1
  132. package/models/components/security.js +1 -21
  133. package/models/components/security.js.map +1 -1
  134. package/models/operations/createcommentforauditevidence.d.ts +0 -17
  135. package/models/operations/createcommentforauditevidence.d.ts.map +1 -1
  136. package/models/operations/createcommentforauditevidence.js +1 -27
  137. package/models/operations/createcommentforauditevidence.js.map +1 -1
  138. package/models/operations/createcustomcontrol.d.ts +0 -17
  139. package/models/operations/createcustomcontrol.d.ts.map +1 -1
  140. package/models/operations/createcustomcontrol.js +1 -26
  141. package/models/operations/createcustomcontrol.js.map +1 -1
  142. package/models/operations/createcustomevidencerequest.d.ts +0 -17
  143. package/models/operations/createcustomevidencerequest.d.ts.map +1 -1
  144. package/models/operations/createcustomevidencerequest.js +1 -26
  145. package/models/operations/createcustomevidencerequest.js.map +1 -1
  146. package/models/operations/listauditcomments.d.ts +0 -17
  147. package/models/operations/listauditcomments.d.ts.map +1 -1
  148. package/models/operations/listauditcomments.js +1 -24
  149. package/models/operations/listauditcomments.js.map +1 -1
  150. package/models/operations/listauditcontrols.d.ts +0 -17
  151. package/models/operations/listauditcontrols.d.ts.map +1 -1
  152. package/models/operations/listauditcontrols.js +1 -23
  153. package/models/operations/listauditcontrols.js.map +1 -1
  154. package/models/operations/listauditevidence.d.ts +0 -17
  155. package/models/operations/listauditevidence.d.ts.map +1 -1
  156. package/models/operations/listauditevidence.js +1 -24
  157. package/models/operations/listauditevidence.js.map +1 -1
  158. package/models/operations/listauditevidenceurls.d.ts +0 -17
  159. package/models/operations/listauditevidenceurls.d.ts.map +1 -1
  160. package/models/operations/listauditevidenceurls.js +1 -24
  161. package/models/operations/listauditevidenceurls.js.map +1 -1
  162. package/models/operations/listaudits.d.ts +0 -17
  163. package/models/operations/listaudits.d.ts.map +1 -1
  164. package/models/operations/listaudits.js +1 -24
  165. package/models/operations/listaudits.js.map +1 -1
  166. package/models/operations/updateauditevidence.d.ts +0 -17
  167. package/models/operations/updateauditevidence.d.ts.map +1 -1
  168. package/models/operations/updateauditevidence.js +1 -27
  169. package/models/operations/updateauditevidence.js.map +1 -1
  170. package/package.json +3 -16
  171. package/src/lib/config.ts +3 -3
  172. package/src/models/components/addauditorinput.ts +0 -37
  173. package/src/models/components/addcommentinput.ts +0 -39
  174. package/src/models/components/audit.ts +1 -64
  175. package/src/models/components/auditevidencestate.ts +0 -16
  176. package/src/models/components/auditevidencetype.ts +0 -16
  177. package/src/models/components/auditevidenceupdateinput.ts +0 -69
  178. package/src/models/components/auditfocus.ts +0 -15
  179. package/src/models/components/auditor.ts +0 -39
  180. package/src/models/components/auditorcontrol.ts +3 -103
  181. package/src/models/components/auditorenabledstatetransition.ts +1 -17
  182. package/src/models/components/comment.ts +0 -43
  183. package/src/models/components/control.ts +2 -93
  184. package/src/models/components/controldomain.ts +1 -17
  185. package/src/models/components/controlsource.ts +0 -16
  186. package/src/models/components/createcustomcontrolinput.ts +1 -61
  187. package/src/models/components/createcustomevidencerequestinput.ts +0 -42
  188. package/src/models/components/customevidencerequest.ts +0 -48
  189. package/src/models/components/customfield.ts +0 -60
  190. package/src/models/components/evidence.ts +0 -57
  191. package/src/models/components/evidencecontrol.ts +0 -35
  192. package/src/models/components/evidenceurl.ts +0 -37
  193. package/src/models/components/frameworkid.ts +1 -16
  194. package/src/models/components/frameworksection.ts +1 -71
  195. package/src/models/components/pageinfo.ts +0 -37
  196. package/src/models/components/paginatedresponseaudit.ts +2 -80
  197. package/src/models/components/paginatedresponseauditorcontrol.ts +1 -87
  198. package/src/models/components/paginatedresponsecomment.ts +2 -86
  199. package/src/models/components/paginatedresponseevidence.ts +2 -86
  200. package/src/models/components/paginatedresponseevidenceurl.ts +2 -90
  201. package/src/models/components/recurrenceduration.ts +0 -12
  202. package/src/models/components/section.ts +0 -33
  203. package/src/models/components/security.ts +0 -35
  204. package/src/models/operations/createcommentforauditevidence.ts +0 -44
  205. package/src/models/operations/createcustomcontrol.ts +0 -40
  206. package/src/models/operations/createcustomevidencerequest.ts +0 -43
  207. package/src/models/operations/listauditcomments.ts +0 -40
  208. package/src/models/operations/listauditcontrols.ts +0 -37
  209. package/src/models/operations/listauditevidence.ts +0 -40
  210. package/src/models/operations/listauditevidenceurls.ts +0 -38
  211. package/src/models/operations/listaudits.ts +0 -40
  212. package/src/models/operations/updateauditevidence.ts +0 -41
  213. package/src/types/enums.ts +55 -6
  214. package/src/types/index.ts +0 -1
  215. package/types/enums.d.ts +10 -6
  216. package/types/enums.d.ts.map +1 -1
  217. package/types/enums.js +76 -2
  218. package/types/enums.js.map +1 -1
  219. package/types/index.d.ts +0 -1
  220. package/types/index.d.ts.map +1 -1
  221. package/types/index.js +1 -3
  222. package/types/index.js.map +1 -1
  223. package/bin/mcp-server.js +0 -39217
  224. package/bin/mcp-server.js.map +0 -323
  225. package/mcp-server/build.d.mts.map +0 -1
  226. package/mcp-server/build.mjs +0 -14
  227. package/mcp-server/build.mjs.map +0 -1
  228. package/mcp-server/cli/start/command.d.ts +0 -2
  229. package/mcp-server/cli/start/command.d.ts.map +0 -1
  230. package/mcp-server/cli/start/command.js +0 -125
  231. package/mcp-server/cli/start/command.js.map +0 -1
  232. package/mcp-server/cli/start/impl.d.ts +0 -16
  233. package/mcp-server/cli/start/impl.d.ts.map +0 -1
  234. package/mcp-server/cli/start/impl.js +0 -102
  235. package/mcp-server/cli/start/impl.js.map +0 -1
  236. package/mcp-server/cli.d.ts +0 -6
  237. package/mcp-server/cli.d.ts.map +0 -1
  238. package/mcp-server/cli.js +0 -10
  239. package/mcp-server/cli.js.map +0 -1
  240. package/mcp-server/console-logger.d.ts +0 -7
  241. package/mcp-server/console-logger.d.ts.map +0 -1
  242. package/mcp-server/console-logger.js +0 -59
  243. package/mcp-server/console-logger.js.map +0 -1
  244. package/mcp-server/extensions.d.ts +0 -11
  245. package/mcp-server/extensions.d.ts.map +0 -1
  246. package/mcp-server/extensions.js +0 -6
  247. package/mcp-server/extensions.js.map +0 -1
  248. package/mcp-server/mcp-server.d.ts +0 -2
  249. package/mcp-server/mcp-server.d.ts.map +0 -1
  250. package/mcp-server/mcp-server.js +0 -29
  251. package/mcp-server/mcp-server.js.map +0 -1
  252. package/mcp-server/prompts.d.ts +0 -26
  253. package/mcp-server/prompts.d.ts.map +0 -1
  254. package/mcp-server/prompts.js +0 -51
  255. package/mcp-server/prompts.js.map +0 -1
  256. package/mcp-server/resources.d.ts +0 -32
  257. package/mcp-server/resources.d.ts.map +0 -1
  258. package/mcp-server/resources.js +0 -87
  259. package/mcp-server/resources.js.map +0 -1
  260. package/mcp-server/scopes.d.ts +0 -3
  261. package/mcp-server/scopes.d.ts.map +0 -1
  262. package/mcp-server/scopes.js +0 -8
  263. package/mcp-server/scopes.js.map +0 -1
  264. package/mcp-server/server.d.ts +0 -13
  265. package/mcp-server/server.d.ts.map +0 -1
  266. package/mcp-server/server.js +0 -52
  267. package/mcp-server/server.js.map +0 -1
  268. package/mcp-server/shared.d.ts +0 -7
  269. package/mcp-server/shared.d.ts.map +0 -1
  270. package/mcp-server/shared.js +0 -98
  271. package/mcp-server/shared.js.map +0 -1
  272. package/mcp-server/tools/auditorsCreate.d.ts +0 -8
  273. package/mcp-server/tools/auditorsCreate.d.ts.map +0 -1
  274. package/mcp-server/tools/auditorsCreate.js +0 -64
  275. package/mcp-server/tools/auditorsCreate.js.map +0 -1
  276. package/mcp-server/tools/auditsCreateCommentForEvidence.d.ts +0 -8
  277. package/mcp-server/tools/auditsCreateCommentForEvidence.d.ts.map +0 -1
  278. package/mcp-server/tools/auditsCreateCommentForEvidence.js +0 -64
  279. package/mcp-server/tools/auditsCreateCommentForEvidence.js.map +0 -1
  280. package/mcp-server/tools/auditsCreateCustomControl.d.ts +0 -8
  281. package/mcp-server/tools/auditsCreateCustomControl.d.ts.map +0 -1
  282. package/mcp-server/tools/auditsCreateCustomControl.js +0 -64
  283. package/mcp-server/tools/auditsCreateCustomControl.js.map +0 -1
  284. package/mcp-server/tools/auditsCreateCustomEvidenceRequest.d.ts +0 -8
  285. package/mcp-server/tools/auditsCreateCustomEvidenceRequest.d.ts.map +0 -1
  286. package/mcp-server/tools/auditsCreateCustomEvidenceRequest.js +0 -64
  287. package/mcp-server/tools/auditsCreateCustomEvidenceRequest.js.map +0 -1
  288. package/mcp-server/tools/auditsGetEvidenceUrls.d.ts +0 -8
  289. package/mcp-server/tools/auditsGetEvidenceUrls.d.ts.map +0 -1
  290. package/mcp-server/tools/auditsGetEvidenceUrls.js +0 -65
  291. package/mcp-server/tools/auditsGetEvidenceUrls.js.map +0 -1
  292. package/mcp-server/tools/auditsList.d.ts +0 -8
  293. package/mcp-server/tools/auditsList.d.ts.map +0 -1
  294. package/mcp-server/tools/auditsList.js +0 -64
  295. package/mcp-server/tools/auditsList.js.map +0 -1
  296. package/mcp-server/tools/auditsListComments.d.ts +0 -8
  297. package/mcp-server/tools/auditsListComments.d.ts.map +0 -1
  298. package/mcp-server/tools/auditsListComments.js +0 -64
  299. package/mcp-server/tools/auditsListComments.js.map +0 -1
  300. package/mcp-server/tools/auditsListControls.d.ts +0 -8
  301. package/mcp-server/tools/auditsListControls.d.ts.map +0 -1
  302. package/mcp-server/tools/auditsListControls.js +0 -64
  303. package/mcp-server/tools/auditsListControls.js.map +0 -1
  304. package/mcp-server/tools/auditsListEvidence.d.ts +0 -8
  305. package/mcp-server/tools/auditsListEvidence.d.ts.map +0 -1
  306. package/mcp-server/tools/auditsListEvidence.js +0 -64
  307. package/mcp-server/tools/auditsListEvidence.js.map +0 -1
  308. package/mcp-server/tools/auditsUpdateEvidence.d.ts +0 -8
  309. package/mcp-server/tools/auditsUpdateEvidence.d.ts.map +0 -1
  310. package/mcp-server/tools/auditsUpdateEvidence.js +0 -64
  311. package/mcp-server/tools/auditsUpdateEvidence.js.map +0 -1
  312. package/mcp-server/tools.d.ts +0 -25
  313. package/mcp-server/tools.d.ts.map +0 -1
  314. package/mcp-server/tools.js +0 -82
  315. package/mcp-server/tools.js.map +0 -1
  316. package/src/mcp-server/cli/start/command.ts +0 -93
  317. package/src/mcp-server/cli/start/impl.ts +0 -130
  318. package/src/mcp-server/cli.ts +0 -13
  319. package/src/mcp-server/console-logger.ts +0 -71
  320. package/src/mcp-server/extensions.ts +0 -17
  321. package/src/mcp-server/mcp-server.ts +0 -26
  322. package/src/mcp-server/prompts.ts +0 -117
  323. package/src/mcp-server/resources.ts +0 -172
  324. package/src/mcp-server/scopes.ts +0 -7
  325. package/src/mcp-server/server.ts +0 -79
  326. package/src/mcp-server/shared.ts +0 -74
  327. package/src/mcp-server/tools/auditorsCreate.ts +0 -37
  328. package/src/mcp-server/tools/auditsCreateCommentForEvidence.ts +0 -38
  329. package/src/mcp-server/tools/auditsCreateCustomControl.ts +0 -37
  330. package/src/mcp-server/tools/auditsCreateCustomEvidenceRequest.ts +0 -39
  331. package/src/mcp-server/tools/auditsGetEvidenceUrls.ts +0 -38
  332. package/src/mcp-server/tools/auditsList.ts +0 -37
  333. package/src/mcp-server/tools/auditsListComments.ts +0 -37
  334. package/src/mcp-server/tools/auditsListControls.ts +0 -37
  335. package/src/mcp-server/tools/auditsListEvidence.ts +0 -37
  336. package/src/mcp-server/tools/auditsUpdateEvidence.ts +0 -37
  337. package/src/mcp-server/tools.ts +0 -129
@@ -1,79 +0,0 @@
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 { VantaCore } from "../core.js";
7
- import { SDKOptions } from "../lib/config.js";
8
- import type { ConsoleLogger } from "./console-logger.js";
9
- import { createRegisterPrompt } from "./prompts.js";
10
- import {
11
- createRegisterResource,
12
- createRegisterResourceTemplate,
13
- } from "./resources.js";
14
- import { MCPScope } from "./scopes.js";
15
- import { createRegisterTool } from "./tools.js";
16
- import { tool$auditorsCreate } from "./tools/auditorsCreate.js";
17
- import { tool$auditsCreateCommentForEvidence } from "./tools/auditsCreateCommentForEvidence.js";
18
- import { tool$auditsCreateCustomControl } from "./tools/auditsCreateCustomControl.js";
19
- import { tool$auditsCreateCustomEvidenceRequest } from "./tools/auditsCreateCustomEvidenceRequest.js";
20
- import { tool$auditsGetEvidenceUrls } from "./tools/auditsGetEvidenceUrls.js";
21
- import { tool$auditsList } from "./tools/auditsList.js";
22
- import { tool$auditsListComments } from "./tools/auditsListComments.js";
23
- import { tool$auditsListControls } from "./tools/auditsListControls.js";
24
- import { tool$auditsListEvidence } from "./tools/auditsListEvidence.js";
25
- import { tool$auditsUpdateEvidence } from "./tools/auditsUpdateEvidence.js";
26
-
27
- export function createMCPServer(deps: {
28
- logger: ConsoleLogger;
29
- allowedTools?: string[] | undefined;
30
- scopes?: MCPScope[] | undefined;
31
- serverURL?: string | undefined;
32
- bearerAuth?: SDKOptions["bearerAuth"] | undefined;
33
- serverIdx?: SDKOptions["serverIdx"] | undefined;
34
- }) {
35
- const server = new McpServer({
36
- name: "Vanta",
37
- version: "0.4.0",
38
- });
39
-
40
- const client = new VantaCore({
41
- bearerAuth: deps.bearerAuth,
42
- serverURL: deps.serverURL,
43
- serverIdx: deps.serverIdx,
44
- });
45
-
46
- const scopes = new Set(deps.scopes);
47
-
48
- const allowedTools = deps.allowedTools && new Set(deps.allowedTools);
49
- const tool = createRegisterTool(
50
- deps.logger,
51
- server,
52
- client,
53
- scopes,
54
- allowedTools,
55
- );
56
- const resource = createRegisterResource(deps.logger, server, client, scopes);
57
- const resourceTemplate = createRegisterResourceTemplate(
58
- deps.logger,
59
- server,
60
- client,
61
- scopes,
62
- );
63
- const prompt = createRegisterPrompt(deps.logger, server, client, scopes);
64
- const register = { tool, resource, resourceTemplate, prompt };
65
- void register; // suppress unused warnings
66
-
67
- tool(tool$auditsList);
68
- tool(tool$auditsGetEvidenceUrls);
69
- tool(tool$auditsListEvidence);
70
- tool(tool$auditsListComments);
71
- tool(tool$auditsListControls);
72
- tool(tool$auditsCreateCommentForEvidence);
73
- tool(tool$auditsUpdateEvidence);
74
- tool(tool$auditsCreateCustomEvidenceRequest);
75
- tool(tool$auditsCreateCustomControl);
76
- tool(tool$auditorsCreate);
77
-
78
- return server;
79
- }
@@ -1,74 +0,0 @@
1
- /*
2
- * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
- */
4
-
5
- import * as z from "zod/v3";
6
- import { bytesToBase64 } from "../lib/base64.js";
7
- type BinaryData =
8
- | Uint8Array
9
- | ArrayBuffer
10
- | Blob
11
- | ReadableStream
12
- | Response
13
- | string;
14
-
15
- export async function consumeStream(
16
- stream: ReadableStream<Uint8Array>,
17
- ): Promise<Uint8Array> {
18
- const reader = stream.getReader();
19
- const chunks: Uint8Array[] = [];
20
-
21
- try {
22
- while (true) {
23
- const { done, value } = await reader.read();
24
- if (value != null) chunks.push(value);
25
- if (done) break;
26
- }
27
- } finally {
28
- reader.releaseLock();
29
- }
30
-
31
- return new Uint8Array(await new Blob(chunks).arrayBuffer());
32
- }
33
-
34
- export function isAsyncIterable(
35
- value: unknown,
36
- ): value is AsyncIterable<string> {
37
- return (
38
- typeof value === "object" && value != null && Symbol.asyncIterator in value
39
- );
40
- }
41
-
42
- export function isBinaryData(value: unknown): value is BinaryData {
43
- return (
44
- value instanceof Uint8Array
45
- || value instanceof ArrayBuffer
46
- || value instanceof Blob
47
- || value instanceof ReadableStream
48
- || value instanceof Response
49
- || typeof value === "string"
50
- );
51
- }
52
-
53
- const base64Schema = z.string().base64();
54
-
55
- export async function valueToBase64(
56
- value: BinaryData | null | undefined,
57
- ): Promise<string | null> {
58
- if (value == null) {
59
- return null;
60
- } else if (value instanceof Uint8Array) {
61
- return bytesToBase64(value);
62
- } else if (value instanceof ArrayBuffer) {
63
- return bytesToBase64(new Uint8Array(value));
64
- } else if (value instanceof Response || value instanceof Blob) {
65
- return bytesToBase64(new Uint8Array(await value.arrayBuffer()));
66
- } else if (value instanceof ReadableStream) {
67
- return bytesToBase64(await consumeStream(value));
68
- } else if (typeof value === "string") {
69
- return base64Schema.parse(value);
70
- } else {
71
- value satisfies never;
72
- throw new Error(`Unsupported image value type: ${typeof value}`);
73
- }
74
- }
@@ -1,37 +0,0 @@
1
- /*
2
- * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
- */
4
-
5
- import { auditorsCreate } from "../../funcs/auditorsCreate.js";
6
- import * as components from "../../models/components/index.js";
7
- import { formatResult, ToolDefinition } from "../tools.js";
8
-
9
- const args = {
10
- request: components.AddAuditorInput$inboundSchema,
11
- };
12
-
13
- export const tool$auditorsCreate: ToolDefinition<typeof args> = {
14
- name: "auditors-create",
15
- description: `Create an auditor
16
-
17
- Create an auditor in Vanta.`,
18
- args,
19
- tool: async (client, args, ctx) => {
20
- const [result, apiCall] = await auditorsCreate(
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
- };
@@ -1,38 +0,0 @@
1
- /*
2
- * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
- */
4
-
5
- import { auditsCreateCommentForEvidence } from "../../funcs/auditsCreateCommentForEvidence.js";
6
- import * as operations from "../../models/operations/index.js";
7
- import { formatResult, ToolDefinition } from "../tools.js";
8
-
9
- const args = {
10
- request: operations.CreateCommentForAuditEvidenceRequest$inboundSchema,
11
- };
12
-
13
- export const tool$auditsCreateCommentForEvidence: ToolDefinition<typeof args> =
14
- {
15
- name: "audits-create-comment-for-evidence",
16
- description: `Create a comment for audit evidence
17
-
18
- Create a comment in Vanta for a piece of evidence.`,
19
- args,
20
- tool: async (client, args, ctx) => {
21
- const [result, apiCall] = await auditsCreateCommentForEvidence(
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
- };
@@ -1,37 +0,0 @@
1
- /*
2
- * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
- */
4
-
5
- import { auditsCreateCustomControl } from "../../funcs/auditsCreateCustomControl.js";
6
- import * as operations from "../../models/operations/index.js";
7
- import { formatResult, ToolDefinition } from "../tools.js";
8
-
9
- const args = {
10
- request: operations.CreateCustomControlRequest$inboundSchema,
11
- };
12
-
13
- export const tool$auditsCreateCustomControl: ToolDefinition<typeof args> = {
14
- name: "audits-create-custom-control",
15
- description: `Create a custom control for an audit
16
-
17
- Create a custom control for an audit.`,
18
- args,
19
- tool: async (client, args, ctx) => {
20
- const [result, apiCall] = await auditsCreateCustomControl(
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
- };
@@ -1,39 +0,0 @@
1
- /*
2
- * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
- */
4
-
5
- import { auditsCreateCustomEvidenceRequest } from "../../funcs/auditsCreateCustomEvidenceRequest.js";
6
- import * as operations from "../../models/operations/index.js";
7
- import { formatResult, ToolDefinition } from "../tools.js";
8
-
9
- const args = {
10
- request: operations.CreateCustomEvidenceRequestRequest$inboundSchema,
11
- };
12
-
13
- export const tool$auditsCreateCustomEvidenceRequest: ToolDefinition<
14
- typeof args
15
- > = {
16
- name: "audits-create-custom-evidence-request",
17
- description: `Create a custom evidence request for an audit
18
-
19
- Create a custom evidence request for an audit.`,
20
- args,
21
- tool: async (client, args, ctx) => {
22
- const [result, apiCall] = await auditsCreateCustomEvidenceRequest(
23
- client,
24
- args.request,
25
- { fetchOptions: { signal: ctx.signal } },
26
- ).$inspect();
27
-
28
- if (!result.ok) {
29
- return {
30
- content: [{ type: "text", text: result.error.message }],
31
- isError: true,
32
- };
33
- }
34
-
35
- const value = result.value;
36
-
37
- return formatResult(value, apiCall);
38
- },
39
- };
@@ -1,38 +0,0 @@
1
- /*
2
- * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
- */
4
-
5
- import { auditsGetEvidenceUrls } from "../../funcs/auditsGetEvidenceUrls.js";
6
- import * as operations from "../../models/operations/index.js";
7
- import { formatResult, ToolDefinition } from "../tools.js";
8
-
9
- const args = {
10
- request: operations.ListAuditEvidenceUrlsRequest$inboundSchema,
11
- };
12
-
13
- export const tool$auditsGetEvidenceUrls: ToolDefinition<typeof args> = {
14
- name: "audits-get-evidence-urls",
15
- description: `List audit evidence url
16
-
17
- Returns a paginated list of evidence urls for an audit. This endpoint should be called whenever an
18
- evidence is created or has a statusUpdatedAt field that is more recent than the most recent polling event.`,
19
- args,
20
- tool: async (client, args, ctx) => {
21
- const [result, apiCall] = await auditsGetEvidenceUrls(
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
- };
@@ -1,37 +0,0 @@
1
- /*
2
- * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
- */
4
-
5
- import { auditsList } from "../../funcs/auditsList.js";
6
- import * as operations from "../../models/operations/index.js";
7
- import { formatResult, ToolDefinition } from "../tools.js";
8
-
9
- const args = {
10
- request: operations.ListAuditsRequest$inboundSchema,
11
- };
12
-
13
- export const tool$auditsList: ToolDefinition<typeof args> = {
14
- name: "audits-list",
15
- description: `List audits
16
-
17
- Returns a paginated list of audits scoped to the audit firm.`,
18
- args,
19
- tool: async (client, args, ctx) => {
20
- const [result, apiCall] = await auditsList(
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
- };
@@ -1,37 +0,0 @@
1
- /*
2
- * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
- */
4
-
5
- import { auditsListComments } from "../../funcs/auditsListComments.js";
6
- import * as operations from "../../models/operations/index.js";
7
- import { formatResult, ToolDefinition } from "../tools.js";
8
-
9
- const args = {
10
- request: operations.ListAuditCommentsRequest$inboundSchema,
11
- };
12
-
13
- export const tool$auditsListComments: ToolDefinition<typeof args> = {
14
- name: "audits-list-comments",
15
- description: `List audit comments
16
-
17
- Returns a paginated list of comments for an audit.`,
18
- args,
19
- tool: async (client, args, ctx) => {
20
- const [result, apiCall] = await auditsListComments(
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
- };
@@ -1,37 +0,0 @@
1
- /*
2
- * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
- */
4
-
5
- import { auditsListControls } from "../../funcs/auditsListControls.js";
6
- import * as operations from "../../models/operations/index.js";
7
- import { formatResult, ToolDefinition } from "../tools.js";
8
-
9
- const args = {
10
- request: operations.ListAuditControlsRequest$inboundSchema,
11
- };
12
-
13
- export const tool$auditsListControls: ToolDefinition<typeof args> = {
14
- name: "audits-list-controls",
15
- description: `List audit controls
16
-
17
- Returns a paginated list of controls for an audit.`,
18
- args,
19
- tool: async (client, args, ctx) => {
20
- const [result, apiCall] = await auditsListControls(
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
- };
@@ -1,37 +0,0 @@
1
- /*
2
- * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
- */
4
-
5
- import { auditsListEvidence } from "../../funcs/auditsListEvidence.js";
6
- import * as operations from "../../models/operations/index.js";
7
- import { formatResult, ToolDefinition } from "../tools.js";
8
-
9
- const args = {
10
- request: operations.ListAuditEvidenceRequest$inboundSchema,
11
- };
12
-
13
- export const tool$auditsListEvidence: ToolDefinition<typeof args> = {
14
- name: "audits-list-evidence",
15
- description: `List audit evidence
16
-
17
- Returns a paginated list of evidence for an audit.`,
18
- args,
19
- tool: async (client, args, ctx) => {
20
- const [result, apiCall] = await auditsListEvidence(
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
- };
@@ -1,37 +0,0 @@
1
- /*
2
- * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
- */
4
-
5
- import { auditsUpdateEvidence } from "../../funcs/auditsUpdateEvidence.js";
6
- import * as operations from "../../models/operations/index.js";
7
- import { formatResult, ToolDefinition } from "../tools.js";
8
-
9
- const args = {
10
- request: operations.UpdateAuditEvidenceRequest$inboundSchema,
11
- };
12
-
13
- export const tool$auditsUpdateEvidence: ToolDefinition<typeof args> = {
14
- name: "audits-update-evidence",
15
- description: `Update audit evidence
16
-
17
- Update audit evidence.`,
18
- args,
19
- tool: async (client, args, ctx) => {
20
- const [result, apiCall] = await auditsUpdateEvidence(
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
- };
@@ -1,129 +0,0 @@
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 { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
8
- import { objectOutputType, ZodRawShape, ZodTypeAny } from "zod/v3";
9
- import { VantaCore } from "../core.js";
10
- import { ConsoleLogger } from "./console-logger.js";
11
- import { MCPScope } from "./scopes.js";
12
- import { isAsyncIterable, isBinaryData, valueToBase64 } from "./shared.js";
13
-
14
- export type ToolDefinition<Args extends undefined | ZodRawShape = undefined> =
15
- Args extends ZodRawShape ? {
16
- name: string;
17
- description: string;
18
- scopes?: MCPScope[];
19
- args: Args;
20
- tool: (
21
- client: VantaCore,
22
- args: objectOutputType<Args, ZodTypeAny>,
23
- extra: RequestHandlerExtra,
24
- ) => CallToolResult | Promise<CallToolResult>;
25
- }
26
- : {
27
- name: string;
28
- description: string;
29
- scopes?: MCPScope[];
30
- args?: undefined;
31
- tool: (
32
- client: VantaCore,
33
- extra: RequestHandlerExtra,
34
- ) => CallToolResult | Promise<CallToolResult>;
35
- };
36
-
37
- // Optional function to assist with formatting tool results
38
- export async function formatResult(
39
- value: unknown,
40
- init: { response?: Response | undefined },
41
- ): Promise<CallToolResult> {
42
- if (typeof value === "undefined") {
43
- return { content: [] };
44
- }
45
-
46
- const { response } = init;
47
- const contentType = response?.headers.get("content-type") ?? "";
48
- let content: CallToolResult["content"] = [];
49
-
50
- if (contentType.search(/\bjson\b/g)) {
51
- content = [{ type: "text", text: JSON.stringify(value) }];
52
- } else if (
53
- contentType.startsWith("text/event-stream")
54
- && isAsyncIterable(value)
55
- ) {
56
- content = await consumeSSE(value);
57
- } else if (contentType.startsWith("text/") && typeof value === "string") {
58
- content = [{ type: "text", text: value }];
59
- } else if (isBinaryData(value) && contentType.startsWith("image/")) {
60
- const data = await valueToBase64(value);
61
- content = data == null
62
- ? []
63
- : [{ type: "image", data, mimeType: contentType }];
64
- } else {
65
- return {
66
- content: [{
67
- type: "text",
68
- text: `Unsupported content type: "${contentType}"`,
69
- }],
70
- isError: true,
71
- };
72
- }
73
-
74
- return { content };
75
- }
76
-
77
- async function consumeSSE(
78
- value: AsyncIterable<unknown>,
79
- ): Promise<CallToolResult["content"]> {
80
- const content: CallToolResult["content"] = [];
81
-
82
- for await (const chunk of value) {
83
- if (typeof chunk === "string") {
84
- content.push({ type: "text", text: chunk });
85
- } else {
86
- content.push({ type: "text", text: JSON.stringify(chunk) });
87
- }
88
- }
89
-
90
- return content;
91
- }
92
-
93
- export function createRegisterTool(
94
- logger: ConsoleLogger,
95
- server: McpServer,
96
- sdk: VantaCore,
97
- allowedScopes: Set<MCPScope>,
98
- allowedTools?: Set<string>,
99
- ): <A extends ZodRawShape | undefined>(tool: ToolDefinition<A>) => void {
100
- return <A extends ZodRawShape | undefined>(tool: ToolDefinition<A>): void => {
101
- if (allowedTools && !allowedTools.has(tool.name)) {
102
- return;
103
- }
104
-
105
- const scopes = tool.scopes ?? [];
106
- if (allowedScopes.size > 0 && scopes.length === 0) {
107
- return;
108
- }
109
-
110
- if (
111
- allowedScopes.size > 0
112
- && !scopes.every((s: MCPScope) => allowedScopes.has(s))
113
- ) {
114
- return;
115
- }
116
-
117
- if (tool.args) {
118
- server.tool(tool.name, tool.description, tool.args, async (args, ctx) => {
119
- return tool.tool(sdk, args, ctx);
120
- });
121
- } else {
122
- server.tool(tool.name, tool.description, async (ctx) => {
123
- return tool.tool(sdk, ctx);
124
- });
125
- }
126
-
127
- logger.debug("Registered tool", { name: tool.name });
128
- };
129
- }