Skip to content

Commit dce8614

Browse files
lforstpcbeingused333claudedelnergithub-actions[bot]
authored
Merge main into v4 (#2694)
Merge `main` at `734e9585` into `v4`, with conflicts resolved against the v4 instrumentation, platform, and Vite+ refactors. MCP tracing and LiveKit audio configuration use v4's explicit registration paths, and the Eve and Pi fixes keep the v4 attachment-capture behavior. Validation: - Workspace build and type checks, lint, dead-code checks, and changeset validation pass. - Focused SDK and audio unit tests pass. - All 498 tests across the seven affected e2e scenarios pass in three consecutive cassette replay runs. - E2e helper tests pass three times; production forwarding and generated trace-summary links are verified against traces in `tmp-luca`. Use a merge commit to preserve the shared history with `main`. `v4` currently requires linear history, so that rule must be disabled for this merge while keeping the required approval and CI checks enabled. --------- Co-authored-by: alexcastgonz <82875882+pcbeingused333@users.noreply.github.com> Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com> Co-authored-by: David Elner <david.elner@braintrustdata.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: starfolkai[bot] <259249677+starfolkai[bot]@users.noreply.github.com> Co-authored-by: Abhijeet Prasad <abhijeet@braintrustdata.com>
2 parents 4950cdb + 0d21cc3 commit dce8614

259 files changed

Lines changed: 58674 additions & 14503 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.changeset/livekit-audio-capture-flags.md‎

Lines changed: 0 additions & 7 deletions
This file was deleted.

‎.changeset/livekit-close-waits-for-recording.md‎

Lines changed: 0 additions & 5 deletions
This file was deleted.

‎.github/workflows/checks.yaml‎

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -413,6 +413,32 @@ jobs:
413413
working-directory: integrations/temporal-js
414414
run: pnpm run test
415415

416+
audio:
417+
runs-on: ubuntu-latest
418+
timeout-minutes: 15
419+
strategy:
420+
fail-fast: false
421+
matrix:
422+
node-version: [22.18.0, 24, 26]
423+
steps:
424+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
425+
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
426+
with:
427+
node-version: ${{ matrix.node-version }}
428+
- name: Setup pnpm
429+
uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0
430+
- name: Install dependencies
431+
run: pnpm install --frozen-lockfile
432+
- name: Build braintrust
433+
working-directory: js
434+
run: pnpm run build
435+
- name: Build @braintrust/audio
436+
working-directory: integrations/audio
437+
run: pnpm run build
438+
- name: Run @braintrust/audio tests
439+
working-directory: integrations/audio
440+
run: pnpm run test
441+
416442
templates-nunjucks-js:
417443
runs-on: ubuntu-latest
418444
timeout-minutes: 15
@@ -511,6 +537,7 @@ jobs:
511537
- js-smoke-discover
512538
- js-smoke-test
513539
- temporal-js
540+
- audio
514541
- templates-nunjucks-js
515542
- otel-js
516543
- js-zod-versions
@@ -544,6 +571,7 @@ jobs:
544571
check_result "js-smoke-discover" "${{ needs.js-smoke-discover.result }}"
545572
check_result "js-smoke-test" "${{ needs.js-smoke-test.result }}"
546573
check_result "temporal-js" "${{ needs.temporal-js.result }}"
574+
check_result "audio" "${{ needs.audio.result }}"
547575
check_result "templates-nunjucks-js" "${{ needs.templates-nunjucks-js.result }}"
548576
check_result "otel-js" "${{ needs.otel-js.result }}"
549577
check_result "js-zod-versions" "${{ needs.js-zod-versions.result }}"

‎e2e/config/pr-comment-scenarios.json‎

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -592,6 +592,29 @@
592592
}
593593
]
594594
},
595+
{
596+
"scenarioDirName": "mcp-instrumentation",
597+
"label": "MCP Instrumentation",
598+
"metadataScenario": "mcp-instrumentation",
599+
"variants": [
600+
{
601+
"variantKey": "mcp-sdk-v1",
602+
"label": "sdk v1 pinned"
603+
},
604+
{
605+
"variantKey": "mcp-sdk-v1-latest",
606+
"label": "sdk v1 latest"
607+
},
608+
{
609+
"variantKey": "mcp-server-v2",
610+
"label": "server v2 pinned"
611+
},
612+
{
613+
"variantKey": "mcp-server-v2-latest",
614+
"label": "server v2 latest"
615+
}
616+
]
617+
},
595618
{
596619
"scenarioDirName": "typesafe-instrumentation",
597620
"label": "TypeSafe Instrumentation",
@@ -777,6 +800,10 @@
777800
"variantKey": "eve-v0-70",
778801
"label": "v0.70 pinned"
779802
},
803+
{
804+
"variantKey": "eve-v0-72",
805+
"label": "v0.72 pinned"
806+
},
780807
{
781808
"variantKey": "eve-v0-latest",
782809
"label": "v0 latest"

‎e2e/helpers/normalize.test.ts‎

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,33 @@ describe("normalizeForSnapshot", () => {
66
const media = `data:image/png;base64,${"a".repeat(3_000_000)}`;
77
expect(normalizeForSnapshot(media)).toBe(media);
88
});
9+
test.each([0, 0.1, 1.2])(
10+
"normalizes tool wall time of %s seconds",
11+
(seconds) => {
12+
expect(
13+
normalizeForSnapshot({
14+
output: {
15+
structuredContent: {
16+
exit_code: 0,
17+
output: "pi_tool_ok",
18+
truncated: false,
19+
wall_time_seconds: seconds,
20+
},
21+
},
22+
}),
23+
).toEqual({
24+
output: {
25+
structuredContent: {
26+
exit_code: 0,
27+
output: "pi_tool_ok",
28+
truncated: false,
29+
wall_time_seconds: 0,
30+
},
31+
},
32+
});
33+
},
34+
);
35+
936
test("normalizes a foreign repository path ending at a workspace directory", () => {
1037
expect(
1138
normalizeForSnapshot(

‎e2e/helpers/normalize.ts‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ const ZERO_NUMBER_KEYS = new Set([
7575
"duration",
7676
"github_copilot.context_window.current",
7777
"time_to_first_token",
78+
"wall_time_seconds",
7879
]);
7980
const XACT_VERSION_KEYS = new Set([
8081
"currentVersion",

‎e2e/package.json‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
},
1111
"devDependencies": {
1212
"@braintrust/browser": "workspace:^",
13+
"@braintrust/audio": "workspace:^",
1314
"@braintrust/deepseek-harness": "workspace:^",
1415
"@braintrust/otel": "workspace:^",
1516
"@braintrust/seinfeld": "workspace:^",

0 commit comments

Comments
 (0)