Skip to content

Commit 0dc1490

Browse files
committed
refactor: remove manualModeDefault from session state
1 parent 4dd998b commit 0dc1490

File tree

6 files changed

+43
-14
lines changed

6 files changed

+43
-14
lines changed

index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ const plugin: Plugin = (async (ctx) => {
1818
}
1919

2020
const logger = new Logger(config.debug)
21-
const state = createSessionState(config.manualMode.enabled)
21+
const state = createSessionState()
2222

2323
if (isSecureMode()) {
2424
configureClientAuth(ctx.client)

lib/hooks.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ export function createChatMessageTransformHandler(
6868
config: PluginConfig,
6969
) {
7070
return async (input: {}, output: { messages: WithParts[] }) => {
71-
await checkSession(client, state, logger, output.messages)
71+
await checkSession(client, state, logger, output.messages, config.manualMode.enabled)
7272

7373
if (state.isSubAgent) {
7474
return
@@ -162,7 +162,14 @@ export function createCommandExecuteHandler(
162162
})
163163
const messages = (messagesResponse.data || messagesResponse) as WithParts[]
164164

165-
await ensureSessionInitialized(client, state, input.sessionID, logger, messages)
165+
await ensureSessionInitialized(
166+
client,
167+
state,
168+
input.sessionID,
169+
logger,
170+
messages,
171+
config.manualMode.enabled,
172+
)
166173

167174
const args = (input.arguments || "").trim().split(/\s+/).filter(Boolean)
168175
const subcommand = args[0]?.toLowerCase() || ""

lib/state/state.ts

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ export const checkSession = async (
1515
state: SessionState,
1616
logger: Logger,
1717
messages: WithParts[],
18+
manualModeDefault: boolean,
1819
): Promise<void> => {
1920
const lastUserMessage = getLastUserMessage(messages)
2021
if (!lastUserMessage) {
@@ -26,7 +27,14 @@ export const checkSession = async (
2627
if (state.sessionId === null || state.sessionId !== lastSessionId) {
2728
logger.info(`Session changed: ${state.sessionId} -> ${lastSessionId}`)
2829
try {
29-
await ensureSessionInitialized(client, state, lastSessionId, logger, messages)
30+
await ensureSessionInitialized(
31+
client,
32+
state,
33+
lastSessionId,
34+
logger,
35+
messages,
36+
manualModeDefault,
37+
)
3038
} catch (err: any) {
3139
logger.error("Failed to initialize session state", { error: err.message })
3240
}
@@ -44,12 +52,11 @@ export const checkSession = async (
4452
state.currentTurn = countTurns(state, messages)
4553
}
4654

47-
export function createSessionState(manualModeDefault = false): SessionState {
55+
export function createSessionState(): SessionState {
4856
return {
4957
sessionId: null,
5058
isSubAgent: false,
51-
manualMode: manualModeDefault,
52-
manualModeDefault,
59+
manualMode: false,
5360
prune: {
5461
tools: new Map<string, number>(),
5562
messages: new Map<string, number>(),
@@ -73,7 +80,7 @@ export function createSessionState(manualModeDefault = false): SessionState {
7380
export function resetSessionState(state: SessionState): void {
7481
state.sessionId = null
7582
state.isSubAgent = false
76-
state.manualMode = state.manualModeDefault
83+
state.manualMode = false
7784
state.prune = {
7885
tools: new Map<string, number>(),
7986
messages: new Map<string, number>(),
@@ -99,20 +106,22 @@ export async function ensureSessionInitialized(
99106
sessionId: string,
100107
logger: Logger,
101108
messages: WithParts[],
109+
manualModeDefault: boolean,
102110
): Promise<void> {
103111
if (state.sessionId === sessionId) {
104112
return
105113
}
106114

107-
logger.info("session ID = " + sessionId)
108-
logger.info("Initializing session state", { sessionId: sessionId })
115+
// logger.info("session ID = " + sessionId)
116+
// logger.info("Initializing session state", { sessionId: sessionId })
109117

110118
resetSessionState(state)
119+
state.manualMode = manualModeDefault
111120
state.sessionId = sessionId
112121

113122
const isSubAgent = await isSubAgentSession(client, sessionId)
114123
state.isSubAgent = isSubAgent
115-
logger.info("isSubAgent = " + isSubAgent)
124+
// logger.info("isSubAgent = " + isSubAgent)
116125

117126
state.lastCompaction = findLastCompactionTimestamp(messages)
118127
state.currentTurn = countTurns(state, messages)

lib/state/types.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ export interface SessionState {
3535
sessionId: string | null
3636
isSubAgent: boolean
3737
manualMode: boolean
38-
manualModeDefault: boolean
3938
prune: Prune
4039
compressSummaries: CompressSummary[]
4140
stats: SessionStats

lib/tools/compress.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,14 @@ export function createCompressTool(ctx: PruneToolContext): ReturnType<typeof too
7373
})
7474
const messages: WithParts[] = messagesResponse.data || messagesResponse
7575

76-
await ensureSessionInitialized(client, state, sessionId, logger, messages)
76+
await ensureSessionInitialized(
77+
client,
78+
state,
79+
sessionId,
80+
logger,
81+
messages,
82+
ctx.config.manualMode.enabled,
83+
)
7784

7885
const startResult = findStringInMessages(
7986
messages,

lib/tools/prune-shared.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,14 @@ export async function executePruneOperation(
5050

5151
// These 3 are probably not needed as they should always be set in the message
5252
// transform handler, but in case something causes state to reset, this is a safety net
53-
await ensureSessionInitialized(ctx.client, state, sessionId, logger, messages)
53+
await ensureSessionInitialized(
54+
ctx.client,
55+
state,
56+
sessionId,
57+
logger,
58+
messages,
59+
config.manualMode.enabled,
60+
)
5461
syncToolCache(state, config, logger, messages)
5562
buildToolIdList(state, messages, logger)
5663

0 commit comments

Comments
 (0)