@vercel/sdk 1.12.0 → 1.12.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -6
- package/bin/mcp-server.js +2893 -2521
- package/bin/mcp-server.js.map +34 -28
- package/docs/sdks/edgecache/README.md +2 -2
- package/docs/sdks/projects/README.md +173 -0
- package/esm/__tests__/domains.test.js +9 -6
- package/esm/__tests__/domains.test.js.map +1 -1
- package/esm/__tests__/edgeconfig.test.js +6 -6
- package/esm/__tests__/edgeconfig.test.js.map +1 -1
- package/esm/__tests__/integrations.test.js +2 -2
- package/esm/__tests__/integrations.test.js.map +1 -1
- package/esm/__tests__/logdrains.test.js +3 -1
- package/esm/__tests__/logdrains.test.js.map +1 -1
- package/esm/__tests__/projects.test.js +45 -0
- package/esm/__tests__/projects.test.js.map +1 -1
- package/esm/__tests__/rollingrelease.test.js +6 -2
- package/esm/__tests__/rollingrelease.test.js.map +1 -1
- package/esm/__tests__/security.test.js +4 -4
- package/esm/__tests__/security.test.js.map +1 -1
- package/esm/funcs/edgeCacheDangerouslyDeleteByTags.d.ts +1 -1
- package/esm/funcs/edgeCacheDangerouslyDeleteByTags.js +1 -1
- package/esm/funcs/edgeCacheInvalidateByTags.d.ts +1 -1
- package/esm/funcs/edgeCacheInvalidateByTags.js +1 -1
- package/esm/funcs/edgeConfigCreateEdgeConfigToken.js +2 -2
- package/esm/funcs/edgeConfigCreateEdgeConfigToken.js.map +1 -1
- package/esm/funcs/edgeConfigDeleteEdgeConfig.js +2 -2
- package/esm/funcs/edgeConfigDeleteEdgeConfig.js.map +1 -1
- package/esm/funcs/edgeConfigDeleteEdgeConfigSchema.js +2 -2
- package/esm/funcs/edgeConfigDeleteEdgeConfigSchema.js.map +1 -1
- package/esm/funcs/edgeConfigDeleteEdgeConfigTokens.js +2 -2
- package/esm/funcs/edgeConfigDeleteEdgeConfigTokens.js.map +1 -1
- package/esm/funcs/edgeConfigPatchEdgeConfigSchema.js +2 -2
- package/esm/funcs/edgeConfigPatchEdgeConfigSchema.js.map +1 -1
- package/esm/funcs/edgeConfigUpdateEdgeConfig.js +2 -2
- package/esm/funcs/edgeConfigUpdateEdgeConfig.js.map +1 -1
- package/esm/funcs/integrationsCreateIntegrationStoreDirect.js +2 -2
- package/esm/funcs/integrationsCreateIntegrationStoreDirect.js.map +1 -1
- package/esm/funcs/integrationsDeleteConfiguration.js +2 -2
- package/esm/funcs/integrationsDeleteConfiguration.js.map +1 -1
- package/esm/funcs/projectsBatchRemoveProjectEnv.d.ts +20 -0
- package/esm/funcs/projectsBatchRemoveProjectEnv.d.ts.map +1 -0
- package/esm/funcs/projectsBatchRemoveProjectEnv.js +95 -0
- package/esm/funcs/projectsBatchRemoveProjectEnv.js.map +1 -0
- package/esm/funcs/projectsUploadProjectClientCert.d.ts +19 -0
- package/esm/funcs/projectsUploadProjectClientCert.d.ts.map +1 -0
- package/esm/funcs/projectsUploadProjectClientCert.js +94 -0
- package/esm/funcs/projectsUploadProjectClientCert.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 +5 -1
- package/esm/mcp-server/server.js.map +1 -1
- package/esm/mcp-server/tools/edgeCacheDangerouslyDeleteByTags.js +1 -1
- package/esm/mcp-server/tools/edgeCacheInvalidateByTags.js +1 -1
- package/esm/mcp-server/tools/projectsBatchRemoveProjectEnv.d.ts +7 -0
- package/esm/mcp-server/tools/projectsBatchRemoveProjectEnv.d.ts.map +1 -0
- package/esm/mcp-server/tools/projectsBatchRemoveProjectEnv.js +28 -0
- package/esm/mcp-server/tools/projectsBatchRemoveProjectEnv.js.map +1 -0
- package/esm/mcp-server/tools/projectsUploadProjectClientCert.d.ts +7 -0
- package/esm/mcp-server/tools/projectsUploadProjectClientCert.d.ts.map +1 -0
- package/esm/mcp-server/tools/projectsUploadProjectClientCert.js +28 -0
- package/esm/mcp-server/tools/projectsUploadProjectClientCert.js.map +1 -0
- package/esm/models/batchremoveprojectenvop.d.ts +99 -0
- package/esm/models/batchremoveprojectenvop.d.ts.map +1 -0
- package/esm/models/batchremoveprojectenvop.js +100 -0
- package/esm/models/batchremoveprojectenvop.js.map +1 -0
- package/esm/models/createintegrationstoredirectop.d.ts +285 -285
- package/esm/models/createintegrationstoredirectop.js +351 -351
- package/esm/models/createprojectop.d.ts +30 -30
- package/esm/models/createprojectop.d.ts.map +1 -1
- package/esm/models/createprojectop.js +18 -18
- package/esm/models/createprojectop.js.map +1 -1
- package/esm/models/createwebhookop.d.ts +6 -0
- package/esm/models/createwebhookop.d.ts.map +1 -1
- package/esm/models/createwebhookop.js +2 -0
- package/esm/models/createwebhookop.js.map +1 -1
- package/esm/models/getbillingplansop.d.ts +2 -2
- package/esm/models/getbillingplansop.d.ts.map +1 -1
- package/esm/models/getbillingplansop.js +2 -2
- package/esm/models/getbillingplansop.js.map +1 -1
- package/esm/models/getconfigurationop.d.ts +302 -302
- package/esm/models/getconfigurationop.d.ts.map +1 -1
- package/esm/models/getconfigurationop.js +212 -212
- package/esm/models/getconfigurationop.js.map +1 -1
- package/esm/models/getconfigurationproductsop.d.ts +375 -375
- package/esm/models/getconfigurationproductsop.js +465 -465
- package/esm/models/getwebhookop.d.ts +3 -0
- package/esm/models/getwebhookop.d.ts.map +1 -1
- package/esm/models/getwebhookop.js +1 -0
- package/esm/models/getwebhookop.js.map +1 -1
- package/esm/models/getwebhooksop.d.ts +6 -0
- package/esm/models/getwebhooksop.d.ts.map +1 -1
- package/esm/models/getwebhooksop.js +2 -0
- package/esm/models/getwebhooksop.js.map +1 -1
- package/esm/models/updateprojectop.d.ts +30 -30
- package/esm/models/updateprojectop.d.ts.map +1 -1
- package/esm/models/updateprojectop.js +18 -18
- package/esm/models/updateprojectop.js.map +1 -1
- package/esm/models/uploadprojectclientcertop.d.ts +122 -0
- package/esm/models/uploadprojectclientcertop.d.ts.map +1 -0
- package/esm/models/uploadprojectclientcertop.js +108 -0
- package/esm/models/uploadprojectclientcertop.js.map +1 -0
- package/esm/models/userevent.d.ts +1856 -1824
- package/esm/models/userevent.d.ts.map +1 -1
- package/esm/models/userevent.js +2400 -2367
- package/esm/models/userevent.js.map +1 -1
- package/esm/sdk/edgecache.d.ts +2 -2
- package/esm/sdk/edgecache.js +2 -2
- package/esm/sdk/projects.d.ts +16 -0
- package/esm/sdk/projects.d.ts.map +1 -1
- package/esm/sdk/projects.js +20 -0
- package/esm/sdk/projects.js.map +1 -1
- package/examples/package-lock.json +1 -1
- package/jsr.json +1 -1
- package/package.json +1 -1
- package/src/__tests__/domains.test.ts +9 -6
- package/src/__tests__/edgeconfig.test.ts +6 -6
- package/src/__tests__/integrations.test.ts +3 -3
- package/src/__tests__/logdrains.test.ts +3 -1
- package/src/__tests__/projects.test.ts +51 -0
- package/src/__tests__/rollingrelease.test.ts +6 -2
- package/src/__tests__/security.test.ts +4 -4
- package/src/funcs/edgeCacheDangerouslyDeleteByTags.ts +1 -1
- package/src/funcs/edgeCacheInvalidateByTags.ts +1 -1
- package/src/funcs/edgeConfigCreateEdgeConfigToken.ts +2 -2
- package/src/funcs/edgeConfigDeleteEdgeConfig.ts +2 -2
- package/src/funcs/edgeConfigDeleteEdgeConfigSchema.ts +2 -2
- package/src/funcs/edgeConfigDeleteEdgeConfigTokens.ts +2 -2
- package/src/funcs/edgeConfigPatchEdgeConfigSchema.ts +2 -2
- package/src/funcs/edgeConfigUpdateEdgeConfig.ts +2 -2
- package/src/funcs/integrationsCreateIntegrationStoreDirect.ts +2 -2
- package/src/funcs/integrationsDeleteConfiguration.ts +2 -2
- package/src/funcs/projectsBatchRemoveProjectEnv.ts +206 -0
- package/src/funcs/projectsUploadProjectClientCert.ts +198 -0
- package/src/lib/config.ts +3 -3
- package/src/mcp-server/mcp-server.ts +1 -1
- package/src/mcp-server/server.ts +5 -1
- package/src/mcp-server/tools/edgeCacheDangerouslyDeleteByTags.ts +1 -1
- package/src/mcp-server/tools/edgeCacheInvalidateByTags.ts +1 -1
- package/src/mcp-server/tools/projectsBatchRemoveProjectEnv.ts +37 -0
- package/src/mcp-server/tools/projectsUploadProjectClientCert.ts +38 -0
- package/src/models/batchremoveprojectenvop.ts +228 -0
- package/src/models/createintegrationstoredirectop.ts +604 -604
- package/src/models/createprojectop.ts +30 -30
- package/src/models/createwebhookop.ts +2 -0
- package/src/models/getbillingplansop.ts +4 -4
- package/src/models/getconfigurationop.ts +651 -651
- package/src/models/getconfigurationproductsop.ts +802 -802
- package/src/models/getwebhookop.ts +1 -0
- package/src/models/getwebhooksop.ts +2 -0
- package/src/models/updateprojectop.ts +30 -30
- package/src/models/uploadprojectclientcertop.ts +263 -0
- package/src/models/userevent.ts +4207 -4130
- package/src/sdk/edgecache.ts +2 -2
- package/src/sdk/projects.ts +44 -0
- package/vercel-spec.json +609 -287
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { VercelCore } from "../core.js";
|
|
6
|
+
import { encodeFormQuery, encodeJSON, encodeSimple } 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
|
+
BatchRemoveProjectEnvRequest,
|
|
15
|
+
BatchRemoveProjectEnvRequest$outboundSchema,
|
|
16
|
+
BatchRemoveProjectEnvResponseBody,
|
|
17
|
+
BatchRemoveProjectEnvResponseBody$inboundSchema,
|
|
18
|
+
} from "../models/batchremoveprojectenvop.js";
|
|
19
|
+
import {
|
|
20
|
+
ConnectionError,
|
|
21
|
+
InvalidRequestError,
|
|
22
|
+
RequestAbortedError,
|
|
23
|
+
RequestTimeoutError,
|
|
24
|
+
UnexpectedClientError,
|
|
25
|
+
} from "../models/httpclienterrors.js";
|
|
26
|
+
import { ResponseValidationError } from "../models/responsevalidationerror.js";
|
|
27
|
+
import { SDKValidationError } from "../models/sdkvalidationerror.js";
|
|
28
|
+
import {
|
|
29
|
+
VercelBadRequestError,
|
|
30
|
+
VercelBadRequestError$inboundSchema,
|
|
31
|
+
} from "../models/vercelbadrequesterror.js";
|
|
32
|
+
import { VercelError } from "../models/vercelerror.js";
|
|
33
|
+
import {
|
|
34
|
+
VercelForbiddenError,
|
|
35
|
+
VercelForbiddenError$inboundSchema,
|
|
36
|
+
} from "../models/vercelforbiddenerror.js";
|
|
37
|
+
import {
|
|
38
|
+
VercelNotFoundError,
|
|
39
|
+
VercelNotFoundError$inboundSchema,
|
|
40
|
+
} from "../models/vercelnotfounderror.js";
|
|
41
|
+
import { APICall, APIPromise } from "../types/async.js";
|
|
42
|
+
import { Result } from "../types/fp.js";
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Batch remove environment variables
|
|
46
|
+
*
|
|
47
|
+
* @remarks
|
|
48
|
+
* Delete multiple environment variables for a given project in a single batch operation.
|
|
49
|
+
*/
|
|
50
|
+
export function projectsBatchRemoveProjectEnv(
|
|
51
|
+
client: VercelCore,
|
|
52
|
+
request: BatchRemoveProjectEnvRequest,
|
|
53
|
+
options?: RequestOptions,
|
|
54
|
+
): APIPromise<
|
|
55
|
+
Result<
|
|
56
|
+
BatchRemoveProjectEnvResponseBody,
|
|
57
|
+
| VercelBadRequestError
|
|
58
|
+
| VercelForbiddenError
|
|
59
|
+
| VercelNotFoundError
|
|
60
|
+
| VercelError
|
|
61
|
+
| ResponseValidationError
|
|
62
|
+
| ConnectionError
|
|
63
|
+
| RequestAbortedError
|
|
64
|
+
| RequestTimeoutError
|
|
65
|
+
| InvalidRequestError
|
|
66
|
+
| UnexpectedClientError
|
|
67
|
+
| SDKValidationError
|
|
68
|
+
>
|
|
69
|
+
> {
|
|
70
|
+
return new APIPromise($do(
|
|
71
|
+
client,
|
|
72
|
+
request,
|
|
73
|
+
options,
|
|
74
|
+
));
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
async function $do(
|
|
78
|
+
client: VercelCore,
|
|
79
|
+
request: BatchRemoveProjectEnvRequest,
|
|
80
|
+
options?: RequestOptions,
|
|
81
|
+
): Promise<
|
|
82
|
+
[
|
|
83
|
+
Result<
|
|
84
|
+
BatchRemoveProjectEnvResponseBody,
|
|
85
|
+
| VercelBadRequestError
|
|
86
|
+
| VercelForbiddenError
|
|
87
|
+
| VercelNotFoundError
|
|
88
|
+
| VercelError
|
|
89
|
+
| ResponseValidationError
|
|
90
|
+
| ConnectionError
|
|
91
|
+
| RequestAbortedError
|
|
92
|
+
| RequestTimeoutError
|
|
93
|
+
| InvalidRequestError
|
|
94
|
+
| UnexpectedClientError
|
|
95
|
+
| SDKValidationError
|
|
96
|
+
>,
|
|
97
|
+
APICall,
|
|
98
|
+
]
|
|
99
|
+
> {
|
|
100
|
+
const parsed = safeParse(
|
|
101
|
+
request,
|
|
102
|
+
(value) => BatchRemoveProjectEnvRequest$outboundSchema.parse(value),
|
|
103
|
+
"Input validation failed",
|
|
104
|
+
);
|
|
105
|
+
if (!parsed.ok) {
|
|
106
|
+
return [parsed, { status: "invalid" }];
|
|
107
|
+
}
|
|
108
|
+
const payload = parsed.value;
|
|
109
|
+
const body = encodeJSON("body", payload.RequestBody, { explode: true });
|
|
110
|
+
|
|
111
|
+
const pathParams = {
|
|
112
|
+
idOrName: encodeSimple("idOrName", payload.idOrName, {
|
|
113
|
+
explode: false,
|
|
114
|
+
charEncoding: "percent",
|
|
115
|
+
}),
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
const path = pathToFunc("/v1/projects/{idOrName}/env")(pathParams);
|
|
119
|
+
|
|
120
|
+
const query = encodeFormQuery({
|
|
121
|
+
"slug": payload.slug,
|
|
122
|
+
"teamId": payload.teamId,
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
const headers = new Headers(compactMap({
|
|
126
|
+
"Content-Type": "application/json",
|
|
127
|
+
Accept: "application/json",
|
|
128
|
+
}));
|
|
129
|
+
|
|
130
|
+
const secConfig = await extractSecurity(client._options.bearerToken);
|
|
131
|
+
const securityInput = secConfig == null ? {} : { bearerToken: secConfig };
|
|
132
|
+
const requestSecurity = resolveGlobalSecurity(securityInput);
|
|
133
|
+
|
|
134
|
+
const context = {
|
|
135
|
+
options: client._options,
|
|
136
|
+
baseURL: options?.serverURL ?? client._baseURL ?? "",
|
|
137
|
+
operationID: "batchRemoveProjectEnv",
|
|
138
|
+
oAuth2Scopes: [],
|
|
139
|
+
|
|
140
|
+
resolvedSecurity: requestSecurity,
|
|
141
|
+
|
|
142
|
+
securitySource: client._options.bearerToken,
|
|
143
|
+
retryConfig: options?.retries
|
|
144
|
+
|| client._options.retryConfig
|
|
145
|
+
|| { strategy: "none" },
|
|
146
|
+
retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
|
|
147
|
+
};
|
|
148
|
+
|
|
149
|
+
const requestRes = client._createRequest(context, {
|
|
150
|
+
security: requestSecurity,
|
|
151
|
+
method: "DELETE",
|
|
152
|
+
baseURL: options?.serverURL,
|
|
153
|
+
path: path,
|
|
154
|
+
headers: headers,
|
|
155
|
+
query: query,
|
|
156
|
+
body: body,
|
|
157
|
+
userAgent: client._options.userAgent,
|
|
158
|
+
timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
|
|
159
|
+
}, options);
|
|
160
|
+
if (!requestRes.ok) {
|
|
161
|
+
return [requestRes, { status: "invalid" }];
|
|
162
|
+
}
|
|
163
|
+
const req = requestRes.value;
|
|
164
|
+
|
|
165
|
+
const doResult = await client._do(req, {
|
|
166
|
+
context,
|
|
167
|
+
errorCodes: ["400", "401", "403", "404", "409", "4XX", "5XX"],
|
|
168
|
+
retryConfig: context.retryConfig,
|
|
169
|
+
retryCodes: context.retryCodes,
|
|
170
|
+
});
|
|
171
|
+
if (!doResult.ok) {
|
|
172
|
+
return [doResult, { status: "request-error", request: req }];
|
|
173
|
+
}
|
|
174
|
+
const response = doResult.value;
|
|
175
|
+
|
|
176
|
+
const responseFields = {
|
|
177
|
+
HttpMeta: { Response: response, Request: req },
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
const [result] = await M.match<
|
|
181
|
+
BatchRemoveProjectEnvResponseBody,
|
|
182
|
+
| VercelBadRequestError
|
|
183
|
+
| VercelForbiddenError
|
|
184
|
+
| VercelNotFoundError
|
|
185
|
+
| VercelError
|
|
186
|
+
| ResponseValidationError
|
|
187
|
+
| ConnectionError
|
|
188
|
+
| RequestAbortedError
|
|
189
|
+
| RequestTimeoutError
|
|
190
|
+
| InvalidRequestError
|
|
191
|
+
| UnexpectedClientError
|
|
192
|
+
| SDKValidationError
|
|
193
|
+
>(
|
|
194
|
+
M.json(200, BatchRemoveProjectEnvResponseBody$inboundSchema),
|
|
195
|
+
M.jsonErr(400, VercelBadRequestError$inboundSchema),
|
|
196
|
+
M.jsonErr(401, VercelForbiddenError$inboundSchema),
|
|
197
|
+
M.jsonErr(404, VercelNotFoundError$inboundSchema),
|
|
198
|
+
M.fail([403, 409, "4XX"]),
|
|
199
|
+
M.fail("5XX"),
|
|
200
|
+
)(response, req, { extraFields: responseFields });
|
|
201
|
+
if (!result.ok) {
|
|
202
|
+
return [result, { status: "complete", request: req, response }];
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
return [result, { status: "complete", request: req, response }];
|
|
206
|
+
}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { VercelCore } from "../core.js";
|
|
6
|
+
import { encodeFormQuery, encodeJSON, encodeSimple } 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 { ResponseValidationError } from "../models/responsevalidationerror.js";
|
|
21
|
+
import { SDKValidationError } from "../models/sdkvalidationerror.js";
|
|
22
|
+
import {
|
|
23
|
+
UploadProjectClientCertRequest,
|
|
24
|
+
UploadProjectClientCertRequest$outboundSchema,
|
|
25
|
+
UploadProjectClientCertResponseBody,
|
|
26
|
+
UploadProjectClientCertResponseBody$inboundSchema,
|
|
27
|
+
} from "../models/uploadprojectclientcertop.js";
|
|
28
|
+
import {
|
|
29
|
+
VercelBadRequestError,
|
|
30
|
+
VercelBadRequestError$inboundSchema,
|
|
31
|
+
} from "../models/vercelbadrequesterror.js";
|
|
32
|
+
import { VercelError } from "../models/vercelerror.js";
|
|
33
|
+
import {
|
|
34
|
+
VercelForbiddenError,
|
|
35
|
+
VercelForbiddenError$inboundSchema,
|
|
36
|
+
} from "../models/vercelforbiddenerror.js";
|
|
37
|
+
import { APICall, APIPromise } from "../types/async.js";
|
|
38
|
+
import { Result } from "../types/fp.js";
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Upload client certificate for egress mTLS
|
|
42
|
+
*
|
|
43
|
+
* @remarks
|
|
44
|
+
* Upload or update a client certificate for mTLS authentication to external origins. The certificate is uploaded to S3 in plaintext, while the private key is encrypted. A hash reference is stored in the project document. The certificate will be available in the deployment runtime for establishing mTLS connections.
|
|
45
|
+
*/
|
|
46
|
+
export function projectsUploadProjectClientCert(
|
|
47
|
+
client: VercelCore,
|
|
48
|
+
request: UploadProjectClientCertRequest,
|
|
49
|
+
options?: RequestOptions,
|
|
50
|
+
): APIPromise<
|
|
51
|
+
Result<
|
|
52
|
+
UploadProjectClientCertResponseBody,
|
|
53
|
+
| VercelBadRequestError
|
|
54
|
+
| VercelForbiddenError
|
|
55
|
+
| VercelError
|
|
56
|
+
| ResponseValidationError
|
|
57
|
+
| ConnectionError
|
|
58
|
+
| RequestAbortedError
|
|
59
|
+
| RequestTimeoutError
|
|
60
|
+
| InvalidRequestError
|
|
61
|
+
| UnexpectedClientError
|
|
62
|
+
| SDKValidationError
|
|
63
|
+
>
|
|
64
|
+
> {
|
|
65
|
+
return new APIPromise($do(
|
|
66
|
+
client,
|
|
67
|
+
request,
|
|
68
|
+
options,
|
|
69
|
+
));
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
async function $do(
|
|
73
|
+
client: VercelCore,
|
|
74
|
+
request: UploadProjectClientCertRequest,
|
|
75
|
+
options?: RequestOptions,
|
|
76
|
+
): Promise<
|
|
77
|
+
[
|
|
78
|
+
Result<
|
|
79
|
+
UploadProjectClientCertResponseBody,
|
|
80
|
+
| VercelBadRequestError
|
|
81
|
+
| VercelForbiddenError
|
|
82
|
+
| VercelError
|
|
83
|
+
| ResponseValidationError
|
|
84
|
+
| ConnectionError
|
|
85
|
+
| RequestAbortedError
|
|
86
|
+
| RequestTimeoutError
|
|
87
|
+
| InvalidRequestError
|
|
88
|
+
| UnexpectedClientError
|
|
89
|
+
| SDKValidationError
|
|
90
|
+
>,
|
|
91
|
+
APICall,
|
|
92
|
+
]
|
|
93
|
+
> {
|
|
94
|
+
const parsed = safeParse(
|
|
95
|
+
request,
|
|
96
|
+
(value) => UploadProjectClientCertRequest$outboundSchema.parse(value),
|
|
97
|
+
"Input validation failed",
|
|
98
|
+
);
|
|
99
|
+
if (!parsed.ok) {
|
|
100
|
+
return [parsed, { status: "invalid" }];
|
|
101
|
+
}
|
|
102
|
+
const payload = parsed.value;
|
|
103
|
+
const body = encodeJSON("body", payload.RequestBody, { explode: true });
|
|
104
|
+
|
|
105
|
+
const pathParams = {
|
|
106
|
+
idOrName: encodeSimple("idOrName", payload.idOrName, {
|
|
107
|
+
explode: false,
|
|
108
|
+
charEncoding: "percent",
|
|
109
|
+
}),
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
const path = pathToFunc("/v1/projects/{idOrName}/client-cert")(pathParams);
|
|
113
|
+
|
|
114
|
+
const query = encodeFormQuery({
|
|
115
|
+
"slug": payload.slug,
|
|
116
|
+
"teamId": payload.teamId,
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
const headers = new Headers(compactMap({
|
|
120
|
+
"Content-Type": "application/json",
|
|
121
|
+
Accept: "application/json",
|
|
122
|
+
}));
|
|
123
|
+
|
|
124
|
+
const secConfig = await extractSecurity(client._options.bearerToken);
|
|
125
|
+
const securityInput = secConfig == null ? {} : { bearerToken: secConfig };
|
|
126
|
+
const requestSecurity = resolveGlobalSecurity(securityInput);
|
|
127
|
+
|
|
128
|
+
const context = {
|
|
129
|
+
options: client._options,
|
|
130
|
+
baseURL: options?.serverURL ?? client._baseURL ?? "",
|
|
131
|
+
operationID: "uploadProjectClientCert",
|
|
132
|
+
oAuth2Scopes: [],
|
|
133
|
+
|
|
134
|
+
resolvedSecurity: requestSecurity,
|
|
135
|
+
|
|
136
|
+
securitySource: client._options.bearerToken,
|
|
137
|
+
retryConfig: options?.retries
|
|
138
|
+
|| client._options.retryConfig
|
|
139
|
+
|| { strategy: "none" },
|
|
140
|
+
retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
|
|
141
|
+
};
|
|
142
|
+
|
|
143
|
+
const requestRes = client._createRequest(context, {
|
|
144
|
+
security: requestSecurity,
|
|
145
|
+
method: "POST",
|
|
146
|
+
baseURL: options?.serverURL,
|
|
147
|
+
path: path,
|
|
148
|
+
headers: headers,
|
|
149
|
+
query: query,
|
|
150
|
+
body: body,
|
|
151
|
+
userAgent: client._options.userAgent,
|
|
152
|
+
timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
|
|
153
|
+
}, options);
|
|
154
|
+
if (!requestRes.ok) {
|
|
155
|
+
return [requestRes, { status: "invalid" }];
|
|
156
|
+
}
|
|
157
|
+
const req = requestRes.value;
|
|
158
|
+
|
|
159
|
+
const doResult = await client._do(req, {
|
|
160
|
+
context,
|
|
161
|
+
errorCodes: ["400", "401", "402", "403", "409", "4XX", "500", "5XX"],
|
|
162
|
+
retryConfig: context.retryConfig,
|
|
163
|
+
retryCodes: context.retryCodes,
|
|
164
|
+
});
|
|
165
|
+
if (!doResult.ok) {
|
|
166
|
+
return [doResult, { status: "request-error", request: req }];
|
|
167
|
+
}
|
|
168
|
+
const response = doResult.value;
|
|
169
|
+
|
|
170
|
+
const responseFields = {
|
|
171
|
+
HttpMeta: { Response: response, Request: req },
|
|
172
|
+
};
|
|
173
|
+
|
|
174
|
+
const [result] = await M.match<
|
|
175
|
+
UploadProjectClientCertResponseBody,
|
|
176
|
+
| VercelBadRequestError
|
|
177
|
+
| VercelForbiddenError
|
|
178
|
+
| VercelError
|
|
179
|
+
| ResponseValidationError
|
|
180
|
+
| ConnectionError
|
|
181
|
+
| RequestAbortedError
|
|
182
|
+
| RequestTimeoutError
|
|
183
|
+
| InvalidRequestError
|
|
184
|
+
| UnexpectedClientError
|
|
185
|
+
| SDKValidationError
|
|
186
|
+
>(
|
|
187
|
+
M.json(200, UploadProjectClientCertResponseBody$inboundSchema),
|
|
188
|
+
M.jsonErr(400, VercelBadRequestError$inboundSchema),
|
|
189
|
+
M.jsonErr(401, VercelForbiddenError$inboundSchema),
|
|
190
|
+
M.fail([402, 403, 409, "4XX"]),
|
|
191
|
+
M.fail([500, "5XX"]),
|
|
192
|
+
)(response, req, { extraFields: responseFields });
|
|
193
|
+
if (!result.ok) {
|
|
194
|
+
return [result, { status: "complete", request: req, response }];
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
return [result, { status: "complete", request: req, response }];
|
|
198
|
+
}
|
package/src/lib/config.ts
CHANGED
|
@@ -61,7 +61,7 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
|
|
|
61
61
|
export const SDK_METADATA = {
|
|
62
62
|
language: "typescript",
|
|
63
63
|
openapiDocVersion: "0.0.1",
|
|
64
|
-
sdkVersion: "1.12.
|
|
65
|
-
genVersion: "2.721.
|
|
66
|
-
userAgent: "speakeasy-sdk/typescript 1.12.
|
|
64
|
+
sdkVersion: "1.12.2",
|
|
65
|
+
genVersion: "2.721.3",
|
|
66
|
+
userAgent: "speakeasy-sdk/typescript 1.12.2 2.721.3 0.0.1 @vercel/sdk",
|
|
67
67
|
} as const;
|
package/src/mcp-server/server.ts
CHANGED
|
@@ -133,6 +133,7 @@ import { tool$projectMembersGetProjectMembers } from "./tools/projectMembersGetP
|
|
|
133
133
|
import { tool$projectMembersRemoveProjectMember } from "./tools/projectMembersRemoveProjectMember.js";
|
|
134
134
|
import { tool$projectsAcceptProjectTransferRequest } from "./tools/projectsAcceptProjectTransferRequest.js";
|
|
135
135
|
import { tool$projectsAddProjectDomain } from "./tools/projectsAddProjectDomain.js";
|
|
136
|
+
import { tool$projectsBatchRemoveProjectEnv } from "./tools/projectsBatchRemoveProjectEnv.js";
|
|
136
137
|
import { tool$projectsCreateProject } from "./tools/projectsCreateProject.js";
|
|
137
138
|
import { tool$projectsCreateProjectEnv } from "./tools/projectsCreateProjectEnv.js";
|
|
138
139
|
import { tool$projectsCreateProjectTransferRequest } from "./tools/projectsCreateProjectTransferRequest.js";
|
|
@@ -154,6 +155,7 @@ import { tool$projectsUpdateProject } from "./tools/projectsUpdateProject.js";
|
|
|
154
155
|
import { tool$projectsUpdateProjectDataCache } from "./tools/projectsUpdateProjectDataCache.js";
|
|
155
156
|
import { tool$projectsUpdateProjectDomain } from "./tools/projectsUpdateProjectDomain.js";
|
|
156
157
|
import { tool$projectsUpdateProjectProtectionBypass } from "./tools/projectsUpdateProjectProtectionBypass.js";
|
|
158
|
+
import { tool$projectsUploadProjectClientCert } from "./tools/projectsUploadProjectClientCert.js";
|
|
157
159
|
import { tool$projectsVerifyProjectDomain } from "./tools/projectsVerifyProjectDomain.js";
|
|
158
160
|
import { tool$rollingReleaseApproveRollingReleaseStage } from "./tools/rollingReleaseApproveRollingReleaseStage.js";
|
|
159
161
|
import { tool$rollingReleaseCompleteRollingRelease } from "./tools/rollingReleaseCompleteRollingRelease.js";
|
|
@@ -201,7 +203,7 @@ export function createMCPServer(deps: {
|
|
|
201
203
|
}) {
|
|
202
204
|
const server = new McpServer({
|
|
203
205
|
name: "Vercel",
|
|
204
|
-
version: "1.12.
|
|
206
|
+
version: "1.12.2",
|
|
205
207
|
});
|
|
206
208
|
|
|
207
209
|
const client = new VercelCore({
|
|
@@ -270,6 +272,8 @@ export function createMCPServer(deps: {
|
|
|
270
272
|
tool(tool$projectsGetProjectEnv);
|
|
271
273
|
tool(tool$projectsRemoveProjectEnv);
|
|
272
274
|
tool(tool$projectsEditProjectEnv);
|
|
275
|
+
tool(tool$projectsBatchRemoveProjectEnv);
|
|
276
|
+
tool(tool$projectsUploadProjectClientCert);
|
|
273
277
|
tool(tool$projectsCreateProjectTransferRequest);
|
|
274
278
|
tool(tool$projectsAcceptProjectTransferRequest);
|
|
275
279
|
tool(tool$projectsUpdateProjectProtectionBypass);
|
|
@@ -14,7 +14,7 @@ export const tool$edgeCacheDangerouslyDeleteByTags: ToolDefinition<
|
|
|
14
14
|
typeof args
|
|
15
15
|
> = {
|
|
16
16
|
name: "edge-cache-dangerously-delete-by-tags",
|
|
17
|
-
description: `Dangerously delete
|
|
17
|
+
description: `Dangerously delete by tag
|
|
18
18
|
|
|
19
19
|
Marks a cache tag as deleted, causing cache entries associated with that tag to be revalidated in the foreground on the next request. Use this method with caution because one tag can be associated with many paths and deleting the cache can cause many concurrent requests to the origin leading to cache stampede problem. A good use case for deleting the cache is when the origin has also been deleted, for example it returns a 404 or 410 status code.`,
|
|
20
20
|
args,
|
|
@@ -12,7 +12,7 @@ const args = {
|
|
|
12
12
|
|
|
13
13
|
export const tool$edgeCacheInvalidateByTags: ToolDefinition<typeof args> = {
|
|
14
14
|
name: "edge-cache-invalidate-by-tags",
|
|
15
|
-
description: `Invalidate
|
|
15
|
+
description: `Invalidate by tag
|
|
16
16
|
|
|
17
17
|
Marks a cache tag as stale, causing cache entries associated with that tag to be revalidated in the background on the next request.`,
|
|
18
18
|
args,
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { projectsBatchRemoveProjectEnv } from "../../funcs/projectsBatchRemoveProjectEnv.js";
|
|
6
|
+
import { BatchRemoveProjectEnvRequest$inboundSchema } from "../../models/batchremoveprojectenvop.js";
|
|
7
|
+
import { formatResult, ToolDefinition } from "../tools.js";
|
|
8
|
+
|
|
9
|
+
const args = {
|
|
10
|
+
request: BatchRemoveProjectEnvRequest$inboundSchema,
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export const tool$projectsBatchRemoveProjectEnv: ToolDefinition<typeof args> = {
|
|
14
|
+
name: "projects-batch-remove-project-env",
|
|
15
|
+
description: `Batch remove environment variables
|
|
16
|
+
|
|
17
|
+
Delete multiple environment variables for a given project in a single batch operation.`,
|
|
18
|
+
args,
|
|
19
|
+
tool: async (client, args, ctx) => {
|
|
20
|
+
const [result, apiCall] = await projectsBatchRemoveProjectEnv(
|
|
21
|
+
client,
|
|
22
|
+
args.request,
|
|
23
|
+
{ fetchOptions: { signal: ctx.signal } },
|
|
24
|
+
).$inspect();
|
|
25
|
+
|
|
26
|
+
if (!result.ok) {
|
|
27
|
+
return {
|
|
28
|
+
content: [{ type: "text", text: result.error.message }],
|
|
29
|
+
isError: true,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const value = result.value;
|
|
34
|
+
|
|
35
|
+
return formatResult(value, apiCall);
|
|
36
|
+
},
|
|
37
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { projectsUploadProjectClientCert } from "../../funcs/projectsUploadProjectClientCert.js";
|
|
6
|
+
import { UploadProjectClientCertRequest$inboundSchema } from "../../models/uploadprojectclientcertop.js";
|
|
7
|
+
import { formatResult, ToolDefinition } from "../tools.js";
|
|
8
|
+
|
|
9
|
+
const args = {
|
|
10
|
+
request: UploadProjectClientCertRequest$inboundSchema,
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export const tool$projectsUploadProjectClientCert: ToolDefinition<typeof args> =
|
|
14
|
+
{
|
|
15
|
+
name: "projects-upload-project-client-cert",
|
|
16
|
+
description: `Upload client certificate for egress mTLS
|
|
17
|
+
|
|
18
|
+
Upload or update a client certificate for mTLS authentication to external origins. The certificate is uploaded to S3 in plaintext, while the private key is encrypted. A hash reference is stored in the project document. The certificate will be available in the deployment runtime for establishing mTLS connections.`,
|
|
19
|
+
args,
|
|
20
|
+
tool: async (client, args, ctx) => {
|
|
21
|
+
const [result, apiCall] = await projectsUploadProjectClientCert(
|
|
22
|
+
client,
|
|
23
|
+
args.request,
|
|
24
|
+
{ fetchOptions: { signal: ctx.signal } },
|
|
25
|
+
).$inspect();
|
|
26
|
+
|
|
27
|
+
if (!result.ok) {
|
|
28
|
+
return {
|
|
29
|
+
content: [{ type: "text", text: result.error.message }],
|
|
30
|
+
isError: true,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const value = result.value;
|
|
35
|
+
|
|
36
|
+
return formatResult(value, apiCall);
|
|
37
|
+
},
|
|
38
|
+
};
|