self-bench 0.3.2 → 0.3.3

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 (107) hide show
  1. package/.dockerignore +0 -1
  2. package/Dockerfile +2 -1
  3. package/README.md +101 -177
  4. package/bun.lock +12 -12
  5. package/compose.yaml +4 -4
  6. package/dist/api.d.ts.map +1 -1
  7. package/dist/api.js +40 -2
  8. package/dist/api.js.map +1 -1
  9. package/dist/artifacts.d.ts +0 -1
  10. package/dist/artifacts.d.ts.map +1 -1
  11. package/dist/artifacts.js +0 -3
  12. package/dist/artifacts.js.map +1 -1
  13. package/dist/build-metadata.js +1 -1
  14. package/dist/cli.js +8 -0
  15. package/dist/cli.js.map +1 -1
  16. package/dist/codex-review.d.ts +2 -1
  17. package/dist/codex-review.d.ts.map +1 -1
  18. package/dist/codex-review.js +26 -22
  19. package/dist/codex-review.js.map +1 -1
  20. package/dist/config.d.ts +0 -1
  21. package/dist/config.d.ts.map +1 -1
  22. package/dist/config.js +0 -2
  23. package/dist/config.js.map +1 -1
  24. package/dist/contracts.d.ts +1 -1
  25. package/dist/contracts.d.ts.map +1 -1
  26. package/dist/eval-main.js +2 -2
  27. package/dist/evaluate.d.ts.map +1 -1
  28. package/dist/evaluate.js +12 -7
  29. package/dist/evaluate.js.map +1 -1
  30. package/dist/provenance.d.ts +0 -1
  31. package/dist/provenance.d.ts.map +1 -1
  32. package/dist/provenance.js.map +1 -1
  33. package/dist/reaudit-main.js +9 -6
  34. package/dist/reaudit-main.js.map +1 -1
  35. package/dist/repair-main.js +7 -4
  36. package/dist/repair-main.js.map +1 -1
  37. package/dist/review/assets/index-CZ3G759O.js +1568 -0
  38. package/dist/review/assets/index-DgSLzX8l.css +1 -0
  39. package/dist/review/assets/{mojo-Blby8dQK.js → mojo-DJz3ZmWd.js} +1 -1
  40. package/dist/review/assets/typst-BUadGCkm.js +1 -0
  41. package/dist/review/index.html +2 -2
  42. package/dist/sandbox-repair.bundle.js +8 -7
  43. package/dist/sandbox-repair.js +7 -7
  44. package/dist/sandbox-repair.js.map +1 -1
  45. package/dist/sandbox-review.bundle.js +29 -25
  46. package/dist/sandbox-review.js +5 -3
  47. package/dist/sandbox-review.js.map +1 -1
  48. package/dist/sandbox-validation-repair.bundle.js +9 -9
  49. package/dist/sandbox-validation-repair.js +11 -9
  50. package/dist/sandbox-validation-repair.js.map +1 -1
  51. package/dist/subscription-auth.d.ts +12 -1
  52. package/dist/subscription-auth.d.ts.map +1 -1
  53. package/dist/subscription-auth.js +16 -16
  54. package/dist/subscription-auth.js.map +1 -1
  55. package/dist/{activities.d.ts → temporal/activities.d.ts} +2 -3
  56. package/dist/temporal/activities.d.ts.map +1 -0
  57. package/dist/{activities.js → temporal/activities.js} +44 -33
  58. package/dist/temporal/activities.js.map +1 -0
  59. package/dist/{temporal.d.ts → temporal/connection.d.ts} +2 -2
  60. package/dist/temporal/connection.d.ts.map +1 -0
  61. package/dist/{temporal.js → temporal/connection.js} +1 -1
  62. package/dist/temporal/connection.js.map +1 -0
  63. package/dist/{worker-main.d.ts.map → temporal/worker-main.d.ts.map} +1 -1
  64. package/dist/{worker-main.js → temporal/worker-main.js} +5 -9
  65. package/dist/temporal/worker-main.js.map +1 -0
  66. package/dist/{workflow.d.ts → temporal/workflow.d.ts} +1 -1
  67. package/dist/temporal/workflow.d.ts.map +1 -0
  68. package/dist/temporal/workflow.js.map +1 -0
  69. package/docs/evaluations.md +13 -12
  70. package/docs/operations.md +10 -19
  71. package/package.json +6 -6
  72. package/src/api.ts +40 -2
  73. package/src/artifacts.ts +0 -4
  74. package/src/cli.ts +9 -0
  75. package/src/codex-review.ts +63 -54
  76. package/src/config.ts +0 -3
  77. package/src/contracts.ts +0 -5
  78. package/src/eval-main.ts +2 -2
  79. package/src/evaluate.ts +13 -8
  80. package/src/provenance.ts +0 -1
  81. package/src/reaudit-main.ts +9 -6
  82. package/src/repair-main.ts +7 -4
  83. package/src/sandbox-repair.ts +7 -11
  84. package/src/sandbox-review.ts +5 -3
  85. package/src/sandbox-validation-repair.ts +13 -10
  86. package/src/subscription-auth.ts +30 -17
  87. package/src/{activities.ts → temporal/activities.ts} +45 -40
  88. package/src/{temporal.ts → temporal/connection.ts} +1 -1
  89. package/src/{worker-main.ts → temporal/worker-main.ts} +5 -9
  90. package/src/{workflow.ts → temporal/workflow.ts} +10 -10
  91. package/dist/activities.d.ts.map +0 -1
  92. package/dist/activities.js.map +0 -1
  93. package/dist/extensions/review.d.ts +0 -3
  94. package/dist/extensions/review.d.ts.map +0 -1
  95. package/dist/extensions/review.js +0 -44
  96. package/dist/extensions/review.js.map +0 -1
  97. package/dist/review/assets/index-Dq-6DFzI.css +0 -1
  98. package/dist/review/assets/index-DurW_RD7.js +0 -1567
  99. package/dist/review/assets/typst-DHCkPAjA.js +0 -1
  100. package/dist/temporal.d.ts.map +0 -1
  101. package/dist/temporal.js.map +0 -1
  102. package/dist/worker-main.js.map +0 -1
  103. package/dist/workflow.d.ts.map +0 -1
  104. package/dist/workflow.js.map +0 -1
  105. package/src/extensions/review.ts +0 -54
  106. /package/dist/{worker-main.d.ts → temporal/worker-main.d.ts} +0 -0
  107. /package/dist/{workflow.js → temporal/workflow.js} +0 -0
package/.dockerignore CHANGED
@@ -5,6 +5,5 @@
5
5
  dist
6
6
  jobs
7
7
  node_modules
8
- review
9
8
  tests
10
9
  *.md
package/Dockerfile CHANGED
@@ -6,8 +6,9 @@ COPY package.json bun.lock ./
6
6
  RUN bun install --frozen-lockfile
7
7
  COPY biome.json tsconfig.json tsconfig.build.json ./
8
8
  COPY src ./src
9
+ COPY review ./review
9
10
  COPY scripts ./scripts
10
- RUN bun run build:server
11
+ RUN bun run build
11
12
 
12
13
  FROM docker:29.4.0-cli AS docker-cli
13
14
 
package/README.md CHANGED
@@ -1,262 +1,186 @@
1
- # SelfBench
1
+ # self-bench
2
2
 
3
- SelfBench turns completed GitHub changes into private [Harbor](https://harborframework.com/) evaluations for coding agents. It finds real feature requests, builds tasks from the repository's base commit, hides the tests and reference solution, and checks that each task fails without a solution and passes with one.
3
+ [![npm version](https://img.shields.io/npm/v/self-bench?color=blue&label=npm)](https://www.npmjs.com/package/self-bench)
4
+ [![CI](https://github.com/mupt-ai/self-bench/actions/workflows/ci.yml/badge.svg)](https://github.com/mupt-ai/self-bench/actions/workflows/ci.yml)
5
+ [![license](https://img.shields.io/github/license/mupt-ai/self-bench?color=green)](./LICENSE)
6
+ [![Bun](https://img.shields.io/badge/runtime-Bun-f9f1e1?logo=bun&logoColor=000)](https://bun.sh/)
7
+ [![TypeScript](https://img.shields.io/badge/lang-TypeScript-3178c6?logo=typescript&logoColor=fff)](https://www.typescriptlang.org/)
4
8
 
5
- SelfBench is distributed as the [`self-bench`](https://www.npmjs.com/package/self-bench) package and installed with **Bun**.
9
+ **self-bench builds private coding-agent benchmarks from work already completed in your repository, so you can compare coding agents and models on tasks drawn from your own codebase.**
6
10
 
7
- ## Choose your setup
11
+ It finds completed requests from local coding sessions and merged GitHub pull requests, then reconstructs each task from the commit before the change. For every accepted task, self-bench creates hidden tests and a reference solution, proves that the task fails without a solution and passes with the original implementation, and exports a native task for [Harbor](https://harborframework.com/), a runner for coding-agent evaluations.
8
12
 
9
- | Setup | Best for | Execution | State |
10
- | --- | --- | --- | --- |
11
- | Local | Trying SelfBench or small runs | Docker on your machine | Local Docker volumes |
12
- | Temporal Cloud | Large repositories, long runs, and reliable unattended execution | Modal sandboxes | Temporal Cloud + object storage |
13
+ The result is a private `.tar.gz` benchmark that you can run against multiple models:
13
14
 
14
- After a run is submitted, the workflow continues independently of the waiting CLI process. The local worker still depends on your machine and its Docker stack; Temporal Cloud is the recommended setup when a run may take hours or your laptop should not be responsible for the worker.
15
+ ```text
16
+ Your repository history
17
+
18
+ completed requests + implementations
19
+
20
+ validated Harbor tasks with hidden tests
21
+
22
+ gpt-5.6-luna vs gpt-5.6-terra vs gpt-5.6-sol
23
+ ```
15
24
 
16
- ## Prerequisites
25
+ ## Quickstart
17
26
 
18
- Installing the package requires [Bun](https://bun.sh/) 1.3.14 or newer. Running evaluations additionally requires:
27
+ This path runs the self-bench API, worker, and [Temporal](https://temporal.io/) workflow state locally while using [Modal](https://modal.com/) for disposable task-generation and validation sandboxes.
19
28
 
20
- - Docker with Compose
21
- - `gh`, authenticated with access to the source repository
22
- - Pi with an authenticated `openai-codex` account
23
- - Codex CLI with an authenticated account
29
+ ### Prerequisites
24
30
 
25
- Modal execution additionally requires a Modal account and token. Temporal Cloud execution additionally requires a Temporal Cloud namespace and a durable artifact store such as Google Cloud Storage.
26
-
27
- ## Install
31
+ - [Bun](https://bun.sh/) 1.3.14 or newer
32
+ - Docker with Compose
33
+ - [Modal](https://modal.com/) CLI, account, and token (`pip install modal`)
34
+ - [`gh`](https://cli.github.com/), authenticated with read access to the repository
35
+ - An OpenAI API key with access to `gpt-5.6-sol`, `gpt-5.6-terra`, and `gpt-5.6-luna`
36
+ - A Git checkout with a GitHub `origin` and completed work in its history
28
37
 
29
- Install the CLI from the npm registry with Bun:
38
+ Install self-bench and authenticate Modal and GitHub:
30
39
 
31
40
  ```bash
32
41
  bun add --global self-bench
33
- self-bench --help
34
- ```
35
-
36
- For one-off use without a global install:
37
-
38
- ```bash
39
- bunx self-bench --help
40
- ```
41
-
42
- The package exposes `dist/cli.js` as `self-bench`.
43
-
44
- To develop SelfBench itself, clone the repository and use Bun:
45
-
46
- ```bash
47
- git clone https://github.com/mupt-ai/self-bench.git
48
- cd self-bench
49
- bun install --frozen-lockfile
50
- bun run build
51
- bun link
52
- self-bench --help
42
+ modal token new
43
+ gh auth login
53
44
  ```
54
45
 
55
- During development, run the TypeScript entrypoint without linking:
46
+ Set the model and GitHub credentials used by the local worker, plus a random token that protects the local self-bench API:
56
47
 
57
48
  ```bash
58
- bun run cli -- --help
49
+ export OPENAI_API_KEY=...
50
+ export GH_TOKEN="$(gh auth token)"
51
+ export SELFBENCH_API_TOKEN="$(openssl rand -hex 24)"
59
52
  ```
60
53
 
61
- Authenticate the tools before starting a run:
54
+ ### 1. Start self-bench
62
55
 
63
56
  ```bash
64
- gh auth login
65
- # In Pi: /login -> OpenAI Codex
66
- codex login
57
+ self-bench up --backend modal
58
+ export SELFBENCH_API_URL=http://127.0.0.1:8080
67
59
  ```
68
60
 
69
- ## Quick start: local Docker
61
+ This starts Postgres, Temporal, the self-bench API, and a worker in Docker. The worker sends sandbox work to Modal; `SELFBENCH_API_URL` tells subsequent CLI commands where to reach the local API.
70
62
 
71
- This starts Postgres, Temporal, the SelfBench API, and a worker on your machine. The worker runs sandbox validation through Docker.
63
+ ### 2. Build a benchmark
72
64
 
73
65
  ```bash
74
- export SELFBENCH_API_TOKEN="$(openssl rand -hex 24)"
75
- export GH_TOKEN="$(gh auth token)"
76
-
77
- self-bench up --backend docker
78
- export SELFBENCH_API_URL=http://127.0.0.1:8080
79
-
80
66
  self-bench run \
81
67
  --repo /absolute/path/to/your/repository \
82
- --easy-count 30 \
83
- --medium-count 30 \
68
+ --easy-count 10 \
69
+ --medium-count 10 \
84
70
  --hard-count 10 \
85
71
  --output ./self-bench-evals.tar.gz
86
72
  ```
87
73
 
88
- The `--repo` directory must be a Git checkout with a GitHub `origin`. SelfBench pins the current `HEAD`; uncommitted changes are ignored. It discovers candidate requests from sanitized local coding-session messages and merged, non-bot GitHub pull requests.
74
+ Easy, medium, and hard candidates require at least 20, 50, and 100 changed implementation lines across 1, 2, and 3 paths respectively; the counts are generation budgets, not guarantees that every candidate will pass validation.
89
75
 
90
- This quick start authors 70 candidates: 30 easy, 30 medium, and 10 hard. Counts are authoring budgets, not accepted-task guarantees. Candidates can be rejected during authoring, validation, audit, or review, and rejected candidates are not replaced.
76
+ The repository must be a Git checkout with a GitHub `origin`. self-bench pins its current `HEAD`, ignores uncommitted changes, and may take hours to author, validate, review, and export the accepted tasks. `--output` waits for completion and verifies the downloaded archive with SHA-256.
91
77
 
92
- A run may take hours. `--output` waits for the run to finish, then downloads and SHA-256-verifies the accepted tasks.
78
+ ### 3. Compare models with Harbor
93
79
 
94
- ## Local commands
80
+ Install Harbor and extract the generated tasks:
95
81
 
96
82
  ```bash
97
- self-bench status RUN_ID
98
- self-bench list
99
- self-bench cancel RUN_ID
100
- self-bench download RUN_ID ./self-bench-evals.tar.gz
101
- ```
102
-
103
- If you are working from source rather than using `bun link`, use the same commands through Bun:
83
+ uv tool install --python 3.12 'harbor[modal]==0.20.1.dev202608040148'
104
84
 
105
- ```bash
106
- bun run cli -- status RUN_ID
85
+ mkdir -p ./self-bench-export ./self-bench-tasks
86
+ tar -xzf ./self-bench-evals.tar.gz -C ./self-bench-export
87
+ for archive in ./self-bench-export/tasks/*.tar.gz; do
88
+ task_id="$(basename "$archive" .tar.gz)"
89
+ mkdir -p "./self-bench-tasks/$task_id"
90
+ tar -xzf "$archive" --strip-components=1 -C "./self-bench-tasks/$task_id"
91
+ done
107
92
  ```
108
93
 
109
- Stop the local stack with Docker Compose:
94
+ Run Harbor's Codex agent adapter once for all three models. Harbor evaluates every extracted task at high reasoning and keeps the model results in one job directory:
110
95
 
111
96
  ```bash
112
- docker compose down
97
+ harbor run \
98
+ --path ./self-bench-tasks \
99
+ --agent codex \
100
+ --model gpt-5.6-luna \
101
+ --model gpt-5.6-terra \
102
+ --model gpt-5.6-sol \
103
+ --ak version=0.146.1 \
104
+ --ak reasoning_effort=high \
105
+ --env modal \
106
+ --jobs-dir ./harbor-jobs \
107
+ --n-concurrent 20 \
108
+ --yes
113
109
  ```
114
110
 
115
- Named Docker volumes retain Temporal history and generated artifacts. Back them up before removing them if you need to resume or inspect old runs.
116
-
117
- ## Reliable setup for larger repositories
118
-
119
- For large repositories or unattended runs, use Temporal Cloud for workflow state and Modal for disposable execution sandboxes. Temporal Cloud does not host the SelfBench API or worker; deploy those separately.
111
+ The evaluated agent receives the base repository and task instruction, but not the hidden tests or reference solution.
120
112
 
121
- ```text
122
- self-bench CLI
123
- -> SelfBench API
124
- -> Temporal Cloud namespace
125
- -> persistent SelfBench worker
126
- -> Modal sandboxes
127
- -> GCS artifact storage
128
- ```
113
+ See [Running self-bench evaluations](docs/evaluations.md) for running one task and using the optional resumable matrix helper.
129
114
 
130
- The API and worker must use the same image version, Temporal namespace, task queue, artifact configuration, and `SELFBENCH_BUILD_COMMIT`. Keep the worker running on a long-lived container service; do not run it on a scale-to-zero request service. The API can run as a normal HTTP service.
115
+ ## Run management
131
116
 
132
- ### 1. Prepare Temporal Cloud and GCS
133
-
134
- Create a Temporal Cloud namespace and obtain its address, namespace, API key, and TLS settings. Create a GCS bucket for SelfBench artifacts and give the worker/API service accounts access only to the SelfBench prefix.
135
-
136
- Set these values in the API and worker environments:
137
-
138
- ```bash
139
- SELFBENCH_TEMPORAL_ADDRESS=your-namespace.tmprl.cloud:7233
140
- SELFBENCH_TEMPORAL_NAMESPACE=your-namespace
141
- SELFBENCH_TEMPORAL_API_KEY=...
142
- SELFBENCH_TEMPORAL_TLS=true
143
- SELFBENCH_TASK_QUEUE=selfbench-production
144
- SELFBENCH_ARTIFACT_BACKEND=gcs
145
- SELFBENCH_GCS_BUCKET=your-selfbench-artifacts
146
- SELFBENCH_GCS_PREFIX=selfbench
147
- ```
148
-
149
- Do not use the local Compose defaults (`temporal` database credentials, loopback Temporal address, or local artifact volume) in a hosted deployment.
150
-
151
- ### 2. Deploy the API
152
-
153
- Build and deploy `Dockerfile` as a service listening on port 8080. Configure:
117
+ Closing the waiting CLI does not cancel a submitted workflow. If the local worker or Docker stack stops, work pauses until the worker is restarted.
154
118
 
155
119
  ```bash
156
- SELFBENCH_API_HOST=0.0.0.0
157
- SELFBENCH_API_TOKEN=use-a-secret-value
158
- SELFBENCH_ARTIFACT_BACKEND=gcs
159
- SELFBENCH_GCS_BUCKET=your-selfbench-artifacts
160
- SELFBENCH_GCS_PREFIX=selfbench
161
- SELFBENCH_TEMPORAL_ADDRESS=...
162
- SELFBENCH_TEMPORAL_NAMESPACE=...
163
- SELFBENCH_TEMPORAL_API_KEY=...
164
- SELFBENCH_TEMPORAL_TLS=true
165
- SELFBENCH_TASK_QUEUE=selfbench-production
120
+ self-bench list # find run IDs
121
+ self-bench status RUN_ID
122
+ self-bench cancel RUN_ID
123
+ self-bench download RUN_ID ./self-bench-evals.tar.gz
166
124
  ```
167
125
 
168
- Then point the CLI at the API:
126
+ Stop the local stack with:
169
127
 
170
128
  ```bash
171
- export SELFBENCH_API_URL=https://selfbench-api.example.com
172
- export SELFBENCH_API_TOKEN=use-a-secret-value
129
+ self-bench down
173
130
  ```
174
131
 
175
- ### 3. Deploy the worker
132
+ Named Docker volumes retain Temporal history and generated artifacts.
176
133
 
177
- Run the same image with this command:
134
+ ## Other deployments
178
135
 
179
- ```bash
180
- node dist/worker-main.js
181
- ```
136
+ The quickstart is the recommended setup: a local stack with Modal sandboxes.
182
137
 
183
- Give the worker the Temporal, GCS, and task-queue settings above, plus the credentials it needs to discover, author, validate, and review tasks:
138
+ - **Local stack + Docker sandboxes:** use `self-bench up --backend docker` when you want all execution on your machine.
139
+ - **Temporal Cloud + Modal:** use this for persistent unattended workers and large repositories.
184
140
 
185
- ```bash
186
- SELFBENCH_EXECUTION_BACKEND=modal
187
- SELFBENCH_HARBOR_ENVIRONMENT=modal
188
- MODAL_TOKEN_ID=...
189
- MODAL_TOKEN_SECRET=...
190
- GH_TOKEN=...
191
- SELFBENCH_PI_AUTH_JSON=...
192
- ```
141
+ See [Operations and deployment](docs/operations.md) for backend configuration, credentials, persistence, object storage, and the complete Temporal Cloud deployment.
193
142
 
194
- Provide the Codex auth JSON to the worker at `/home/node/.codex/auth.json` (the default location in the production image), for example through a read-only secret mount. Alternatively, mount it elsewhere and set `CODEX_AUTH_JSON_PATH` to that file. Keep model credentials in the worker only; the API does not need them.
143
+ ## How tasks are validated
195
144
 
196
- ### 4. Run against the hosted service
145
+ An accepted task must:
197
146
 
198
- ```bash
199
- self-bench run \
200
- --repo /absolute/path/to/your/repository \
201
- --easy-count 2 \
202
- --medium-count 2 \
203
- --output ./self-bench-evals.tar.gz
204
- ```
147
+ 1. Preserve a real human request from repository history.
148
+ 2. Start from the repository state before the completed change.
149
+ 3. Include hidden tests that fail against the base snapshot.
150
+ 4. Pass after applying the original implementation.
151
+ 5. Survive deterministic reruns and an independent model review that rejects tests tied to private details of the reference solution.
205
152
 
206
- The CLI uploads only repository metadata and sanitized provenance. The worker performs discovery, authoring, sandbox validation, review, audit, and export remotely.
153
+ Exports contain repository snapshots, hidden tests, and reference solutions. They are sensitive and unencrypted; keep them private.
207
154
 
208
- ### Large-repository guidance
155
+ See [Task construction and validation](docs/task-construction.md) for the full acceptance rules and archive format.
209
156
 
210
- - Prefer Modal over local Docker so the run is not tied to your laptop's CPU, memory, or Docker daemon.
211
- - Start with one or two candidates per tier to confirm credentials, provenance, and repository compatibility before increasing the budget.
212
- - Treat counts as authoring attempts, not accepted-task guarantees.
213
- - Keep the worker alive for the entire run; discovery and authoring are retryable, but a missing worker stops progress.
214
- - Keep GCS and Temporal state persistent. Do not delete the artifact prefix or Temporal namespace while runs are active.
215
- - Use a dedicated task queue for each deployment and ensure the API and worker use exactly the same value.
216
- - Use `status`, `list`, and `download` from any machine that can reach the API.
217
-
218
- ## Backend options
219
-
220
- The local `up` command configures one execution backend for the stack:
221
-
222
- ```bash
223
- # Local Docker sandboxes; simplest, usually one activity at a time
224
- self-bench up --backend docker
225
-
226
- # Modal sandboxes; better for concurrency and larger runs
227
- modal token new
228
- self-bench up --backend modal
229
- ```
230
-
231
- For Modal, `self-bench up` uses `~/.modal.toml` by default. Override it with:
157
+ ## Development
232
158
 
233
159
  ```bash
234
- self-bench up --backend modal --modal-config /absolute/path/to/.modal.toml
160
+ git clone https://github.com/mupt-ai/self-bench.git
161
+ cd self-bench
162
+ bun install --frozen-lockfile
163
+ bun run validate
235
164
  ```
236
165
 
237
- ## Development
166
+ Run the CLI directly from source:
238
167
 
239
168
  ```bash
240
- bun install --frozen-lockfile
241
- bun run check
242
- bun run test
243
- bun run build
244
- bun run validate
169
+ bun run cli -- --help
245
170
  ```
246
171
 
247
172
  Useful development commands:
248
173
 
249
174
  ```bash
250
- bun run cli -- --help
251
175
  bun run dev:api
252
176
  bun run dev:worker
253
177
  bun run dev:review
254
178
  ```
255
179
 
256
- More detail is available in:
180
+ ## Documentation
257
181
 
258
- - [Task construction](docs/task-construction.md)
259
- - [Evaluation workflows](docs/evaluations.md)
182
+ - [Task construction and validation](docs/task-construction.md)
183
+ - [Running evaluations](docs/evaluations.md)
260
184
  - [Operations and deployment](docs/operations.md)
261
185
 
262
186
  ## License
package/bun.lock CHANGED
@@ -6,26 +6,26 @@
6
6
  "name": "self-bench",
7
7
  "dependencies": {
8
8
  "@google-cloud/storage": "^7.17.0",
9
- "@pierre/diffs": "1.2.12",
10
9
  "@temporalio/activity": "^1.13.2",
11
10
  "@temporalio/client": "^1.13.2",
12
11
  "@temporalio/common": "^1.13.2",
13
12
  "@temporalio/worker": "^1.13.2",
14
13
  "@temporalio/workflow": "^1.13.2",
15
14
  "modal": "^0.9.0",
16
- "react": "19.2.7",
17
- "react-dom": "19.2.7",
18
15
  "zod": "^4.1.12",
19
16
  },
20
17
  "devDependencies": {
21
18
  "@biomejs/biome": "^2.2.6",
22
19
  "@earendil-works/pi-coding-agent": "0.84.0",
20
+ "@pierre/diffs": "1.2.12",
23
21
  "@sinclair/typebox": "0.34.41",
24
22
  "@types/bun": "^1.3.14",
25
23
  "@types/node": "24.10.13",
26
24
  "@types/react": "19.2.14",
27
25
  "@types/react-dom": "19.2.3",
28
26
  "@vitejs/plugin-react": "4.7.0",
27
+ "react": "19.2.7",
28
+ "react-dom": "19.2.7",
29
29
  "tsx": "^4.20.6",
30
30
  "typescript": "5.9.3",
31
31
  "vite": "7.3.1",
@@ -383,21 +383,21 @@
383
383
 
384
384
  "@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.62.4", "", { "os": "win32", "cpu": "x64" }, "sha512-zD6NdeWEByGE9QF9vCrlJ5YQB4oq9q91kPZS37Jwj5hOkvR1lTBSpsKhKDw4IJtbQ35LsTS1HD9DZYGKIshU1Q=="],
385
385
 
386
- "@shikijs/core": ["@shikijs/core@4.4.2", "", { "dependencies": { "@shikijs/primitive": "4.4.2", "@shikijs/types": "4.4.2", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.5", "hast-util-to-html": "^9.0.5" } }, "sha512-StyzbAyxg2/tBGf78gwbBkGyeQ73lf8UiJArFaQhTQIDqQOCKPCQFanvrs4/Yv3Yfyc+ONInJM6K+FMIf+P+kA=="],
386
+ "@shikijs/core": ["@shikijs/core@4.4.3", "", { "dependencies": { "@shikijs/primitive": "4.4.3", "@shikijs/types": "4.4.3", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.5", "hast-util-to-html": "^9.0.5" } }, "sha512-QCR4q2ZO/ILJEuwiBMel4wdcTDb1JGwfjKTxPDF6x8ixOaluPrVqIn06C99AcRPhmYlBR56d/Fb+GN58GzExpg=="],
387
387
 
388
- "@shikijs/engine-javascript": ["@shikijs/engine-javascript@4.4.2", "", { "dependencies": { "@shikijs/types": "4.4.2", "@shikijs/vscode-textmate": "^10.0.2", "oniguruma-to-es": "^4.3.6" } }, "sha512-MnIkeqWdVPUWsxlx8gKLVCJFTsqrQJgpTPBPpQwaFeJ56lOnJxj5aN2LUFnfxUEcvOQuNocmbaMnVrCEln6rkw=="],
388
+ "@shikijs/engine-javascript": ["@shikijs/engine-javascript@4.4.3", "", { "dependencies": { "@shikijs/types": "4.4.3", "@shikijs/vscode-textmate": "^10.0.2", "oniguruma-to-es": "^4.3.6" } }, "sha512-FbOjFJp9VLdo1Wevs10BBtVxiTWwNLqZh5Gkhjgda/ioL15YOgeSl9n+6XMa3qRlPQzfhFNe641SrynFHYG0nQ=="],
389
389
 
390
- "@shikijs/engine-oniguruma": ["@shikijs/engine-oniguruma@4.4.2", "", { "dependencies": { "@shikijs/types": "4.4.2", "@shikijs/vscode-textmate": "^10.0.2" } }, "sha512-GLhowz1+jixjz+wiZ3wMnOn1jTxiFCGl2PkXufivbnwPHKuyw1AYqu5/hbWhZZ2oAb0NP05WUJhYeigY14drnw=="],
390
+ "@shikijs/engine-oniguruma": ["@shikijs/engine-oniguruma@4.4.3", "", { "dependencies": { "@shikijs/types": "4.4.3", "@shikijs/vscode-textmate": "^10.0.2" } }, "sha512-EcOQkxdxGQrc1Row/cC2c96/v1dbZqGnEVu1qTuT/MJmp6+cXCvQussowVmCv5Tqr3KuY3c7IbM6HTW3LJ1k9w=="],
391
391
 
392
- "@shikijs/langs": ["@shikijs/langs@4.4.2", "", { "dependencies": { "@shikijs/types": "4.4.2" } }, "sha512-8DfeusD+Zdv/eYIDdXyJTUnSMHt+aAWjAOCXV20HNGAHRlInXpG8wh421v6B91WOm9TFwRLN+b/LG5F2NAIojg=="],
392
+ "@shikijs/langs": ["@shikijs/langs@4.4.3", "", { "dependencies": { "@shikijs/types": "4.4.3" } }, "sha512-ePic0yfAJGOF83D5wBHK/00EjK65oahBYxFk5epgq33WRv7X9UuxLEV8PtR0szC0z8dl7INIpIodB99JRFlR+A=="],
393
393
 
394
- "@shikijs/primitive": ["@shikijs/primitive@4.4.2", "", { "dependencies": { "@shikijs/types": "4.4.2", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.5" } }, "sha512-l6fQQKsOMlz72n38fztmSgZ76MO6KSWuw8o+GJ+FhmqrpC9pIOJNQNXGgbb5yX2AwpzlEHwsaLPnk/8o4Fm+rA=="],
394
+ "@shikijs/primitive": ["@shikijs/primitive@4.4.3", "", { "dependencies": { "@shikijs/types": "4.4.3", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.5" } }, "sha512-m0wBeLDQDeIxRdUmrCPdQqfuUamDwRL5isCfYbguKD6NiaKpVbsv+3J81DyIKgNW5h4WAIIr8T4EkgQrBBxvaQ=="],
395
395
 
396
- "@shikijs/themes": ["@shikijs/themes@4.4.2", "", { "dependencies": { "@shikijs/types": "4.4.2" } }, "sha512-H0CFoL07ddDC2Dd6EdrPYNkRhUR6YCkJlnuYFceYYUJJA5TIm2b5B33qqiDYryBExgbKMndFJPb2u1gTuqO37g=="],
396
+ "@shikijs/themes": ["@shikijs/themes@4.4.3", "", { "dependencies": { "@shikijs/types": "4.4.3" } }, "sha512-w8UHjeUnIR965KMWJHUPXOc2mNJUnK3vpVLYLvw5IYU2mnTTJ89E24OrJDBNiJDQ0qzb0tc4l7mrIXx5cFeIyw=="],
397
397
 
398
- "@shikijs/transformers": ["@shikijs/transformers@4.4.2", "", { "dependencies": { "@shikijs/core": "4.4.2", "@shikijs/types": "4.4.2" } }, "sha512-d81PJ9KkR1tVP95FH/9296HTtDo0mh76wv10u9T1YmsZq/UcXgt0OLdBszfUQ1i+umkRMCjDnFbFZU7/tCODTQ=="],
398
+ "@shikijs/transformers": ["@shikijs/transformers@4.4.3", "", { "dependencies": { "@shikijs/core": "4.4.3", "@shikijs/types": "4.4.3" } }, "sha512-oJSARV6NaWd+rnNJbtnpAdj3Zg0ZVyzsnMgb3vi3HA+35y8lBWUCpOnWsmyiXZIikY+x1BDqrQUgmxfzWh7Jvw=="],
399
399
 
400
- "@shikijs/types": ["@shikijs/types@4.4.2", "", { "dependencies": { "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.5" } }, "sha512-PFYitV4vpDr/iPCIhnHp+Q4ftic5N5VeNJ3KQ1O8gn3h2ar8qgwMAXF7tq4m1CWaMS60fV4VqF6vfnWH4F7vqQ=="],
400
+ "@shikijs/types": ["@shikijs/types@4.4.3", "", { "dependencies": { "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.5" } }, "sha512-UEJxmRR++MAGR6hugn0vgVS2W/6lWAts84FFSrnlH9sP0LNol7E5+NQ792pH8liWUhyMyjhTgSUH3k7iD7tc5g=="],
401
401
 
402
402
  "@shikijs/vscode-textmate": ["@shikijs/vscode-textmate@10.0.2", "", {}, "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg=="],
403
403
 
@@ -929,7 +929,7 @@
929
929
 
930
930
  "shebang-regex": ["shebang-regex@3.0.0", "", {}, "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="],
931
931
 
932
- "shiki": ["shiki@4.4.2", "", { "dependencies": { "@shikijs/core": "4.4.2", "@shikijs/engine-javascript": "4.4.2", "@shikijs/engine-oniguruma": "4.4.2", "@shikijs/langs": "4.4.2", "@shikijs/themes": "4.4.2", "@shikijs/types": "4.4.2", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.5" } }, "sha512-P8F/dFhRevaw2uSdeIYlq/5SXZNY85DPtmXQ947gD1Zj2JqO5AkNvVVBar0Me9JkFx3uzVud/qOtP5ek9NEQGA=="],
932
+ "shiki": ["shiki@4.4.3", "", { "dependencies": { "@shikijs/core": "4.4.3", "@shikijs/engine-javascript": "4.4.3", "@shikijs/engine-oniguruma": "4.4.3", "@shikijs/langs": "4.4.3", "@shikijs/themes": "4.4.3", "@shikijs/types": "4.4.3", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.5" } }, "sha512-Mb/GvXPHBAXdgGIcnfU5L3ldpn1XcxrGkPHwqgRx17/I2XRfqlFKk2vGkHWINn1kdXvzJZeuO3is6I9KLPFm0g=="],
933
933
 
934
934
  "signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="],
935
935
 
package/compose.yaml CHANGED
@@ -60,23 +60,23 @@ services:
60
60
  context: .
61
61
  args:
62
62
  SELFBENCH_BUILD_COMMIT: ${SELFBENCH_BUILD_COMMIT:-}
63
- command: ["node", "dist/worker-main.js"]
63
+ command: ["node", "dist/temporal/worker-main.js"]
64
64
  depends_on:
65
65
  - temporal
66
66
  environment:
67
67
  <<: *selfbench-environment
68
68
  GH_TOKEN: ${GH_TOKEN:-}
69
+ OPENAI_API_KEY: ${OPENAI_API_KEY:-}
69
70
  MODAL_TOKEN_ID: ${MODAL_TOKEN_ID:-}
70
71
  MODAL_TOKEN_SECRET: ${MODAL_TOKEN_SECRET:-}
71
- CODEX_AUTH_JSON_PATH: /root/.codex/auth.json
72
+ SELFBENCH_PI_AUTH_JSON: ${SELFBENCH_PI_AUTH_JSON:-}
73
+ SELFBENCH_CODEX_AUTH_JSON: ${SELFBENCH_CODEX_AUTH_JSON:-}
72
74
  user: root
73
75
  group_add:
74
76
  - ${DOCKER_GID:-0}
75
77
  volumes:
76
78
  - /var/run/docker.sock:/var/run/docker.sock
77
79
  - ${SELFBENCH_MODAL_CONFIG_PATH:-/dev/null}:/root/.modal.toml:ro
78
- - ${SELFBENCH_PI_AUTH_PATH:-${HOME}/.pi/agent/auth.json}:/root/.pi/agent/auth.json:ro
79
- - ${SELFBENCH_CODEX_AUTH_PATH:-${HOME}/.codex/auth.json}:/root/.codex/auth.json:ro
80
80
  - artifacts:/var/lib/selfbench/artifacts
81
81
  restart: on-failure
82
82
 
package/dist/api.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAwBnD,wBAAsB,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CA+HpF"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAwBnD,wBAAsB,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAsIpF"}
package/dist/api.js CHANGED
@@ -1,12 +1,15 @@
1
1
  import { timingSafeEqual } from "node:crypto";
2
+ import { readFile } from "node:fs/promises";
2
3
  import { createServer } from "node:http";
4
+ import { dirname, join } from "node:path";
3
5
  import { pipeline } from "node:stream/promises";
6
+ import { fileURLToPath } from "node:url";
4
7
  import { Client } from "@temporalio/client";
5
8
  import { z } from "zod";
6
9
  import { createArtifactStore } from "./artifacts.js";
7
10
  import { artifactRefSchema, repositoryRefSchema, runRequestSchema, } from "./contracts.js";
8
- import { connectTemporalClient } from "./temporal.js";
9
- import { selfBenchRunWorkflow, statusQuery } from "./workflow.js";
11
+ import { connectTemporalClient } from "./temporal/connection.js";
12
+ import { selfBenchRunWorkflow, statusQuery } from "./temporal/workflow.js";
10
13
  const submissionSchema = z.object({
11
14
  runId: z.string().regex(/^[a-z0-9][a-z0-9-]{2,62}$/),
12
15
  repository: repositoryRefSchema,
@@ -30,6 +33,11 @@ export async function startApi(config) {
30
33
  sendJson(response, 200, { ok: true });
31
34
  return;
32
35
  }
36
+ if (request.method === "GET" &&
37
+ (url.pathname === "/" || url.pathname.startsWith("/assets/"))) {
38
+ await sendReviewAsset(response, url.pathname);
39
+ return;
40
+ }
33
41
  if (!authorized(request, config.apiToken)) {
34
42
  sendJson(response, 401, { error: "unauthorized" });
35
43
  return;
@@ -201,6 +209,36 @@ function authorized(request, token) {
201
209
  return (expectedBuffer.length === suppliedBuffer.length &&
202
210
  timingSafeEqual(expectedBuffer, suppliedBuffer));
203
211
  }
212
+ async function sendReviewAsset(response, pathname) {
213
+ const relativePath = pathname === "/" ? "index.html" : pathname.slice(1);
214
+ const root = join(dirname(fileURLToPath(import.meta.url)), "review");
215
+ const path = join(root, relativePath);
216
+ if (!path.startsWith(`${root}/`)) {
217
+ sendJson(response, 400, { error: "invalid asset path" });
218
+ return;
219
+ }
220
+ try {
221
+ const body = await readFile(path);
222
+ response.writeHead(200, {
223
+ "content-type": contentType(path),
224
+ "content-length": body.byteLength,
225
+ "cache-control": pathname === "/" ? "no-cache" : "public, max-age=31536000, immutable",
226
+ });
227
+ response.end(body);
228
+ }
229
+ catch {
230
+ sendJson(response, 404, { error: "asset not found" });
231
+ }
232
+ }
233
+ function contentType(path) {
234
+ if (path.endsWith(".html"))
235
+ return "text/html; charset=utf-8";
236
+ if (path.endsWith(".css"))
237
+ return "text/css; charset=utf-8";
238
+ if (path.endsWith(".js"))
239
+ return "text/javascript; charset=utf-8";
240
+ return "application/octet-stream";
241
+ }
204
242
  function sendJson(response, status, value) {
205
243
  const body = `${JSON.stringify(value, null, 2)}\n`;
206
244
  response.writeHead(status, {
package/dist/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,YAAY,EAA6C,MAAM,WAAW,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EACL,iBAAiB,EAGjB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAElE,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,2BAA2B,CAAC;IACpD,UAAU,EAAE,mBAAmB;IAC/B,UAAU,EAAE,iBAAiB;IAC7B,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC;QACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QACtC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;KACvC,CAAC;IACF,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IACxD,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC;CACrD,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,MAAuB;IACpD,MAAM,UAAU,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;IAChF,MAAM,SAAS,GAAG,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;QACtD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,UAAU,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC,CAAC;YACzF,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;gBAC5D,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtC,OAAO;YACT,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1C,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;gBACnD,OAAO;YACT,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,gBAAgB,EAAE,CAAC;gBACnE,MAAM,KAAK,GAAG,CAAC;qBACZ,MAAM,EAAE;qBACR,KAAK,CAAC,2BAA2B,CAAC;qBAClC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;gBACxC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;gBACxD,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,GAAG,CACnC,QAAQ,KAAK,yBAAyB,EACtC,IAAI,EACJ,sBAAsB,CACvB,CAAC;gBACF,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;gBACnC,OAAO;YACT,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;gBAC7D,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CACvC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CACvD,CAAC;gBACF,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC;oBAC3C,KAAK,EAAE,UAAU,CAAC,KAAK;oBACvB,UAAU,EAAE,UAAU,CAAC,UAAU;oBACjC,UAAU,EAAE,UAAU,CAAC,UAAU;oBACjC,eAAe,EAAE,UAAU,CAAC,eAAe;oBAC3C,SAAS,EAAE;wBACT,QAAQ,EAAE,cAAc;wBACxB,KAAK,EAAE,UAAU,CAAC,cAAc;wBAChC,eAAe,EAAE,MAAM;qBACxB;oBACD,OAAO,EAAE;wBACP,eAAe,EAAE,MAAM,CAAC,WAAW,IAAI,UAAU,CAAC,eAAe;wBACjE,gBAAgB,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI;wBACvC,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK;wBACpC,MAAM,EAAE,CAAC;qBACV;iBACF,CAAC,CAAC;gBACH,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,oBAAoB,EAAE;oBAChD,UAAU,EAAE,aAAa,CAAC,KAAK;oBAC/B,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS;oBACpC,IAAI,EAAE,CAAC,aAAa,CAAC;oBACrB,wBAAwB,EAAE,SAAS;iBACpC,CAAC,CAAC;gBACH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC;gBACxD,OAAO;YACT,CAAC;YACD,MAAM,QAAQ,GAAG,+DAA+D,CAAC,IAAI,CACnF,GAAG,CAAC,QAAQ,CACb,CAAC;YACF,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC1E,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzE,IAAI,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC5C,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,CAAC;oBAC9D,OAAO;gBACT,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACrD,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE;oBACtB,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW;oBACzC,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS;oBACzC,qBAAqB,EAAE,mCAAmC,QAAQ,CAAC,CAAC,CAAC,UAAU;oBAC/E,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;iBACzC,CAAC,CAAC;gBACH,MAAM,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC/B,OAAO;YACT,CAAC;YACD,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9D,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;gBACzC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;gBAChC,OAAO;YACT,CAAC;YACD,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC3E,MAAM,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;gBACtD,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7E,OAAO;YACT,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;gBAC5D,MAAM,IAAI,GAAc,EAAE,CAAC;gBAC3B,IAAI,KAAK,EAAE,MAAM,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACjD,KAAK,EAAE,uCAAuC;iBAC/C,CAAC,EAAE,CAAC;oBACH,IAAI,CAAC,IAAI,CAAC;wBACR,KAAK,EAAE,SAAS,CAAC,UAAU;wBAC3B,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI;wBAC7B,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE;wBAC5C,QAAQ,EAAE,SAAS,CAAC,SAAS,EAAE,WAAW,EAAE;qBAC7C,CAAC,CAAC;gBACL,CAAC;gBACD,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC9B,OAAO;YACT,CAAC;YACD,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;gBACzB,QAAQ,CAAC,OAAO,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC5E,OAAO;YACT,CAAC;YACD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,QAAQ,CAAC,QAAQ,EAAE,KAAK,YAAY,CAAC,CAAC,QAAQ,IAAI,KAAK,YAAY,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE;gBAC1F,KAAK,EAAE,OAAO;aACf,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,IAAI,EAAE;QAChB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAC1C,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAC7D,CAAC;QACF,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,MAAmD;IAEnD,IAAI,CAAC;QACH,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAChG,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5E,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,KAAK,GAAG,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtD,OAAO;YACL,GAAG,MAAM;YACT,KAAK;YACL,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK;gBACrC,CAAC,CAAC,EAAE,KAAK,EAAE,qBAAqB,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE;gBACzE,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC5C,OAAO;YACL,KAAK,EAAE,WAAW,CAAC,UAAU;YAC7B,KAAK,EAAE,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC;SAC/C,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAe;IACvC,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,cAAc,CAAC,MAAc;IACpC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,WAAW;YACd,OAAO,UAAU,CAAC;QACpB,KAAK,UAAU;YACb,OAAO,WAAW,CAAC;QACrB,KAAK,SAAS;YACZ,OAAO,QAAQ,CAAC;QAClB;YACE,OAAO,QAAQ,CAAC;IACpB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,OAAwB,EAAE,KAAK,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI;IACxE,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClE,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC;QACzB,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,QAAQ,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,UAAU,CAAC,OAAwB,EAAE,KAAyB;IACrE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAC3E,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7C,OAAO,CACL,cAAc,CAAC,MAAM,KAAK,cAAc,CAAC,MAAM;QAC/C,eAAe,CAAC,cAAc,EAAE,cAAc,CAAC,CAChD,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,QAAwB,EAAE,MAAc,EAAE,KAAc;IACxE,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IACnD,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE;QACzB,cAAc,EAAE,iCAAiC;QACjD,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;KAC1C,CAAC,CAAC;IACH,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
@@ -28,5 +28,4 @@ export declare class GcsArtifactStore implements ArtifactStore {
28
28
  getByKey(key: string): Promise<Uint8Array | undefined>;
29
29
  }
30
30
  export declare function verifiedArtifactReadStream(reference: ArtifactRef, input: Readable): Readable;
31
- export declare function artifactSize(path: string): Promise<number>;
32
31
  //# sourceMappingURL=artifacts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAa,MAAM,aAAa,CAAC;AAGlD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACpF,GAAG,CAAC,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACjD,QAAQ,CAAC,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpD,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;CACxD;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,CAAC,UAAU,CAAC,GAAG,aAAa,CAItF;AAED,qBAAa,kBAAmB,YAAW,aAAa;;gBAG1C,IAAI,EAAE,MAAM;IAIlB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAoB9E,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IA+BnF,GAAG,CAAC,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAYhD,QAAQ,CAAC,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAQnD,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;CAmC7D;AAED,qBAAa,gBAAiB,YAAW,aAAa;;gBAKxC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAKpC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAiC9E,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IA2CnF,GAAG,CAAC,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAiBhD,QAAQ,CAAC,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAYnD,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;CA+B7D;AAED,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAgB5F;AAqDD,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEhE"}
1
+ {"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAa,MAAM,aAAa,CAAC;AAGlD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACpF,GAAG,CAAC,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACjD,QAAQ,CAAC,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpD,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;CACxD;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,CAAC,UAAU,CAAC,GAAG,aAAa,CAItF;AAED,qBAAa,kBAAmB,YAAW,aAAa;;gBAG1C,IAAI,EAAE,MAAM;IAIlB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAoB9E,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IA+BnF,GAAG,CAAC,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAYhD,QAAQ,CAAC,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAQnD,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;CAmC7D;AAED,qBAAa,gBAAiB,YAAW,aAAa;;gBAKxC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAKpC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAiC9E,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IA2CnF,GAAG,CAAC,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAiBhD,QAAQ,CAAC,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAYnD,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;CA+B7D;AAED,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAgB5F"}