fix(rpc): serialize IRC wake finalization
This commit is contained in:
@@ -54,7 +54,9 @@ function createMockSession(
|
||||
let abortCount = 0;
|
||||
let disposeCount = 0;
|
||||
let promptIndex = 0;
|
||||
let ircWakeTurnObserver: ((records: CustomMessage[]) => ((error?: unknown) => void) | undefined) | undefined;
|
||||
let ircWakeTurnObserver:
|
||||
| ((records: CustomMessage[]) => ((error?: unknown) => void | Promise<void>) | undefined)
|
||||
| undefined;
|
||||
|
||||
const emit = (event: AgentSessionEvent) => {
|
||||
for (const listener of [...listeners]) listener(event);
|
||||
@@ -125,7 +127,7 @@ function createMockSession(
|
||||
isError: false,
|
||||
} as AgentSessionEvent);
|
||||
emit({ type: "agent_end", messages: [yieldMessage] } as unknown as AgentSessionEvent);
|
||||
finishObservation?.();
|
||||
await finishObservation?.();
|
||||
return "woken";
|
||||
},
|
||||
abort: async () => {
|
||||
|
||||
@@ -39,7 +39,7 @@ function createRef(sessionFile: string): AgentRef {
|
||||
};
|
||||
}
|
||||
|
||||
type IrcWakeObserver = (records: CustomMessage[]) => ((error?: unknown) => void) | undefined;
|
||||
type IrcWakeObserver = (records: CustomMessage[]) => ((error?: unknown) => void | Promise<void>) | undefined;
|
||||
|
||||
interface RevivedSessionHandle {
|
||||
session: AgentSession;
|
||||
@@ -223,7 +223,7 @@ describe("persisted subagent revival", () => {
|
||||
timestamp: Date.now(),
|
||||
};
|
||||
const finish = observer?.([record]);
|
||||
finish?.();
|
||||
await finish?.();
|
||||
await terminal.promise;
|
||||
|
||||
expect(frames[0]).toMatchObject({
|
||||
|
||||
Reference in New Issue
Block a user