self-bench 0.3.0
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/LICENSE +21 -0
- package/README.md +256 -0
- package/dist/activities.d.ts +41 -0
- package/dist/activities.d.ts.map +1 -0
- package/dist/activities.js +823 -0
- package/dist/activities.js.map +1 -0
- package/dist/agent-smoke-main.d.ts +3 -0
- package/dist/agent-smoke-main.d.ts.map +1 -0
- package/dist/agent-smoke-main.js +54 -0
- package/dist/agent-smoke-main.js.map +1 -0
- package/dist/agent-smoke.d.ts +17 -0
- package/dist/agent-smoke.d.ts.map +1 -0
- package/dist/agent-smoke.js +98 -0
- package/dist/agent-smoke.js.map +1 -0
- package/dist/api-main.d.ts +2 -0
- package/dist/api-main.d.ts.map +1 -0
- package/dist/api-main.js +11 -0
- package/dist/api-main.js.map +1 -0
- package/dist/api.d.ts +3 -0
- package/dist/api.d.ts.map +1 -0
- package/dist/api.js +212 -0
- package/dist/api.js.map +1 -0
- package/dist/artifacts.d.ts +32 -0
- package/dist/artifacts.d.ts.map +1 -0
- package/dist/artifacts.js +311 -0
- package/dist/artifacts.js.map +1 -0
- package/dist/audit.d.ts +12 -0
- package/dist/audit.d.ts.map +1 -0
- package/dist/audit.js +69 -0
- package/dist/audit.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +297 -0
- package/dist/cli.js.map +1 -0
- package/dist/codex-review.d.ts +40 -0
- package/dist/codex-review.d.ts.map +1 -0
- package/dist/codex-review.js +189 -0
- package/dist/codex-review.js.map +1 -0
- package/dist/config.d.ts +35 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +78 -0
- package/dist/config.js.map +1 -0
- package/dist/contracts.d.ts +223 -0
- package/dist/contracts.d.ts.map +1 -0
- package/dist/contracts.js +103 -0
- package/dist/contracts.js.map +1 -0
- package/dist/coupling.d.ts +45 -0
- package/dist/coupling.d.ts.map +1 -0
- package/dist/coupling.js +159 -0
- package/dist/coupling.js.map +1 -0
- package/dist/docker-executor.d.ts +11 -0
- package/dist/docker-executor.d.ts.map +1 -0
- package/dist/docker-executor.js +103 -0
- package/dist/docker-executor.js.map +1 -0
- package/dist/eval-main.d.ts +3 -0
- package/dist/eval-main.d.ts.map +1 -0
- package/dist/eval-main.js +80 -0
- package/dist/eval-main.js.map +1 -0
- package/dist/evaluate.d.ts +24 -0
- package/dist/evaluate.d.ts.map +1 -0
- package/dist/evaluate.js +208 -0
- package/dist/evaluate.js.map +1 -0
- package/dist/extensions/authoring.d.ts +3 -0
- package/dist/extensions/authoring.d.ts.map +1 -0
- package/dist/extensions/authoring.js +71 -0
- package/dist/extensions/authoring.js.map +1 -0
- package/dist/extensions/discovery.d.ts +3 -0
- package/dist/extensions/discovery.d.ts.map +1 -0
- package/dist/extensions/discovery.js +51 -0
- package/dist/extensions/discovery.js.map +1 -0
- package/dist/extensions/review.d.ts +3 -0
- package/dist/extensions/review.d.ts.map +1 -0
- package/dist/extensions/review.js +44 -0
- package/dist/extensions/review.js.map +1 -0
- package/dist/github.d.ts +3 -0
- package/dist/github.d.ts.map +1 -0
- package/dist/github.js +19 -0
- package/dist/github.js.map +1 -0
- package/dist/harbor-results.d.ts +14 -0
- package/dist/harbor-results.d.ts.map +1 -0
- package/dist/harbor-results.js +105 -0
- package/dist/harbor-results.js.map +1 -0
- package/dist/harbor-task.d.ts +12 -0
- package/dist/harbor-task.d.ts.map +1 -0
- package/dist/harbor-task.js +462 -0
- package/dist/harbor-task.js.map +1 -0
- package/dist/hash.d.ts +2 -0
- package/dist/hash.d.ts.map +1 -0
- package/dist/hash.js +5 -0
- package/dist/hash.js.map +1 -0
- package/dist/modal-auth.d.ts +2 -0
- package/dist/modal-auth.d.ts.map +1 -0
- package/dist/modal-auth.js +9 -0
- package/dist/modal-auth.js.map +1 -0
- package/dist/modal-executor.d.ts +12 -0
- package/dist/modal-executor.d.ts.map +1 -0
- package/dist/modal-executor.js +152 -0
- package/dist/modal-executor.js.map +1 -0
- package/dist/parallel.d.ts +2 -0
- package/dist/parallel.d.ts.map +1 -0
- package/dist/parallel.js +19 -0
- package/dist/parallel.js.map +1 -0
- package/dist/process.d.ts +27 -0
- package/dist/process.d.ts.map +1 -0
- package/dist/process.js +136 -0
- package/dist/process.js.map +1 -0
- package/dist/provenance.d.ts +22 -0
- package/dist/provenance.d.ts.map +1 -0
- package/dist/provenance.js +361 -0
- package/dist/provenance.js.map +1 -0
- package/dist/reaudit-main.d.ts +3 -0
- package/dist/reaudit-main.d.ts.map +1 -0
- package/dist/reaudit-main.js +155 -0
- package/dist/reaudit-main.js.map +1 -0
- package/dist/repair-main.d.ts +3 -0
- package/dist/repair-main.d.ts.map +1 -0
- package/dist/repair-main.js +168 -0
- package/dist/repair-main.js.map +1 -0
- package/dist/repair.d.ts +9 -0
- package/dist/repair.d.ts.map +1 -0
- package/dist/repair.js +46 -0
- package/dist/repair.js.map +1 -0
- package/dist/review/assets/abap-BdImnpbu.js +1 -0
- package/dist/review/assets/actionscript-3-B3316cI-.js +1 -0
- package/dist/review/assets/ada-bCR0ucgS.js +1 -0
- package/dist/review/assets/ahk-CsyLZFj1.js +1 -0
- package/dist/review/assets/ahk2-8Zs4aa1G.js +1 -0
- package/dist/review/assets/andromeeda-C4gqWexZ.js +1 -0
- package/dist/review/assets/angular-html-DA-rfuFy.js +1 -0
- package/dist/review/assets/angular-ts-BrjP3tb8.js +1 -0
- package/dist/review/assets/apache-Pmp26Uib.js +1 -0
- package/dist/review/assets/apex-DhZFqWV2.js +1 -0
- package/dist/review/assets/apl-CORt7UWP.js +1 -0
- package/dist/review/assets/applescript-Co6uUVPk.js +1 -0
- package/dist/review/assets/ara-BRHolxvo.js +1 -0
- package/dist/review/assets/asciidoc-CSVQ5wI8.js +1 -0
- package/dist/review/assets/asm-D_Q5rh1f.js +1 -0
- package/dist/review/assets/astro-HNnZUWAn.js +1 -0
- package/dist/review/assets/aurora-x-D-2ljcwZ.js +1 -0
- package/dist/review/assets/awk-DMzUqQB5.js +1 -0
- package/dist/review/assets/ayu-dark-DYE7WIF3.js +1 -0
- package/dist/review/assets/ayu-light-BA47KaF1.js +1 -0
- package/dist/review/assets/ayu-mirage-32ctXXKs.js +1 -0
- package/dist/review/assets/ballerina-BFfxhgS-.js +1 -0
- package/dist/review/assets/bat-CickPsom.js +1 -0
- package/dist/review/assets/beancount-k_qm7-4y.js +1 -0
- package/dist/review/assets/berry-uYugtg8r.js +1 -0
- package/dist/review/assets/bibtex-CHM0blh-.js +1 -0
- package/dist/review/assets/bicep-Bmn6On1c.js +1 -0
- package/dist/review/assets/bird2-Bx8U0n9b.js +1 -0
- package/dist/review/assets/blade-2xfisSek.js +1 -0
- package/dist/review/assets/bsl-DlhNcFeZ.js +1 -0
- package/dist/review/assets/c-BIGW1oBm.js +1 -0
- package/dist/review/assets/c3-Dp5svz6Z.js +1 -0
- package/dist/review/assets/cadence-Bv_4Rxtq.js +1 -0
- package/dist/review/assets/cairo-KRGpt6FW.js +1 -0
- package/dist/review/assets/catppuccin-frappe-CZL1YF0i.js +1 -0
- package/dist/review/assets/catppuccin-latte-DH-8KZSZ.js +1 -0
- package/dist/review/assets/catppuccin-macchiato-B7yYVSCf.js +1 -0
- package/dist/review/assets/catppuccin-mocha-Ct7hS0mc.js +1 -0
- package/dist/review/assets/chapel-DTp_pixX.js +1 -0
- package/dist/review/assets/clarity-Dn5IMItf.js +1 -0
- package/dist/review/assets/clojure-P80f7IUj.js +1 -0
- package/dist/review/assets/cmake-D1j8_8rp.js +1 -0
- package/dist/review/assets/cobol-nBiQ_Alo.js +1 -0
- package/dist/review/assets/codeowners-Bp6g37R7.js +1 -0
- package/dist/review/assets/codeql-DsOJ9woJ.js +1 -0
- package/dist/review/assets/coffee-Ch7k5sss.js +1 -0
- package/dist/review/assets/common-lisp-Cg-RD9OK.js +1 -0
- package/dist/review/assets/coq-C7JzOVbR.js +1 -0
- package/dist/review/assets/cpp-BMRokrvK.js +1 -0
- package/dist/review/assets/crystal-DGywbUpC.js +1 -0
- package/dist/review/assets/csharp-DSvCPggb.js +1 -0
- package/dist/review/assets/css-CLj8gQPS.js +1 -0
- package/dist/review/assets/csv-fuZLfV_i.js +1 -0
- package/dist/review/assets/cue-D82EKSYY.js +1 -0
- package/dist/review/assets/cypher-COkxafJQ.js +1 -0
- package/dist/review/assets/d-85-TOEBH.js +1 -0
- package/dist/review/assets/dark-plus-C3mMm8J8.js +1 -0
- package/dist/review/assets/dart-bE4Kk8sk.js +1 -0
- package/dist/review/assets/dax-CEL-wOlO.js +1 -0
- package/dist/review/assets/desktop-BmXAJ9_W.js +1 -0
- package/dist/review/assets/diff-D97Zzqfu.js +1 -0
- package/dist/review/assets/docker-BcOcwvcX.js +1 -0
- package/dist/review/assets/dotenv-Da5cRb03.js +1 -0
- package/dist/review/assets/dracula-BzJJZx-M.js +1 -0
- package/dist/review/assets/dracula-soft-BXkSAIEj.js +1 -0
- package/dist/review/assets/dream-maker-BtqSS_iP.js +1 -0
- package/dist/review/assets/edge-FbVlp4U3.js +1 -0
- package/dist/review/assets/elixir-CkH2-t6x.js +1 -0
- package/dist/review/assets/elm-DbKCFpqz.js +1 -0
- package/dist/review/assets/emacs-lisp-C_m_b--Z.js +1 -0
- package/dist/review/assets/erb-DXfck5VN.js +1 -0
- package/dist/review/assets/erlang-DsQrWhSR.js +1 -0
- package/dist/review/assets/everforest-dark-BgDCqdQA.js +1 -0
- package/dist/review/assets/everforest-light-C8M2exoo.js +1 -0
- package/dist/review/assets/fennel-BYunw83y.js +1 -0
- package/dist/review/assets/fish-BvzEVeQv.js +1 -0
- package/dist/review/assets/fluent-C4IJs8-o.js +1 -0
- package/dist/review/assets/fortran-fixed-form-CkoXwp7k.js +1 -0
- package/dist/review/assets/fortran-free-form-BxgE0vQu.js +1 -0
- package/dist/review/assets/fsharp-CXgrBDvD.js +1 -0
- package/dist/review/assets/gdresource-TyuKm33G.js +1 -0
- package/dist/review/assets/gdscript-DqcFQ5yU.js +1 -0
- package/dist/review/assets/gdshader-DkwncUOv.js +1 -0
- package/dist/review/assets/genie-D0YGMca9.js +1 -0
- package/dist/review/assets/gherkin-DyxjwDmM.js +1 -0
- package/dist/review/assets/git-commit-F4YmCXRG.js +1 -0
- package/dist/review/assets/git-rebase-r7XF79zn.js +1 -0
- package/dist/review/assets/github-dark-DHJKELXO.js +1 -0
- package/dist/review/assets/github-dark-default-Cuk6v7N8.js +1 -0
- package/dist/review/assets/github-dark-dimmed-DH5Ifo-i.js +1 -0
- package/dist/review/assets/github-dark-high-contrast-E3gJ1_iC.js +1 -0
- package/dist/review/assets/github-light-DAi9KRSo.js +1 -0
- package/dist/review/assets/github-light-default-D7oLnXFd.js +1 -0
- package/dist/review/assets/github-light-high-contrast-BfjtVDDH.js +1 -0
- package/dist/review/assets/gleam-BspZqrRM.js +1 -0
- package/dist/review/assets/glimmer-js-ByusRIyA.js +1 -0
- package/dist/review/assets/glimmer-ts-BfAWNZQY.js +1 -0
- package/dist/review/assets/glsl-DplSGwfg.js +1 -0
- package/dist/review/assets/gn-n2N0HUVH.js +1 -0
- package/dist/review/assets/gnuplot-DdkO51Og.js +1 -0
- package/dist/review/assets/go-C27-OAKa.js +1 -0
- package/dist/review/assets/graphql-ChdNCCLP.js +1 -0
- package/dist/review/assets/groovy-gcz8RCvz.js +1 -0
- package/dist/review/assets/gruvbox-dark-hard-CFHQjOhq.js +1 -0
- package/dist/review/assets/gruvbox-dark-medium-GsRaNv29.js +1 -0
- package/dist/review/assets/gruvbox-dark-soft-CVdnzihN.js +1 -0
- package/dist/review/assets/gruvbox-light-hard-CH1njM8p.js +1 -0
- package/dist/review/assets/gruvbox-light-medium-DRw_LuNl.js +1 -0
- package/dist/review/assets/gruvbox-light-soft-hJgmCMqR.js +1 -0
- package/dist/review/assets/hack-BWmVpMyf.js +1 -0
- package/dist/review/assets/haml-D5jkg6IW.js +1 -0
- package/dist/review/assets/handlebars-BpdQsYii.js +1 -0
- package/dist/review/assets/haskell-Df6bDoY_.js +1 -0
- package/dist/review/assets/haxe-CfZj7gIn.js +1 -0
- package/dist/review/assets/hcl-BWvSN4gD.js +1 -0
- package/dist/review/assets/hjson-D5-asLiD.js +1 -0
- package/dist/review/assets/hlsl-D3lLCCz7.js +1 -0
- package/dist/review/assets/horizon-BUw7H-hv.js +1 -0
- package/dist/review/assets/horizon-bright-CUuTKBJd.js +1 -0
- package/dist/review/assets/houston-DnULxvSX.js +1 -0
- package/dist/review/assets/html-derivative-DlHx6ybY.js +1 -0
- package/dist/review/assets/html-pp8916En.js +1 -0
- package/dist/review/assets/http-jrhK8wxY.js +1 -0
- package/dist/review/assets/hurl-irOxFIW8.js +1 -0
- package/dist/review/assets/hxml-2-FPmUDs.js +1 -0
- package/dist/review/assets/hy-DFXneXwc.js +1 -0
- package/dist/review/assets/imba-DGztddWO.js +1 -0
- package/dist/review/assets/index-Dq-6DFzI.css +1 -0
- package/dist/review/assets/index-DurW_RD7.js +1567 -0
- package/dist/review/assets/ini-BEwlwnbL.js +1 -0
- package/dist/review/assets/java-CylS5w8V.js +1 -0
- package/dist/review/assets/javascript-wDzz0qaB.js +1 -0
- package/dist/review/assets/jinja-f2NsQr07.js +1 -0
- package/dist/review/assets/jison-wvAkD_A8.js +1 -0
- package/dist/review/assets/json-Cp-IABpG.js +1 -0
- package/dist/review/assets/json5-C9tS-k6U.js +1 -0
- package/dist/review/assets/jsonc-Des-eS-w.js +1 -0
- package/dist/review/assets/jsonl-DcaNXYhu.js +1 -0
- package/dist/review/assets/jsonnet-DFQXde-d.js +1 -0
- package/dist/review/assets/jssm-C2t-YnRu.js +1 -0
- package/dist/review/assets/jsx-g9-lgVsj.js +1 -0
- package/dist/review/assets/julia-5Bft2YPA.js +1 -0
- package/dist/review/assets/just-Cwhn7H3k.js +1 -0
- package/dist/review/assets/kanagawa-dragon-BuwD2xS4.js +1 -0
- package/dist/review/assets/kanagawa-lotus-C3DzagqV.js +1 -0
- package/dist/review/assets/kanagawa-wave-DFGoQZhC.js +1 -0
- package/dist/review/assets/kdl-DV7GczEv.js +1 -0
- package/dist/review/assets/kotlin-BdnUsdx6.js +1 -0
- package/dist/review/assets/kusto-wEQ09or8.js +1 -0
- package/dist/review/assets/laserwave-DUszq2jm.js +1 -0
- package/dist/review/assets/latex-D5pSuvFb.js +1 -0
- package/dist/review/assets/lean-BZvkOJ9d.js +1 -0
- package/dist/review/assets/less-B1dDrJ26.js +1 -0
- package/dist/review/assets/light-plus-B7mTdjB0.js +1 -0
- package/dist/review/assets/liquid-C0sCDyMI.js +1 -0
- package/dist/review/assets/llvm-BZoOZj88.js +1 -0
- package/dist/review/assets/log-2UxHyX5q.js +1 -0
- package/dist/review/assets/logo-BtOb2qkB.js +1 -0
- package/dist/review/assets/lua-BaeVxFsk.js +1 -0
- package/dist/review/assets/luau-BnpPk5vE.js +1 -0
- package/dist/review/assets/make-CHLpvVh8.js +1 -0
- package/dist/review/assets/markdown-Cvjx9yec.js +1 -0
- package/dist/review/assets/marko-DjSrsDqO.js +1 -0
- package/dist/review/assets/material-theme-D5KoaKCx.js +1 -0
- package/dist/review/assets/material-theme-darker-BfHTSMKl.js +1 -0
- package/dist/review/assets/material-theme-lighter-B0m2ddpp.js +1 -0
- package/dist/review/assets/material-theme-ocean-CyktbL80.js +1 -0
- package/dist/review/assets/material-theme-palenight-Csfq5Kiy.js +1 -0
- package/dist/review/assets/matlab-D7o27uSR.js +1 -0
- package/dist/review/assets/mdc-D1_yUvq7.js +1 -0
- package/dist/review/assets/mdx-Cmh6b_Ma.js +1 -0
- package/dist/review/assets/mermaid-CQcHuHx7.js +1 -0
- package/dist/review/assets/min-dark-CafNBF8u.js +1 -0
- package/dist/review/assets/min-light-CTRr51gU.js +1 -0
- package/dist/review/assets/mipsasm-CKIfxQSi.js +1 -0
- package/dist/review/assets/mojo-Blby8dQK.js +1 -0
- package/dist/review/assets/monokai-BRVnQi9A.js +1 -0
- package/dist/review/assets/moonbit-CHtswR0a.js +1 -0
- package/dist/review/assets/move-el3G9tDJ.js +1 -0
- package/dist/review/assets/narrat-DRg8JJMk.js +1 -0
- package/dist/review/assets/nextflow-C-mBbutL.js +1 -0
- package/dist/review/assets/nextflow-groovy-vE_lwT2v.js +1 -0
- package/dist/review/assets/nginx-BpAMiNFr.js +1 -0
- package/dist/review/assets/night-owl-C39BiMTA.js +1 -0
- package/dist/review/assets/night-owl-light-CMTm3GFP.js +1 -0
- package/dist/review/assets/nim-BIad80T-.js +1 -0
- package/dist/review/assets/nix-CwoSXNpI.js +1 -0
- package/dist/review/assets/nord-Ddv68eIx.js +1 -0
- package/dist/review/assets/nsis-BlV79W_Q.js +1 -0
- package/dist/review/assets/nushell-D3jzshHO.js +1 -0
- package/dist/review/assets/objective-c-DXmwc3jG.js +1 -0
- package/dist/review/assets/objective-cpp-CLxacb5B.js +1 -0
- package/dist/review/assets/ocaml-C0hk2d4L.js +1 -0
- package/dist/review/assets/odin-BBf5iR-q.js +1 -0
- package/dist/review/assets/one-dark-pro-DVMEJ2y_.js +1 -0
- package/dist/review/assets/one-light-C3Wv6jpd.js +1 -0
- package/dist/review/assets/openscad-C4EeE6gA.js +1 -0
- package/dist/review/assets/org-DM6o9KBp.js +1 -0
- package/dist/review/assets/pascal-D93ZcfNL.js +1 -0
- package/dist/review/assets/perl-B9cMNwum.js +1 -0
- package/dist/review/assets/php-Csjmro_R.js +1 -0
- package/dist/review/assets/pierre-dark-CyvmCCZW.js +1 -0
- package/dist/review/assets/pierre-dark-protanopia-deuteranopia-Rgc0TwpF.js +1 -0
- package/dist/review/assets/pierre-dark-soft-BHGpRqa4.js +1 -0
- package/dist/review/assets/pierre-dark-tritanopia-Beq2gCRQ.js +1 -0
- package/dist/review/assets/pierre-dark-vibrant-BWBVywrn.js +1 -0
- package/dist/review/assets/pierre-light-480U9XYS.js +1 -0
- package/dist/review/assets/pierre-light-protanopia-deuteranopia-CaVOBURG.js +1 -0
- package/dist/review/assets/pierre-light-soft-CVdyfjmI.js +1 -0
- package/dist/review/assets/pierre-light-tritanopia-B4_gpKOM.js +1 -0
- package/dist/review/assets/pierre-light-vibrant-DdTDNdfJ.js +1 -0
- package/dist/review/assets/pkl-u5AG7uiY.js +1 -0
- package/dist/review/assets/plastic-3e1v2bzS.js +1 -0
- package/dist/review/assets/plsql-ChMvpjG-.js +1 -0
- package/dist/review/assets/po-BTJTHyun.js +1 -0
- package/dist/review/assets/poimandres-CS3Unz2-.js +1 -0
- package/dist/review/assets/polar-C0HS_06l.js +1 -0
- package/dist/review/assets/postcss-CXtECtnM.js +1 -0
- package/dist/review/assets/powerquery-CEu0bR-o.js +1 -0
- package/dist/review/assets/powershell-BmBUJMz7.js +1 -0
- package/dist/review/assets/prisma-Vru482bI.js +1 -0
- package/dist/review/assets/prolog-CbFg5uaA.js +1 -0
- package/dist/review/assets/proto-C7zT0LnQ.js +1 -0
- package/dist/review/assets/pug-DKIMFp6K.js +1 -0
- package/dist/review/assets/puppet-BMWR74SV.js +1 -0
- package/dist/review/assets/purescript-CklMAg4u.js +1 -0
- package/dist/review/assets/python-B6aJPvgy.js +1 -0
- package/dist/review/assets/qml-3beO22l8.js +1 -0
- package/dist/review/assets/qmldir-C8lEn-DE.js +1 -0
- package/dist/review/assets/qss-IeuSbFQv.js +1 -0
- package/dist/review/assets/r-Cf5RLm7j.js +1 -0
- package/dist/review/assets/racket-BqYA7rlc.js +1 -0
- package/dist/review/assets/raku-DXvB9xmW.js +1 -0
- package/dist/review/assets/razor-BjBPvh-w.js +1 -0
- package/dist/review/assets/rbs-CpoqiR4B.js +1 -0
- package/dist/review/assets/red-hvxz__6c.js +1 -0
- package/dist/review/assets/reg-C-SQnVFl.js +1 -0
- package/dist/review/assets/regexp-CDVJQ6XC.js +1 -0
- package/dist/review/assets/rel-C3B-1QV4.js +1 -0
- package/dist/review/assets/riscv-BM1_JUlF.js +1 -0
- package/dist/review/assets/ron-D8l8udqQ.js +1 -0
- package/dist/review/assets/rose-pine-5qJOZa0Y.js +1 -0
- package/dist/review/assets/rose-pine-dawn-zx0QlTCp.js +1 -0
- package/dist/review/assets/rose-pine-moon-C9pEdX9L.js +1 -0
- package/dist/review/assets/rosmsg-BJDFO7_C.js +1 -0
- package/dist/review/assets/rst-bs7f0vWN.js +1 -0
- package/dist/review/assets/ruby-C0TQ7zu5.js +1 -0
- package/dist/review/assets/rust-B1yitclQ.js +1 -0
- package/dist/review/assets/sas-DEy46yEz.js +1 -0
- package/dist/review/assets/sass-Cj5Yp3dK.js +1 -0
- package/dist/review/assets/scala-CqE71os6.js +1 -0
- package/dist/review/assets/scheme-C98Dy4si.js +1 -0
- package/dist/review/assets/scss-D5BDwBP9.js +1 -0
- package/dist/review/assets/sdbl-DVxCFoDh.js +1 -0
- package/dist/review/assets/shaderlab-Dg9Lc6iA.js +1 -0
- package/dist/review/assets/shellscript-Yzrsuije.js +1 -0
- package/dist/review/assets/shellsession-BADoaaVG.js +1 -0
- package/dist/review/assets/slack-dark-BthQWCQV.js +1 -0
- package/dist/review/assets/slack-ochin-DqwNpetd.js +1 -0
- package/dist/review/assets/smalltalk-BOQMe2GC.js +1 -0
- package/dist/review/assets/smithy-cds9vsN8.js +1 -0
- package/dist/review/assets/snazzy-light-Bw305WKR.js +1 -0
- package/dist/review/assets/solarized-dark-CpvCGNkr.js +1 -0
- package/dist/review/assets/solarized-light-Dlz6yCKv.js +1 -0
- package/dist/review/assets/solidity-DijEV5ha.js +1 -0
- package/dist/review/assets/soy-8wufbnw4.js +1 -0
- package/dist/review/assets/sparql-rVzFXLq3.js +1 -0
- package/dist/review/assets/splunk-BtCnVYZw.js +1 -0
- package/dist/review/assets/sql-CRqJ_cUM.js +1 -0
- package/dist/review/assets/ssh-config-_ykCGR6B.js +1 -0
- package/dist/review/assets/stata-DI20mbqo.js +1 -0
- package/dist/review/assets/stylus-BEDo0Tqx.js +1 -0
- package/dist/review/assets/surrealql-Cjom0U5J.js +1 -0
- package/dist/review/assets/svelte-Cy7k_4gC.js +1 -0
- package/dist/review/assets/swift-C2oV4EkX.js +1 -0
- package/dist/review/assets/synthwave-84-CbfX1IO0.js +1 -0
- package/dist/review/assets/system-verilog-0hqHdDBg.js +1 -0
- package/dist/review/assets/systemd-4A_iFExJ.js +1 -0
- package/dist/review/assets/talonscript-CkByrt1z.js +1 -0
- package/dist/review/assets/tasl-QIJgUcNo.js +1 -0
- package/dist/review/assets/tcl-dwOrl1Do.js +1 -0
- package/dist/review/assets/templ-DhtptRzy.js +1 -0
- package/dist/review/assets/terraform-BETggiCN.js +1 -0
- package/dist/review/assets/tex-D96PA37w.js +1 -0
- package/dist/review/assets/tokyo-night-hegEt444.js +1 -0
- package/dist/review/assets/toml-vGWfd6FD.js +1 -0
- package/dist/review/assets/ts-tags-D351s5mN.js +1 -0
- package/dist/review/assets/tsv-B_m7g4N7.js +1 -0
- package/dist/review/assets/tsx-COt5Ahok.js +1 -0
- package/dist/review/assets/turtle-BsS91CYL.js +1 -0
- package/dist/review/assets/twig-27uCiNez.js +1 -0
- package/dist/review/assets/typescript-BPQ3VLAy.js +1 -0
- package/dist/review/assets/typespec-CAFt9gP4.js +1 -0
- package/dist/review/assets/typst-DHCkPAjA.js +1 -0
- package/dist/review/assets/v-BGw2Nkan.js +1 -0
- package/dist/review/assets/vala-CsfeWuGM.js +1 -0
- package/dist/review/assets/vb-Cu-pLBUe.js +1 -0
- package/dist/review/assets/verilog-nZwndyjY.js +1 -0
- package/dist/review/assets/vesper-DRje8inN.js +1 -0
- package/dist/review/assets/vhdl-CeAyd5Ju.js +1 -0
- package/dist/review/assets/viml-CJc9bBzg.js +1 -0
- package/dist/review/assets/vitesse-black-Bkuqu6BP.js +1 -0
- package/dist/review/assets/vitesse-dark-D0r3Knsf.js +1 -0
- package/dist/review/assets/vitesse-light-CVO1_9PV.js +1 -0
- package/dist/review/assets/vue-BqiEGhQt.js +1 -0
- package/dist/review/assets/vue-html-AaS7Mt5G.js +1 -0
- package/dist/review/assets/vue-vine-BoDAl6tE.js +1 -0
- package/dist/review/assets/vyper-CDx5xZoG.js +1 -0
- package/dist/review/assets/wasm-CG6Dc4jp.js +1 -0
- package/dist/review/assets/wasm-MzD3tlZU.js +1 -0
- package/dist/review/assets/wenyan-BV7otONQ.js +1 -0
- package/dist/review/assets/wgsl-Dx-B1_4e.js +1 -0
- package/dist/review/assets/wikitext-BhOHFoWU.js +1 -0
- package/dist/review/assets/wit-5i3qLPDT.js +1 -0
- package/dist/review/assets/wolfram-lXgVvXCa.js +1 -0
- package/dist/review/assets/xml-sdJ4AIDG.js +1 -0
- package/dist/review/assets/xsl-CtQFsRM5.js +1 -0
- package/dist/review/assets/yaml-Buea-lGh.js +1 -0
- package/dist/review/assets/zenscript-DVFEvuxE.js +1 -0
- package/dist/review/assets/zig-VOosw3JB.js +1 -0
- package/dist/review/index.html +15 -0
- package/dist/run-wait.d.ts +13 -0
- package/dist/run-wait.d.ts.map +1 -0
- package/dist/run-wait.js +25 -0
- package/dist/run-wait.js.map +1 -0
- package/dist/sandbox-author.bundle.js +14979 -0
- package/dist/sandbox-author.d.ts +3 -0
- package/dist/sandbox-author.d.ts.map +1 -0
- package/dist/sandbox-author.js +17 -0
- package/dist/sandbox-author.js.map +1 -0
- package/dist/sandbox-repair.bundle.js +314 -0
- package/dist/sandbox-repair.d.ts +3 -0
- package/dist/sandbox-repair.d.ts.map +1 -0
- package/dist/sandbox-repair.js +121 -0
- package/dist/sandbox-repair.js.map +1 -0
- package/dist/sandbox-review.bundle.js +14458 -0
- package/dist/sandbox-review.d.ts +2 -0
- package/dist/sandbox-review.d.ts.map +1 -0
- package/dist/sandbox-review.js +16 -0
- package/dist/sandbox-review.js.map +1 -0
- package/dist/sandbox-validation-repair.bundle.js +14744 -0
- package/dist/sandbox-validation-repair.d.ts +3 -0
- package/dist/sandbox-validation-repair.d.ts.map +1 -0
- package/dist/sandbox-validation-repair.js +134 -0
- package/dist/sandbox-validation-repair.js.map +1 -0
- package/dist/sandbox.d.ts +39 -0
- package/dist/sandbox.d.ts.map +1 -0
- package/dist/sandbox.js +8 -0
- package/dist/sandbox.js.map +1 -0
- package/dist/subscription-auth.d.ts +6 -0
- package/dist/subscription-auth.d.ts.map +1 -0
- package/dist/subscription-auth.js +59 -0
- package/dist/subscription-auth.js.map +1 -0
- package/dist/temporal.d.ts +6 -0
- package/dist/temporal.d.ts.map +1 -0
- package/dist/temporal.js +17 -0
- package/dist/temporal.js.map +1 -0
- package/dist/validate-main.d.ts +3 -0
- package/dist/validate-main.d.ts.map +1 -0
- package/dist/validate-main.js +137 -0
- package/dist/validate-main.js.map +1 -0
- package/dist/validation-repair.d.ts +10 -0
- package/dist/validation-repair.d.ts.map +1 -0
- package/dist/validation-repair.js +72 -0
- package/dist/validation-repair.js.map +1 -0
- package/dist/worker-main.d.ts +2 -0
- package/dist/worker-main.d.ts.map +1 -0
- package/dist/worker-main.js +30 -0
- package/dist/worker-main.js.map +1 -0
- package/dist/workflow.d.ts +6 -0
- package/dist/workflow.d.ts.map +1 -0
- package/dist/workflow.js +428 -0
- package/dist/workflow.js.map +1 -0
- package/package.json +74 -0
- package/src/extensions/authoring.ts +86 -0
- package/src/extensions/discovery.ts +61 -0
- package/src/extensions/review.ts +54 -0
- package/src/skills/selfbench/SKILL.md +119 -0
package/dist/cli.js
ADDED
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { createHash } from "node:crypto";
|
|
3
|
+
import { open, rm } from "node:fs/promises";
|
|
4
|
+
import { homedir } from "node:os";
|
|
5
|
+
import { dirname, resolve } from "node:path";
|
|
6
|
+
import { Readable, Transform } from "node:stream";
|
|
7
|
+
import { pipeline } from "node:stream/promises";
|
|
8
|
+
import { fileURLToPath } from "node:url";
|
|
9
|
+
import { parseArgs } from "node:util";
|
|
10
|
+
import { runCommand } from "./process.js";
|
|
11
|
+
import { collectGitHubPullRequestProvenance, collectRepositoryProvenance } from "./provenance.js";
|
|
12
|
+
import { waitForRun } from "./run-wait.js";
|
|
13
|
+
const [command, ...rest] = process.argv.slice(2);
|
|
14
|
+
switch (command) {
|
|
15
|
+
case "up":
|
|
16
|
+
await up(rest);
|
|
17
|
+
break;
|
|
18
|
+
case "run":
|
|
19
|
+
await run(rest);
|
|
20
|
+
break;
|
|
21
|
+
case "status":
|
|
22
|
+
await passthrough("GET", `/v1/runs/${requiredArgument(rest, "run ID")}`);
|
|
23
|
+
break;
|
|
24
|
+
case "cancel":
|
|
25
|
+
await passthrough("POST", `/v1/runs/${requiredArgument(rest, "run ID")}/cancel`);
|
|
26
|
+
break;
|
|
27
|
+
case "list":
|
|
28
|
+
await passthrough("GET", "/v1/runs");
|
|
29
|
+
break;
|
|
30
|
+
case "download":
|
|
31
|
+
await download(requiredArgument(rest, "run ID"), rest[1] ?? fail("output path is required"));
|
|
32
|
+
break;
|
|
33
|
+
case "help":
|
|
34
|
+
case "--help":
|
|
35
|
+
case "-h":
|
|
36
|
+
case undefined:
|
|
37
|
+
printHelp();
|
|
38
|
+
break;
|
|
39
|
+
default:
|
|
40
|
+
throw new Error(`unknown command: ${command}`);
|
|
41
|
+
}
|
|
42
|
+
async function up(args) {
|
|
43
|
+
const parsed = parseArgs({
|
|
44
|
+
args,
|
|
45
|
+
options: {
|
|
46
|
+
backend: { type: "string", default: "docker" },
|
|
47
|
+
"modal-config": { type: "string" },
|
|
48
|
+
},
|
|
49
|
+
strict: true,
|
|
50
|
+
});
|
|
51
|
+
if (parsed.values.backend !== "docker" && parsed.values.backend !== "modal") {
|
|
52
|
+
fail('--backend must be "docker" or "modal"');
|
|
53
|
+
}
|
|
54
|
+
if (parsed.values.backend === "docker" && parsed.values["modal-config"] !== undefined) {
|
|
55
|
+
fail("--modal-config requires --backend modal");
|
|
56
|
+
}
|
|
57
|
+
const projectRoot = resolve(dirname(fileURLToPath(import.meta.url)), "..");
|
|
58
|
+
const composeFile = resolve(projectRoot, "compose.yaml");
|
|
59
|
+
const backend = parsed.values.backend;
|
|
60
|
+
const environment = {
|
|
61
|
+
...process.env,
|
|
62
|
+
SELFBENCH_EXECUTION_BACKEND: backend,
|
|
63
|
+
SELFBENCH_HARBOR_ENVIRONMENT: backend,
|
|
64
|
+
...(backend === "modal"
|
|
65
|
+
? {
|
|
66
|
+
SELFBENCH_MODAL_CONFIG_PATH: resolve(parsed.values["modal-config"] ?? resolve(homedir(), ".modal.toml")),
|
|
67
|
+
}
|
|
68
|
+
: {}),
|
|
69
|
+
};
|
|
70
|
+
if (backend === "docker") {
|
|
71
|
+
await runCommand("docker", [
|
|
72
|
+
"build",
|
|
73
|
+
"-f",
|
|
74
|
+
resolve(projectRoot, "Dockerfile.sandbox"),
|
|
75
|
+
"-t",
|
|
76
|
+
"selfbench-sandbox:local",
|
|
77
|
+
projectRoot,
|
|
78
|
+
], { env: environment });
|
|
79
|
+
}
|
|
80
|
+
await runCommand("docker", ["compose", "--file", composeFile, "up", "-d", "--build"], {
|
|
81
|
+
env: environment,
|
|
82
|
+
});
|
|
83
|
+
console.log(`SelfBench is running with the ${backend} backend at http://127.0.0.1:8080`);
|
|
84
|
+
}
|
|
85
|
+
async function run(args) {
|
|
86
|
+
const parsed = parseArgs({
|
|
87
|
+
args,
|
|
88
|
+
options: {
|
|
89
|
+
repo: { type: "string", short: "r" },
|
|
90
|
+
"easy-count": { type: "string" },
|
|
91
|
+
"medium-count": { type: "string" },
|
|
92
|
+
"hard-count": { type: "string" },
|
|
93
|
+
"run-id": { type: "string" },
|
|
94
|
+
model: { type: "string", default: "gpt-5.6-sol" },
|
|
95
|
+
wait: { type: "boolean", default: false },
|
|
96
|
+
output: { type: "string", short: "o" },
|
|
97
|
+
},
|
|
98
|
+
strict: true,
|
|
99
|
+
});
|
|
100
|
+
const repositoryPath = resolve(parsed.values.repo ?? fail("--repo is required"));
|
|
101
|
+
const candidateCounts = {
|
|
102
|
+
easy: nonnegativeInteger(parsed.values["easy-count"] ?? "0", "--easy-count"),
|
|
103
|
+
medium: nonnegativeInteger(parsed.values["medium-count"] ?? "0", "--medium-count"),
|
|
104
|
+
hard: nonnegativeInteger(parsed.values["hard-count"] ?? "0", "--hard-count"),
|
|
105
|
+
};
|
|
106
|
+
const totalCandidates = candidateCounts.easy + candidateCounts.medium + candidateCounts.hard;
|
|
107
|
+
if (totalCandidates < 1 || totalCandidates > 100) {
|
|
108
|
+
fail("the total candidate count must be between 1 and 100");
|
|
109
|
+
}
|
|
110
|
+
const runId = parsed.values["run-id"] ?? defaultRunId();
|
|
111
|
+
const [repository, localMessages, selfbenchCommit] = await Promise.all([
|
|
112
|
+
resolveRepository(repositoryPath),
|
|
113
|
+
collectRepositoryProvenance(repositoryPath, process.env.HOME ?? homedir()),
|
|
114
|
+
resolveSelfBenchCommit(),
|
|
115
|
+
]);
|
|
116
|
+
const githubMessages = await collectGitHubPullRequestProvenance(repository.url);
|
|
117
|
+
const messages = [...localMessages, ...githubMessages];
|
|
118
|
+
if (messages.length === 0) {
|
|
119
|
+
throw new Error("no sanitized local-session or GitHub pull-request provenance was found");
|
|
120
|
+
}
|
|
121
|
+
const corpus = Buffer.from(`${messages.map((message) => JSON.stringify(message)).join("\n")}\n`);
|
|
122
|
+
const provenance = await requestJson(`/v1/provenance?runId=${encodeURIComponent(runId)}`, {
|
|
123
|
+
method: "POST",
|
|
124
|
+
body: corpus,
|
|
125
|
+
contentType: "application/x-ndjson",
|
|
126
|
+
});
|
|
127
|
+
const response = await requestJson("/v1/runs", {
|
|
128
|
+
method: "POST",
|
|
129
|
+
body: Buffer.from(JSON.stringify({
|
|
130
|
+
runId,
|
|
131
|
+
repository,
|
|
132
|
+
provenance,
|
|
133
|
+
candidateCounts,
|
|
134
|
+
authoringModel: parsed.values.model,
|
|
135
|
+
selfbenchCommit,
|
|
136
|
+
})),
|
|
137
|
+
contentType: "application/json",
|
|
138
|
+
});
|
|
139
|
+
console.log(JSON.stringify({
|
|
140
|
+
...response,
|
|
141
|
+
provenanceMessages: messages.length,
|
|
142
|
+
localProvenanceMessages: localMessages.length,
|
|
143
|
+
githubPullRequestMessages: githubMessages.length,
|
|
144
|
+
}, null, 2));
|
|
145
|
+
if (!parsed.values.wait && parsed.values.output === undefined) {
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
const status = await waitForRun({
|
|
149
|
+
poll: async () => asPolledRunStatus(await requestJson(`/v1/runs/${encodeURIComponent(runId)}`, { method: "GET" })),
|
|
150
|
+
onPhase: (current) => {
|
|
151
|
+
console.error(JSON.stringify({
|
|
152
|
+
runId,
|
|
153
|
+
phase: current.phase,
|
|
154
|
+
accepted: current.accepted,
|
|
155
|
+
rejected: current.rejected,
|
|
156
|
+
}));
|
|
157
|
+
},
|
|
158
|
+
});
|
|
159
|
+
if (parsed.values.output !== undefined) {
|
|
160
|
+
await download(runId, parsed.values.output);
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
console.log(JSON.stringify(status, null, 2));
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
async function resolveRepository(path) {
|
|
167
|
+
const [remote, commit] = await Promise.all([
|
|
168
|
+
runCommand("git", ["-C", path, "remote", "get-url", "origin"]),
|
|
169
|
+
runCommand("git", ["-C", path, "rev-parse", "HEAD"]),
|
|
170
|
+
]);
|
|
171
|
+
return { url: normalizeGitUrl(remote.stdout.trim()), commit: commit.stdout.trim() };
|
|
172
|
+
}
|
|
173
|
+
function normalizeGitUrl(value) {
|
|
174
|
+
const ssh = /^git@github\.com:(.+)$/.exec(value);
|
|
175
|
+
if (ssh?.[1]) {
|
|
176
|
+
return `https://github.com/${ssh[1]}`;
|
|
177
|
+
}
|
|
178
|
+
if (value.startsWith("https://")) {
|
|
179
|
+
return value;
|
|
180
|
+
}
|
|
181
|
+
throw new Error(`unsupported origin URL: ${value}`);
|
|
182
|
+
}
|
|
183
|
+
async function resolveSelfBenchCommit() {
|
|
184
|
+
if (process.env.SELFBENCH_BUILD_COMMIT) {
|
|
185
|
+
return process.env.SELFBENCH_BUILD_COMMIT;
|
|
186
|
+
}
|
|
187
|
+
const root = resolve(dirname(fileURLToPath(import.meta.url)), "..");
|
|
188
|
+
return (await runCommand("git", ["-C", root, "rev-parse", "HEAD"])).stdout.trim();
|
|
189
|
+
}
|
|
190
|
+
async function passthrough(method, path) {
|
|
191
|
+
console.log(JSON.stringify(await requestJson(path, { method }), null, 2));
|
|
192
|
+
}
|
|
193
|
+
async function download(runId, outputPath) {
|
|
194
|
+
const base = process.env.SELFBENCH_API_URL ?? "http://127.0.0.1:8080";
|
|
195
|
+
const headers = new Headers();
|
|
196
|
+
if (process.env.SELFBENCH_API_TOKEN) {
|
|
197
|
+
headers.set("authorization", `Bearer ${process.env.SELFBENCH_API_TOKEN}`);
|
|
198
|
+
}
|
|
199
|
+
const response = await fetch(new URL(`/v1/runs/${encodeURIComponent(runId)}/export`, base), {
|
|
200
|
+
headers,
|
|
201
|
+
});
|
|
202
|
+
if (!response.ok) {
|
|
203
|
+
const value = (await response.json());
|
|
204
|
+
throw new Error(String(value.error ?? `SelfBench API returned ${response.status}`));
|
|
205
|
+
}
|
|
206
|
+
const expectedSha256 = response.headers.get("x-content-sha256");
|
|
207
|
+
if (!expectedSha256 || !response.body) {
|
|
208
|
+
throw new Error("SelfBench API returned an export without integrity metadata");
|
|
209
|
+
}
|
|
210
|
+
const destination = resolve(outputPath);
|
|
211
|
+
const file = await open(destination, "wx");
|
|
212
|
+
let verified = false;
|
|
213
|
+
try {
|
|
214
|
+
const hash = createHash("sha256");
|
|
215
|
+
const hasher = new Transform({
|
|
216
|
+
transform(chunk, _encoding, callback) {
|
|
217
|
+
hash.update(chunk);
|
|
218
|
+
callback(undefined, chunk);
|
|
219
|
+
},
|
|
220
|
+
});
|
|
221
|
+
await pipeline(Readable.fromWeb(response.body), hasher, file.createWriteStream());
|
|
222
|
+
if (hash.digest("hex") !== expectedSha256) {
|
|
223
|
+
throw new Error("downloaded export failed its SHA-256 integrity check");
|
|
224
|
+
}
|
|
225
|
+
verified = true;
|
|
226
|
+
}
|
|
227
|
+
finally {
|
|
228
|
+
await file.close().catch(() => undefined);
|
|
229
|
+
if (!verified) {
|
|
230
|
+
await rm(destination, { force: true });
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
console.log(JSON.stringify({ runId, output: destination }, null, 2));
|
|
234
|
+
}
|
|
235
|
+
async function requestJson(path, options) {
|
|
236
|
+
const base = process.env.SELFBENCH_API_URL ?? "http://127.0.0.1:8080";
|
|
237
|
+
const headers = new Headers();
|
|
238
|
+
if (options.contentType) {
|
|
239
|
+
headers.set("content-type", options.contentType);
|
|
240
|
+
}
|
|
241
|
+
if (process.env.SELFBENCH_API_TOKEN) {
|
|
242
|
+
headers.set("authorization", `Bearer ${process.env.SELFBENCH_API_TOKEN}`);
|
|
243
|
+
}
|
|
244
|
+
const response = await fetch(new URL(path, base), {
|
|
245
|
+
method: options.method,
|
|
246
|
+
headers,
|
|
247
|
+
...(options.body ? { body: Buffer.from(options.body) } : {}),
|
|
248
|
+
});
|
|
249
|
+
const value = (await response.json());
|
|
250
|
+
if (!response.ok) {
|
|
251
|
+
throw new Error(String(value.error ?? `SelfBench API returned ${response.status}`));
|
|
252
|
+
}
|
|
253
|
+
return value;
|
|
254
|
+
}
|
|
255
|
+
function requiredArgument(args, label) {
|
|
256
|
+
return args[0] ?? fail(`${label} is required`);
|
|
257
|
+
}
|
|
258
|
+
function asPolledRunStatus(value) {
|
|
259
|
+
if (typeof value.phase !== "string") {
|
|
260
|
+
throw new Error("SelfBench status response is missing its phase");
|
|
261
|
+
}
|
|
262
|
+
return { ...value, phase: value.phase };
|
|
263
|
+
}
|
|
264
|
+
function nonnegativeInteger(value, label) {
|
|
265
|
+
const parsed = Number(value);
|
|
266
|
+
if (!Number.isInteger(parsed) || parsed < 0) {
|
|
267
|
+
throw new Error(`${label} must be a nonnegative integer`);
|
|
268
|
+
}
|
|
269
|
+
return parsed;
|
|
270
|
+
}
|
|
271
|
+
function defaultRunId() {
|
|
272
|
+
return `sb-${new Date().toISOString().replace(/\D/g, "").slice(0, 14)}-${crypto.randomUUID().slice(0, 8)}`;
|
|
273
|
+
}
|
|
274
|
+
function fail(message) {
|
|
275
|
+
throw new Error(message);
|
|
276
|
+
}
|
|
277
|
+
function printHelp() {
|
|
278
|
+
console.log(`SelfBench creates durable tiered Harbor evaluations.
|
|
279
|
+
|
|
280
|
+
Usage:
|
|
281
|
+
selfbench up [--backend docker|modal] [--modal-config PATH]
|
|
282
|
+
selfbench run --repo PATH [--easy-count N] [--medium-count N] [--hard-count N]
|
|
283
|
+
[--model MODEL] [--run-id ID] [--wait] [--output OUTPUT.tar.gz]
|
|
284
|
+
selfbench status RUN_ID
|
|
285
|
+
selfbench cancel RUN_ID
|
|
286
|
+
selfbench download RUN_ID OUTPUT.tar.gz
|
|
287
|
+
selfbench list
|
|
288
|
+
|
|
289
|
+
The up command starts the local stack and configures both sandbox execution and Harbor validation for
|
|
290
|
+
one backend. Modal uses ~/.modal.toml unless --modal-config overrides it.
|
|
291
|
+
|
|
292
|
+
The tier counts are candidate authoring budgets, not accepted-task targets. Rejected candidates are not
|
|
293
|
+
replaced, and the export contains only accepted tasks. The run command performs only repository metadata
|
|
294
|
+
and sanitized provenance upload locally; discovery, authoring, validation, review, and audit run remotely.
|
|
295
|
+
--output implies --wait, blocks until completion, and downloads the SHA-256-verified export.`);
|
|
296
|
+
}
|
|
297
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { CouplingEvidence } from "./coupling.js";
|
|
3
|
+
export declare const COUPLING_REVIEW_MODEL = "gpt-5.6-sol";
|
|
4
|
+
export declare const couplingReviewSchema: z.ZodObject<{
|
|
5
|
+
verdict: z.ZodEnum<{
|
|
6
|
+
clean: "clean";
|
|
7
|
+
coupled: "coupled";
|
|
8
|
+
}>;
|
|
9
|
+
reason: z.ZodString;
|
|
10
|
+
findings: z.ZodArray<z.ZodObject<{
|
|
11
|
+
artifact: z.ZodString;
|
|
12
|
+
category: z.ZodEnum<{
|
|
13
|
+
endpoint_path: "endpoint_path";
|
|
14
|
+
field_name: "field_name";
|
|
15
|
+
header_name: "header_name";
|
|
16
|
+
media_type: "media_type";
|
|
17
|
+
other: "other";
|
|
18
|
+
}>;
|
|
19
|
+
disposition: z.ZodEnum<{
|
|
20
|
+
base_contract: "base_contract";
|
|
21
|
+
prompt_contract: "prompt_contract";
|
|
22
|
+
external_contract: "external_contract";
|
|
23
|
+
gold_only: "gold_only";
|
|
24
|
+
not_contract: "not_contract";
|
|
25
|
+
}>;
|
|
26
|
+
evidence: z.ZodString;
|
|
27
|
+
}, z.core.$strip>>;
|
|
28
|
+
counterexample: z.ZodString;
|
|
29
|
+
}, z.core.$strip>;
|
|
30
|
+
export type CouplingReview = z.infer<typeof couplingReviewSchema>;
|
|
31
|
+
export declare function reviewCouplingWithCodex(input: {
|
|
32
|
+
readonly authJson: string;
|
|
33
|
+
readonly prompt: string;
|
|
34
|
+
readonly signal?: AbortSignal;
|
|
35
|
+
readonly fetch?: typeof fetch;
|
|
36
|
+
}): Promise<CouplingReview>;
|
|
37
|
+
export declare function parseCodexReviewEvents(value: string): CouplingReview;
|
|
38
|
+
export declare function couplingReviewPrompt(): string;
|
|
39
|
+
export declare function couplingReviewInput(prompt: string, testPatch: string, goldPatch: string, evidence: CouplingEvidence): string;
|
|
40
|
+
//# sourceMappingURL=codex-review.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-review.d.ts","sourceRoot":"","sources":["../src/codex-review.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,eAAO,MAAM,qBAAqB,gBAAgB,CAAC;AAEnD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;iBAoB/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,wBAAsB,uBAAuB,CAAC,KAAK,EAAE;IACnD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CAC/B,GAAG,OAAO,CAAC,cAAc,CAAC,CA0C1B;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,CA4BpE;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CAQ7C;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,gBAAgB,GACzB,MAAM,CAyBR"}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export const COUPLING_REVIEW_MODEL = "gpt-5.6-sol";
|
|
3
|
+
export const couplingReviewSchema = z.object({
|
|
4
|
+
verdict: z.enum(["clean", "coupled"]),
|
|
5
|
+
reason: z.string().min(1),
|
|
6
|
+
findings: z
|
|
7
|
+
.array(z.object({
|
|
8
|
+
artifact: z.string().min(1),
|
|
9
|
+
category: z.enum(["endpoint_path", "field_name", "header_name", "media_type", "other"]),
|
|
10
|
+
disposition: z.enum([
|
|
11
|
+
"base_contract",
|
|
12
|
+
"prompt_contract",
|
|
13
|
+
"external_contract",
|
|
14
|
+
"gold_only",
|
|
15
|
+
"not_contract",
|
|
16
|
+
]),
|
|
17
|
+
evidence: z.string().min(1),
|
|
18
|
+
}))
|
|
19
|
+
.min(1),
|
|
20
|
+
counterexample: z.string().min(1),
|
|
21
|
+
});
|
|
22
|
+
export async function reviewCouplingWithCodex(input) {
|
|
23
|
+
const credential = parseCredential(input.authJson);
|
|
24
|
+
const accountId = accountIdFromToken(credential.access);
|
|
25
|
+
const request = input.fetch ?? fetch;
|
|
26
|
+
const response = await request("https://chatgpt.com/backend-api/codex/responses", {
|
|
27
|
+
method: "POST",
|
|
28
|
+
headers: {
|
|
29
|
+
Authorization: `Bearer ${credential.access}`,
|
|
30
|
+
"ChatGPT-Account-Id": accountId,
|
|
31
|
+
Originator: "selfbench",
|
|
32
|
+
"OpenAI-Beta": "responses=experimental",
|
|
33
|
+
Accept: "text/event-stream",
|
|
34
|
+
"Content-Type": "application/json",
|
|
35
|
+
},
|
|
36
|
+
body: JSON.stringify({
|
|
37
|
+
model: COUPLING_REVIEW_MODEL,
|
|
38
|
+
store: false,
|
|
39
|
+
stream: true,
|
|
40
|
+
instructions: "You are an independent benchmark-quality reviewer. Analyze the supplied evidence and call submit_review exactly once.",
|
|
41
|
+
input: [
|
|
42
|
+
{
|
|
43
|
+
role: "user",
|
|
44
|
+
content: [{ type: "input_text", text: input.prompt }],
|
|
45
|
+
},
|
|
46
|
+
],
|
|
47
|
+
reasoning: { effort: "high", summary: "auto" },
|
|
48
|
+
text: { verbosity: "low" },
|
|
49
|
+
include: ["reasoning.encrypted_content"],
|
|
50
|
+
tools: [reviewTool()],
|
|
51
|
+
tool_choice: { type: "function", name: "submit_review" },
|
|
52
|
+
parallel_tool_calls: false,
|
|
53
|
+
}),
|
|
54
|
+
...(input.signal ? { signal: input.signal } : {}),
|
|
55
|
+
});
|
|
56
|
+
const responseText = await response.text();
|
|
57
|
+
if (!response.ok) {
|
|
58
|
+
throw new Error(`Codex coupling review failed (${response.status}): ${responseText.slice(0, 500)}`);
|
|
59
|
+
}
|
|
60
|
+
return parseCodexReviewEvents(responseText);
|
|
61
|
+
}
|
|
62
|
+
export function parseCodexReviewEvents(value) {
|
|
63
|
+
for (const line of value.split("\n")) {
|
|
64
|
+
if (!line.startsWith("data: ")) {
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
const data = line.slice("data: ".length);
|
|
68
|
+
if (data === "[DONE]") {
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
const event = JSON.parse(data);
|
|
72
|
+
if (!isRecord(event)) {
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
const item = event.item;
|
|
76
|
+
if (event.type === "response.output_item.done" &&
|
|
77
|
+
isRecord(item) &&
|
|
78
|
+
item.type === "function_call" &&
|
|
79
|
+
item.name === "submit_review" &&
|
|
80
|
+
typeof item.arguments === "string") {
|
|
81
|
+
return couplingReviewSchema.parse(JSON.parse(item.arguments));
|
|
82
|
+
}
|
|
83
|
+
if (event.type === "error") {
|
|
84
|
+
throw new Error(`Codex coupling review stream failed: ${JSON.stringify(event)}`);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
throw new Error("Codex coupling review returned no submit_review tool call");
|
|
88
|
+
}
|
|
89
|
+
export function couplingReviewPrompt() {
|
|
90
|
+
return `Independently review this hard benchmark for test-to-gold coupling.
|
|
91
|
+
|
|
92
|
+
For every exact endpoint path, response/request field, header, media type, helper/module, error string, schema/index name, UI copy/order, or other implementation artifact asserted by the held-out tests, cite either the authentic prompt text that requires it or deterministic evidence that the exact base repository already establishes it. A name merely appearing in the gold patch is not evidence. Reject a test that would fail a coherent implementation of the request using different names, file boundaries, payload presentation, or internal structure.
|
|
93
|
+
|
|
94
|
+
Resolve every artifact listed in couplingEvidence.blockers with a finding whose artifact exactly matches it. Use external_contract only when the authentic request names a standard protocol that fixes the exact artifact independently of the gold patch, and cite that protocol. Use not_contract only for incidental test-language or framework syntax that is not an asserted product contract. A clean verdict with a missing blocker finding or a gold_only finding is rejected automatically.
|
|
95
|
+
|
|
96
|
+
Your findings must identify the artifact, classify it, give its disposition, and cite concrete evidence. The counterexample must describe a plausible alternative correct implementation and whether the tests would accept it. Also reject prompt leakage of PRs, commits, test names, or the solution.`;
|
|
97
|
+
}
|
|
98
|
+
export function couplingReviewInput(prompt, testPatch, goldPatch, evidence) {
|
|
99
|
+
return `${couplingReviewPrompt()}
|
|
100
|
+
|
|
101
|
+
# Authentic request
|
|
102
|
+
|
|
103
|
+
${prompt}
|
|
104
|
+
|
|
105
|
+
# Deterministic base-contract evidence
|
|
106
|
+
|
|
107
|
+
The exact-artifact scan compared the held-out tests with the authentic request, gold additions, and exact base snapshot. Every blocker below is asserted by tests and introduced by gold, but absent verbatim from both request and base. Resolve each blocker explicitly.
|
|
108
|
+
|
|
109
|
+
${JSON.stringify(evidence, null, 2)}
|
|
110
|
+
|
|
111
|
+
# Held-out test patch
|
|
112
|
+
|
|
113
|
+
\`\`\`diff
|
|
114
|
+
${testPatch}
|
|
115
|
+
\`\`\`
|
|
116
|
+
|
|
117
|
+
# Gold implementation patch
|
|
118
|
+
|
|
119
|
+
\`\`\`diff
|
|
120
|
+
${goldPatch}
|
|
121
|
+
\`\`\`
|
|
122
|
+
`;
|
|
123
|
+
}
|
|
124
|
+
function parseCredential(value) {
|
|
125
|
+
const parsed = JSON.parse(value);
|
|
126
|
+
const credential = isRecord(parsed) ? parsed["openai-codex"] : undefined;
|
|
127
|
+
if (!isRecord(credential) || typeof credential.access !== "string") {
|
|
128
|
+
throw new Error("Pi auth does not contain an OpenAI Codex subscription access token");
|
|
129
|
+
}
|
|
130
|
+
return { access: credential.access };
|
|
131
|
+
}
|
|
132
|
+
function accountIdFromToken(token) {
|
|
133
|
+
const payload = JSON.parse(Buffer.from(token.split(".")[1] ?? "", "base64url").toString("utf8"));
|
|
134
|
+
const auth = isRecord(payload) ? payload["https://api.openai.com/auth"] : undefined;
|
|
135
|
+
const accountId = isRecord(auth) ? auth.chatgpt_account_id : undefined;
|
|
136
|
+
if (typeof accountId !== "string" || !accountId) {
|
|
137
|
+
throw new Error("OpenAI Codex subscription token has no ChatGPT account ID");
|
|
138
|
+
}
|
|
139
|
+
return accountId;
|
|
140
|
+
}
|
|
141
|
+
function reviewTool() {
|
|
142
|
+
return {
|
|
143
|
+
type: "function",
|
|
144
|
+
name: "submit_review",
|
|
145
|
+
description: "Submit the final independent test-coupling verdict exactly once.",
|
|
146
|
+
strict: true,
|
|
147
|
+
parameters: {
|
|
148
|
+
type: "object",
|
|
149
|
+
additionalProperties: false,
|
|
150
|
+
required: ["verdict", "reason", "findings", "counterexample"],
|
|
151
|
+
properties: {
|
|
152
|
+
verdict: { type: "string", enum: ["clean", "coupled"] },
|
|
153
|
+
reason: { type: "string", minLength: 1 },
|
|
154
|
+
findings: {
|
|
155
|
+
type: "array",
|
|
156
|
+
minItems: 1,
|
|
157
|
+
items: {
|
|
158
|
+
type: "object",
|
|
159
|
+
additionalProperties: false,
|
|
160
|
+
required: ["artifact", "category", "disposition", "evidence"],
|
|
161
|
+
properties: {
|
|
162
|
+
artifact: { type: "string", minLength: 1 },
|
|
163
|
+
category: {
|
|
164
|
+
type: "string",
|
|
165
|
+
enum: ["endpoint_path", "field_name", "header_name", "media_type", "other"],
|
|
166
|
+
},
|
|
167
|
+
disposition: {
|
|
168
|
+
type: "string",
|
|
169
|
+
enum: [
|
|
170
|
+
"base_contract",
|
|
171
|
+
"prompt_contract",
|
|
172
|
+
"external_contract",
|
|
173
|
+
"gold_only",
|
|
174
|
+
"not_contract",
|
|
175
|
+
],
|
|
176
|
+
},
|
|
177
|
+
evidence: { type: "string", minLength: 1 },
|
|
178
|
+
},
|
|
179
|
+
},
|
|
180
|
+
},
|
|
181
|
+
counterexample: { type: "string", minLength: 1 },
|
|
182
|
+
},
|
|
183
|
+
},
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
function isRecord(value) {
|
|
187
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
188
|
+
}
|
|
189
|
+
//# sourceMappingURL=codex-review.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-review.js","sourceRoot":"","sources":["../src/codex-review.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export interface SelfBenchConfig {
|
|
2
|
+
readonly apiHost: string;
|
|
3
|
+
readonly apiPort: number;
|
|
4
|
+
readonly apiUrl: string;
|
|
5
|
+
readonly apiToken?: string;
|
|
6
|
+
readonly buildCommit?: string;
|
|
7
|
+
readonly activityConcurrency: number;
|
|
8
|
+
readonly artifact: {
|
|
9
|
+
readonly kind: "local";
|
|
10
|
+
readonly directory: string;
|
|
11
|
+
} | {
|
|
12
|
+
readonly kind: "gcs";
|
|
13
|
+
readonly bucket: string;
|
|
14
|
+
readonly prefix: string;
|
|
15
|
+
};
|
|
16
|
+
readonly execution: {
|
|
17
|
+
readonly kind: "docker";
|
|
18
|
+
readonly image: string;
|
|
19
|
+
} | {
|
|
20
|
+
readonly kind: "modal";
|
|
21
|
+
readonly app: string;
|
|
22
|
+
readonly environment?: string;
|
|
23
|
+
readonly image: string;
|
|
24
|
+
};
|
|
25
|
+
readonly harborEnvironment: "docker" | "modal";
|
|
26
|
+
readonly temporal: {
|
|
27
|
+
readonly address: string;
|
|
28
|
+
readonly namespace: string;
|
|
29
|
+
readonly apiKey?: string;
|
|
30
|
+
readonly tls: boolean;
|
|
31
|
+
readonly taskQueue: string;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export declare function loadConfig(environment?: NodeJS.ProcessEnv): SelfBenchConfig;
|
|
35
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAmCA,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,QAAQ,EACb;QAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GACtD;QAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/E,QAAQ,CAAC,SAAS,EACd;QAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GACnD;QACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;QACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB,CAAC;IACN,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC/C,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;QACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;KAC5B,CAAC;CACH;AAED,wBAAgB,UAAU,CAAC,WAAW,GAAE,MAAM,CAAC,UAAwB,GAAG,eAAe,CAiDxF"}
|