self-bench 0.3.6 → 0.3.8
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.
- package/.dockerignore +11 -1
- package/Dockerfile +9 -9
- package/Dockerfile.sandbox +5 -4
- package/README.md +27 -12
- package/bun.lock +462 -95
- package/compose.yaml +64 -20
- package/dist/agent-feed.d.ts +8 -0
- package/dist/agent-feed.d.ts.map +1 -0
- package/dist/agent-feed.js +56 -0
- package/dist/agent-feed.js.map +1 -0
- package/dist/api/http.d.ts +18 -0
- package/dist/api/http.d.ts.map +1 -0
- package/dist/api/http.js +111 -0
- package/dist/api/http.js.map +1 -0
- package/dist/api/run-request.d.ts +37 -0
- package/dist/api/run-request.d.ts.map +1 -0
- package/dist/api/run-request.js +59 -0
- package/dist/api/run-request.js.map +1 -0
- package/dist/api/status.d.ts +4 -0
- package/dist/api/status.d.ts.map +1 -0
- package/dist/api/status.js +36 -0
- package/dist/api/status.js.map +1 -0
- package/dist/api/viewer-routes.d.ts +9 -0
- package/dist/api/viewer-routes.d.ts.map +1 -0
- package/dist/api/viewer-routes.js +98 -0
- package/dist/api/viewer-routes.js.map +1 -0
- package/dist/api-main.js +5 -1
- package/dist/api-main.js.map +1 -1
- package/dist/api.d.ts +7 -25
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +80 -148
- package/dist/api.js.map +1 -1
- package/dist/archive.d.ts +14 -0
- package/dist/archive.d.ts.map +1 -0
- package/dist/archive.js +114 -0
- package/dist/archive.js.map +1 -0
- package/dist/artifacts/common.d.ts +15 -0
- package/dist/artifacts/common.d.ts.map +1 -0
- package/dist/artifacts/common.js +58 -0
- package/dist/artifacts/common.js.map +1 -0
- package/dist/artifacts/gcs.d.ts +18 -0
- package/dist/artifacts/gcs.d.ts.map +1 -0
- package/dist/artifacts/gcs.js +178 -0
- package/dist/artifacts/gcs.js.map +1 -0
- package/dist/artifacts/local.d.ts +17 -0
- package/dist/artifacts/local.d.ts.map +1 -0
- package/dist/artifacts/local.js +205 -0
- package/dist/artifacts/local.js.map +1 -0
- package/dist/artifacts/types.d.ts +18 -0
- package/dist/artifacts/types.d.ts.map +1 -0
- package/dist/artifacts/types.js +2 -0
- package/dist/artifacts/types.js.map +1 -0
- package/dist/artifacts.d.ts +5 -28
- package/dist/artifacts.d.ts.map +1 -1
- package/dist/artifacts.js +5 -302
- package/dist/artifacts.js.map +1 -1
- package/dist/audit.d.ts.map +1 -1
- package/dist/audit.js +8 -2
- package/dist/audit.js.map +1 -1
- package/dist/auth/api-key-routes.d.ts +17 -0
- package/dist/auth/api-key-routes.d.ts.map +1 -0
- package/dist/auth/api-key-routes.js +57 -0
- package/dist/auth/api-key-routes.js.map +1 -0
- package/dist/auth/api-keys.d.ts +47 -0
- package/dist/auth/api-keys.d.ts.map +1 -0
- package/dist/auth/api-keys.js +102 -0
- package/dist/auth/api-keys.js.map +1 -0
- package/dist/auth/config.d.ts +17 -0
- package/dist/auth/config.d.ts.map +1 -0
- package/dist/auth/config.js +38 -0
- package/dist/auth/config.js.map +1 -0
- package/dist/auth/cookies.d.ts +12 -0
- package/dist/auth/cookies.d.ts.map +1 -0
- package/dist/auth/cookies.js +45 -0
- package/dist/auth/cookies.js.map +1 -0
- package/dist/auth/crypto.d.ts +19 -0
- package/dist/auth/crypto.d.ts.map +1 -0
- package/dist/auth/crypto.js +48 -0
- package/dist/auth/crypto.js.map +1 -0
- package/dist/auth/github.d.ts +37 -0
- package/dist/auth/github.d.ts.map +1 -0
- package/dist/auth/github.js +127 -0
- package/dist/auth/github.js.map +1 -0
- package/dist/auth/routes.d.ts +41 -0
- package/dist/auth/routes.d.ts.map +1 -0
- package/dist/auth/routes.js +153 -0
- package/dist/auth/routes.js.map +1 -0
- package/dist/auth/session-expired.d.ts +4 -0
- package/dist/auth/session-expired.d.ts.map +1 -0
- package/dist/auth/session-expired.js +17 -0
- package/dist/auth/session-expired.js.map +1 -0
- package/dist/auth/session.d.ts +23 -0
- package/dist/auth/session.d.ts.map +1 -0
- package/dist/auth/session.js +56 -0
- package/dist/auth/session.js.map +1 -0
- package/dist/auth/users.d.ts +49 -0
- package/dist/auth/users.d.ts.map +1 -0
- package/dist/auth/users.js +125 -0
- package/dist/auth/users.js.map +1 -0
- package/dist/build-metadata.js +1 -1
- package/dist/cli/api-client.d.ts +8 -0
- package/dist/cli/api-client.d.ts.map +1 -0
- package/dist/cli/api-client.js +71 -0
- package/dist/cli/api-client.js.map +1 -0
- package/dist/cli/associate.d.ts +2 -0
- package/dist/cli/associate.d.ts.map +1 -0
- package/dist/cli/associate.js +51 -0
- package/dist/cli/associate.js.map +1 -0
- package/dist/cli/help.d.ts +2 -0
- package/dist/cli/help.d.ts.map +1 -0
- package/dist/cli/help.js +52 -0
- package/dist/cli/help.js.map +1 -0
- package/dist/cli/main.d.ts +2 -0
- package/dist/cli/main.d.ts.map +1 -0
- package/dist/cli/main.js +55 -0
- package/dist/cli/main.js.map +1 -0
- package/dist/cli/replay.d.ts +3 -0
- package/dist/cli/replay.d.ts.map +1 -0
- package/dist/cli/replay.js +59 -0
- package/dist/cli/replay.js.map +1 -0
- package/dist/cli/repository.d.ts +6 -0
- package/dist/cli/repository.d.ts.map +1 -0
- package/dist/cli/repository.js +36 -0
- package/dist/cli/repository.js.map +1 -0
- package/dist/cli/run.d.ts +2 -0
- package/dist/cli/run.d.ts.map +1 -0
- package/dist/cli/run.js +93 -0
- package/dist/cli/run.js.map +1 -0
- package/dist/cli/stack-environment.d.ts +26 -0
- package/dist/cli/stack-environment.d.ts.map +1 -0
- package/dist/cli/stack-environment.js +86 -0
- package/dist/cli/stack-environment.js.map +1 -0
- package/dist/cli/stack.d.ts +6 -0
- package/dist/cli/stack.d.ts.map +1 -0
- package/dist/cli/stack.js +131 -0
- package/dist/cli/stack.js.map +1 -0
- package/dist/cli/values.d.ts +8 -0
- package/dist/cli/values.d.ts.map +1 -0
- package/dist/cli/values.js +30 -0
- package/dist/cli/values.js.map +1 -0
- package/dist/cli/view.d.ts +2 -0
- package/dist/cli/view.d.ts.map +1 -0
- package/dist/cli/view.js +40 -0
- package/dist/cli/view.js.map +1 -0
- package/dist/cli.js +2 -429
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +16 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +60 -22
- package/dist/config.js.map +1 -1
- package/dist/contracts/common.d.ts +22 -0
- package/dist/contracts/common.d.ts.map +1 -0
- package/dist/contracts/common.js +29 -0
- package/dist/contracts/common.js.map +1 -0
- package/dist/contracts/results.d.ts +66 -0
- package/dist/contracts/results.d.ts.map +1 -0
- package/dist/contracts/results.js +2 -0
- package/dist/contracts/results.js.map +1 -0
- package/dist/contracts/run.d.ts +145 -0
- package/dist/contracts/run.d.ts.map +1 -0
- package/dist/contracts/run.js +74 -0
- package/dist/contracts/run.js.map +1 -0
- package/dist/contracts/task.d.ts +232 -0
- package/dist/contracts/task.d.ts.map +1 -0
- package/dist/contracts/task.js +198 -0
- package/dist/contracts/task.js.map +1 -0
- package/dist/contracts/verify.d.ts +331 -0
- package/dist/contracts/verify.d.ts.map +1 -0
- package/dist/contracts/verify.js +84 -0
- package/dist/contracts/verify.js.map +1 -0
- package/dist/contracts.d.ts +5 -243
- package/dist/contracts.d.ts.map +1 -1
- package/dist/contracts.js +5 -128
- package/dist/contracts.js.map +1 -1
- package/dist/db/client.d.ts +12 -0
- package/dist/db/client.d.ts.map +1 -0
- package/dist/db/client.js +16 -0
- package/dist/db/client.js.map +1 -0
- package/dist/db/schema.d.ts +1256 -0
- package/dist/db/schema.d.ts.map +1 -0
- package/dist/db/schema.js +128 -0
- package/dist/db/schema.js.map +1 -0
- package/dist/environment.d.ts +9 -0
- package/dist/environment.d.ts.map +1 -0
- package/dist/environment.js +101 -0
- package/dist/environment.js.map +1 -0
- package/dist/evaluation/account.d.ts +30 -0
- package/dist/evaluation/account.d.ts.map +1 -0
- package/dist/evaluation/account.js +34 -0
- package/dist/evaluation/account.js.map +1 -0
- package/dist/evaluation/activities.d.ts +9 -0
- package/dist/evaluation/activities.d.ts.map +1 -0
- package/dist/evaluation/activities.js +40 -0
- package/dist/evaluation/activities.js.map +1 -0
- package/dist/evaluation/catalog-pricing.d.ts +3 -0
- package/dist/evaluation/catalog-pricing.d.ts.map +1 -0
- package/dist/evaluation/catalog-pricing.js +37 -0
- package/dist/evaluation/catalog-pricing.js.map +1 -0
- package/dist/evaluation/catalog.d.ts +17 -0
- package/dist/evaluation/catalog.d.ts.map +1 -0
- package/dist/evaluation/catalog.js +126 -0
- package/dist/evaluation/catalog.js.map +1 -0
- package/dist/evaluation/codex-login-process.d.ts +12 -0
- package/dist/evaluation/codex-login-process.d.ts.map +1 -0
- package/dist/evaluation/codex-login-process.js +121 -0
- package/dist/evaluation/codex-login-process.js.map +1 -0
- package/dist/evaluation/codex-login-routes.d.ts +5 -0
- package/dist/evaluation/codex-login-routes.d.ts.map +1 -0
- package/dist/evaluation/codex-login-routes.js +55 -0
- package/dist/evaluation/codex-login-routes.js.map +1 -0
- package/dist/evaluation/codex-login.d.ts +42 -0
- package/dist/evaluation/codex-login.d.ts.map +1 -0
- package/dist/evaluation/codex-login.js +143 -0
- package/dist/evaluation/codex-login.js.map +1 -0
- package/dist/evaluation/comparisons.d.ts +65 -0
- package/dist/evaluation/comparisons.d.ts.map +1 -0
- package/dist/evaluation/comparisons.js +161 -0
- package/dist/evaluation/comparisons.js.map +1 -0
- package/dist/evaluation/config.d.ts +43 -0
- package/dist/evaluation/config.d.ts.map +1 -0
- package/dist/evaluation/config.js +116 -0
- package/dist/evaluation/config.js.map +1 -0
- package/dist/evaluation/cost.d.ts +3 -0
- package/dist/evaluation/cost.d.ts.map +1 -0
- package/dist/evaluation/cost.js +95 -0
- package/dist/evaluation/cost.js.map +1 -0
- package/dist/evaluation/credential-execution.d.ts +10 -0
- package/dist/evaluation/credential-execution.d.ts.map +1 -0
- package/dist/evaluation/credential-execution.js +65 -0
- package/dist/evaluation/credential-execution.js.map +1 -0
- package/dist/evaluation/credentials.d.ts +40 -0
- package/dist/evaluation/credentials.d.ts.map +1 -0
- package/dist/evaluation/credentials.js +146 -0
- package/dist/evaluation/credentials.js.map +1 -0
- package/dist/evaluation/encrypted-records.d.ts +15 -0
- package/dist/evaluation/encrypted-records.d.ts.map +1 -0
- package/dist/evaluation/encrypted-records.js +57 -0
- package/dist/evaluation/encrypted-records.js.map +1 -0
- package/dist/evaluation/gateway-execution.d.ts +18 -0
- package/dist/evaluation/gateway-execution.d.ts.map +1 -0
- package/dist/evaluation/gateway-execution.js +38 -0
- package/dist/evaluation/gateway-execution.js.map +1 -0
- package/dist/evaluation/harbor-cost.d.ts +3 -0
- package/dist/evaluation/harbor-cost.d.ts.map +1 -0
- package/dist/evaluation/harbor-cost.js +39 -0
- package/dist/evaluation/harbor-cost.js.map +1 -0
- package/dist/evaluation/harbor_e2b.py +20 -0
- package/dist/evaluation/harbor_gateway.py +22 -0
- package/dist/evaluation/harnesses.d.ts +8 -0
- package/dist/evaluation/harnesses.d.ts.map +1 -0
- package/dist/evaluation/harnesses.js +10 -0
- package/dist/evaluation/harnesses.js.map +1 -0
- package/dist/evaluation/model-options.d.ts +9 -0
- package/dist/evaluation/model-options.d.ts.map +1 -0
- package/dist/evaluation/model-options.js +81 -0
- package/dist/evaluation/model-options.js.map +1 -0
- package/dist/evaluation/org-credential-routes.d.ts +5 -0
- package/dist/evaluation/org-credential-routes.d.ts.map +1 -0
- package/dist/evaluation/org-credential-routes.js +56 -0
- package/dist/evaluation/org-credential-routes.js.map +1 -0
- package/dist/evaluation/org-records.d.ts +4 -0
- package/dist/evaluation/org-records.d.ts.map +1 -0
- package/dist/evaluation/org-records.js +14 -0
- package/dist/evaluation/org-records.js.map +1 -0
- package/dist/evaluation/output.d.ts +9 -0
- package/dist/evaluation/output.d.ts.map +1 -0
- package/dist/evaluation/output.js +171 -0
- package/dist/evaluation/output.js.map +1 -0
- package/dist/evaluation/platform-routes.d.ts +5 -0
- package/dist/evaluation/platform-routes.d.ts.map +1 -0
- package/dist/evaluation/platform-routes.js +123 -0
- package/dist/evaluation/platform-routes.js.map +1 -0
- package/dist/evaluation/profile-routes.d.ts +16 -0
- package/dist/evaluation/profile-routes.d.ts.map +1 -0
- package/dist/evaluation/profile-routes.js +47 -0
- package/dist/evaluation/profile-routes.js.map +1 -0
- package/dist/evaluation/profiles.d.ts +48 -0
- package/dist/evaluation/profiles.d.ts.map +1 -0
- package/dist/evaluation/profiles.js +134 -0
- package/dist/evaluation/profiles.js.map +1 -0
- package/dist/evaluation/providers.d.ts +11 -0
- package/dist/evaluation/providers.d.ts.map +1 -0
- package/dist/evaluation/providers.js +30 -0
- package/dist/evaluation/providers.js.map +1 -0
- package/dist/evaluation/routes.d.ts +23 -0
- package/dist/evaluation/routes.d.ts.map +1 -0
- package/dist/evaluation/routes.js +212 -0
- package/dist/evaluation/routes.js.map +1 -0
- package/dist/evaluation/runner.d.ts +16 -0
- package/dist/evaluation/runner.d.ts.map +1 -0
- package/dist/evaluation/runner.js +241 -0
- package/dist/evaluation/runner.js.map +1 -0
- package/dist/evaluation/store.d.ts +8 -0
- package/dist/evaluation/store.d.ts.map +1 -0
- package/dist/evaluation/store.js +60 -0
- package/dist/evaluation/store.js.map +1 -0
- package/dist/evaluation/types.d.ts +98 -0
- package/dist/evaluation/types.d.ts.map +1 -0
- package/dist/evaluation/types.js +2 -0
- package/dist/evaluation/types.js.map +1 -0
- package/dist/evaluation/worker-main.d.ts +2 -0
- package/dist/evaluation/worker-main.d.ts.map +1 -0
- package/dist/evaluation/worker-main.js +26 -0
- package/dist/evaluation/worker-main.js.map +1 -0
- package/dist/evaluation/worker-records.d.ts +5 -0
- package/dist/evaluation/worker-records.d.ts.map +1 -0
- package/dist/evaluation/worker-records.js +11 -0
- package/dist/evaluation/worker-records.js.map +1 -0
- package/dist/evaluation/workflow.d.ts +3 -0
- package/dist/evaluation/workflow.d.ts.map +1 -0
- package/dist/evaluation/workflow.js +20 -0
- package/dist/evaluation/workflow.js.map +1 -0
- package/dist/execution-environment.d.ts +3 -0
- package/dist/execution-environment.d.ts.map +1 -0
- package/dist/execution-environment.js +9 -0
- package/dist/execution-environment.js.map +1 -0
- package/dist/extension-authoring.bundle.js +347 -0
- package/dist/extension-verifier.bundle.js +73 -0
- package/dist/extensions/authoring.d.ts.map +1 -1
- package/dist/extensions/authoring.js +70 -59
- package/dist/extensions/authoring.js.map +1 -1
- package/dist/extensions/shared/deliverable.d.ts +33 -0
- package/dist/extensions/shared/deliverable.d.ts.map +1 -0
- package/dist/extensions/shared/deliverable.js +123 -0
- package/dist/extensions/shared/deliverable.js.map +1 -0
- package/dist/extensions/shared/mailbox.d.ts +33 -0
- package/dist/extensions/shared/mailbox.d.ts.map +1 -0
- package/dist/extensions/shared/mailbox.js +102 -0
- package/dist/extensions/shared/mailbox.js.map +1 -0
- package/dist/extensions/shared/schemas.d.ts +90 -0
- package/dist/extensions/shared/schemas.d.ts.map +1 -0
- package/dist/extensions/shared/schemas.js +71 -0
- package/dist/extensions/shared/schemas.js.map +1 -0
- package/dist/extensions/shared/static-check.d.ts +38 -0
- package/dist/extensions/shared/static-check.d.ts.map +1 -0
- package/dist/extensions/shared/static-check.js +52 -0
- package/dist/extensions/shared/static-check.js.map +1 -0
- package/dist/extensions/verifier.d.ts +4 -0
- package/dist/extensions/verifier.d.ts.map +1 -0
- package/dist/extensions/verifier.js +70 -0
- package/dist/extensions/verifier.js.map +1 -0
- package/dist/github.d.ts +1 -1
- package/dist/github.d.ts.map +1 -1
- package/dist/github.js +3 -3
- package/dist/github.js.map +1 -1
- package/dist/harbor-environment.d.ts +13 -1
- package/dist/harbor-environment.d.ts.map +1 -1
- package/dist/harbor-environment.js +37 -4
- package/dist/harbor-environment.js.map +1 -1
- package/dist/harbor-results.d.ts +2 -0
- package/dist/harbor-results.d.ts.map +1 -1
- package/dist/harbor-results.js +2 -0
- package/dist/harbor-results.js.map +1 -1
- package/dist/harbor-task/compiler.d.ts +10 -0
- package/dist/harbor-task/compiler.d.ts.map +1 -0
- package/dist/harbor-task/compiler.js +174 -0
- package/dist/harbor-task/compiler.js.map +1 -0
- package/dist/harbor-task/constants.d.ts +3 -0
- package/dist/harbor-task/constants.d.ts.map +1 -0
- package/dist/harbor-task/constants.js +3 -0
- package/dist/harbor-task/constants.js.map +1 -0
- package/dist/harbor-task/dependencies.d.ts +3 -0
- package/dist/harbor-task/dependencies.d.ts.map +1 -0
- package/dist/harbor-task/dependencies.js +20 -0
- package/dist/harbor-task/dependencies.js.map +1 -0
- package/dist/harbor-task/paths.d.ts +6 -0
- package/dist/harbor-task/paths.d.ts.map +1 -0
- package/dist/harbor-task/paths.js +37 -0
- package/dist/harbor-task/paths.js.map +1 -0
- package/dist/harbor-task/render.d.ts +11 -0
- package/dist/harbor-task/render.d.ts.map +1 -0
- package/dist/harbor-task/render.js +194 -0
- package/dist/harbor-task/render.js.map +1 -0
- package/dist/harbor-task/runtime/command.sh +26 -0
- package/dist/harbor-task/runtime/junit.py +69 -0
- package/dist/harbor-task/runtime-assets.d.ts +2 -0
- package/dist/harbor-task/runtime-assets.d.ts.map +1 -0
- package/dist/harbor-task/runtime-assets.js +8 -0
- package/dist/harbor-task/runtime-assets.js.map +1 -0
- package/dist/harbor-task/test-patch.d.ts +4 -0
- package/dist/harbor-task/test-patch.d.ts.map +1 -0
- package/dist/harbor-task/test-patch.js +15 -0
- package/dist/harbor-task/test-patch.js.map +1 -0
- package/dist/harbor-task/verifier.d.ts +4 -0
- package/dist/harbor-task/verifier.d.ts.map +1 -0
- package/dist/harbor-task/verifier.js +105 -0
- package/dist/harbor-task/verifier.js.map +1 -0
- package/dist/harbor-task.d.ts +3 -11
- package/dist/harbor-task.d.ts.map +1 -1
- package/dist/harbor-task.js +2 -463
- package/dist/harbor-task.js.map +1 -1
- package/dist/log-excerpt.d.ts +15 -0
- package/dist/log-excerpt.d.ts.map +1 -0
- package/dist/log-excerpt.js +104 -0
- package/dist/log-excerpt.js.map +1 -0
- package/dist/patch-check.d.ts +26 -0
- package/dist/patch-check.d.ts.map +1 -0
- package/dist/patch-check.js +137 -0
- package/dist/patch-check.js.map +1 -0
- package/dist/pi-event-feed.d.ts +16 -0
- package/dist/pi-event-feed.d.ts.map +1 -0
- package/dist/pi-event-feed.js +86 -0
- package/dist/pi-event-feed.js.map +1 -0
- package/dist/pi-session.d.ts +32 -0
- package/dist/pi-session.d.ts.map +1 -0
- package/dist/pi-session.js +175 -0
- package/dist/pi-session.js.map +1 -0
- package/dist/process.d.ts +5 -0
- package/dist/process.d.ts.map +1 -1
- package/dist/process.js +31 -9
- package/dist/process.js.map +1 -1
- package/dist/provenance/github.d.ts +4 -0
- package/dist/provenance/github.d.ts.map +1 -0
- package/dist/provenance/github.js +65 -0
- package/dist/provenance/github.js.map +1 -0
- package/dist/provenance/local.d.ts +4 -0
- package/dist/provenance/local.d.ts.map +1 -0
- package/dist/provenance/local.js +82 -0
- package/dist/provenance/local.js.map +1 -0
- package/dist/provenance/redact.d.ts +2 -0
- package/dist/provenance/redact.d.ts.map +1 -0
- package/dist/provenance/redact.js +28 -0
- package/dist/provenance/redact.js.map +1 -0
- package/dist/provenance/selection.d.ts +4 -0
- package/dist/provenance/selection.d.ts.map +1 -0
- package/dist/provenance/selection.js +29 -0
- package/dist/provenance/selection.js.map +1 -0
- package/dist/provenance/session.d.ts +3 -0
- package/dist/provenance/session.d.ts.map +1 -0
- package/dist/provenance/session.js +214 -0
- package/dist/provenance/session.js.map +1 -0
- package/dist/provenance/shared.d.ts +7 -0
- package/dist/provenance/shared.d.ts.map +1 -0
- package/dist/provenance/shared.js +10 -0
- package/dist/provenance/shared.js.map +1 -0
- package/dist/provenance/types.d.ts +34 -0
- package/dist/provenance/types.d.ts.map +1 -0
- package/dist/provenance/types.js +22 -0
- package/dist/provenance/types.js.map +1 -0
- package/dist/provenance-associations/apply.d.ts +3 -0
- package/dist/provenance-associations/apply.d.ts.map +1 -0
- package/dist/provenance-associations/apply.js +66 -0
- package/dist/provenance-associations/apply.js.map +1 -0
- package/dist/provenance-associations/shared.d.ts +45 -0
- package/dist/provenance-associations/shared.d.ts.map +1 -0
- package/dist/provenance-associations/shared.js +42 -0
- package/dist/provenance-associations/shared.js.map +1 -0
- package/dist/provenance-associations.d.ts +3 -30
- package/dist/provenance-associations.d.ts.map +1 -1
- package/dist/provenance-associations.js +4 -103
- package/dist/provenance-associations.js.map +1 -1
- package/dist/provenance.d.ts +7 -41
- package/dist/provenance.d.ts.map +1 -1
- package/dist/provenance.js +6 -432
- package/dist/provenance.js.map +1 -1
- package/dist/providers.d.ts +25 -2
- package/dist/providers.d.ts.map +1 -1
- package/dist/providers.js +23 -2
- package/dist/providers.js.map +1 -1
- package/dist/repair.d.ts +1 -6
- package/dist/repair.d.ts.map +1 -1
- package/dist/repair.js +17 -27
- package/dist/repair.js.map +1 -1
- package/dist/review/assets/index-BHHztQ9x.js +1679 -0
- package/dist/review/assets/index-KQ1eFQ0t.css +1 -0
- package/dist/review/index.html +11 -8
- package/dist/runtime/command.sh +26 -0
- package/dist/runtime/junit.py +69 -0
- package/dist/sandbox/contracts.d.ts +36 -1
- package/dist/sandbox/contracts.d.ts.map +1 -1
- package/dist/sandbox/contracts.js +3 -0
- package/dist/sandbox/contracts.js.map +1 -1
- package/dist/sandbox/index.d.ts +1 -1
- package/dist/sandbox/index.d.ts.map +1 -1
- package/dist/sandbox/index.js +13 -2
- package/dist/sandbox/index.js.map +1 -1
- package/dist/sandbox/live.d.ts +18 -0
- package/dist/sandbox/live.d.ts.map +1 -0
- package/dist/sandbox/live.js +55 -0
- package/dist/sandbox/live.js.map +1 -0
- package/dist/sandbox/output-retry.d.ts +16 -0
- package/dist/sandbox/output-retry.d.ts.map +1 -0
- package/dist/sandbox/output-retry.js +36 -0
- package/dist/sandbox/output-retry.js.map +1 -0
- package/dist/sandbox/programs/author.js +16 -6
- package/dist/sandbox/programs/author.js.map +1 -1
- package/dist/sandbox/programs/check.d.ts +3 -0
- package/dist/sandbox/programs/check.d.ts.map +1 -0
- package/dist/sandbox/programs/check.js +76 -0
- package/dist/sandbox/programs/check.js.map +1 -0
- package/dist/sandbox/programs/prepare-task.d.ts +12 -0
- package/dist/sandbox/programs/prepare-task.d.ts.map +1 -0
- package/dist/sandbox/programs/{prepare-repair.js → prepare-task.js} +11 -9
- package/dist/sandbox/programs/prepare-task.js.map +1 -0
- package/dist/sandbox/programs/verifier.d.ts +3 -0
- package/dist/sandbox/programs/verifier.d.ts.map +1 -0
- package/dist/sandbox/programs/verifier.js +9 -0
- package/dist/sandbox/programs/verifier.js.map +1 -0
- package/dist/sandbox/providers/docker/executor.d.ts +4 -1
- package/dist/sandbox/providers/docker/executor.d.ts.map +1 -1
- package/dist/sandbox/providers/docker/executor.js +75 -25
- package/dist/sandbox/providers/docker/executor.js.map +1 -1
- package/dist/sandbox/providers/e2b/bytes.d.ts +3 -0
- package/dist/sandbox/providers/e2b/bytes.d.ts.map +1 -0
- package/dist/sandbox/providers/e2b/bytes.js +8 -0
- package/dist/sandbox/providers/e2b/bytes.js.map +1 -0
- package/dist/sandbox/providers/e2b/cleanup.d.ts +8 -0
- package/dist/sandbox/providers/e2b/cleanup.d.ts.map +1 -0
- package/dist/sandbox/providers/e2b/cleanup.js +124 -0
- package/dist/sandbox/providers/e2b/cleanup.js.map +1 -0
- package/dist/sandbox/providers/e2b/command.d.ts +23 -0
- package/dist/sandbox/providers/e2b/command.d.ts.map +1 -0
- package/dist/sandbox/providers/e2b/command.js +160 -0
- package/dist/sandbox/providers/e2b/command.js.map +1 -0
- package/dist/sandbox/providers/e2b/config.d.ts +13 -0
- package/dist/sandbox/providers/e2b/config.d.ts.map +1 -0
- package/dist/sandbox/providers/e2b/config.js +2 -0
- package/dist/sandbox/providers/e2b/config.js.map +1 -0
- package/dist/sandbox/providers/e2b/executor.d.ts +15 -0
- package/dist/sandbox/providers/e2b/executor.d.ts.map +1 -0
- package/dist/sandbox/providers/e2b/executor.js +207 -0
- package/dist/sandbox/providers/e2b/executor.js.map +1 -0
- package/dist/sandbox/providers/e2b/lifecycle.d.ts +8 -0
- package/dist/sandbox/providers/e2b/lifecycle.d.ts.map +1 -0
- package/dist/sandbox/providers/e2b/lifecycle.js +37 -0
- package/dist/sandbox/providers/e2b/lifecycle.js.map +1 -0
- package/dist/sandbox/providers/e2b/outcome.d.ts +11 -0
- package/dist/sandbox/providers/e2b/outcome.d.ts.map +1 -0
- package/dist/sandbox/providers/e2b/outcome.js +72 -0
- package/dist/sandbox/providers/e2b/outcome.js.map +1 -0
- package/dist/sandbox/providers/e2b/stage-files.d.ts +10 -0
- package/dist/sandbox/providers/e2b/stage-files.d.ts.map +1 -0
- package/dist/sandbox/providers/e2b/stage-files.js +45 -0
- package/dist/sandbox/providers/e2b/stage-files.js.map +1 -0
- package/dist/sandbox/providers/e2b/startup.d.ts +10 -0
- package/dist/sandbox/providers/e2b/startup.d.ts.map +1 -0
- package/dist/sandbox/providers/e2b/startup.js +26 -0
- package/dist/sandbox/providers/e2b/startup.js.map +1 -0
- package/dist/sandbox/providers/e2b/types.d.ts +9 -0
- package/dist/sandbox/providers/e2b/types.d.ts.map +1 -0
- package/dist/sandbox/providers/e2b/types.js +2 -0
- package/dist/sandbox/providers/e2b/types.js.map +1 -0
- package/dist/sandbox/providers/e2b/validation.d.ts +14 -0
- package/dist/sandbox/providers/e2b/validation.d.ts.map +1 -0
- package/dist/sandbox/providers/e2b/validation.js +60 -0
- package/dist/sandbox/providers/e2b/validation.js.map +1 -0
- package/dist/{modal-auth.d.ts → sandbox/providers/modal/auth.d.ts} +1 -1
- package/dist/sandbox/providers/modal/auth.d.ts.map +1 -0
- package/dist/{modal-auth.js → sandbox/providers/modal/auth.js} +1 -1
- package/dist/sandbox/providers/modal/auth.js.map +1 -0
- package/dist/sandbox/providers/modal/executor.d.ts +4 -1
- package/dist/sandbox/providers/modal/executor.d.ts.map +1 -1
- package/dist/sandbox/providers/modal/executor.js +33 -9
- package/dist/sandbox/providers/modal/executor.js.map +1 -1
- package/dist/sandbox/providers/modal/live.d.ts +7 -0
- package/dist/sandbox/providers/modal/live.d.ts.map +1 -0
- package/dist/sandbox/providers/modal/live.js +50 -0
- package/dist/sandbox/providers/modal/live.js.map +1 -0
- package/dist/sandbox/providers/vercel/command.d.ts +6 -0
- package/dist/sandbox/providers/vercel/command.d.ts.map +1 -1
- package/dist/sandbox/providers/vercel/command.js +44 -11
- package/dist/sandbox/providers/vercel/command.js.map +1 -1
- package/dist/sandbox/providers/vercel/executor.d.ts +6 -7
- package/dist/sandbox/providers/vercel/executor.d.ts.map +1 -1
- package/dist/sandbox/providers/vercel/executor.js +21 -187
- package/dist/sandbox/providers/vercel/executor.js.map +1 -1
- package/dist/sandbox/providers/vercel/lifecycle.d.ts +13 -0
- package/dist/sandbox/providers/vercel/lifecycle.d.ts.map +1 -0
- package/dist/sandbox/providers/vercel/lifecycle.js +140 -0
- package/dist/sandbox/providers/vercel/lifecycle.js.map +1 -0
- package/dist/sandbox/providers/vercel/validation.d.ts +11 -0
- package/dist/sandbox/providers/vercel/validation.d.ts.map +1 -0
- package/dist/sandbox/providers/vercel/validation.js +30 -0
- package/dist/sandbox/providers/vercel/validation.js.map +1 -0
- package/dist/sandbox/remote-files.d.ts +11 -0
- package/dist/sandbox/remote-files.d.ts.map +1 -0
- package/dist/sandbox/remote-files.js +41 -0
- package/dist/sandbox/remote-files.js.map +1 -0
- package/dist/sandbox/request-validation.d.ts +5 -0
- package/dist/sandbox/request-validation.d.ts.map +1 -0
- package/dist/sandbox/request-validation.js +43 -0
- package/dist/sandbox/request-validation.js.map +1 -0
- package/dist/sandbox/supervisor.d.ts +42 -0
- package/dist/sandbox/supervisor.d.ts.map +1 -0
- package/dist/sandbox/supervisor.js +126 -0
- package/dist/sandbox/supervisor.js.map +1 -0
- package/dist/sandbox/timeout.d.ts +6 -1
- package/dist/sandbox/timeout.d.ts.map +1 -1
- package/dist/sandbox/timeout.js +12 -0
- package/dist/sandbox/timeout.js.map +1 -1
- package/dist/sandbox-author.bundle.js +47 -14879
- package/dist/{sandbox-validation-repair.bundle.js → sandbox-check.bundle.js} +7261 -1893
- package/dist/sandbox-verifier.bundle.js +307 -0
- package/dist/setup/e2b/build.d.ts +24 -0
- package/dist/setup/e2b/build.d.ts.map +1 -0
- package/dist/setup/e2b/build.js +46 -0
- package/dist/setup/e2b/build.js.map +1 -0
- package/dist/setup/e2b/cli.d.ts +2 -0
- package/dist/setup/e2b/cli.d.ts.map +1 -0
- package/dist/setup/e2b/cli.js +51 -0
- package/dist/setup/e2b/cli.js.map +1 -0
- package/dist/setup/e2b/index.d.ts +5 -0
- package/dist/setup/e2b/index.d.ts.map +1 -0
- package/dist/setup/e2b/index.js +4 -0
- package/dist/setup/e2b/index.js.map +1 -0
- package/dist/setup/e2b/template.d.ts +4 -0
- package/dist/setup/e2b/template.d.ts.map +1 -0
- package/dist/setup/e2b/template.js +53 -0
- package/dist/setup/e2b/template.js.map +1 -0
- package/dist/setup/vercel/cli-helpers.d.ts +22 -0
- package/dist/setup/vercel/cli-helpers.d.ts.map +1 -0
- package/dist/setup/vercel/cli-helpers.js +87 -0
- package/dist/setup/vercel/cli-helpers.js.map +1 -0
- package/dist/setup/vercel/cli-runner.d.ts +14 -0
- package/dist/setup/vercel/cli-runner.d.ts.map +1 -0
- package/dist/setup/vercel/cli-runner.js +24 -0
- package/dist/setup/vercel/cli-runner.js.map +1 -0
- package/dist/setup/vercel/cli-types.d.ts +24 -0
- package/dist/setup/vercel/cli-types.d.ts.map +1 -0
- package/dist/setup/vercel/cli-types.js +18 -0
- package/dist/setup/vercel/cli-types.js.map +1 -0
- package/dist/setup/vercel/cli.d.ts +5 -31
- package/dist/setup/vercel/cli.d.ts.map +1 -1
- package/dist/setup/vercel/cli.js +15 -125
- package/dist/setup/vercel/cli.js.map +1 -1
- package/dist/setup/vercel/profile-files.d.ts +6 -0
- package/dist/setup/vercel/profile-files.d.ts.map +1 -0
- package/dist/setup/vercel/profile-files.js +100 -0
- package/dist/setup/vercel/profile-files.js.map +1 -0
- package/dist/setup/vercel/profile-schema.d.ts +48 -0
- package/dist/setup/vercel/profile-schema.d.ts.map +1 -0
- package/dist/setup/vercel/profile-schema.js +39 -0
- package/dist/setup/vercel/profile-schema.js.map +1 -0
- package/dist/setup/vercel/profile.d.ts +3 -19
- package/dist/setup/vercel/profile.d.ts.map +1 -1
- package/dist/setup/vercel/profile.js +4 -130
- package/dist/setup/vercel/profile.js.map +1 -1
- package/dist/setup/vercel/selection.d.ts +18 -0
- package/dist/setup/vercel/selection.d.ts.map +1 -0
- package/dist/setup/vercel/selection.js +113 -0
- package/dist/setup/vercel/selection.js.map +1 -0
- package/dist/setup/vercel/setup-types.d.ts +34 -0
- package/dist/setup/vercel/setup-types.d.ts.map +1 -0
- package/dist/setup/vercel/setup-types.js +2 -0
- package/dist/setup/vercel/setup-types.js.map +1 -0
- package/dist/setup/vercel/setup.d.ts +3 -28
- package/dist/setup/vercel/setup.d.ts.map +1 -1
- package/dist/setup/vercel/setup.js +3 -111
- package/dist/setup/vercel/setup.js.map +1 -1
- package/dist/site/batch-activity.d.ts +5 -0
- package/dist/site/batch-activity.d.ts.map +1 -0
- package/dist/site/batch-activity.js +31 -0
- package/dist/site/batch-activity.js.map +1 -0
- package/dist/site/batch-progress.d.ts +16 -0
- package/dist/site/batch-progress.d.ts.map +1 -0
- package/dist/site/batch-progress.js +52 -0
- package/dist/site/batch-progress.js.map +1 -0
- package/dist/site/batch-routes.d.ts +30 -0
- package/dist/site/batch-routes.d.ts.map +1 -0
- package/dist/site/batch-routes.js +117 -0
- package/dist/site/batch-routes.js.map +1 -0
- package/dist/site/batch-start.d.ts +60 -0
- package/dist/site/batch-start.d.ts.map +1 -0
- package/dist/site/batch-start.js +39 -0
- package/dist/site/batch-start.js.map +1 -0
- package/dist/site/connected-repos.d.ts +25 -0
- package/dist/site/connected-repos.d.ts.map +1 -0
- package/dist/site/connected-repos.js +109 -0
- package/dist/site/connected-repos.js.map +1 -0
- package/dist/site/evaluation-start.d.ts +4 -0
- package/dist/site/evaluation-start.d.ts.map +1 -0
- package/dist/site/evaluation-start.js +19 -0
- package/dist/site/evaluation-start.js.map +1 -0
- package/dist/site/generation-config.d.ts +4 -0
- package/dist/site/generation-config.d.ts.map +1 -0
- package/dist/site/generation-config.js +16 -0
- package/dist/site/generation-config.js.map +1 -0
- package/dist/site/generation-credentials.d.ts +6 -0
- package/dist/site/generation-credentials.d.ts.map +1 -0
- package/dist/site/generation-credentials.js +101 -0
- package/dist/site/generation-credentials.js.map +1 -0
- package/dist/site/generation-run.d.ts +6 -0
- package/dist/site/generation-run.d.ts.map +1 -0
- package/dist/site/generation-run.js +22 -0
- package/dist/site/generation-run.js.map +1 -0
- package/dist/site/generation-settings.d.ts +80 -0
- package/dist/site/generation-settings.d.ts.map +1 -0
- package/dist/site/generation-settings.js +84 -0
- package/dist/site/generation-settings.js.map +1 -0
- package/dist/site/generation-subscription.d.ts +3 -0
- package/dist/site/generation-subscription.d.ts.map +1 -0
- package/dist/site/generation-subscription.js +38 -0
- package/dist/site/generation-subscription.js.map +1 -0
- package/dist/site/github-repos.d.ts +35 -0
- package/dist/site/github-repos.d.ts.map +1 -0
- package/dist/site/github-repos.js +121 -0
- package/dist/site/github-repos.js.map +1 -0
- package/dist/site/pr-candidate.d.ts +26 -0
- package/dist/site/pr-candidate.d.ts.map +1 -0
- package/dist/site/pr-candidate.js +101 -0
- package/dist/site/pr-candidate.js.map +1 -0
- package/dist/site/pr-list.d.ts +13 -0
- package/dist/site/pr-list.d.ts.map +1 -0
- package/dist/site/pr-list.js +24 -0
- package/dist/site/pr-list.js.map +1 -0
- package/dist/site/pr-routes.d.ts +26 -0
- package/dist/site/pr-routes.d.ts.map +1 -0
- package/dist/site/pr-routes.js +139 -0
- package/dist/site/pr-routes.js.map +1 -0
- package/dist/site/repo-store.d.ts +40 -0
- package/dist/site/repo-store.d.ts.map +1 -0
- package/dist/site/repo-store.js +74 -0
- package/dist/site/repo-store.js.map +1 -0
- package/dist/site/run-store.d.ts +17 -0
- package/dist/site/run-store.d.ts.map +1 -0
- package/dist/site/run-store.js +42 -0
- package/dist/site/run-store.js.map +1 -0
- package/dist/site/runtime.d.ts +27 -0
- package/dist/site/runtime.d.ts.map +1 -0
- package/dist/site/runtime.js +97 -0
- package/dist/site/runtime.js.map +1 -0
- package/dist/site/task-deletion.d.ts +7 -0
- package/dist/site/task-deletion.d.ts.map +1 -0
- package/dist/site/task-deletion.js +29 -0
- package/dist/site/task-deletion.js.map +1 -0
- package/dist/site/task-start-reservation.d.ts +4 -0
- package/dist/site/task-start-reservation.d.ts.map +1 -0
- package/dist/site/task-start-reservation.js +18 -0
- package/dist/site/task-start-reservation.js.map +1 -0
- package/dist/site/task-start.d.ts +33 -0
- package/dist/site/task-start.d.ts.map +1 -0
- package/dist/site/task-start.js +50 -0
- package/dist/site/task-start.js.map +1 -0
- package/dist/site/task-status.d.ts +36 -0
- package/dist/site/task-status.d.ts.map +1 -0
- package/dist/site/task-status.js +113 -0
- package/dist/site/task-status.js.map +1 -0
- package/dist/site/task-store.d.ts +78 -0
- package/dist/site/task-store.d.ts.map +1 -0
- package/dist/site/task-store.js +186 -0
- package/dist/site/task-store.js.map +1 -0
- package/dist/site/task-sync.d.ts +30 -0
- package/dist/site/task-sync.d.ts.map +1 -0
- package/dist/site/task-sync.js +121 -0
- package/dist/site/task-sync.js.map +1 -0
- package/dist/site/tasks.d.ts +47 -0
- package/dist/site/tasks.d.ts.map +1 -0
- package/dist/site/tasks.js +164 -0
- package/dist/site/tasks.js.map +1 -0
- package/dist/site/temporal-status.d.ts +8 -0
- package/dist/site/temporal-status.d.ts.map +1 -0
- package/dist/site/temporal-status.js +41 -0
- package/dist/site/temporal-status.js.map +1 -0
- package/dist/site/tenant.d.ts +4 -0
- package/dist/site/tenant.d.ts.map +1 -0
- package/dist/site/tenant.js +6 -0
- package/dist/site/tenant.js.map +1 -0
- package/dist/static-check.d.ts +38 -0
- package/dist/static-check.d.ts.map +1 -0
- package/dist/static-check.js +131 -0
- package/dist/static-check.js.map +1 -0
- package/dist/submission-hash.d.ts +18 -0
- package/dist/submission-hash.d.ts.map +1 -0
- package/dist/submission-hash.js +16 -0
- package/dist/submission-hash.js.map +1 -0
- package/dist/subscription-auth.d.ts +0 -7
- package/dist/subscription-auth.d.ts.map +1 -1
- package/dist/subscription-auth.js +3 -23
- package/dist/subscription-auth.js.map +1 -1
- package/dist/temporal/activities/agent-feed.d.ts +5 -0
- package/dist/temporal/activities/agent-feed.d.ts.map +1 -0
- package/dist/temporal/activities/agent-feed.js +41 -0
- package/dist/temporal/activities/agent-feed.js.map +1 -0
- package/dist/temporal/activities/agent-scripts.d.ts +16 -0
- package/dist/temporal/activities/agent-scripts.d.ts.map +1 -0
- package/dist/temporal/activities/agent-scripts.js +162 -0
- package/dist/temporal/activities/agent-scripts.js.map +1 -0
- package/dist/temporal/activities/authoring-round.d.ts +13 -0
- package/dist/temporal/activities/authoring-round.d.ts.map +1 -0
- package/dist/temporal/activities/authoring-round.js +160 -0
- package/dist/temporal/activities/authoring-round.js.map +1 -0
- package/dist/temporal/activities/constants.d.ts +5 -0
- package/dist/temporal/activities/constants.d.ts.map +1 -0
- package/dist/temporal/activities/constants.js +5 -0
- package/dist/temporal/activities/constants.js.map +1 -0
- package/dist/temporal/activities/discovery.d.ts +17 -0
- package/dist/temporal/activities/discovery.d.ts.map +1 -0
- package/dist/temporal/activities/discovery.js +153 -0
- package/dist/temporal/activities/discovery.js.map +1 -0
- package/dist/temporal/activities/drafts.d.ts +15 -0
- package/dist/temporal/activities/drafts.d.ts.map +1 -0
- package/dist/temporal/activities/drafts.js +51 -0
- package/dist/temporal/activities/drafts.js.map +1 -0
- package/dist/temporal/activities/excluded-source-prs.d.ts +9 -0
- package/dist/temporal/activities/excluded-source-prs.d.ts.map +1 -0
- package/dist/temporal/activities/excluded-source-prs.js +132 -0
- package/dist/temporal/activities/excluded-source-prs.js.map +1 -0
- package/dist/temporal/activities/export.d.ts +38 -0
- package/dist/temporal/activities/export.d.ts.map +1 -0
- package/dist/temporal/activities/export.js +79 -0
- package/dist/temporal/activities/export.js.map +1 -0
- package/dist/temporal/activities/factory.d.ts +5 -0
- package/dist/temporal/activities/factory.d.ts.map +1 -0
- package/dist/temporal/activities/factory.js +26 -0
- package/dist/temporal/activities/factory.js.map +1 -0
- package/dist/temporal/activities/gate-logs.d.ts +20 -0
- package/dist/temporal/activities/gate-logs.d.ts.map +1 -0
- package/dist/temporal/activities/gate-logs.js +62 -0
- package/dist/temporal/activities/gate-logs.js.map +1 -0
- package/dist/temporal/activities/generation-runtime.d.ts +6 -0
- package/dist/temporal/activities/generation-runtime.d.ts.map +1 -0
- package/dist/temporal/activities/generation-runtime.js +56 -0
- package/dist/temporal/activities/generation-runtime.js.map +1 -0
- package/dist/temporal/activities/harbor.d.ts +11 -0
- package/dist/temporal/activities/harbor.d.ts.map +1 -0
- package/dist/temporal/activities/harbor.js +112 -0
- package/dist/temporal/activities/harbor.js.map +1 -0
- package/dist/temporal/activities/modal-build-log.d.ts +12 -0
- package/dist/temporal/activities/modal-build-log.d.ts.map +1 -0
- package/dist/temporal/activities/modal-build-log.js +57 -0
- package/dist/temporal/activities/modal-build-log.js.map +1 -0
- package/dist/temporal/activities/prompts-authoring.d.ts +6 -0
- package/dist/temporal/activities/prompts-authoring.d.ts.map +1 -0
- package/dist/temporal/activities/prompts-authoring.js +87 -0
- package/dist/temporal/activities/prompts-authoring.js.map +1 -0
- package/dist/temporal/activities/prompts-verifier.d.ts +17 -0
- package/dist/temporal/activities/prompts-verifier.d.ts.map +1 -0
- package/dist/temporal/activities/prompts-verifier.js +66 -0
- package/dist/temporal/activities/prompts-verifier.js.map +1 -0
- package/dist/temporal/activities/provenance.d.ts +4 -0
- package/dist/temporal/activities/provenance.d.ts.map +1 -0
- package/dist/temporal/activities/provenance.js +18 -0
- package/dist/temporal/activities/provenance.js.map +1 -0
- package/dist/temporal/activities/replay.d.ts +20 -0
- package/dist/temporal/activities/replay.d.ts.map +1 -0
- package/dist/temporal/activities/replay.js +135 -0
- package/dist/temporal/activities/replay.js.map +1 -0
- package/dist/temporal/activities/round-outcome.d.ts +63 -0
- package/dist/temporal/activities/round-outcome.d.ts.map +1 -0
- package/dist/temporal/activities/round-outcome.js +127 -0
- package/dist/temporal/activities/round-outcome.js.map +1 -0
- package/dist/temporal/activities/runtime.d.ts +38 -0
- package/dist/temporal/activities/runtime.d.ts.map +1 -0
- package/dist/temporal/activities/runtime.js +146 -0
- package/dist/temporal/activities/runtime.js.map +1 -0
- package/dist/temporal/activities/session-verify.d.ts +45 -0
- package/dist/temporal/activities/session-verify.d.ts.map +1 -0
- package/dist/temporal/activities/session-verify.js +91 -0
- package/dist/temporal/activities/session-verify.js.map +1 -0
- package/dist/temporal/activities/submissions.d.ts +9 -0
- package/dist/temporal/activities/submissions.d.ts.map +1 -0
- package/dist/temporal/activities/submissions.js +28 -0
- package/dist/temporal/activities/submissions.js.map +1 -0
- package/dist/temporal/activities/task-compiler.d.ts +21 -0
- package/dist/temporal/activities/task-compiler.d.ts.map +1 -0
- package/dist/temporal/activities/task-compiler.js +63 -0
- package/dist/temporal/activities/task-compiler.js.map +1 -0
- package/dist/temporal/activities/types.d.ts +57 -0
- package/dist/temporal/activities/types.d.ts.map +1 -0
- package/dist/temporal/activities/types.js +2 -0
- package/dist/temporal/activities/types.js.map +1 -0
- package/dist/temporal/activities/verifier-material.d.ts +18 -0
- package/dist/temporal/activities/verifier-material.d.ts.map +1 -0
- package/dist/temporal/activities/verifier-material.js +49 -0
- package/dist/temporal/activities/verifier-material.js.map +1 -0
- package/dist/temporal/activities/verifier-outcome.d.ts +19 -0
- package/dist/temporal/activities/verifier-outcome.d.ts.map +1 -0
- package/dist/temporal/activities/verifier-outcome.js +70 -0
- package/dist/temporal/activities/verifier-outcome.js.map +1 -0
- package/dist/temporal/activities/verifier-round.d.ts +8 -0
- package/dist/temporal/activities/verifier-round.d.ts.map +1 -0
- package/dist/temporal/activities/verifier-round.js +110 -0
- package/dist/temporal/activities/verifier-round.js.map +1 -0
- package/dist/temporal/activities/verify-harbor.d.ts +15 -0
- package/dist/temporal/activities/verify-harbor.d.ts.map +1 -0
- package/dist/temporal/activities/verify-harbor.js +193 -0
- package/dist/temporal/activities/verify-harbor.js.map +1 -0
- package/dist/temporal/activities/verify.d.ts +11 -0
- package/dist/temporal/activities/verify.d.ts.map +1 -0
- package/dist/temporal/activities/verify.js +151 -0
- package/dist/temporal/activities/verify.js.map +1 -0
- package/dist/temporal/activities.d.ts +3 -51
- package/dist/temporal/activities.d.ts.map +1 -1
- package/dist/temporal/activities.js +2 -886
- package/dist/temporal/activities.js.map +1 -1
- package/dist/temporal/connection.d.ts.map +1 -1
- package/dist/temporal/connection.js +3 -2
- package/dist/temporal/connection.js.map +1 -1
- package/dist/temporal/worker-main.js +19 -3
- package/dist/temporal/worker-main.js.map +1 -1
- package/dist/temporal/workflow/activity-proxies.d.ts +3 -0
- package/dist/temporal/workflow/activity-proxies.d.ts.map +1 -0
- package/dist/temporal/workflow/activity-proxies.js +45 -0
- package/dist/temporal/workflow/activity-proxies.js.map +1 -0
- package/dist/temporal/workflow/authoring-stage.d.ts +5 -0
- package/dist/temporal/workflow/authoring-stage.d.ts.map +1 -0
- package/dist/temporal/workflow/authoring-stage.js +64 -0
- package/dist/temporal/workflow/authoring-stage.js.map +1 -0
- package/dist/temporal/workflow/candidate-tracker.d.ts +28 -0
- package/dist/temporal/workflow/candidate-tracker.d.ts.map +1 -0
- package/dist/temporal/workflow/candidate-tracker.js +85 -0
- package/dist/temporal/workflow/candidate-tracker.js.map +1 -0
- package/dist/temporal/workflow/candidate.d.ts +6 -0
- package/dist/temporal/workflow/candidate.d.ts.map +1 -0
- package/dist/temporal/workflow/candidate.js +54 -0
- package/dist/temporal/workflow/candidate.js.map +1 -0
- package/dist/temporal/workflow/discovery.d.ts +19 -0
- package/dist/temporal/workflow/discovery.d.ts.map +1 -0
- package/dist/temporal/workflow/discovery.js +137 -0
- package/dist/temporal/workflow/discovery.js.map +1 -0
- package/dist/temporal/workflow/failures.d.ts +5 -0
- package/dist/temporal/workflow/failures.d.ts.map +1 -0
- package/dist/temporal/workflow/failures.js +28 -0
- package/dist/temporal/workflow/failures.js.map +1 -0
- package/dist/temporal/workflow/run.d.ts +5 -0
- package/dist/temporal/workflow/run.d.ts.map +1 -0
- package/dist/temporal/workflow/run.js +154 -0
- package/dist/temporal/workflow/run.js.map +1 -0
- package/dist/temporal/workflow/stage.d.ts +26 -0
- package/dist/temporal/workflow/stage.d.ts.map +1 -0
- package/dist/temporal/workflow/stage.js +16 -0
- package/dist/temporal/workflow/stage.js.map +1 -0
- package/dist/temporal/workflow/verification-stage.d.ts +11 -0
- package/dist/temporal/workflow/verification-stage.d.ts.map +1 -0
- package/dist/temporal/workflow/verification-stage.js +20 -0
- package/dist/temporal/workflow/verification-stage.js.map +1 -0
- package/dist/temporal/workflow.d.ts +12 -4
- package/dist/temporal/workflow.d.ts.map +1 -1
- package/dist/temporal/workflow.js +38 -445
- package/dist/temporal/workflow.js.map +1 -1
- package/dist/verifier-fix.d.ts +20 -0
- package/dist/verifier-fix.d.ts.map +1 -0
- package/dist/verifier-fix.js +62 -0
- package/dist/verifier-fix.js.map +1 -0
- package/dist/verify-report.d.ts +9 -0
- package/dist/verify-report.d.ts.map +1 -0
- package/dist/verify-report.js +135 -0
- package/dist/verify-report.js.map +1 -0
- package/dist/viewer/archived-keys.d.ts +9 -0
- package/dist/viewer/archived-keys.d.ts.map +1 -0
- package/dist/viewer/archived-keys.js +36 -0
- package/dist/viewer/archived-keys.js.map +1 -0
- package/dist/viewer/archived.d.ts +20 -0
- package/dist/viewer/archived.d.ts.map +1 -0
- package/dist/viewer/archived.js +238 -0
- package/dist/viewer/archived.js.map +1 -0
- package/dist/viewer/artifacts.d.ts +8 -0
- package/dist/viewer/artifacts.d.ts.map +1 -0
- package/dist/viewer/artifacts.js +96 -0
- package/dist/viewer/artifacts.js.map +1 -0
- package/dist/viewer/bundle.d.ts +9 -0
- package/dist/viewer/bundle.d.ts.map +1 -0
- package/dist/viewer/bundle.js +79 -0
- package/dist/viewer/bundle.js.map +1 -0
- package/dist/viewer/candidates.d.ts +9 -0
- package/dist/viewer/candidates.d.ts.map +1 -0
- package/dist/viewer/candidates.js +137 -0
- package/dist/viewer/candidates.js.map +1 -0
- package/dist/viewer/local-server.d.ts +11 -0
- package/dist/viewer/local-server.d.ts.map +1 -0
- package/dist/viewer/local-server.js +64 -0
- package/dist/viewer/local-server.js.map +1 -0
- package/dist/viewer/task-files.d.ts +10 -0
- package/dist/viewer/task-files.d.ts.map +1 -0
- package/dist/viewer/task-files.js +120 -0
- package/dist/viewer/task-files.js.map +1 -0
- package/dist/viewer/types.d.ts +78 -0
- package/dist/viewer/types.d.ts.map +1 -0
- package/dist/viewer/types.js +36 -0
- package/dist/viewer/types.js.map +1 -0
- package/docs/api.md +168 -0
- package/docs/evaluations.md +42 -15
- package/docs/operations.md +254 -26
- package/docs/solver-evaluations.md +63 -0
- package/docs/task-construction.md +21 -11
- package/drizzle/0000_glossy_johnny_blaze.sql +97 -0
- package/drizzle/0001_evaluation_records.sql +5 -0
- package/drizzle/0002_task_deletion.sql +1 -0
- package/drizzle/0003_drop_repo_runs.sql +3 -0
- package/drizzle/0004_preserve_batch_runs.sql +8 -0
- package/drizzle/0005_api_keys.sql +15 -0
- package/drizzle/meta/0000_snapshot.json +776 -0
- package/drizzle/meta/0001_snapshot.json +807 -0
- package/drizzle/meta/0002_snapshot.json +813 -0
- package/drizzle/meta/0003_snapshot.json +726 -0
- package/drizzle/meta/0004_snapshot.json +813 -0
- package/drizzle/meta/0005_snapshot.json +919 -0
- package/drizzle/meta/_journal.json +48 -0
- package/package.json +39 -25
- package/src/extensions/authoring.ts +83 -72
- package/src/extensions/shared/deliverable.ts +153 -0
- package/src/extensions/shared/mailbox.ts +128 -0
- package/src/extensions/shared/schemas.ts +101 -0
- package/src/extensions/shared/static-check.ts +103 -0
- package/src/extensions/verifier.ts +88 -0
- package/src/skills/selfbench/SKILL.md +71 -13
- package/biome.json +0 -24
- package/dist/agent-smoke-main.d.ts +0 -3
- package/dist/agent-smoke-main.d.ts.map +0 -1
- package/dist/agent-smoke-main.js +0 -55
- package/dist/agent-smoke-main.js.map +0 -1
- package/dist/agent-smoke.d.ts +0 -18
- package/dist/agent-smoke.d.ts.map +0 -1
- package/dist/agent-smoke.js +0 -103
- package/dist/agent-smoke.js.map +0 -1
- package/dist/codex-review.d.ts +0 -41
- package/dist/codex-review.d.ts.map +0 -1
- package/dist/codex-review.js +0 -193
- package/dist/codex-review.js.map +0 -1
- package/dist/eval-main.d.ts +0 -3
- package/dist/eval-main.d.ts.map +0 -1
- package/dist/eval-main.js +0 -81
- package/dist/eval-main.js.map +0 -1
- package/dist/evaluate.d.ts +0 -25
- package/dist/evaluate.d.ts.map +0 -1
- package/dist/evaluate.js +0 -214
- package/dist/evaluate.js.map +0 -1
- package/dist/modal-auth.d.ts.map +0 -1
- package/dist/modal-auth.js.map +0 -1
- package/dist/reaudit-main.d.ts +0 -3
- package/dist/reaudit-main.d.ts.map +0 -1
- package/dist/reaudit-main.js +0 -158
- package/dist/reaudit-main.js.map +0 -1
- package/dist/repair-main.d.ts +0 -3
- package/dist/repair-main.d.ts.map +0 -1
- package/dist/repair-main.js +0 -171
- package/dist/repair-main.js.map +0 -1
- package/dist/review/assets/index-CZ3G759O.js +0 -1568
- package/dist/review/assets/index-DgSLzX8l.css +0 -1
- package/dist/sandbox/programs/prepare-repair.d.ts +0 -7
- package/dist/sandbox/programs/prepare-repair.d.ts.map +0 -1
- package/dist/sandbox/programs/prepare-repair.js.map +0 -1
- package/dist/sandbox/programs/repair.d.ts +0 -3
- package/dist/sandbox/programs/repair.d.ts.map +0 -1
- package/dist/sandbox/programs/repair.js +0 -100
- package/dist/sandbox/programs/repair.js.map +0 -1
- package/dist/sandbox/programs/review.d.ts +0 -2
- package/dist/sandbox/programs/review.d.ts.map +0 -1
- package/dist/sandbox/programs/review.js +0 -18
- package/dist/sandbox/programs/review.js.map +0 -1
- package/dist/sandbox/programs/validation-repair.d.ts +0 -3
- package/dist/sandbox/programs/validation-repair.d.ts.map +0 -1
- package/dist/sandbox/programs/validation-repair.js +0 -115
- package/dist/sandbox/programs/validation-repair.js.map +0 -1
- package/dist/sandbox-repair.bundle.js +0 -323
- package/dist/sandbox-review.bundle.js +0 -14462
- package/dist/validate-main.d.ts +0 -3
- package/dist/validate-main.d.ts.map +0 -1
- package/dist/validate-main.js +0 -143
- package/dist/validate-main.js.map +0 -1
- package/dist/validation-repair.d.ts +0 -10
- package/dist/validation-repair.d.ts.map +0 -1
- package/dist/validation-repair.js +0 -72
- package/dist/validation-repair.js.map +0 -1
- package/review/index.html +0 -14
- package/review/src/App.tsx +0 -338
- package/review/src/export-loader.test.ts +0 -57
- package/review/src/export-loader.ts +0 -151
- package/review/src/main.tsx +0 -15
- package/review/src/styles.css +0 -162
- package/review/src/types.ts +0 -47
- package/review/tsconfig.json +0 -16
- package/review/vite.config.ts +0 -20
- package/scripts/build-sandbox-programs.ts +0 -22
- package/scripts/verify-package.ts +0 -102
- package/scripts/write-build-metadata.ts +0 -27
- package/src/agent-smoke-main.ts +0 -64
- package/src/agent-smoke.ts +0 -138
- package/src/api-main.ts +0 -12
- package/src/api.ts +0 -291
- package/src/artifacts.ts +0 -357
- package/src/audit.ts +0 -106
- package/src/build-metadata.ts +0 -3
- package/src/cli.ts +0 -504
- package/src/codex-review.ts +0 -229
- package/src/config.ts +0 -239
- package/src/contracts.ts +0 -233
- package/src/coupling.ts +0 -259
- package/src/eval-main.ts +0 -93
- package/src/evaluate.ts +0 -300
- package/src/github.ts +0 -26
- package/src/harbor-environment.ts +0 -17
- package/src/harbor-results.ts +0 -144
- package/src/harbor-task.ts +0 -533
- package/src/hash.ts +0 -5
- package/src/modal-auth.ts +0 -11
- package/src/parallel.ts +0 -24
- package/src/process.ts +0 -167
- package/src/project-paths.ts +0 -15
- package/src/provenance-associations.ts +0 -311
- package/src/provenance.ts +0 -561
- package/src/providers.ts +0 -22
- package/src/reaudit-main.ts +0 -198
- package/src/repair-main.ts +0 -209
- package/src/repair.ts +0 -55
- package/src/run-wait.ts +0 -40
- package/src/sandbox/contracts.ts +0 -52
- package/src/sandbox/index.ts +0 -23
- package/src/sandbox/programs/author.ts +0 -19
- package/src/sandbox/programs/prepare-repair.ts +0 -44
- package/src/sandbox/programs/repair.ts +0 -132
- package/src/sandbox/programs/review.ts +0 -19
- package/src/sandbox/programs/validation-repair.ts +0 -153
- package/src/sandbox/providers/docker/executor.ts +0 -115
- package/src/sandbox/providers/modal/executor.ts +0 -217
- package/src/sandbox/providers/vercel/command.ts +0 -127
- package/src/sandbox/providers/vercel/executor.ts +0 -448
- package/src/sandbox/providers/vercel/fetch.ts +0 -45
- package/src/sandbox/timeout.ts +0 -56
- package/src/setup/vercel/cli.ts +0 -403
- package/src/setup/vercel/index.ts +0 -3
- package/src/setup/vercel/probe.ts +0 -232
- package/src/setup/vercel/profile.ts +0 -322
- package/src/setup/vercel/runtime-image.ts +0 -204
- package/src/setup/vercel/setup.ts +0 -419
- package/src/subscription-auth.ts +0 -80
- package/src/temporal/activities.ts +0 -1348
- package/src/temporal/connection.ts +0 -23
- package/src/temporal/worker-main.ts +0 -28
- package/src/temporal/workflow.ts +0 -568
- package/src/terminal-prompts.ts +0 -197
- package/src/terminal-reporter.ts +0 -126
- package/src/validate-main.ts +0 -177
- package/src/validation-repair.ts +0 -94
- package/tsconfig.build.json +0 -13
- package/tsconfig.json +0 -21
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { Type } from "@sinclair/typebox";
|
|
2
|
+
|
|
3
|
+
const environmentVariableName = Type.String({ pattern: "^[A-Za-z_][A-Za-z0-9_]*$" });
|
|
4
|
+
const environmentVariables = Type.Record(environmentVariableName, Type.String());
|
|
5
|
+
|
|
6
|
+
const service = Type.Object(
|
|
7
|
+
{
|
|
8
|
+
name: Type.String({ pattern: "^[a-z][a-z0-9_-]*$" }),
|
|
9
|
+
image: Type.String({ minLength: 1 }),
|
|
10
|
+
environmentVariables,
|
|
11
|
+
command: Type.Optional(Type.Array(Type.String())),
|
|
12
|
+
healthcheck: Type.Object(
|
|
13
|
+
{
|
|
14
|
+
test: Type.Array(Type.String({ minLength: 1 }), { minItems: 1 }),
|
|
15
|
+
intervalSeconds: Type.Integer({ minimum: 1 }),
|
|
16
|
+
timeoutSeconds: Type.Integer({ minimum: 1 }),
|
|
17
|
+
retries: Type.Integer({ minimum: 1 }),
|
|
18
|
+
startPeriodSeconds: Type.Integer({ minimum: 0 }),
|
|
19
|
+
},
|
|
20
|
+
{ additionalProperties: false },
|
|
21
|
+
),
|
|
22
|
+
},
|
|
23
|
+
{ additionalProperties: false },
|
|
24
|
+
);
|
|
25
|
+
|
|
26
|
+
export const environmentContract = Type.Object(
|
|
27
|
+
{
|
|
28
|
+
schemaVersion: Type.Literal(1),
|
|
29
|
+
baseImage: Type.String({ minLength: 1 }),
|
|
30
|
+
rootSetupCommand: Type.String({ minLength: 1 }),
|
|
31
|
+
setupCommand: Type.String({ minLength: 1 }),
|
|
32
|
+
smokeCommand: Type.String({ minLength: 1 }),
|
|
33
|
+
environmentVariables,
|
|
34
|
+
services: Type.Array(service),
|
|
35
|
+
source: Type.Union([
|
|
36
|
+
Type.Literal("repository-dockerfile"),
|
|
37
|
+
Type.Literal("devcontainer"),
|
|
38
|
+
Type.Literal("ci-adapted"),
|
|
39
|
+
Type.Literal("generated"),
|
|
40
|
+
]),
|
|
41
|
+
evidence: Type.Array(
|
|
42
|
+
Type.Object(
|
|
43
|
+
{ path: Type.String({ minLength: 1 }), reason: Type.String({ minLength: 1 }) },
|
|
44
|
+
{ additionalProperties: false },
|
|
45
|
+
),
|
|
46
|
+
{ minItems: 1 },
|
|
47
|
+
),
|
|
48
|
+
},
|
|
49
|
+
{ additionalProperties: false },
|
|
50
|
+
);
|
|
51
|
+
|
|
52
|
+
export const taskTimeouts = Type.Object(
|
|
53
|
+
{
|
|
54
|
+
setupSeconds: Type.Integer({ minimum: 1 }),
|
|
55
|
+
agentSeconds: Type.Integer({ minimum: 1 }),
|
|
56
|
+
testsSeconds: Type.Integer({ minimum: 1 }),
|
|
57
|
+
},
|
|
58
|
+
{ additionalProperties: false },
|
|
59
|
+
);
|
|
60
|
+
|
|
61
|
+
export const taskResources = Type.Object(
|
|
62
|
+
{
|
|
63
|
+
cpus: Type.Number({ exclusiveMinimum: 0 }),
|
|
64
|
+
memoryMb: Type.Integer({ minimum: 1 }),
|
|
65
|
+
storageMb: Type.Integer({ minimum: 1 }),
|
|
66
|
+
},
|
|
67
|
+
{ additionalProperties: false },
|
|
68
|
+
);
|
|
69
|
+
|
|
70
|
+
export const taskDefinition = Type.Object(
|
|
71
|
+
{
|
|
72
|
+
schemaVersion: Type.Literal(2),
|
|
73
|
+
difficulty: Type.Union([Type.Literal("easy"), Type.Literal("medium"), Type.Literal("hard")]),
|
|
74
|
+
taskId: Type.String({ pattern: "^[A-Za-z0-9][A-Za-z0-9._-]*$" }),
|
|
75
|
+
repo: Type.String({ minLength: 1 }),
|
|
76
|
+
baseCommit: Type.String({ pattern: "^[0-9a-fA-F]{40}$" }),
|
|
77
|
+
workdir: Type.String({ minLength: 1 }),
|
|
78
|
+
testCommand: Type.String({ minLength: 1 }),
|
|
79
|
+
failToPass: Type.Array(Type.String({ minLength: 1 }), { minItems: 1 }),
|
|
80
|
+
passToPass: Type.Array(Type.String({ minLength: 1 })),
|
|
81
|
+
testPaths: Type.Array(Type.String({ minLength: 1 }), { minItems: 1 }),
|
|
82
|
+
sourcePr: Type.Integer({ minimum: 1 }),
|
|
83
|
+
sourceUrl: Type.String({ minLength: 1 }),
|
|
84
|
+
prompt: Type.String({ minLength: 1 }),
|
|
85
|
+
timeouts: taskTimeouts,
|
|
86
|
+
resources: taskResources,
|
|
87
|
+
environment: environmentContract,
|
|
88
|
+
},
|
|
89
|
+
{ additionalProperties: false },
|
|
90
|
+
);
|
|
91
|
+
|
|
92
|
+
/** Definition fields a verification agent may change through /work/fix/definition.json. */
|
|
93
|
+
export const FIX_FIELDS = [
|
|
94
|
+
"environment",
|
|
95
|
+
"testCommand",
|
|
96
|
+
"failToPass",
|
|
97
|
+
"passToPass",
|
|
98
|
+
"testPaths",
|
|
99
|
+
"timeouts",
|
|
100
|
+
"resources",
|
|
101
|
+
] as const;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { spawnSync } from "node:child_process";
|
|
2
|
+
import { mkdtempSync, rmSync, writeFileSync } from "node:fs";
|
|
3
|
+
import { tmpdir } from "node:os";
|
|
4
|
+
import { join } from "node:path";
|
|
5
|
+
|
|
6
|
+
export interface CheckVerdict {
|
|
7
|
+
ok: boolean;
|
|
8
|
+
errors: { gate: string; message: string }[];
|
|
9
|
+
renderedDirectory?: string;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export interface ToolFailure {
|
|
13
|
+
content: { type: "text"; text: string }[];
|
|
14
|
+
details: Record<string, unknown>;
|
|
15
|
+
isError: true;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export interface StagedSubmission {
|
|
19
|
+
readonly directory: string;
|
|
20
|
+
readonly definitionJson: string;
|
|
21
|
+
dispose(): void;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export function requiredEnvironment(name: string): string {
|
|
25
|
+
const value = process.env[name];
|
|
26
|
+
if (!value) {
|
|
27
|
+
throw new Error(`${name} is not configured`);
|
|
28
|
+
}
|
|
29
|
+
return value;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/** Writes definition.json, test.patch, and gold.patch to a private staging directory. */
|
|
33
|
+
export function stageSubmission(
|
|
34
|
+
definition: unknown,
|
|
35
|
+
testPatch: string,
|
|
36
|
+
goldPatch: string,
|
|
37
|
+
prefix = "selfbench-submit-",
|
|
38
|
+
): StagedSubmission {
|
|
39
|
+
const directory = mkdtempSync(join(tmpdir(), prefix));
|
|
40
|
+
const definitionJson = `${JSON.stringify(definition, null, 2)}\n`;
|
|
41
|
+
writeFileSync(join(directory, "definition.json"), definitionJson);
|
|
42
|
+
writeFileSync(join(directory, "test.patch"), testPatch);
|
|
43
|
+
writeFileSync(join(directory, "gold.patch"), goldPatch);
|
|
44
|
+
return {
|
|
45
|
+
directory,
|
|
46
|
+
definitionJson,
|
|
47
|
+
dispose: () => rmSync(directory, { recursive: true, force: true }),
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Runs the bundled sandbox-check program (schema, policy, paths, audit, dry render) over a staged
|
|
53
|
+
* submission. The rendered tree lands under SELFBENCH_RENDER_OUTPUT (default /work) as rendered/.
|
|
54
|
+
*/
|
|
55
|
+
export interface PatchApplyTarget {
|
|
56
|
+
/** Git repository holding the base tree; defaults to SELFBENCH_REPO_DIRECTORY or /work/repo. */
|
|
57
|
+
readonly repository?: string;
|
|
58
|
+
/** Ref of the clean base tree in that repository. */
|
|
59
|
+
readonly base: string;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export function runStaticCheck(
|
|
63
|
+
staging: string,
|
|
64
|
+
extra: readonly string[] = [],
|
|
65
|
+
applyAgainst?: PatchApplyTarget,
|
|
66
|
+
): CheckVerdict {
|
|
67
|
+
const program = requiredEnvironment("SELFBENCH_CHECK_PROGRAM");
|
|
68
|
+
const repository =
|
|
69
|
+
applyAgainst?.repository ?? process.env.SELFBENCH_REPO_DIRECTORY ?? "/work/repo";
|
|
70
|
+
const result = spawnSync(
|
|
71
|
+
process.execPath,
|
|
72
|
+
[
|
|
73
|
+
program,
|
|
74
|
+
join(staging, "definition.json"),
|
|
75
|
+
join(staging, "test.patch"),
|
|
76
|
+
join(staging, "gold.patch"),
|
|
77
|
+
process.env.SELFBENCH_RENDER_OUTPUT ?? "/work",
|
|
78
|
+
...extra,
|
|
79
|
+
...(applyAgainst ? ["--repository", repository, "--base", applyAgainst.base] : []),
|
|
80
|
+
],
|
|
81
|
+
{ encoding: "utf8", maxBuffer: 64 * 1024 * 1024 },
|
|
82
|
+
);
|
|
83
|
+
if (result.status !== 0) {
|
|
84
|
+
throw new Error(
|
|
85
|
+
`static check program failed: ${(result.stderr || result.stdout).slice(-4_000)}`,
|
|
86
|
+
);
|
|
87
|
+
}
|
|
88
|
+
return JSON.parse(result.stdout) as CheckVerdict;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
export function staticCheckFailure(verdict: CheckVerdict, subject: string): ToolFailure {
|
|
92
|
+
const lines = verdict.errors.map((error) => `- [${error.gate}] ${error.message}`).join("\n");
|
|
93
|
+
const rendered = verdict.renderedDirectory
|
|
94
|
+
? `\nThe dry-rendered Harbor tree (as far as rendering succeeded) is under ${verdict.renderedDirectory}.`
|
|
95
|
+
: "";
|
|
96
|
+
return failure(
|
|
97
|
+
`The ${subject} failed the static check; nothing was recorded. Fix every item and try again:\n${lines}${rendered}`,
|
|
98
|
+
);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
export function failure(text: string): ToolFailure {
|
|
102
|
+
return { content: [{ type: "text", text }], details: {}, isError: true };
|
|
103
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { existsSync, mkdirSync, writeFileSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
4
|
+
import { Type } from "@sinclair/typebox";
|
|
5
|
+
|
|
6
|
+
function writeVerdict(verdict: Record<string, unknown>): void {
|
|
7
|
+
const root = requiredEnvironment("SELFBENCH_VERDICT_OUTPUT");
|
|
8
|
+
mkdirSync(root, { recursive: true });
|
|
9
|
+
const path = join(root, "verdict.json");
|
|
10
|
+
if (existsSync(path)) throw new Error("a verdict was already submitted this round");
|
|
11
|
+
writeFileSync(path, `${JSON.stringify(verdict, null, 2)}\n`, { flag: "wx" });
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function requiredEnvironment(name: string): string {
|
|
15
|
+
const value = process.env[name];
|
|
16
|
+
if (!value) throw new Error(`${name} is required`);
|
|
17
|
+
return value;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/** The verifier is intentionally read-only: it can accept or advise the next authoring round. */
|
|
21
|
+
export default function verifierExtension(pi: ExtensionAPI): void {
|
|
22
|
+
pi.registerTool({
|
|
23
|
+
name: "accept_task",
|
|
24
|
+
label: "Accept SelfBench task",
|
|
25
|
+
description: "Accept a fair task after the latest report is GREEN.",
|
|
26
|
+
parameters: Type.Object(
|
|
27
|
+
{
|
|
28
|
+
reason: Type.String({ minLength: 1 }),
|
|
29
|
+
findings: Type.Array(
|
|
30
|
+
Type.Object(
|
|
31
|
+
{
|
|
32
|
+
artifact: Type.String({ minLength: 1 }),
|
|
33
|
+
disposition: Type.Union([
|
|
34
|
+
Type.Literal("base_contract"),
|
|
35
|
+
Type.Literal("prompt_contract"),
|
|
36
|
+
Type.Literal("external_contract"),
|
|
37
|
+
Type.Literal("not_contract"),
|
|
38
|
+
]),
|
|
39
|
+
evidence: Type.String({ minLength: 1 }),
|
|
40
|
+
},
|
|
41
|
+
{ additionalProperties: false },
|
|
42
|
+
),
|
|
43
|
+
),
|
|
44
|
+
counterexample: Type.String({ minLength: 1 }),
|
|
45
|
+
},
|
|
46
|
+
{ additionalProperties: false },
|
|
47
|
+
),
|
|
48
|
+
async execute(_toolCallId, input) {
|
|
49
|
+
writeVerdict({ kind: "accepted", ...input });
|
|
50
|
+
return { content: [{ type: "text", text: "Recorded the acceptance verdict." }], details: {} };
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
pi.registerTool({
|
|
55
|
+
name: "submit_suggestions",
|
|
56
|
+
label: "Submit authoring suggestions",
|
|
57
|
+
description:
|
|
58
|
+
"Submit concise, actionable suggestions for the next authoring agent. This verifier is read-only and must not edit task files.",
|
|
59
|
+
parameters: Type.Object(
|
|
60
|
+
{
|
|
61
|
+
summary: Type.String({ minLength: 1 }),
|
|
62
|
+
suggestions: Type.String({ minLength: 1 }),
|
|
63
|
+
},
|
|
64
|
+
{ additionalProperties: false },
|
|
65
|
+
),
|
|
66
|
+
async execute(_toolCallId, input) {
|
|
67
|
+
writeVerdict({ kind: "suggestions", ...input });
|
|
68
|
+
return {
|
|
69
|
+
content: [{ type: "text", text: "Recorded suggestions for the next authoring round." }],
|
|
70
|
+
details: {},
|
|
71
|
+
};
|
|
72
|
+
},
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
pi.registerTool({
|
|
76
|
+
name: "reject_task",
|
|
77
|
+
label: "Reject SelfBench task",
|
|
78
|
+
description: "Reject a task that cannot be made fair within the authoring workflow.",
|
|
79
|
+
parameters: Type.Object(
|
|
80
|
+
{ reason: Type.String({ minLength: 1 }) },
|
|
81
|
+
{ additionalProperties: false },
|
|
82
|
+
),
|
|
83
|
+
async execute(_toolCallId, input) {
|
|
84
|
+
writeVerdict({ kind: "rejected", ...input });
|
|
85
|
+
return { content: [{ type: "text", text: "Recorded the rejection verdict." }], details: {} };
|
|
86
|
+
},
|
|
87
|
+
});
|
|
88
|
+
}
|
|
@@ -5,7 +5,7 @@ description: Author one private software-engineering benchmark task at an assign
|
|
|
5
5
|
|
|
6
6
|
# SelfBench Task Authoring
|
|
7
7
|
|
|
8
|
-
Create exactly one Harbor evaluation at the assigned easy, medium, or hard difficulty. Do not discover alternative pull requests. Do not run Harbor;
|
|
8
|
+
Create exactly one Harbor evaluation at the assigned easy, medium, or hard difficulty. Do not discover alternative pull requests. Do not run Harbor; the worker compiles, builds, and measures your submission and sends the verification report back to this session. Your deliverable is the directory `/work/task/` with exactly four files: `definition.json` (with the environment contract), `instruction.md`, `test.patch`, and `gold.patch`. The `verify` and `submit_task` tools take no arguments; they read that directory.
|
|
9
9
|
|
|
10
10
|
## Integrity boundary
|
|
11
11
|
|
|
@@ -37,7 +37,7 @@ Every tier also requires one coherent behavioral requirement, held-out tests tha
|
|
|
37
37
|
2. Inspect the complete diff and repository-native test setup.
|
|
38
38
|
3. Classify changed paths as implementation, test, generated, documentation, or unrelated.
|
|
39
39
|
4. Build `goldPatch` from only the implementation required for the requested behavior. Exclude tests, generated artifacts, formatting churn, and unrelated cleanup.
|
|
40
|
-
5. Build `testPatch` from only held-out behavioral tests and minimal test fixtures. It must not overlap any path in `goldPatch`.
|
|
40
|
+
5. Prefer reusing suitable PR tests. Record `testSelection` (`mode`: reused/augmented/authored/base-only, `reused`, `added`, `excluded` string arrays with test identities/reasons, and `coverage`). Add tests only for missing requested behavior. Base-only requires an empty `test.patch`, nonempty reused tests, and no added tests; unchanged base tests are visible, not secret. Build `testPatch` from only held-out behavioral tests and minimal test fixtures. It must not overlap any path in `goldPatch`.
|
|
41
41
|
- Exercise a public API, command, persisted behavior, or existing extension seam. Do not import a
|
|
42
42
|
private helper or new internal module introduced by the gold patch merely because it is easy to
|
|
43
43
|
test directly.
|
|
@@ -62,28 +62,26 @@ Every tier also requires one coherent behavioral requirement, held-out tests tha
|
|
|
62
62
|
implementation while leaving most of the request unverified.
|
|
63
63
|
6. Select exact fail-to-pass and pass-to-pass test identifiers supported by one deterministic test command.
|
|
64
64
|
7. Write a standalone prompt in the engineer's voice. Preserve required behavior, constraints, and acceptance criteria without leaking the completed solution.
|
|
65
|
-
8.
|
|
66
|
-
9.
|
|
65
|
+
8. Author the environment contract from the pinned base commit: base image pinned by digest, root setup, dependency setup, smoke command, non-secret environment variables, services with health checks, and repository-file evidence. Derive it from the closest CI job, repository Dockerfile, devcontainer, lockfiles, and test scripts.
|
|
66
|
+
9. Write the deliverable to `/work/task/`, call `verify` until it is green, then call `submit_task` once. If the verify budget runs out before a green report, submit your best deliverable anyway: the worker verifies it and a red result opens the next round with the report, whereas an unsubmitted round rejects the task. Both tools run the static check (files present, schema, environment policy, patch path safety, audit gates, dry render) immediately and return failures for you to fix in the same session; only a passing submission ends the round. Do not write an alternate task format.
|
|
67
67
|
|
|
68
|
-
##
|
|
68
|
+
## Deliverable files
|
|
69
69
|
|
|
70
|
-
|
|
70
|
+
`/work/task/instruction.md` holds the standalone instruction; it is authoritative for the prompt, so omit `prompt` from `definition.json` or keep it identical. `/work/task/test.patch` and `/work/task/gold.patch` are Git patches (start with `diff --git`; produce them with `git diff`), except an explicitly empty base-only `test.patch`. `/work/task/definition.json` has this shape (shown with the derived prompt):
|
|
71
71
|
|
|
72
72
|
```json
|
|
73
73
|
{
|
|
74
74
|
"definition": {
|
|
75
|
-
"schemaVersion":
|
|
75
|
+
"schemaVersion": 2,
|
|
76
76
|
"difficulty": "medium",
|
|
77
77
|
"taskId": "project-pr-123",
|
|
78
78
|
"repo": "example/project",
|
|
79
79
|
"baseCommit": "0123456789abcdef0123456789abcdef01234567",
|
|
80
80
|
"workdir": ".",
|
|
81
|
-
"setupCommand": "bun install --frozen-lockfile",
|
|
82
81
|
"testCommand": "bun test {tests}",
|
|
83
82
|
"failToPass": ["tests/new-behavior.test.ts"],
|
|
84
83
|
"passToPass": ["tests/existing-a.test.ts", "tests/existing-b.test.ts"],
|
|
85
84
|
"testPaths": ["tests/new-behavior.test.ts"],
|
|
86
|
-
"toolchains": ["node", "bun"],
|
|
87
85
|
"sourcePr": 123,
|
|
88
86
|
"sourceUrl": "https://github.com/example/project/pull/123",
|
|
89
87
|
"prompt": "Implement the requested behavior...",
|
|
@@ -96,6 +94,17 @@ Submit this logical shape through `submit_task`:
|
|
|
96
94
|
"cpus": 4,
|
|
97
95
|
"memoryMb": 8192,
|
|
98
96
|
"storageMb": 20480
|
|
97
|
+
},
|
|
98
|
+
"environment": {
|
|
99
|
+
"schemaVersion": 1,
|
|
100
|
+
"baseImage": "node:22-bookworm@sha256:...",
|
|
101
|
+
"rootSetupCommand": "apt-get update && apt-get install -y --no-install-recommends bash git passwd procps tar",
|
|
102
|
+
"setupCommand": "bun install --frozen-lockfile",
|
|
103
|
+
"smokeCommand": "bun --version",
|
|
104
|
+
"environmentVariables": { "CI": "1" },
|
|
105
|
+
"services": [],
|
|
106
|
+
"source": "ci-adapted",
|
|
107
|
+
"evidence": [{ "path": ".github/workflows/ci.yml", "reason": "Defines the test job." }]
|
|
99
108
|
}
|
|
100
109
|
},
|
|
101
110
|
"testPatch": "diff --git ...",
|
|
@@ -103,17 +112,66 @@ Submit this logical shape through `submit_task`:
|
|
|
103
112
|
}
|
|
104
113
|
```
|
|
105
114
|
|
|
106
|
-
`testCommand` must contain the literal `{tests}` placeholder. Paths must be repository-relative and must not contain `..`.
|
|
115
|
+
`testCommand` must contain the literal `{tests}` placeholder. Paths must be repository-relative and must not contain `..`. Secret-named environment variables are accepted only with fixed placeholder literals.
|
|
116
|
+
|
|
117
|
+
## What the compiler renders
|
|
118
|
+
|
|
119
|
+
The trusted compiler on the worker turns your submission into a native Harbor task. You never write these files; `verify` and `submit_task` dry-render the same tree to `/work/rendered/` so you can inspect exactly what will be built.
|
|
120
|
+
|
|
121
|
+
```
|
|
122
|
+
harbor-task/
|
|
123
|
+
task.toml ← timeouts, resources, agent/verifier settings from the definition
|
|
124
|
+
instruction.md ← definition.prompt (what the evaluated agent reads)
|
|
125
|
+
definition.json ← the submitted definition (with environment contract)
|
|
126
|
+
environment/ ← agent image build context
|
|
127
|
+
Dockerfile ← FROM environment.baseImage; ENV from environmentVariables; COPY + run root-setup.sh;
|
|
128
|
+
unpack repo.tar.gz into /app; git init/commit base; run setup.sh from /app/<workdir>;
|
|
129
|
+
commit the post-setup tree (baseline for the agent's diff); create user "agent",
|
|
130
|
+
snapshot .git to /opt/selfbench/base.git
|
|
131
|
+
root-setup.sh ← environment.rootSetupCommand (runs as root, /bin/sh)
|
|
132
|
+
setup.sh ← environment.setupCommand (bash, cwd /app/<workdir>)
|
|
133
|
+
smoke.sh ← environment.smokeCommand (bash, cwd /app/<workdir>), run by the smoke gate before any test
|
|
134
|
+
repo.tar.gz ← git archive of baseCommit (never contains tests/solution)
|
|
135
|
+
tests/ ← verifier image build context (separate container, user "verifier")
|
|
136
|
+
Dockerfile ← same base layers as environment/, plus /tests with test.patch and the scripts;
|
|
137
|
+
when the gold patch changes a dependency manifest, setup.sh runs again with
|
|
138
|
+
dependency-setup.patch applied and only those manifest paths are reset to the base
|
|
139
|
+
test.patch ← the held-out test patch; applied by test.sh at verify time
|
|
140
|
+
test.sh, task-test.sh ← generated verifier: apply test.patch, run testCommand with failToPass (twice, for
|
|
141
|
+
determinism) then passToPass under runuser verifier, write rewards
|
|
142
|
+
(patch_applied, fail_to_pass, pass_to_pass, deterministic, setup_completed)
|
|
143
|
+
docker-compose.yaml ← only when environment.services is non-empty (services with health checks)
|
|
144
|
+
root-setup.sh, setup.sh, smoke.sh, repo.tar.gz ← copies, because a Docker build context cannot reach outside itself
|
|
145
|
+
solution/
|
|
146
|
+
gold.patch ← the gold patch; applied only by the oracle agent
|
|
147
|
+
solve.sh ← git apply of gold.patch
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
Each verify gate maps to those files, so a red gate tells you which field to change:
|
|
151
|
+
|
|
152
|
+
- **compile** (worker): schema, environment policy, patch path safety, evidence paths at the pinned commit → definition, environment contract, patch headers.
|
|
153
|
+
- **audit**: tier thresholds, gold/test overlap, `{tests}` placeholder rules → goldPatch, testPatch, testCommand, failToPass, passToPass.
|
|
154
|
+
- **build**: both Dockerfiles → baseImage, rootSetupCommand, setupCommand, environmentVariables, workdir, services.
|
|
155
|
+
- **smoke**: smoke.sh in the verifier image → smokeCommand (and whatever setup it relies on).
|
|
156
|
+
- **nop**: test.sh on the base snapshot with test.patch applied, no solution → failToPass must fail, passToPass must pass; testCommand, test selection, held-out tests.
|
|
157
|
+
- **oracle**: test.sh after gold.patch → both selections pass deterministically; goldPatch, tests, timeouts, resources.
|
|
107
158
|
|
|
108
159
|
## Patch rules
|
|
109
160
|
|
|
110
|
-
-
|
|
161
|
+
- When a change spans backend and frontend, anchor the held-out tests on the backend contract through its public boundary; tests that mock the API and check only rendering are rejected as unfair.
|
|
162
|
+
- Never touch paths the repository marks `export-ignore` in `.gitattributes` (for PostHog that includes everything under `.github/`): the snapshot the solver and the verifier receive is a `git archive`, so those files do not exist there and the static check rejects patches that reference them. If a change lives only in such paths, decline the task.
|
|
163
|
+
- Produce binary-safe Git patches beginning with `diff --git`, with LF line endings and a final newline (use `git diff`). Except for an explicitly empty base-only test.patch, both must apply cleanly to the base commit, and the gold patch must apply on top of the test patch; `verify` checks this with `git apply --check` before any build.
|
|
111
164
|
- Keep test and gold paths disjoint.
|
|
112
165
|
- Exclude dependency caches, lockfile churn unrelated to the change, build output, vendored code, and generated files.
|
|
113
|
-
-
|
|
114
|
-
- Do not patch around a broken base environment. Reject the candidate when reproducibility is not honest.
|
|
166
|
+
- Do not patch around a broken base repository. Environment reproducibility is proven by the worker's build, smoke, nop, and oracle gates.
|
|
115
167
|
- Do not include source transcripts or provenance records in either patch.
|
|
116
168
|
|
|
117
169
|
## Final check
|
|
118
170
|
|
|
119
171
|
Before submission, re-read the prompt without looking at the completed diff. It must be sufficient to implement the behavior but insufficient to recover the hidden implementation. Confirm the test patch observes public behavior and would fail a plausible wrong implementation, not merely the base commit. Then imagine a second correct implementation with different file boundaries and helper names; the held-out tests must still pass it.
|
|
172
|
+
|
|
173
|
+
## Structured test evidence
|
|
174
|
+
|
|
175
|
+
Optional `testResults` contains `format: "junit"` and disjoint `failToPass`/`passToPass` arrays of exact XML `classname::name` identities (not command selectors). Configure the native runner to write JUnit XML to `$SELFBENCH_JUNIT_REPORT` for each invocation and include python3 in root setup. For example, pytest uses `python -m pytest {tests} --junitxml="$SELFBENCH_JUNIT_REPORT"`; verify the actual emitted identities rather than guessing. The verifier reads a fresh bounded report after stopping test processes. Every declared target must assertion-fail on base; all declared targets and regressions must pass with the reference. Missing, duplicate, skipped, errored, malformed, oversized or exit-inconsistent reports fail closed. Results are emitted as JSON in the stored verifier log. Never fabricate reports to get a green gate.
|
|
176
|
+
|
|
177
|
+
Without `testResults`, legacy command-level gates remain available and cannot prove individual test transitions. Explain this limitation in testSelection.coverage. Repeatability currently means two consecutive target-command successes in the same verifier environment, not fresh-environment determinism. Setup remains part of this same authoring session. Reference dependency manifests are provisioned into the verifier before tracked source is restored; hidden test patches are applied only at runtime, so required test dependencies/fixtures must be covered explicitly by setup.
|
package/biome.json
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://biomejs.dev/schemas/2.5.7/schema.json",
|
|
3
|
-
"files": {
|
|
4
|
-
"includes": [
|
|
5
|
-
"src/**/*.ts",
|
|
6
|
-
"tests/**/*.ts",
|
|
7
|
-
"scripts/**/*.ts",
|
|
8
|
-
"review/src/**/*.{ts,tsx}",
|
|
9
|
-
"review/vite.config.ts"
|
|
10
|
-
]
|
|
11
|
-
},
|
|
12
|
-
"formatter": {
|
|
13
|
-
"enabled": true,
|
|
14
|
-
"indentStyle": "space",
|
|
15
|
-
"indentWidth": 2,
|
|
16
|
-
"lineWidth": 100
|
|
17
|
-
},
|
|
18
|
-
"linter": {
|
|
19
|
-
"enabled": true,
|
|
20
|
-
"rules": {
|
|
21
|
-
"preset": "recommended"
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-smoke-main.d.ts","sourceRoot":"","sources":["../src/agent-smoke-main.ts"],"names":[],"mappings":""}
|
package/dist/agent-smoke-main.js
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { parseArgs } from "node:util";
|
|
3
|
-
import { smokeAllAdapters } from "./agent-smoke.js";
|
|
4
|
-
import { isHarborEnvironment } from "./providers.js";
|
|
5
|
-
const parsed = parseArgs({
|
|
6
|
-
options: {
|
|
7
|
-
task: { type: "string" },
|
|
8
|
-
jobs: { type: "string" },
|
|
9
|
-
harbor: { type: "string" },
|
|
10
|
-
environment: { type: "string", default: "modal" },
|
|
11
|
-
concurrency: { type: "string", default: "4" },
|
|
12
|
-
help: { type: "boolean", short: "h" },
|
|
13
|
-
},
|
|
14
|
-
strict: true,
|
|
15
|
-
});
|
|
16
|
-
if (parsed.values.help) {
|
|
17
|
-
console.log(`Attempt installation and instantiation of every pinned Harbor adapter.
|
|
18
|
-
|
|
19
|
-
Usage:
|
|
20
|
-
self-bench-agent-smoke --task DIRECTORY --jobs DIRECTORY [options]
|
|
21
|
-
|
|
22
|
-
Options:
|
|
23
|
-
--harbor PATH Harbor executable (default: harbor)
|
|
24
|
-
--environment docker|modal Execution environment (default: modal)
|
|
25
|
-
--concurrency N Concurrent adapter checks (default: 4)
|
|
26
|
-
-h, --help Show this help`);
|
|
27
|
-
process.exit(0);
|
|
28
|
-
}
|
|
29
|
-
const environment = parsed.values.environment ?? "modal";
|
|
30
|
-
if (!isHarborEnvironment(environment)) {
|
|
31
|
-
throw new Error("--environment must be docker or modal");
|
|
32
|
-
}
|
|
33
|
-
const results = await smokeAllAdapters({
|
|
34
|
-
taskDirectory: parsed.values.task ?? fail("--task is required"),
|
|
35
|
-
jobsDirectory: parsed.values.jobs ?? fail("--jobs is required"),
|
|
36
|
-
environment,
|
|
37
|
-
concurrency: positiveInteger(parsed.values.concurrency, "--concurrency"),
|
|
38
|
-
...(parsed.values.harbor ? { harborPath: parsed.values.harbor } : {}),
|
|
39
|
-
});
|
|
40
|
-
console.log(JSON.stringify({
|
|
41
|
-
adapters: results.length,
|
|
42
|
-
installed: results.filter((result) => result.installed).length,
|
|
43
|
-
failed: results.filter((result) => !result.installed).length,
|
|
44
|
-
}, null, 2));
|
|
45
|
-
function fail(message) {
|
|
46
|
-
throw new Error(message);
|
|
47
|
-
}
|
|
48
|
-
function positiveInteger(value, label) {
|
|
49
|
-
const parsed = Number(value);
|
|
50
|
-
if (!Number.isInteger(parsed) || parsed < 1) {
|
|
51
|
-
throw new Error(`${label} must be a positive integer`);
|
|
52
|
-
}
|
|
53
|
-
return parsed;
|
|
54
|
-
}
|
|
55
|
-
//# sourceMappingURL=agent-smoke-main.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-smoke-main.js","sourceRoot":"","sources":["../src/agent-smoke-main.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,MAAM,GAAG,SAAS,CAAC;IACvB,OAAO,EAAE;QACP,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE;QACjD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE;QAC7C,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;KACtC;IACD,MAAM,EAAE,IAAI;CACb,CAAC,CAAC;AACH,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;4CAS8B,CAAC,CAAC;IAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AACD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,IAAI,OAAO,CAAC;AACzD,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC;IACtC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;AAC3D,CAAC;AACD,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC;IACrC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,oBAAoB,CAAC;IAC/D,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,oBAAoB,CAAC;IAC/D,WAAW;IACX,WAAW,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,eAAe,CAAC;IACxE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;CACtE,CAAC,CAAC;AACH,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CACZ;IACE,QAAQ,EAAE,OAAO,CAAC,MAAM;IACxB,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM;IAC9D,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM;CAC7D,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;AAEF,SAAS,IAAI,CAAC,OAAe;IAC3B,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,eAAe,CAAC,KAAyB,EAAE,KAAa;IAC/D,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,6BAA6B,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/agent-smoke.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { HarborEnvironment } from "./providers.js";
|
|
2
|
-
export declare const HARBOR_AGENT_ADAPTERS: readonly ["oracle", "nop", "acp", "terminus-2", "claude-code", "copilot-cli", "aider", "cline-cli", "codex", "cortex-code", "cursor-cli", "gemini-cli", "antigravity-cli", "antigravity-sdk", "rovodev-cli", "goose", "grok-build", "hermes", "kimi-code", "kimi-cli", "langgraph", "deerflow", "mini-swe-agent", "nemo-agent", "swe-agent", "opencode", "mimo", "openclaw", "openhands", "openhands-sdk", "pi", "qwen-coder", "devin", "trae-agent", "computer-1", "eve", "dspy-rlm", "vibe"];
|
|
3
|
-
export interface AdapterSmokeOptions {
|
|
4
|
-
readonly taskDirectory: string;
|
|
5
|
-
readonly jobsDirectory: string;
|
|
6
|
-
readonly harborPath?: string;
|
|
7
|
-
readonly environment?: HarborEnvironment;
|
|
8
|
-
readonly concurrency?: number;
|
|
9
|
-
}
|
|
10
|
-
export interface AdapterSmokeResult {
|
|
11
|
-
readonly agent: (typeof HARBOR_AGENT_ADAPTERS)[number];
|
|
12
|
-
readonly installed: boolean;
|
|
13
|
-
readonly exitCode: number;
|
|
14
|
-
readonly jobName: string;
|
|
15
|
-
readonly outputTail: string;
|
|
16
|
-
}
|
|
17
|
-
export declare function smokeAllAdapters(options: AdapterSmokeOptions): Promise<readonly AdapterSmokeResult[]>;
|
|
18
|
-
//# sourceMappingURL=agent-smoke.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-smoke.d.ts","sourceRoot":"","sources":["../src/agent-smoke.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,eAAO,MAAM,qBAAqB,geAuCxB,CAAC;AAEX,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IACzC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;IACvD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,SAAS,kBAAkB,EAAE,CAAC,CAuExC"}
|
package/dist/agent-smoke.js
DELETED
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import { mkdir, readFile, writeFile } from "node:fs/promises";
|
|
2
|
-
import { join, resolve } from "node:path";
|
|
3
|
-
import { harborChildEnvironment } from "./harbor-environment.js";
|
|
4
|
-
import { parallelMap } from "./parallel.js";
|
|
5
|
-
import { runCommand } from "./process.js";
|
|
6
|
-
export const HARBOR_AGENT_ADAPTERS = [
|
|
7
|
-
"oracle",
|
|
8
|
-
"nop",
|
|
9
|
-
"acp",
|
|
10
|
-
"terminus-2",
|
|
11
|
-
"claude-code",
|
|
12
|
-
"copilot-cli",
|
|
13
|
-
"aider",
|
|
14
|
-
"cline-cli",
|
|
15
|
-
"codex",
|
|
16
|
-
"cortex-code",
|
|
17
|
-
"cursor-cli",
|
|
18
|
-
"gemini-cli",
|
|
19
|
-
"antigravity-cli",
|
|
20
|
-
"antigravity-sdk",
|
|
21
|
-
"rovodev-cli",
|
|
22
|
-
"goose",
|
|
23
|
-
"grok-build",
|
|
24
|
-
"hermes",
|
|
25
|
-
"kimi-code",
|
|
26
|
-
"kimi-cli",
|
|
27
|
-
"langgraph",
|
|
28
|
-
"deerflow",
|
|
29
|
-
"mini-swe-agent",
|
|
30
|
-
"nemo-agent",
|
|
31
|
-
"swe-agent",
|
|
32
|
-
"opencode",
|
|
33
|
-
"mimo",
|
|
34
|
-
"openclaw",
|
|
35
|
-
"openhands",
|
|
36
|
-
"openhands-sdk",
|
|
37
|
-
"pi",
|
|
38
|
-
"qwen-coder",
|
|
39
|
-
"devin",
|
|
40
|
-
"trae-agent",
|
|
41
|
-
"computer-1",
|
|
42
|
-
"eve",
|
|
43
|
-
"dspy-rlm",
|
|
44
|
-
"vibe",
|
|
45
|
-
];
|
|
46
|
-
export async function smokeAllAdapters(options) {
|
|
47
|
-
const jobsDirectory = resolve(options.jobsDirectory);
|
|
48
|
-
const reportsDirectory = join(jobsDirectory, "adapter-smoke");
|
|
49
|
-
await mkdir(reportsDirectory, { recursive: true });
|
|
50
|
-
const results = await parallelMap(HARBOR_AGENT_ADAPTERS, options.concurrency ?? 4, async (agent) => {
|
|
51
|
-
const reportPath = join(reportsDirectory, `${agent}.json`);
|
|
52
|
-
const existing = await readFile(reportPath, "utf8").catch(() => undefined);
|
|
53
|
-
if (existing) {
|
|
54
|
-
return JSON.parse(existing);
|
|
55
|
-
}
|
|
56
|
-
const jobName = `install-${agent}-${crypto.randomUUID().slice(0, 8)}`;
|
|
57
|
-
const result = await runCommand(options.harborPath ?? "harbor", [
|
|
58
|
-
"run",
|
|
59
|
-
"--path",
|
|
60
|
-
resolve(options.taskDirectory),
|
|
61
|
-
"--agent",
|
|
62
|
-
agent,
|
|
63
|
-
"--env",
|
|
64
|
-
options.environment ?? "modal",
|
|
65
|
-
"--job-name",
|
|
66
|
-
jobName,
|
|
67
|
-
"--jobs-dir",
|
|
68
|
-
jobsDirectory,
|
|
69
|
-
"--install-only",
|
|
70
|
-
"--n-concurrent",
|
|
71
|
-
"1",
|
|
72
|
-
"--max-retries",
|
|
73
|
-
"0",
|
|
74
|
-
"--delete",
|
|
75
|
-
"--yes",
|
|
76
|
-
"--quiet",
|
|
77
|
-
], {
|
|
78
|
-
allowFailure: true,
|
|
79
|
-
env: harborChildEnvironment(),
|
|
80
|
-
timeoutMs: 60 * 60 * 1000,
|
|
81
|
-
});
|
|
82
|
-
const summary = {
|
|
83
|
-
agent,
|
|
84
|
-
installed: result.exitCode === 0,
|
|
85
|
-
exitCode: result.exitCode,
|
|
86
|
-
jobName,
|
|
87
|
-
outputTail: `${result.stdout}\n${result.stderr}`.trim().slice(-2_000),
|
|
88
|
-
};
|
|
89
|
-
await writeFile(reportPath, `${JSON.stringify(summary, null, 2)}\n`, { flag: "wx" });
|
|
90
|
-
return summary;
|
|
91
|
-
});
|
|
92
|
-
await writeFile(join(reportsDirectory, "summary.json"), `${JSON.stringify({
|
|
93
|
-
schemaVersion: 1,
|
|
94
|
-
mode: "install-only",
|
|
95
|
-
environment: options.environment ?? "modal",
|
|
96
|
-
adapterCount: results.length,
|
|
97
|
-
installed: results.filter((result) => result.installed).length,
|
|
98
|
-
failed: results.filter((result) => !result.installed).length,
|
|
99
|
-
results,
|
|
100
|
-
}, null, 2)}\n`);
|
|
101
|
-
return results;
|
|
102
|
-
}
|
|
103
|
-
//# sourceMappingURL=agent-smoke.js.map
|