vanta-auditor-api-sdk 0.2.0 → 0.4.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.
- package/FUNCTIONS.md +5 -22
- package/README.md +39 -58
- package/RUNTIMES.md +6 -6
- package/bin/mcp-server.js +1188 -1035
- package/bin/mcp-server.js.map +84 -73
- package/docs/sdks/auditors/README.md +8 -11
- package/docs/sdks/audits/README.md +76 -101
- package/examples/README.md +31 -0
- package/examples/auditsList.example.ts +26 -0
- package/examples/package-lock.json +627 -0
- package/examples/package.json +18 -0
- package/funcs/auditorsCreate.d.ts +3 -2
- package/funcs/auditorsCreate.d.ts.map +1 -1
- package/funcs/auditorsCreate.js +4 -2
- package/funcs/auditorsCreate.js.map +1 -1
- package/funcs/auditsCreateCommentForEvidence.d.ts +3 -2
- package/funcs/auditsCreateCommentForEvidence.d.ts.map +1 -1
- package/funcs/auditsCreateCommentForEvidence.js +4 -2
- package/funcs/auditsCreateCommentForEvidence.js.map +1 -1
- package/funcs/auditsCreateCustomControl.d.ts +3 -2
- package/funcs/auditsCreateCustomControl.d.ts.map +1 -1
- package/funcs/auditsCreateCustomControl.js +4 -2
- package/funcs/auditsCreateCustomControl.js.map +1 -1
- package/funcs/auditsCreateCustomEvidenceRequest.d.ts +3 -2
- package/funcs/auditsCreateCustomEvidenceRequest.d.ts.map +1 -1
- package/funcs/auditsCreateCustomEvidenceRequest.js +4 -2
- package/funcs/auditsCreateCustomEvidenceRequest.js.map +1 -1
- package/funcs/auditsGetEvidenceUrls.d.ts +3 -2
- package/funcs/auditsGetEvidenceUrls.d.ts.map +1 -1
- package/funcs/auditsGetEvidenceUrls.js +4 -2
- package/funcs/auditsGetEvidenceUrls.js.map +1 -1
- package/funcs/auditsList.d.ts +3 -2
- package/funcs/auditsList.d.ts.map +1 -1
- package/funcs/auditsList.js +5 -2
- package/funcs/auditsList.js.map +1 -1
- package/funcs/auditsListComments.d.ts +3 -2
- package/funcs/auditsListComments.d.ts.map +1 -1
- package/funcs/auditsListComments.js +4 -2
- package/funcs/auditsListComments.js.map +1 -1
- package/funcs/auditsListControls.d.ts +3 -2
- package/funcs/auditsListControls.d.ts.map +1 -1
- package/funcs/auditsListControls.js +4 -2
- package/funcs/auditsListControls.js.map +1 -1
- package/funcs/auditsListEvidence.d.ts +3 -2
- package/funcs/auditsListEvidence.d.ts.map +1 -1
- package/funcs/auditsListEvidence.js +4 -2
- package/funcs/auditsListEvidence.js.map +1 -1
- package/funcs/auditsUpdateEvidence.d.ts +3 -2
- package/funcs/auditsUpdateEvidence.d.ts.map +1 -1
- package/funcs/auditsUpdateEvidence.js +4 -2
- package/funcs/auditsUpdateEvidence.js.map +1 -1
- package/hooks/types.d.ts +2 -0
- package/hooks/types.d.ts.map +1 -1
- package/index.d.ts +2 -0
- package/index.d.ts.map +1 -1
- package/index.js +3 -1
- package/index.js.map +1 -1
- package/jsr.json +1 -1
- package/lib/base64.d.ts +1 -1
- package/lib/base64.d.ts.map +1 -1
- package/lib/base64.js +1 -1
- package/lib/base64.js.map +1 -1
- package/lib/config.d.ts +7 -3
- package/lib/config.d.ts.map +1 -1
- package/lib/config.js +3 -3
- package/lib/config.js.map +1 -1
- package/lib/encodings.d.ts.map +1 -1
- package/lib/env.d.ts +1 -1
- package/lib/env.d.ts.map +1 -1
- package/lib/env.js +19 -2
- package/lib/env.js.map +1 -1
- package/lib/files.d.ts +5 -0
- package/lib/files.d.ts.map +1 -1
- package/lib/files.js +41 -0
- package/lib/files.js.map +1 -1
- package/lib/matchers.d.ts +3 -10
- package/lib/matchers.d.ts.map +1 -1
- package/lib/matchers.js +33 -31
- package/lib/matchers.js.map +1 -1
- package/lib/schemas.d.ts +1 -1
- package/lib/schemas.d.ts.map +1 -1
- package/lib/schemas.js +2 -2
- package/lib/schemas.js.map +1 -1
- package/lib/sdks.d.ts +4 -1
- package/lib/sdks.d.ts.map +1 -1
- package/lib/sdks.js +9 -14
- package/lib/sdks.js.map +1 -1
- package/lib/security.d.ts +2 -2
- package/lib/security.d.ts.map +1 -1
- package/lib/security.js.map +1 -1
- package/lib/url.js +1 -1
- package/lib/url.js.map +1 -1
- package/mcp-server/cli/start/command.d.ts.map +1 -1
- package/mcp-server/cli/start/command.js +2 -15
- package/mcp-server/cli/start/command.js.map +1 -1
- package/mcp-server/cli/start/impl.d.ts +0 -2
- package/mcp-server/cli/start/impl.d.ts.map +1 -1
- package/mcp-server/cli/start/impl.js +2 -4
- package/mcp-server/cli/start/impl.js.map +1 -1
- package/mcp-server/extensions.d.ts +1 -1
- package/mcp-server/extensions.d.ts.map +1 -1
- package/mcp-server/mcp-server.js +1 -1
- package/mcp-server/prompts.d.ts +1 -1
- package/mcp-server/prompts.d.ts.map +1 -1
- package/mcp-server/server.js +1 -1
- package/mcp-server/shared.d.ts.map +1 -1
- package/mcp-server/shared.js +1 -1
- package/mcp-server/shared.js.map +1 -1
- package/mcp-server/tools.d.ts +1 -1
- package/mcp-server/tools.d.ts.map +1 -1
- package/models/components/addauditorinput.d.ts +1 -1
- package/models/components/addauditorinput.d.ts.map +1 -1
- package/models/components/addauditorinput.js +1 -1
- package/models/components/addauditorinput.js.map +1 -1
- package/models/components/addcommentinput.d.ts +1 -1
- package/models/components/addcommentinput.d.ts.map +1 -1
- package/models/components/addcommentinput.js +1 -1
- package/models/components/addcommentinput.js.map +1 -1
- package/models/components/audit.d.ts +6 -3
- package/models/components/audit.d.ts.map +1 -1
- package/models/components/audit.js +6 -3
- package/models/components/audit.js.map +1 -1
- package/models/components/auditevidencestate.d.ts +1 -1
- package/models/components/auditevidencestate.d.ts.map +1 -1
- package/models/components/auditevidencestate.js +1 -1
- package/models/components/auditevidencestate.js.map +1 -1
- package/models/components/auditevidencetype.d.ts +1 -1
- package/models/components/auditevidencetype.d.ts.map +1 -1
- package/models/components/auditevidencetype.js +1 -1
- package/models/components/auditevidencetype.js.map +1 -1
- package/models/components/auditevidenceupdateinput.d.ts +1 -1
- package/models/components/auditevidenceupdateinput.d.ts.map +1 -1
- package/models/components/auditevidenceupdateinput.js +1 -1
- package/models/components/auditevidenceupdateinput.js.map +1 -1
- package/models/components/auditfocus.d.ts +28 -0
- package/models/components/auditfocus.d.ts.map +1 -0
- package/models/components/auditfocus.js +61 -0
- package/models/components/auditfocus.js.map +1 -0
- package/models/components/auditor.d.ts +1 -1
- package/models/components/auditor.d.ts.map +1 -1
- package/models/components/auditor.js +1 -1
- package/models/components/auditor.js.map +1 -1
- package/models/components/auditorcontrol.d.ts +1 -1
- package/models/components/auditorcontrol.d.ts.map +1 -1
- package/models/components/auditorcontrol.js +1 -1
- package/models/components/auditorcontrol.js.map +1 -1
- package/models/components/auditorenabledstatetransition.d.ts +1 -1
- package/models/components/auditorenabledstatetransition.d.ts.map +1 -1
- package/models/components/auditorenabledstatetransition.js +1 -1
- package/models/components/auditorenabledstatetransition.js.map +1 -1
- package/models/components/comment.d.ts +1 -1
- package/models/components/comment.d.ts.map +1 -1
- package/models/components/comment.js +1 -1
- package/models/components/comment.js.map +1 -1
- package/models/components/control.d.ts +1 -1
- package/models/components/control.d.ts.map +1 -1
- package/models/components/control.js +1 -1
- package/models/components/control.js.map +1 -1
- package/models/components/controldomain.d.ts +1 -1
- package/models/components/controldomain.d.ts.map +1 -1
- package/models/components/controldomain.js +1 -1
- package/models/components/controldomain.js.map +1 -1
- package/models/components/controlsource.d.ts +1 -1
- package/models/components/controlsource.d.ts.map +1 -1
- package/models/components/controlsource.js +1 -1
- package/models/components/controlsource.js.map +1 -1
- package/models/components/createcustomcontrolinput.d.ts +1 -1
- package/models/components/createcustomcontrolinput.d.ts.map +1 -1
- package/models/components/createcustomcontrolinput.js +1 -1
- package/models/components/createcustomcontrolinput.js.map +1 -1
- package/models/components/createcustomevidencerequestinput.d.ts +1 -1
- package/models/components/createcustomevidencerequestinput.d.ts.map +1 -1
- package/models/components/createcustomevidencerequestinput.js +1 -1
- package/models/components/createcustomevidencerequestinput.js.map +1 -1
- package/models/components/customevidencerequest.d.ts +1 -1
- package/models/components/customevidencerequest.d.ts.map +1 -1
- package/models/components/customevidencerequest.js +1 -1
- package/models/components/customevidencerequest.js.map +1 -1
- package/models/components/customfield.d.ts +1 -1
- package/models/components/customfield.d.ts.map +1 -1
- package/models/components/customfield.js +1 -1
- package/models/components/customfield.js.map +1 -1
- package/models/components/evidence.d.ts +1 -1
- package/models/components/evidence.d.ts.map +1 -1
- package/models/components/evidence.js +1 -1
- package/models/components/evidence.js.map +1 -1
- package/models/components/evidencecontrol.d.ts +1 -1
- package/models/components/evidencecontrol.d.ts.map +1 -1
- package/models/components/evidencecontrol.js +1 -1
- package/models/components/evidencecontrol.js.map +1 -1
- package/models/components/evidenceurl.d.ts +1 -1
- package/models/components/evidenceurl.d.ts.map +1 -1
- package/models/components/evidenceurl.js +1 -1
- package/models/components/evidenceurl.js.map +1 -1
- package/models/components/frameworkid.d.ts +1 -1
- package/models/components/frameworkid.d.ts.map +1 -1
- package/models/components/frameworkid.js +1 -1
- package/models/components/frameworkid.js.map +1 -1
- package/models/components/frameworksection.d.ts +1 -1
- package/models/components/frameworksection.d.ts.map +1 -1
- package/models/components/frameworksection.js +1 -1
- package/models/components/frameworksection.js.map +1 -1
- package/models/components/index.d.ts +1 -0
- package/models/components/index.d.ts.map +1 -1
- package/models/components/index.js +1 -0
- package/models/components/index.js.map +1 -1
- package/models/components/pageinfo.d.ts +1 -1
- package/models/components/pageinfo.d.ts.map +1 -1
- package/models/components/pageinfo.js +1 -1
- package/models/components/pageinfo.js.map +1 -1
- package/models/components/paginatedresponseaudit.d.ts +1 -1
- package/models/components/paginatedresponseaudit.d.ts.map +1 -1
- package/models/components/paginatedresponseaudit.js +1 -1
- package/models/components/paginatedresponseaudit.js.map +1 -1
- package/models/components/paginatedresponseauditorcontrol.d.ts +1 -1
- package/models/components/paginatedresponseauditorcontrol.d.ts.map +1 -1
- package/models/components/paginatedresponseauditorcontrol.js +1 -1
- package/models/components/paginatedresponseauditorcontrol.js.map +1 -1
- package/models/components/paginatedresponsecomment.d.ts +1 -1
- package/models/components/paginatedresponsecomment.d.ts.map +1 -1
- package/models/components/paginatedresponsecomment.js +1 -1
- package/models/components/paginatedresponsecomment.js.map +1 -1
- package/models/components/paginatedresponseevidence.d.ts +1 -1
- package/models/components/paginatedresponseevidence.d.ts.map +1 -1
- package/models/components/paginatedresponseevidence.js +1 -1
- package/models/components/paginatedresponseevidence.js.map +1 -1
- package/models/components/paginatedresponseevidenceurl.d.ts +1 -1
- package/models/components/paginatedresponseevidenceurl.d.ts.map +1 -1
- package/models/components/paginatedresponseevidenceurl.js +1 -1
- package/models/components/paginatedresponseevidenceurl.js.map +1 -1
- package/models/components/recurrenceduration.d.ts +1 -1
- package/models/components/recurrenceduration.d.ts.map +1 -1
- package/models/components/recurrenceduration.js +1 -1
- package/models/components/recurrenceduration.js.map +1 -1
- package/models/components/section.d.ts +1 -1
- package/models/components/section.d.ts.map +1 -1
- package/models/components/section.js +1 -1
- package/models/components/section.js.map +1 -1
- package/models/components/security.d.ts +1 -1
- package/models/components/security.d.ts.map +1 -1
- package/models/components/security.js +1 -1
- package/models/components/security.js.map +1 -1
- package/models/errors/apierror.d.ts +8 -6
- package/models/errors/apierror.d.ts.map +1 -1
- package/models/errors/apierror.js +23 -10
- package/models/errors/apierror.js.map +1 -1
- package/models/errors/index.d.ts +2 -0
- package/models/errors/index.d.ts.map +1 -1
- package/models/errors/index.js +2 -0
- package/models/errors/index.js.map +1 -1
- package/models/errors/responsevalidationerror.d.ts +26 -0
- package/models/errors/responsevalidationerror.d.ts.map +1 -0
- package/models/errors/responsevalidationerror.js +66 -0
- package/models/errors/responsevalidationerror.js.map +1 -0
- package/models/errors/sdkvalidationerror.d.ts +2 -1
- package/models/errors/sdkvalidationerror.d.ts.map +1 -1
- package/models/errors/sdkvalidationerror.js +15 -1
- package/models/errors/sdkvalidationerror.js.map +1 -1
- package/models/errors/vantaerror.d.ts +19 -0
- package/models/errors/vantaerror.d.ts.map +1 -0
- package/models/errors/vantaerror.js +20 -0
- package/models/errors/vantaerror.js.map +1 -0
- package/models/operations/createcommentforauditevidence.d.ts +1 -1
- package/models/operations/createcommentforauditevidence.d.ts.map +1 -1
- package/models/operations/createcommentforauditevidence.js +1 -1
- package/models/operations/createcommentforauditevidence.js.map +1 -1
- package/models/operations/createcustomcontrol.d.ts +1 -1
- package/models/operations/createcustomcontrol.d.ts.map +1 -1
- package/models/operations/createcustomcontrol.js +1 -1
- package/models/operations/createcustomcontrol.js.map +1 -1
- package/models/operations/createcustomevidencerequest.d.ts +1 -1
- package/models/operations/createcustomevidencerequest.d.ts.map +1 -1
- package/models/operations/createcustomevidencerequest.js +1 -1
- package/models/operations/createcustomevidencerequest.js.map +1 -1
- package/models/operations/listauditcomments.d.ts +1 -1
- package/models/operations/listauditcomments.d.ts.map +1 -1
- package/models/operations/listauditcomments.js +1 -1
- package/models/operations/listauditcomments.js.map +1 -1
- package/models/operations/listauditcontrols.d.ts +1 -1
- package/models/operations/listauditcontrols.d.ts.map +1 -1
- package/models/operations/listauditcontrols.js +1 -1
- package/models/operations/listauditcontrols.js.map +1 -1
- package/models/operations/listauditevidence.d.ts +1 -1
- package/models/operations/listauditevidence.d.ts.map +1 -1
- package/models/operations/listauditevidence.js +1 -1
- package/models/operations/listauditevidence.js.map +1 -1
- package/models/operations/listauditevidenceurls.d.ts +1 -1
- package/models/operations/listauditevidenceurls.d.ts.map +1 -1
- package/models/operations/listauditevidenceurls.js +1 -1
- package/models/operations/listauditevidenceurls.js.map +1 -1
- package/models/operations/listaudits.d.ts +6 -1
- package/models/operations/listaudits.d.ts.map +1 -1
- package/models/operations/listaudits.js +3 -1
- package/models/operations/listaudits.js.map +1 -1
- package/models/operations/updateauditevidence.d.ts +1 -1
- package/models/operations/updateauditevidence.d.ts.map +1 -1
- package/models/operations/updateauditevidence.js +1 -1
- package/models/operations/updateauditevidence.js.map +1 -1
- package/package.json +8 -10
- package/src/funcs/auditorsCreate.ts +24 -18
- package/src/funcs/auditsCreateCommentForEvidence.ts +24 -18
- package/src/funcs/auditsCreateCustomControl.ts +24 -18
- package/src/funcs/auditsCreateCustomEvidenceRequest.ts +24 -18
- package/src/funcs/auditsGetEvidenceUrls.ts +24 -18
- package/src/funcs/auditsList.ts +25 -18
- package/src/funcs/auditsListComments.ts +24 -18
- package/src/funcs/auditsListControls.ts +24 -18
- package/src/funcs/auditsListEvidence.ts +24 -18
- package/src/funcs/auditsUpdateEvidence.ts +24 -18
- package/src/hooks/types.ts +2 -0
- package/src/index.ts +2 -0
- package/src/lib/base64.ts +1 -1
- package/src/lib/config.ts +7 -3
- package/src/lib/env.ts +21 -5
- package/src/lib/files.ts +42 -0
- package/src/lib/matchers.ts +44 -41
- package/src/lib/schemas.ts +1 -1
- package/src/lib/sdks.ts +21 -15
- package/src/lib/security.ts +6 -3
- package/src/lib/url.ts +1 -1
- package/src/mcp-server/cli/start/command.ts +2 -16
- package/src/mcp-server/cli/start/impl.ts +2 -6
- package/src/mcp-server/extensions.ts +1 -1
- package/src/mcp-server/mcp-server.ts +1 -1
- package/src/mcp-server/prompts.ts +1 -1
- package/src/mcp-server/server.ts +1 -1
- package/src/mcp-server/shared.ts +1 -2
- package/src/mcp-server/tools.ts +1 -1
- package/src/models/components/addauditorinput.ts +1 -1
- package/src/models/components/addcommentinput.ts +1 -1
- package/src/models/components/audit.ts +14 -5
- package/src/models/components/auditevidencestate.ts +1 -1
- package/src/models/components/auditevidencetype.ts +1 -1
- package/src/models/components/auditevidenceupdateinput.ts +1 -1
- package/src/models/components/auditfocus.ts +31 -0
- package/src/models/components/auditor.ts +1 -1
- package/src/models/components/auditorcontrol.ts +1 -1
- package/src/models/components/auditorenabledstatetransition.ts +1 -1
- package/src/models/components/comment.ts +1 -1
- package/src/models/components/control.ts +1 -1
- package/src/models/components/controldomain.ts +1 -1
- package/src/models/components/controlsource.ts +1 -1
- package/src/models/components/createcustomcontrolinput.ts +1 -1
- package/src/models/components/createcustomevidencerequestinput.ts +1 -1
- package/src/models/components/customevidencerequest.ts +1 -1
- package/src/models/components/customfield.ts +1 -1
- package/src/models/components/evidence.ts +1 -1
- package/src/models/components/evidencecontrol.ts +1 -1
- package/src/models/components/evidenceurl.ts +1 -1
- package/src/models/components/frameworkid.ts +1 -1
- package/src/models/components/frameworksection.ts +1 -1
- package/src/models/components/index.ts +1 -0
- package/src/models/components/pageinfo.ts +1 -1
- package/src/models/components/paginatedresponseaudit.ts +1 -1
- package/src/models/components/paginatedresponseauditorcontrol.ts +1 -1
- package/src/models/components/paginatedresponsecomment.ts +1 -1
- package/src/models/components/paginatedresponseevidence.ts +1 -1
- package/src/models/components/paginatedresponseevidenceurl.ts +1 -1
- package/src/models/components/recurrenceduration.ts +1 -1
- package/src/models/components/section.ts +1 -1
- package/src/models/components/security.ts +1 -1
- package/src/models/errors/apierror.ts +29 -16
- package/src/models/errors/index.ts +2 -0
- package/src/models/errors/responsevalidationerror.ts +50 -0
- package/src/models/errors/sdkvalidationerror.ts +13 -1
- package/src/models/errors/vantaerror.ts +35 -0
- package/src/models/operations/createcommentforauditevidence.ts +1 -1
- package/src/models/operations/createcustomcontrol.ts +1 -1
- package/src/models/operations/createcustomevidencerequest.ts +1 -1
- package/src/models/operations/listauditcomments.ts +1 -1
- package/src/models/operations/listauditcontrols.ts +1 -1
- package/src/models/operations/listauditevidence.ts +1 -1
- package/src/models/operations/listauditevidenceurls.ts +1 -1
- package/src/models/operations/listaudits.ts +8 -1
- package/src/models/operations/updateauditevidence.ts +1 -1
- package/src/types/blobs.ts +7 -6
- package/src/types/constdatetime.ts +2 -2
- package/types/blobs.d.ts +1 -1
- package/types/blobs.d.ts.map +1 -1
- package/types/blobs.js +1 -1
- package/types/blobs.js.map +1 -1
- package/types/constdatetime.d.ts +1 -1
- package/types/constdatetime.d.ts.map +1 -1
- package/types/constdatetime.js +2 -2
- package/types/constdatetime.js.map +1 -1
- package/docs/sdks/vanta/README.md +0 -7
|
@@ -11,7 +11,6 @@ import { RequestOptions } from "../lib/sdks.js";
|
|
|
11
11
|
import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
|
|
12
12
|
import { pathToFunc } from "../lib/url.js";
|
|
13
13
|
import * as components from "../models/components/index.js";
|
|
14
|
-
import { APIError } from "../models/errors/apierror.js";
|
|
15
14
|
import {
|
|
16
15
|
ConnectionError,
|
|
17
16
|
InvalidRequestError,
|
|
@@ -19,7 +18,9 @@ import {
|
|
|
19
18
|
RequestTimeoutError,
|
|
20
19
|
UnexpectedClientError,
|
|
21
20
|
} from "../models/errors/httpclienterrors.js";
|
|
21
|
+
import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
|
|
22
22
|
import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
|
|
23
|
+
import { VantaError } from "../models/errors/vantaerror.js";
|
|
23
24
|
import * as operations from "../models/operations/index.js";
|
|
24
25
|
import { APICall, APIPromise } from "../types/async.js";
|
|
25
26
|
import { Result } from "../types/fp.js";
|
|
@@ -37,13 +38,14 @@ export function auditsListControls(
|
|
|
37
38
|
): APIPromise<
|
|
38
39
|
Result<
|
|
39
40
|
components.PaginatedResponseAuditorControl,
|
|
40
|
-
|
|
|
41
|
-
|
|
|
42
|
-
|
|
|
43
|
-
| InvalidRequestError
|
|
41
|
+
| VantaError
|
|
42
|
+
| ResponseValidationError
|
|
43
|
+
| ConnectionError
|
|
44
44
|
| RequestAbortedError
|
|
45
45
|
| RequestTimeoutError
|
|
46
|
-
|
|
|
46
|
+
| InvalidRequestError
|
|
47
|
+
| UnexpectedClientError
|
|
48
|
+
| SDKValidationError
|
|
47
49
|
>
|
|
48
50
|
> {
|
|
49
51
|
return new APIPromise($do(
|
|
@@ -61,13 +63,14 @@ async function $do(
|
|
|
61
63
|
[
|
|
62
64
|
Result<
|
|
63
65
|
components.PaginatedResponseAuditorControl,
|
|
64
|
-
|
|
|
65
|
-
|
|
|
66
|
-
|
|
|
67
|
-
| InvalidRequestError
|
|
66
|
+
| VantaError
|
|
67
|
+
| ResponseValidationError
|
|
68
|
+
| ConnectionError
|
|
68
69
|
| RequestAbortedError
|
|
69
70
|
| RequestTimeoutError
|
|
70
|
-
|
|
|
71
|
+
| InvalidRequestError
|
|
72
|
+
| UnexpectedClientError
|
|
73
|
+
| SDKValidationError
|
|
71
74
|
>,
|
|
72
75
|
APICall,
|
|
73
76
|
]
|
|
@@ -106,9 +109,10 @@ async function $do(
|
|
|
106
109
|
const requestSecurity = resolveGlobalSecurity(securityInput);
|
|
107
110
|
|
|
108
111
|
const context = {
|
|
112
|
+
options: client._options,
|
|
109
113
|
baseURL: options?.serverURL ?? client._baseURL ?? "",
|
|
110
114
|
operationID: "ListAuditControls",
|
|
111
|
-
oAuth2Scopes:
|
|
115
|
+
oAuth2Scopes: null,
|
|
112
116
|
|
|
113
117
|
resolvedSecurity: requestSecurity,
|
|
114
118
|
|
|
@@ -127,6 +131,7 @@ async function $do(
|
|
|
127
131
|
headers: headers,
|
|
128
132
|
query: query,
|
|
129
133
|
body: body,
|
|
134
|
+
userAgent: client._options.userAgent,
|
|
130
135
|
timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
|
|
131
136
|
}, options);
|
|
132
137
|
if (!requestRes.ok) {
|
|
@@ -147,18 +152,19 @@ async function $do(
|
|
|
147
152
|
|
|
148
153
|
const [result] = await M.match<
|
|
149
154
|
components.PaginatedResponseAuditorControl,
|
|
150
|
-
|
|
|
151
|
-
|
|
|
152
|
-
|
|
|
153
|
-
| InvalidRequestError
|
|
155
|
+
| VantaError
|
|
156
|
+
| ResponseValidationError
|
|
157
|
+
| ConnectionError
|
|
154
158
|
| RequestAbortedError
|
|
155
159
|
| RequestTimeoutError
|
|
156
|
-
|
|
|
160
|
+
| InvalidRequestError
|
|
161
|
+
| UnexpectedClientError
|
|
162
|
+
| SDKValidationError
|
|
157
163
|
>(
|
|
158
164
|
M.json(200, components.PaginatedResponseAuditorControl$inboundSchema),
|
|
159
165
|
M.fail("4XX"),
|
|
160
166
|
M.fail("5XX"),
|
|
161
|
-
)(response);
|
|
167
|
+
)(response, req);
|
|
162
168
|
if (!result.ok) {
|
|
163
169
|
return [result, { status: "complete", request: req, response }];
|
|
164
170
|
}
|
|
@@ -11,7 +11,6 @@ import { RequestOptions } from "../lib/sdks.js";
|
|
|
11
11
|
import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
|
|
12
12
|
import { pathToFunc } from "../lib/url.js";
|
|
13
13
|
import * as components from "../models/components/index.js";
|
|
14
|
-
import { APIError } from "../models/errors/apierror.js";
|
|
15
14
|
import {
|
|
16
15
|
ConnectionError,
|
|
17
16
|
InvalidRequestError,
|
|
@@ -19,7 +18,9 @@ import {
|
|
|
19
18
|
RequestTimeoutError,
|
|
20
19
|
UnexpectedClientError,
|
|
21
20
|
} from "../models/errors/httpclienterrors.js";
|
|
21
|
+
import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
|
|
22
22
|
import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
|
|
23
|
+
import { VantaError } from "../models/errors/vantaerror.js";
|
|
23
24
|
import * as operations from "../models/operations/index.js";
|
|
24
25
|
import { APICall, APIPromise } from "../types/async.js";
|
|
25
26
|
import { Result } from "../types/fp.js";
|
|
@@ -37,13 +38,14 @@ export function auditsListEvidence(
|
|
|
37
38
|
): APIPromise<
|
|
38
39
|
Result<
|
|
39
40
|
components.PaginatedResponseEvidence,
|
|
40
|
-
|
|
|
41
|
-
|
|
|
42
|
-
|
|
|
43
|
-
| InvalidRequestError
|
|
41
|
+
| VantaError
|
|
42
|
+
| ResponseValidationError
|
|
43
|
+
| ConnectionError
|
|
44
44
|
| RequestAbortedError
|
|
45
45
|
| RequestTimeoutError
|
|
46
|
-
|
|
|
46
|
+
| InvalidRequestError
|
|
47
|
+
| UnexpectedClientError
|
|
48
|
+
| SDKValidationError
|
|
47
49
|
>
|
|
48
50
|
> {
|
|
49
51
|
return new APIPromise($do(
|
|
@@ -61,13 +63,14 @@ async function $do(
|
|
|
61
63
|
[
|
|
62
64
|
Result<
|
|
63
65
|
components.PaginatedResponseEvidence,
|
|
64
|
-
|
|
|
65
|
-
|
|
|
66
|
-
|
|
|
67
|
-
| InvalidRequestError
|
|
66
|
+
| VantaError
|
|
67
|
+
| ResponseValidationError
|
|
68
|
+
| ConnectionError
|
|
68
69
|
| RequestAbortedError
|
|
69
70
|
| RequestTimeoutError
|
|
70
|
-
|
|
|
71
|
+
| InvalidRequestError
|
|
72
|
+
| UnexpectedClientError
|
|
73
|
+
| SDKValidationError
|
|
71
74
|
>,
|
|
72
75
|
APICall,
|
|
73
76
|
]
|
|
@@ -107,9 +110,10 @@ async function $do(
|
|
|
107
110
|
const requestSecurity = resolveGlobalSecurity(securityInput);
|
|
108
111
|
|
|
109
112
|
const context = {
|
|
113
|
+
options: client._options,
|
|
110
114
|
baseURL: options?.serverURL ?? client._baseURL ?? "",
|
|
111
115
|
operationID: "ListAuditEvidence",
|
|
112
|
-
oAuth2Scopes:
|
|
116
|
+
oAuth2Scopes: null,
|
|
113
117
|
|
|
114
118
|
resolvedSecurity: requestSecurity,
|
|
115
119
|
|
|
@@ -128,6 +132,7 @@ async function $do(
|
|
|
128
132
|
headers: headers,
|
|
129
133
|
query: query,
|
|
130
134
|
body: body,
|
|
135
|
+
userAgent: client._options.userAgent,
|
|
131
136
|
timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
|
|
132
137
|
}, options);
|
|
133
138
|
if (!requestRes.ok) {
|
|
@@ -148,18 +153,19 @@ async function $do(
|
|
|
148
153
|
|
|
149
154
|
const [result] = await M.match<
|
|
150
155
|
components.PaginatedResponseEvidence,
|
|
151
|
-
|
|
|
152
|
-
|
|
|
153
|
-
|
|
|
154
|
-
| InvalidRequestError
|
|
156
|
+
| VantaError
|
|
157
|
+
| ResponseValidationError
|
|
158
|
+
| ConnectionError
|
|
155
159
|
| RequestAbortedError
|
|
156
160
|
| RequestTimeoutError
|
|
157
|
-
|
|
|
161
|
+
| InvalidRequestError
|
|
162
|
+
| UnexpectedClientError
|
|
163
|
+
| SDKValidationError
|
|
158
164
|
>(
|
|
159
165
|
M.json(200, components.PaginatedResponseEvidence$inboundSchema),
|
|
160
166
|
M.fail("4XX"),
|
|
161
167
|
M.fail("5XX"),
|
|
162
|
-
)(response);
|
|
168
|
+
)(response, req);
|
|
163
169
|
if (!result.ok) {
|
|
164
170
|
return [result, { status: "complete", request: req, response }];
|
|
165
171
|
}
|
|
@@ -11,7 +11,6 @@ import { RequestOptions } from "../lib/sdks.js";
|
|
|
11
11
|
import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
|
|
12
12
|
import { pathToFunc } from "../lib/url.js";
|
|
13
13
|
import * as components from "../models/components/index.js";
|
|
14
|
-
import { APIError } from "../models/errors/apierror.js";
|
|
15
14
|
import {
|
|
16
15
|
ConnectionError,
|
|
17
16
|
InvalidRequestError,
|
|
@@ -19,7 +18,9 @@ import {
|
|
|
19
18
|
RequestTimeoutError,
|
|
20
19
|
UnexpectedClientError,
|
|
21
20
|
} from "../models/errors/httpclienterrors.js";
|
|
21
|
+
import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
|
|
22
22
|
import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
|
|
23
|
+
import { VantaError } from "../models/errors/vantaerror.js";
|
|
23
24
|
import * as operations from "../models/operations/index.js";
|
|
24
25
|
import { APICall, APIPromise } from "../types/async.js";
|
|
25
26
|
import { Result } from "../types/fp.js";
|
|
@@ -37,13 +38,14 @@ export function auditsUpdateEvidence(
|
|
|
37
38
|
): APIPromise<
|
|
38
39
|
Result<
|
|
39
40
|
components.Evidence,
|
|
40
|
-
|
|
|
41
|
-
|
|
|
42
|
-
|
|
|
43
|
-
| InvalidRequestError
|
|
41
|
+
| VantaError
|
|
42
|
+
| ResponseValidationError
|
|
43
|
+
| ConnectionError
|
|
44
44
|
| RequestAbortedError
|
|
45
45
|
| RequestTimeoutError
|
|
46
|
-
|
|
|
46
|
+
| InvalidRequestError
|
|
47
|
+
| UnexpectedClientError
|
|
48
|
+
| SDKValidationError
|
|
47
49
|
>
|
|
48
50
|
> {
|
|
49
51
|
return new APIPromise($do(
|
|
@@ -61,13 +63,14 @@ async function $do(
|
|
|
61
63
|
[
|
|
62
64
|
Result<
|
|
63
65
|
components.Evidence,
|
|
64
|
-
|
|
|
65
|
-
|
|
|
66
|
-
|
|
|
67
|
-
| InvalidRequestError
|
|
66
|
+
| VantaError
|
|
67
|
+
| ResponseValidationError
|
|
68
|
+
| ConnectionError
|
|
68
69
|
| RequestAbortedError
|
|
69
70
|
| RequestTimeoutError
|
|
70
|
-
|
|
|
71
|
+
| InvalidRequestError
|
|
72
|
+
| UnexpectedClientError
|
|
73
|
+
| SDKValidationError
|
|
71
74
|
>,
|
|
72
75
|
APICall,
|
|
73
76
|
]
|
|
@@ -111,9 +114,10 @@ async function $do(
|
|
|
111
114
|
const requestSecurity = resolveGlobalSecurity(securityInput);
|
|
112
115
|
|
|
113
116
|
const context = {
|
|
117
|
+
options: client._options,
|
|
114
118
|
baseURL: options?.serverURL ?? client._baseURL ?? "",
|
|
115
119
|
operationID: "UpdateAuditEvidence",
|
|
116
|
-
oAuth2Scopes:
|
|
120
|
+
oAuth2Scopes: null,
|
|
117
121
|
|
|
118
122
|
resolvedSecurity: requestSecurity,
|
|
119
123
|
|
|
@@ -131,6 +135,7 @@ async function $do(
|
|
|
131
135
|
path: path,
|
|
132
136
|
headers: headers,
|
|
133
137
|
body: body,
|
|
138
|
+
userAgent: client._options.userAgent,
|
|
134
139
|
timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
|
|
135
140
|
}, options);
|
|
136
141
|
if (!requestRes.ok) {
|
|
@@ -151,18 +156,19 @@ async function $do(
|
|
|
151
156
|
|
|
152
157
|
const [result] = await M.match<
|
|
153
158
|
components.Evidence,
|
|
154
|
-
|
|
|
155
|
-
|
|
|
156
|
-
|
|
|
157
|
-
| InvalidRequestError
|
|
159
|
+
| VantaError
|
|
160
|
+
| ResponseValidationError
|
|
161
|
+
| ConnectionError
|
|
158
162
|
| RequestAbortedError
|
|
159
163
|
| RequestTimeoutError
|
|
160
|
-
|
|
|
164
|
+
| InvalidRequestError
|
|
165
|
+
| UnexpectedClientError
|
|
166
|
+
| SDKValidationError
|
|
161
167
|
>(
|
|
162
168
|
M.json(200, components.Evidence$inboundSchema),
|
|
163
169
|
M.fail("4XX"),
|
|
164
170
|
M.fail("5XX"),
|
|
165
|
-
)(response);
|
|
171
|
+
)(response, req);
|
|
166
172
|
if (!result.ok) {
|
|
167
173
|
return [result, { status: "complete", request: req, response }];
|
|
168
174
|
}
|
package/src/hooks/types.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
+
import { SDKOptions } from "../lib/config.js";
|
|
5
6
|
import { HTTPClient, RequestInput } from "../lib/http.js";
|
|
6
7
|
import { RetryConfig } from "../lib/retries.js";
|
|
7
8
|
import { SecurityState } from "../lib/security.js";
|
|
@@ -13,6 +14,7 @@ export type HookContext = {
|
|
|
13
14
|
securitySource?: any | (() => Promise<any>);
|
|
14
15
|
retryConfig: RetryConfig;
|
|
15
16
|
resolvedSecurity: SecurityState | null;
|
|
17
|
+
options: SDKOptions;
|
|
16
18
|
};
|
|
17
19
|
|
|
18
20
|
export type Awaitable<T> = T | Promise<T>;
|
package/src/index.ts
CHANGED
package/src/lib/base64.ts
CHANGED
package/src/lib/config.ts
CHANGED
|
@@ -37,6 +37,10 @@ export type SDKOptions = {
|
|
|
37
37
|
* Allows overriding the default server URL used by the SDK
|
|
38
38
|
*/
|
|
39
39
|
serverURL?: string | undefined;
|
|
40
|
+
/**
|
|
41
|
+
* Allows overriding the default user agent used by the SDK
|
|
42
|
+
*/
|
|
43
|
+
userAgent?: string | undefined;
|
|
40
44
|
/**
|
|
41
45
|
* Allows overriding the default retry config used by the SDK
|
|
42
46
|
*/
|
|
@@ -65,8 +69,8 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
|
|
|
65
69
|
export const SDK_METADATA = {
|
|
66
70
|
language: "typescript",
|
|
67
71
|
openapiDocVersion: "1.0.0",
|
|
68
|
-
sdkVersion: "0.
|
|
69
|
-
genVersion: "2.
|
|
72
|
+
sdkVersion: "0.4.0",
|
|
73
|
+
genVersion: "2.737.0",
|
|
70
74
|
userAgent:
|
|
71
|
-
"speakeasy-sdk/typescript 0.
|
|
75
|
+
"speakeasy-sdk/typescript 0.4.0 2.737.0 1.0.0 vanta-auditor-api-sdk",
|
|
72
76
|
} as const;
|
package/src/lib/env.ts
CHANGED
|
@@ -2,10 +2,9 @@
|
|
|
2
2
|
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
+
import * as z from "zod/v3";
|
|
5
6
|
import { dlv } from "./dlv.js";
|
|
6
7
|
|
|
7
|
-
import * as z from "zod";
|
|
8
|
-
|
|
9
8
|
export interface Env {
|
|
10
9
|
VANTA_BEARER_AUTH?: string | undefined;
|
|
11
10
|
|
|
@@ -18,6 +17,18 @@ export const envSchema: z.ZodType<Env, z.ZodTypeDef, unknown> = z.object({
|
|
|
18
17
|
VANTA_DEBUG: z.coerce.boolean().optional(),
|
|
19
18
|
});
|
|
20
19
|
|
|
20
|
+
/**
|
|
21
|
+
* Checks for the existence of the Deno global object to determine the environment.
|
|
22
|
+
* @returns {boolean} True if the runtime is Deno, false otherwise.
|
|
23
|
+
*/
|
|
24
|
+
function isDeno() {
|
|
25
|
+
if ("Deno" in globalThis) {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
|
|
21
32
|
let envMemo: Env | undefined = undefined;
|
|
22
33
|
/**
|
|
23
34
|
* Reads and validates environment variables.
|
|
@@ -27,9 +38,14 @@ export function env(): Env {
|
|
|
27
38
|
return envMemo;
|
|
28
39
|
}
|
|
29
40
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
41
|
+
let envObject: Record<string, unknown> = {};
|
|
42
|
+
if (isDeno()) {
|
|
43
|
+
envObject = (globalThis as any).Deno?.env?.toObject?.() ?? {};
|
|
44
|
+
} else {
|
|
45
|
+
envObject = dlv(globalThis, "process.env") ?? {};
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
envMemo = envSchema.parse(envObject);
|
|
33
49
|
return envMemo;
|
|
34
50
|
}
|
|
35
51
|
|
package/src/lib/files.ts
CHANGED
|
@@ -38,3 +38,45 @@ export async function readableStreamToArrayBuffer(
|
|
|
38
38
|
|
|
39
39
|
return concatenatedChunks.buffer as ArrayBuffer;
|
|
40
40
|
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Determines the MIME content type based on a file's extension.
|
|
44
|
+
* Returns null if the extension is not recognized.
|
|
45
|
+
*/
|
|
46
|
+
export function getContentTypeFromFileName(fileName: string): string | null {
|
|
47
|
+
if (!fileName) return null;
|
|
48
|
+
|
|
49
|
+
const ext = fileName.toLowerCase().split(".").pop();
|
|
50
|
+
if (!ext) return null;
|
|
51
|
+
|
|
52
|
+
const mimeTypes: Record<string, string> = {
|
|
53
|
+
json: "application/json",
|
|
54
|
+
xml: "application/xml",
|
|
55
|
+
html: "text/html",
|
|
56
|
+
htm: "text/html",
|
|
57
|
+
txt: "text/plain",
|
|
58
|
+
csv: "text/csv",
|
|
59
|
+
pdf: "application/pdf",
|
|
60
|
+
png: "image/png",
|
|
61
|
+
jpg: "image/jpeg",
|
|
62
|
+
jpeg: "image/jpeg",
|
|
63
|
+
gif: "image/gif",
|
|
64
|
+
svg: "image/svg+xml",
|
|
65
|
+
js: "application/javascript",
|
|
66
|
+
css: "text/css",
|
|
67
|
+
zip: "application/zip",
|
|
68
|
+
tar: "application/x-tar",
|
|
69
|
+
gz: "application/gzip",
|
|
70
|
+
mp4: "video/mp4",
|
|
71
|
+
mp3: "audio/mpeg",
|
|
72
|
+
wav: "audio/wav",
|
|
73
|
+
webp: "image/webp",
|
|
74
|
+
ico: "image/x-icon",
|
|
75
|
+
woff: "font/woff",
|
|
76
|
+
woff2: "font/woff2",
|
|
77
|
+
ttf: "font/ttf",
|
|
78
|
+
otf: "font/otf",
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
return mimeTypes[ext] || null;
|
|
82
|
+
}
|
package/src/lib/matchers.ts
CHANGED
|
@@ -3,11 +3,10 @@
|
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
import { APIError } from "../models/errors/apierror.js";
|
|
6
|
-
import {
|
|
7
|
-
import { Result } from "../types/fp.js";
|
|
6
|
+
import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
|
|
7
|
+
import { ERR, OK, Result } from "../types/fp.js";
|
|
8
8
|
import { matchResponse, matchStatusCode, StatusCodePredicate } from "./http.js";
|
|
9
9
|
import { isPlainObject } from "./is-plain-object.js";
|
|
10
|
-
import { safeParse } from "./schemas.js";
|
|
11
10
|
|
|
12
11
|
export type Encoding =
|
|
13
12
|
| "jsonl"
|
|
@@ -176,17 +175,19 @@ export type MatchedError<Matchers> = Matchers extends Matcher<any, infer E>[]
|
|
|
176
175
|
: never;
|
|
177
176
|
export type MatchFunc<T, E> = (
|
|
178
177
|
response: Response,
|
|
178
|
+
request: Request,
|
|
179
179
|
options?: { resultKey?: string; extraFields?: Record<string, unknown> },
|
|
180
180
|
) => Promise<[result: Result<T, E>, raw: unknown]>;
|
|
181
181
|
|
|
182
182
|
export function match<T, E>(
|
|
183
183
|
...matchers: Array<Matcher<T, E>>
|
|
184
|
-
): MatchFunc<T, E | APIError |
|
|
184
|
+
): MatchFunc<T, E | APIError | ResponseValidationError> {
|
|
185
185
|
return async function matchFunc(
|
|
186
186
|
response: Response,
|
|
187
|
+
request: Request,
|
|
187
188
|
options?: { resultKey?: string; extraFields?: Record<string, unknown> },
|
|
188
189
|
): Promise<
|
|
189
|
-
[result: Result<T, E | APIError |
|
|
190
|
+
[result: Result<T, E | APIError | ResponseValidationError>, raw: unknown]
|
|
190
191
|
> {
|
|
191
192
|
let raw: unknown;
|
|
192
193
|
let matcher: Matcher<T, E> | undefined;
|
|
@@ -205,21 +206,22 @@ export function match<T, E>(
|
|
|
205
206
|
}
|
|
206
207
|
|
|
207
208
|
if (!matcher) {
|
|
208
|
-
const responseBody = await response.text();
|
|
209
209
|
return [{
|
|
210
210
|
ok: false,
|
|
211
|
-
error: new APIError(
|
|
212
|
-
"Unexpected API response status or content-type",
|
|
211
|
+
error: new APIError("Unexpected Status or Content-Type", {
|
|
213
212
|
response,
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
213
|
+
request,
|
|
214
|
+
body: await response.text().catch(() => ""),
|
|
215
|
+
}),
|
|
216
|
+
}, raw];
|
|
217
217
|
}
|
|
218
218
|
|
|
219
219
|
const encoding = matcher.enc;
|
|
220
|
+
let body = "";
|
|
220
221
|
switch (encoding) {
|
|
221
222
|
case "json":
|
|
222
|
-
|
|
223
|
+
body = await response.text();
|
|
224
|
+
raw = JSON.parse(body);
|
|
223
225
|
break;
|
|
224
226
|
case "jsonl":
|
|
225
227
|
raw = response.body;
|
|
@@ -231,16 +233,19 @@ export function match<T, E>(
|
|
|
231
233
|
raw = response.body;
|
|
232
234
|
break;
|
|
233
235
|
case "text":
|
|
234
|
-
|
|
236
|
+
body = await response.text();
|
|
237
|
+
raw = body;
|
|
235
238
|
break;
|
|
236
239
|
case "sse":
|
|
237
240
|
raw = response.body;
|
|
238
241
|
break;
|
|
239
242
|
case "nil":
|
|
240
|
-
|
|
243
|
+
body = await response.text();
|
|
244
|
+
raw = undefined;
|
|
241
245
|
break;
|
|
242
246
|
case "fail":
|
|
243
|
-
|
|
247
|
+
body = await response.text();
|
|
248
|
+
raw = body;
|
|
244
249
|
break;
|
|
245
250
|
default:
|
|
246
251
|
encoding satisfies never;
|
|
@@ -250,11 +255,7 @@ export function match<T, E>(
|
|
|
250
255
|
if (matcher.enc === "fail") {
|
|
251
256
|
return [{
|
|
252
257
|
ok: false,
|
|
253
|
-
error: new APIError(
|
|
254
|
-
"API error occurred",
|
|
255
|
-
response,
|
|
256
|
-
typeof raw === "string" ? raw : "",
|
|
257
|
-
),
|
|
258
|
+
error: new APIError("API error occurred", { request, response, body }),
|
|
258
259
|
}, raw];
|
|
259
260
|
}
|
|
260
261
|
|
|
@@ -266,6 +267,9 @@ export function match<T, E>(
|
|
|
266
267
|
...options?.extraFields,
|
|
267
268
|
...(matcher.hdrs ? { Headers: unpackHeaders(response.headers) } : null),
|
|
268
269
|
...(isPlainObject(raw) ? raw : null),
|
|
270
|
+
request$: request,
|
|
271
|
+
response$: response,
|
|
272
|
+
body$: body,
|
|
269
273
|
};
|
|
270
274
|
} else if (resultKey) {
|
|
271
275
|
data = {
|
|
@@ -284,18 +288,20 @@ export function match<T, E>(
|
|
|
284
288
|
}
|
|
285
289
|
|
|
286
290
|
if ("err" in matcher) {
|
|
287
|
-
const result =
|
|
291
|
+
const result = safeParseResponse(
|
|
288
292
|
data,
|
|
289
293
|
(v: unknown) => matcher.schema.parse(v),
|
|
290
294
|
"Response validation failed",
|
|
295
|
+
{ request, response, body },
|
|
291
296
|
);
|
|
292
297
|
return [result.ok ? { ok: false, error: result.value } : result, raw];
|
|
293
298
|
} else {
|
|
294
299
|
return [
|
|
295
|
-
|
|
300
|
+
safeParseResponse(
|
|
296
301
|
data,
|
|
297
302
|
(v: unknown) => matcher.schema.parse(v),
|
|
298
303
|
"Response validation failed",
|
|
304
|
+
{ request, response, body },
|
|
299
305
|
),
|
|
300
306
|
raw,
|
|
301
307
|
];
|
|
@@ -318,25 +324,22 @@ export function unpackHeaders(headers: Headers): Record<string, string[]> {
|
|
|
318
324
|
return out;
|
|
319
325
|
}
|
|
320
326
|
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
export async function discardResponseBody(res: Response) {
|
|
328
|
-
const reader = res.body?.getReader();
|
|
329
|
-
if (reader == null) {
|
|
330
|
-
return;
|
|
331
|
-
}
|
|
332
|
-
|
|
327
|
+
function safeParseResponse<Inp, Out>(
|
|
328
|
+
rawValue: Inp,
|
|
329
|
+
fn: (value: Inp) => Out,
|
|
330
|
+
errorMessage: string,
|
|
331
|
+
httpMeta: { response: Response; request: Request; body: string },
|
|
332
|
+
): Result<Out, ResponseValidationError> {
|
|
333
333
|
try {
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
334
|
+
return OK(fn(rawValue));
|
|
335
|
+
} catch (err) {
|
|
336
|
+
return ERR(
|
|
337
|
+
new ResponseValidationError(errorMessage, {
|
|
338
|
+
cause: err,
|
|
339
|
+
rawValue,
|
|
340
|
+
rawMessage: errorMessage,
|
|
341
|
+
...httpMeta,
|
|
342
|
+
}),
|
|
343
|
+
);
|
|
341
344
|
}
|
|
342
345
|
}
|