Skip to content

Commit d296fbe

Browse files
committed
fix(telemetry): endToolSpan mock writes to record directly
Bypass span.setStatus() in mock to avoid potential interference from vitest module resolution. Write to statusCalls/ended directly on the ToolSpanRecord.
1 parent 8f664dd commit d296fbe

1 file changed

Lines changed: 8 additions & 15 deletions

File tree

packages/core/src/core/coreToolScheduler.test.ts

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -133,24 +133,17 @@ vi.mock('../telemetry/index.js', async (importOriginal) => {
133133
),
134134
endToolSpan: vi.fn(
135135
(
136-
span: ReturnType<typeof createMockToolSpan>,
136+
span: ToolSpanRecord & ReturnType<typeof createMockToolSpan>,
137137
metadata?: { success?: boolean; error?: string },
138138
) => {
139-
try {
140-
if (metadata) {
141-
if (metadata.success !== false) {
142-
span.setStatus({ code: 1 });
143-
} else {
144-
span.setStatus({
145-
code: 2,
146-
message: metadata.error ?? 'tool error',
147-
});
148-
}
149-
}
150-
span.end();
151-
} catch {
152-
// best-effort
139+
if (metadata) {
140+
const status =
141+
metadata.success !== false
142+
? { code: 1 }
143+
: { code: 2, message: metadata.error ?? 'tool error' };
144+
span.statusCalls.push(status);
153145
}
146+
span.ended = true;
154147
},
155148
),
156149
runInToolSpanContext: vi.fn(<T>(_span: unknown, fn: () => T): T => fn()),

0 commit comments

Comments
 (0)