vanta-auditor-api-sdk 0.1.1 → 0.3.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 (321) hide show
  1. package/.devcontainer/README.md +5 -0
  2. package/.devcontainer/devcontainer.json +45 -0
  3. package/FUNCTIONS.md +5 -22
  4. package/README.md +157 -58
  5. package/bin/mcp-server.js +39200 -0
  6. package/bin/mcp-server.js.map +322 -0
  7. package/docs/sdks/auditors/README.md +7 -11
  8. package/docs/sdks/audits/README.md +71 -102
  9. package/examples/README.md +31 -0
  10. package/examples/auditsList.example.ts +26 -0
  11. package/examples/package-lock.json +626 -0
  12. package/examples/package.json +18 -0
  13. package/funcs/auditorsCreate.d.ts +4 -2
  14. package/funcs/auditorsCreate.d.ts.map +1 -1
  15. package/funcs/auditorsCreate.js +17 -9
  16. package/funcs/auditorsCreate.js.map +1 -1
  17. package/funcs/auditsCreateCommentForEvidence.d.ts +4 -2
  18. package/funcs/auditsCreateCommentForEvidence.d.ts.map +1 -1
  19. package/funcs/auditsCreateCommentForEvidence.js +17 -9
  20. package/funcs/auditsCreateCommentForEvidence.js.map +1 -1
  21. package/funcs/auditsCreateCustomControl.d.ts +4 -2
  22. package/funcs/auditsCreateCustomControl.d.ts.map +1 -1
  23. package/funcs/auditsCreateCustomControl.js +17 -9
  24. package/funcs/auditsCreateCustomControl.js.map +1 -1
  25. package/funcs/auditsCreateCustomEvidenceRequest.d.ts +4 -2
  26. package/funcs/auditsCreateCustomEvidenceRequest.d.ts.map +1 -1
  27. package/funcs/auditsCreateCustomEvidenceRequest.js +17 -9
  28. package/funcs/auditsCreateCustomEvidenceRequest.js.map +1 -1
  29. package/funcs/auditsGetEvidenceUrls.d.ts +6 -3
  30. package/funcs/auditsGetEvidenceUrls.d.ts.map +1 -1
  31. package/funcs/auditsGetEvidenceUrls.js +19 -10
  32. package/funcs/auditsGetEvidenceUrls.js.map +1 -1
  33. package/funcs/auditsList.d.ts +4 -2
  34. package/funcs/auditsList.d.ts.map +1 -1
  35. package/funcs/auditsList.js +18 -9
  36. package/funcs/auditsList.js.map +1 -1
  37. package/funcs/auditsListComments.d.ts +4 -2
  38. package/funcs/auditsListComments.d.ts.map +1 -1
  39. package/funcs/auditsListComments.js +17 -9
  40. package/funcs/auditsListComments.js.map +1 -1
  41. package/funcs/auditsListControls.d.ts +4 -2
  42. package/funcs/auditsListControls.d.ts.map +1 -1
  43. package/funcs/auditsListControls.js +17 -9
  44. package/funcs/auditsListControls.js.map +1 -1
  45. package/funcs/auditsListEvidence.d.ts +4 -2
  46. package/funcs/auditsListEvidence.d.ts.map +1 -1
  47. package/funcs/auditsListEvidence.js +17 -9
  48. package/funcs/auditsListEvidence.js.map +1 -1
  49. package/funcs/auditsUpdateEvidence.d.ts +4 -2
  50. package/funcs/auditsUpdateEvidence.d.ts.map +1 -1
  51. package/funcs/auditsUpdateEvidence.js +17 -9
  52. package/funcs/auditsUpdateEvidence.js.map +1 -1
  53. package/hooks/types.d.ts +4 -1
  54. package/hooks/types.d.ts.map +1 -1
  55. package/index.d.ts +2 -0
  56. package/index.d.ts.map +1 -1
  57. package/index.js +3 -1
  58. package/index.js.map +1 -1
  59. package/jsr.json +27 -0
  60. package/lib/config.d.ts +11 -7
  61. package/lib/config.d.ts.map +1 -1
  62. package/lib/config.js +14 -3
  63. package/lib/config.js.map +1 -1
  64. package/lib/encodings.d.ts +10 -9
  65. package/lib/encodings.d.ts.map +1 -1
  66. package/lib/encodings.js +73 -47
  67. package/lib/encodings.js.map +1 -1
  68. package/lib/files.d.ts +5 -0
  69. package/lib/files.d.ts.map +1 -1
  70. package/lib/files.js +41 -0
  71. package/lib/files.js.map +1 -1
  72. package/lib/matchers.d.ts +6 -11
  73. package/lib/matchers.d.ts.map +1 -1
  74. package/lib/matchers.js +45 -31
  75. package/lib/matchers.js.map +1 -1
  76. package/lib/primitives.d.ts +4 -0
  77. package/lib/primitives.d.ts.map +1 -1
  78. package/lib/primitives.js +17 -0
  79. package/lib/primitives.js.map +1 -1
  80. package/lib/retries.js +0 -1
  81. package/lib/retries.js.map +1 -1
  82. package/lib/schemas.d.ts +1 -1
  83. package/lib/schemas.d.ts.map +1 -1
  84. package/lib/schemas.js +4 -1
  85. package/lib/schemas.js.map +1 -1
  86. package/lib/sdks.d.ts +5 -2
  87. package/lib/sdks.d.ts.map +1 -1
  88. package/lib/sdks.js +21 -24
  89. package/lib/sdks.js.map +1 -1
  90. package/lib/security.d.ts +6 -5
  91. package/lib/security.d.ts.map +1 -1
  92. package/lib/security.js +6 -1
  93. package/lib/security.js.map +1 -1
  94. package/mcp-server/build.d.mts.map +1 -0
  95. package/mcp-server/build.mjs +14 -0
  96. package/mcp-server/build.mjs.map +1 -0
  97. package/mcp-server/cli/start/command.d.ts +2 -0
  98. package/mcp-server/cli/start/command.d.ts.map +1 -0
  99. package/mcp-server/cli/start/command.js +126 -0
  100. package/mcp-server/cli/start/command.js.map +1 -0
  101. package/mcp-server/cli/start/impl.d.ts +16 -0
  102. package/mcp-server/cli/start/impl.d.ts.map +1 -0
  103. package/mcp-server/cli/start/impl.js +102 -0
  104. package/mcp-server/cli/start/impl.js.map +1 -0
  105. package/mcp-server/cli.d.ts +6 -0
  106. package/mcp-server/cli.d.ts.map +1 -0
  107. package/mcp-server/cli.js +10 -0
  108. package/mcp-server/cli.js.map +1 -0
  109. package/mcp-server/console-logger.d.ts +7 -0
  110. package/mcp-server/console-logger.d.ts.map +1 -0
  111. package/mcp-server/console-logger.js +59 -0
  112. package/mcp-server/console-logger.js.map +1 -0
  113. package/mcp-server/extensions.d.ts +11 -0
  114. package/mcp-server/extensions.d.ts.map +1 -0
  115. package/mcp-server/extensions.js +6 -0
  116. package/mcp-server/extensions.js.map +1 -0
  117. package/mcp-server/mcp-server.d.ts +2 -0
  118. package/mcp-server/mcp-server.d.ts.map +1 -0
  119. package/mcp-server/mcp-server.js +29 -0
  120. package/mcp-server/mcp-server.js.map +1 -0
  121. package/mcp-server/prompts.d.ts +26 -0
  122. package/mcp-server/prompts.d.ts.map +1 -0
  123. package/mcp-server/prompts.js +51 -0
  124. package/mcp-server/prompts.js.map +1 -0
  125. package/mcp-server/resources.d.ts +32 -0
  126. package/mcp-server/resources.d.ts.map +1 -0
  127. package/mcp-server/resources.js +87 -0
  128. package/mcp-server/resources.js.map +1 -0
  129. package/mcp-server/scopes.d.ts +3 -0
  130. package/mcp-server/scopes.d.ts.map +1 -0
  131. package/mcp-server/scopes.js +8 -0
  132. package/mcp-server/scopes.js.map +1 -0
  133. package/mcp-server/server.d.ts +13 -0
  134. package/mcp-server/server.d.ts.map +1 -0
  135. package/mcp-server/server.js +52 -0
  136. package/mcp-server/server.js.map +1 -0
  137. package/mcp-server/shared.d.ts +7 -0
  138. package/mcp-server/shared.d.ts.map +1 -0
  139. package/mcp-server/shared.js +98 -0
  140. package/mcp-server/shared.js.map +1 -0
  141. package/mcp-server/tools/auditorsCreate.d.ts +8 -0
  142. package/mcp-server/tools/auditorsCreate.d.ts.map +1 -0
  143. package/mcp-server/tools/auditorsCreate.js +64 -0
  144. package/mcp-server/tools/auditorsCreate.js.map +1 -0
  145. package/mcp-server/tools/auditsCreateCommentForEvidence.d.ts +8 -0
  146. package/mcp-server/tools/auditsCreateCommentForEvidence.d.ts.map +1 -0
  147. package/mcp-server/tools/auditsCreateCommentForEvidence.js +64 -0
  148. package/mcp-server/tools/auditsCreateCommentForEvidence.js.map +1 -0
  149. package/mcp-server/tools/auditsCreateCustomControl.d.ts +8 -0
  150. package/mcp-server/tools/auditsCreateCustomControl.d.ts.map +1 -0
  151. package/mcp-server/tools/auditsCreateCustomControl.js +64 -0
  152. package/mcp-server/tools/auditsCreateCustomControl.js.map +1 -0
  153. package/mcp-server/tools/auditsCreateCustomEvidenceRequest.d.ts +8 -0
  154. package/mcp-server/tools/auditsCreateCustomEvidenceRequest.d.ts.map +1 -0
  155. package/mcp-server/tools/auditsCreateCustomEvidenceRequest.js +64 -0
  156. package/mcp-server/tools/auditsCreateCustomEvidenceRequest.js.map +1 -0
  157. package/mcp-server/tools/auditsGetEvidenceUrls.d.ts +8 -0
  158. package/mcp-server/tools/auditsGetEvidenceUrls.d.ts.map +1 -0
  159. package/mcp-server/tools/auditsGetEvidenceUrls.js +65 -0
  160. package/mcp-server/tools/auditsGetEvidenceUrls.js.map +1 -0
  161. package/mcp-server/tools/auditsList.d.ts +8 -0
  162. package/mcp-server/tools/auditsList.d.ts.map +1 -0
  163. package/mcp-server/tools/auditsList.js +64 -0
  164. package/mcp-server/tools/auditsList.js.map +1 -0
  165. package/mcp-server/tools/auditsListComments.d.ts +8 -0
  166. package/mcp-server/tools/auditsListComments.d.ts.map +1 -0
  167. package/mcp-server/tools/auditsListComments.js +64 -0
  168. package/mcp-server/tools/auditsListComments.js.map +1 -0
  169. package/mcp-server/tools/auditsListControls.d.ts +8 -0
  170. package/mcp-server/tools/auditsListControls.d.ts.map +1 -0
  171. package/mcp-server/tools/auditsListControls.js +64 -0
  172. package/mcp-server/tools/auditsListControls.js.map +1 -0
  173. package/mcp-server/tools/auditsListEvidence.d.ts +8 -0
  174. package/mcp-server/tools/auditsListEvidence.d.ts.map +1 -0
  175. package/mcp-server/tools/auditsListEvidence.js +64 -0
  176. package/mcp-server/tools/auditsListEvidence.js.map +1 -0
  177. package/mcp-server/tools/auditsUpdateEvidence.d.ts +8 -0
  178. package/mcp-server/tools/auditsUpdateEvidence.d.ts.map +1 -0
  179. package/mcp-server/tools/auditsUpdateEvidence.js +64 -0
  180. package/mcp-server/tools/auditsUpdateEvidence.js.map +1 -0
  181. package/mcp-server/tools.d.ts +25 -0
  182. package/mcp-server/tools.d.ts.map +1 -0
  183. package/mcp-server/tools.js +82 -0
  184. package/mcp-server/tools.js.map +1 -0
  185. package/models/components/audit.d.ts +5 -2
  186. package/models/components/audit.d.ts.map +1 -1
  187. package/models/components/audit.js +5 -2
  188. package/models/components/audit.js.map +1 -1
  189. package/models/components/auditfocus.d.ts +28 -0
  190. package/models/components/auditfocus.d.ts.map +1 -0
  191. package/models/components/auditfocus.js +61 -0
  192. package/models/components/auditfocus.js.map +1 -0
  193. package/models/components/auditorcontrol.d.ts +14 -2
  194. package/models/components/auditorcontrol.d.ts.map +1 -1
  195. package/models/components/auditorcontrol.js +8 -2
  196. package/models/components/auditorcontrol.js.map +1 -1
  197. package/models/components/auditorenabledstatetransition.d.ts +3 -0
  198. package/models/components/auditorenabledstatetransition.d.ts.map +1 -1
  199. package/models/components/auditorenabledstatetransition.js +1 -0
  200. package/models/components/auditorenabledstatetransition.js.map +1 -1
  201. package/models/components/comment.d.ts +5 -0
  202. package/models/components/comment.d.ts.map +1 -1
  203. package/models/components/comment.js +2 -0
  204. package/models/components/comment.js.map +1 -1
  205. package/models/components/control.d.ts +8 -2
  206. package/models/components/control.d.ts.map +1 -1
  207. package/models/components/control.js +5 -2
  208. package/models/components/control.js.map +1 -1
  209. package/models/components/createcustomevidencerequestinput.d.ts +5 -0
  210. package/models/components/createcustomevidencerequestinput.d.ts.map +1 -1
  211. package/models/components/createcustomevidencerequestinput.js +2 -0
  212. package/models/components/createcustomevidencerequestinput.js.map +1 -1
  213. package/models/components/customfield.d.ts +52 -0
  214. package/models/components/customfield.d.ts.map +1 -0
  215. package/models/components/customfield.js +95 -0
  216. package/models/components/customfield.js.map +1 -0
  217. package/models/components/index.d.ts +3 -0
  218. package/models/components/index.d.ts.map +1 -1
  219. package/models/components/index.js +3 -0
  220. package/models/components/index.js.map +1 -1
  221. package/models/components/section.d.ts +37 -0
  222. package/models/components/section.d.ts.map +1 -0
  223. package/models/components/section.js +71 -0
  224. package/models/components/section.js.map +1 -0
  225. package/models/errors/apierror.d.ts +8 -6
  226. package/models/errors/apierror.d.ts.map +1 -1
  227. package/models/errors/apierror.js +23 -10
  228. package/models/errors/apierror.js.map +1 -1
  229. package/models/errors/index.d.ts +1 -0
  230. package/models/errors/index.d.ts.map +1 -1
  231. package/models/errors/index.js +1 -0
  232. package/models/errors/index.js.map +1 -1
  233. package/models/errors/responsevalidationerror.d.ts +26 -0
  234. package/models/errors/responsevalidationerror.d.ts.map +1 -0
  235. package/models/errors/responsevalidationerror.js +66 -0
  236. package/models/errors/responsevalidationerror.js.map +1 -0
  237. package/models/errors/sdkvalidationerror.d.ts +1 -0
  238. package/models/errors/sdkvalidationerror.d.ts.map +1 -1
  239. package/models/errors/sdkvalidationerror.js +14 -0
  240. package/models/errors/sdkvalidationerror.js.map +1 -1
  241. package/models/errors/vantaerror.d.ts +19 -0
  242. package/models/errors/vantaerror.d.ts.map +1 -0
  243. package/models/errors/vantaerror.js +20 -0
  244. package/models/errors/vantaerror.js.map +1 -0
  245. package/models/operations/listaudits.d.ts +5 -0
  246. package/models/operations/listaudits.d.ts.map +1 -1
  247. package/models/operations/listaudits.js +2 -0
  248. package/models/operations/listaudits.js.map +1 -1
  249. package/package.json +27 -10
  250. package/sdk/audits.d.ts +2 -1
  251. package/sdk/audits.d.ts.map +1 -1
  252. package/sdk/audits.js +2 -1
  253. package/sdk/audits.js.map +1 -1
  254. package/src/funcs/auditorsCreate.ts +58 -22
  255. package/src/funcs/auditsCreateCommentForEvidence.ts +58 -22
  256. package/src/funcs/auditsCreateCustomControl.ts +58 -22
  257. package/src/funcs/auditsCreateCustomEvidenceRequest.ts +58 -22
  258. package/src/funcs/auditsGetEvidenceUrls.ts +60 -23
  259. package/src/funcs/auditsList.ts +59 -22
  260. package/src/funcs/auditsListComments.ts +58 -22
  261. package/src/funcs/auditsListControls.ts +58 -22
  262. package/src/funcs/auditsListEvidence.ts +58 -22
  263. package/src/funcs/auditsUpdateEvidence.ts +58 -22
  264. package/src/hooks/types.ts +4 -1
  265. package/src/index.ts +2 -0
  266. package/src/lib/config.ts +21 -6
  267. package/src/lib/encodings.ts +95 -61
  268. package/src/lib/files.ts +43 -1
  269. package/src/lib/matchers.ts +64 -41
  270. package/src/lib/primitives.ts +28 -0
  271. package/src/lib/retries.ts +0 -1
  272. package/src/lib/schemas.ts +5 -0
  273. package/src/lib/sdks.ts +35 -25
  274. package/src/lib/security.ts +12 -5
  275. package/src/mcp-server/cli/start/command.ts +94 -0
  276. package/src/mcp-server/cli/start/impl.ts +130 -0
  277. package/src/mcp-server/cli.ts +13 -0
  278. package/src/mcp-server/console-logger.ts +71 -0
  279. package/src/mcp-server/extensions.ts +17 -0
  280. package/src/mcp-server/mcp-server.ts +26 -0
  281. package/src/mcp-server/prompts.ts +117 -0
  282. package/src/mcp-server/resources.ts +172 -0
  283. package/src/mcp-server/scopes.ts +7 -0
  284. package/src/mcp-server/server.ts +79 -0
  285. package/src/mcp-server/shared.ts +75 -0
  286. package/src/mcp-server/tools/auditorsCreate.ts +37 -0
  287. package/src/mcp-server/tools/auditsCreateCommentForEvidence.ts +38 -0
  288. package/src/mcp-server/tools/auditsCreateCustomControl.ts +37 -0
  289. package/src/mcp-server/tools/auditsCreateCustomEvidenceRequest.ts +39 -0
  290. package/src/mcp-server/tools/auditsGetEvidenceUrls.ts +38 -0
  291. package/src/mcp-server/tools/auditsList.ts +37 -0
  292. package/src/mcp-server/tools/auditsListComments.ts +37 -0
  293. package/src/mcp-server/tools/auditsListControls.ts +37 -0
  294. package/src/mcp-server/tools/auditsListEvidence.ts +37 -0
  295. package/src/mcp-server/tools/auditsUpdateEvidence.ts +37 -0
  296. package/src/mcp-server/tools.ts +129 -0
  297. package/src/models/components/audit.ts +13 -4
  298. package/src/models/components/auditfocus.ts +31 -0
  299. package/src/models/components/auditorcontrol.ts +30 -4
  300. package/src/models/components/auditorenabledstatetransition.ts +1 -0
  301. package/src/models/components/comment.ts +9 -0
  302. package/src/models/components/control.ts +17 -4
  303. package/src/models/components/createcustomevidencerequestinput.ts +7 -0
  304. package/src/models/components/customfield.ts +109 -0
  305. package/src/models/components/index.ts +3 -0
  306. package/src/models/components/section.ts +69 -0
  307. package/src/models/errors/apierror.ts +29 -16
  308. package/src/models/errors/index.ts +1 -0
  309. package/src/models/errors/responsevalidationerror.ts +50 -0
  310. package/src/models/errors/sdkvalidationerror.ts +12 -0
  311. package/src/models/errors/vantaerror.ts +35 -0
  312. package/src/models/operations/listaudits.ts +7 -0
  313. package/src/sdk/audits.ts +2 -1
  314. package/src/types/async.ts +68 -0
  315. package/src/types/constdatetime.ts +1 -1
  316. package/tsconfig.json +41 -0
  317. package/types/async.d.ts +23 -0
  318. package/types/async.d.ts.map +1 -0
  319. package/types/async.js +44 -0
  320. package/types/async.js.map +1 -0
  321. package/types/constdatetime.js +1 -1
@@ -0,0 +1,37 @@
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
+ };
@@ -0,0 +1,37 @@
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
+ };
@@ -0,0 +1,37 @@
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
+ };
@@ -0,0 +1,37 @@
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
+ };
@@ -0,0 +1,129 @@
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";
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
+ }
@@ -6,6 +6,11 @@ import * as z from "zod";
6
6
  import { safeParse } from "../../lib/schemas.js";
7
7
  import { Result as SafeParseResult } from "../../types/fp.js";
8
8
  import { SDKValidationError } from "../errors/sdkvalidationerror.js";
9
+ import {
10
+ AuditFocus,
11
+ AuditFocus$inboundSchema,
12
+ AuditFocus$outboundSchema,
13
+ } from "./auditfocus.js";
9
14
 
10
15
  export type Audit = {
11
16
  /**
@@ -35,7 +40,7 @@ export type Audit = {
35
40
  /**
36
41
  * Timestamp at which auditors gain access to the audit. Occurs before the audit window begins
37
42
  */
38
- earlyAccessStartsDate: Date | null;
43
+ earlyAccessStartsAt: Date | null;
39
44
  /**
40
45
  * The name of the framework for the audit
41
46
  */
@@ -64,6 +69,7 @@ export type Audit = {
64
69
  * Timestamp when the audit was marked completed, and report was uploaded
65
70
  */
66
71
  completionDate: Date | null;
72
+ auditFocus: AuditFocus;
67
73
  };
68
74
 
69
75
  /** @internal */
@@ -79,7 +85,7 @@ export const Audit$inboundSchema: z.ZodType<Audit, z.ZodTypeDef, unknown> = z
79
85
  auditEndDate: z.string().datetime({ offset: true }).transform(v =>
80
86
  new Date(v)
81
87
  ),
82
- earlyAccessStartsDate: z.nullable(
88
+ earlyAccessStartsAt: z.nullable(
83
89
  z.string().datetime({ offset: true }).transform(v => new Date(v)),
84
90
  ),
85
91
  framework: z.string(),
@@ -97,6 +103,7 @@ export const Audit$inboundSchema: z.ZodType<Audit, z.ZodTypeDef, unknown> = z
97
103
  completionDate: z.nullable(
98
104
  z.string().datetime({ offset: true }).transform(v => new Date(v)),
99
105
  ),
106
+ auditFocus: AuditFocus$inboundSchema,
100
107
  });
101
108
 
102
109
  /** @internal */
@@ -107,7 +114,7 @@ export type Audit$Outbound = {
107
114
  customerOrganizationId: string;
108
115
  auditStartDate: string;
109
116
  auditEndDate: string;
110
- earlyAccessStartsDate: string | null;
117
+ earlyAccessStartsAt: string | null;
111
118
  framework: string;
112
119
  allowAuditorEmails: Array<string>;
113
120
  allowAllAuditors: boolean;
@@ -115,6 +122,7 @@ export type Audit$Outbound = {
115
122
  creationDate: string;
116
123
  modificationDate: string | null;
117
124
  completionDate: string | null;
125
+ auditFocus: string;
118
126
  };
119
127
 
120
128
  /** @internal */
@@ -129,7 +137,7 @@ export const Audit$outboundSchema: z.ZodType<
129
137
  customerOrganizationId: z.string(),
130
138
  auditStartDate: z.date().transform(v => v.toISOString()),
131
139
  auditEndDate: z.date().transform(v => v.toISOString()),
132
- earlyAccessStartsDate: z.nullable(z.date().transform(v => v.toISOString())),
140
+ earlyAccessStartsAt: z.nullable(z.date().transform(v => v.toISOString())),
133
141
  framework: z.string(),
134
142
  allowAuditorEmails: z.array(z.string()),
135
143
  allowAllAuditors: z.boolean(),
@@ -137,6 +145,7 @@ export const Audit$outboundSchema: z.ZodType<
137
145
  creationDate: z.date().transform(v => v.toISOString()),
138
146
  modificationDate: z.nullable(z.date().transform(v => v.toISOString())),
139
147
  completionDate: z.nullable(z.date().transform(v => v.toISOString())),
148
+ auditFocus: AuditFocus$outboundSchema,
140
149
  });
141
150
 
142
151
  /**
@@ -0,0 +1,31 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+ import { ClosedEnum } from "../../types/enums.js";
7
+
8
+ export const AuditFocus = {
9
+ External: "EXTERNAL",
10
+ Internal: "INTERNAL",
11
+ } as const;
12
+ export type AuditFocus = ClosedEnum<typeof AuditFocus>;
13
+
14
+ /** @internal */
15
+ export const AuditFocus$inboundSchema: z.ZodNativeEnum<typeof AuditFocus> = z
16
+ .nativeEnum(AuditFocus);
17
+
18
+ /** @internal */
19
+ export const AuditFocus$outboundSchema: z.ZodNativeEnum<typeof AuditFocus> =
20
+ AuditFocus$inboundSchema;
21
+
22
+ /**
23
+ * @internal
24
+ * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
25
+ */
26
+ export namespace AuditFocus$ {
27
+ /** @deprecated use `AuditFocus$inboundSchema` instead. */
28
+ export const inboundSchema = AuditFocus$inboundSchema;
29
+ /** @deprecated use `AuditFocus$outboundSchema` instead. */
30
+ export const outboundSchema = AuditFocus$outboundSchema;
31
+ }
@@ -11,6 +11,18 @@ import {
11
11
  ControlSource$inboundSchema,
12
12
  ControlSource$outboundSchema,
13
13
  } from "./controlsource.js";
14
+ import {
15
+ CustomField,
16
+ CustomField$inboundSchema,
17
+ CustomField$Outbound,
18
+ CustomField$outboundSchema,
19
+ } from "./customfield.js";
20
+ import {
21
+ Section,
22
+ Section$inboundSchema,
23
+ Section$Outbound,
24
+ Section$outboundSchema,
25
+ } from "./section.js";
14
26
 
15
27
  /**
16
28
  * The control's owner.
@@ -59,11 +71,19 @@ export type AuditorControl = {
59
71
  /**
60
72
  * The control's GDPR role, if the control is a GDPR control.
61
73
  */
62
- role?: string | undefined;
74
+ role?: string | null | undefined;
75
+ /**
76
+ * The control's custom field values, if control custom fields is included in your Vanta instance.
77
+ */
78
+ customFields: Array<CustomField>;
63
79
  /**
64
80
  * The report standard framework fulfilled by the control.
65
81
  */
66
82
  framework: string;
83
+ /**
84
+ * Sections of a framework that this control satisfies
85
+ */
86
+ sections: Array<Section>;
67
87
  };
68
88
 
69
89
  /** @internal */
@@ -132,8 +152,10 @@ export const AuditorControl$inboundSchema: z.ZodType<
132
152
  source: ControlSource$inboundSchema,
133
153
  domains: z.array(z.string()),
134
154
  owner: z.nullable(z.lazy(() => Owner$inboundSchema)),
135
- role: z.string().optional(),
155
+ role: z.nullable(z.string()).optional(),
156
+ customFields: z.array(CustomField$inboundSchema),
136
157
  framework: z.string(),
158
+ sections: z.array(Section$inboundSchema),
137
159
  });
138
160
 
139
161
  /** @internal */
@@ -145,8 +167,10 @@ export type AuditorControl$Outbound = {
145
167
  source: string;
146
168
  domains: Array<string>;
147
169
  owner: Owner$Outbound | null;
148
- role?: string | undefined;
170
+ role?: string | null | undefined;
171
+ customFields: Array<CustomField$Outbound>;
149
172
  framework: string;
173
+ sections: Array<Section$Outbound>;
150
174
  };
151
175
 
152
176
  /** @internal */
@@ -162,8 +186,10 @@ export const AuditorControl$outboundSchema: z.ZodType<
162
186
  source: ControlSource$outboundSchema,
163
187
  domains: z.array(z.string()),
164
188
  owner: z.nullable(z.lazy(() => Owner$outboundSchema)),
165
- role: z.string().optional(),
189
+ role: z.nullable(z.string()).optional(),
190
+ customFields: z.array(CustomField$outboundSchema),
166
191
  framework: z.string(),
192
+ sections: z.array(Section$outboundSchema),
167
193
  });
168
194
 
169
195
  /**
@@ -10,6 +10,7 @@ export const AuditorEnabledStateTransition = {
10
10
  MarkApplicable: "MARK_APPLICABLE",
11
11
  Flag: "FLAG",
12
12
  MarkNa: "MARK_NA",
13
+ ReadyForAudit: "READY_FOR_AUDIT",
13
14
  } as const;
14
15
  export type AuditorEnabledStateTransition = ClosedEnum<
15
16
  typeof AuditorEnabledStateTransition
@@ -28,6 +28,10 @@ export type Comment = {
28
28
  * When the comment was updated
29
29
  */
30
30
  modificationDate: Date | null;
31
+ /**
32
+ * When the comment was deleted
33
+ */
34
+ deletionDate: Date | null;
31
35
  /**
32
36
  * The email of the comment author. This acts as a unique identifier to map users between Vanta and external systems.
33
37
  */
@@ -46,6 +50,9 @@ export const Comment$inboundSchema: z.ZodType<Comment, z.ZodTypeDef, unknown> =
46
50
  modificationDate: z.nullable(
47
51
  z.string().datetime({ offset: true }).transform(v => new Date(v)),
48
52
  ),
53
+ deletionDate: z.nullable(
54
+ z.string().datetime({ offset: true }).transform(v => new Date(v)),
55
+ ),
49
56
  email: z.nullable(z.string()),
50
57
  });
51
58
 
@@ -56,6 +63,7 @@ export type Comment$Outbound = {
56
63
  text: string;
57
64
  creationDate: string;
58
65
  modificationDate: string | null;
66
+ deletionDate: string | null;
59
67
  email: string | null;
60
68
  };
61
69
 
@@ -70,6 +78,7 @@ export const Comment$outboundSchema: z.ZodType<
70
78
  text: z.string(),
71
79
  creationDate: z.date().transform(v => v.toISOString()),
72
80
  modificationDate: z.nullable(z.date().transform(v => v.toISOString())),
81
+ deletionDate: z.nullable(z.date().transform(v => v.toISOString())),
73
82
  email: z.nullable(z.string()),
74
83
  });
75
84
 
@@ -11,6 +11,12 @@ import {
11
11
  ControlSource$inboundSchema,
12
12
  ControlSource$outboundSchema,
13
13
  } from "./controlsource.js";
14
+ import {
15
+ CustomField,
16
+ CustomField$inboundSchema,
17
+ CustomField$Outbound,
18
+ CustomField$outboundSchema,
19
+ } from "./customfield.js";
14
20
 
15
21
  /**
16
22
  * The control's owner.
@@ -59,7 +65,11 @@ export type Control = {
59
65
  /**
60
66
  * The control's GDPR role, if the control is a GDPR control.
61
67
  */
62
- role?: string | undefined;
68
+ role?: string | null | undefined;
69
+ /**
70
+ * The control's custom field values, if control custom fields is included in your Vanta instance.
71
+ */
72
+ customFields: Array<CustomField>;
63
73
  };
64
74
 
65
75
  /** @internal */
@@ -128,7 +138,8 @@ export const Control$inboundSchema: z.ZodType<Control, z.ZodTypeDef, unknown> =
128
138
  source: ControlSource$inboundSchema,
129
139
  domains: z.array(z.string()),
130
140
  owner: z.nullable(z.lazy(() => ControlOwner$inboundSchema)),
131
- role: z.string().optional(),
141
+ role: z.nullable(z.string()).optional(),
142
+ customFields: z.array(CustomField$inboundSchema),
132
143
  });
133
144
 
134
145
  /** @internal */
@@ -140,7 +151,8 @@ export type Control$Outbound = {
140
151
  source: string;
141
152
  domains: Array<string>;
142
153
  owner: ControlOwner$Outbound | null;
143
- role?: string | undefined;
154
+ role?: string | null | undefined;
155
+ customFields: Array<CustomField$Outbound>;
144
156
  };
145
157
 
146
158
  /** @internal */
@@ -156,7 +168,8 @@ export const Control$outboundSchema: z.ZodType<
156
168
  source: ControlSource$outboundSchema,
157
169
  domains: z.array(z.string()),
158
170
  owner: z.nullable(z.lazy(() => ControlOwner$outboundSchema)),
159
- role: z.string().optional(),
171
+ role: z.nullable(z.string()).optional(),
172
+ customFields: z.array(CustomField$outboundSchema),
160
173
  });
161
174
 
162
175
  /**
@@ -31,6 +31,10 @@ export type CreateCustomEvidenceRequestInput = {
31
31
  * Whether this document contains sensitive data and needs more restrictive read access
32
32
  */
33
33
  isRestricted: boolean;
34
+ /**
35
+ * Email of the auditor who created the custom evidence request.
36
+ */
37
+ auditorEmail: string;
34
38
  };
35
39
 
36
40
  /** @internal */
@@ -45,6 +49,7 @@ export const CreateCustomEvidenceRequestInput$inboundSchema: z.ZodType<
45
49
  cadence: RecurrenceDuration$inboundSchema,
46
50
  reminderWindow: RecurrenceDuration$inboundSchema,
47
51
  isRestricted: z.boolean(),
52
+ auditorEmail: z.string(),
48
53
  });
49
54
 
50
55
  /** @internal */
@@ -55,6 +60,7 @@ export type CreateCustomEvidenceRequestInput$Outbound = {
55
60
  cadence: string;
56
61
  reminderWindow: string;
57
62
  isRestricted: boolean;
63
+ auditorEmail: string;
58
64
  };
59
65
 
60
66
  /** @internal */
@@ -69,6 +75,7 @@ export const CreateCustomEvidenceRequestInput$outboundSchema: z.ZodType<
69
75
  cadence: RecurrenceDuration$outboundSchema,
70
76
  reminderWindow: RecurrenceDuration$outboundSchema,
71
77
  isRestricted: z.boolean(),
78
+ auditorEmail: z.string(),
72
79
  });
73
80
 
74
81
  /**