@vercel/sandbox 1.1.4 → 1.1.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.
Files changed (70) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/.turbo/turbo-test.log +14 -8
  3. package/.turbo/turbo-typecheck.log +1 -1
  4. package/CHANGELOG.md +6 -0
  5. package/__mocks__/picocolors.ts +13 -0
  6. package/dist/api-client/with-retry.js +1 -1
  7. package/dist/api-client/with-retry.js.map +1 -1
  8. package/dist/auth/api.d.ts +6 -0
  9. package/dist/auth/api.js +28 -0
  10. package/dist/auth/api.js.map +1 -0
  11. package/dist/auth/error.d.ts +11 -0
  12. package/dist/auth/error.js +12 -0
  13. package/dist/auth/error.js.map +1 -0
  14. package/dist/auth/file.d.ts +22 -0
  15. package/dist/auth/file.js +66 -0
  16. package/dist/auth/file.js.map +1 -0
  17. package/dist/auth/index.d.ts +6 -0
  18. package/dist/auth/index.js +27 -0
  19. package/dist/auth/index.js.map +1 -0
  20. package/dist/auth/linked-project.d.ts +10 -0
  21. package/dist/auth/linked-project.js +69 -0
  22. package/dist/auth/linked-project.js.map +1 -0
  23. package/dist/auth/oauth.d.ts +131 -0
  24. package/dist/auth/oauth.js +269 -0
  25. package/dist/auth/oauth.js.map +1 -0
  26. package/dist/auth/poll-for-token.d.ts +20 -0
  27. package/dist/auth/poll-for-token.js +66 -0
  28. package/dist/auth/poll-for-token.js.map +1 -0
  29. package/dist/auth/project.d.ts +40 -0
  30. package/dist/auth/project.js +80 -0
  31. package/dist/auth/project.js.map +1 -0
  32. package/dist/auth/zod.d.ts +5 -0
  33. package/dist/auth/zod.js +20 -0
  34. package/dist/auth/zod.js.map +1 -0
  35. package/dist/sandbox.js +1 -1
  36. package/dist/sandbox.js.map +1 -1
  37. package/dist/utils/dev-credentials.d.ts +37 -0
  38. package/dist/utils/dev-credentials.js +191 -0
  39. package/dist/utils/dev-credentials.js.map +1 -0
  40. package/dist/utils/get-credentials.d.ts +16 -0
  41. package/dist/utils/get-credentials.js +66 -7
  42. package/dist/utils/get-credentials.js.map +1 -1
  43. package/dist/utils/log.d.ts +2 -0
  44. package/dist/utils/log.js +24 -0
  45. package/dist/utils/log.js.map +1 -0
  46. package/dist/version.d.ts +1 -1
  47. package/dist/version.js +1 -1
  48. package/package.json +4 -1
  49. package/src/api-client/api-client.test.ts +128 -0
  50. package/src/api-client/with-retry.ts +1 -1
  51. package/src/auth/api.ts +31 -0
  52. package/src/auth/error.ts +8 -0
  53. package/src/auth/file.ts +69 -0
  54. package/src/auth/index.ts +9 -0
  55. package/src/auth/infer-scope.test.ts +178 -0
  56. package/src/auth/linked-project.test.ts +86 -0
  57. package/src/auth/linked-project.ts +40 -0
  58. package/src/auth/oauth.ts +333 -0
  59. package/src/auth/poll-for-token.ts +89 -0
  60. package/src/auth/project.ts +92 -0
  61. package/src/auth/zod.ts +16 -0
  62. package/src/sandbox.ts +1 -1
  63. package/src/utils/dev-credentials.test.ts +217 -0
  64. package/src/utils/dev-credentials.ts +189 -0
  65. package/src/utils/get-credentials.test.ts +20 -0
  66. package/src/utils/get-credentials.ts +72 -8
  67. package/src/utils/log.ts +20 -0
  68. package/src/version.ts +1 -1
  69. package/test-utils/mock-response.ts +12 -0
  70. package/vitest.config.ts +1 -0
@@ -0,0 +1,269 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.OAuth = OAuth;
7
+ exports.isOAuthError = isOAuthError;
8
+ const os_1 = __importDefault(require("os"));
9
+ const zod_1 = require("zod");
10
+ const version_1 = require("../version");
11
+ const USER_AGENT = `${os_1.default.hostname()} @ vercel/sandbox/${version_1.VERSION} node-${process.version} ${os_1.default.platform()} (${os_1.default.arch()})`;
12
+ const ISSUER = new URL("https://vercel.com");
13
+ const CLIENT_ID = "cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp";
14
+ const AuthorizationServerMetadata = zod_1.z.object({
15
+ issuer: zod_1.z.string().url(),
16
+ device_authorization_endpoint: zod_1.z.string().url(),
17
+ token_endpoint: zod_1.z.string().url(),
18
+ revocation_endpoint: zod_1.z.string().url(),
19
+ jwks_uri: zod_1.z.string().url(),
20
+ introspection_endpoint: zod_1.z.string().url(),
21
+ });
22
+ let _as;
23
+ const DeviceAuthorization = zod_1.z.object({
24
+ device_code: zod_1.z.string(),
25
+ user_code: zod_1.z.string(),
26
+ verification_uri: zod_1.z.string().url(),
27
+ verification_uri_complete: zod_1.z.string().url(),
28
+ expires_in: zod_1.z.number(),
29
+ interval: zod_1.z.number(),
30
+ });
31
+ const IntrospectionResponse = zod_1.z
32
+ .object({
33
+ active: zod_1.z.literal(true),
34
+ client_id: zod_1.z.string(),
35
+ session_id: zod_1.z.string(),
36
+ })
37
+ .or(zod_1.z.object({ active: zod_1.z.literal(false) }));
38
+ /**
39
+ * Returns the Authorization Server Metadata
40
+ *
41
+ * @see https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfigurationRequest
42
+ * @see https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfigurationResponse
43
+ */
44
+ async function authorizationServerMetadata() {
45
+ if (_as)
46
+ return _as;
47
+ const response = await fetch(new URL(".well-known/openid-configuration", ISSUER), {
48
+ headers: { "Content-Type": "application/json", "user-agent": USER_AGENT },
49
+ });
50
+ _as = AuthorizationServerMetadata.parse(await response.json());
51
+ return _as;
52
+ }
53
+ async function OAuth() {
54
+ const as = await authorizationServerMetadata();
55
+ return {
56
+ /**
57
+ * Perform the Device Authorization Request
58
+ *
59
+ * @see https://datatracker.ietf.org/doc/html/rfc8628#section-3.1
60
+ * @see https://datatracker.ietf.org/doc/html/rfc8628#section-3.2
61
+ */
62
+ async deviceAuthorizationRequest() {
63
+ const response = await fetch(as.device_authorization_endpoint, {
64
+ method: "POST",
65
+ headers: {
66
+ "Content-Type": "application/x-www-form-urlencoded",
67
+ "user-agent": USER_AGENT,
68
+ },
69
+ body: new URLSearchParams({
70
+ client_id: CLIENT_ID,
71
+ scope: "openid offline_access",
72
+ }),
73
+ });
74
+ const json = await response.json();
75
+ const parsed = DeviceAuthorization.safeParse(json);
76
+ if (!parsed.success) {
77
+ throw new OAuthError(`Failed to parse device authorization response: ${parsed.error.message}`, json);
78
+ }
79
+ return {
80
+ device_code: parsed.data.device_code,
81
+ user_code: parsed.data.user_code,
82
+ verification_uri: parsed.data.verification_uri,
83
+ verification_uri_complete: parsed.data.verification_uri_complete,
84
+ expiresAt: Date.now() + parsed.data.expires_in * 1000,
85
+ interval: parsed.data.interval,
86
+ };
87
+ },
88
+ /**
89
+ * Perform the Device Access Token Request
90
+ *
91
+ * @see https://datatracker.ietf.org/doc/html/rfc8628#section-3.4
92
+ */
93
+ async deviceAccessTokenRequest(device_code) {
94
+ try {
95
+ return [
96
+ null,
97
+ await fetch(as.token_endpoint, {
98
+ method: "POST",
99
+ headers: {
100
+ "Content-Type": "application/x-www-form-urlencoded",
101
+ "user-agent": USER_AGENT,
102
+ },
103
+ body: new URLSearchParams({
104
+ client_id: CLIENT_ID,
105
+ grant_type: "urn:ietf:params:oauth:grant-type:device_code",
106
+ device_code,
107
+ }),
108
+ signal: AbortSignal.timeout(10 * 1000),
109
+ }),
110
+ ];
111
+ }
112
+ catch (error) {
113
+ if (error instanceof Error)
114
+ return [error];
115
+ return [
116
+ new Error("An unknown error occurred. See the logs for details.", {
117
+ cause: error,
118
+ }),
119
+ ];
120
+ }
121
+ },
122
+ /**
123
+ * Process the Token request Response
124
+ *
125
+ * @see https://datatracker.ietf.org/doc/html/rfc8628#section-3.5
126
+ */
127
+ async processTokenResponse(response) {
128
+ const json = await response.json();
129
+ const processed = TokenSet.safeParse(json);
130
+ if (!processed.success) {
131
+ return [
132
+ new OAuthError(`Failed to parse token response: ${processed.error.message}`, json),
133
+ ];
134
+ }
135
+ return [null, processed.data];
136
+ },
137
+ /**
138
+ * Perform a Token Revocation Request.
139
+ *
140
+ * @see https://datatracker.ietf.org/doc/html/rfc7009#section-2.1
141
+ * @see https://datatracker.ietf.org/doc/html/rfc7009#section-2.2
142
+ */
143
+ async revokeToken(token) {
144
+ const response = await fetch(as.revocation_endpoint, {
145
+ method: "POST",
146
+ headers: {
147
+ "Content-Type": "application/x-www-form-urlencoded",
148
+ "user-agent": USER_AGENT,
149
+ },
150
+ body: new URLSearchParams({ token, client_id: CLIENT_ID }),
151
+ });
152
+ if (response.ok)
153
+ return;
154
+ const json = await response.json();
155
+ return new OAuthError("Revocation request failed", json);
156
+ },
157
+ /**
158
+ * Perform Refresh Token Request.
159
+ *
160
+ * @see https://datatracker.ietf.org/doc/html/rfc6749#section-6
161
+ */
162
+ async refreshToken(token) {
163
+ const response = await fetch(as.token_endpoint, {
164
+ method: "POST",
165
+ headers: {
166
+ "Content-Type": "application/x-www-form-urlencoded",
167
+ "user-agent": USER_AGENT,
168
+ },
169
+ body: new URLSearchParams({
170
+ client_id: CLIENT_ID,
171
+ grant_type: "refresh_token",
172
+ refresh_token: token,
173
+ }),
174
+ });
175
+ const [tokensError, tokenSet] = await this.processTokenResponse(response);
176
+ if (tokensError)
177
+ throw tokensError;
178
+ return tokenSet;
179
+ },
180
+ /**
181
+ * Perform Token Introspection Request.
182
+ *
183
+ * @see https://datatracker.ietf.org/doc/html/rfc7662#section-2.1
184
+ */
185
+ async introspectToken(token) {
186
+ const response = await fetch(as.introspection_endpoint, {
187
+ method: "POST",
188
+ headers: {
189
+ "Content-Type": "application/x-www-form-urlencoded",
190
+ "user-agent": USER_AGENT,
191
+ },
192
+ body: new URLSearchParams({ token }),
193
+ });
194
+ const json = await response.json();
195
+ const processed = IntrospectionResponse.safeParse(json);
196
+ if (!processed.success) {
197
+ throw new OAuthError(`Failed to parse introspection response: ${processed.error.message}`, json);
198
+ }
199
+ return processed.data;
200
+ },
201
+ };
202
+ }
203
+ const TokenSet = zod_1.z.object({
204
+ /** The access token issued by the authorization server. */
205
+ access_token: zod_1.z.string(),
206
+ /** The type of the token issued */
207
+ token_type: zod_1.z.literal("Bearer"),
208
+ /** The lifetime in seconds of the access token. */
209
+ expires_in: zod_1.z.number(),
210
+ /** The refresh token, which can be used to obtain new access tokens. */
211
+ refresh_token: zod_1.z.string().optional(),
212
+ /** The scope of the access token. */
213
+ scope: zod_1.z.string().optional(),
214
+ });
215
+ const OAuthErrorResponse = zod_1.z.object({
216
+ error: zod_1.z.enum([
217
+ "invalid_request",
218
+ "invalid_client",
219
+ "invalid_grant",
220
+ "unauthorized_client",
221
+ "unsupported_grant_type",
222
+ "invalid_scope",
223
+ "server_error",
224
+ // Device Authorization Response Errors
225
+ "authorization_pending",
226
+ "slow_down",
227
+ "access_denied",
228
+ "expired_token",
229
+ // Revocation Response Errors
230
+ "unsupported_token_type",
231
+ ]),
232
+ error_description: zod_1.z.string().optional(),
233
+ error_uri: zod_1.z.string().optional(),
234
+ });
235
+ function processOAuthErrorResponse(json) {
236
+ try {
237
+ return OAuthErrorResponse.parse(json);
238
+ }
239
+ catch (error) {
240
+ if (error instanceof zod_1.z.ZodError) {
241
+ return new TypeError(`Invalid OAuth error response: ${error.message}`);
242
+ }
243
+ return new TypeError("Failed to parse OAuth error response");
244
+ }
245
+ }
246
+ class OAuthError extends Error {
247
+ constructor(message, response) {
248
+ super(message);
249
+ this.name = "OAuthError";
250
+ const error = processOAuthErrorResponse(response);
251
+ if (error instanceof TypeError) {
252
+ const message = `Unexpected server response: ${JSON.stringify(response)}`;
253
+ this.cause = new Error(message, { cause: error });
254
+ this.code = "server_error";
255
+ return;
256
+ }
257
+ let cause = error.error;
258
+ if (error.error_description)
259
+ cause += `: ${error.error_description}`;
260
+ if (error.error_uri)
261
+ cause += ` (${error.error_uri})`;
262
+ this.cause = new Error(cause);
263
+ this.code = error.error;
264
+ }
265
+ }
266
+ function isOAuthError(error) {
267
+ return error instanceof OAuthError;
268
+ }
269
+ //# sourceMappingURL=oauth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../src/auth/oauth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { DeviceAuthorizationRequest, OAuth } from "./oauth";
2
+ export type PollTokenItem = {
3
+ _tag: "Timeout";
4
+ newInterval: number;
5
+ } | {
6
+ _tag: "SlowDown";
7
+ newInterval: number;
8
+ } | {
9
+ _tag: "Error";
10
+ error: Error;
11
+ } | {
12
+ _tag: "Response";
13
+ response: {
14
+ text(): Promise<string>;
15
+ };
16
+ };
17
+ export declare function pollForToken({ request, oauth, }: {
18
+ request: DeviceAuthorizationRequest;
19
+ oauth: OAuth;
20
+ }): AsyncGenerator<PollTokenItem, void, void>;
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pollForToken = pollForToken;
4
+ const promises_1 = require("node:timers/promises");
5
+ const file_1 = require("./file");
6
+ const oauth_1 = require("./oauth");
7
+ async function* pollForToken({ request, oauth, }) {
8
+ const controller = new AbortController();
9
+ try {
10
+ let intervalMs = request.interval * 1000;
11
+ while (Date.now() < request.expiresAt) {
12
+ const [tokenResponseError, tokenResponse] = await oauth.deviceAccessTokenRequest(request.device_code);
13
+ if (tokenResponseError) {
14
+ // 2x backoff on connection timeouts per spec https://datatracker.ietf.org/doc/html/rfc8628#section-3.5
15
+ if (tokenResponseError.message.includes("timeout")) {
16
+ intervalMs *= 2;
17
+ yield { _tag: "Timeout", newInterval: intervalMs };
18
+ await (0, promises_1.setTimeout)(intervalMs, { signal: controller.signal });
19
+ continue;
20
+ }
21
+ yield { _tag: "Error", error: tokenResponseError };
22
+ return;
23
+ }
24
+ yield {
25
+ _tag: "Response",
26
+ response: tokenResponse.clone(),
27
+ };
28
+ const [tokensError, tokens] = await oauth.processTokenResponse(tokenResponse);
29
+ if ((0, oauth_1.isOAuthError)(tokensError)) {
30
+ const { code } = tokensError;
31
+ switch (code) {
32
+ case "authorization_pending":
33
+ await (0, promises_1.setTimeout)(intervalMs, { signal: controller.signal });
34
+ continue;
35
+ case "slow_down":
36
+ intervalMs += 5 * 1000;
37
+ yield { _tag: "SlowDown", newInterval: intervalMs };
38
+ await (0, promises_1.setTimeout)(intervalMs, { signal: controller.signal });
39
+ continue;
40
+ default:
41
+ yield { _tag: "Error", error: tokensError.cause };
42
+ return;
43
+ }
44
+ }
45
+ if (tokensError) {
46
+ yield { _tag: "Error", error: tokensError };
47
+ return;
48
+ }
49
+ (0, file_1.updateAuthConfig)({
50
+ token: tokens.access_token,
51
+ expiresAt: new Date(Date.now() + tokens.expires_in * 1000),
52
+ refreshToken: tokens.refresh_token,
53
+ });
54
+ return;
55
+ }
56
+ yield {
57
+ _tag: "Error",
58
+ error: new Error("Timed out waiting for authentication. Please try again."),
59
+ };
60
+ return;
61
+ }
62
+ finally {
63
+ controller.abort();
64
+ }
65
+ }
66
+ //# sourceMappingURL=poll-for-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poll-for-token.js","sourceRoot":"","sources":["../../src/auth/poll-for-token.ts"],"names":[],"mappings":";;AAaA,oCA2EC;AAxFD,mDAAkD;AAClD,iCAA0C;AAC1C,mCAA0E;AAWnE,KAAK,SAAS,CAAC,CAAC,YAAY,CAAC,EAClC,OAAO,EACP,KAAK,GAIN;IACC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,IAAI,CAAC;QACH,IAAI,UAAU,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QACzC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;YACtC,MAAM,CAAC,kBAAkB,EAAE,aAAa,CAAC,GACvC,MAAM,KAAK,CAAC,wBAAwB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAE5D,IAAI,kBAAkB,EAAE,CAAC;gBACvB,uGAAuG;gBACvG,IAAI,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBACnD,UAAU,IAAI,CAAC,CAAC;oBAChB,MAAM,EAAE,IAAI,EAAE,SAAkB,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;oBAC5D,MAAM,IAAA,qBAAU,EAAC,UAAU,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC5D,SAAS;gBACX,CAAC;gBACD,MAAM,EAAE,IAAI,EAAE,OAAgB,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;gBAC5D,OAAO;YACT,CAAC;YAED,MAAM;gBACJ,IAAI,EAAE,UAAmB;gBACzB,QAAQ,EAAE,aAAa,CAAC,KAAK,EAAiC;aAC/D,CAAC;YAEF,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,GACzB,MAAM,KAAK,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;YAElD,IAAI,IAAA,oBAAY,EAAC,WAAW,CAAC,EAAE,CAAC;gBAC9B,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC;gBAC7B,QAAQ,IAAI,EAAE,CAAC;oBACb,KAAK,uBAAuB;wBAC1B,MAAM,IAAA,qBAAU,EAAC,UAAU,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;wBAC5D,SAAS;oBACX,KAAK,WAAW;wBACd,UAAU,IAAI,CAAC,GAAG,IAAI,CAAC;wBACvB,MAAM,EAAE,IAAI,EAAE,UAAmB,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;wBAC7D,MAAM,IAAA,qBAAU,EAAC,UAAU,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;wBAC5D,SAAS;oBACX;wBACE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC;wBAClD,OAAO;gBACX,CAAC;YACH,CAAC;YAED,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;gBAC5C,OAAO;YACT,CAAC;YAED,IAAA,uBAAgB,EAAC;gBACf,KAAK,EAAE,MAAM,CAAC,YAAY;gBAC1B,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;gBAC1D,YAAY,EAAE,MAAM,CAAC,aAAa;aACnC,CAAC,CAAC;YAEH,OAAO;QACT,CAAC;QAED,MAAM;YACJ,IAAI,EAAE,OAAgB;YACtB,KAAK,EAAE,IAAI,KAAK,CACd,yDAAyD,CAC1D;SACF,CAAC;QACF,OAAO;IACT,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;AACH,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Resolves the team and project scope for sandbox operations.
3
+ *
4
+ * First checks for a locally linked project in `.vercel/project.json`.
5
+ * If found, uses the `projectId` and `orgId` from there.
6
+ *
7
+ * Otherwise, if `teamId` is not provided, selects the first available team for the account.
8
+ * Ensures a default project exists within the team, creating it if necessary.
9
+ *
10
+ * @param opts.token - Vercel API authentication token.
11
+ * @param opts.teamId - Optional team slug. If omitted, the first team is selected.
12
+ * @param opts.cwd - Optional directory to search for `.vercel/project.json`. Defaults to `process.cwd()`.
13
+ * @returns The resolved scope with `projectId`, `teamId`, and whether the project was `created`.
14
+ *
15
+ * @throws {NotOk} If the API returns an error other than 404 when checking the project.
16
+ * @throws {ZodError} If no teams exist for the account.
17
+ *
18
+ * @example
19
+ * ```ts
20
+ * const scope = await inferScope({ token: "vercel_..." });
21
+ * // => { projectId: "vercel-sandbox-default-project", teamId: "my-team", created: false }
22
+ * ```
23
+ */
24
+ export declare function inferScope(opts: {
25
+ token: string;
26
+ teamId?: string;
27
+ cwd?: string;
28
+ }): Promise<{
29
+ projectId: string;
30
+ teamId: string;
31
+ created: boolean;
32
+ }>;
33
+ /**
34
+ * Selects a team for the current token by querying the Teams API and
35
+ * returning the slug of the first team in the result set.
36
+ *
37
+ * @param token - Authentication token used to call the Vercel API.
38
+ * @returns A promise that resolves to the first team's slug.
39
+ */
40
+ export declare function selectTeam(token: string): Promise<string>;
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.inferScope = inferScope;
4
+ exports.selectTeam = selectTeam;
5
+ const zod_1 = require("zod");
6
+ const api_1 = require("./api");
7
+ const error_1 = require("./error");
8
+ const linked_project_1 = require("./linked-project");
9
+ const TeamsSchema = zod_1.z.object({
10
+ teams: zod_1.z
11
+ .array(zod_1.z.object({
12
+ slug: zod_1.z.string(),
13
+ }))
14
+ .min(1, `No teams found. Please create a team first.`),
15
+ });
16
+ const DEFAULT_PROJECT_NAME = "vercel-sandbox-default-project";
17
+ /**
18
+ * Resolves the team and project scope for sandbox operations.
19
+ *
20
+ * First checks for a locally linked project in `.vercel/project.json`.
21
+ * If found, uses the `projectId` and `orgId` from there.
22
+ *
23
+ * Otherwise, if `teamId` is not provided, selects the first available team for the account.
24
+ * Ensures a default project exists within the team, creating it if necessary.
25
+ *
26
+ * @param opts.token - Vercel API authentication token.
27
+ * @param opts.teamId - Optional team slug. If omitted, the first team is selected.
28
+ * @param opts.cwd - Optional directory to search for `.vercel/project.json`. Defaults to `process.cwd()`.
29
+ * @returns The resolved scope with `projectId`, `teamId`, and whether the project was `created`.
30
+ *
31
+ * @throws {NotOk} If the API returns an error other than 404 when checking the project.
32
+ * @throws {ZodError} If no teams exist for the account.
33
+ *
34
+ * @example
35
+ * ```ts
36
+ * const scope = await inferScope({ token: "vercel_..." });
37
+ * // => { projectId: "vercel-sandbox-default-project", teamId: "my-team", created: false }
38
+ * ```
39
+ */
40
+ async function inferScope(opts) {
41
+ const linkedProject = await (0, linked_project_1.readLinkedProject)(opts.cwd ?? process.cwd());
42
+ if (linkedProject) {
43
+ return { ...linkedProject, created: false };
44
+ }
45
+ const teamId = opts.teamId ?? (await selectTeam(opts.token));
46
+ let created = false;
47
+ try {
48
+ await (0, api_1.fetchApi)({
49
+ token: opts.token,
50
+ endpoint: `/v2/projects/${encodeURIComponent(DEFAULT_PROJECT_NAME)}?slug=${encodeURIComponent(teamId)}`,
51
+ });
52
+ }
53
+ catch (e) {
54
+ if (!(e instanceof error_1.NotOk) || e.response.statusCode !== 404) {
55
+ throw e;
56
+ }
57
+ await (0, api_1.fetchApi)({
58
+ token: opts.token,
59
+ endpoint: `/v11/projects?slug=${encodeURIComponent(teamId)}`,
60
+ method: "POST",
61
+ body: JSON.stringify({
62
+ name: DEFAULT_PROJECT_NAME,
63
+ }),
64
+ });
65
+ created = true;
66
+ }
67
+ return { projectId: DEFAULT_PROJECT_NAME, teamId, created };
68
+ }
69
+ /**
70
+ * Selects a team for the current token by querying the Teams API and
71
+ * returning the slug of the first team in the result set.
72
+ *
73
+ * @param token - Authentication token used to call the Vercel API.
74
+ * @returns A promise that resolves to the first team's slug.
75
+ */
76
+ async function selectTeam(token) {
77
+ const { teams: [team], } = await (0, api_1.fetchApi)({ token, endpoint: "/v2/teams?limit=1" }).then(TeamsSchema.parse);
78
+ return team.slug;
79
+ }
80
+ //# sourceMappingURL=project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/auth/project.ts"],"names":[],"mappings":";;AAwCA,gCAmCC;AASD,gCAOC;AA3FD,6BAAwB;AACxB,+BAAiC;AACjC,mCAAgC;AAChC,qDAAqD;AAErD,MAAM,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3B,KAAK,EAAE,OAAC;SACL,KAAK,CACJ,OAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;KACjB,CAAC,CACH;SACA,GAAG,CAAC,CAAC,EAAE,6CAA6C,CAAC;CACzD,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,gCAAgC,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACI,KAAK,UAAU,UAAU,CAAC,IAIhC;IACC,MAAM,aAAa,GAAG,MAAM,IAAA,kCAAiB,EAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACzE,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,EAAE,GAAG,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC9C,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7D,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,IAAA,cAAQ,EAAC;YACb,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,gBAAgB,kBAAkB,CAAC,oBAAoB,CAAC,SAAS,kBAAkB,CAAC,MAAM,CAAC,EAAE;SACxG,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,CAAC,CAAC,YAAY,aAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;YAC3D,MAAM,CAAC,CAAC;QACV,CAAC;QAED,MAAM,IAAA,cAAQ,EAAC;YACb,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,sBAAsB,kBAAkB,CAAC,MAAM,CAAC,EAAE;YAC5D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,IAAI,EAAE,oBAAoB;aAC3B,CAAC;SACH,CAAC,CAAC;QACH,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC9D,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,UAAU,CAAC,KAAa;IAC5C,MAAM,EACJ,KAAK,EAAE,CAAC,IAAI,CAAC,GACd,GAAG,MAAM,IAAA,cAAQ,EAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC,CAAC,IAAI,CAC/D,WAAW,CAAC,KAAK,CAClB,CAAC;IACF,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * A Zod codec that serializes and deserializes JSON strings.
4
+ */
5
+ export declare const json: z.ZodEffects<z.ZodString, unknown, string>;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.json = void 0;
4
+ const zod_1 = require("zod");
5
+ /**
6
+ * A Zod codec that serializes and deserializes JSON strings.
7
+ */
8
+ exports.json = zod_1.z.string().transform((jsonString, ctx) => {
9
+ try {
10
+ return JSON.parse(jsonString);
11
+ }
12
+ catch (err) {
13
+ ctx.addIssue({
14
+ code: zod_1.z.ZodIssueCode.custom,
15
+ message: `Invalid JSON: ${err.message}`,
16
+ });
17
+ return zod_1.z.NEVER;
18
+ }
19
+ });
20
+ //# sourceMappingURL=zod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod.js","sourceRoot":"","sources":["../../src/auth/zod.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB;;GAEG;AACU,QAAA,IAAI,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,UAAkB,EAAE,GAAG,EAAW,EAAE;IAC5E,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,OAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,iBAAiB,GAAG,CAAC,OAAO,EAAE;SACxC,CAAC,CAAC;QACH,OAAO,OAAC,CAAC,KAAK,CAAC;IACjB,CAAC;AACH,CAAC,CAAC,CAAC"}
package/dist/sandbox.js CHANGED
@@ -59,8 +59,8 @@ class Sandbox {
59
59
  fetch: params?.fetch,
60
60
  });
61
61
  return client.listSandboxes({
62
- ...params,
63
62
  ...credentials,
63
+ ...params,
64
64
  });
65
65
  }
66
66
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import type { Credentials } from "./get-credentials";
2
+ import ms from "ms";
3
+ declare function importAuth(): Promise<typeof import("../auth/index")>;
4
+ export declare function shouldPromptForCredentials(): boolean;
5
+ /**
6
+ * Returns cached credentials for the given team/project combination.
7
+ *
8
+ * @remarks
9
+ * The cache is keyed by `teamId` and `projectId`. A new credential generation
10
+ * is triggered only when these values change or when a previous attempt failed.
11
+ *
12
+ * **Important:** Successfully resolved credentials are cached indefinitely and
13
+ * will not be refreshed even if the token expires. Cache invalidation only occurs
14
+ * on rejection (error). This is intentional for development use cases where
15
+ * short-lived sessions don't require proactive token refresh.
16
+ */
17
+ export declare const cachedGenerateCredentials: (opts: {
18
+ projectId?: string;
19
+ teamId?: string;
20
+ }) => Promise<Credentials>;
21
+ /**
22
+ * Generates credentials by authenticating and inferring scope.
23
+ *
24
+ * @internal This is exported for testing purposes. Consider using
25
+ * {@link cachedGenerateCredentials} instead, which caches the result
26
+ * to avoid redundant authentication flows.
27
+ */
28
+ export declare function generateCredentials(opts: {
29
+ teamId?: string;
30
+ projectId?: string;
31
+ }): Promise<Credentials>;
32
+ export declare function signInAndGetToken(auth: Pick<Awaited<ReturnType<typeof importAuth>>, "OAuth" | "getAuth" | "pollForToken">, timeout: ms.StringValue): Promise<{
33
+ expiresAt?: Date | undefined;
34
+ token?: string | undefined;
35
+ refreshToken?: string | undefined;
36
+ } | null>;
37
+ export {};