@vercel/sandbox 2.0.0-beta.2 → 2.0.0-beta.20

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 (208) hide show
  1. package/README.md +48 -1
  2. package/dist/_virtual/rolldown_runtime.cjs +29 -0
  3. package/dist/api-client/api-client.cjs +445 -0
  4. package/dist/api-client/api-client.cjs.map +1 -0
  5. package/dist/api-client/api-client.d.cts +6235 -0
  6. package/dist/api-client/api-client.d.ts +6229 -706
  7. package/dist/api-client/api-client.js +436 -472
  8. package/dist/api-client/api-client.js.map +1 -1
  9. package/dist/api-client/api-error.cjs +32 -0
  10. package/dist/api-client/api-error.cjs.map +1 -0
  11. package/dist/api-client/api-error.d.cts +29 -0
  12. package/dist/api-client/api-error.d.ts +21 -16
  13. package/dist/api-client/api-error.js +28 -32
  14. package/dist/api-client/api-error.js.map +1 -1
  15. package/dist/api-client/base-client.cjs +126 -0
  16. package/dist/api-client/base-client.cjs.map +1 -0
  17. package/dist/api-client/base-client.d.cts +38 -0
  18. package/dist/api-client/base-client.d.ts +31 -36
  19. package/dist/api-client/base-client.js +114 -118
  20. package/dist/api-client/base-client.js.map +1 -1
  21. package/dist/api-client/file-writer.cjs +62 -0
  22. package/dist/api-client/file-writer.cjs.map +1 -0
  23. package/dist/api-client/file-writer.d.cts +66 -0
  24. package/dist/api-client/file-writer.d.ts +56 -42
  25. package/dist/api-client/file-writer.js +57 -61
  26. package/dist/api-client/file-writer.js.map +1 -1
  27. package/dist/api-client/index.cjs +2 -0
  28. package/dist/api-client/index.d.ts +2 -2
  29. package/dist/api-client/index.js +4 -21
  30. package/dist/api-client/validators.cjs +229 -0
  31. package/dist/api-client/validators.cjs.map +1 -0
  32. package/dist/api-client/validators.d.cts +26885 -0
  33. package/dist/api-client/validators.d.ts +26732 -3706
  34. package/dist/api-client/validators.js +198 -191
  35. package/dist/api-client/validators.js.map +1 -1
  36. package/dist/api-client/with-retry.cjs +89 -0
  37. package/dist/api-client/with-retry.cjs.map +1 -0
  38. package/dist/api-client/with-retry.d.cts +10 -0
  39. package/dist/api-client/with-retry.d.ts +9 -13
  40. package/dist/api-client/with-retry.js +81 -102
  41. package/dist/api-client/with-retry.js.map +1 -1
  42. package/dist/auth/api.cjs +29 -0
  43. package/dist/auth/api.cjs.map +1 -0
  44. package/dist/auth/api.js +26 -25
  45. package/dist/auth/api.js.map +1 -1
  46. package/dist/auth/error.cjs +13 -0
  47. package/dist/auth/error.cjs.map +1 -0
  48. package/dist/auth/error.js +11 -11
  49. package/dist/auth/error.js.map +1 -1
  50. package/dist/auth/file.cjs +64 -0
  51. package/dist/auth/file.cjs.map +1 -0
  52. package/dist/auth/file.d.cts +26 -0
  53. package/dist/auth/file.d.ts +19 -15
  54. package/dist/auth/file.js +49 -64
  55. package/dist/auth/file.js.map +1 -1
  56. package/dist/auth/index.cjs +11 -0
  57. package/dist/auth/index.d.cts +5 -0
  58. package/dist/auth/index.d.ts +5 -6
  59. package/dist/auth/index.js +6 -27
  60. package/dist/auth/linked-project.cjs +38 -0
  61. package/dist/auth/linked-project.cjs.map +1 -0
  62. package/dist/auth/linked-project.js +30 -64
  63. package/dist/auth/linked-project.js.map +1 -1
  64. package/dist/auth/oauth.cjs +205 -0
  65. package/dist/auth/oauth.cjs.map +1 -0
  66. package/dist/auth/oauth.d.cts +135 -0
  67. package/dist/auth/oauth.d.ts +113 -109
  68. package/dist/auth/oauth.js +185 -252
  69. package/dist/auth/oauth.js.map +1 -1
  70. package/dist/auth/poll-for-token.cjs +82 -0
  71. package/dist/auth/poll-for-token.cjs.map +1 -0
  72. package/dist/auth/poll-for-token.d.cts +28 -0
  73. package/dist/auth/poll-for-token.d.ts +23 -15
  74. package/dist/auth/poll-for-token.js +79 -64
  75. package/dist/auth/poll-for-token.js.map +1 -1
  76. package/dist/auth/project.cjs +178 -0
  77. package/dist/auth/project.cjs.map +1 -0
  78. package/dist/auth/project.d.cts +40 -0
  79. package/dist/auth/project.d.ts +19 -19
  80. package/dist/auth/project.js +169 -72
  81. package/dist/auth/project.js.map +1 -1
  82. package/dist/auth/zod.cjs +22 -0
  83. package/dist/auth/zod.cjs.map +1 -0
  84. package/dist/auth/zod.js +18 -17
  85. package/dist/auth/zod.js.map +1 -1
  86. package/dist/command.cjs +328 -0
  87. package/dist/command.cjs.map +1 -0
  88. package/dist/command.d.cts +289 -0
  89. package/dist/command.d.ts +265 -171
  90. package/dist/command.js +323 -226
  91. package/dist/command.js.map +1 -1
  92. package/dist/constants.d.cts +5 -0
  93. package/dist/constants.d.ts +5 -1
  94. package/dist/filesystem.cjs +499 -0
  95. package/dist/filesystem.cjs.map +1 -0
  96. package/dist/filesystem.d.cts +258 -0
  97. package/dist/filesystem.d.ts +258 -0
  98. package/dist/filesystem.js +497 -0
  99. package/dist/filesystem.js.map +1 -0
  100. package/dist/index.cjs +15 -0
  101. package/dist/index.d.cts +8 -0
  102. package/dist/index.d.ts +8 -6
  103. package/dist/index.js +8 -17
  104. package/dist/network-policy.d.cts +156 -0
  105. package/dist/network-policy.d.ts +88 -28
  106. package/dist/sandbox.cjs +816 -0
  107. package/dist/sandbox.cjs.map +1 -0
  108. package/dist/sandbox.d.cts +2847 -0
  109. package/dist/sandbox.d.ts +2834 -628
  110. package/dist/sandbox.js +808 -557
  111. package/dist/sandbox.js.map +1 -1
  112. package/dist/session.cjs +527 -0
  113. package/dist/session.cjs.map +1 -0
  114. package/dist/session.d.cts +410 -0
  115. package/dist/session.d.ts +403 -368
  116. package/dist/session.js +524 -489
  117. package/dist/session.js.map +1 -1
  118. package/dist/snapshot.cjs +204 -0
  119. package/dist/snapshot.cjs.map +1 -0
  120. package/dist/snapshot.d.cts +161 -0
  121. package/dist/snapshot.d.ts +152 -92
  122. package/dist/snapshot.js +201 -114
  123. package/dist/snapshot.js.map +1 -1
  124. package/dist/utils/array.cjs +17 -0
  125. package/dist/utils/array.cjs.map +1 -0
  126. package/dist/utils/array.js +12 -15
  127. package/dist/utils/array.js.map +1 -1
  128. package/dist/utils/consume-readable.cjs +18 -0
  129. package/dist/utils/consume-readable.cjs.map +1 -0
  130. package/dist/utils/consume-readable.js +13 -12
  131. package/dist/utils/consume-readable.js.map +1 -1
  132. package/dist/utils/decode-base64-url.cjs +15 -0
  133. package/dist/utils/decode-base64-url.cjs.map +1 -0
  134. package/dist/utils/decode-base64-url.js +10 -9
  135. package/dist/utils/decode-base64-url.js.map +1 -1
  136. package/dist/utils/dev-credentials.cjs +142 -0
  137. package/dist/utils/dev-credentials.cjs.map +1 -0
  138. package/dist/utils/dev-credentials.js +126 -184
  139. package/dist/utils/dev-credentials.js.map +1 -1
  140. package/dist/utils/get-credentials.cjs +123 -0
  141. package/dist/utils/get-credentials.cjs.map +1 -0
  142. package/dist/utils/get-credentials.d.cts +21 -0
  143. package/dist/utils/get-credentials.d.ts +19 -61
  144. package/dist/utils/get-credentials.js +106 -140
  145. package/dist/utils/get-credentials.js.map +1 -1
  146. package/dist/utils/log.cjs +25 -0
  147. package/dist/utils/log.cjs.map +1 -0
  148. package/dist/utils/log.js +15 -17
  149. package/dist/utils/log.js.map +1 -1
  150. package/dist/utils/network-policy.cjs +49 -0
  151. package/dist/utils/network-policy.cjs.map +1 -0
  152. package/dist/utils/network-policy.js +42 -77
  153. package/dist/utils/network-policy.js.map +1 -1
  154. package/dist/utils/normalizePath.cjs +27 -0
  155. package/dist/utils/normalizePath.cjs.map +1 -0
  156. package/dist/utils/normalizePath.js +21 -28
  157. package/dist/utils/normalizePath.js.map +1 -1
  158. package/dist/utils/paginator.cjs +41 -0
  159. package/dist/utils/paginator.cjs.map +1 -0
  160. package/dist/utils/paginator.d.cts +16 -0
  161. package/dist/utils/paginator.d.ts +16 -0
  162. package/dist/utils/paginator.js +40 -0
  163. package/dist/utils/paginator.js.map +1 -0
  164. package/dist/utils/resolveSignal.cjs +20 -0
  165. package/dist/utils/resolveSignal.cjs.map +1 -0
  166. package/dist/utils/resolveSignal.d.cts +15 -0
  167. package/dist/utils/resolveSignal.d.ts +12 -10
  168. package/dist/utils/resolveSignal.js +14 -17
  169. package/dist/utils/resolveSignal.js.map +1 -1
  170. package/dist/utils/sandbox-snapshot.cjs +14 -0
  171. package/dist/utils/sandbox-snapshot.cjs.map +1 -0
  172. package/dist/utils/sandbox-snapshot.d.cts +10 -0
  173. package/dist/utils/sandbox-snapshot.d.ts +11 -0
  174. package/dist/utils/sandbox-snapshot.js +14 -0
  175. package/dist/utils/sandbox-snapshot.js.map +1 -0
  176. package/dist/utils/types.cjs +13 -0
  177. package/dist/utils/types.cjs.map +1 -0
  178. package/dist/utils/types.d.cts +11 -0
  179. package/dist/utils/types.d.ts +5 -7
  180. package/dist/utils/types.js +8 -8
  181. package/dist/utils/types.js.map +1 -1
  182. package/dist/version.cjs +7 -0
  183. package/dist/version.cjs.map +1 -0
  184. package/dist/version.js +5 -5
  185. package/dist/version.js.map +1 -1
  186. package/package.json +23 -3
  187. package/dist/api-client/index.js.map +0 -1
  188. package/dist/auth/api.d.ts +0 -6
  189. package/dist/auth/error.d.ts +0 -11
  190. package/dist/auth/index.js.map +0 -1
  191. package/dist/auth/linked-project.d.ts +0 -10
  192. package/dist/auth/zod.d.ts +0 -5
  193. package/dist/constants.js +0 -3
  194. package/dist/constants.js.map +0 -1
  195. package/dist/index.js.map +0 -1
  196. package/dist/network-policy.js +0 -3
  197. package/dist/network-policy.js.map +0 -1
  198. package/dist/utils/array.d.ts +0 -9
  199. package/dist/utils/consume-readable.d.ts +0 -5
  200. package/dist/utils/convert-sandbox.d.ts +0 -6
  201. package/dist/utils/convert-sandbox.js +0 -14
  202. package/dist/utils/convert-sandbox.js.map +0 -1
  203. package/dist/utils/decode-base64-url.d.ts +0 -7
  204. package/dist/utils/dev-credentials.d.ts +0 -37
  205. package/dist/utils/log.d.ts +0 -2
  206. package/dist/utils/network-policy.d.ts +0 -7
  207. package/dist/utils/normalizePath.d.ts +0 -17
  208. package/dist/version.d.ts +0 -1
@@ -0,0 +1,156 @@
1
+ //#region src/network-policy.d.ts
2
+ /**
3
+ * A transform applied to network requests matching a domain rule.
4
+ *
5
+ * @example
6
+ * {
7
+ * headers: { authorization: "Bearer sk-..." }
8
+ * }
9
+ */
10
+ type NetworkTransformer = {
11
+ /** Headers to set on the outgoing request. */
12
+ headers?: Record<string, string>;
13
+ };
14
+ /**
15
+ * Defines how a request value is matched.
16
+ */
17
+ type NetworkPolicyMatcher = {
18
+ /** Match the value exactly. */
19
+ exact?: string;
20
+ } | {
21
+ /** Match values that start with the provided prefix. */
22
+ startsWith?: string;
23
+ } | {
24
+ /** Match values against an RE2 regular expression. */
25
+ regex?: string;
26
+ };
27
+ /**
28
+ * Matcher for key/value request entries such as headers and query parameters.
29
+ */
30
+ type NetworkPolicyKeyValueMatcher = {
31
+ /** Matcher for the entry key. */
32
+ key?: NetworkPolicyMatcher;
33
+ /** Matcher for the entry value. */
34
+ value?: NetworkPolicyMatcher;
35
+ };
36
+ /**
37
+ * Request matcher for a network policy rule.
38
+ *
39
+ * All specified dimensions must match. Multiple methods are ORed; multiple
40
+ * header and query-string matchers are ANDed.
41
+ */
42
+ type NetworkPolicyMatch = {
43
+ /** Match on the request path. */
44
+ path?: NetworkPolicyMatcher;
45
+ /** Match on the HTTP method. */
46
+ method?: string[];
47
+ /** Match on query-string entries. */
48
+ queryString?: NetworkPolicyKeyValueMatcher[];
49
+ /** Match on request headers. */
50
+ headers?: NetworkPolicyKeyValueMatcher[];
51
+ };
52
+ /**
53
+ * A rule applied to requests matching a domain in the network policy.
54
+ */
55
+ type NetworkPolicyRule = {
56
+ /**
57
+ * Optional request matcher. When provided, transforms only apply to requests
58
+ * that match every specified dimension.
59
+ */
60
+ match?: NetworkPolicyMatch;
61
+ /**
62
+ * Transforms to apply to matching requests.
63
+ */
64
+ transform?: NetworkTransformer[];
65
+ /**
66
+ * HTTPS proxy URL to forward matching requests to. Must not include query string or fragment.
67
+ */
68
+ forwardURL?: string;
69
+ };
70
+ /**
71
+ * Network policy to define network restrictions for the sandbox.
72
+ *
73
+ * - `"allow-all"`: Full internet access (default). All traffic is allowed.
74
+ * - `"deny-all"`: No internet access. All traffic is denied.
75
+ * - Object: Custom access with explicit allow/deny lists.
76
+ *
77
+ * @example
78
+ * // Full internet access (default)
79
+ * "allow-all"
80
+ *
81
+ * @example
82
+ * // No external access
83
+ * "deny-all"
84
+ *
85
+ * @example
86
+ * // Custom access with specific domains (simple list)
87
+ * // All traffic not explicitly allowed is denied.
88
+ * {
89
+ * allow: ["*.npmjs.org", "github.com"],
90
+ * subnets: {
91
+ * allow: ["10.0.0.0/8"],
92
+ * deny: ["10.1.0.0/16"]
93
+ * }
94
+ * }
95
+ *
96
+ * @example
97
+ * // Custom access with specific domains (record form)
98
+ * {
99
+ * allow: {
100
+ * "*.npmjs.org": [],
101
+ * "github.com": [],
102
+ * }
103
+ * }
104
+ *
105
+ * @example
106
+ * // Custom access with request transformers
107
+ * {
108
+ * allow: {
109
+ * "ai-gateway.vercel.sh": [
110
+ * {
111
+ * match: {
112
+ * method: ["POST"],
113
+ * path: { startsWith: "/v1/" },
114
+ * headers: [
115
+ * { key: { exact: "x-api-key" }, value: { exact: "placeholder" } }
116
+ * ]
117
+ * },
118
+ * transform: [{
119
+ * headers: { authorization: "Bearer ..." }
120
+ * }]
121
+ * }
122
+ * ],
123
+ * "*": []
124
+ * }
125
+ * }
126
+ */
127
+ type NetworkPolicy = "allow-all" | "deny-all" | {
128
+ /**
129
+ * Domains to allow traffic to.
130
+ * Use "*" prefix for wildcard matching (e.g., "*.npmjs.org").
131
+ *
132
+ * Accepts either:
133
+ * - `string[]`: A simple list of domains to allow.
134
+ * - `Record<string, NetworkPolicyRule[]>`: A map of domains to rules.
135
+ * An empty array allows traffic with no additional rules.
136
+ */
137
+ allow?: string[] | Record<string, NetworkPolicyRule[]>;
138
+ /**
139
+ * Subnet-level access control using CIDR notation.
140
+ */
141
+ subnets?: {
142
+ /**
143
+ * List of CIDRs to allow traffic to.
144
+ * Traffic to these addresses will bypass the domain allowlist.
145
+ */
146
+ allow?: string[];
147
+ /**
148
+ * List of CIDRs to deny traffic to.
149
+ * These take precedence over allowed domains and CIDRs.
150
+ */
151
+ deny?: string[];
152
+ };
153
+ };
154
+ //#endregion
155
+ export { NetworkPolicy, NetworkPolicyKeyValueMatcher, NetworkPolicyMatch, NetworkPolicyMatcher, NetworkPolicyRule, NetworkTransformer };
156
+ //# sourceMappingURL=network-policy.d.cts.map
@@ -1,3 +1,4 @@
1
+ //#region src/network-policy.d.ts
1
2
  /**
2
3
  * A transform applied to network requests matching a domain rule.
3
4
  *
@@ -6,16 +7,65 @@
6
7
  * headers: { authorization: "Bearer sk-..." }
7
8
  * }
8
9
  */
9
- export type NetworkTransformer = {
10
- /** Headers to set on the outgoing request. */
11
- headers?: Record<string, string>;
10
+ type NetworkTransformer = {
11
+ /** Headers to set on the outgoing request. */
12
+ headers?: Record<string, string>;
13
+ };
14
+ /**
15
+ * Defines how a request value is matched.
16
+ */
17
+ type NetworkPolicyMatcher = {
18
+ /** Match the value exactly. */
19
+ exact?: string;
20
+ } | {
21
+ /** Match values that start with the provided prefix. */
22
+ startsWith?: string;
23
+ } | {
24
+ /** Match values against an RE2 regular expression. */
25
+ regex?: string;
26
+ };
27
+ /**
28
+ * Matcher for key/value request entries such as headers and query parameters.
29
+ */
30
+ type NetworkPolicyKeyValueMatcher = {
31
+ /** Matcher for the entry key. */
32
+ key?: NetworkPolicyMatcher;
33
+ /** Matcher for the entry value. */
34
+ value?: NetworkPolicyMatcher;
35
+ };
36
+ /**
37
+ * Request matcher for a network policy rule.
38
+ *
39
+ * All specified dimensions must match. Multiple methods are ORed; multiple
40
+ * header and query-string matchers are ANDed.
41
+ */
42
+ type NetworkPolicyMatch = {
43
+ /** Match on the request path. */
44
+ path?: NetworkPolicyMatcher;
45
+ /** Match on the HTTP method. */
46
+ method?: string[];
47
+ /** Match on query-string entries. */
48
+ queryString?: NetworkPolicyKeyValueMatcher[];
49
+ /** Match on request headers. */
50
+ headers?: NetworkPolicyKeyValueMatcher[];
12
51
  };
13
52
  /**
14
53
  * A rule applied to requests matching a domain in the network policy.
15
54
  */
16
- export type NetworkPolicyRule = {
17
- /** Transforms to apply to matching requests. */
18
- transform?: NetworkTransformer[];
55
+ type NetworkPolicyRule = {
56
+ /**
57
+ * Optional request matcher. When provided, transforms only apply to requests
58
+ * that match every specified dimension.
59
+ */
60
+ match?: NetworkPolicyMatch;
61
+ /**
62
+ * Transforms to apply to matching requests.
63
+ */
64
+ transform?: NetworkTransformer[];
65
+ /**
66
+ * HTTPS proxy URL to forward matching requests to. Must not include query string or fragment.
67
+ */
68
+ forwardURL?: string;
19
69
  };
20
70
  /**
21
71
  * Network policy to define network restrictions for the sandbox.
@@ -58,6 +108,13 @@ export type NetworkPolicyRule = {
58
108
  * allow: {
59
109
  * "ai-gateway.vercel.sh": [
60
110
  * {
111
+ * match: {
112
+ * method: ["POST"],
113
+ * path: { startsWith: "/v1/" },
114
+ * headers: [
115
+ * { key: { exact: "x-api-key" }, value: { exact: "placeholder" } }
116
+ * ]
117
+ * },
61
118
  * transform: [{
62
119
  * headers: { authorization: "Bearer ..." }
63
120
  * }]
@@ -67,30 +124,33 @@ export type NetworkPolicyRule = {
67
124
  * }
68
125
  * }
69
126
  */
70
- export type NetworkPolicy = "allow-all" | "deny-all" | {
127
+ type NetworkPolicy = "allow-all" | "deny-all" | {
128
+ /**
129
+ * Domains to allow traffic to.
130
+ * Use "*" prefix for wildcard matching (e.g., "*.npmjs.org").
131
+ *
132
+ * Accepts either:
133
+ * - `string[]`: A simple list of domains to allow.
134
+ * - `Record<string, NetworkPolicyRule[]>`: A map of domains to rules.
135
+ * An empty array allows traffic with no additional rules.
136
+ */
137
+ allow?: string[] | Record<string, NetworkPolicyRule[]>;
138
+ /**
139
+ * Subnet-level access control using CIDR notation.
140
+ */
141
+ subnets?: {
71
142
  /**
72
- * Domains to allow traffic to.
73
- * Use "*" prefix for wildcard matching (e.g., "*.npmjs.org").
74
- *
75
- * Accepts either:
76
- * - `string[]`: A simple list of domains to allow.
77
- * - `Record<string, NetworkPolicyRule[]>`: A map of domains to rules.
78
- * An empty array allows traffic with no additional rules.
143
+ * List of CIDRs to allow traffic to.
144
+ * Traffic to these addresses will bypass the domain allowlist.
79
145
  */
80
- allow?: string[] | Record<string, NetworkPolicyRule[]>;
146
+ allow?: string[];
81
147
  /**
82
- * Subnet-level access control using CIDR notation.
148
+ * List of CIDRs to deny traffic to.
149
+ * These take precedence over allowed domains and CIDRs.
83
150
  */
84
- subnets?: {
85
- /**
86
- * List of CIDRs to allow traffic to.
87
- * Traffic to these addresses will bypass the domain allowlist.
88
- */
89
- allow?: string[];
90
- /**
91
- * List of CIDRs to deny traffic to.
92
- * These take precedence over allowed domains and CIDRs.
93
- */
94
- deny?: string[];
95
- };
151
+ deny?: string[];
152
+ };
96
153
  };
154
+ //#endregion
155
+ export { NetworkPolicy, NetworkPolicyKeyValueMatcher, NetworkPolicyMatch, NetworkPolicyMatcher, NetworkPolicyRule, NetworkTransformer };
156
+ //# sourceMappingURL=network-policy.d.ts.map