fix: don't pass id when creating session, let OpenCode generate ses_*

При создании сессии не передаём id — OpenCode сам генерирует ses_*.
Ключ мапы (roomId:threadRootId) используется только для поиска,
не передаётся в OpenCode.
This commit is contained in:
Бородин Роман 2026-09-26 01:26:11 +03:00
parent 5fa1fd2676
commit e633558483
1 changed files with 3 additions and 4 deletions

View File

@ -159,10 +159,9 @@ async function runPlugin(ctx: any, options: any, dataDir: string) {
if (!opencodeSessionId) {
log(`Creating new OpenCode session for ${roomId}:${threadRootId}`)
try {
const encodedId = `${roomId}:${threadRootId}`
const createResult = await ctx.session.create({ id: encodedId, title: `Matrix: ${roomId.slice(0, 30)}...` })
opencodeSessionId = createResult?.id || createResult?.data?.id || encodedId
log(`Created OpenCode session ${opencodeSessionId} (ID: ${encodedId})`)
const createResult = await ctx.session.create({ title: `Matrix: ${roomId.slice(0, 30)}...` })
opencodeSessionId = createResult?.id || createResult?.data?.id
log(`Created OpenCode session ${opencodeSessionId} for ${roomId}:${threadRootId}`)
session.opencodeSessionId = opencodeSessionId
sessionManager.saveSession(roomId, threadRootId, opencodeSessionId)
sessionContextMap.set(opencodeSessionId, { roomId, threadRootId, context })