MCPcopy Create free account
hub / github.com/MoonshotAI/kimi-code / waitForSessionStatus

Function waitForSessionStatus

packages/server-e2e/src/wait.ts:32–52  ·  view source on GitHub ↗
(
  http: HttpClient,
  sid: string,
  status: SessionStatus,
  opts?: { timeoutMs?: number; pollMs?: number },
)

Source from the content-addressed store, hash-verified

30 * must poll.
31 */
32export async function waitForSessionStatus(
33 http: HttpClient,
34 sid: string,
35 status: SessionStatus,
36 opts?: { timeoutMs?: number; pollMs?: number },
37): Promise<Session> {
38 const timeoutMs = opts?.timeoutMs ?? DEFAULT_FRAME_TIMEOUT_MS;
39 const pollMs = opts?.pollMs ?? 250;
40 const deadline = Date.now() + timeoutMs;
41 let last: Session | null = null;
42 while (Date.now() < deadline) {
43 const session = await http.getSession(sid);
44 last = session;
45 if (session.status === status) return session;
46 await sleep(pollMs);
47 }
48 throw new Error(
49 `session ${sid} did not reach status="${status}" within ${timeoutMs}ms ` +
50 `(last status="${last?.status ?? 'unknown'}")`,
51 );
52}
53
54function sleep(ms: number): Promise<void> {
55 return new Promise((resolve) => setTimeout(resolve, ms));

Callers 1

waitForSessionStatusMethod · 0.85

Calls 3

sleepFunction · 0.70
nowMethod · 0.65
getSessionMethod · 0.65

Tested by

no test coverage detected