refactor(benchsdk-runner): migrate from @benchsdk/client umbrella to @benchsdk/api + @benchsdk/worker - #337
Open
dtice25 wants to merge 15 commits into
Open
Conversation
…@benchsdk/api + @benchsdk/worker Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Contributor
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
Contributor License AgreementAll contributors are covered by a CLA. |
…score - Adds BenchmarkScoringConfig and scoringConfigToSpec in @benchsdk/runner. - validateBenchmarkScoringConfig is wired into defineBenchmarkConfig. - runner upserts benchmark.config.scoring and falls back to scoringConfigToSpec when onScore is omitted. - create-bench scaffold now includes a scoring example. Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
….dimensions support Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…e runs Add scoring.groupBy to split task records by a dimension key, producing one summary row per group with its own metrics and composite score. Update storage.bench.ts to run multiple file sizes in one run via phases and tag each record with file_size. Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…ht score group Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…ring Adds scoring.success.requireData so callback success predicates become serializable, and moves browser, browser-throughput, snapshot-fork, and the four ai-gateway benchmarks off onScore. Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…ggregate Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Completes the SDK split started in #336 by moving
@benchsdk/runneroff the umbrella@benchsdk/clientpackage and onto the focused@benchsdk/apiand@benchsdk/workerpackages.runner.tsnow importscreateBenchmarkClientfrom@benchsdk/apiand calls the standalonerunWorker(client, options)exported by@benchsdk/worker, instead ofclient.runWorker(...).bench-config.tsandscoring.tsimport shared types (JsonObject,TaskResultRecord, etc.) from@benchsdk/apiandBaseParticipantfrom@benchsdk/worker.@benchsdk/apifor the client factory,@benchsdk/workerforrunWorker/BenchmarkReporter/selectParticipants/filterParticipantsByEnv).create-benchscaffolding was updated to use@benchsdk/runner ^0.2.0so newly scaffolded projects track the post-split version.Why
@benchsdk/runneris the orchestrator and should not reach through the backwards-compatible umbrella to the worker engine. This makes the layering explicit:@benchsdk/apiis the typed REST client,@benchsdk/workeris the execution runtime, and@benchsdk/runneris the local CLI orchestrator that coordinates them.Verification
pnpm -r --filter './packages/**' run buildpnpm typecheckpnpm --filter @benchsdk/client testpnpm --filter @benchsdk/runner testpnpm --filter create-bench testAll passed.
Link to Devin session: https://app.devin.ai/sessions/e5c1507360b24f6f89327ccc975ae961
Requested by: @dtice25