Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .agents/skills/e2e-tests/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ Try not to use specific test narrowing commands unless hunting down a very nasty
- Keep reusable logic in `e2e/helpers/`. Keep one-off fixtures and scenario-specific files inside the scenario directory.
- Snapshot stable contracts, not raw noise. Use `normalizeForSnapshot(...)` before inline snapshots and `formatJsonFileSnapshot(...)` plus file snapshots for larger payloads or version matrices.
- When a scenario family already has `assertions.ts`, keep version- or provider-specific test setup in `scenario.test.ts` and reuse the shared assertions file.
- Keep the CI e2e summary up to date. If a scenario version matrix or `variantKey` changes, update `e2e/config/pr-comment-scenarios.json` in the same change and follow the established pattern used by other versioned scenarios: one summary row per version, not separate wrapped/auto rows unless that pattern already exists for the scenario family.
- Run new or updated scenarios three times in a row before considering snapshots stable.

## Scenario Patterns
Expand Down
5 changes: 5 additions & 0 deletions .changeset/eager-jobs-hammer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"braintrust": patch
---

feat: Bump google ADK patching range to include new major `1.0.0`
5 changes: 4 additions & 1 deletion e2e/config/pr-comment-scenarios.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,10 @@
"scenarioDirName": "google-adk-instrumentation",
"label": "Google ADK Instrumentation",
"metadataScenario": "google-adk-instrumentation",
"variants": [{ "variantKey": "google-adk-v061", "label": "v0.6.1" }]
"variants": [
{ "variantKey": "google-adk-v061", "label": "v0.6.1" },
{ "variantKey": "google-adk-v1000", "label": "v1.0.0" }
]
},
{
"scenarioDirName": "google-genai-instrumentation",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,21 +51,6 @@
"name": "Agent: weather_agent",
"type": "task"
},
{
"input": {
"location": "Paris, France"
},
"metadata": {
"google_adk.tool_call_id": "adk-<uuid:1>",
"google_adk.tool_name": "get_weather",
"provider": "google-adk"
},
"metrics": {
"start": 0
},
"name": "tool: get_weather",
"type": "tool"
},
{
"input": {
"location": "Paris, France"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,23 +61,6 @@
],
"type": "task"
},
{
"has_input": true,
"has_output": false,
"metadata": {
"google_adk.tool_call_id": "adk-<uuid:5>",
"google_adk.tool_name": "get_weather",
"provider": "google-adk"
},
"metric_keys": [],
"name": "tool: get_weather",
"root_span_id": "<span:1>",
"span_id": "<span:5>",
"span_parents": [
"<span:4>"
],
"type": "tool"
},
{
"has_input": true,
"has_output": true,
Expand Down
12 changes: 10 additions & 2 deletions e2e/scenarios/google-adk-instrumentation/assertions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,12 @@ export function defineGoogleADKInstrumentationAssertions(options: {

test("matches the shared span snapshot", testConfig, async () => {
const relevantEvents = events.filter(
(e) => e.span.name !== undefined && e.span.type !== "llm",
(e) =>
e.span.name !== undefined &&
e.span.type !== "llm" &&
// Wrapped mode logs an extra start-only tool row. Normalize to the
// terminal tool record so wrapped and auto-hook snapshots stay aligned.
(e.span.type !== "tool" || e.output !== undefined),
);
const spanSummary = normalizeForSnapshot(
dedupeSnapshotItems(
Expand Down Expand Up @@ -287,7 +292,10 @@ export function defineGoogleADKInstrumentationAssertions(options: {

test("matches the shared payload snapshot", testConfig, async () => {
const relevantEvents = events.filter(
(e) => e.span.name !== undefined && e.span.type !== "llm",
(e) =>
e.span.name !== undefined &&
e.span.type !== "llm" &&
(e.span.type !== "tool" || e.output !== undefined),
);
const payloadSummary = normalizeForSnapshot(
dedupeSnapshotItems(
Expand Down
3 changes: 2 additions & 1 deletion e2e/scenarios/google-adk-instrumentation/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
}
},
"dependencies": {
"@google/adk": "0.6.1"
"@google/adk": "1.0.0",
"google-adk-sdk-v061": "npm:@google/adk@0.6.1"
}
}
110 changes: 108 additions & 2 deletions e2e/scenarios/google-adk-instrumentation/pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import * as adk from "google-adk-sdk-v061";
import { runMain } from "../../helpers/provider-runtime.mjs";
import { runAutoGoogleADKInstrumentation } from "./scenario.impl.mjs";

runMain(async () => runAutoGoogleADKInstrumentation(adk));
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import * as adk from "google-adk-sdk-v061";
import { runMain } from "../../helpers/scenario-runtime";
import { runWrappedGoogleADKInstrumentation } from "./scenario.impl.mjs";

runMain(async () => runWrappedGoogleADKInstrumentation(adk));
Loading
Loading