Skip to content

Commit c73aee1

Browse files
Connor ClarkDevtools-frontend LUCI CQ
authored andcommitted
[AI] AgentFocus.full() now takes all insight sets
Instead of having the caller decide which insight set to use (we are currently constrained to use only one), let's make that decision in one place. Keeps it consistent. Bug: 425270067 Change-Id: I58ff3443d21253dadd0117cea30e30c1cee74629 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6885877 Reviewed-by: Paul Irish <paulirish@chromium.org> Commit-Queue: Paul Irish <paulirish@chromium.org> Auto-Submit: Connor Clark <cjamcl@chromium.org>
1 parent 4b55a57 commit c73aee1

File tree

6 files changed

+9
-16
lines changed

6 files changed

+9
-16
lines changed

front_end/models/ai_assistance/agents/PerformanceAgent.test.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -751,9 +751,7 @@ describeWithEnvironment('PerformanceAgent – all focus', () => {
751751
it('uses the min and max bounds of the trace as the origin', async function() {
752752
const {parsedTrace, insights, metadata} = await TraceLoader.traceEngine(this, 'lcp-images.json.gz');
753753
assert.isOk(insights);
754-
const [firstNav] = parsedTrace.Meta.mainFrameNavigations;
755-
const insightSet = getInsightSetOrError(insights, firstNav);
756-
const context = PerformanceTraceContext.full(parsedTrace, insightSet, metadata);
754+
const context = PerformanceTraceContext.full(parsedTrace, insights, metadata);
757755
assert.strictEqual(context.getOrigin(), 'trace-658799706428-658804825864');
758756
});
759757
});

front_end/models/ai_assistance/agents/PerformanceAgent.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -286,9 +286,9 @@ enum ScorePriority {
286286

287287
export class PerformanceTraceContext extends ConversationContext<TimelineUtils.AIContext.AgentFocus> {
288288
static full(
289-
parsedTrace: Trace.Handlers.Types.ParsedTrace, insightSet: Trace.Insights.Types.InsightSet|null,
289+
parsedTrace: Trace.Handlers.Types.ParsedTrace, insights: Trace.Insights.Types.TraceInsightSets,
290290
traceMetadata: Trace.Types.File.MetaData): PerformanceTraceContext {
291-
return new PerformanceTraceContext(TimelineUtils.AIContext.AgentFocus.full(parsedTrace, insightSet, traceMetadata));
291+
return new PerformanceTraceContext(TimelineUtils.AIContext.AgentFocus.full(parsedTrace, insights, traceMetadata));
292292
}
293293

294294
static fromInsight(

front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.test.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import * as Trace from '../../../models/trace/trace.js';
66
import * as TimelineUtils from '../../../panels/timeline/utils/utils.js';
77
import {describeWithEnvironment} from '../../../testing/EnvironmentHelpers.js';
8-
import {getFirstOrError} from '../../../testing/InsightHelpers.js';
98
import {SnapshotTester} from '../../../testing/SnapshotTester.js';
109
import {TraceLoader} from '../../../testing/TraceLoader.js';
1110
import {PerformanceTraceFormatter} from '../ai_assistance.js';
@@ -14,8 +13,7 @@ async function createFormatter(context: Mocha.Context|Mocha.Suite|null, name: st
1413
Promise<{formatter: PerformanceTraceFormatter, parsedTrace: Trace.Handlers.Types.ParsedTrace}> {
1514
const {parsedTrace, insights, metadata} = await TraceLoader.traceEngine(context, name);
1615
assert.isOk(insights);
17-
const insightSet = getFirstOrError(insights.values());
18-
const focus = TimelineUtils.AIContext.AgentFocus.full(parsedTrace, insightSet, metadata);
16+
const focus = TimelineUtils.AIContext.AgentFocus.full(parsedTrace, insights, metadata);
1917
const eventsSerializer = new TimelineUtils.EventsSerializer.EventsSerializer();
2018
const formatter = new PerformanceTraceFormatter(focus, eventsSerializer);
2119
return {formatter, parsedTrace};

front_end/panels/timeline/TimelinePanel.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1167,9 +1167,7 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
11671167
return;
11681168
}
11691169

1170-
// Currently only support a single insight set.
1171-
const insightSet = [...insights.values()].at(0) ?? null;
1172-
const context = Utils.AIContext.AgentFocus.full(parsedTrace, insightSet, traceMetadata);
1170+
const context = Utils.AIContext.AgentFocus.full(parsedTrace, insights, traceMetadata);
11731171
UI.Context.Context.instance().setFlavor(Utils.AIContext.AgentFocus, context);
11741172

11751173
// Trigger the AI Assistance panel to open.

front_end/panels/timeline/utils/AIContext.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,10 @@ type AgentFocusData = AgentFocusDataCallTree|AgentFocusDataInsight|AgentFocusDat
3030

3131
export class AgentFocus {
3232
static full(
33-
parsedTrace: Trace.Handlers.Types.ParsedTrace, insightSet: Trace.Insights.Types.InsightSet|null,
33+
parsedTrace: Trace.Handlers.Types.ParsedTrace, insights: Trace.Insights.Types.TraceInsightSets,
3434
traceMetadata: Trace.Types.File.MetaData): AgentFocus {
35+
// Currently only support a single insight set. Pick the first one with a navigation.
36+
const insightSet = [...insights.values()].filter(insightSet => insightSet.navigation).at(0) ?? null;
3537
return new AgentFocus({
3638
type: 'full',
3739
parsedTrace,

front_end/services/tracing/ExternalRequests.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,6 @@ export async function getPerformanceAgentFocusToDebug(model: Trace.TraceModel.Mo
6666
};
6767
}
6868

69-
// Currently only support a single insight set.
70-
const insightSet = [...insights.values()].at(0) ?? null;
71-
72-
const focus = TimelineUtils.AIContext.AgentFocus.full(parsedTrace, insightSet, traceMetadata);
69+
const focus = TimelineUtils.AIContext.AgentFocus.full(parsedTrace, insights, traceMetadata);
7370
return {focus};
7471
}

0 commit comments

Comments
 (0)