@vercel/sdk 1.6.3 → 1.6.5
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/README.md +2 -0
- package/bin/mcp-server.js +3517 -1245
- package/bin/mcp-server.js.map +29 -26
- package/docs/sdks/edgeconfig/README.md +2 -6
- package/docs/sdks/marketplace/README.md +2 -6
- package/docs/sdks/security/README.md +90 -0
- package/docs/sdks/webhooks/README.md +2 -6
- package/esm/__tests__/deployments.test.js +16 -1
- package/esm/__tests__/deployments.test.js.map +1 -1
- package/esm/__tests__/environment.test.js +3 -0
- package/esm/__tests__/environment.test.js.map +1 -1
- package/esm/__tests__/marketplace.test.js +7 -2
- package/esm/__tests__/marketplace.test.js.map +1 -1
- package/esm/__tests__/projects.test.js +4 -4
- package/esm/__tests__/projects.test.js.map +1 -1
- package/esm/__tests__/security.test.js +174 -3
- package/esm/__tests__/security.test.js.map +1 -1
- package/esm/funcs/projectsCreateProject.js +2 -2
- package/esm/funcs/projectsCreateProject.js.map +1 -1
- package/esm/funcs/securityPutFirewallConfig.d.ts +19 -0
- package/esm/funcs/securityPutFirewallConfig.d.ts.map +1 -0
- package/esm/funcs/securityPutFirewallConfig.js +88 -0
- package/esm/funcs/securityPutFirewallConfig.js.map +1 -0
- package/esm/lib/config.d.ts +3 -3
- package/esm/lib/config.js +3 -3
- package/esm/mcp-server/mcp-server.js +1 -1
- package/esm/mcp-server/server.d.ts.map +1 -1
- package/esm/mcp-server/server.js +3 -1
- package/esm/mcp-server/server.js.map +1 -1
- package/esm/mcp-server/tools/securityPutFirewallConfig.d.ts +7 -0
- package/esm/mcp-server/tools/securityPutFirewallConfig.d.ts.map +1 -0
- package/esm/mcp-server/tools/securityPutFirewallConfig.js +28 -0
- package/esm/mcp-server/tools/securityPutFirewallConfig.js.map +1 -0
- package/esm/models/authtoken.d.ts +6 -0
- package/esm/models/authtoken.d.ts.map +1 -1
- package/esm/models/authtoken.js +2 -0
- package/esm/models/authtoken.js.map +1 -1
- package/esm/models/authuser.d.ts +46 -0
- package/esm/models/authuser.d.ts.map +1 -1
- package/esm/models/authuser.js +28 -0
- package/esm/models/authuser.js.map +1 -1
- package/esm/models/canceldeploymentop.d.ts +274 -73
- package/esm/models/canceldeploymentop.d.ts.map +1 -1
- package/esm/models/canceldeploymentop.js +270 -72
- package/esm/models/canceldeploymentop.js.map +1 -1
- package/esm/models/createdeploymentop.d.ts +274 -73
- package/esm/models/createdeploymentop.d.ts.map +1 -1
- package/esm/models/createdeploymentop.js +270 -72
- package/esm/models/createdeploymentop.js.map +1 -1
- package/esm/models/createprojectenvop.d.ts +12 -18
- package/esm/models/createprojectenvop.d.ts.map +1 -1
- package/esm/models/createprojectenvop.js +12 -12
- package/esm/models/createprojectenvop.js.map +1 -1
- package/esm/models/createprojectop.d.ts +175 -13
- package/esm/models/createprojectop.d.ts.map +1 -1
- package/esm/models/createprojectop.js +157 -6
- package/esm/models/createprojectop.js.map +1 -1
- package/esm/models/editprojectenvop.d.ts +4 -7
- package/esm/models/editprojectenvop.d.ts.map +1 -1
- package/esm/models/editprojectenvop.js +4 -4
- package/esm/models/editprojectenvop.js.map +1 -1
- package/esm/models/filterprojectenvsop.d.ts +18 -27
- package/esm/models/filterprojectenvsop.d.ts.map +1 -1
- package/esm/models/filterprojectenvsop.js +18 -18
- package/esm/models/filterprojectenvsop.js.map +1 -1
- package/esm/models/getdeploymentop.d.ts +574 -172
- package/esm/models/getdeploymentop.d.ts.map +1 -1
- package/esm/models/getdeploymentop.js +567 -171
- package/esm/models/getdeploymentop.js.map +1 -1
- package/esm/models/getfirewallconfigop.d.ts +214 -214
- package/esm/models/getfirewallconfigop.d.ts.map +1 -1
- package/esm/models/getfirewallconfigop.js +210 -231
- package/esm/models/getfirewallconfigop.js.map +1 -1
- package/esm/models/getprojectdomainsop.d.ts +198 -36
- package/esm/models/getprojectdomainsop.d.ts.map +1 -1
- package/esm/models/getprojectdomainsop.js +193 -32
- package/esm/models/getprojectdomainsop.js.map +1 -1
- package/esm/models/getprojectenvop.d.ts +10 -16
- package/esm/models/getprojectenvop.d.ts.map +1 -1
- package/esm/models/getprojectenvop.js +10 -10
- package/esm/models/getprojectenvop.js.map +1 -1
- package/esm/models/getprojectsop.d.ts +175 -13
- package/esm/models/getprojectsop.d.ts.map +1 -1
- package/esm/models/getprojectsop.js +156 -6
- package/esm/models/getprojectsop.js.map +1 -1
- package/esm/models/getv9projectsidornamecustomenvironmentsop.d.ts +31 -1
- package/esm/models/getv9projectsidornamecustomenvironmentsop.d.ts.map +1 -1
- package/esm/models/getv9projectsidornamecustomenvironmentsop.js +27 -0
- package/esm/models/getv9projectsidornamecustomenvironmentsop.js.map +1 -1
- package/esm/models/putfirewallconfigop.d.ts +2901 -0
- package/esm/models/putfirewallconfigop.d.ts.map +1 -0
- package/esm/models/putfirewallconfigop.js +2383 -0
- package/esm/models/putfirewallconfigop.js.map +1 -0
- package/esm/models/removeprojectenvop.d.ts +18 -27
- package/esm/models/removeprojectenvop.d.ts.map +1 -1
- package/esm/models/removeprojectenvop.js +18 -18
- package/esm/models/removeprojectenvop.js.map +1 -1
- package/esm/models/updatefirewallconfigop.d.ts +323 -323
- package/esm/models/updatefirewallconfigop.d.ts.map +1 -1
- package/esm/models/updatefirewallconfigop.js +379 -357
- package/esm/models/updatefirewallconfigop.js.map +1 -1
- package/esm/models/updateprojectdatacacheop.d.ts +183 -21
- package/esm/models/updateprojectdatacacheop.d.ts.map +1 -1
- package/esm/models/updateprojectdatacacheop.js +172 -18
- package/esm/models/updateprojectdatacacheop.js.map +1 -1
- package/esm/models/updateprojectop.d.ts +175 -13
- package/esm/models/updateprojectop.d.ts.map +1 -1
- package/esm/models/updateprojectop.js +157 -6
- package/esm/models/updateprojectop.js.map +1 -1
- package/esm/models/userevent.d.ts +46 -19
- package/esm/models/userevent.d.ts.map +1 -1
- package/esm/models/userevent.js +34 -10
- package/esm/models/userevent.js.map +1 -1
- package/esm/sdk/security.d.ts +8 -0
- package/esm/sdk/security.d.ts.map +1 -1
- package/esm/sdk/security.js +10 -0
- package/esm/sdk/security.js.map +1 -1
- package/jsr.json +1 -1
- package/package.json +3 -3
- package/src/__tests__/deployments.test.ts +16 -1
- package/src/__tests__/environment.test.ts +3 -0
- package/src/__tests__/marketplace.test.ts +7 -2
- package/src/__tests__/projects.test.ts +4 -4
- package/src/__tests__/security.test.ts +176 -5
- package/src/funcs/projectsCreateProject.ts +2 -2
- package/src/funcs/securityPutFirewallConfig.ts +194 -0
- package/src/lib/config.ts +3 -3
- package/src/mcp-server/mcp-server.ts +1 -1
- package/src/mcp-server/server.ts +3 -1
- package/src/mcp-server/tools/securityPutFirewallConfig.ts +37 -0
- package/src/models/authtoken.ts +2 -0
- package/src/models/authuser.ts +52 -0
- package/src/models/canceldeploymentop.ts +591 -148
- package/src/models/createdeploymentop.ts +616 -165
- package/src/models/createprojectenvop.ts +24 -30
- package/src/models/createprojectop.ts +336 -15
- package/src/models/editprojectenvop.ts +8 -11
- package/src/models/filterprojectenvsop.ts +36 -45
- package/src/models/getdeploymentop.ts +1288 -353
- package/src/models/getfirewallconfigop.ts +555 -410
- package/src/models/getprojectdomainsop.ts +470 -63
- package/src/models/getprojectenvop.ts +20 -26
- package/src/models/getprojectsop.ts +338 -16
- package/src/models/getv9projectsidornamecustomenvironmentsop.ts +62 -1
- package/src/models/putfirewallconfigop.ts +4932 -0
- package/src/models/removeprojectenvop.ts +36 -45
- package/src/models/updatefirewallconfigop.ts +820 -612
- package/src/models/updateprojectdatacacheop.ts +353 -34
- package/src/models/updateprojectop.ts +336 -15
- package/src/models/userevent.ts +54 -29
- package/src/sdk/security.ts +22 -0
- package/vercel-spec.json +1395 -291
package/esm/sdk/security.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { AddBypassIpRequest, AddBypassIpResponseBody } from "../models/addbypass
|
|
|
3
3
|
import { GetActiveAttackStatusRequest, GetActiveAttackStatusResponseBody } from "../models/getactiveattackstatusop.js";
|
|
4
4
|
import { GetBypassIpRequest, GetBypassIpResponseBody } from "../models/getbypassipop.js";
|
|
5
5
|
import { GetFirewallConfigRequest, GetFirewallConfigResponseBody } from "../models/getfirewallconfigop.js";
|
|
6
|
+
import { PutFirewallConfigRequest, PutFirewallConfigResponseBody } from "../models/putfirewallconfigop.js";
|
|
6
7
|
import { RemoveBypassIpRequest, RemoveBypassIpResponseBody } from "../models/removebypassipop.js";
|
|
7
8
|
import { UpdateAttackChallengeModeRequest, UpdateAttackChallengeModeResponseBody } from "../models/updateattackchallengemodeop.js";
|
|
8
9
|
import { UpdateFirewallConfigRequest, UpdateFirewallConfigResponseBody } from "../models/updatefirewallconfigop.js";
|
|
@@ -14,6 +15,13 @@ export declare class Security extends ClientSDK {
|
|
|
14
15
|
* Update the setting for determining if the project has Attack Challenge mode enabled.
|
|
15
16
|
*/
|
|
16
17
|
updateAttackChallengeMode(request: UpdateAttackChallengeModeRequest, options?: RequestOptions): Promise<UpdateAttackChallengeModeResponseBody>;
|
|
18
|
+
/**
|
|
19
|
+
* Put Firewall Configuration
|
|
20
|
+
*
|
|
21
|
+
* @remarks
|
|
22
|
+
* Set the firewall configuration to provided rules and settings. Creates or overwrite the existing firewall configuration.
|
|
23
|
+
*/
|
|
24
|
+
putFirewallConfig(request: PutFirewallConfigRequest, options?: RequestOptions): Promise<PutFirewallConfigResponseBody>;
|
|
17
25
|
/**
|
|
18
26
|
* Update Firewall Configuration
|
|
19
27
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/sdk/security.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/sdk/security.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,4BAA4B,EAC5B,iCAAiC,EAClC,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,wBAAwB,EACxB,6BAA6B,EAC9B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,wBAAwB,EACxB,6BAA6B,EAC9B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC3B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,gCAAgC,EAChC,qCAAqC,EACtC,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,2BAA2B,EAC3B,gCAAgC,EACjC,MAAM,qCAAqC,CAAC;AAG7C,qBAAa,QAAS,SAAQ,SAAS;IACrC;;;;;OAKG;IACG,yBAAyB,CAC7B,OAAO,EAAE,gCAAgC,EACzC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,qCAAqC,CAAC;IAQjD;;;;;OAKG;IACG,iBAAiB,CACrB,OAAO,EAAE,wBAAwB,EACjC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,6BAA6B,CAAC;IAQzC;;;;;OAKG;IACG,oBAAoB,CACxB,OAAO,EAAE,2BAA2B,EACpC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,gCAAgC,CAAC;IAQ5C;;;;;OAKG;IACG,iBAAiB,CACrB,OAAO,EAAE,wBAAwB,EACjC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,6BAA6B,CAAC;IAQzC;;;;;OAKG;IACG,qBAAqB,CACzB,OAAO,EAAE,4BAA4B,EACrC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,iCAAiC,CAAC;IAQ7C;;;;;OAKG;IACG,WAAW,CACf,OAAO,EAAE,kBAAkB,EAC3B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,uBAAuB,CAAC;IAQnC;;;;;OAKG;IACG,WAAW,CACf,OAAO,EAAE,kBAAkB,EAC3B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,uBAAuB,CAAC;IAQnC;;;;;OAKG;IACG,cAAc,CAClB,OAAO,EAAE,qBAAqB,EAC9B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,0BAA0B,CAAC;CAOvC"}
|
package/esm/sdk/security.js
CHANGED
|
@@ -5,6 +5,7 @@ import { securityAddBypassIp } from "../funcs/securityAddBypassIp.js";
|
|
|
5
5
|
import { securityGetActiveAttackStatus } from "../funcs/securityGetActiveAttackStatus.js";
|
|
6
6
|
import { securityGetBypassIp } from "../funcs/securityGetBypassIp.js";
|
|
7
7
|
import { securityGetFirewallConfig } from "../funcs/securityGetFirewallConfig.js";
|
|
8
|
+
import { securityPutFirewallConfig } from "../funcs/securityPutFirewallConfig.js";
|
|
8
9
|
import { securityRemoveBypassIp } from "../funcs/securityRemoveBypassIp.js";
|
|
9
10
|
import { securityUpdateAttackChallengeMode } from "../funcs/securityUpdateAttackChallengeMode.js";
|
|
10
11
|
import { securityUpdateFirewallConfig } from "../funcs/securityUpdateFirewallConfig.js";
|
|
@@ -20,6 +21,15 @@ export class Security extends ClientSDK {
|
|
|
20
21
|
async updateAttackChallengeMode(request, options) {
|
|
21
22
|
return unwrapAsync(securityUpdateAttackChallengeMode(this, request, options));
|
|
22
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Put Firewall Configuration
|
|
26
|
+
*
|
|
27
|
+
* @remarks
|
|
28
|
+
* Set the firewall configuration to provided rules and settings. Creates or overwrite the existing firewall configuration.
|
|
29
|
+
*/
|
|
30
|
+
async putFirewallConfig(request, options) {
|
|
31
|
+
return unwrapAsync(securityPutFirewallConfig(this, request, options));
|
|
32
|
+
}
|
|
23
33
|
/**
|
|
24
34
|
* Update Firewall Configuration
|
|
25
35
|
*
|
package/esm/sdk/security.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/sdk/security.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,6BAA6B,EAAE,MAAM,2CAA2C,CAAC;AAC1F,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,iCAAiC,EAAE,MAAM,+CAA+C,CAAC;AAClG,OAAO,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAC;AACxF,OAAO,EAAE,SAAS,EAAkB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/sdk/security.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,6BAA6B,EAAE,MAAM,2CAA2C,CAAC;AAC1F,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,iCAAiC,EAAE,MAAM,+CAA+C,CAAC;AAClG,OAAO,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAC;AACxF,OAAO,EAAE,SAAS,EAAkB,MAAM,gBAAgB,CAAC;AAiC3D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,OAAO,QAAS,SAAQ,SAAS;IACrC;;;;;OAKG;IACH,KAAK,CAAC,yBAAyB,CAC7B,OAAyC,EACzC,OAAwB;QAExB,OAAO,WAAW,CAAC,iCAAiC,CAClD,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,iBAAiB,CACrB,OAAiC,EACjC,OAAwB;QAExB,OAAO,WAAW,CAAC,yBAAyB,CAC1C,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,oBAAoB,CACxB,OAAoC,EACpC,OAAwB;QAExB,OAAO,WAAW,CAAC,4BAA4B,CAC7C,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,iBAAiB,CACrB,OAAiC,EACjC,OAAwB;QAExB,OAAO,WAAW,CAAC,yBAAyB,CAC1C,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,qBAAqB,CACzB,OAAqC,EACrC,OAAwB;QAExB,OAAO,WAAW,CAAC,6BAA6B,CAC9C,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CACf,OAA2B,EAC3B,OAAwB;QAExB,OAAO,WAAW,CAAC,mBAAmB,CACpC,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CACf,OAA2B,EAC3B,OAAwB;QAExB,OAAO,WAAW,CAAC,mBAAmB,CACpC,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAClB,OAA8B,EAC9B,OAAwB;QAExB,OAAO,WAAW,CAAC,sBAAsB,CACvC,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;CACF"}
|
package/jsr.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vercel/sdk",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.5",
|
|
4
4
|
"author": "Speakeasy",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"prepublishOnly": "npm run build"
|
|
40
40
|
},
|
|
41
41
|
"peerDependencies": {
|
|
42
|
-
"@modelcontextprotocol/sdk": "
|
|
42
|
+
"@modelcontextprotocol/sdk": ">=1.5.0 <1.10.0",
|
|
43
43
|
"zod": ">= 3"
|
|
44
44
|
},
|
|
45
45
|
"peerDependenciesMeta": {
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"@eslint/js": "^9.19.0",
|
|
50
|
-
"@modelcontextprotocol/sdk": "
|
|
50
|
+
"@modelcontextprotocol/sdk": ">=1.5.0 <1.10.0",
|
|
51
51
|
"@stricli/core": "^1.1.1",
|
|
52
52
|
"@types/express": "^4.17.21",
|
|
53
53
|
"@types/node": "^18.19.3",
|
|
@@ -262,7 +262,22 @@ test("Deployments List Deployment Files", async () => {
|
|
|
262
262
|
slug: "my-team-url-slug",
|
|
263
263
|
});
|
|
264
264
|
expect(result).toBeDefined();
|
|
265
|
-
expect(result).toEqual([
|
|
265
|
+
expect(result).toEqual([
|
|
266
|
+
{
|
|
267
|
+
name: "my-file.json",
|
|
268
|
+
type: "file",
|
|
269
|
+
uid: "2d4aad419917f15b1146e9e03ddc9bb31747e4d0",
|
|
270
|
+
contentType: "application/json",
|
|
271
|
+
mode: 956.44,
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
name: "my-file.json",
|
|
275
|
+
type: "file",
|
|
276
|
+
uid: "2d4aad419917f15b1146e9e03ddc9bb31747e4d0",
|
|
277
|
+
contentType: "application/json",
|
|
278
|
+
mode: 1805.56,
|
|
279
|
+
},
|
|
280
|
+
]);
|
|
266
281
|
});
|
|
267
282
|
|
|
268
283
|
test("Deployments Get Deployment File Contents", async () => {
|
|
@@ -385,7 +385,10 @@ test("Marketplace Head /V1 /Installations/{integration Configuration Id}/resourc
|
|
|
385
385
|
});
|
|
386
386
|
expect(result).toBeDefined();
|
|
387
387
|
expect(result).toEqual({
|
|
388
|
-
items: {
|
|
388
|
+
items: {
|
|
389
|
+
"key": {},
|
|
390
|
+
"key1": true,
|
|
391
|
+
},
|
|
389
392
|
updatedAt: 6086.93,
|
|
390
393
|
digest: "<value>",
|
|
391
394
|
});
|
|
@@ -409,7 +412,9 @@ test("Marketplace Put /V1 /Installations/{integration Configuration Id}/resource
|
|
|
409
412
|
});
|
|
410
413
|
expect(result).toBeDefined();
|
|
411
414
|
expect(result).toEqual({
|
|
412
|
-
items: {
|
|
415
|
+
items: {
|
|
416
|
+
"key": true,
|
|
417
|
+
},
|
|
413
418
|
updatedAt: 6820.68,
|
|
414
419
|
digest: "<value>",
|
|
415
420
|
});
|
|
@@ -559,8 +559,8 @@ test("Projects Get Project Env", async () => {
|
|
|
559
559
|
expect(result).toBeDefined();
|
|
560
560
|
expect(result).toEqual({
|
|
561
561
|
type: "plain",
|
|
562
|
-
key: "<key>",
|
|
563
562
|
value: "<value>",
|
|
563
|
+
key: "<key>",
|
|
564
564
|
});
|
|
565
565
|
});
|
|
566
566
|
|
|
@@ -630,18 +630,18 @@ test("Projects Remove Project Env", async () => {
|
|
|
630
630
|
expect(result).toEqual([
|
|
631
631
|
{
|
|
632
632
|
type: "sensitive",
|
|
633
|
-
key: "<key>",
|
|
634
633
|
value: "<value>",
|
|
634
|
+
key: "<key>",
|
|
635
635
|
},
|
|
636
636
|
{
|
|
637
637
|
type: "plain",
|
|
638
|
-
key: "<key>",
|
|
639
638
|
value: "<value>",
|
|
639
|
+
key: "<key>",
|
|
640
640
|
},
|
|
641
641
|
{
|
|
642
642
|
type: "encrypted",
|
|
643
|
-
key: "<key>",
|
|
644
643
|
value: "<value>",
|
|
644
|
+
key: "<key>",
|
|
645
645
|
},
|
|
646
646
|
]);
|
|
647
647
|
});
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { expect, test } from "vitest";
|
|
6
6
|
import { Vercel } from "../index.js";
|
|
7
7
|
import { createTestHTTPClient } from "./testclient.js";
|
|
8
8
|
|
|
@@ -30,10 +30,170 @@ test("Security Update Attack Challenge Mode", async () => {
|
|
|
30
30
|
});
|
|
31
31
|
});
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
test("Security Put Firewall Config", async () => {
|
|
34
|
+
const testHttpClient = createTestHTTPClient("putFirewallConfig");
|
|
35
|
+
|
|
36
|
+
const vercel = new Vercel({
|
|
37
|
+
serverURL: process.env["TEST_SERVER_URL"] ?? "http://localhost:18080",
|
|
38
|
+
httpClient: testHttpClient,
|
|
39
|
+
bearerToken: "<YOUR_BEARER_TOKEN_HERE>",
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
const result = await vercel.security.putFirewallConfig({
|
|
43
|
+
projectId: "<id>",
|
|
44
|
+
teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l",
|
|
45
|
+
slug: "my-team-url-slug",
|
|
46
|
+
requestBody: {
|
|
47
|
+
firewallEnabled: true,
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
expect(result).toBeDefined();
|
|
51
|
+
expect(result).toEqual({
|
|
52
|
+
active: {
|
|
53
|
+
ownerId: "<id>",
|
|
54
|
+
projectKey: "<value>",
|
|
55
|
+
id: "<id>",
|
|
56
|
+
version: 4570.86,
|
|
57
|
+
updatedAt: "<value>",
|
|
58
|
+
firewallEnabled: true,
|
|
59
|
+
crs: {
|
|
60
|
+
sd: {
|
|
61
|
+
active: false,
|
|
62
|
+
action: "deny",
|
|
63
|
+
},
|
|
64
|
+
ma: {
|
|
65
|
+
active: false,
|
|
66
|
+
action: "log",
|
|
67
|
+
},
|
|
68
|
+
lfi: {
|
|
69
|
+
active: false,
|
|
70
|
+
action: "log",
|
|
71
|
+
},
|
|
72
|
+
rfi: {
|
|
73
|
+
active: false,
|
|
74
|
+
action: "deny",
|
|
75
|
+
},
|
|
76
|
+
rce: {
|
|
77
|
+
active: false,
|
|
78
|
+
action: "deny",
|
|
79
|
+
},
|
|
80
|
+
php: {
|
|
81
|
+
active: true,
|
|
82
|
+
action: "deny",
|
|
83
|
+
},
|
|
84
|
+
gen: {
|
|
85
|
+
active: false,
|
|
86
|
+
action: "deny",
|
|
87
|
+
},
|
|
88
|
+
xss: {
|
|
89
|
+
active: false,
|
|
90
|
+
action: "deny",
|
|
91
|
+
},
|
|
92
|
+
sqli: {
|
|
93
|
+
active: true,
|
|
94
|
+
action: "log",
|
|
95
|
+
},
|
|
96
|
+
sf: {
|
|
97
|
+
active: true,
|
|
98
|
+
action: "deny",
|
|
99
|
+
},
|
|
100
|
+
java: {
|
|
101
|
+
active: true,
|
|
102
|
+
action: "log",
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
rules: [
|
|
106
|
+
{
|
|
107
|
+
id: "<id>",
|
|
108
|
+
name: "<value>",
|
|
109
|
+
active: true,
|
|
110
|
+
conditionGroup: [
|
|
111
|
+
{
|
|
112
|
+
conditions: [
|
|
113
|
+
{
|
|
114
|
+
type: "ip_address",
|
|
115
|
+
op: "suf",
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: "geo_as_number",
|
|
119
|
+
op: "pre",
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
type: "ja3_digest",
|
|
123
|
+
op: "inc",
|
|
124
|
+
},
|
|
125
|
+
],
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
conditions: [
|
|
129
|
+
{
|
|
130
|
+
type: "geo_as_number",
|
|
131
|
+
op: "neq",
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
type: "protocol",
|
|
135
|
+
op: "sub",
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
type: "ja3_digest",
|
|
139
|
+
op: "suf",
|
|
140
|
+
},
|
|
141
|
+
],
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
conditions: [
|
|
145
|
+
{
|
|
146
|
+
type: "region",
|
|
147
|
+
op: "neq",
|
|
148
|
+
},
|
|
149
|
+
],
|
|
150
|
+
},
|
|
151
|
+
],
|
|
152
|
+
action: {},
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
id: "<id>",
|
|
156
|
+
name: "<value>",
|
|
157
|
+
active: false,
|
|
158
|
+
conditionGroup: [],
|
|
159
|
+
action: {},
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
id: "<id>",
|
|
163
|
+
name: "<value>",
|
|
164
|
+
active: false,
|
|
165
|
+
conditionGroup: [
|
|
166
|
+
{
|
|
167
|
+
conditions: [
|
|
168
|
+
{
|
|
169
|
+
type: "scheme",
|
|
170
|
+
op: "neq",
|
|
171
|
+
},
|
|
172
|
+
],
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
conditions: [],
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
conditions: [
|
|
179
|
+
{
|
|
180
|
+
type: "header",
|
|
181
|
+
op: "inc",
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
type: "query",
|
|
185
|
+
op: "eq",
|
|
186
|
+
},
|
|
187
|
+
],
|
|
188
|
+
},
|
|
189
|
+
],
|
|
190
|
+
action: {},
|
|
191
|
+
},
|
|
192
|
+
],
|
|
193
|
+
ips: [],
|
|
194
|
+
changes: [],
|
|
195
|
+
},
|
|
196
|
+
});
|
|
37
197
|
});
|
|
38
198
|
|
|
39
199
|
test("Security Update Firewall Config", async () => {
|
|
@@ -209,6 +369,17 @@ test("Security Add Bypass Ip", async () => {
|
|
|
209
369
|
expect(result).toBeDefined();
|
|
210
370
|
expect(result).toEqual({
|
|
211
371
|
ok: false,
|
|
372
|
+
result: [
|
|
373
|
+
{
|
|
374
|
+
ownerId: "<id>",
|
|
375
|
+
id: "<id>",
|
|
376
|
+
domain: "memorable-advancement.com",
|
|
377
|
+
projectId: "<id>",
|
|
378
|
+
note: "<value>",
|
|
379
|
+
isProjectRule: false,
|
|
380
|
+
},
|
|
381
|
+
],
|
|
382
|
+
pagination: "<value>",
|
|
212
383
|
});
|
|
213
384
|
});
|
|
214
385
|
|
|
@@ -146,7 +146,7 @@ async function $do(
|
|
|
146
146
|
|
|
147
147
|
const doResult = await client._do(req, {
|
|
148
148
|
context,
|
|
149
|
-
errorCodes: ["400", "401", "402", "403", "409", "4XX", "
|
|
149
|
+
errorCodes: ["400", "401", "402", "403", "409", "4XX", "5XX"],
|
|
150
150
|
retryConfig: context.retryConfig,
|
|
151
151
|
retryCodes: context.retryCodes,
|
|
152
152
|
});
|
|
@@ -175,7 +175,7 @@ async function $do(
|
|
|
175
175
|
M.jsonErr(400, VercelBadRequestError$inboundSchema),
|
|
176
176
|
M.jsonErr(401, VercelForbiddenError$inboundSchema),
|
|
177
177
|
M.fail([402, 403, 409, "4XX"]),
|
|
178
|
-
M.fail(
|
|
178
|
+
M.fail("5XX"),
|
|
179
179
|
)(response, { extraFields: responseFields });
|
|
180
180
|
if (!result.ok) {
|
|
181
181
|
return [result, { status: "complete", request: req, response }];
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { VercelCore } from "../core.js";
|
|
6
|
+
import { encodeFormQuery, encodeJSON } from "../lib/encodings.js";
|
|
7
|
+
import * as M from "../lib/matchers.js";
|
|
8
|
+
import { compactMap } from "../lib/primitives.js";
|
|
9
|
+
import { safeParse } from "../lib/schemas.js";
|
|
10
|
+
import { RequestOptions } from "../lib/sdks.js";
|
|
11
|
+
import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
|
|
12
|
+
import { pathToFunc } from "../lib/url.js";
|
|
13
|
+
import {
|
|
14
|
+
ConnectionError,
|
|
15
|
+
InvalidRequestError,
|
|
16
|
+
RequestAbortedError,
|
|
17
|
+
RequestTimeoutError,
|
|
18
|
+
UnexpectedClientError,
|
|
19
|
+
} from "../models/httpclienterrors.js";
|
|
20
|
+
import {
|
|
21
|
+
PutFirewallConfigRequest,
|
|
22
|
+
PutFirewallConfigRequest$outboundSchema,
|
|
23
|
+
PutFirewallConfigResponseBody,
|
|
24
|
+
PutFirewallConfigResponseBody$inboundSchema,
|
|
25
|
+
} from "../models/putfirewallconfigop.js";
|
|
26
|
+
import { SDKError } from "../models/sdkerror.js";
|
|
27
|
+
import { SDKValidationError } from "../models/sdkvalidationerror.js";
|
|
28
|
+
import {
|
|
29
|
+
VercelBadRequestError,
|
|
30
|
+
VercelBadRequestError$inboundSchema,
|
|
31
|
+
} from "../models/vercelbadrequesterror.js";
|
|
32
|
+
import {
|
|
33
|
+
VercelForbiddenError,
|
|
34
|
+
VercelForbiddenError$inboundSchema,
|
|
35
|
+
} from "../models/vercelforbiddenerror.js";
|
|
36
|
+
import {
|
|
37
|
+
VercelNotFoundError,
|
|
38
|
+
VercelNotFoundError$inboundSchema,
|
|
39
|
+
} from "../models/vercelnotfounderror.js";
|
|
40
|
+
import { APICall, APIPromise } from "../types/async.js";
|
|
41
|
+
import { Result } from "../types/fp.js";
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Put Firewall Configuration
|
|
45
|
+
*
|
|
46
|
+
* @remarks
|
|
47
|
+
* Set the firewall configuration to provided rules and settings. Creates or overwrite the existing firewall configuration.
|
|
48
|
+
*/
|
|
49
|
+
export function securityPutFirewallConfig(
|
|
50
|
+
client: VercelCore,
|
|
51
|
+
request: PutFirewallConfigRequest,
|
|
52
|
+
options?: RequestOptions,
|
|
53
|
+
): APIPromise<
|
|
54
|
+
Result<
|
|
55
|
+
PutFirewallConfigResponseBody,
|
|
56
|
+
| VercelBadRequestError
|
|
57
|
+
| VercelForbiddenError
|
|
58
|
+
| VercelNotFoundError
|
|
59
|
+
| SDKError
|
|
60
|
+
| SDKValidationError
|
|
61
|
+
| UnexpectedClientError
|
|
62
|
+
| InvalidRequestError
|
|
63
|
+
| RequestAbortedError
|
|
64
|
+
| RequestTimeoutError
|
|
65
|
+
| ConnectionError
|
|
66
|
+
>
|
|
67
|
+
> {
|
|
68
|
+
return new APIPromise($do(
|
|
69
|
+
client,
|
|
70
|
+
request,
|
|
71
|
+
options,
|
|
72
|
+
));
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
async function $do(
|
|
76
|
+
client: VercelCore,
|
|
77
|
+
request: PutFirewallConfigRequest,
|
|
78
|
+
options?: RequestOptions,
|
|
79
|
+
): Promise<
|
|
80
|
+
[
|
|
81
|
+
Result<
|
|
82
|
+
PutFirewallConfigResponseBody,
|
|
83
|
+
| VercelBadRequestError
|
|
84
|
+
| VercelForbiddenError
|
|
85
|
+
| VercelNotFoundError
|
|
86
|
+
| SDKError
|
|
87
|
+
| SDKValidationError
|
|
88
|
+
| UnexpectedClientError
|
|
89
|
+
| InvalidRequestError
|
|
90
|
+
| RequestAbortedError
|
|
91
|
+
| RequestTimeoutError
|
|
92
|
+
| ConnectionError
|
|
93
|
+
>,
|
|
94
|
+
APICall,
|
|
95
|
+
]
|
|
96
|
+
> {
|
|
97
|
+
const parsed = safeParse(
|
|
98
|
+
request,
|
|
99
|
+
(value) => PutFirewallConfigRequest$outboundSchema.parse(value),
|
|
100
|
+
"Input validation failed",
|
|
101
|
+
);
|
|
102
|
+
if (!parsed.ok) {
|
|
103
|
+
return [parsed, { status: "invalid" }];
|
|
104
|
+
}
|
|
105
|
+
const payload = parsed.value;
|
|
106
|
+
const body = encodeJSON("body", payload.RequestBody, { explode: true });
|
|
107
|
+
|
|
108
|
+
const path = pathToFunc("/v1/security/firewall/config")();
|
|
109
|
+
|
|
110
|
+
const query = encodeFormQuery({
|
|
111
|
+
"projectId": payload.projectId,
|
|
112
|
+
"slug": payload.slug,
|
|
113
|
+
"teamId": payload.teamId,
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
const headers = new Headers(compactMap({
|
|
117
|
+
"Content-Type": "application/json",
|
|
118
|
+
Accept: "application/json",
|
|
119
|
+
}));
|
|
120
|
+
|
|
121
|
+
const secConfig = await extractSecurity(client._options.bearerToken);
|
|
122
|
+
const securityInput = secConfig == null ? {} : { bearerToken: secConfig };
|
|
123
|
+
const requestSecurity = resolveGlobalSecurity(securityInput);
|
|
124
|
+
|
|
125
|
+
const context = {
|
|
126
|
+
baseURL: options?.serverURL ?? client._baseURL ?? "",
|
|
127
|
+
operationID: "putFirewallConfig",
|
|
128
|
+
oAuth2Scopes: [],
|
|
129
|
+
|
|
130
|
+
resolvedSecurity: requestSecurity,
|
|
131
|
+
|
|
132
|
+
securitySource: client._options.bearerToken,
|
|
133
|
+
retryConfig: options?.retries
|
|
134
|
+
|| client._options.retryConfig
|
|
135
|
+
|| { strategy: "none" },
|
|
136
|
+
retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
const requestRes = client._createRequest(context, {
|
|
140
|
+
security: requestSecurity,
|
|
141
|
+
method: "PUT",
|
|
142
|
+
baseURL: options?.serverURL,
|
|
143
|
+
path: path,
|
|
144
|
+
headers: headers,
|
|
145
|
+
query: query,
|
|
146
|
+
body: body,
|
|
147
|
+
timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
|
|
148
|
+
}, options);
|
|
149
|
+
if (!requestRes.ok) {
|
|
150
|
+
return [requestRes, { status: "invalid" }];
|
|
151
|
+
}
|
|
152
|
+
const req = requestRes.value;
|
|
153
|
+
|
|
154
|
+
const doResult = await client._do(req, {
|
|
155
|
+
context,
|
|
156
|
+
errorCodes: ["400", "401", "402", "403", "404", "4XX", "500", "5XX"],
|
|
157
|
+
retryConfig: context.retryConfig,
|
|
158
|
+
retryCodes: context.retryCodes,
|
|
159
|
+
});
|
|
160
|
+
if (!doResult.ok) {
|
|
161
|
+
return [doResult, { status: "request-error", request: req }];
|
|
162
|
+
}
|
|
163
|
+
const response = doResult.value;
|
|
164
|
+
|
|
165
|
+
const responseFields = {
|
|
166
|
+
HttpMeta: { Response: response, Request: req },
|
|
167
|
+
};
|
|
168
|
+
|
|
169
|
+
const [result] = await M.match<
|
|
170
|
+
PutFirewallConfigResponseBody,
|
|
171
|
+
| VercelBadRequestError
|
|
172
|
+
| VercelForbiddenError
|
|
173
|
+
| VercelNotFoundError
|
|
174
|
+
| SDKError
|
|
175
|
+
| SDKValidationError
|
|
176
|
+
| UnexpectedClientError
|
|
177
|
+
| InvalidRequestError
|
|
178
|
+
| RequestAbortedError
|
|
179
|
+
| RequestTimeoutError
|
|
180
|
+
| ConnectionError
|
|
181
|
+
>(
|
|
182
|
+
M.json(200, PutFirewallConfigResponseBody$inboundSchema),
|
|
183
|
+
M.jsonErr(400, VercelBadRequestError$inboundSchema),
|
|
184
|
+
M.jsonErr(401, VercelForbiddenError$inboundSchema),
|
|
185
|
+
M.jsonErr(404, VercelNotFoundError$inboundSchema),
|
|
186
|
+
M.fail([402, 403, "4XX"]),
|
|
187
|
+
M.fail([500, "5XX"]),
|
|
188
|
+
)(response, { extraFields: responseFields });
|
|
189
|
+
if (!result.ok) {
|
|
190
|
+
return [result, { status: "complete", request: req, response }];
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
return [result, { status: "complete", request: req, response }];
|
|
194
|
+
}
|
package/src/lib/config.ts
CHANGED
|
@@ -57,7 +57,7 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
|
|
|
57
57
|
export const SDK_METADATA = {
|
|
58
58
|
language: "typescript",
|
|
59
59
|
openapiDocVersion: "0.0.1",
|
|
60
|
-
sdkVersion: "1.6.
|
|
61
|
-
genVersion: "2.
|
|
62
|
-
userAgent: "speakeasy-sdk/typescript 1.6.
|
|
60
|
+
sdkVersion: "1.6.5",
|
|
61
|
+
genVersion: "2.593.4",
|
|
62
|
+
userAgent: "speakeasy-sdk/typescript 1.6.5 2.593.4 0.0.1 @vercel/sdk",
|
|
63
63
|
} as const;
|
package/src/mcp-server/server.ts
CHANGED
|
@@ -149,6 +149,7 @@ import { tool$securityAddBypassIp } from "./tools/securityAddBypassIp.js";
|
|
|
149
149
|
import { tool$securityGetActiveAttackStatus } from "./tools/securityGetActiveAttackStatus.js";
|
|
150
150
|
import { tool$securityGetBypassIp } from "./tools/securityGetBypassIp.js";
|
|
151
151
|
import { tool$securityGetFirewallConfig } from "./tools/securityGetFirewallConfig.js";
|
|
152
|
+
import { tool$securityPutFirewallConfig } from "./tools/securityPutFirewallConfig.js";
|
|
152
153
|
import { tool$securityRemoveBypassIp } from "./tools/securityRemoveBypassIp.js";
|
|
153
154
|
import { tool$securityUpdateAttackChallengeMode } from "./tools/securityUpdateAttackChallengeMode.js";
|
|
154
155
|
import { tool$securityUpdateFirewallConfig } from "./tools/securityUpdateFirewallConfig.js";
|
|
@@ -183,7 +184,7 @@ export function createMCPServer(deps: {
|
|
|
183
184
|
}) {
|
|
184
185
|
const server = new McpServer({
|
|
185
186
|
name: "Vercel",
|
|
186
|
-
version: "1.6.
|
|
187
|
+
version: "1.6.5",
|
|
187
188
|
});
|
|
188
189
|
|
|
189
190
|
const client = new VercelCore({
|
|
@@ -340,6 +341,7 @@ export function createMCPServer(deps: {
|
|
|
340
341
|
tool(tool$environmentUpdateCustomEnvironment);
|
|
341
342
|
tool(tool$environmentRemoveCustomEnvironment);
|
|
342
343
|
tool(tool$securityUpdateAttackChallengeMode);
|
|
344
|
+
tool(tool$securityPutFirewallConfig);
|
|
343
345
|
tool(tool$securityUpdateFirewallConfig);
|
|
344
346
|
tool(tool$securityGetFirewallConfig);
|
|
345
347
|
tool(tool$securityGetActiveAttackStatus);
|