Skip to content

Commit 8b5037e

Browse files
committed
fix: await session state load before syncing tool cache
1 parent acb2543 commit 8b5037e

File tree

2 files changed

+9
-11
lines changed

2 files changed

+9
-11
lines changed

lib/hooks.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,12 @@ export function createChatMessageTransformHandler(
1414
logger: Logger,
1515
config: PluginConfig
1616
) {
17-
return async(
17+
return async (
1818
input: {},
1919
output: { messages: WithParts[] }
2020
) => {
21-
checkSession(client, state, logger, output.messages);
21+
await checkSession(client, state, logger, output.messages)
22+
2223
if (state.isSubAgent) {
2324
return
2425
}

lib/state/state.ts

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@ import { loadSessionState } from "./persistence"
44
import { getLastUserMessage } from "../messages/utils"
55
import { isSubAgentSession } from "../utils"
66

7-
export const checkSession = (
7+
export const checkSession = async (
88
client: any,
99
state: SessionState,
1010
logger: Logger,
1111
messages: WithParts[]
12-
) => {
12+
): Promise<void> => {
1313

1414
const lastUserMessage = getLastUserMessage(messages)
1515
if (!lastUserMessage) {
@@ -20,14 +20,11 @@ export const checkSession = (
2020

2121
if (state.sessionId === null || state.sessionId !== lastSessionId) {
2222
logger.info(`Session changed: ${state.sessionId} -> ${lastSessionId}`)
23-
ensureSessionInitialized(
24-
client,
25-
state,
26-
lastSessionId,
27-
logger
28-
).catch((err) => {
23+
try {
24+
await ensureSessionInitialized(client, state, lastSessionId, logger)
25+
} catch (err: any) {
2926
logger.error("Failed to initialize session state", { error: err.message })
30-
} )
27+
}
3128
}
3229
}
3330

0 commit comments

Comments
 (0)