Skip to content

Commit 8ddfbed

Browse files
chadhietalalforst
andauthored
fix(eve): migrate provider to tracePolicy (#2417)
Co-authored-by: lforst <8118419+lforst@users.noreply.github.com>
1 parent a3b478b commit 8ddfbed

12 files changed

Lines changed: 1929 additions & 51 deletions

File tree

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"braintrust": patch
3+
---
4+
5+
fix(eve): migrate provider to tracePolicy

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -656,6 +656,7 @@
656656
"variants": [
657657
{ "variantKey": "eve-v0", "label": "v0 pinned" },
658658
{ "variantKey": "eve-v0-provider", "label": "v0 provider minimum" },
659+
{ "variantKey": "eve-v0-latest-pinned", "label": "v0 latest pinned" },
659660
{ "variantKey": "eve-v0-latest", "label": "v0 latest" }
660661
]
661662
},

‎e2e/scenarios/eve-instrumentation/__snapshots__/eve-v0-latest-pinned.span-tree.json‎

Lines changed: 902 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎e2e/scenarios/eve-instrumentation/__snapshots__/eve-v0-latest-pinned.span-tree.txt‎

Lines changed: 821 additions & 0 deletions
Large diffs are not rendered by default.

‎e2e/scenarios/eve-instrumentation/__snapshots__/eve-v0-latest.span-tree.json‎

Lines changed: 24 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎e2e/scenarios/eve-instrumentation/__snapshots__/eve-v0-latest.span-tree.txt‎

Lines changed: 24 additions & 8 deletions
Large diffs are not rendered by default.

‎e2e/scenarios/eve-instrumentation/package.json‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,11 @@
1414
},
1515
"dependencies": {
1616
"@openrouter/ai-sdk-provider": "3.0.0",
17-
"ai": "7.0.58",
17+
"ai": "7.0.82",
1818
"eve-v0": "npm:eve@0.22.1",
19+
"eve-v0-latest-pinned": "npm:eve@0.37.1",
1920
"eve-v0-provider": "npm:eve@0.34.0",
20-
"eve-v0-latest": "npm:eve@0.37.1",
21+
"eve-v0-latest": "npm:eve@0.47.6",
2122
"zod": "4.3.6"
2223
}
2324
}

‎e2e/scenarios/eve-instrumentation/pnpm-lock.yaml‎

Lines changed: 100 additions & 32 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎e2e/scenarios/eve-instrumentation/scenario.test.ts‎

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,13 @@ const eveScenarios = await Promise.all(
3838
provider: true,
3939
variantKey: "eve-v0-provider",
4040
},
41+
{
42+
cassetteKey: "eve-v0-latest",
43+
dependencyName: "eve-v0-latest-pinned",
44+
label: "v0 latest pinned",
45+
provider: true,
46+
variantKey: "eve-v0-latest-pinned",
47+
},
4148
{
4249
cassetteKey: "eve-v0-latest",
4350
dependencyName: "eve-v0-latest",
@@ -409,8 +416,14 @@ describe.sequential("eve instrumentation variants", () => {
409416
).toHaveLength(1);
410417
}
411418

419+
const snapshotEvents = JSON.parse(
420+
JSON.stringify(events).replace(
421+
/ag_researcher:[0-9a-f]+/g,
422+
"ag_researcher:<id>",
423+
),
424+
) as CapturedLogEvent[];
412425
await matchSpanTreeSnapshot(
413-
events,
426+
snapshotEvents,
414427
resolveFileSnapshotPath(
415428
import.meta.url,
416429
`${scenario.variantKey}.span-tree.json`,

‎js/src/instrumentation/plugins/eve-provider.test.ts‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,12 @@ describe("braintrustEveInstrumentation provider lifecycle", () => {
5555
expect(instrumentation).toMatchObject({
5656
capture: "content",
5757
setup,
58+
tracePolicy: expect.any(Function),
59+
});
60+
expect(instrumentation.tracePolicy?.({ audience: "private" })).toEqual({
61+
emit: true,
62+
recordInputs: true,
63+
recordOutputs: true,
5864
});
5965
expect(
6066
Reflect.get(instrumentation, Symbol.for("eve.instrumentation.provider")),

0 commit comments

Comments
 (0)