@vercel/sandbox 1.1.4 → 1.1.6

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 (86) 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 +12 -0
  5. package/__mocks__/picocolors.ts +13 -0
  6. package/dist/api-client/api-client.d.ts +2 -2
  7. package/dist/api-client/api-client.js +3 -1
  8. package/dist/api-client/api-client.js.map +1 -1
  9. package/dist/api-client/api-error.d.ts +4 -1
  10. package/dist/api-client/api-error.js +3 -1
  11. package/dist/api-client/api-error.js.map +1 -1
  12. package/dist/api-client/base-client.js +13 -0
  13. package/dist/api-client/base-client.js.map +1 -1
  14. package/dist/api-client/validators.d.ts +10 -10
  15. package/dist/api-client/with-retry.js +1 -1
  16. package/dist/api-client/with-retry.js.map +1 -1
  17. package/dist/auth/api.d.ts +6 -0
  18. package/dist/auth/api.js +28 -0
  19. package/dist/auth/api.js.map +1 -0
  20. package/dist/auth/error.d.ts +11 -0
  21. package/dist/auth/error.js +12 -0
  22. package/dist/auth/error.js.map +1 -0
  23. package/dist/auth/file.d.ts +22 -0
  24. package/dist/auth/file.js +66 -0
  25. package/dist/auth/file.js.map +1 -0
  26. package/dist/auth/index.d.ts +6 -0
  27. package/dist/auth/index.js +27 -0
  28. package/dist/auth/index.js.map +1 -0
  29. package/dist/auth/linked-project.d.ts +10 -0
  30. package/dist/auth/linked-project.js +69 -0
  31. package/dist/auth/linked-project.js.map +1 -0
  32. package/dist/auth/oauth.d.ts +131 -0
  33. package/dist/auth/oauth.js +269 -0
  34. package/dist/auth/oauth.js.map +1 -0
  35. package/dist/auth/poll-for-token.d.ts +20 -0
  36. package/dist/auth/poll-for-token.js +66 -0
  37. package/dist/auth/poll-for-token.js.map +1 -0
  38. package/dist/auth/project.d.ts +40 -0
  39. package/dist/auth/project.js +80 -0
  40. package/dist/auth/project.js.map +1 -0
  41. package/dist/auth/zod.d.ts +5 -0
  42. package/dist/auth/zod.js +20 -0
  43. package/dist/auth/zod.js.map +1 -0
  44. package/dist/command.d.ts +7 -0
  45. package/dist/command.js +39 -7
  46. package/dist/command.js.map +1 -1
  47. package/dist/sandbox.js +1 -1
  48. package/dist/sandbox.js.map +1 -1
  49. package/dist/utils/dev-credentials.d.ts +37 -0
  50. package/dist/utils/dev-credentials.js +191 -0
  51. package/dist/utils/dev-credentials.js.map +1 -0
  52. package/dist/utils/get-credentials.d.ts +16 -0
  53. package/dist/utils/get-credentials.js +66 -7
  54. package/dist/utils/get-credentials.js.map +1 -1
  55. package/dist/utils/log.d.ts +2 -0
  56. package/dist/utils/log.js +24 -0
  57. package/dist/utils/log.js.map +1 -0
  58. package/dist/version.d.ts +1 -1
  59. package/dist/version.js +1 -1
  60. package/package.json +4 -1
  61. package/src/api-client/api-client.test.ts +176 -0
  62. package/src/api-client/api-client.ts +7 -1
  63. package/src/api-client/api-error.ts +6 -1
  64. package/src/api-client/base-client.ts +15 -0
  65. package/src/api-client/with-retry.ts +1 -1
  66. package/src/auth/api.ts +31 -0
  67. package/src/auth/error.ts +8 -0
  68. package/src/auth/file.ts +69 -0
  69. package/src/auth/index.ts +9 -0
  70. package/src/auth/infer-scope.test.ts +178 -0
  71. package/src/auth/linked-project.test.ts +86 -0
  72. package/src/auth/linked-project.ts +40 -0
  73. package/src/auth/oauth.ts +333 -0
  74. package/src/auth/poll-for-token.ts +89 -0
  75. package/src/auth/project.ts +92 -0
  76. package/src/auth/zod.ts +16 -0
  77. package/src/command.ts +50 -7
  78. package/src/sandbox.ts +1 -1
  79. package/src/utils/dev-credentials.test.ts +217 -0
  80. package/src/utils/dev-credentials.ts +189 -0
  81. package/src/utils/get-credentials.test.ts +20 -0
  82. package/src/utils/get-credentials.ts +72 -8
  83. package/src/utils/log.ts +20 -0
  84. package/src/version.ts +1 -1
  85. package/test-utils/mock-response.ts +12 -0
  86. package/vitest.config.ts +1 -0
@@ -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/command.d.ts CHANGED
@@ -28,6 +28,8 @@ export declare class Command {
28
28
  */
29
29
  private cmd;
30
30
  exitCode: number | null;
31
+ private outputCache;
32
+ private outputCachePromise;
31
33
  /**
32
34
  * ID of the command execution.
33
35
  */
@@ -98,6 +100,11 @@ export declare class Command {
98
100
  wait(params?: {
99
101
  signal?: AbortSignal;
100
102
  }): Promise<CommandFinished>;
103
+ /**
104
+ * Get cached output, fetching logs only once and reusing for concurrent calls.
105
+ * This prevents race conditions when stdout() and stderr() are called in parallel.
106
+ */
107
+ private getCachedOutput;
101
108
  /**
102
109
  * Get the output of `stdout`, `stderr`, or both as a string.
103
110
  *
package/dist/command.js CHANGED
@@ -35,6 +35,8 @@ class Command {
35
35
  * @param params.cmdId - The ID of the command execution.
36
36
  */
37
37
  constructor({ client, sandboxId, cmd, }) {
38
+ this.outputCache = null;
39
+ this.outputCachePromise = null;
38
40
  this.client = client;
39
41
  this.sandboxId = sandboxId;
40
42
  this.cmd = cmd;
@@ -101,6 +103,41 @@ class Command {
101
103
  exitCode: command.json.command.exitCode,
102
104
  });
103
105
  }
106
+ /**
107
+ * Get cached output, fetching logs only once and reusing for concurrent calls.
108
+ * This prevents race conditions when stdout() and stderr() are called in parallel.
109
+ */
110
+ async getCachedOutput(opts) {
111
+ if (this.outputCache) {
112
+ return this.outputCache;
113
+ }
114
+ if (!this.outputCachePromise) {
115
+ this.outputCachePromise = (async () => {
116
+ try {
117
+ let stdout = "";
118
+ let stderr = "";
119
+ let both = "";
120
+ for await (const log of this.logs({ signal: opts?.signal })) {
121
+ both += log.data;
122
+ if (log.stream === "stdout") {
123
+ stdout += log.data;
124
+ }
125
+ else {
126
+ stderr += log.data;
127
+ }
128
+ }
129
+ this.outputCache = { stdout, stderr, both };
130
+ return this.outputCache;
131
+ }
132
+ catch (err) {
133
+ // Clear the promise so future calls can retry
134
+ this.outputCachePromise = null;
135
+ throw err;
136
+ }
137
+ })();
138
+ }
139
+ return this.outputCachePromise;
140
+ }
104
141
  /**
105
142
  * Get the output of `stdout`, `stderr`, or both as a string.
106
143
  *
@@ -113,13 +150,8 @@ class Command {
113
150
  * @returns The output of the specified stream(s) as a string.
114
151
  */
115
152
  async output(stream = "both", opts) {
116
- let data = "";
117
- for await (const log of this.logs({ signal: opts?.signal })) {
118
- if (stream === "both" || log.stream === stream) {
119
- data += log.data;
120
- }
121
- }
122
- return data;
153
+ const cached = await this.getCachedOutput(opts);
154
+ return cached[stream];
123
155
  }
124
156
  /**
125
157
  * Get the output of `stdout` as a string.
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"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"}
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":";;;AAEA,6CAAyC;AACzC,uCAA0D;AAC1D,6DAA2E;AAC3E,yCAA8D;AAG9D,yCAAsC;AAoHtC;;;;;GAKG;AACH,MAAa,OAAO;IASlB;;OAEG;IACH,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IACzB,CAAC;IAED,IAAW,eAAe;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,SAAS,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAClB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACvC,CAAC;IAOD;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,CACf,MAEkB;QAElB,MAAM,WAAW,GAAG,MAAM,IAAA,gCAAc,EAAC,MAAM,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,sBAAS,CAAC;YAC3B,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,KAAK,EAAE,MAAM,EAAE,KAAK;SACrB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,aAAa,CAAC;YAC1B,GAAG,MAAM;YACT,GAAG,WAAW;SACf,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,MAGkB;QAElB,MAAM,WAAW,GAAG,MAAM,IAAA,gCAAc,EAAC,MAAM,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,sBAAS,CAAC;YAC3B,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,KAAK,EAAE,MAAM,EAAE,KAAK;SACrB,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,IAAA,wBAAgB,EAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC;YACzC,MAAM,EAAE,MAAM,EAAE,MAAM;YACtB,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE;YAC1B,OAAO,EAAE,MAAM,EAAE,OAAO;YACxB,SAAS,EAAE,MAAM,EAAE,SAAS;YAC5B,OAAO,EAAE,MAAM,IAAI,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS;YACpE,MAAM,EAAE,MAAM,EAAE,MAAM;YACtB,GAAG,aAAa;SACjB,CAAC,CAAC;QAEH,OAAO,IAAI,OAAO,CAAC;YACjB,MAAM;YACN,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO;YAC7B,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM;SAC5B,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG,CACd,MACkB;QAElB,MAAM,WAAW,GAAG,MAAM,IAAA,gCAAc,EAAC,MAAM,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,sBAAS,CAAC;YAC3B,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,IAAA,wBAAgB,EAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC;YACtC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,GAAG,aAAa;SACjB,CAAC,CAAC;QAEH,OAAO,IAAI,OAAO,CAAC;YACjB,MAAM;YACN,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO;YAC7B,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM;SAC5B,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,YAAY,EACV,MAAM,EACN,MAAM,EACN,OAAO,GAKR;QACC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,UAAU,CACd,KAAa,EACb,IAA+B;QAE/B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;YAC3C,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YAC1B,KAAK;YACL,MAAM,EAAE,IAAI,EAAE,MAAM;SACrB,CAAC,CAAC;QAEH,OAAO,IAAI,iBAAO,CAAC;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YAC1B,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO;SAC1B,CAAC,CAAC;IACL,CAAC;IAmCD,KAAK,CAAC,UAAU,CACd,eAA0C,EAC1C,IAAe,EACf,IAA+B;QAE/B,OAAO,OAAO,eAAe,KAAK,QAAQ;YACxC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACxE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,WAAW,CAAC,MAAwB;QACxC,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;YACnD,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YAC1B,OAAO,EAAE,MAAM,CAAC,GAAG;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;YACvB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,EAAE;YACrB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,KAAK;YAC1B,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC;YAC1B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YAC1B,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,OAAO;SAClC,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACnC,CAAC,KAAK,IAAI,EAAE;gBACV,IAAI,CAAC;oBACH,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;wBAChE,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;4BAC5B,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBACjC,CAAC;6BAAM,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;4BACnC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBACjC,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;wBAC3B,OAAO;oBACT,CAAC;oBACD,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC,EAAE,CAAC;QACP,CAAC;QAED,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,IAA+B;QACvD,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YACtB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YAC1B,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,IAAI,EAAE,MAAM;SACrB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,QAAQ,CACZ,IAAoC,EACpC,IAA+B;QAE/B,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC1B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,MAAM,EAAE,IAAI,EAAE,MAAM;SACrB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,UAAU,CACd,KAA0C,EAC1C,IAA+B;QAE/B,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;YAC5B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YAC1B,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;YACrB,UAAU,EAAE,GAAG;YACf,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,IAAI,EAAE,MAAM;SACrB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,CAAS;QACd,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;QACxD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,WAAW,KAAK,CAAC,SAAS,aAAa,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,CAAC,IAA+B;QACxC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;YAC5B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YAC1B,MAAM,EAAE,IAAI,EAAE,MAAM;SACrB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,aAAa,CACjB,QAAgB,EAChB,IAA+B;QAE/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YAC/C,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YAC1B,QAAQ;YACR,MAAM,EAAE,IAAI,EAAE,MAAM;SACrB,CAAC,CAAC;QAEH,kEAAkE;QAClE,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;IACvC,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,QAAQ,CAAC,IAA+B;QAC5C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;YAChD,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YAC1B,MAAM,EAAE,IAAI,EAAE,MAAM;SACrB,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;QAErC,OAAO,IAAI,mBAAQ,CAAC;YAClB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ;SACjC,CAAC,CAAC;IACL,CAAC;CACF;AApaD,0BAoaC"}
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 {};
@@ -0,0 +1,191 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.cachedGenerateCredentials = void 0;
40
+ exports.shouldPromptForCredentials = shouldPromptForCredentials;
41
+ exports.generateCredentials = generateCredentials;
42
+ exports.signInAndGetToken = signInAndGetToken;
43
+ const picocolors_1 = __importDefault(require("picocolors"));
44
+ const ms_1 = __importDefault(require("ms"));
45
+ const Log = __importStar(require("./log"));
46
+ async function importAuth() {
47
+ const auth = await Promise.resolve().then(() => __importStar(require("../auth/index")));
48
+ return auth;
49
+ }
50
+ function shouldPromptForCredentials() {
51
+ return (process.env.NODE_ENV !== "production" &&
52
+ !["1", "true"].includes(process.env.CI || "") &&
53
+ process.stdout.isTTY &&
54
+ process.stdin.isTTY);
55
+ }
56
+ /**
57
+ * Returns cached credentials for the given team/project combination.
58
+ *
59
+ * @remarks
60
+ * The cache is keyed by `teamId` and `projectId`. A new credential generation
61
+ * is triggered only when these values change or when a previous attempt failed.
62
+ *
63
+ * **Important:** Successfully resolved credentials are cached indefinitely and
64
+ * will not be refreshed even if the token expires. Cache invalidation only occurs
65
+ * on rejection (error). This is intentional for development use cases where
66
+ * short-lived sessions don't require proactive token refresh.
67
+ */
68
+ exports.cachedGenerateCredentials = (() => {
69
+ let cache = null;
70
+ return async (opts) => {
71
+ if (!cache ||
72
+ cache[0].teamId !== opts.teamId ||
73
+ cache[0].projectId !== opts.projectId) {
74
+ const promise = generateCredentials(opts).catch((err) => {
75
+ cache = null;
76
+ throw err;
77
+ });
78
+ cache = [opts, promise];
79
+ }
80
+ const v = await cache[1];
81
+ Log.write("warn", `using inferred credentials team=${v.teamId} project=${v.projectId}`);
82
+ return v;
83
+ };
84
+ })();
85
+ /**
86
+ * Generates credentials by authenticating and inferring scope.
87
+ *
88
+ * @internal This is exported for testing purposes. Consider using
89
+ * {@link cachedGenerateCredentials} instead, which caches the result
90
+ * to avoid redundant authentication flows.
91
+ */
92
+ async function generateCredentials(opts) {
93
+ const { OAuth, pollForToken, getAuth, updateAuthConfig, inferScope } = await importAuth();
94
+ let auth = getAuth();
95
+ if (!auth?.token) {
96
+ const timeout = process.env.VERCEL_URL
97
+ ? /* when deployed to vercel we don't want to have a long timeout */ "1 minute"
98
+ : "5 minutes";
99
+ auth = await signInAndGetToken({ OAuth, pollForToken, getAuth }, timeout);
100
+ }
101
+ if (auth?.refreshToken &&
102
+ auth.expiresAt &&
103
+ auth.expiresAt.getTime() <= Date.now()) {
104
+ const oauth = await OAuth();
105
+ const newToken = await oauth.refreshToken(auth.refreshToken);
106
+ auth = {
107
+ expiresAt: new Date(Date.now() + newToken.expires_in * 1000),
108
+ token: newToken.access_token,
109
+ refreshToken: newToken.refresh_token || auth.refreshToken,
110
+ };
111
+ updateAuthConfig(auth);
112
+ }
113
+ if (!auth?.token) {
114
+ throw new Error("Failed to retrieve authentication token.");
115
+ }
116
+ if (opts.teamId && opts.projectId) {
117
+ return {
118
+ token: auth.token,
119
+ teamId: opts.teamId,
120
+ projectId: opts.projectId,
121
+ };
122
+ }
123
+ const scope = await inferScope({ teamId: opts.teamId, token: auth.token });
124
+ if (scope.created) {
125
+ Log.write("info", `Created default project "${scope.projectId}" in team "${scope.teamId}".`);
126
+ }
127
+ return {
128
+ token: auth.token,
129
+ teamId: opts.teamId || scope.teamId,
130
+ projectId: opts.projectId || scope.projectId,
131
+ };
132
+ }
133
+ async function signInAndGetToken(auth, timeout) {
134
+ Log.write("warn", [
135
+ `No VERCEL_OIDC_TOKEN environment variable found, initiating device authorization flow...`,
136
+ `│ ${picocolors_1.default.bold("help:")} this flow only happens on development environment.`,
137
+ `│ In production, make sure to set up a proper token, or set up Vercel OIDC [https://vercel.com/docs/oidc].`,
138
+ ]);
139
+ const oauth = await auth.OAuth();
140
+ const request = await oauth.deviceAuthorizationRequest();
141
+ Log.write("info", [
142
+ `╰▶ To authenticate, visit: ${request.verification_uri_complete}`,
143
+ ` or visit ${picocolors_1.default.italic(request.verification_uri)} and type ${picocolors_1.default.bold(request.user_code)}`,
144
+ ` Press ${picocolors_1.default.bold("<return>")} to open in your browser`,
145
+ ]);
146
+ let error;
147
+ const generator = auth.pollForToken({ request, oauth });
148
+ let done = false;
149
+ let spawnedTimeout = setTimeout(() => {
150
+ if (done)
151
+ return;
152
+ const message = [
153
+ `Authentication flow timed out after ${timeout}.`,
154
+ `│ Make sure to provide a token to avoid prompting an interactive flow.`,
155
+ `╰▶ ${picocolors_1.default.bold("help:")} Link your project with ${Log.code("npx vercel link")} to refresh OIDC token automatically.`,
156
+ ].join("\n");
157
+ error = new Error(message);
158
+ // Note: generator.return() initiates cooperative cancellation. The generator's
159
+ // finally block will abort pending setTimeout calls, but any in-flight HTTP
160
+ // request will complete before the generator terminates. This is acceptable
161
+ // for this dev-only timeout scenario.
162
+ generator.return();
163
+ }, (0, ms_1.default)(timeout));
164
+ try {
165
+ for await (const event of generator) {
166
+ switch (event._tag) {
167
+ case "SlowDown":
168
+ case "Timeout":
169
+ case "Response":
170
+ break;
171
+ case "Error":
172
+ error = event.error;
173
+ break;
174
+ default:
175
+ throw new Error(`Unknown event type: ${JSON.stringify(event)}`);
176
+ }
177
+ }
178
+ }
179
+ finally {
180
+ done = true;
181
+ clearTimeout(spawnedTimeout);
182
+ }
183
+ if (error) {
184
+ Log.write("error", `${picocolors_1.default.bold("error:")} Authentication failed: ${error.message}`);
185
+ throw error;
186
+ }
187
+ Log.write("success", `${picocolors_1.default.bold("done!")} Authenticated successfully!`);
188
+ const stored = auth.getAuth();
189
+ return stored;
190
+ }
191
+ //# sourceMappingURL=dev-credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-credentials.js","sourceRoot":"","sources":["../../src/utils/dev-credentials.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,22 @@ export interface Credentials {
14
14
  */
15
15
  teamId: string;
16
16
  }
17
+ /**
18
+ * Error thrown when OIDC context is not available in local development,
19
+ * therefore we should guide how to ensure it is set up by linking a project
20
+ */
21
+ export declare class LocalOidcContextError extends Error {
22
+ name: string;
23
+ constructor(cause: unknown);
24
+ }
25
+ /**
26
+ * Error thrown when OIDC context is not available in Vercel environment,
27
+ * therefore we should guide how to set it up.
28
+ */
29
+ export declare class VercelOidcContextError extends Error {
30
+ name: string;
31
+ constructor(cause: unknown);
32
+ }
17
33
  /**
18
34
  * Allow to get credentials to access the Vercel API. Credentials can be
19
35
  * provided in two different ways:
@@ -1,10 +1,60 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.schema = void 0;
3
+ exports.schema = exports.VercelOidcContextError = exports.LocalOidcContextError = void 0;
4
4
  exports.getCredentials = getCredentials;
5
5
  const oidc_1 = require("@vercel/oidc");
6
6
  const decode_base64_url_1 = require("./decode-base64-url");
7
7
  const zod_1 = require("zod");
8
+ const dev_credentials_1 = require("./dev-credentials");
9
+ /**
10
+ * Error thrown when OIDC context is not available in local development,
11
+ * therefore we should guide how to ensure it is set up by linking a project
12
+ */
13
+ class LocalOidcContextError extends Error {
14
+ constructor(cause) {
15
+ const message = [
16
+ "Could not get credentials from OIDC context.",
17
+ "Please link your Vercel project using `npx vercel link`.",
18
+ "Then, pull an initial OIDC token with `npx vercel env pull`",
19
+ "and retry.",
20
+ ].join("\n");
21
+ super(message, { cause });
22
+ this.name = "LocalOidcContextError";
23
+ }
24
+ }
25
+ exports.LocalOidcContextError = LocalOidcContextError;
26
+ /**
27
+ * Error thrown when OIDC context is not available in Vercel environment,
28
+ * therefore we should guide how to set it up.
29
+ */
30
+ class VercelOidcContextError extends Error {
31
+ constructor(cause) {
32
+ const message = [
33
+ "Could not get credentials from OIDC context.",
34
+ "Please make sure OIDC is set up for your project",
35
+ "Read more at https://vercel.com/docs/oidc",
36
+ ].join("\n");
37
+ super(message, { cause });
38
+ this.name = "VercelOidcContextError";
39
+ }
40
+ }
41
+ exports.VercelOidcContextError = VercelOidcContextError;
42
+ async function getVercelToken(opts) {
43
+ try {
44
+ return getCredentialsFromOIDCToken(await (0, oidc_1.getVercelOidcToken)());
45
+ }
46
+ catch (error) {
47
+ if (!(0, dev_credentials_1.shouldPromptForCredentials)()) {
48
+ if (process.env.VERCEL_URL) {
49
+ throw new VercelOidcContextError(error);
50
+ }
51
+ else {
52
+ throw new LocalOidcContextError(error);
53
+ }
54
+ }
55
+ return await (0, dev_credentials_1.cachedGenerateCredentials)(opts);
56
+ }
57
+ }
8
58
  /**
9
59
  * Allow to get credentials to access the Vercel API. Credentials can be
10
60
  * provided in two different ways:
@@ -20,12 +70,21 @@ async function getCredentials(params) {
20
70
  if (credentials) {
21
71
  return credentials;
22
72
  }
23
- const oidcToken = await (0, oidc_1.getVercelOidcToken)();
24
- if (oidcToken) {
25
- return getCredentialsFromOIDCToken(oidcToken);
26
- }
27
- throw new Error("You must provide credentials to access the Vercel API \n" +
28
- "either through parameters or using OpenID Connect [https://vercel.com/docs/oidc]");
73
+ const oidcToken = await getVercelToken({
74
+ teamId: params &&
75
+ typeof params === "object" &&
76
+ "teamId" in params &&
77
+ typeof params.teamId === "string"
78
+ ? params.teamId
79
+ : undefined,
80
+ projectId: params &&
81
+ typeof params === "object" &&
82
+ "projectId" in params &&
83
+ typeof params.projectId === "string"
84
+ ? params.projectId
85
+ : undefined,
86
+ });
87
+ return oidcToken;
29
88
  }
30
89
  /**
31
90
  * Attempt to extract credentials from the provided parameters. Either all
@@ -1 +1 @@
1
- {"version":3,"file":"get-credentials.js","sourceRoot":"","sources":["../../src/utils/get-credentials.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-credentials.js","sourceRoot":"","sources":["../../src/utils/get-credentials.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function write(level: "warn" | "error" | "info" | "success", text: string | string[]): void;
2
+ export declare function code(text: string): string;