Skip to content

Commit 6dddd4b

Browse files
committed
fix(client): address PR review feedback on debug logging
- Add descriptive "Event:" label to VERIFY and LEGACY log calls - Make debugLogger accept boolean for backward compatibility via getter/setter - Remove unnecessary (event as any).type cast on LegacyRuntimeProtocolEvent - Add expect.assertions(1) to ensure invalid event test always asserts
1 parent a96eec5 commit 6dddd4b

3 files changed

Lines changed: 21 additions & 10 deletions

File tree

sdks/typescript/packages/client/src/agent/agent.ts

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ export abstract class AbstractAgent {
5151
public messages: Message[];
5252
public state: State;
5353
public debug: ResolvedAgentDebugConfig;
54-
public debugLogger: DebugLogger | undefined;
54+
private _debugLogger: DebugLogger | undefined;
5555
public subscribers: AgentSubscriber[] = [];
5656
public isRunning: boolean = false;
5757
private middlewares: Middleware[] = [];
@@ -63,6 +63,20 @@ export abstract class AbstractAgent {
6363
return packageJson.version;
6464
}
6565

66+
get debugLogger(): DebugLogger | undefined {
67+
return this._debugLogger;
68+
}
69+
70+
set debugLogger(value: DebugLogger | boolean | undefined) {
71+
if (typeof value === "boolean") {
72+
this._debugLogger = value
73+
? createDebugLogger(resolveAgentDebugConfig(true))
74+
: undefined;
75+
} else {
76+
this._debugLogger = value;
77+
}
78+
}
79+
6680
constructor({
6781
agentId,
6882
description,
@@ -647,7 +661,7 @@ export abstract class AbstractAgent {
647661
(events$: Observable<LegacyRuntimeProtocolEvent>) => {
648662
return events$.pipe(
649663
map((event) => {
650-
this.debugLogger?.event("LEGACY", "", event, { type: (event as any).type });
664+
this.debugLogger?.event("LEGACY", "Event:", event, { type: event.type });
651665
return event;
652666
}),
653667
);

sdks/typescript/packages/client/src/transform/__tests__/debug.test.ts

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,8 @@ describe("transformHttpEventStream debug logging", () => {
214214
});
215215

216216
it("event invalid log: [HTTP] Event invalid: on schema parse failure", async () => {
217+
expect.assertions(1);
218+
217219
const logger = createDebugLogger({
218220
enabled: true,
219221
events: true,
@@ -225,10 +227,9 @@ describe("transformHttpEventStream debug logging", () => {
225227
const event$ = transformHttpEventStream(source$, logger);
226228

227229
// Subscribe to catch the error
228-
let errorCaught = false;
229230
event$.subscribe({
230231
error: () => {
231-
errorCaught = true;
232+
// expected
232233
},
233234
});
234235

@@ -248,10 +249,6 @@ describe("transformHttpEventStream debug logging", () => {
248249
(call) => typeof call[0] === "string" && call[0] === "[HTTP] Event invalid:",
249250
);
250251

251-
// Either the event is invalid and logged, or the schema was lenient.
252-
// If the schema rejects it, we should see the invalid log.
253-
if (errorCaught) {
254-
expect(invalidCalls.length).toBe(1);
255-
}
252+
expect(invalidCalls.length).toBe(1);
256253
});
257254
});

sdks/typescript/packages/client/src/verify/verify.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ export const verifyEvents =
3737
mergeMap((event) => {
3838
const eventType = event.type;
3939

40-
log?.event("VERIFY", "", event, { type: event.type });
40+
log?.event("VERIFY", "Event:", event, { type: event.type });
4141

4242
// Check if run has errored
4343
if (runError) {

0 commit comments

Comments
 (0)