self-bench 0.3.2 → 0.3.4

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 (203) hide show
  1. package/.dockerignore +0 -1
  2. package/Dockerfile +2 -1
  3. package/Dockerfile.sandbox +1 -1
  4. package/README.md +114 -170
  5. package/bun.lock +60 -12
  6. package/compose.yaml +11 -5
  7. package/dist/agent-smoke-main.js +3 -2
  8. package/dist/agent-smoke-main.js.map +1 -1
  9. package/dist/agent-smoke.d.ts +2 -1
  10. package/dist/agent-smoke.d.ts.map +1 -1
  11. package/dist/agent-smoke.js +6 -1
  12. package/dist/agent-smoke.js.map +1 -1
  13. package/dist/api.d.ts +24 -0
  14. package/dist/api.d.ts.map +1 -1
  15. package/dist/api.js +65 -20
  16. package/dist/api.js.map +1 -1
  17. package/dist/artifacts.d.ts +0 -1
  18. package/dist/artifacts.d.ts.map +1 -1
  19. package/dist/artifacts.js +0 -3
  20. package/dist/artifacts.js.map +1 -1
  21. package/dist/build-metadata.js +1 -1
  22. package/dist/cli.js +75 -11
  23. package/dist/cli.js.map +1 -1
  24. package/dist/codex-review.d.ts +2 -1
  25. package/dist/codex-review.d.ts.map +1 -1
  26. package/dist/codex-review.js +26 -22
  27. package/dist/codex-review.js.map +1 -1
  28. package/dist/config.d.ts +36 -11
  29. package/dist/config.d.ts.map +1 -1
  30. package/dist/config.js +89 -17
  31. package/dist/config.js.map +1 -1
  32. package/dist/contracts.d.ts +23 -3
  33. package/dist/contracts.d.ts.map +1 -1
  34. package/dist/contracts.js +31 -6
  35. package/dist/contracts.js.map +1 -1
  36. package/dist/eval-main.js +5 -4
  37. package/dist/eval-main.js.map +1 -1
  38. package/dist/evaluate.d.ts +2 -1
  39. package/dist/evaluate.d.ts.map +1 -1
  40. package/dist/evaluate.js +14 -8
  41. package/dist/evaluate.js.map +1 -1
  42. package/dist/harbor-environment.d.ts +2 -0
  43. package/dist/harbor-environment.d.ts.map +1 -0
  44. package/dist/harbor-environment.js +15 -0
  45. package/dist/harbor-environment.js.map +1 -0
  46. package/dist/harbor-results.d.ts.map +1 -1
  47. package/dist/harbor-results.js +2 -0
  48. package/dist/harbor-results.js.map +1 -1
  49. package/dist/process.d.ts +2 -1
  50. package/dist/process.d.ts.map +1 -1
  51. package/dist/process.js.map +1 -1
  52. package/dist/provenance.d.ts +0 -1
  53. package/dist/provenance.d.ts.map +1 -1
  54. package/dist/provenance.js.map +1 -1
  55. package/dist/providers.d.ts +8 -0
  56. package/dist/providers.d.ts.map +1 -0
  57. package/dist/providers.js +14 -0
  58. package/dist/providers.js.map +1 -0
  59. package/dist/reaudit-main.js +14 -11
  60. package/dist/reaudit-main.js.map +1 -1
  61. package/dist/repair-main.js +12 -9
  62. package/dist/repair-main.js.map +1 -1
  63. package/dist/review/assets/index-CZ3G759O.js +1568 -0
  64. package/dist/review/assets/index-DgSLzX8l.css +1 -0
  65. package/dist/review/assets/{mojo-Blby8dQK.js → mojo-DJz3ZmWd.js} +1 -1
  66. package/dist/review/assets/typst-BUadGCkm.js +1 -0
  67. package/dist/review/index.html +2 -2
  68. package/dist/sandbox-author.bundle.js +40 -6
  69. package/dist/sandbox-repair.bundle.js +8 -7
  70. package/dist/sandbox-repair.js +7 -7
  71. package/dist/sandbox-repair.js.map +1 -1
  72. package/dist/sandbox-review.bundle.js +29 -25
  73. package/dist/sandbox-review.js +5 -3
  74. package/dist/sandbox-review.js.map +1 -1
  75. package/dist/sandbox-timeout.d.ts +11 -0
  76. package/dist/sandbox-timeout.d.ts.map +1 -0
  77. package/dist/sandbox-timeout.js +41 -0
  78. package/dist/sandbox-timeout.js.map +1 -0
  79. package/dist/sandbox-validation-repair.bundle.js +49 -15
  80. package/dist/sandbox-validation-repair.js +11 -9
  81. package/dist/sandbox-validation-repair.js.map +1 -1
  82. package/dist/sandbox.d.ts +2 -2
  83. package/dist/sandbox.d.ts.map +1 -1
  84. package/dist/sandbox.js +10 -3
  85. package/dist/sandbox.js.map +1 -1
  86. package/dist/subscription-auth.d.ts +12 -1
  87. package/dist/subscription-auth.d.ts.map +1 -1
  88. package/dist/subscription-auth.js +16 -16
  89. package/dist/subscription-auth.js.map +1 -1
  90. package/dist/{activities.d.ts → temporal/activities.d.ts} +3 -4
  91. package/dist/temporal/activities.d.ts.map +1 -0
  92. package/dist/{activities.js → temporal/activities.js} +51 -34
  93. package/dist/temporal/activities.js.map +1 -0
  94. package/dist/{temporal.d.ts → temporal/connection.d.ts} +2 -2
  95. package/dist/temporal/connection.d.ts.map +1 -0
  96. package/dist/{temporal.js → temporal/connection.js} +1 -1
  97. package/dist/temporal/connection.js.map +1 -0
  98. package/dist/{worker-main.d.ts.map → temporal/worker-main.d.ts.map} +1 -1
  99. package/dist/{worker-main.js → temporal/worker-main.js} +6 -10
  100. package/dist/temporal/worker-main.js.map +1 -0
  101. package/dist/{workflow.d.ts → temporal/workflow.d.ts} +1 -1
  102. package/dist/temporal/workflow.d.ts.map +1 -0
  103. package/dist/temporal/workflow.js.map +1 -0
  104. package/dist/terminal-prompts.d.ts +26 -0
  105. package/dist/terminal-prompts.d.ts.map +1 -0
  106. package/dist/terminal-prompts.js +137 -0
  107. package/dist/terminal-prompts.js.map +1 -0
  108. package/dist/terminal-reporter.d.ts +30 -0
  109. package/dist/terminal-reporter.d.ts.map +1 -0
  110. package/dist/terminal-reporter.js +90 -0
  111. package/dist/terminal-reporter.js.map +1 -0
  112. package/dist/validate-main.js +8 -2
  113. package/dist/validate-main.js.map +1 -1
  114. package/dist/vercel-cli.d.ts +64 -0
  115. package/dist/vercel-cli.d.ts.map +1 -0
  116. package/dist/vercel-cli.js +303 -0
  117. package/dist/vercel-cli.js.map +1 -0
  118. package/dist/vercel-command.d.ts +14 -0
  119. package/dist/vercel-command.d.ts.map +1 -0
  120. package/dist/vercel-command.js +93 -0
  121. package/dist/vercel-command.js.map +1 -0
  122. package/dist/vercel-executor.d.ts +14 -0
  123. package/dist/vercel-executor.d.ts.map +1 -0
  124. package/dist/vercel-executor.js +356 -0
  125. package/dist/vercel-executor.js.map +1 -0
  126. package/dist/vercel-fetch.d.ts +6 -0
  127. package/dist/vercel-fetch.d.ts.map +1 -0
  128. package/dist/vercel-fetch.js +39 -0
  129. package/dist/vercel-fetch.js.map +1 -0
  130. package/dist/vercel-profile.d.ts +34 -0
  131. package/dist/vercel-profile.d.ts.map +1 -0
  132. package/dist/vercel-profile.js +244 -0
  133. package/dist/vercel-profile.js.map +1 -0
  134. package/dist/vercel-runtime-image.d.ts +51 -0
  135. package/dist/vercel-runtime-image.d.ts.map +1 -0
  136. package/dist/vercel-runtime-image.js +123 -0
  137. package/dist/vercel-runtime-image.js.map +1 -0
  138. package/dist/vercel-setup-probe.d.ts +49 -0
  139. package/dist/vercel-setup-probe.d.ts.map +1 -0
  140. package/dist/vercel-setup-probe.js +151 -0
  141. package/dist/vercel-setup-probe.js.map +1 -0
  142. package/dist/vercel-setup.d.ts +42 -0
  143. package/dist/vercel-setup.d.ts.map +1 -0
  144. package/dist/vercel-setup.js +280 -0
  145. package/dist/vercel-setup.js.map +1 -0
  146. package/docs/evaluations.md +15 -12
  147. package/docs/operations.md +134 -21
  148. package/package.json +8 -6
  149. package/src/agent-smoke-main.ts +3 -2
  150. package/src/agent-smoke.ts +8 -2
  151. package/src/api.ts +71 -20
  152. package/src/artifacts.ts +0 -4
  153. package/src/cli.ts +81 -11
  154. package/src/codex-review.ts +63 -54
  155. package/src/config.ts +150 -28
  156. package/src/contracts.ts +33 -11
  157. package/src/eval-main.ts +5 -4
  158. package/src/evaluate.ts +18 -11
  159. package/src/harbor-environment.ts +17 -0
  160. package/src/harbor-results.ts +2 -0
  161. package/src/process.ts +3 -1
  162. package/src/provenance.ts +0 -1
  163. package/src/providers.ts +22 -0
  164. package/src/reaudit-main.ts +17 -11
  165. package/src/repair-main.ts +15 -9
  166. package/src/sandbox-repair.ts +7 -11
  167. package/src/sandbox-review.ts +5 -3
  168. package/src/sandbox-timeout.ts +56 -0
  169. package/src/sandbox-validation-repair.ts +13 -10
  170. package/src/sandbox.ts +15 -5
  171. package/src/subscription-auth.ts +30 -17
  172. package/src/{activities.ts → temporal/activities.ts} +53 -42
  173. package/src/{temporal.ts → temporal/connection.ts} +1 -1
  174. package/src/{worker-main.ts → temporal/worker-main.ts} +6 -10
  175. package/src/{workflow.ts → temporal/workflow.ts} +10 -10
  176. package/src/terminal-prompts.ts +197 -0
  177. package/src/terminal-reporter.ts +126 -0
  178. package/src/validate-main.ts +9 -3
  179. package/src/vercel-cli.ts +403 -0
  180. package/src/vercel-command.ts +127 -0
  181. package/src/vercel-executor.ts +448 -0
  182. package/src/vercel-fetch.ts +45 -0
  183. package/src/vercel-profile.ts +319 -0
  184. package/src/vercel-runtime-image.ts +204 -0
  185. package/src/vercel-setup-probe.ts +229 -0
  186. package/src/vercel-setup.ts +419 -0
  187. package/dist/activities.d.ts.map +0 -1
  188. package/dist/activities.js.map +0 -1
  189. package/dist/extensions/review.d.ts +0 -3
  190. package/dist/extensions/review.d.ts.map +0 -1
  191. package/dist/extensions/review.js +0 -44
  192. package/dist/extensions/review.js.map +0 -1
  193. package/dist/review/assets/index-Dq-6DFzI.css +0 -1
  194. package/dist/review/assets/index-DurW_RD7.js +0 -1567
  195. package/dist/review/assets/typst-DHCkPAjA.js +0 -1
  196. package/dist/temporal.d.ts.map +0 -1
  197. package/dist/temporal.js.map +0 -1
  198. package/dist/worker-main.js.map +0 -1
  199. package/dist/workflow.d.ts.map +0 -1
  200. package/dist/workflow.js.map +0 -1
  201. package/src/extensions/review.ts +0 -54
  202. /package/dist/{worker-main.d.ts → temporal/worker-main.d.ts} +0 -0
  203. /package/dist/{workflow.js → temporal/workflow.js} +0 -0
@@ -6,8 +6,8 @@
6
6
  <meta name="color-scheme" content="light dark" />
7
7
  <meta name="theme-color" content="#f4f5f7" />
8
8
  <title>SelfBench Review</title>
9
- <script type="module" crossorigin src="/assets/index-DurW_RD7.js"></script>
10
- <link rel="stylesheet" crossorigin href="/assets/index-Dq-6DFzI.css">
9
+ <script type="module" crossorigin src="/assets/index-CZ3G759O.js"></script>
10
+ <link rel="stylesheet" crossorigin href="/assets/index-DgSLzX8l.css">
11
11
  </head>
12
12
  <body>
13
13
  <div id="root"></div>
@@ -14298,6 +14298,18 @@ function date4(params) {
14298
14298
 
14299
14299
  // node_modules/zod/v4/classic/external.js
14300
14300
  config(en_default());
14301
+ // src/providers.ts
14302
+ var EXECUTION_BACKENDS = ["docker", "modal", "vercel"];
14303
+ var HARBOR_ENVIRONMENTS = ["docker", "modal"];
14304
+ var executionBackends = new Set(EXECUTION_BACKENDS);
14305
+ var harborEnvironments = new Set(HARBOR_ENVIRONMENTS);
14306
+ function isHarborEnvironment(value) {
14307
+ return harborEnvironments.has(value);
14308
+ }
14309
+ function matchingHarborEnvironment(backend) {
14310
+ return isHarborEnvironment(backend) ? backend : undefined;
14311
+ }
14312
+
14301
14313
  // src/contracts.ts
14302
14314
  var commitSchema = exports_external.string().regex(/^[0-9a-f]{40}$/i, "expected a full commit SHA");
14303
14315
  var repositoryRefSchema = exports_external.object({
@@ -14320,6 +14332,33 @@ var candidateCountsSchema = exports_external.object({
14320
14332
  }).refine(({ easy, medium, hard }) => easy + medium + hard <= 100, {
14321
14333
  message: "at most 100 candidates may be requested"
14322
14334
  });
14335
+ var runVersionSchema = exports_external.object({
14336
+ selfbenchCommit: commitSchema,
14337
+ executionBackend: exports_external.enum(EXECUTION_BACKENDS),
14338
+ harborEnvironment: exports_external.enum(HARBOR_ENVIRONMENTS).optional(),
14339
+ sandboxImage: exports_external.string().min(1),
14340
+ sandboxTimeoutCapMs: exports_external.number().int().min(100).optional(),
14341
+ schema: exports_external.literal(1)
14342
+ }).transform((version2, context) => {
14343
+ const harborEnvironment = version2.harborEnvironment ?? matchingHarborEnvironment(version2.executionBackend);
14344
+ if (!harborEnvironment) {
14345
+ context.addIssue({
14346
+ code: "custom",
14347
+ message: `harborEnvironment is required for ${version2.executionBackend} execution`,
14348
+ path: ["harborEnvironment"]
14349
+ });
14350
+ return exports_external.NEVER;
14351
+ }
14352
+ if (version2.sandboxTimeoutCapMs !== undefined && version2.executionBackend !== "vercel") {
14353
+ context.addIssue({
14354
+ code: "custom",
14355
+ message: "sandboxTimeoutCapMs is only valid for Vercel execution",
14356
+ path: ["sandboxTimeoutCapMs"]
14357
+ });
14358
+ return exports_external.NEVER;
14359
+ }
14360
+ return { ...version2, harborEnvironment };
14361
+ });
14323
14362
  var runRequestSchema = exports_external.object({
14324
14363
  runId: exports_external.string().regex(/^[a-z0-9][a-z0-9-]{2,62}$/),
14325
14364
  repository: repositoryRefSchema,
@@ -14330,12 +14369,7 @@ var runRequestSchema = exports_external.object({
14330
14369
  model: exports_external.string().min(1),
14331
14370
  reasoningEffort: exports_external.literal("high")
14332
14371
  }),
14333
- version: exports_external.object({
14334
- selfbenchCommit: commitSchema,
14335
- executionBackend: exports_external.enum(["docker", "modal"]),
14336
- sandboxImage: exports_external.string().min(1),
14337
- schema: exports_external.literal(1)
14338
- })
14372
+ version: runVersionSchema
14339
14373
  });
14340
14374
  var candidateSchema = exports_external.object({
14341
14375
  candidateId: exports_external.string().regex(/^[A-Za-z0-9][A-Za-z0-9._-]*$/),
@@ -233,10 +233,16 @@ await runCommand("git", [
233
233
  join(taskDirectory, "tests/test.patch")
234
234
  ]);
235
235
  await runCommand("git", ["-C", repositoryDirectory, "add", "-N", "--all"]);
236
+ var codexAuth = process.env.SELFBENCH_CODEX_AUTH_JSON;
237
+ var apiKey = process.env.OPENAI_API_KEY;
238
+ if (!apiKey && !codexAuth) {
239
+ fail("OPENAI_API_KEY or SELFBENCH_CODEX_AUTH_JSON is required");
240
+ }
236
241
  var codexHome = join(homedir(), ".codex");
237
242
  var authPath = join(codexHome, "auth.json");
238
243
  await mkdir(codexHome, { recursive: true });
239
- await writeFile(authPath, process.env.SELFBENCH_CODEX_AUTH_JSON ?? fail("SELFBENCH_CODEX_AUTH_JSON is required"));
244
+ await writeFile(authPath, codexAuth ?? `${JSON.stringify({ OPENAI_API_KEY: apiKey })}
245
+ `);
240
246
  await chmod(authPath, 384);
241
247
  var promptPath = join(tmpdir(), `selfbench-repair-${taskId}.md`);
242
248
  await writeFile(promptPath, repairPrompt({
@@ -259,7 +265,7 @@ var codex = await runCommand("codex", [
259
265
  ], {
260
266
  allowFailure: true,
261
267
  timeoutMs: 90 * 60 * 1000,
262
- env: withoutApiKey(process.env),
268
+ env: process.env,
263
269
  input: await readFile(promptPath, "utf8"),
264
270
  onOutput: (stream, chunk) => {
265
271
  (stream === "stdout" ? process.stdout : process.stderr).write(chunk);
@@ -304,11 +310,6 @@ await writeFile(outputReport, `${JSON.stringify({
304
310
  codexOutputTail: codex.stdout.slice(-4000)
305
311
  }, null, 2)}
306
312
  `);
307
- function withoutApiKey(environment) {
308
- const output = { ...environment };
309
- delete output.OPENAI_API_KEY;
310
- return output;
311
- }
312
313
  function fail(message) {
313
314
  throw new Error(message);
314
315
  }
@@ -41,10 +41,15 @@ await runCommand("git", [
41
41
  join(taskDirectory, "tests/test.patch"),
42
42
  ]);
43
43
  await runCommand("git", ["-C", repositoryDirectory, "add", "-N", "--all"]);
44
+ const codexAuth = process.env.SELFBENCH_CODEX_AUTH_JSON;
45
+ const apiKey = process.env.OPENAI_API_KEY;
46
+ if (!apiKey && !codexAuth) {
47
+ fail("OPENAI_API_KEY or SELFBENCH_CODEX_AUTH_JSON is required");
48
+ }
44
49
  const codexHome = join(homedir(), ".codex");
45
50
  const authPath = join(codexHome, "auth.json");
46
51
  await mkdir(codexHome, { recursive: true });
47
- await writeFile(authPath, process.env.SELFBENCH_CODEX_AUTH_JSON ?? fail("SELFBENCH_CODEX_AUTH_JSON is required"));
52
+ await writeFile(authPath, codexAuth ?? `${JSON.stringify({ OPENAI_API_KEY: apiKey })}\n`);
48
53
  await chmod(authPath, 0o600);
49
54
  const promptPath = join(tmpdir(), `selfbench-repair-${taskId}.md`);
50
55
  await writeFile(promptPath, repairPrompt({
@@ -67,7 +72,7 @@ const codex = await runCommand("codex", [
67
72
  ], {
68
73
  allowFailure: true,
69
74
  timeoutMs: 90 * 60 * 1000,
70
- env: withoutApiKey(process.env),
75
+ env: process.env,
71
76
  input: await readFile(promptPath, "utf8"),
72
77
  onOutput: (stream, chunk) => {
73
78
  (stream === "stdout" ? process.stdout : process.stderr).write(chunk);
@@ -110,11 +115,6 @@ await writeFile(outputReport, `${JSON.stringify({
110
115
  repairedTestPatchSha256: sha256(repaired.stdout),
111
116
  codexOutputTail: codex.stdout.slice(-4_000),
112
117
  }, null, 2)}\n`);
113
- function withoutApiKey(environment) {
114
- const output = { ...environment };
115
- delete output.OPENAI_API_KEY;
116
- return output;
117
- }
118
118
  function fail(message) {
119
119
  throw new Error(message);
120
120
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox-repair.js","sourceRoot":"","sources":["../src/sandbox-repair.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandbox-repair.js","sourceRoot":"","sources":["../src/sandbox-repair.ts"],"names":[],"mappings":"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"}
@@ -14312,14 +14312,16 @@ var couplingReviewSchema = exports_external.object({
14312
14312
  counterexample: exports_external.string().min(1)
14313
14313
  });
14314
14314
  async function reviewCouplingWithCodex(input) {
14315
- const credential = parseCredential(input.authJson);
14316
- const accountId = accountIdFromToken(credential.access);
14315
+ const subscription = !input.apiKey && input.authJson ? parseCredential(input.authJson) : undefined;
14316
+ if (!input.apiKey && !subscription) {
14317
+ throw new Error("OpenAI model authentication is required");
14318
+ }
14317
14319
  const request = input.fetch ?? fetch;
14318
- const response = await request("https://chatgpt.com/backend-api/codex/responses", {
14320
+ const response = await request(subscription ? "https://chatgpt.com/backend-api/codex/responses" : "https://api.openai.com/v1/responses", {
14319
14321
  method: "POST",
14320
14322
  headers: {
14321
- Authorization: `Bearer ${credential.access}`,
14322
- "ChatGPT-Account-Id": accountId,
14323
+ Authorization: `Bearer ${subscription?.access ?? input.apiKey}`,
14324
+ ...subscription ? { "ChatGPT-Account-Id": accountIdFromToken(subscription.access) } : {},
14323
14325
  Originator: "selfbench",
14324
14326
  "OpenAI-Beta": "responses=experimental",
14325
14327
  Accept: "text/event-stream",
@@ -14351,6 +14353,23 @@ async function reviewCouplingWithCodex(input) {
14351
14353
  }
14352
14354
  return parseCodexReviewEvents(responseText);
14353
14355
  }
14356
+ function parseCredential(value) {
14357
+ const parsed = JSON.parse(value);
14358
+ const credential = isRecord(parsed) ? parsed["openai-codex"] : undefined;
14359
+ if (!isRecord(credential) || typeof credential.access !== "string") {
14360
+ throw new Error("Pi auth does not contain an OpenAI Codex subscription access token");
14361
+ }
14362
+ return { access: credential.access };
14363
+ }
14364
+ function accountIdFromToken(token) {
14365
+ const payload = JSON.parse(Buffer.from(token.split(".")[1] ?? "", "base64url").toString("utf8"));
14366
+ const auth = isRecord(payload) ? payload["https://api.openai.com/auth"] : undefined;
14367
+ const accountId = isRecord(auth) ? auth.chatgpt_account_id : undefined;
14368
+ if (typeof accountId !== "string" || !accountId) {
14369
+ throw new Error("OpenAI Codex subscription token has no ChatGPT account ID");
14370
+ }
14371
+ return accountId;
14372
+ }
14354
14373
  function parseCodexReviewEvents(value) {
14355
14374
  for (const line of value.split(`
14356
14375
  `)) {
@@ -14375,23 +14394,6 @@ function parseCodexReviewEvents(value) {
14375
14394
  }
14376
14395
  throw new Error("Codex coupling review returned no submit_review tool call");
14377
14396
  }
14378
- function parseCredential(value) {
14379
- const parsed = JSON.parse(value);
14380
- const credential = isRecord(parsed) ? parsed["openai-codex"] : undefined;
14381
- if (!isRecord(credential) || typeof credential.access !== "string") {
14382
- throw new Error("Pi auth does not contain an OpenAI Codex subscription access token");
14383
- }
14384
- return { access: credential.access };
14385
- }
14386
- function accountIdFromToken(token) {
14387
- const payload = JSON.parse(Buffer.from(token.split(".")[1] ?? "", "base64url").toString("utf8"));
14388
- const auth = isRecord(payload) ? payload["https://api.openai.com/auth"] : undefined;
14389
- const accountId = isRecord(auth) ? auth.chatgpt_account_id : undefined;
14390
- if (typeof accountId !== "string" || !accountId) {
14391
- throw new Error("OpenAI Codex subscription token has no ChatGPT account ID");
14392
- }
14393
- return accountId;
14394
- }
14395
14397
  function reviewTool() {
14396
14398
  return {
14397
14399
  type: "function",
@@ -14442,16 +14444,18 @@ function isRecord(value) {
14442
14444
  }
14443
14445
 
14444
14446
  // src/sandbox-review.ts
14447
+ var apiKey = process.env.OPENAI_API_KEY;
14445
14448
  var authJson = process.env.SELFBENCH_PI_AUTH_JSON;
14446
14449
  var outputPath = process.env.SELFBENCH_REVIEW_OUTPUT;
14447
- if (!authJson) {
14448
- throw new Error("SELFBENCH_PI_AUTH_JSON is required");
14450
+ if (!apiKey && !authJson) {
14451
+ throw new Error("OPENAI_API_KEY or SELFBENCH_PI_AUTH_JSON is required");
14449
14452
  }
14450
14453
  if (!outputPath) {
14451
14454
  throw new Error("SELFBENCH_REVIEW_OUTPUT is required");
14452
14455
  }
14453
14456
  var review = await reviewCouplingWithCodex({
14454
- authJson,
14457
+ ...apiKey ? { apiKey } : {},
14458
+ ...authJson ? { authJson } : {},
14455
14459
  prompt: await readFile("/work/review-input.md", "utf8")
14456
14460
  });
14457
14461
  await writeFile(outputPath, `${JSON.stringify(review, null, 2)}
@@ -1,15 +1,17 @@
1
1
  import { readFile, writeFile } from "node:fs/promises";
2
2
  import { reviewCouplingWithCodex } from "./codex-review.js";
3
+ const apiKey = process.env.OPENAI_API_KEY;
3
4
  const authJson = process.env.SELFBENCH_PI_AUTH_JSON;
4
5
  const outputPath = process.env.SELFBENCH_REVIEW_OUTPUT;
5
- if (!authJson) {
6
- throw new Error("SELFBENCH_PI_AUTH_JSON is required");
6
+ if (!apiKey && !authJson) {
7
+ throw new Error("OPENAI_API_KEY or SELFBENCH_PI_AUTH_JSON is required");
7
8
  }
8
9
  if (!outputPath) {
9
10
  throw new Error("SELFBENCH_REVIEW_OUTPUT is required");
10
11
  }
11
12
  const review = await reviewCouplingWithCodex({
12
- authJson,
13
+ ...(apiKey ? { apiKey } : {}),
14
+ ...(authJson ? { authJson } : {}),
13
15
  prompt: await readFile("/work/review-input.md", "utf8"),
14
16
  });
15
17
  await writeFile(outputPath, `${JSON.stringify(review, null, 2)}\n`, { flag: "wx" });
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox-review.js","sourceRoot":"","sources":["../src/sandbox-review.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;AACpD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;AACvD,IAAI,CAAC,QAAQ,EAAE,CAAC;IACd,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;AACxD,CAAC;AACD,IAAI,CAAC,UAAU,EAAE,CAAC;IAChB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC;IAC3C,QAAQ;IACR,MAAM,EAAE,MAAM,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;CACxD,CAAC,CAAC;AACH,MAAM,SAAS,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"sandbox-review.js","sourceRoot":"","sources":["../src/sandbox-review.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;AAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;AACpD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;AACvD,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;AAC1E,CAAC;AACD,IAAI,CAAC,UAAU,EAAE,CAAC;IAChB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC;IAC3C,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7B,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjC,MAAM,EAAE,MAAM,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;CACxD,CAAC,CAAC;AACH,MAAM,SAAS,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { SandboxExecutor, SandboxRequest, SandboxResult, SandboxRunOptions } from "./sandbox.js";
2
+ export declare const STANDARD_VERCEL_TIMEOUT_CAP_MS: number;
3
+ export declare const HOBBY_VERCEL_TIMEOUT_CAP_MS: number;
4
+ export declare function parseSandboxTimeoutCapText(value: string): number | undefined;
5
+ export declare class TimeoutCappedSandboxExecutor implements SandboxExecutor {
6
+ #private;
7
+ constructor(delegate: SandboxExecutor, timeoutCapMs: number);
8
+ run(request: SandboxRequest, options?: SandboxRunOptions): Promise<SandboxResult>;
9
+ close(): void;
10
+ }
11
+ //# sourceMappingURL=sandbox-timeout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-timeout.d.ts","sourceRoot":"","sources":["../src/sandbox-timeout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,aAAa,EACb,iBAAiB,EAClB,MAAM,cAAc,CAAC;AAEtB,eAAO,MAAM,8BAA8B,QAAsB,CAAC;AAClE,eAAO,MAAM,2BAA2B,QAAkB,CAAC;AAE3D,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAmB5E;AAED,qBAAa,4BAA6B,YAAW,eAAe;;gBAItD,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM;IAQrD,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IASvF,KAAK,IAAI,IAAI;CAGd"}
@@ -0,0 +1,41 @@
1
+ export const STANDARD_VERCEL_TIMEOUT_CAP_MS = 2 * 60 * 60 * 1_000;
2
+ export const HOBBY_VERCEL_TIMEOUT_CAP_MS = 45 * 60 * 1_000;
3
+ export function parseSandboxTimeoutCapText(value) {
4
+ const normalized = value.trim().toLowerCase();
5
+ if (normalized === "") {
6
+ return undefined;
7
+ }
8
+ const match = /^(\d+)(ms|s|m|h)?$/.exec(normalized);
9
+ if (!match?.[1]) {
10
+ return Number.NaN;
11
+ }
12
+ const amount = Number(match[1]);
13
+ const multiplier = match[2] === "h"
14
+ ? 60 * 60 * 1_000
15
+ : match[2] === "m"
16
+ ? 60 * 1_000
17
+ : match[2] === "s"
18
+ ? 1_000
19
+ : 1;
20
+ return amount * multiplier;
21
+ }
22
+ export class TimeoutCappedSandboxExecutor {
23
+ #delegate;
24
+ #timeoutCapMs;
25
+ constructor(delegate, timeoutCapMs) {
26
+ if (!Number.isInteger(timeoutCapMs) || timeoutCapMs < 100) {
27
+ throw new Error("sandbox timeout cap must be an integer of at least 100ms");
28
+ }
29
+ this.#delegate = delegate;
30
+ this.#timeoutCapMs = timeoutCapMs;
31
+ }
32
+ async run(request, options) {
33
+ return await this.#delegate.run(request.timeoutMs > this.#timeoutCapMs
34
+ ? { ...request, timeoutMs: this.#timeoutCapMs }
35
+ : request, options);
36
+ }
37
+ close() {
38
+ this.#delegate.close();
39
+ }
40
+ }
41
+ //# sourceMappingURL=sandbox-timeout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-timeout.js","sourceRoot":"","sources":["../src/sandbox-timeout.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;AAClE,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;AAE3D,MAAM,UAAU,0BAA0B,CAAC,KAAa;IACtD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpD,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC,GAAG,CAAC;IACpB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,UAAU,GACd,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG;QACd,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,KAAK;QACjB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG;YAChB,CAAC,CAAC,EAAE,GAAG,KAAK;YACZ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG;gBAChB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,CAAC,CAAC;IACZ,OAAO,MAAM,GAAG,UAAU,CAAC;AAC7B,CAAC;AAED,MAAM,OAAO,4BAA4B;IAC9B,SAAS,CAAkB;IAC3B,aAAa,CAAS;IAE/B,YAAY,QAAyB,EAAE,YAAoB;QACzD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,YAAY,GAAG,GAAG,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,OAAuB,EAAE,OAA2B;QAC5D,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAC7B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa;YACpC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE;YAC/C,CAAC,CAAC,OAAO,EACX,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;CACF"}
@@ -14295,6 +14295,18 @@ function date4(params) {
14295
14295
 
14296
14296
  // node_modules/zod/v4/classic/external.js
14297
14297
  config(en_default());
14298
+ // src/providers.ts
14299
+ var EXECUTION_BACKENDS = ["docker", "modal", "vercel"];
14300
+ var HARBOR_ENVIRONMENTS = ["docker", "modal"];
14301
+ var executionBackends = new Set(EXECUTION_BACKENDS);
14302
+ var harborEnvironments = new Set(HARBOR_ENVIRONMENTS);
14303
+ function isHarborEnvironment(value) {
14304
+ return harborEnvironments.has(value);
14305
+ }
14306
+ function matchingHarborEnvironment(backend) {
14307
+ return isHarborEnvironment(backend) ? backend : undefined;
14308
+ }
14309
+
14298
14310
  // src/contracts.ts
14299
14311
  var commitSchema = exports_external.string().regex(/^[0-9a-f]{40}$/i, "expected a full commit SHA");
14300
14312
  var repositoryRefSchema = exports_external.object({
@@ -14317,6 +14329,33 @@ var candidateCountsSchema = exports_external.object({
14317
14329
  }).refine(({ easy, medium, hard }) => easy + medium + hard <= 100, {
14318
14330
  message: "at most 100 candidates may be requested"
14319
14331
  });
14332
+ var runVersionSchema = exports_external.object({
14333
+ selfbenchCommit: commitSchema,
14334
+ executionBackend: exports_external.enum(EXECUTION_BACKENDS),
14335
+ harborEnvironment: exports_external.enum(HARBOR_ENVIRONMENTS).optional(),
14336
+ sandboxImage: exports_external.string().min(1),
14337
+ sandboxTimeoutCapMs: exports_external.number().int().min(100).optional(),
14338
+ schema: exports_external.literal(1)
14339
+ }).transform((version2, context) => {
14340
+ const harborEnvironment = version2.harborEnvironment ?? matchingHarborEnvironment(version2.executionBackend);
14341
+ if (!harborEnvironment) {
14342
+ context.addIssue({
14343
+ code: "custom",
14344
+ message: `harborEnvironment is required for ${version2.executionBackend} execution`,
14345
+ path: ["harborEnvironment"]
14346
+ });
14347
+ return exports_external.NEVER;
14348
+ }
14349
+ if (version2.sandboxTimeoutCapMs !== undefined && version2.executionBackend !== "vercel") {
14350
+ context.addIssue({
14351
+ code: "custom",
14352
+ message: "sandboxTimeoutCapMs is only valid for Vercel execution",
14353
+ path: ["sandboxTimeoutCapMs"]
14354
+ });
14355
+ return exports_external.NEVER;
14356
+ }
14357
+ return { ...version2, harborEnvironment };
14358
+ });
14320
14359
  var runRequestSchema = exports_external.object({
14321
14360
  runId: exports_external.string().regex(/^[a-z0-9][a-z0-9-]{2,62}$/),
14322
14361
  repository: repositoryRefSchema,
@@ -14327,12 +14366,7 @@ var runRequestSchema = exports_external.object({
14327
14366
  model: exports_external.string().min(1),
14328
14367
  reasoningEffort: exports_external.literal("high")
14329
14368
  }),
14330
- version: exports_external.object({
14331
- selfbenchCommit: commitSchema,
14332
- executionBackend: exports_external.enum(["docker", "modal"]),
14333
- sandboxImage: exports_external.string().min(1),
14334
- schema: exports_external.literal(1)
14335
- })
14369
+ version: runVersionSchema
14336
14370
  });
14337
14371
  var candidateSchema = exports_external.object({
14338
14372
  candidateId: exports_external.string().regex(/^[A-Za-z0-9][A-Za-z0-9._-]*$/),
@@ -14660,10 +14694,15 @@ await Promise.all([
14660
14694
  writeFile("/work/test.sh", await readFile(join(taskDirectory, "tests/test.sh")))
14661
14695
  ]);
14662
14696
  var piHome = join(homedir(), ".pi/agent");
14663
- var piAuth = process.env.SELFBENCH_PI_AUTH_JSON ?? fail("SELFBENCH_PI_AUTH_JSON is required");
14697
+ var piAuth = process.env.SELFBENCH_PI_AUTH_JSON;
14698
+ if (!process.env.OPENAI_API_KEY && !piAuth) {
14699
+ fail("OPENAI_API_KEY or SELFBENCH_PI_AUTH_JSON is required");
14700
+ }
14664
14701
  await mkdir(piHome, { recursive: true });
14665
14702
  await Promise.all([
14666
- writeFile(join(piHome, "auth.json"), piAuth).then(() => chmod(join(piHome, "auth.json"), 384)),
14703
+ ...piAuth ? [
14704
+ writeFile(join(piHome, "auth.json"), piAuth).then(() => chmod(join(piHome, "auth.json"), 384))
14705
+ ] : [],
14667
14706
  writeFile(join(piHome, "settings.json"), `${JSON.stringify({ transport: "auto" })}
14668
14707
  `)
14669
14708
  ]);
@@ -14685,7 +14724,7 @@ var pi = await runCommand("pi", [
14685
14724
  "--no-context-files",
14686
14725
  "--no-extensions",
14687
14726
  "--provider",
14688
- "openai-codex",
14727
+ process.env.OPENAI_API_KEY ? "openai" : "openai-codex",
14689
14728
  "--model",
14690
14729
  process.env.SELFBENCH_REPAIR_MODEL ?? "gpt-5.6-sol",
14691
14730
  "--thinking",
@@ -14697,7 +14736,7 @@ var pi = await runCommand("pi", [
14697
14736
  allowFailure: true,
14698
14737
  timeoutMs: 90 * 60 * 1000,
14699
14738
  cwd: repositoryDirectory,
14700
- env: withoutApiKey(process.env),
14739
+ env: process.env,
14701
14740
  onOutput: (stream, chunk) => {
14702
14741
  (stream === "stdout" ? process.stdout : process.stderr).write(chunk);
14703
14742
  }
@@ -14734,11 +14773,6 @@ await Promise.all([
14734
14773
  }, null, 2)}
14735
14774
  `)
14736
14775
  ]);
14737
- function withoutApiKey(environment) {
14738
- const output = { ...environment };
14739
- delete output.OPENAI_API_KEY;
14740
- return output;
14741
- }
14742
14776
  function fail(message) {
14743
14777
  throw new Error(message);
14744
14778
  }
@@ -51,10 +51,17 @@ await Promise.all([
51
51
  writeFile("/work/test.sh", await readFile(join(taskDirectory, "tests/test.sh"))),
52
52
  ]);
53
53
  const piHome = join(homedir(), ".pi/agent");
54
- const piAuth = process.env.SELFBENCH_PI_AUTH_JSON ?? fail("SELFBENCH_PI_AUTH_JSON is required");
54
+ const piAuth = process.env.SELFBENCH_PI_AUTH_JSON;
55
+ if (!process.env.OPENAI_API_KEY && !piAuth) {
56
+ fail("OPENAI_API_KEY or SELFBENCH_PI_AUTH_JSON is required");
57
+ }
55
58
  await mkdir(piHome, { recursive: true });
56
59
  await Promise.all([
57
- writeFile(join(piHome, "auth.json"), piAuth).then(() => chmod(join(piHome, "auth.json"), 0o600)),
60
+ ...(piAuth
61
+ ? [
62
+ writeFile(join(piHome, "auth.json"), piAuth).then(() => chmod(join(piHome, "auth.json"), 0o600)),
63
+ ]
64
+ : []),
58
65
  writeFile(join(piHome, "settings.json"), `${JSON.stringify({ transport: "auto" })}\n`),
59
66
  ]);
60
67
  const promptPath = join(tmpdir(), `selfbench-validation-repair-${originalDefinition.taskId}.md`);
@@ -75,7 +82,7 @@ const pi = await runCommand("pi", [
75
82
  "--no-context-files",
76
83
  "--no-extensions",
77
84
  "--provider",
78
- "openai-codex",
85
+ process.env.OPENAI_API_KEY ? "openai" : "openai-codex",
79
86
  "--model",
80
87
  process.env.SELFBENCH_REPAIR_MODEL ?? "gpt-5.6-sol",
81
88
  "--thinking",
@@ -87,7 +94,7 @@ const pi = await runCommand("pi", [
87
94
  allowFailure: true,
88
95
  timeoutMs: 90 * 60 * 1000,
89
96
  cwd: repositoryDirectory,
90
- env: withoutApiKey(process.env),
97
+ env: process.env,
91
98
  onOutput: (stream, chunk) => {
92
99
  (stream === "stdout" ? process.stdout : process.stderr).write(chunk);
93
100
  },
@@ -123,11 +130,6 @@ await Promise.all([
123
130
  piOutputTail: pi.stdout.slice(-4_000),
124
131
  }, null, 2)}\n`),
125
132
  ]);
126
- function withoutApiKey(environment) {
127
- const output = { ...environment };
128
- delete output.OPENAI_API_KEY;
129
- return output;
130
- }
131
133
  function fail(message) {
132
134
  throw new Error(message);
133
135
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox-validation-repair.js","sourceRoot":"","sources":["../src/sandbox-validation-repair.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandbox-validation-repair.js","sourceRoot":"","sources":["../src/sandbox-validation-repair.ts"],"names":[],"mappings":"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"}
package/dist/sandbox.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { SelfBenchConfig } from "./config.js";
1
+ import type { SelfBenchWorkerConfig } from "./config.js";
2
2
  export interface SandboxFile {
3
3
  readonly path: string;
4
4
  readonly contents: Uint8Array | string;
@@ -35,5 +35,5 @@ export interface SandboxExecutor {
35
35
  run(request: SandboxRequest, options?: SandboxRunOptions): Promise<SandboxResult>;
36
36
  close(): void;
37
37
  }
38
- export declare function createSandboxExecutor(config: SelfBenchConfig["execution"]): SandboxExecutor;
38
+ export declare function createSandboxExecutor(config: SelfBenchWorkerConfig["execution"]): SandboxExecutor;
39
39
  //# sourceMappingURL=sandbox.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAInD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,CAAC;CACxC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACxD,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;CAC3D;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAClF,KAAK,IAAI,IAAI,CAAC;CACf;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,eAAe,CAAC,WAAW,CAAC,GAAG,eAAe,CAI3F"}
1
+ {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAMzD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,CAAC;CACxC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACxD,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;CAC3D;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAClF,KAAK,IAAI,IAAI,CAAC;CACf;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,qBAAqB,CAAC,WAAW,CAAC,GAAG,eAAe,CAYjG"}
package/dist/sandbox.js CHANGED
@@ -1,8 +1,15 @@
1
1
  import { DockerSandboxExecutor } from "./docker-executor.js";
2
2
  import { ModalSandboxExecutor } from "./modal-executor.js";
3
+ import { TimeoutCappedSandboxExecutor } from "./sandbox-timeout.js";
4
+ import { VercelSandboxExecutor } from "./vercel-executor.js";
3
5
  export function createSandboxExecutor(config) {
4
- return config.kind === "modal"
5
- ? new ModalSandboxExecutor(config)
6
- : new DockerSandboxExecutor(config);
6
+ switch (config.kind) {
7
+ case "docker":
8
+ return new DockerSandboxExecutor(config);
9
+ case "modal":
10
+ return new ModalSandboxExecutor(config);
11
+ case "vercel":
12
+ return new TimeoutCappedSandboxExecutor(new VercelSandboxExecutor(config), config.timeoutCapMs);
13
+ }
7
14
  }
8
15
  //# sourceMappingURL=sandbox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AA4C3D,MAAM,UAAU,qBAAqB,CAAC,MAAoC;IACxE,OAAO,MAAM,CAAC,IAAI,KAAK,OAAO;QAC5B,CAAC,CAAC,IAAI,oBAAoB,CAAC,MAAM,CAAC;QAClC,CAAC,CAAC,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AA4C7D,MAAM,UAAU,qBAAqB,CAAC,MAA0C;IAC9E,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,QAAQ;YACX,OAAO,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAC3C,KAAK,OAAO;YACV,OAAO,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC1C,KAAK,QAAQ;YACX,OAAO,IAAI,4BAA4B,CACrC,IAAI,qBAAqB,CAAC,MAAM,CAAC,EACjC,MAAM,CAAC,YAAY,CACpB,CAAC;IACN,CAAC;AACH,CAAC"}
@@ -1,6 +1,17 @@
1
+ export interface PiModelAuth {
2
+ readonly provider: "openai" | "openai-codex";
3
+ readonly apiKey?: string;
4
+ readonly authJson?: string;
5
+ }
6
+ export interface CodexModelAuth {
7
+ readonly apiKey?: string;
8
+ readonly authJson?: string;
9
+ }
10
+ export declare function openAiApiKey(): string | undefined;
11
+ export declare function loadPiModelAuth(): Promise<PiModelAuth>;
12
+ export declare function loadCodexModelAuth(): Promise<CodexModelAuth>;
1
13
  export declare function loadPiSubscriptionAuth(): Promise<string>;
2
14
  export declare function assertCodexSubscriptionAuth(value: unknown, source?: string): void;
3
15
  export declare function loadCodexSubscriptionAuth(): Promise<string>;
4
- export declare function subscriptionBearerToken(model: string): Promise<string>;
5
16
  export declare function githubToken(): Promise<string | undefined>;
6
17
  //# sourceMappingURL=subscription-auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscription-auth.d.ts","sourceRoot":"","sources":["../src/subscription-auth.ts"],"names":[],"mappings":"AAKA,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC,CAe9D;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,SAAe,GAAG,IAAI,CAIvF;AAED,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,MAAM,CAAC,CAUjE;AAED,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAc5E;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAM/D"}
1
+ {"version":3,"file":"subscription-auth.d.ts","sourceRoot":"","sources":["../src/subscription-auth.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,cAAc,CAAC;IAC7C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAgB,YAAY,IAAI,MAAM,GAAG,SAAS,CAGjD;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,WAAW,CAAC,CAK5D;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,cAAc,CAAC,CAGlE;AAED,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC,CAe9D;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,SAAe,GAAG,IAAI,CAIvF;AAED,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,MAAM,CAAC,CAWjE;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAM/D"}